*{margin:0;padding:0;box-sizing:border-box}:root{--pink: #e90570;--pink-dark: #c00058;--pink-light: #fde7f1;--text: #1c1c1c;--muted: #6b6b6b;--border: #e4e4e4}html,body{background:#fff;color:var(--text);font-family:Segoe UI,system-ui,-apple-system,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.quiz-shell{max-width:480px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.header{padding:12px 16px 4px;display:flex;flex-direction:column;align-items:center;gap:10px}.header img{width:190px;max-width:60%;display:block}.progress-track{width:100%;height:6px;background:var(--pink-light);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--pink);border-radius:99px;transition:width .35s ease}.step{flex:1;padding:18px 20px 40px;display:flex;flex-direction:column;gap:14px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.question{font-size:1.25rem;font-weight:700;text-align:center;line-height:1.35;white-space:pre-line}.subtitle{text-align:center;color:var(--muted);font-size:.95rem;margin-top:-6px}.options{display:flex;flex-direction:column;gap:10px;margin-top:6px}.option-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;font-size:1rem;font-weight:600;color:var(--text);background:#fff;border:2px solid var(--border);border-radius:14px;cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .1s}.option-btn:active{transform:scale(.98)}.option-btn.selected{border-color:var(--pink);background:var(--pink-light)}.option-btn .emoji{font-size:1.4rem;line-height:1}.option-btn img{width:56px;height:56px;object-fit:contain;border-radius:10px}.image-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}.image-card{border:2px solid var(--border);border-radius:16px;overflow:hidden;background:#fff;cursor:pointer;padding:0;transition:border-color .15s,transform .1s}.image-card:active{transform:scale(.97)}.image-card img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.image-card .label{display:block;padding:10px 8px;font-weight:700;font-size:.95rem;text-align:center;background:var(--pink);color:#fff}.cta-btn{width:100%;padding:16px;margin-top:14px;font-size:1.05rem;font-weight:800;letter-spacing:.03em;color:#fff;background:var(--pink);border:none;border-radius:14px;cursor:pointer;transition:background .15s,transform .1s}.cta-btn:disabled{opacity:.45;cursor:default}.cta-btn:not(:disabled):active{transform:scale(.98);background:var(--pink-dark)}.info-paragraph{font-size:1.05rem;text-align:center;line-height:1.5}.info-image,.report-image{width:100%;max-width:350px;margin:8px auto 0;border-radius:14px;display:block}.loading-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 24px}.loading-pct{font-size:3rem;font-weight:800;color:var(--pink)}.loading-title{font-size:1.3rem;font-weight:700}.loading-sub{color:var(--muted)}.loading-bar{width:100%;max-width:320px;height:10px;border-radius:99px;background:var(--pink-light);overflow:hidden}.loading-bar-fill{height:100%;background:var(--pink);transition:width .2s linear}.report-badge{align-self:center;background:#e6f9ed;color:#0f9d58;font-weight:800;padding:6px 18px;border-radius:99px}.report-title{text-align:center;font-weight:800;font-size:1.15rem}.report-highlight{text-align:center;font-weight:800;font-size:1.05rem;line-height:1.4}.report-99{text-align:center;font-size:2.6rem;font-weight:800;color:var(--pink)}.level-chart{margin:22px 4px 4px}.level-marker{position:relative;transform:translate(-50%);width:max-content;display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:4px}.level-marker-label{font-size:.8rem;font-weight:700;background:var(--text);color:#fff;padding:3px 10px;border-radius:8px;white-space:nowrap}.level-marker-dot{width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:7px solid var(--text)}.level-bar{height:12px;border-radius:99px;background:linear-gradient(90deg,#f6c344,#7ed957,#0f9d58)}.level-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem;font-weight:600;margin-top:6px}.timeline{display:flex;flex-direction:column;gap:12px;margin-top:4px}.timeline-item{display:flex;gap:12px;align-items:flex-start}.timeline-day{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:var(--pink);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}.timeline-item h4{font-size:.95rem}.timeline-item p{color:var(--muted);font-size:.9rem}.checkout-frame{width:100%;min-height:100vh;border:none;display:block}.dash{width:100%;max-width:1100px;margin:0 auto;padding:24px clamp(14px,3vw,28px) 60px;display:flex;flex-direction:column;gap:24px}.dash-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px}.dash-header h1{font-size:clamp(1.15rem,2.5vw,1.5rem)}.dash-refresh{align-self:flex-end;padding:8px 16px;border:none;border-radius:10px;background:var(--pink);color:#fff;font-weight:700;cursor:pointer}.dash-refresh:disabled{opacity:.5}.insight-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.insight{border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.insight-bad{background:#fdecec;border:1.5px solid #f5b5b5}.insight-good{background:#e9f9ef;border:1.5px solid #ade2c0}.insight-title{font-weight:800;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em}.insight-body{font-size:.92rem;line-height:1.4}.device-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}.device-card{border:1.5px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}.device-name{font-weight:700;font-size:.9rem}.device-count{font-size:1.6rem;font-weight:800;color:var(--pink);font-variant-numeric:tabular-nums}.device-sub{font-size:.8rem;color:var(--muted)}.dash-delete{padding:5px 12px;border:1.5px solid #e05555;border-radius:8px;background:#fff;color:#c22;font-weight:700;font-size:.78rem;cursor:pointer}.dash-delete:disabled{opacity:.5}.row-alert td{background:#fff6f6}.drop-bad{color:#c22;font-weight:700}.step-cell{max-width:380px;white-space:normal!important;line-height:1.3}.dash-filters{display:flex;flex-wrap:wrap;gap:12px}.dash-filters label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;font-weight:700;color:var(--muted)}.dash-filters input,.dash-filters select{padding:7px 10px;border:1.5px solid var(--border);border-radius:10px;font-size:.9rem;background:#fff;color:var(--text)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.kpi{border:1.5px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:4px}.kpi-primary{background:var(--pink-light);border-color:var(--pink)}.kpi-value{font-size:clamp(1.7rem,3vw,2.2rem);font-weight:800;color:var(--pink);font-variant-numeric:tabular-nums}.kpi-label{font-size:.85rem;color:var(--muted);font-weight:600}.dash h2{font-size:1.05rem;margin-bottom:10px}.dash-table-wrap{overflow-x:auto;border:1.5px solid var(--border);border-radius:14px}.dash-table{width:100%;border-collapse:collapse;font-size:.88rem}.dash-table th,.dash-table td{text-align:left;padding:9px 12px;border-bottom:1px solid var(--border);white-space:nowrap;font-variant-numeric:tabular-nums}.dash-table th{background:var(--pink-light);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.dash-table tr:last-child td{border-bottom:none}.bar-cell{min-width:140px;width:30%}.bar{height:10px;border-radius:99px;background:var(--pink);min-width:2px}.dash-note{color:var(--muted);font-size:.85rem}.dash-error{color:#c00}@media(max-width:640px){.dash{padding-top:16px;gap:18px}.dash-header{flex-direction:column;align-items:stretch}.dash-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dash-filters input,.dash-filters select{width:100%}.dash-refresh{grid-column:span 2}.kpi-row{grid-template-columns:1fr 1fr}.kpi{padding:12px}.dash-table th,.dash-table td{padding:7px 8px;font-size:.8rem}.step-cell{max-width:200px}.bar-cell{min-width:70px}}
