:root{color:#f7f7f2;font-synthesis:none;text-rendering:optimizelegibility;--font-display:"Avenir Next Condensed", "DIN Alternate", "Arial Narrow", "Hiragino Sans", "Yu Gothic UI", sans-serif;--font-body:"Hiragino Sans", "Yu Gothic UI", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--black:#090a0c;--black-soft:#111318;--graphite:#191c22;--paper:#f5f5ef;--paper-muted:#d4d4ca;--orange:#ff5b24;--orange-dark:#d73a0d;--lime:#d7ff45;--lime-soft:#eaff88;--steel:#9aa0aa;--white:#fff;--danger:#ff4b4b;--warning:#ffc547;--success:#8dffb4;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);background:#090a0c;font-family:Hiragino Sans,Yu Gothic UI,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--black);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-width:320px;min-height:100%}body{background:var(--black);min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;border:0}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--lime);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.45}.overline,.start-kicker,.status-eyebrow,.training-count-label,.training-stat-row dt,.result-eyebrow,.result-count-block>span,.feature-strip,.session-brand,.mediapipe-status,.count-feedback-label,.countdown-label{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;font-weight:800}.brand-emblem{border:2px solid var(--black);flex:none;place-items:center;width:50px;height:50px;display:grid;position:relative;transform:rotate(-5deg)}.brand-emblem:before,.brand-emblem:after,.brand-emblem span{background:var(--black);content:"";position:absolute}.brand-emblem:before{border-radius:2px;width:5px;height:30px}.brand-emblem:after{border-radius:2px;width:30px;height:5px}.brand-emblem span{background:var(--orange);width:10px;height:10px;box-shadow:0 0 0 4px var(--paper);border-radius:50%}.brand-emblem-inverse{border-color:var(--paper)}.brand-emblem-inverse:before,.brand-emblem-inverse:after{background:var(--paper)}.brand-emblem-inverse span{box-shadow:0 0 0 4px var(--black)}.start-screen{width:100%;min-height:100dvh;padding:calc(22px + var(--safe-top)) max(20px, calc(20px + var(--safe-right))) calc(18px + var(--safe-bottom)) max(20px, calc(20px + var(--safe-left)));background:radial-gradient(circle at 78% 21%, #ff5b243d, transparent 34%), linear-gradient(132deg, var(--paper) 0 58%, #e8e8df 58% 100%);color:var(--black);grid-template-rows:auto 1fr auto auto;display:grid;position:relative;overflow:hidden}.start-screen:before{background:var(--lime);content:"";clip-path:polygon(40% 0,100% 0,60% 100%,0 100%);opacity:.78;width:38vw;min-width:190px;max-width:430px;position:absolute;inset:0 0 0 auto}.start-screen-grid{pointer-events:none;background-image:linear-gradient(#090a0c12 1px,#0000 1px),linear-gradient(90deg,#090a0c12 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0%,#0000 78%);mask-image:linear-gradient(#000 0%,#0000 78%)}.start-brand,.start-hero,.start-actions,.start-screen .privacy-notice{z-index:1;position:relative}.start-brand{align-items:center;gap:13px;display:flex}.start-brand p{margin:0}.overline{font-size:.7rem}.brand-name{color:#4c4e51;font-family:var(--font-display);letter-spacing:.08em;font-size:.72rem;font-weight:750;margin-top:3px!important}.start-hero{grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);align-items:center;gap:clamp(20px,5vw,72px);min-height:360px;padding:clamp(38px,7vh,96px) 0 32px;display:grid}.start-kicker{color:var(--orange-dark);margin:0 0 12px;font-size:clamp(.75rem,1.4vw,1rem)}.start-hero h1{font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3.25rem,8vw,7.7rem);font-weight:900;font-stretch:75%;line-height:.92}.start-lead{color:#3e4145;max-width:660px;margin:25px 0 0;font-size:clamp(.96rem,1.5vw,1.16rem);font-weight:650;line-height:1.85}.start-visual{aspect-ratio:1;justify-self:center;width:min(32vw,410px);position:relative}.strength-ring{border:clamp(16px, 2.5vw, 32px) solid var(--black);border-radius:50%;position:absolute;inset:8%}.strength-ring-outer{border-right-color:#0000;transform:rotate(-22deg)}.strength-ring-inner{border-width:clamp(4px,.7vw,9px);border-color:var(--orange);inset:30%}.strength-bar{justify-content:space-between;align-items:center;display:flex;position:absolute;inset:42% -4%;transform:rotate(-18deg)}.strength-bar:before{background:var(--black);content:"";height:14px;position:absolute;inset:calc(50% - 7px) 0 auto}.strength-bar span{z-index:1;border:6px solid var(--paper);background:var(--black);width:24px;height:82px}.strength-bar span:nth-child(2){width:52px;height:126px;margin-left:auto}.strength-bar span:nth-child(3){width:28px;height:90px}.start-visual-number{color:var(--orange);font-family:var(--font-display);font-size:clamp(4rem,8vw,8.5rem);font-weight:900;line-height:.8;position:absolute;bottom:3%;right:-1%}.start-actions{grid-template-columns:minmax(240px,.9fr) minmax(300px,1.1fr);align-items:end;gap:18px 30px;display:grid}.feature-strip{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.feature-strip span{border:1px solid var(--black);background:#f5f5efb8;padding:8px 12px;font-size:.69rem}.launch-button{background:var(--orange);min-height:70px;color:var(--white);box-shadow:8px 8px 0 var(--black);font-family:var(--font-display);letter-spacing:.03em;justify-content:space-between;align-items:center;gap:24px;padding:0 20px 0 24px;font-size:clamp(1.05rem,2vw,1.35rem);font-weight:900;transition:transform .15s,box-shadow .15s,background .15s;display:flex}.launch-button:hover{box-shadow:4px 4px 0 var(--black);background:#ef4811;transform:translate(4px,4px)}.launch-button-arrow{border:2px solid;border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.55rem;display:grid}.start-steps{background:#090a0c4d;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:1px;list-style:none;display:grid}.start-steps li{background:#f5f5efdb;min-height:86px;padding:14px}.start-steps span{color:var(--orange-dark);font-family:var(--font-display);font-size:.68rem;font-weight:900}.start-steps p{margin:12px 0 0;font-size:.78rem;font-weight:800;line-height:1.45}.privacy-notice{color:#505257;max-width:1040px;margin:18px 0 0;font-size:.7rem;line-height:1.6}.camera-session{background:var(--black);width:100%;height:100dvh;min-height:480px;color:var(--white);position:relative;overflow:hidden}.camera-panel,.camera-stage{width:100%;height:100%}.camera-stage{background:radial-gradient(circle at 50% 45%,#272a2d 0,#121418 48%,#090a0c 100%);position:relative;overflow:hidden}.camera-ambient{z-index:0;background:radial-gradient(circle at 20% 10%,#ff5b2429,#0000 35%),radial-gradient(circle at 80% 80%,#d7ff451a,#0000 35%);position:absolute;inset:0}.camera-media{z-index:1;object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.camera-mirrored{transform:scaleX(-1)}.camera-skeleton{z-index:2;pointer-events:none}.camera-vignette{z-index:3;pointer-events:none;background:linear-gradient(#000000bd 0,#0000 20% 66%,#000000db 100%),linear-gradient(90deg,#00000047 0,#0000 18% 82%,#00000047 100%);position:absolute;inset:0}.camera-frame{z-index:4;pointer-events:none;border-color:#ffffff7a;width:30px;height:30px;position:absolute}.camera-frame-top-left{top:calc(76px + var(--safe-top));left:calc(16px + var(--safe-left));border-top:2px solid;border-left:2px solid}.camera-frame-top-right{top:calc(76px + var(--safe-top));right:calc(16px + var(--safe-right));border-top:2px solid;border-right:2px solid}.camera-frame-bottom-left{bottom:calc(120px + var(--safe-bottom));left:calc(16px + var(--safe-left));border-bottom:2px solid;border-left:2px solid}.camera-frame-bottom-right{right:calc(16px + var(--safe-right));bottom:calc(120px + var(--safe-bottom));border-bottom:2px solid;border-right:2px solid}.camera-placeholder{z-index:5;color:var(--paper);text-align:center;place-content:center;gap:10px;padding:24px;display:grid;position:absolute;inset:0}.camera-placeholder-index{color:var(--lime);font-family:var(--font-display);letter-spacing:.18em;font-size:.68rem;font-weight:900}.camera-placeholder strong{font-size:clamp(1.2rem,5vw,2rem)}.camera-placeholder span:last-child{color:#b6bac0;font-size:.86rem}.framing-guide{z-index:4;pointer-events:none;border:1px dashed #ffffff4d;border-radius:48% 48% 22% 22%;width:min(47vw,250px);height:min(66dvh,570px);position:absolute;top:16%;left:50%;transform:translate(-50%)}.framing-guide-head{aspect-ratio:1;border:1px dashed #ffffff6b;border-radius:50%;width:18%;position:absolute;top:5%;left:41%}.framing-guide-body{border-left:1px dashed #ffffff47;border-right:1px dashed #ffffff47;width:44%;height:50%;position:absolute;top:24%;left:28%}.framing-guide-floor{border-top:1px dashed #d7ff458c;height:1px;position:absolute;bottom:7%;left:12%;right:12%}.camera-overlay{z-index:10;pointer-events:none;position:absolute;inset:0}.camera-overlay-top{top:calc(14px + var(--safe-top));right:calc(14px + var(--safe-right));left:calc(14px + var(--safe-left));justify-content:space-between;align-items:center;gap:12px;display:flex;position:absolute}.session-brand{color:#ffffffd1;align-items:center;gap:8px;font-size:.64rem;display:inline-flex}.session-brand-mark{background:var(--orange);width:22px;height:6px;box-shadow:6px 0 0 var(--lime);transform:skew(-20deg)}.mediapipe-status{color:#d6d9dd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090a0c94;border:1px solid #fff3;border-radius:999px;align-items:center;gap:7px;min-height:34px;padding:7px 10px;font-size:.59rem;display:inline-flex}.mediapipe-status-dot{border:1px solid;border-radius:50%;width:7px;height:7px}.mediapipe-status-active{color:var(--success);border-color:#8dffb46b}.mediapipe-status-active .mediapipe-status-dot{background:currentColor;box-shadow:0 0 10px}.mediapipe-status-loading .mediapipe-status-dot{animation:1s ease-in-out infinite status-pulse}.mediapipe-status-warning{color:var(--warning);border-color:#ffc54773}.mediapipe-status-error{color:#ff8787;border-color:#ff4b4b7a}@keyframes status-pulse{50%{background:currentColor;transform:scale(.7)}}.status-panel{right:calc(14px + var(--safe-right));bottom:calc(22px + var(--safe-bottom));left:calc(14px + var(--safe-left));-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);background:#090a0cad;border:1px solid #ffffff2b;border-radius:18px;gap:10px;max-width:720px;padding:16px 18px;display:grid;position:absolute;box-shadow:0 18px 50px #0000004d}.status-copy{min-width:0}.status-eyebrow{color:var(--lime);font-size:.6rem}.status-main-message{color:var(--white);margin:7px 0 0;font-size:clamp(.92rem,3.8vw,1.2rem);font-weight:780;line-height:1.55}.calibration-progress{gap:7px;display:grid}.calibration-progress-label{color:#c7cbd1;justify-content:space-between;font-size:.7rem;font-weight:700;display:flex}.calibration-progress-label strong{color:var(--lime)}.calibration-progress progress{appearance:none;border:0;width:100%;height:7px}.calibration-progress progress::-webkit-progress-bar{background:#ffffff29;border-radius:99px}.calibration-progress progress::-webkit-progress-value{background:linear-gradient(90deg, var(--orange), var(--lime));border-radius:99px}.transcript-line{border-top:1px solid #ffffff21;align-items:baseline;gap:10px;margin:0;padding-top:10px;display:flex}.transcript-line span{color:#aeb2b9;font-size:.65rem}.transcript-line strong{overflow-wrap:anywhere;color:var(--lime)}.error-box{border-left:3px solid var(--danger);color:#fff1f1;background:#730e0e85;padding:10px 12px}.error-box strong{color:#ff9b9b;font-family:var(--font-display);letter-spacing:.14em;font-size:.65rem}.error-box p{margin:4px 0 0;font-size:.78rem;line-height:1.5}.camera-session-ready .status-panel,.camera-session-listening .status-panel{bottom:calc(268px + var(--safe-bottom))}.camera-session-running .status-panel{right:auto;bottom:calc(94px + var(--safe-bottom));max-width:min(68vw,520px)}.camera-session-countdown .status-panel{display:none}.training-metrics{z-index:12;width:min(52vw,300px);top:calc(66px + var(--safe-top));left:calc(14px + var(--safe-left));pointer-events:none;gap:9px;display:grid;position:absolute}.training-count{border-left:5px solid var(--orange);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090a0cb8;width:max-content;min-width:146px;padding:10px 14px 8px;display:inline-grid}.training-count-label{color:var(--lime);font-size:.54rem}.training-count>div{align-items:baseline;gap:7px;display:flex}.training-count strong{font-family:var(--font-display);letter-spacing:-.07em;font-size:clamp(3.3rem,16vw,5.6rem);font-weight:900;line-height:.88}.training-count span:last-child{color:#d5d8dc;font-family:var(--font-display);font-size:1.05rem;font-weight:800}.training-stat-row{background:#ffffff26;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:1px;display:grid}.training-stat-row div{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#090a0cb8;min-width:0;padding:8px 9px}.training-stat-row dt{color:#9ea3ab;font-size:.48rem}.training-stat-row dd{color:var(--white);font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:.69rem;font-weight:850;overflow:hidden}.training-state-warning dd{color:var(--warning)}.count-feedback{z-index:25;border:2px solid var(--lime);background:var(--orange);min-width:106px;color:var(--white);text-align:right;pointer-events:none;top:calc(122px + var(--safe-top));right:calc(18px + var(--safe-right));padding:12px 14px 8px;animation:1.05s cubic-bezier(.22,.9,.24,1) forwards count-feedback-pop;display:grid;position:absolute;box-shadow:8px 8px #090a0cb8}.count-feedback-label{color:var(--lime);font-size:.55rem}.count-feedback strong{font-family:var(--font-display);letter-spacing:-.08em;font-size:clamp(5rem,22vw,8rem);font-weight:900;line-height:.78}@keyframes count-feedback-pop{0%{opacity:0;transform:translate(22px,8px)scale(.58)rotate(4deg)}18%{opacity:1;transform:translate(0,0)scale(1.06)rotate(-2deg)}55%{opacity:1;transform:translate(0,0)scale(1)rotate(0)}to{opacity:0;transform:translateY(-28px)scale(.94)}}.control-panel{z-index:40;pointer-events:none;position:absolute;inset:0}.control-panel button,.control-panel input{pointer-events:auto}.voice-control-card{right:calc(14px + var(--safe-right));bottom:calc(14px + var(--safe-bottom));left:calc(14px + var(--safe-left));-webkit-backdrop-filter:blur(20px)saturate(125%);backdrop-filter:blur(20px)saturate(125%);background:#0a0b0ee0;border:1px solid #ffffff2e;border-radius:20px;gap:12px;max-width:720px;padding:15px;display:grid;position:absolute;box-shadow:0 18px 55px #00000070}.voice-control-heading{align-items:center;gap:12px;display:flex}.voice-control-heading>div:last-child{gap:2px;display:grid}.voice-control-heading span{color:var(--lime);font-family:var(--font-display);letter-spacing:.14em;font-size:.56rem;font-weight:900}.voice-control-heading strong{font-size:.95rem}.voice-pulse{background:#ffffff0f;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;gap:3px;width:44px;height:44px;display:flex}.voice-pulse span{background:#777c84;border-radius:99px;width:3px;height:11px}.voice-pulse span:nth-child(2){height:19px}.voice-pulse.is-listening{border-color:#d7ff4580;box-shadow:0 0 0 5px #d7ff4514}.voice-pulse.is-listening span{background:var(--lime);animation:.65s ease-in-out infinite alternate voice-level}.voice-pulse.is-listening span:nth-child(2){animation-delay:.16s}.voice-pulse.is-listening span:nth-child(3){animation-delay:.32s}@keyframes voice-level{to{height:25px}}.manual-start-row{grid-template-columns:minmax(96px,.7fr) minmax(160px,1.3fr);gap:8px;display:grid}.manual-target{gap:4px;display:grid}.manual-target span{color:#a6abb3;font-size:.62rem;font-weight:700}.manual-target input{width:100%;min-height:48px;color:var(--white);font-family:var(--font-display);background:#181a20;border:1px solid #ffffff3d;border-radius:10px;padding:8px 12px;font-size:1.15rem;font-weight:900}.manual-start-button{background:var(--lime);min-height:48px;color:var(--black);border-radius:10px;align-self:end;font-weight:900}.voice-control-actions{grid-template-columns:1fr auto;gap:8px;display:grid}.voice-control-actions button{color:#ebedf0;background:#ffffff12;border:1px solid #ffffff2e;border-radius:10px;min-height:42px;padding:0 12px;font-size:.74rem;font-weight:750}.voice-control-actions .ghost-danger{color:#ff9b9b}.session-exit-button{color:#e6e8eb;min-height:42px;top:calc(62px + var(--safe-top));right:calc(14px + var(--safe-right));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#090a0c9e;border:1px solid #fff3;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:.7rem;font-weight:800;display:inline-flex;position:absolute}.session-exit-button span{font-size:1.1rem;font-weight:400}.training-stop-button{min-height:56px;color:var(--white);right:calc(14px + var(--safe-right));bottom:calc(14px + var(--safe-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#090a0cd6;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:10px;padding:0 20px;font-weight:850;display:flex;position:absolute;box-shadow:0 12px 30px #0000005c}.training-stop-icon{background:var(--danger);width:14px;height:14px}.countdown-cancel-button{z-index:120;min-height:48px;color:var(--white);right:calc(14px + var(--safe-right));bottom:calc(18px + var(--safe-bottom));background:#090a0cad;border:1px solid #ffffff40;border-radius:999px;padding:0 18px;font-size:.76rem;font-weight:800;position:absolute}.countdown-overlay{z-index:100;background:linear-gradient(145deg, #ff5b24e0, #af2a04f0), var(--orange);color:var(--white);text-align:center;place-content:center;display:grid;position:fixed;inset:0}.countdown-overlay:before{content:"";border:2px solid #ffffff2e;border-radius:50%;animation:1s ease-in-out infinite countdown-ring;position:absolute;inset:12%}.countdown-label{z-index:1;color:var(--lime);font-size:clamp(.7rem,3vw,1rem)}.countdown-overlay strong{z-index:1;font-family:var(--font-display);letter-spacing:-.1em;text-shadow:8px 8px #090a0c52;font-size:min(58vw,19rem);font-weight:900;line-height:.8}@keyframes countdown-ring{50%{opacity:.35;transform:scale(.93)}}.result-screen{width:100%;min-height:100dvh;padding:calc(22px + var(--safe-top)) max(20px, calc(20px + var(--safe-right))) calc(22px + var(--safe-bottom)) max(20px, calc(20px + var(--safe-left)));color:var(--white);background:radial-gradient(circle at 90% 4%,#d7ff452b,#0000 26%),linear-gradient(145deg,#111318 0 62%,#0a0b0e 62% 100%);grid-template-rows:auto 1fr auto;gap:24px;display:grid;overflow:hidden}.result-screen-completed{background:radial-gradient(circle at 88% 7%,#d7ff453b,#0000 28%),linear-gradient(145deg,#12151a 0 62%,#090a0c 62% 100%)}.result-screen-error{background:radial-gradient(circle at 88% 7%,#ff4b4b33,#0000 28%),linear-gradient(145deg,#171114 0 62%,#090a0c 62% 100%)}.result-screen-header{align-items:center;gap:12px;display:flex}.result-screen-header p{color:#c8cbd0;font-family:var(--font-display);letter-spacing:.12em;margin:0;font-size:.72rem;font-weight:800}.result-panel{grid-template-columns:minmax(0,1.2fr) minmax(190px,.8fr);align-self:center;align-items:center;gap:clamp(24px,6vw,80px);max-width:1100px;margin:0 auto;display:grid}.result-hero{min-width:0}.result-eyebrow{color:var(--lime);font-size:.68rem}.result-hero h1{font-family:var(--font-display);letter-spacing:-.065em;margin:14px 0 0;font-size:clamp(3.1rem,8vw,7.4rem);font-weight:900;line-height:.9}.result-hero p{color:#b7bbc1;max-width:600px;margin:20px 0 0;font-size:clamp(.95rem,1.7vw,1.15rem);font-weight:650;line-height:1.7}.result-count-block{border:2px solid var(--lime);background:var(--orange);align-content:center;min-height:240px;padding:22px;display:grid;position:relative;box-shadow:14px 14px #d7ff452e}.result-count-block>span{color:var(--lime);font-size:.62rem}.result-count-block strong{font-family:var(--font-display);letter-spacing:-.08em;font-size:clamp(6rem,17vw,10rem);font-weight:900;line-height:.75}.result-count-block p{margin:16px 0 0;font-weight:850}.result-values{background:#ffffff2e;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;padding:1px;display:grid}.result-values div{background:#ffffff0d;padding:14px 16px}.result-values dt{color:#999ea7;font-size:.66rem}.result-values dd{font-family:var(--font-display);margin:6px 0 0;font-size:clamp(1.25rem,3vw,2rem);font-weight:850}.result-reset-button{border:1px solid var(--paper);background:var(--paper);width:min(100%,420px);min-height:58px;color:var(--black);justify-self:center;font-weight:900;transition:background .15s,color .15s}.result-reset-button:hover{background:var(--lime)}.debug-panel{color:var(--white)}.debug-panel-overlay{z-index:60;width:min(100% - 28px,620px);max-height:48dvh;bottom:calc(84px + var(--safe-bottom));left:calc(14px + var(--safe-left));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#090a0ce0;border:1px solid #ffffff2b;border-radius:14px;position:absolute;overflow:auto}.debug-panel-overlay:not([open]){width:auto;bottom:calc(18px + var(--safe-bottom));border-radius:999px}.camera-session-running .debug-panel-overlay:not([open]){bottom:calc(19px + var(--safe-bottom))}.debug-panel summary{color:#c6cad0;cursor:pointer;-webkit-user-select:none;user-select:none;padding:11px 14px;font-size:.7rem;font-weight:750}.debug-panel[open] summary{border-bottom:1px solid #ffffff1f}.debug-grid{background:#ffffff1f;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0;padding:1px;display:grid}.debug-grid div{background:#121419;min-width:0;padding:9px 10px}.debug-grid dt{color:#828892;font-size:.58rem}.debug-grid dd{overflow-wrap:anywhere;color:#f2f3f4;margin:4px 0 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.66rem;font-weight:700}.debug-transcript{grid-column:span 2}@media (width<=760px){.start-screen{min-height:100dvh;padding-top:calc(16px + var(--safe-top));grid-template-rows:auto auto auto auto;overflow-y:auto}.start-screen:before{width:52vw;max-height:260px;bottom:auto}.start-hero{grid-template-columns:1fr;gap:12px;min-height:0;padding:clamp(44px,8vh,76px) 0 24px}.start-hero h1{font-size:clamp(3.3rem,15.5vw,5.7rem)}.start-lead{margin-top:20px;font-size:.92rem;line-height:1.75}.start-visual{opacity:.16;width:160px;position:absolute;top:76px;right:-42px}.start-visual-number{display:none}.start-actions{grid-template-columns:1fr}.feature-strip{gap:6px}.feature-strip span{padding:6px 8px;font-size:.58rem}.launch-button{min-height:64px;box-shadow:6px 6px 0 var(--black)}.start-steps{grid-template-columns:1fr}.start-steps li{grid-template-columns:30px 1fr;align-items:center;gap:10px;min-height:auto;padding:10px 12px;display:grid}.start-steps p{margin:0}.privacy-notice{font-size:.64rem}.status-panel{max-width:none}.camera-session-running .status-panel{right:calc(14px + var(--safe-right));max-width:none;padding:10px 13px}.camera-session-running .status-eyebrow{display:none}.camera-session-running .status-main-message{margin-top:0;font-size:.77rem}.training-metrics{width:min(64vw,280px)}.training-count{min-width:132px}.training-count strong{font-size:clamp(3.2rem,16vw,5rem)}.count-feedback{top:calc(132px + var(--safe-top))}.debug-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-panel{grid-template-columns:1fr;gap:28px}.result-count-block{justify-self:end;width:min(70vw,280px);min-height:210px}.result-values{grid-template-columns:1fr}}@media (width<=430px){.start-screen{padding-right:max(14px, calc(14px + var(--safe-right)));padding-left:max(14px, calc(14px + var(--safe-left)))}.brand-emblem{width:44px;height:44px}.start-hero h1{font-size:clamp(3.05rem,15vw,4.25rem)}.camera-overlay-top{top:calc(10px + var(--safe-top));right:calc(10px + var(--safe-right));left:calc(10px + var(--safe-left))}.session-brand{font-size:.56rem}.mediapipe-status{min-height:30px;padding:6px 8px;font-size:.52rem}.status-panel{right:calc(10px + var(--safe-right));left:calc(10px + var(--safe-left));padding:13px 14px}.camera-session-ready .status-panel,.camera-session-listening .status-panel{bottom:calc(260px + var(--safe-bottom))}.voice-control-card{right:calc(10px + var(--safe-right));bottom:calc(10px + var(--safe-bottom));left:calc(10px + var(--safe-left));padding:12px}.manual-start-row{grid-template-columns:92px 1fr}.voice-control-actions{grid-template-columns:1fr 1fr}.training-metrics{top:calc(56px + var(--safe-top));left:calc(10px + var(--safe-left))}.training-stat-row div{padding:7px}.count-feedback{min-width:92px;right:calc(10px + var(--safe-right))}.training-stop-button{min-height:52px;right:calc(10px + var(--safe-right));bottom:calc(10px + var(--safe-bottom));padding:0 16px}.camera-session-running .status-panel{bottom:calc(80px + var(--safe-bottom))}.result-screen{padding-right:max(16px, calc(16px + var(--safe-right)));padding-left:max(16px, calc(16px + var(--safe-left)))}.result-hero h1{font-size:clamp(3rem,15vw,4.6rem)}}@media (orientation:landscape) and (height<=600px){.start-screen{padding-top:calc(12px + var(--safe-top));grid-template-rows:auto 1fr auto;overflow-y:auto}.start-hero{grid-template-columns:minmax(0,1.2fr) minmax(180px,.8fr);min-height:230px;padding:20px 0 10px}.start-hero h1{font-size:clamp(2.6rem,8vw,4.8rem)}.start-lead{max-width:580px;margin-top:12px;font-size:.78rem;line-height:1.55}.start-visual{opacity:1;width:min(26vw,230px);position:relative;top:auto;right:auto}.start-actions{grid-template-columns:minmax(220px,.7fr) minmax(360px,1.3fr)}.start-steps li{min-height:68px;padding:9px}.start-screen .privacy-notice{display:none}.camera-frame-top-left,.camera-frame-top-right{top:calc(54px + var(--safe-top))}.camera-frame-bottom-left,.camera-frame-bottom-right{bottom:calc(72px + var(--safe-bottom))}.status-panel{right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));width:min(44vw,460px);padding:11px 13px;left:auto}.camera-session-ready .status-panel,.camera-session-listening .status-panel{right:calc(45vw + var(--safe-right));bottom:calc(12px + var(--safe-bottom));left:calc(12px + var(--safe-left));width:auto}.voice-control-card{width:min(43vw,480px);right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));left:auto}.training-metrics{width:min(36vw,270px);top:calc(50px + var(--safe-top))}.training-count strong{font-size:clamp(2.8rem,10vh,4.4rem)}.camera-session-running .status-panel{right:auto;bottom:calc(12px + var(--safe-bottom));left:calc(12px + var(--safe-left));width:min(50vw,440px)}.training-stop-button{min-height:46px;bottom:calc(12px + var(--safe-bottom))}.count-feedback{min-width:88px;top:calc(62px + var(--safe-top))}.count-feedback strong{font-size:clamp(4rem,22vh,6.5rem)}.result-screen{padding-top:calc(12px + var(--safe-top));overflow-y:auto}.result-panel{grid-template-columns:1.2fr .8fr;gap:24px}.result-hero h1{font-size:clamp(2.8rem,10vh,5.2rem)}.result-count-block{min-height:160px}.result-count-block strong{font-size:clamp(4.8rem,22vh,7rem)}.result-values{display:none}.result-reset-button{min-height:48px}.debug-panel-overlay{max-height:64dvh}}@media (width>=1100px){.status-panel,.voice-control-card{left:50%;transform:translate(-50%)}.camera-session-ready .status-panel,.camera-session-listening .status-panel{left:50%}.camera-session-running .status-panel{left:calc(18px + var(--safe-left));transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
