: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;--black:#090a0c;--black-soft:#121419;--graphite:#1a1d23;--paper:#f4f3ec;--paper-muted:#d6d5cc;--orange:#ff5b24;--orange-dark:#d84212;--lime:#d7ff45;--white:#fff;--danger:#ff6262;--warning:#ffc547;--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,body,#root{background:var(--black);min-width:320px;min-height:100%;margin:0}body{min-height:100dvh;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:.48}.app-title,.home-kicker,.desktop-mode-label,.desktop-session-header p:last-child,.desktop-result-header p:last-child,.training-count span,.count-feedback-label,.result-values dt,.audio-credit{font-family:var(--font-display);letter-spacing:.08em;font-weight:900}.app-title{letter-spacing:-.055em;margin:0;font-size:clamp(2rem,5vw,5.2rem);font-weight:950;line-height:.9}.home-kicker{color:var(--orange-dark);letter-spacing:.16em;margin:0 0 14px;font-size:.76rem}.home-lead{color:#414349;margin:24px 0 0;font-size:clamp(1rem,2vw,1.3rem);font-weight:700;line-height:1.75}.primary-start-button{background:var(--orange);width:100%;min-height:108px;color:var(--white);box-shadow:8px 8px 0 var(--black);font-family:var(--font-display);letter-spacing:-.02em;text-align:center;place-content:center;padding:18px 26px;font-size:clamp(1.75rem,4vw,2.65rem);font-weight:950;line-height:1.04;transition:transform .14s,box-shadow .14s,background .14s;display:grid}.primary-start-button:hover{box-shadow:4px 4px 0 var(--black);background:#ed4913;transform:translate(4px,4px)}.voice-support-note{color:#4b4d52;margin:16px 0 0;font-size:.92rem;font-weight:750;line-height:1.55}.audio-credit,.privacy-notice{margin:0;font-size:.68rem;line-height:1.6}.privacy-notice{color:#55585e}.audio-credit{color:#575a60}.camera-panel,.camera-stage{width:100%;height:100%}.camera-stage{background:radial-gradient(circle at 50% 40%,#292d34 0,#15171c 52%,#090a0c 100%);position:relative;overflow:hidden}.camera-ambient{z-index:0;pointer-events:none;background:radial-gradient(circle at 18% 8%,#ff5b2429,#0000 34%),radial-gradient(circle at 84% 85%,#d7ff4517,#0000 34%);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(#0000008f 0,#0000 18% 70%,#000000d1 100%);position:absolute;inset:0}.camera-placeholder{z-index:5;color:var(--white);text-align:center;place-content:center;gap:12px;padding:24px;display:grid;position:absolute;inset:0}.camera-placeholder strong{font-size:clamp(1.35rem,4vw,2rem)}.camera-placeholder span{color:#c1c4ca;font-size:.94rem}.camera-overlay{z-index:10;pointer-events:none;position:absolute;inset:0}.status-panel{color:var(--white);gap:14px;display:grid}.status-main-message{margin:0;font-weight:900;line-height:1.35}.calibration-progress{gap:8px;display:grid}.calibration-progress-label{justify-content:space-between;align-items:center;gap:12px;font-size:1rem;font-weight:800;display:flex}.calibration-progress progress{background:#ffffff29;border:0;border-radius:99px;width:100%;height:10px;overflow:hidden}.calibration-progress progress::-webkit-progress-bar{background:#ffffff29}.calibration-progress progress::-webkit-progress-value{background:var(--lime)}.transcript-line{gap:4px;margin:0;display:grid}.transcript-line span{color:#b8bcc4;font-size:.78rem}.error-box{border-left:4px solid var(--danger);background:#530c0cc2;padding:12px 14px}.error-box p{margin:5px 0 0}.training-metrics{z-index:12}.training-count{gap:6px;display:grid}.training-count strong{color:var(--white);font-family:var(--font-display);letter-spacing:-.08em;font-weight:950;line-height:.78}.training-count span{color:var(--lime);text-shadow:0 3px 14px #000c}.count-feedback{z-index:20;pointer-events:none;place-items:center;animation:.9s ease-out forwards rep-pop;display:grid;position:absolute}.count-feedback-label{color:var(--lime);font-size:.72rem}.count-feedback strong{font-family:var(--font-display);text-shadow:0 7px 30px #000000bf;font-size:clamp(5rem,15vw,9rem);font-weight:950;line-height:.8}@keyframes rep-pop{0%{opacity:0;transform:translateY(16px)scale(.72)}20%{opacity:1;transform:translateY(0)scale(1.08)}60%{opacity:1;transform:translateY(-6px)scale(1)}to{opacity:0;transform:translateY(-32px)scale(.94)}}.control-panel{z-index:15}.voice-control-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050608d1;border:1px solid #ffffff2e;border-radius:20px;gap:12px;padding:18px;display:grid}.voice-command-example{color:var(--white);font-family:var(--font-display);text-align:center;font-size:clamp(2rem,7vw,3.3rem);font-weight:950;line-height:1}.voice-retry-button,.voice-cancel-button,.manual-start-button,.countdown-cancel-button,.session-exit-button,.training-stop-button,.result-reset-button{border-radius:999px;min-height:52px;padding:0 18px;font-weight:900}.voice-retry-button,.manual-start-button{background:var(--orange);color:var(--white)}.voice-cancel-button,.countdown-cancel-button,.session-exit-button{color:var(--white);background:#ffffff1a}.manual-start-disclosure{border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;padding:8px 0}.manual-start-disclosure summary{cursor:pointer;color:#d7dae0;text-align:center;min-height:42px;font-weight:850;line-height:42px}.manual-start-row{gap:10px;display:grid}.manual-target{gap:6px;display:grid}.manual-target span{color:#bdc1c8;font-size:.82rem}.manual-target input{width:100%;min-height:48px;color:var(--white);background:#111319;border:1px solid #ffffff38;border-radius:10px;padding:0 12px}.training-stop-button{background:var(--orange);color:var(--white);justify-content:center;align-items:center;gap:10px;font-size:1.05rem;display:flex}.training-stop-icon{background:currentColor;width:13px;height:13px}.countdown-overlay{z-index:30;color:var(--white);background:#00000073;place-items:center;display:grid;position:absolute;inset:0}.countdown-overlay strong{font-family:var(--font-display);text-shadow:0 10px 40px #000000bf;font-size:clamp(8rem,28vw,18rem);font-weight:950;line-height:1}.debug-panel{color:var(--white);font-size:.78rem}.debug-panel summary{cursor:pointer;font-weight:850}.debug-panel-overlay{z-index:40;top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right));background:#000000c2;border-radius:10px;max-width:min(86vw,520px);padding:10px 12px;position:absolute}.debug-panel-inline{background:#101217;border:1px solid #30343d;border-radius:14px;padding:14px}.debug-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0 0;display:grid}.debug-grid div{background:#ffffff0d;padding:8px}.debug-grid dt{color:#9fa4ae}.debug-grid dd{overflow-wrap:anywhere;margin:3px 0 0}.debug-transcript{grid-column:1/-1}.result-panel{color:var(--white);display:grid}.result-hero h1{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-weight:950;line-height:.96}.result-hero p{color:#ffb3b3;max-width:680px;margin:16px 0 0;font-weight:750;line-height:1.6}.result-count-block{background:var(--orange);color:var(--white);text-align:center;place-content:center;display:grid}.result-count-block strong{font-family:var(--font-display);font-weight:950;line-height:.8}.result-count-block p{margin:12px 0 0;font-weight:900}.result-values{margin:0;display:grid}.result-values div{background:#ffffff0f}.result-values dt{color:#aeb2ba;font-size:.72rem}.result-values dd{font-family:var(--font-display);margin:8px 0 0;font-weight:950}.result-reset-button{background:var(--lime);color:var(--black);font-size:1.08rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.mobile-start-screen{min-height:100dvh;padding:calc(22px + var(--safe-top)) max(20px, calc(20px + var(--safe-right))) max(22px, calc(18px + var(--safe-bottom))) max(20px, calc(20px + var(--safe-left)));background:radial-gradient(circle at 88% 18%, #ff5b2442, transparent 30%), linear-gradient(150deg, var(--paper) 0 72%, #e7e6dc 72% 100%);color:var(--black);grid-template-rows:auto 1fr auto auto;gap:20px;display:grid;position:relative;overflow-y:auto}.mobile-home-header{z-index:1;position:relative}.mobile-home-header .app-title{max-width:95%;font-size:clamp(2.35rem,11vw,4rem)}.mobile-home-hero{align-self:center;padding:14px 0}.mobile-home-hero h1{font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3.15rem,16.5vw,5.4rem);font-weight:950;line-height:.9}.mobile-home-actions{align-self:end}.mobile-home-footer{gap:7px;padding-top:4px;display:grid}.mobile-camera-session{background:var(--black);width:100%;height:100dvh;min-height:480px;color:var(--white);position:relative;overflow:hidden}.mobile-camera-session .status-panel{right:calc(12px + var(--safe-right));bottom:calc(26px + var(--safe-bottom));left:calc(12px + var(--safe-left));z-index:12;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050608c7;border:1px solid #ffffff2e;border-radius:20px;padding:18px;position:absolute}.mobile-camera-session .status-main-message{text-align:center;font-size:clamp(1.65rem,7vw,2.4rem)}.mobile-camera-session.camera-session-ready .status-panel,.mobile-camera-session.camera-session-listening .status-panel{bottom:calc(230px + var(--safe-bottom))}.mobile-camera-session.camera-session-running .status-panel{bottom:calc(92px + var(--safe-bottom));background:#490606d1;border-color:#ff62628f}.mobile-camera-session .control-panel{z-index:16;position:absolute}.mobile-camera-session .control-panel-ready,.mobile-camera-session .control-panel-listening{right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));left:calc(12px + var(--safe-left))}.mobile-camera-session .control-panel-preparing,.mobile-camera-session .control-panel-calibrating{top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right))}.mobile-camera-session .control-panel-countdown{bottom:calc(18px + var(--safe-bottom));left:50%;transform:translate(-50%)}.mobile-camera-session .control-panel-running{right:calc(12px + var(--safe-right));bottom:calc(12px + var(--safe-bottom));left:calc(12px + var(--safe-left))}.mobile-camera-session .training-stop-button{width:100%;min-height:60px}.mobile-camera-session .training-metrics{top:calc(20px + var(--safe-top));left:calc(16px + var(--safe-left));position:absolute}.mobile-camera-session .training-count strong{text-shadow:0 5px 28px #000000b8;font-size:clamp(6.4rem,29vw,9rem)}.mobile-camera-session .training-count span{margin-top:10px;font-size:clamp(1.25rem,5vw,1.75rem)}.mobile-camera-session .count-feedback{top:24%;right:8%}.mobile-result-screen{min-height:100dvh;padding:calc(22px + var(--safe-top)) max(18px, calc(18px + var(--safe-right))) max(92px, calc(72px + var(--safe-bottom))) max(18px, calc(18px + var(--safe-left)));background:radial-gradient(circle at 88% 16%, #ff5b2433, transparent 28%), var(--black);grid-template-rows:auto 1fr auto auto;gap:20px;display:grid;overflow-y:auto}.result-app-title{font-family:var(--font-display);letter-spacing:-.05em;margin:0;font-size:clamp(2rem,9vw,3.2rem);font-weight:950}.mobile-result-screen .result-panel{grid-template-columns:1fr;align-content:center;gap:20px}.mobile-result-screen .result-hero h1{font-size:clamp(3.5rem,16vw,5.6rem)}.mobile-result-screen .result-count-block{justify-self:center;width:min(64vw,250px);min-height:180px}.mobile-result-screen .result-count-block strong{font-size:clamp(5.5rem,23vw,8rem)}.mobile-result-screen .result-values{background:#2b2e35;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.mobile-result-screen .result-values div{text-align:center;padding:13px 8px}.mobile-result-screen .result-values dd{font-size:clamp(1rem,4.5vw,1.35rem)}.mobile-result-screen .result-reset-button{min-height:60px}.mobile-result-screen .result-audio-credit{text-align:center}@media (width<=420px){.mobile-start-screen{gap:14px}.mobile-home-header .app-title{font-size:clamp(2.05rem,10.5vw,3.3rem)}.mobile-home-hero h1{font-size:clamp(3rem,15.8vw,4.45rem)}.home-lead{margin-top:18px;font-size:.98rem}.primary-start-button{min-height:100px;font-size:clamp(1.7rem,8vw,2.25rem)}.voice-support-note{font-size:.86rem}.mobile-result-screen .result-values dt{font-size:.64rem}}@media (orientation:landscape) and (height<=620px){.mobile-start-screen{grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);column-gap:34px}.mobile-home-header,.mobile-home-footer{grid-column:1/-1}.mobile-home-hero{padding:0}.mobile-home-hero h1{font-size:clamp(3rem,9vw,4.8rem)}.mobile-home-actions{align-self:center}.mobile-camera-session .status-panel{right:calc(14px + var(--safe-right));bottom:calc(14px + var(--safe-bottom));width:min(44vw,520px);left:auto}.mobile-camera-session.camera-session-ready .status-panel,.mobile-camera-session.camera-session-listening .status-panel{right:calc(46vw + var(--safe-right));bottom:calc(14px + var(--safe-bottom));left:calc(14px + var(--safe-left));width:auto}.mobile-camera-session .control-panel-ready,.mobile-camera-session .control-panel-listening{right:calc(14px + var(--safe-right));bottom:calc(14px + var(--safe-bottom));width:min(42vw,430px);left:auto}}.desktop-start-screen{background:linear-gradient(115deg, transparent 0 64%, #d7ff45d1 64% 100%), radial-gradient(circle at 76% 22%, #ff5b2442, transparent 28%), var(--paper);min-height:100vh;color:var(--black);grid-template-rows:auto 1fr auto;gap:clamp(24px,4vh,46px);padding:clamp(28px,4vw,64px);display:grid}.desktop-home-header{justify-content:space-between;align-items:end;gap:30px;display:flex}.desktop-home-header .app-title{font-size:clamp(3.2rem,6vw,7.4rem)}.desktop-mode-label{margin:0 0 7px;font-size:.76rem}.desktop-home-grid{grid-template-columns:minmax(0,1.4fr) minmax(340px,.6fr);align-items:center;gap:clamp(36px,6vw,96px);display:grid}.desktop-home-hero h1{font-family:var(--font-display);letter-spacing:-.07em;margin:0;font-size:clamp(5rem,8.8vw,10.5rem);font-weight:950;line-height:.86}.desktop-launch-card{border:2px solid var(--black);box-shadow:14px 14px 0 var(--black);background:#f4f3ece0;padding:clamp(28px,3.4vw,46px);position:relative}.desktop-launch-number{color:var(--orange);font-family:var(--font-display);margin:0 0 20px;font-size:4.6rem;font-weight:950;line-height:.8}.desktop-launch-card h2{margin:0;font-size:clamp(1.8rem,2.4vw,2.8rem)}.desktop-launch-card>p:not(.desktop-launch-number,.voice-support-note){color:#45474c;margin:16px 0 26px;font-weight:700;line-height:1.7}.desktop-home-footer{justify-content:space-between;align-items:end;gap:40px;display:flex}.desktop-home-footer .privacy-notice{text-align:right;max-width:680px}.desktop-camera-session{background:var(--black);width:100%;height:100vh;min-height:650px;color:var(--white);grid-template-columns:minmax(0,1.75fr) minmax(330px,.65fr);display:grid;overflow:hidden}.desktop-camera-column{border-right:1px solid #2d3037;min-width:0;position:relative;overflow:hidden}.desktop-camera-column .camera-panel{height:100%}.desktop-camera-column .count-feedback{top:24%;right:8%}.desktop-session-sidebar{background:#101217;grid-template-rows:auto 1fr auto;min-width:0;display:grid;overflow-y:auto}.desktop-session-header{border-bottom:1px solid #2b2e35;padding:26px 28px 22px}.desktop-session-header .app-title{font-size:clamp(2.25rem,3vw,4.1rem)}.desktop-session-header p:last-child{color:var(--orange);margin:12px 0 0;font-size:.72rem}.desktop-session-content{align-content:start;gap:22px;padding:28px;display:grid}.desktop-session-content .status-panel{border-left:5px solid var(--orange);background:#191c22;padding:22px}.desktop-session-content .status-main-message{font-size:clamp(1.7rem,2.5vw,2.6rem)}.desktop-session-content .training-metrics{background:#191c22;padding:22px}.desktop-session-content .training-count strong{font-size:clamp(7rem,10vw,11rem)}.desktop-session-content .training-count span{margin-top:12px;font-size:clamp(1.5rem,2.1vw,2.2rem)}.desktop-session-content .control-panel{position:static}.desktop-session-content .session-exit-button,.desktop-session-content .countdown-cancel-button,.desktop-session-content .training-stop-button{width:100%;min-height:58px}.desktop-detection-warning{border-left:5px solid var(--danger);background:#3b1115;margin:0;padding:16px 18px;font-size:1.2rem;font-weight:900}.desktop-session-credit{color:#9197a1;border-top:1px solid #2b2e35;padding:18px 28px 24px}.desktop-result-screen{background:radial-gradient(circle at 84% 16%, #ff5b2433, transparent 26%), var(--black);grid-template-rows:auto 1fr auto;gap:28px;min-height:100vh;padding:clamp(30px,4vw,64px);display:grid}.desktop-result-header{justify-content:space-between;align-items:end;display:flex}.desktop-result-header .app-title{font-size:clamp(3rem,5vw,6.2rem)}.desktop-result-header p:last-child{color:var(--orange);margin:0 0 7px;font-size:.76rem}.desktop-result-screen .result-panel{grid-template-columns:minmax(0,1.15fr) minmax(300px,.55fr);align-items:center;gap:clamp(28px,6vw,84px)}.desktop-result-screen .result-hero h1{font-size:clamp(5rem,8vw,10rem)}.desktop-result-screen .result-count-block{min-height:310px}.desktop-result-screen .result-count-block strong{font-size:clamp(8rem,12vw,13rem)}.desktop-result-screen .result-values{background:#2b2e35;grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.desktop-result-screen .result-values div{padding:22px}.desktop-result-screen .result-values dd{font-size:clamp(1.6rem,2.8vw,3rem)}.desktop-result-actions{justify-content:space-between;align-items:center;gap:30px;display:flex}.desktop-result-actions .result-reset-button{min-width:320px;min-height:62px}.desktop-result-actions .result-audio-credit{color:#8e949e}@media (width<=1120px){.desktop-camera-session{grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr)}.desktop-home-grid{grid-template-columns:minmax(0,1fr) minmax(330px,.72fr)}}
