:root{color-scheme:dark;--bg:#080909;--panel:#151818;--line:#2b3030;--text:#f5f7f6;--muted:#9ba6a2;--accent:#d5ff72;--danger:#ff8d72;--blue:#8bbaff;font-family:Arial,'Noto Sans JP','Hiragino Kaku Gothic ProN',Meiryo,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,label{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,input:focus-visible{outline:3px solid var(--blue);outline-offset:5px}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}.app{width:min(100% - 64px,1040px);margin:auto;padding:32px 0 24px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:55px;gap:16px}h1{font-size:19px;margin:0;letter-spacing:.04em;font-weight:800;white-space:nowrap}h1 span{font-size:13px;font-weight:600;letter-spacing:.12em;margin-left:9px;color:var(--muted)}.text-button{border:0;padding:8px 0;background:transparent;color:var(--muted);font-size:14px;white-space:nowrap}.text-button:hover{color:var(--text)}.text-button span{font-size:21px;margin-left:8px}.state-row{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.1em}.state{display:flex;align-items:center;gap:8px}.state:before{content:'';width:6px;height:6px;background:var(--accent);border-radius:50%}.context{font-size:14px;letter-spacing:.03em;color:var(--muted);font-weight:400;margin-left:auto}.demo-tag{background:var(--blue);color:#080909;padding:5px 9px;border-radius:4px;font-size:11px;letter-spacing:.08em}.clock-wrap{width:100%;display:flex;align-items:center;justify-content:center;padding:18px 0 11px;min-height:228px}.clock{font-family:ui-monospace,'SFMono-Regular','Roboto Mono',Consolas,'Liberation Mono',monospace;font-size:clamp(5rem,20.7vw,224px);font-weight:700;line-height:1.06;letter-spacing:-.075em;font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:.065em}.clock.overtime{color:var(--danger)}.track{height:5px;border-radius:8px;background:#252b28;overflow:hidden}.track>div{height:100%;background:var(--accent);width:100%;border-radius:8px}.under-clock{display:flex;justify-content:space-between;gap:12px;margin-top:13px;color:var(--muted);font-size:13px}.controls{display:flex;gap:14px;margin:32px 0 0;justify-content:center}.primary{display:flex;align-items:center;justify-content:center;gap:15px;border:0;border-radius:12px;background:var(--accent);color:#10150a;width:100%;max-width:470px;min-height:72px;font-size:23px;font-weight:800;letter-spacing:.12em}.primary:hover{background:#e1ffa0}.primary:active{transform:translateY(1px)}#toggle-icon{font-size:17px}.reset{position:relative;overflow:hidden;background:var(--panel);border:1px solid #414947;border-radius:12px;min-width:120px;min-height:72px;padding:12px 20px;touch-action:none;user-select:none;-webkit-user-select:none}.reset span,.reset small{position:relative;z-index:1}.reset span{font-size:16px;font-weight:700;letter-spacing:.06em;display:block}.reset small{font-size:12px;display:block;margin-top:5px;color:var(--muted)}.reset:before{position:absolute;content:'';inset:0;background:#3c4930;transform:scaleX(0);transform-origin:left}.reset.holding:before{transform:scaleX(1);transition:transform 1s linear}.reset-help{margin:12px 0 0;font-size:12px;color:var(--muted);text-align:center}.notice{min-height:32px;padding:11px 0 0;text-align:center;font-size:14px;color:var(--accent)}.notice:empty{padding:0;min-height:24px}.settings{max-width:600px;margin:6px auto 0}.settings fieldset{border:0;padding:0;margin:0;min-width:0}.settings legend{float:left;font-size:13px;color:var(--muted);padding:19px 0;margin-right:28px}.modes{display:flex;gap:6px}.modes label{flex:1;min-width:0;cursor:pointer;position:relative}.modes input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.modes label span{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;height:54px;background:#101313;border:1px solid var(--line);border-radius:8px}.modes input:checked+span{border-color:#6a7859;background:#20271b;color:var(--accent)}.modes input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}.modes svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}.capability{font-size:12px;color:var(--muted);text-align:center;line-height:1.7;min-height:21px;margin:10px 0 0}.ready-info{border-top:1px solid var(--line);margin:30px auto 0;padding-top:25px;text-align:center;max-width:650px}.schedule{display:flex;justify-content:center;align-items:center;gap:25px}.schedule>span{font-size:12px;color:var(--muted)}.schedule p{font-size:14px;margin:0}.schedule b{font-size:17px;letter-spacing:.03em;font-weight:600}.schedule-break{display:inline-block;margin-left:20px;color:#c3cbc7}.continue-note{font-size:12px;color:var(--muted);line-height:1.8;margin:14px 0}.demo-entry{border:0;background:transparent;color:var(--text);font-size:14px;padding:9px 18px}.demo-entry:hover{color:var(--accent)}.demo-entry span{font-size:18px;margin-left:9px}.demo-panel{border:1px solid #314156;background:#0d121a;border-radius:12px;padding:23px;margin:26px auto 0;max-width:700px}.demo-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.demo-heading h2{font-size:16px;margin:0;color:var(--blue)}.demo-heading .text-button{color:var(--blue);font-size:13px}.seek-label{font-size:13px;display:flex;justify-content:space-between;color:#b1bfd1;margin-bottom:11px;gap:12px}.seek-label output{font-variant-numeric:tabular-nums}input[type=range]{width:100%;margin:0;accent-color:var(--blue);height:30px;cursor:pointer;touch-action:pan-y}.seek-ends{display:flex;justify-content:space-between;color:#a1afc1;font-size:12px}.jump-title{font-size:12px;margin:20px 0 10px;color:#b1bfd1}.jump-buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.jump-buttons button{border:1px solid #334056;border-radius:6px;background:#151e2c;padding:10px 3px;font-family:ui-monospace,monospace;font-size:13px}.jump-buttons button:hover{border-color:var(--blue);color:var(--blue)}.demo-help{font-size:12px;color:#a1afc1;line-height:1.7;margin:14px 0 0}footer{position:relative;text-align:center;margin-top:30px;padding-top:15px;color:#84908b;font-size:12px;line-height:1.7}footer p{margin:0}.device-status{margin-top:6px!important;color:#84908b}.version{display:block;font-size:10px;letter-spacing:.12em;margin-top:17px;color:#5f6c66}.phone-break{display:none}.app[data-phase=running] .state:before{box-shadow:0 0 0 4px #d5ff7214}.app[data-phase=paused] .state:before{background:#aab5b0}.app[data-phase=running] .primary{background:#1b211c;border:1px solid #46503e;color:var(--accent)}.app[data-phase=running] .topbar{margin-bottom:70px}.app[data-phase=running] .clock-wrap{min-height:260px}.app[data-phase=running] .settings{margin-top:16px}@media(min-width:1400px){.app{max-width:1120px}.clock{font-size:250px}.clock-wrap{min-height:260px}}@media(max-width:650px){.app{width:calc(100% - 36px);padding-top:max(22px,env(safe-area-inset-top));padding-bottom:max(22px,env(safe-area-inset-bottom))}.topbar{margin-bottom:49px}h1{font-size:17px}h1 span{font-size:10px;letter-spacing:.08em;margin-left:6px}.text-button{font-size:12px}.text-button span{font-size:19px;margin-left:4px}.clock-wrap{min-height:160px;padding:26px 0 24px}.clock{font-size:25vw;letter-spacing:-.08em}.clock.overtime{font-size:23vw}.state-row{font-size:11px}.context{font-size:12px}.under-clock{font-size:11px;margin-top:12px}.controls{margin-top:30px;gap:10px}.primary{min-height:68px;font-size:20px}.reset{min-width:90px;padding:10px 12px;min-height:68px}.settings{margin-top:16px}.settings legend{float:none;padding:0;margin:0 0 12px;font-size:12px}.modes label span{height:50px;font-size:13px;gap:6px}.capability{font-size:12px;text-align:left;margin-top:10px;min-height:38px}.ready-info{margin-top:24px;padding-top:22px}.schedule{gap:12px;display:block}.schedule>span{display:block;margin-bottom:12px}.schedule p{font-size:13px}.schedule b{font-size:16px}.schedule-break{margin-left:12px}.continue-note{font-size:11px;margin-top:14px}.demo-entry{font-size:13px;padding:10px}.notice{font-size:13px}.phone-break{display:block}footer{font-size:11px;line-height:1.8;margin-top:20px;padding-top:10px}.device-status{font-size:10px}.version{margin-top:14px}.demo-panel{padding:18px 14px;margin-top:20px}.demo-heading{margin-bottom:15px}.jump-buttons{grid-template-columns:repeat(3,1fr);gap:8px}.jump-buttons button{font-size:13px;padding:10px}.seek-label{font-size:12px}.demo-help{font-size:11px}.app[data-phase=running] .topbar{margin-bottom:80px}.app[data-phase=running] .clock-wrap{min-height:190px}}@media(max-height:550px) and (orientation:landscape){.app{max-width:1050px;padding-top:15px}.topbar,.app[data-phase=running] .topbar{margin-bottom:15px}.timer-surface{position:relative;padding-right:210px}.clock-wrap,.app[data-phase=running] .clock-wrap{min-height:100px;padding:5px 0}.clock{font-size:min(19vw,31vh)}.controls{position:absolute;right:0;top:42px;width:175px;display:flex;flex-direction:column;margin:0}.primary,.reset{min-height:55px;width:100%;font-size:17px}.reset small{display:inline;margin-left:10px}.reset span{display:inline}.reset-help{position:absolute;right:0;top:176px;font-size:10px;width:175px}.under-clock{margin-top:8px}.notice{min-height:24px}.settings,.app[data-phase=running] .settings{max-width:600px;margin:8px auto 0}.settings legend{float:left;padding:15px 0;margin-right:20px}.modes label span{height:44px}.ready-info{margin-top:12px;padding-top:12px}.schedule{display:flex}.schedule>span{margin:0}.continue-note{margin:8px 0 0}.demo-entry{padding:8px}.capability{min-height:0;text-align:center;margin:6px 0 0}.demo-panel{margin-top:15px}footer{margin-top:8px;padding:0}.phone-break{display:none}.version{margin-top:5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.primary:active{transform:none}}

/* Once a match starts, the clock owns the screen. */
.app[data-focused=true]{width:100%;max-width:none;min-height:100vh;min-height:100dvh;padding:0 5vw;margin:0;display:flex;flex-direction:column;justify-content:center}
.app[data-focused=true] .timer-surface{position:relative;display:flex;flex-direction:column;justify-content:center;width:100%;min-height:100vh;min-height:100dvh;padding:0 0 52px}
.app[data-focused=true] .clock-wrap{min-height:0;padding:0;flex:0 0 auto}
.app[data-focused=true] .clock{font-size:min(28vw,52vh);font-size:min(28vw,52dvh);line-height:1.08}
.app[data-focused=true] .clock.overtime{font-size:min(25vw,50vh);font-size:min(25vw,50dvh)}
.app[data-focused=true] .track{height:3px;margin-top:23px;background:#171c19;flex:0 0 auto}
.app[data-focused=true] .track>div{background:#879f56}
.app[data-focused=true] .controls{position:fixed;z-index:3;right:max(15px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));top:auto;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:10px;width:auto;margin:0}
.app[data-focused=true] .primary,.app[data-focused=true] .reset{width:auto;min-width:48px;max-width:none;min-height:44px;margin:0;padding:10px 12px;border:0;border-radius:6px;background:transparent;color:#a7b1aa;font-size:12px;letter-spacing:.03em;box-shadow:none;gap:7px}
.app[data-focused=true] .primary:hover,.app[data-focused=true] .reset:hover{background:#181c19;color:var(--text)}
.app[data-focused=true] #toggle-icon{font-size:14px}
.app[data-focused=true][data-phase=running] #toggle-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.app[data-focused=true] .reset span{font-size:11px;letter-spacing:.04em;display:inline}
.app[data-focused=true] .reset small{font-size:10px;margin:0 0 0 6px;display:inline}
.app[data-focused=true] .state-row{position:fixed;left:max(20px,env(safe-area-inset-left));bottom:max(26px,env(safe-area-inset-bottom));top:auto;font-size:10px;letter-spacing:.12em;color:var(--muted)}
.app[data-focused=true] .state:before{display:none}
.app[data-focused=true] .notice{position:absolute;width:1px;height:1px;padding:0;margin:-1px;min-height:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.runtime-status{font-size:12px;line-height:1.7;color:var(--muted);text-align:center;margin:15px auto 0;max-width:580px}
.app[data-focused=true][data-demo=true]{padding:20px 5vw 82px;justify-content:flex-start}
.app[data-focused=true][data-demo=true] .timer-surface{min-height:0;padding:35px 0 0}
.app[data-focused=true][data-demo=true] .clock-wrap{padding:12px 0 0}
.app[data-focused=true][data-demo=true] .clock{font-size:min(23vw,31vh);font-size:min(23vw,31dvh)}
.app[data-focused=true][data-demo=true] .clock.overtime{font-size:min(21vw,30vh);font-size:min(21vw,30dvh)}
.app[data-focused=true][data-demo=true] .state-row{position:absolute;left:0;top:0;bottom:auto}
.app[data-focused=true][data-demo=true] .demo-panel{width:100%;margin:24px auto 0;padding:18px 20px}
.app[data-focused=true][data-demo=true] .demo-heading h2,.app[data-focused=true][data-demo=true] .demo-help{display:none}
.app[data-focused=true][data-demo=true] .demo-heading{justify-content:flex-end;margin-bottom:12px}
@media(max-width:650px){.app[data-focused=true] .track{margin-top:20px}.app[data-focused=true][data-demo=true]{padding-left:5vw;padding-right:5vw}.app[data-focused=true][data-demo=true] .demo-panel{padding:16px 13px}.runtime-status{font-size:11px}}
@media(max-height:550px) and (orientation:landscape){.app[data-focused=true] .timer-surface{padding-bottom:30px}.app[data-focused=true] .track{margin-top:12px}.app[data-focused=true][data-demo=true]{padding-top:14px}.app[data-focused=true][data-demo=true] .timer-surface{padding-top:25px}.app[data-focused=true][data-demo=true] .demo-panel{margin-top:14px;padding:12px 18px}.app[data-focused=true][data-demo=true] .demo-heading{margin-bottom:5px}.app[data-focused=true][data-demo=true] .jump-title{margin-top:12px}.app[data-focused=true][data-demo=true] .jump-buttons{grid-template-columns:repeat(6,1fr)}}
