:root{--paper:#fff;--ink:#1e293b;--muted:#64748b;--line:#1e293b1a;--line-strong:#1e293b2e;--teal:#0d9488;--coral:#f97316;--gold:#f4c95d;--mint:#d7eef0;--arabic:Tahoma, "Segoe UI", Arial, sans-serif;--latin:Inter, ui-sans-serif, system-ui, sans-serif;font-family:var(--arabic);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;overflow-x:hidden}body{margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #0d94886b}[lang=en]{font-family:var(--latin)}::selection{color:var(--paper);background:var(--ink)}:root{--paper:#fff;--ink:#1e293b;--muted:#64748b;--muted-soft:#94a3b8;--teal:#0d9488;--teal-dark:#0f766e;--sage:#84a98c;--slate:#f1f5f9;--slate-strong:#e2e8f0;--coral:#f97316;--danger:#dc2626;--success:#16a34a;--line:#1e293b1a;--line-strong:#1e293b2e;--arabic:Tahoma, "Segoe UI", Arial, sans-serif;--latin:Inter, ui-sans-serif, system-ui, sans-serif}.app-shell{min-height:100svh;color:var(--ink);background:radial-gradient(circle at 16% 18%,#84a98c1c,#0000 28%),linear-gradient(#fff 0%,#f8fafc 100%);grid-template-rows:auto 1fr;display:grid;overflow-x:hidden}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:#ffffffe0;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;min-height:72px;padding:12px clamp(16px,4vw,42px);display:grid;position:sticky;top:0}.brand-mark{aspect-ratio:1;color:#fff;background:var(--ink);border-radius:999px;place-items:center;width:44px;display:grid;box-shadow:0 14px 30px #0d94882e}.top-actions{justify-content:flex-end;gap:8px;display:flex}button{font:inherit}.top-actions button,.icon-button,.primary-action,.secondary-action{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:9px;min-height:48px;font-weight:800;transition:transform .16s,border-color .16s,background-color .16s,box-shadow .16s,color .16s;display:inline-flex}.top-actions button,.icon-button{color:var(--ink);background:var(--slate);padding:0 14px}.top-actions button:hover,.icon-button:hover,.secondary-action:hover{background:#0d948814;border-color:#0d948842}.primary-action{color:#fff;background:var(--teal);padding:0 24px;box-shadow:0 18px 36px #0d948838}.primary-action:hover{background:var(--teal-dark);transform:translateY(-2px);box-shadow:0 20px 42px #0d948847}.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.48;box-shadow:none;transform:none}.secondary-action{color:var(--ink);border-color:var(--line);background:#fff;padding:0 20px}.screen{width:min(1120px,100% - 32px);min-height:calc(100svh - 92px);margin:0 auto;padding:clamp(24px,6vw,68px) 0;overflow-x:clip}.splash-screen,.processing-screen{text-align:center;align-content:center;place-items:center;gap:22px;display:grid}.splash-screen p{color:var(--teal);font-size:1.02rem;font-weight:900}.splash-screen strong{color:var(--ink);font-size:1.18rem;font-weight:900}.measurement-orbit,.processing-ring{aspect-ratio:.74;border:4px solid var(--ink);background:linear-gradient(135deg,#0d948812,#84a98c1f);border-radius:50% 50% 46% 46%;width:120px;position:relative}.measurement-orbit span,.processing-ring:before,.processing-ring:after{content:"";border:3px solid var(--teal);border-radius:inherit;position:absolute;inset:18%}.measurement-orbit span+span{border-color:var(--sage);border-radius:999px;inset:34% 8%}.processing-ring{animation:1.2s ease-in-out infinite alternate pulse}.intro-screen{grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);place-items:center stretch;gap:clamp(28px,6vw,72px);display:grid}.intro-copy{align-content:center;gap:18px;min-width:0;max-width:100%;display:grid}.slogan-line{color:var(--coral);font-size:clamp(.98rem,2.4vw,1.18rem);font-weight:900}.eyebrow{width:fit-content;color:var(--teal);background:var(--slate);border:1px solid #0d94881f;border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:900}h1{letter-spacing:0;width:100%;max-width:820px;color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:clamp(2.45rem,8vw,5.1rem);font-weight:900;line-height:.98}h2{letter-spacing:0;color:var(--ink);margin:0;font-size:clamp(1.05rem,3vw,1.45rem);font-weight:900}p{color:var(--muted);margin:0}.intro-copy>p:not(.eyebrow){max-width:620px;font-size:1.08rem;line-height:1.8}.measurement-figure{place-items:center;min-height:330px;display:grid}.measurement-figure svg{filter:drop-shadow(0 24px 40px #0d948824);width:min(360px,100%);height:auto}.measurement-figure path:first-of-type{fill:url(#faceFill)}.measurement-figure path:nth-of-type(2){stroke:var(--ink)}.measurement-figure line{stroke:var(--teal);stroke-width:4px;stroke-linecap:round;stroke-dasharray:7 9}.measurement-figure line:nth-of-type(4){stroke:var(--sage);stroke-dasharray:3 9}.instructions-screen,.text-screen{align-content:center;gap:24px;display:grid}.section-heading{grid-template-columns:auto 1fr;align-items:center;gap:14px;display:grid}.small-icon{aspect-ratio:1;color:#fff;background:var(--teal);border-radius:999px;place-items:center;width:44px;display:grid}.instruction-list,.reason-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.instruction-list{counter-reset:item;grid-template-columns:repeat(5,minmax(0,1fr))}.instruction-list li{border:1px solid var(--line);background:#fff;border-radius:24px;align-content:space-between;gap:14px;min-height:136px;padding:18px;display:grid;box-shadow:0 4px 24px #1e293b0d}.instruction-list li:before{counter-increment:item;content:counter(item);aspect-ratio:1;color:#fff;background:var(--teal);border-radius:50%;place-items:center;width:32px;font-weight:900;display:grid}.action-row,.capture-controls{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.capture-screen{grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:clamp(20px,5vw,48px);display:grid}.camera-panel{gap:14px;display:grid}.camera-stage{background:var(--slate);border:1px solid var(--line-strong);border-radius:28px;min-height:min(68svh,650px);transition:border-color .18s,box-shadow .18s;position:relative;overflow:hidden;box-shadow:0 18px 42px #1e293b14}.camera-stage.is-scanning{border-color:#f9731694;box-shadow:0 18px 46px #f973161f}.camera-stage.is-ready{border-color:#0d9488c7;box-shadow:0 18px 50px #0d94882e}.camera-stage video{object-fit:cover;width:100%;height:100%;min-height:min(68svh,650px);transform:scaleX(-1)}.camera-placeholder{color:var(--ink);align-content:center;place-items:center;gap:12px;display:grid;position:absolute;inset:0}.oval-guide{pointer-events:none;border:4px solid #0d9488e6;border-radius:50% 50% 46% 46%;transition:border-color .18s,box-shadow .18s,transform .18s;position:absolute;inset:8% 24%;box-shadow:0 0 0 999px #1e293b14,0 0 34px #0d94882e}.oval-guide.is-idle{border-color:#1e293b5c;box-shadow:0 0 0 999px #1e293b0f,0 0 24px #1e293b1f}.oval-guide.is-ready{border-color:var(--success);transform:scale(1.01);box-shadow:0 0 0 999px #1e293b0f,0 0 0 7px #16a34a1a,0 0 38px #16a34a38}.oval-guide:before{content:"";background:linear-gradient(#0000,#ffffffb8 18% 82%,#0000);width:1px;position:absolute;top:13%;bottom:12%;left:50%;transform:translate(-50%)}.guide-line{background:#fff9;height:1px;position:absolute;left:10%;right:10%}.guide-forehead{top:24%}.guide-cheek{top:49%}.guide-jaw{top:73%}.alignment-mark{aspect-ratio:1;background:#1e293b24;border:2px solid #fffc;border-radius:999px;width:clamp(16px,4vw,24px);position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.quality-strip{border:1px solid var(--line);background:#ffffffe6;border-radius:999px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:56px;padding:12px 16px;display:grid}.quality-strip.is-ok{color:var(--success);border-color:#16a34a6b}.quality-strip.is-warning{color:var(--danger)}.capture-controls{align-content:center}.capture-controls button{width:100%}.processing-screen h1{color:var(--teal);font-size:clamp(1.8rem,5vw,3.2rem)}.processing-screen p{color:var(--muted)}.result-screen{align-content:center;gap:28px;display:grid}.result-summary,.rejection-panel{background:#fff;border:1px solid #1e293b0a;border-radius:28px;justify-self:center;gap:18px;width:min(460px,100%);padding:28px;display:grid;box-shadow:0 4px 24px #1e293b0f,0 0 0 1px #1e293b0a}.result-summary h1{font-size:clamp(2.15rem,9vw,3.1rem);line-height:1.05}.latin-label{font-family:var(--latin);letter-spacing:2px;color:var(--sage);margin-top:-6px;font-size:.92rem;font-weight:900}.result-stats{gap:10px;display:flex}.result-stats span{background:var(--slate);min-height:66px;color:var(--muted);text-align:center;border-radius:14px;flex:1;align-content:center;gap:5px;padding:12px 8px;font-size:.72rem;font-weight:800;display:grid}.result-stats span:first-child{background:var(--teal);color:#fff}.result-stats b{color:inherit;font-size:1rem;font-weight:900}.reason-list li{color:var(--muted);padding-inline-start:22px;font-size:.95rem;line-height:1.75;position:relative}.reason-list li:before{content:"";inset-inline-start:2px;background:var(--teal);border-radius:999px;width:8px;height:8px;position:absolute;top:.72em}.score-breakdown{gap:14px;padding-top:4px;display:grid}.score-breakdown h2{margin-top:8px;font-size:1rem}.score-hint{color:var(--muted);margin:0;font-size:.82rem;line-height:1.75}.score-list{gap:14px;display:grid}.score-row{gap:6px;display:grid}.score-labels{color:var(--ink);justify-content:space-between;align-items:baseline;gap:12px;font-size:.88rem;font-weight:800;display:flex}.score-row.is-primary .score-labels{color:var(--teal)}.score-row.is-primary .score-labels b{font-weight:900}.score-bar{background:var(--slate);border-radius:999px;height:10px;overflow:hidden}.score-bar i{background:var(--sage);border-radius:999px;height:100%;display:block}.score-row.is-primary .score-bar i{background:var(--teal)}.shape-desc{color:#334155;background:linear-gradient(135deg,#0d94880f,#84a98c14);border-radius:18px;margin:0;padding:16px;font-size:.92rem;line-height:1.8}.result-details{justify-self:center;width:min(460px,100%);display:grid}.metric-list{border:1px solid var(--line);background:#fff;border-radius:28px;gap:14px;padding:24px;display:grid;box-shadow:0 4px 24px #1e293b0d}.metric-row{gap:8px;display:grid}.metric-row>div{justify-content:space-between;gap:16px;font-size:.88rem;font-weight:800;display:flex}.metric-row b{color:var(--teal)}meter{background:var(--slate);border:none;border-radius:999px;width:100%;height:11px}meter::-webkit-meter-bar{background:var(--slate);border:none;border-radius:999px}meter::-webkit-meter-optimum-value{background:linear-gradient(90deg, var(--teal), var(--sage));border-radius:999px}meter::-moz-meter-bar{background:linear-gradient(90deg, var(--teal), var(--sage));border-radius:999px}.text-screen{max-width:820px}.text-screen p{font-size:1.08rem;line-height:1.9}.rejection-panel{text-align:center}.rejection-panel>svg{color:var(--danger);margin:0 auto}.rejection-panel h1{font-size:clamp(1.55rem,5vw,2.35rem);line-height:1.2}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:fixed;overflow:hidden}@keyframes pulse{0%{opacity:.76;transform:scale(.96)}to{opacity:1;transform:scale(1.02)}}@media (width<=860px){.topbar{grid-template-columns:auto auto}.brand-mark{display:none}.top-actions{justify-content:flex-end}.top-actions span,.icon-button span{display:none}.intro-screen,.capture-screen,.result-details,.instruction-list{grid-template-columns:1fr}.instruction-list li{min-height:92px}.camera-stage,.camera-stage video{min-height:58svh}.oval-guide{inset:10% 16%}.capture-controls{grid-template-columns:1fr;display:grid}}@media (width<=520px){.screen{width:min(100% - 22px,1120px);padding-block:20px}.topbar{padding-inline:12px}h1{font-size:clamp(2rem,12vw,2.85rem);line-height:1.08}.intro-copy{gap:16px}.intro-copy>p:not(.eyebrow){font-size:1rem;line-height:1.75}.top-actions button,.icon-button{width:44px;padding:0}.primary-action,.secondary-action{width:100%}.result-summary,.rejection-panel,.metric-list{border-radius:24px;padding:22px 18px}.result-stats{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.result-stats span{word-break:break-word;min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
