*{box-sizing:border-box}html,body{color:#eef2f8;-webkit-tap-highlight-color:transparent;text-align:start;background:#0a0c10;width:100%;height:100%;margin:0;font-family:system-ui,-apple-system,Segoe UI,Arial,Heebo,sans-serif;overflow:hidden}#canvas{width:100%;height:100%;display:block}#hud{top:max(.75rem, env(safe-area-inset-top));inset-inline:max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:auto;background:#080a0ec7;border-radius:.65rem;max-width:22rem;padding:.75rem .9rem;position:fixed}#hud h1{margin:0 0 .35rem;font-size:.92rem;font-weight:650}#hud.hud--calibrate,#hud.hud--measure{inset-inline:max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right));text-align:center;width:auto;max-width:none;padding:.65rem .85rem .7rem;left:auto;right:auto;transform:none}#hud.hud--calibrate h1,#hud.hud--measure h1{margin-bottom:.4rem;font-size:1.25rem;font-weight:700}#hud.hud--calibrate>p,#hud.hud--measure>p{text-wrap:balance;font-size:.78rem;line-height:1.45}.hud-inline-link{color:#8ea4c8;font:inherit;line-height:inherit;cursor:pointer;background:0 0;border:none;margin:0;padding:0;text-decoration:underline;display:inline}.hud-inline-link:active{color:#b8cce8}.hud-emphasis-link{color:#f5f7fb;font:inherit;font-weight:800;line-height:inherit;letter-spacing:.01em;text-underline-offset:.14em;cursor:pointer;background:0 0;border:none;margin:0;padding:0;-webkit-text-decoration:underline #d4af37;text-decoration:underline #d4af37;text-decoration-thickness:.12em;display:inline}.hud-emphasis-link:active{color:#d4af37}#hud>p{color:#b4bcc8;margin:0;font-size:.8rem;line-height:1.4}.calibration-saved-toast{inset-inline:max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right));top:max(.75rem, env(safe-area-inset-top));z-index:15;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#d8e4f4;text-wrap:balance;background:#0c121cf5;border:1px solid #8ea4c859;border-radius:.75rem;padding:.75rem .85rem;font-size:.78rem;line-height:1.45;position:fixed;box-shadow:0 8px 28px #00000059}.calibration-saved-toast.hidden{display:none}.confirm-dialog{z-index:25;padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog.hidden{display:none}.confirm-panel{background:#12151c;border:1px solid #ffffff1a;border-radius:.9rem;width:min(100%,22rem);padding:1rem 1rem .95rem;position:relative;box-shadow:0 12px 40px #00000073}.confirm-panel h2{text-align:center;margin:0 0 .55rem;font-size:1rem;font-weight:700}.confirm-panel p{color:#b4bcc8;text-wrap:balance;margin:0;font-size:.82rem;line-height:1.5}.confirm-actions{flex-direction:column;gap:.45rem;margin-top:.85rem;display:flex}.confirm-secondary-button{color:#c8d0dc;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff24;border-radius:.6rem;width:100%;padding:.65rem .85rem;font-size:.84rem;font-weight:600}.confirm-secondary-button:active{background:#ffffff1a}.confirm-primary-button{margin-top:0}.stage-panel{inset-inline:max(.75rem, env(safe-area-inset-left)) max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080a0eeb;border-radius:.85rem;max-height:min(52vh,22rem);padding:.8rem .9rem .9rem;position:fixed;overflow-y:auto}.stage-panel.hidden{display:none}.stage-label{letter-spacing:.04em;text-transform:uppercase;color:#8b93a1;margin:0 0 .55rem;font-size:.7rem;font-weight:600}.device-chip{color:#c8d0dc;text-align:start;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:.55rem;width:100%;margin-top:.55rem;margin-bottom:0;padding:.55rem .7rem;font-size:.8rem;overflow:hidden}.device-chip:active{background:#ffffff1a}.field-label{color:#b4bcc8;font-size:.78rem}.eu-input-field{flex-direction:column;gap:.35rem;display:flex}.field-label-link{color:#d4af37;font:inherit;text-underline-offset:.15em;cursor:pointer;background:0 0;border:0;align-self:flex-start;padding:0;font-size:.78rem;text-decoration:underline}.field-label-link:active{opacity:.8}.eu-input-field input[type=number]{color:#eef2f8;text-align:end;direction:ltr;background:#ffffff0f;border:1px solid #ffffff24;border-radius:.55rem;width:100%;padding:.55rem .7rem;font-size:1rem;font-weight:600}.fit-slider-field,.size-slider-field{flex-direction:column;gap:.35rem;margin-top:.55rem;display:flex}.fit-slider-field input[type=range],.size-slider-field input[type=range]{width:100%}.mandrel-overlay{z-index:30;padding:max(.75rem, env(safe-area-inset-top)) max(.75rem, env(safe-area-inset-right)) max(.75rem, env(safe-area-inset-bottom)) max(.75rem, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.mandrel-overlay.hidden{display:none}.mandrel-panel{background:#12151c;border-radius:.9rem;width:min(100%,26rem);max-height:min(88vh,36rem);padding:1rem;position:relative;overflow:auto;box-shadow:0 12px 40px #00000073}.mandrel-panel .sheet-header{justify-content:center;margin-bottom:.5rem;position:relative}.mandrel-panel .sheet-header h2{text-align:center;width:100%}.mandrel-panel .sheet-close{inset-inline-end:0;position:absolute;top:0}.mandrel-copy{text-align:center;color:#b4bcc8;flex-direction:column;gap:.35rem;margin:0 0 .65rem;font-size:.8rem;line-height:1.4;display:flex}.mandrel-copy span{display:block}#eu-scale-canvas{touch-action:none;background:#0a0c10;border-radius:.65rem;width:100%;height:100%;display:block}.eu-scale-viewport{aspect-ratio:3/2;border-radius:.65rem;width:100%;max-height:min(62vw,18rem);margin-top:.35rem;position:relative;overflow:hidden}.eu-scale-marker-label{color:#ff6b6b;white-space:nowrap;pointer-events:none;background:#12151cd1;border-radius:.35rem;padding:.12rem .45rem;font-size:.72rem;font-weight:600}#mandrel-canvas{touch-action:none;cursor:grab;background:#0a0c10;border-radius:.65rem;width:100%;height:min(62vw,22rem);display:block}#mandrel-canvas:active{cursor:grabbing}.mandrel-reveal-caption{text-align:center;min-height:2.6rem;margin:.55rem 0 0;font-size:.82rem;font-weight:600;line-height:1.45;transition:opacity .2s}.mandrel-reveal-caption.hidden{visibility:hidden;opacity:0}.mandrel-reveal-caption--wrong{color:#e6c96a;font-weight:550}.mandrel-reveal-caption--correct{color:#ff7a7a;font-weight:750}.mandrel-reveal-caption--both{flex-direction:column;gap:.35rem;display:flex}.mandrel-caption-line{display:block}.mandrel-caption-line--convention{color:#ff7a7a;font-size:.9rem;font-weight:750}.mandrel-caption-line--not-convention{color:#e6c96a;opacity:.92;font-size:.76rem;font-weight:500}.mandrel-caption-line--not-convention strong,.mandrel-color-label{font-weight:800}.mandrel-color-label--red{color:#ff6b6b}.mandrel-color-label--yellow{color:#ffe566}.measure-readout{text-align:center;margin-bottom:.5rem}.measure-panel-top{justify-content:flex-start;margin-bottom:.45rem;display:flex}.calibration-status{letter-spacing:.02em;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.calibration-status--calibrated{color:#8ee4ad;background:#30784e47;border:1px solid #58c48273}.calibration-status--not-calibrated{color:#ff9a9a;background:#8c282847;border:1px solid #ff787873}#eu-label{font-size:1.25rem;font-weight:700;display:block}#diameter-label{color:#9aa3b2;margin-top:.1rem;font-size:.8rem;display:block}.ghost-toggle{color:#b4bcc8;align-items:center;gap:.5rem;margin-top:.55rem;font-size:.78rem;display:flex}.primary-button{color:#141820;cursor:pointer;background:#d4af37;border:none;border-radius:.6rem;width:100%;margin-top:.65rem;padding:.75rem 1rem;font-size:.88rem;font-weight:650}.primary-button:active{filter:brightness(.95)}.primary-button:disabled{opacity:.45;cursor:default}.text-button{color:#9aa3b2;cursor:pointer;background:0 0;border:none;width:100%;margin-top:.55rem;padding:.45rem;font-size:.78rem;text-decoration:underline}.sheet{z-index:20;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet.hidden{display:none}.sheet-backdrop{cursor:pointer;background:#0000008c;border:none;position:absolute;inset:0}.sheet-panel{width:100%;max-width:28rem;max-height:78vh;padding:1rem 1rem max(1rem, env(safe-area-inset-bottom));background:#12151c;border-radius:1rem 1rem 0 0;position:relative;overflow:auto}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.sheet-header h2{margin:0;font-size:1rem}.sheet-header--close-only{justify-content:flex-end;margin-bottom:.35rem}.sheet-close{color:#fff;cursor:pointer;background:#ffffff14;border:none;border-radius:.5rem;width:2rem;height:2rem;font-size:1.25rem;line-height:1}.device-suggestion{text-align:start;color:#8ea4c8;cursor:pointer;background:0 0;border:none;margin:0 0 .75rem;padding:0;font-size:.78rem;line-height:1.4;text-decoration:underline}.device-suggestion.hidden{display:none}.device-picker{gap:.65rem;display:grid}.picker-row{color:#b4bcc8;gap:.3rem;font-size:.78rem;display:grid}.picker-row select{color:#eef2f8;text-align:start;background:#ffffff0f;border:1px solid #ffffff24;border-radius:.6rem;width:100%;padding:.65rem .75rem;font-size:.95rem}.picker-row select:disabled{opacity:.45}.home-page{--home-intro-yellow:#ffe566;--home-intro-yellow-soft:#f5e08a;--home-intro-yellow-muted:#e8d56a;--home-browser-bottom:1.25rem}body.home-page.calibration-page{-webkit-overflow-scrolling:touch;height:auto;min-height:100%;overflow:hidden auto}html:has(.home-page){-webkit-overflow-scrolling:touch;height:auto;min-height:100%;overflow:hidden auto}.home-page.calibration-page{overflow:hidden auto}.home-page #root{height:auto;min-height:100%}.home-page .calibration-page-shell{flex:auto;gap:0;height:auto;min-height:0;padding-bottom:.65rem;overflow:visible}.home-page .home-door-intro{margin-bottom:.2rem}.home-door-intro{text-align:center;background:#000;border-radius:.75rem .75rem 0 0;flex-direction:column;flex-shrink:0;gap:.55rem;margin:0;padding:.95rem 1rem 1rem;font-family:Rubik,system-ui,sans-serif;display:flex}.home-door-intro__title{color:var(--home-intro-yellow);letter-spacing:.01em;margin:0;font-size:1.05rem;font-weight:700;line-height:1.45}.home-door-intro__subtitle{color:var(--home-intro-yellow);margin:0;font-size:.92rem;font-weight:600;line-height:1.45}.home-door-intro__paragraph{color:var(--home-intro-yellow-soft);margin:0;font-size:.84rem;font-weight:400;line-height:1.6}.home-door-intro__link{color:var(--home-intro-yellow);text-decoration:underline;-webkit-text-decoration-color:var(--home-intro-yellow-muted);text-decoration-color:var(--home-intro-yellow-muted);text-underline-offset:.18em;font-weight:600}.home-door-intro__link:active{color:#fff9c4}.route-page{color:#1c2428;background:#ddd4c8;overflow:hidden auto}.route-page #root{min-height:100%}.route-page .site-main{background:radial-gradient(95% 60% at 12% 0,#fffcf58c,#0000 62%),radial-gradient(80% 55% at 92% 100%,#78624e1f,#0000 54%),linear-gradient(168deg,#e8e0d4 0%,#ddd4c8 38%,#cfc5b8 72%,#c4b9ab 100%)}.route-page-shell{width:100%;max-width:34rem;padding:.85rem max(.75rem, env(safe-area-inset-right)) 1rem max(.75rem, env(safe-area-inset-left));flex-direction:column;flex:auto;gap:.85rem;margin-inline:auto;display:flex}.route-page-shell__back{color:#1a6b64;font-size:.82rem;font-weight:600;text-decoration:none}.route-page-shell__title{color:#1a6b64;text-align:center;margin:0;font-size:1.2rem;font-weight:750;line-height:1.35}.route-page-shell__body{color:#5a6669;text-align:center;font-size:.9rem;line-height:1.55}.route-page-shell__body p{margin:0}.home-page .calibration-page-shell .calibration-canvas-frame{border-radius:0 0 .75rem .75rem;flex:none;min-height:clamp(16rem,48svh,26rem)}.home-page .calibration-canvas-stage{border-radius:0 0 .75rem .75rem;flex:auto;min-height:clamp(16rem,48svh,26rem)}.home-page .calibration-canvas-viewport{min-height:clamp(8rem,26svh,14rem)}.home-page .calibration-canvas-footer{padding-bottom:max(.85rem, env(safe-area-inset-bottom))}.home-faq{background:#000;border-radius:.75rem;flex-shrink:0;margin-top:.2rem;padding:1rem .95rem 1.05rem;font-family:Rubik,system-ui,sans-serif}.home-faq__title{color:#ffe566;text-align:center;margin:0 0 .75rem;font-size:.95rem;font-weight:700;line-height:1.4}.home-faq__list{flex-direction:column;gap:.45rem;display:flex}.home-faq__item{background:#ffffff0a;border:1px solid #ffe56638;border-radius:.55rem;overflow:hidden}.home-faq__question{color:#ffe566;cursor:pointer;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.65rem .75rem;font-size:.84rem;font-weight:600;line-height:1.45;list-style:none;display:flex}.home-faq__question::-webkit-details-marker{display:none}.home-faq__question:after{content:"+";color:#f5e08a;flex-shrink:0;font-size:1rem;font-weight:500}.home-faq__item[open] .home-faq__question:after{content:"−"}.home-faq__answer{color:#f5e08a;margin:0;padding:0 .75rem .7rem;font-size:.8rem;font-weight:400;line-height:1.55}.home-standards{background:#000;border-radius:.75rem;flex-shrink:0;margin-top:.2rem;padding:1rem .95rem 1.05rem;font-family:Rubik,system-ui,sans-serif}.home-standards__title{color:#ffe566;text-align:center;margin:0 0 .75rem;font-size:.95rem;font-weight:700;line-height:1.4}.home-standards__list{flex-direction:column;gap:.45rem;display:flex}.home-standards__item{background:#ffffff0a;border:1px solid #ffe56638;border-radius:.55rem;overflow:hidden}.home-standards__question{color:#ffe566;cursor:pointer;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.65rem .75rem;font-size:.84rem;font-weight:600;line-height:1.45;list-style:none;display:flex}.home-standards__question::-webkit-details-marker{display:none}.home-standards__question:after{content:"+";color:#f5e08a;flex-shrink:0;font-size:1rem;font-weight:500}.home-standards__item[open] .home-standards__question:after{content:"−"}.home-standards__answer{color:#f5e08a;margin:0;padding:0 .75rem .7rem;font-size:.8rem;font-weight:400;line-height:1.55}.home-standards__answer>p{margin:0}.home-standards__converter{flex-direction:column;gap:.45rem;display:flex}.home-standards__converter-label{color:#ffe566;flex-direction:column;gap:.35rem;font-size:.78rem;font-weight:600;display:flex}.home-standards__converter-input{color:#f5e08a;width:100%;font:inherit;text-align:center;direction:ltr;background:#ffffff0f;border:1px solid #ffe56647;border-radius:.45rem;padding:.5rem .65rem;font-size:.84rem}.home-standards__converter-input:focus{border-color:#ffe5668c;outline:none}.home-standards__converter-result{color:#ffe566;text-align:center;direction:ltr;margin:0;font-size:.86rem;font-weight:700}.home-standards__converter-hint{color:#e8d56a;text-align:center;margin:0;font-size:.74rem}.eu-scale-animation__viewport{max-height:min(62vw,18rem)}.eu-scale-animation__canvas{touch-action:none;background:#0a0c10;border-radius:.65rem;width:100%;height:100%;display:block}.eu-scale-animation .mandrel-reveal-caption{color:#ff7a7a;min-height:2.4rem;margin-top:.45rem;font-size:.78rem}.home-pros{background:#000;border-radius:.75rem;flex-shrink:0;margin-top:.2rem;padding:1rem .95rem 1.05rem;font-family:Rubik,system-ui,sans-serif}.home-pros__title{color:#ffe566;text-align:center;margin:0 0 .75rem;font-size:.95rem;font-weight:700;line-height:1.4}.home-pros__list{flex-direction:column;gap:.45rem;display:flex}.home-pros__item{background:#ffffff0a;border:1px solid #ffe56638;border-radius:.55rem;overflow:hidden}.home-pros__question{color:#ffe566;cursor:pointer;justify-content:space-between;align-items:flex-start;gap:.5rem;padding:.65rem .75rem;font-size:.84rem;font-weight:600;line-height:1.45;list-style:none;display:flex}.home-pros__question::-webkit-details-marker{display:none}.home-pros__question:after{content:"+";color:#f5e08a;flex-shrink:0;font-size:1rem;font-weight:500}.home-pros__item[open] .home-pros__question:after{content:"−"}.home-pros__answer{color:#f5e08a;margin:0;padding:0 .75rem .7rem;font-size:.8rem;font-weight:400;line-height:1.55}.home-pros__answer>p{margin:0}.mandrel-animation__viewport{aspect-ratio:3/4;border-radius:.65rem;width:100%;max-height:min(75vw,22rem);position:relative;overflow:hidden}.mandrel-animation__canvas{touch-action:none;cursor:grab;background:#0a0c10;border-radius:.65rem;width:100%;height:100%;display:block}.mandrel-animation__canvas:active{cursor:grabbing}.mandrel-animation .mandrel-reveal-caption{min-height:2.6rem;margin-top:.45rem;font-size:.78rem}
