:root{color-scheme:dark;--bg:#05070b;--panel:#0a0e15;--raised:#121d2d;--border:#253142;--text:#f4f7fb;--muted:#98a6ba;--accent:#4c91ff;--blue:#1268ff;--mono:Consolas,'SFMono-Regular','Liberation Mono',monospace;--font:'Segoe UI','Yu Gothic UI','Meiryo',sans-serif;font-family:var(--font);font-size:16px;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 85% 0,rgba(18,104,255,.11),transparent 38%),linear-gradient(115deg,transparent 42%,rgba(76,145,255,.035) 42.1%,transparent 42.2%),var(--bg)}button,input,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.38}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h2{font-size:1.05rem}h3{font-size:1rem}svg{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}fieldset{padding:0;border:0;margin:0}legend,label{font-size:.875rem;font-weight:600}legend{margin-bottom:12px}kbd{font-family:var(--mono);font-size:.8rem}.muted{color:var(--muted)}
.site-header{max-width:1440px;margin:0 auto;padding:25px 48px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-size:1.2rem;letter-spacing:.03em;font-weight:800}.brand-light{font-weight:800;margin-left:0;color:var(--text)}.header-right{display:flex;gap:26px;align-items:center}.lab-tag{font: .75rem var(--mono);border:1px solid var(--border);padding:6px 9px;color:#bec7cc}.lab-tag span{color:var(--accent);margin-left:10px}.maker{font: .75rem var(--mono);letter-spacing:.08em;color:var(--muted)}
main{max-width:1344px;margin:auto;padding:38px 0 0}.intro{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px;gap:20px;border-left:2px solid var(--blue);padding:4px 0 4px 22px}.eyebrow{font: .7rem var(--mono);letter-spacing:.16em;color:var(--accent);margin-bottom:15px}h1{font-family:Arial,"Segoe UI",sans-serif;font-size:clamp(2.7rem,5vw,4.4rem);letter-spacing:-.055em;line-height:1.1;font-weight:400}h1>span{font-weight:800}.title-period{color:var(--accent)}.subtitle{color:var(--muted);font-size:.875rem;margin-top:10px}.text-link{font-size:.875rem;color:#bdc7cf;white-space:nowrap;margin-bottom:3px}.text-link span{margin-left:12px}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:3px}.settings{padding:24px}.section-heading{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.section-index{font:.75rem var(--mono);color:var(--muted);letter-spacing:.035em}.settings .section-heading{justify-content:space-between;margin-bottom:27px}.device-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.device{font-size:.75rem;display:flex;align-items:center;flex-direction:column;gap:8px;padding:15px 3px;background:transparent;border:1px solid var(--border);border-radius:3px;color:#aab5be}.device svg{width:24px;height:24px}.device.active{color:var(--accent);background:#1268ff15;border-color:#4c91ff}.device:hover,.duration-options button:hover{background:#ffffff08}.settings fieldset{margin-bottom:25px}.duration-options{display:flex;border:1px solid var(--border);padding:4px;border-radius:3px;gap:4px}.duration-options button{flex:1;border:0;background:none;border-radius:4px;padding:8px;font:1.1rem var(--mono);color:var(--muted)}.duration-options span{font:.75rem var(--font);margin-left:5px}.duration-options .active{background:#1b3153;color:var(--text);box-shadow:inset 0 -2px var(--accent)}.binding-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.binding-header label .muted{font-size:.75rem;font-weight:400;margin-left:5px}.text-button{background:none;border:0;padding:0;color:var(--muted);font-size:.75rem}.text-button:hover{color:var(--accent)}.bindings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.binding{min-width:0;display:flex;align-items:stretch;border:1px solid var(--border);border-radius:3px;overflow:hidden}.binding-key{border:0;background:#101722;text-align:left;min-width:0;flex:1;padding:9px 6px 9px 11px;display:flex;gap:9px;align-items:center}.binding-num{font:.7rem var(--mono);color:#72808b}.binding-name{font:.875rem var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.binding-clear{border:0;padding:3px 7px;background:#101722;color:var(--muted)}.binding.capturing{border-color:var(--accent)}.binding.held{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.hint{font-size:.75rem;color:var(--muted);line-height:1.8}.settings .hint{margin-top:11px;min-height:42px}.setup-note{display:flex;align-items:flex-start;gap:10px;border-top:1px solid var(--border);padding-top:18px;margin-top:18px;color:var(--muted);font-size:.75rem;line-height:1.8}.note-icon{border:1px solid #69757f;border-radius:50%;width:15px;height:15px;line-height:13px;text-align:center;flex-shrink:0;margin-top:4px;font: .7rem var(--mono)}#gamepad-settings{margin-bottom:22px}#gamepad-select{display:block;width:100%;padding:10px;margin-top:10px;background:var(--raised);border:1px solid var(--border);border-radius:3px;color:var(--text);font-size:.8rem}
.measurement{padding:23px 30px 0;overflow:hidden;position:relative}.measurement-top{display:flex;justify-content:space-between;align-items:center}.status-pill{font:.75rem var(--mono);letter-spacing:.06em;color:var(--accent);display:flex;align-items:center;gap:8px}.status-pill:before{content:'';width:6px;height:6px;background:currentColor;border-radius:50%}.status-pill[data-state='interrupted']{color:#f7bc77}.meter-row{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:13px 0 17px}.counter{display:flex;align-items:baseline;gap:20px;line-height:1}.counter>span:first-child{font:clamp(5rem,8vw,7.5rem)/1.1 var(--mono);font-weight:600;letter-spacing:-.07em}.counter .unit{font: .875rem var(--mono);letter-spacing:.08em;color:var(--muted)}.time-display{text-align:right}.metric-label{font-size:.8rem;color:#aab6bf}.time-display>div{margin:8px 0}.time-display #time-left{font:clamp(1.8rem,3vw,2.5rem)/1 var(--mono);letter-spacing:-.03em}.time-unit{font:.875rem var(--mono);color:var(--muted);margin-left:6px}#live-cps{font:.8rem var(--mono);color:var(--muted)}.progress-track{height:3px;background:#2b3339;overflow:hidden}#progress-fill{background:var(--accent);height:100%;width:0;transition:width .08s linear}.tap-zone{min-height:172px;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:17px 0 18px;outline-offset:0!important;border:1px dashed #38424a;border-radius:3px;user-select:none;-webkit-user-select:none;touch-action:manipulation}.tap-symbol{color:var(--accent);font:1.5rem var(--mono);display:inline-flex;width:34px;height:34px;border:1px solid #355c91;background:#1268ff12;border-radius:3px;align-items:center;justify-content:center;margin-bottom:11px}#tap-title{font-size:.95rem;font-weight:600}#tap-subtitle{display:block;font-size:.75rem;color:var(--muted);line-height:1.7;margin:8px 12px 0}.input-lights{display:flex;gap:5px;margin-top:13px}.input-light{height:3px;width:22px;background:#46515a}.input-light.held{background:var(--accent)}.tap-zone.running{border-color:#4c91ff;background:#1268ff08}.tap-zone.pulse{background:#1268ff24}#countdown{font:5rem var(--mono);color:var(--accent);line-height:1}.session-actions{display:flex;justify-content:center;gap:12px}.primary-button{border:0;border-radius:3px;background:var(--blue);color:#fff;min-height:48px;width:100%;font-size:.95rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:30px}.primary-button:hover{background:#2878ff}.primary-button span{font-size:1.3rem}.secondary-button{background:var(--raised);border:1px solid var(--border);border-radius:3px;min-height:48px;padding:0 24px;font-size:.875rem}.secondary-button kbd{margin-left:16px;color:var(--muted)}.session-message{text-align:center;color:var(--muted);font-size:.75rem;line-height:1.7;margin:10px 0 17px;min-height:21px}.diagnostics{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 -30px;background:#080c12;border-top:1px solid var(--border);padding:13px 30px;font-size:.75rem;color:var(--muted)}.diagnostics strong{font: .8rem var(--mono);color:#c7d0d7;font-weight:400;margin:0 3px}.tiny-mark{display:inline-block;width:5px;height:5px;background:#4c91ff;margin-right:5px}#local-label{color:#7f8c96}
.results{margin-top:35px}.results-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:20px}.result-label{font-size:.75rem;color:var(--muted);border-left:1px solid var(--border);padding-left:16px}.export-actions{display:flex;gap:8px}.export-button{background:none;border:1px solid var(--border);border-radius:3px;padding:8px 13px;font: .8rem var(--mono)}.export-button span{margin-left:10px}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border);border-radius:3px;background:var(--panel);margin-bottom:18px}.summary-grid article{padding:23px 26px;border-left:1px solid var(--border)}.summary-grid article:first-child{border-left:0}.summary-grid p{margin:11px 0 7px}.summary-grid strong{font:2rem var(--mono);letter-spacing:-.04em;font-weight:500}.summary-grid article:first-child strong{color:var(--accent)}.summary-grid p>span{font: .8rem var(--mono);color:var(--muted);margin-left:8px}.metric-footnote{font-size:.75rem;color:var(--muted)}.chart-panel{padding:23px 26px}.chart-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.chart-heading .muted{font:.75rem var(--mono)}.chart-empty{display:flex;align-items:center;flex-direction:column;justify-content:center;min-height:195px;color:#a3afb8;font-size:.8rem;text-align:center}.chart-empty>span:last-child{font-size:.75rem;color:#6f7e88;margin-top:8px}.empty-bars{display:flex;align-items:flex-end;gap:6px;height:37px;margin-bottom:19px}.empty-bars i{width:7px;background:#253d61;height:60%;border-radius:2px}.empty-bars i:nth-child(2){height:80%}.empty-bars i:nth-child(3){height:45%}.empty-bars i:nth-child(4){height:100%}.empty-bars i:nth-child(5){height:72%}.empty-bars i:nth-child(6){height:50%}.empty-bars i:nth-child(7){height:85%}#chart{padding-top:17px;overflow:hidden}#chart svg{display:block;width:100%;height:215px;stroke:none;fill:currentColor}.chart-grid{stroke:#253142;stroke-width:1;stroke-dasharray:3 4}.chart-axis-label{fill:#97a5ae;font:12px var(--mono)}.chart-bar{fill:var(--accent)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.detail-panel{padding:22px 26px}.detail-panel h3{margin-bottom:20px}.binding-result{display:flex;justify-content:space-between;align-items:center;font-size:.875rem;padding:10px 0;border-top:1px solid var(--border)}.binding-result span:last-child{font-family:var(--mono);color:var(--accent)}dl{margin:0;font-size:.8rem}dl>div{display:flex;justify-content:space-between;gap:20px;padding:8px 0}dt{color:var(--muted)}dd{margin:0;font-family:var(--mono)}.notice{padding:14px 18px;border:1px solid #355c91;background:#1268ff10;border-radius:3px;margin-top:18px;font-size:.8rem;line-height:1.8;color:#bbd1f2}.notice.warning{border-color:#876441;background:#c98a3b08;color:#e5bd91}#app-error{margin:0 0 20px;border-color:#876441;color:#e5bd91}.raw-data{padding:18px 26px;margin-bottom:14px}.raw-data summary{font-size:.875rem;cursor:pointer;color:#bcc7ce}.table-scroll{max-height:280px;overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;font:.8rem var(--mono);text-align:left}th,td{padding:9px 12px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-family:var(--font);font-weight:500}.about{display:grid;grid-template-columns:1fr 1.5fr;gap:65px;margin:48px 0 42px;padding-top:31px;border-top:1px solid var(--border)}.about h2{font-size:1.15rem;line-height:1.7}.about-copy{font-size:.8rem;line-height:1.9;color:#9ba8b2}.about-copy p+p{margin-top:12px}.privacy-note{color:#77868f}footer{max-width:1440px;margin:auto;border-top:1px solid var(--border);padding:24px 48px;display:flex;justify-content:space-between;gap:20px;align-items:center;font:.7rem var(--mono);color:#a4b0b9;letter-spacing:.04em}.footer-brand{font-weight:700;color:#c4ced4}body.is-busy .settings{opacity:.65}
@media(min-width:1100px) and (max-width:1450px){main{margin:0 48px}.workspace{grid-template-columns:320px minmax(0,1fr)}}
@media(max-width:1099px){.site-header{padding:20px 28px}main{padding:30px 28px 0}.workspace{grid-template-columns:300px minmax(0,1fr);gap:16px}.settings{padding:20px}.measurement{padding:23px 24px 0}.diagnostics{margin:0 -24px;padding:13px 24px;flex-wrap:wrap}.counter>span:first-child{font-size:5.7rem}.counter{gap:12px}.counter .unit{font-size:.75rem}.meter-row{gap:14px}.tap-zone{min-height:185px}.summary-grid article{padding:21px 18px}.about{gap:35px}.header-right{gap:15px}footer{padding:24px 28px}#local-label{display:none}}
@media(max-width:780px){.maker{display:none}.intro{align-items:flex-start}.intro .text-link{display:none}.workspace{grid-template-columns:1fr}.settings{padding:22px}.settings .section-heading{margin-bottom:20px}.device-options{gap:10px}.device{flex-direction:row;justify-content:center;font-size:.85rem;padding:12px}.bindings{grid-template-columns:repeat(4,minmax(0,1fr))}.binding-key{padding-left:8px;gap:7px}.binding-num{display:none}.setup-note{display:none}.settings .hint{min-height:0}.settings fieldset{margin-bottom:20px}.measurement{padding:23px 24px 0}.meter-row{padding-top:12px}.counter>span:first-child{font-size:6rem}.tap-zone{min-height:166px}.diagnostics{flex-wrap:nowrap}.summary-grid{grid-template-columns:1fr 1fr}.summary-grid article:nth-child(3){border-left:0;border-top:1px solid var(--border)}.summary-grid article:nth-child(4){border-top:1px solid var(--border)}.result-label{display:none}.detail-grid{grid-template-columns:1fr}.about{grid-template-columns:1fr;gap:20px;margin-top:35px}.results .section-index{display:none}footer>span:last-child{display:none}}
@media(max-width:450px){.site-header{padding:18px 18px}.brand{font-size:1rem;gap:8px}.lab-tag{font-size:.65rem}main{padding:26px 16px 0}.intro{margin-bottom:23px}h1{font-size:clamp(2.2rem,10vw,2.8rem)}.subtitle{font-size:.78rem;line-height:1.9}.settings{padding:19px 17px}.device{font-size:.75rem;gap:7px}.device svg{width:20px;height:20px}.bindings{grid-template-columns:repeat(2,minmax(0,1fr))}.binding-num{display:inline}.measurement{padding:21px 20px 0}.counter>span:first-child{font-size:4.8rem}.counter{gap:10px}.time-display #time-left{font-size:1.8rem}.metric-label{font-size:.75rem}.diagnostics{margin:0 -20px;padding:13px 20px;font-size:.65rem;gap:6px}.diagnostics strong{font-size:.75rem}.summary-grid article{padding:18px 15px}.summary-grid strong{font-size:1.75rem}.metric-footnote{font-size:.65rem}.chart-panel{padding:20px 17px}.chart-heading h3{font-size:.875rem}.chart-heading .muted{font-size:.65rem}.export-button{padding:8px 10px}.results-heading{gap:10px}.chart-empty{min-height:180px}.chart-empty p{font-size:.75rem}.about h2{font-size:1rem}footer{padding:23px 18px;flex-wrap:wrap;font-size:.65rem}.detail-panel,.raw-data{padding:20px 18px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:450px){.device{flex-direction:column;gap:8px;white-space:nowrap}.device svg{flex-shrink:0}}
.pad-navigation-help{margin:-8px 0 22px;padding:12px 16px;border:1px solid #355c91;border-radius:3px;background:#1268ff10;color:#bbd1f2;font-size:.8rem;line-height:1.85}
.pad-focus{outline:3px solid var(--accent)!important;outline-offset:4px!important;box-shadow:0 0 0 7px #4c91ff25!important;position:relative;z-index:1}
.binding:has(.pad-focus){overflow:visible;border-color:var(--accent)}
body.is-busy .pad-focus{outline:none!important;box-shadow:none!important}

/* NOTTO GAMES identity: official logo, night surfaces, electric blue, fine rules. */
.brand-group{display:flex;align-items:center;gap:26px;min-width:0}
.studio-brand{display:block;width:148px;flex-shrink:0}
.studio-brand img,.footer-brand img{display:block;width:100%;height:auto}
.studio-brand img{filter:drop-shadow(0 0 15px #1268ff20)}
.brand{border-left:1px solid var(--border);padding-left:26px;gap:0;white-space:nowrap;font-family:Arial,'Segoe UI',sans-serif;font-weight:400;letter-spacing:-.035em}
.maker:hover,.text-link:hover{color:var(--accent)}
.intro-lead{margin-top:15px;font-size:1.15rem;font-weight:600;letter-spacing:.06em}
.text-link{display:flex;align-items:center;gap:22px;border-bottom:1px solid #596576;padding-bottom:12px;font-size:.8rem}
.text-link span:last-child{display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;width:30px;height:30px;margin:0}
.measurement{border-top:2px solid var(--blue)}
.footer-brand{display:block;width:112px;flex-shrink:0}
::selection{color:#fff;background:var(--blue)}
@media(max-width:780px){.brand-group{gap:18px}.studio-brand{width:120px}.brand{padding-left:18px;font-size:1rem}.intro{padding-left:18px}}
@media(max-width:450px){.site-header{padding:18px 16px}.brand-group{gap:12px}.studio-brand{width:104px}.brand{padding-left:12px;font-size:.95rem}.lab-tag{font-size:.6rem;padding:5px 6px}.lab-tag span{margin-left:4px}.intro{padding-left:14px}.intro-lead{font-size:1rem}.eyebrow{font-size:.62rem}.footer-brand{width:96px}}
@media(max-width:360px){.header-right{display:none}}

/* Globe-only language menu, consistent with the studio site's header. */
.text-link .text-link-label{margin-left:0}
.language-switcher{position:relative;z-index:20;flex:none}
.language-switcher summary{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--border);border-radius:50%;background:#080d15;color:var(--accent);cursor:pointer;list-style:none}
.language-switcher summary::-webkit-details-marker{display:none}
.language-switcher summary:hover,.language-switcher summary:focus-visible,.language-switcher[open] summary{border-color:var(--accent);background:#1268ff22}
.language-switcher summary svg{width:19px;height:19px}
.language-options{position:absolute;right:0;top:calc(100% + 8px);width:166px;display:grid;gap:3px;padding:7px;border:1px solid var(--border);border-radius:5px;background:#080d15;box-shadow:0 16px 36px #000a}
.language-options button{border:1px solid transparent;background:transparent;text-align:left;padding:9px 12px;border-radius:3px;color:var(--text);font-size:.83rem;white-space:nowrap}
.language-options button:hover,.language-options button:focus-visible{background:#1268ff22;border-color:#4c91ff88}
.language-options button[aria-pressed="true"]{background:#1268ff;color:white}
@media(max-width:780px){.header-right{gap:10px}}
@media(max-width:450px){.lab-tag{display:none}.brand-group{gap:7px}.studio-brand{width:92px}.brand{padding-left:8px;font-size:.85rem}.language-switcher summary{width:40px;height:40px}}
@media(max-width:360px){.header-right{display:flex}}
