body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{text-align:center}.cursor-hide-overlay{border:0;background:transparent;position:fixed;inset:0;z-index:20;cursor:none!important}html.hide-cursor,html.hide-cursor body,html.hide-cursor *,.App.hide-cursor,.App.hide-cursor *{cursor:none!important}.App-logo{animation:App-logo-spin infinite 20s linear;height:40vmin;pointer-events:none}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pausedPulse{0%,to{opacity:.42}50%{opacity:.9}}body{width:100%;height:100%;margin:0;padding:0;background:#000}.clock{--clock-size: min(21vw, 52vh);position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:flex-end;width:max-content;white-space:nowrap;font-size:var(--clock-size);line-height:.88;color:#fff;font-family:SFMono-Regular,Roboto Mono,Consolas,Liberation Mono,Menlo,monospace;font-variant-numeric:tabular-nums}.clock.negative{color:#d86464}.clock.paused{color:#b8b8b8;animation:pausedPulse 1.2s ease-in-out infinite}.clock.paused.negative{color:#d86464}.clock.paused .seconds-group{color:#5f5f5f}.clock.negative .seconds-group{color:#a64b4b}.clock .sign{line-height:1;margin-right:.08em}.clock .separator{line-height:1}.clock .seconds-group{display:flex;align-items:flex-end;font-size:.3em;color:#787878;padding-bottom:.1em}.clock .seconds-group .time{color:inherit}.clock.show-cursor .time.editing{background:#666}.time-input-panel{position:fixed;left:50%;bottom:124px;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid #333;border-radius:12px;background:#0a0a0af0;color:#d9d9d9;font-family:SFMono-Regular,Roboto Mono,Consolas,Liberation Mono,Menlo,monospace;z-index:40}.time-input-label{font-size:13px;color:#8f8f8f}.time-input{width:9ch;border:1px solid #4a4a4a;border-radius:8px;background:#111;color:#fff;font:inherit;font-size:18px;padding:8px 10px}.time-input.invalid{border-color:#a75353}.time-input-panel button{border:1px solid #4a4a4a;border-radius:8px;background:#1a1a1a;color:#d9d9d9;font:inherit;cursor:pointer;padding:8px 12px}.time-input-error{font-size:12px;color:#d77a7a}.mobile-controls{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);display:none;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;width:min(680px,calc(100vw - 24px));padding:10px;border:1px solid rgba(90,90,90,.45);border-radius:18px;background:#0c0c0cf2;box-shadow:0 14px 40px #00000059;z-index:30;transition:opacity .16s ease,transform .16s ease}.mobile-controls.hidden{opacity:0;pointer-events:none;transform:translate(-50%) translateY(10px)}.mobile-controls button{min-height:52px;border:1px solid #424242;border-radius:12px;background:linear-gradient(180deg,#1c1c1c,#111);color:#e0e0e0;font:inherit;font-size:13px;cursor:pointer}.tips{position:fixed;left:50%;bottom:20px;transform:translate(-50%);color:#666;line-height:2;transition:opacity .16s ease}.tips.hidden{opacity:0;pointer-events:none}.tips li{text-align:left}.tips button{background:#0000;color:inherit;font-size:12px}.tips li>button{border:2px solid #333;border-radius:4px;padding:0 4px;cursor:pointer;margin-right:4px}.tips .tip{margin-left:4px}.tips .tip>button{border:none;cursor:pointer;font-size:inherit;padding:0}@media(max-width:700px),(pointer:coarse),(any-pointer:coarse){.mobile-controls{display:grid}.desktop-tips{display:none}.time-input-panel{left:12px;right:12px;bottom:calc(max(16px,env(safe-area-inset-bottom)) + 84px);transform:none;width:auto;flex-wrap:wrap;justify-content:center;gap:12px}.time-input-label,.time-input-error{width:100%;text-align:left}.time-input{width:100%;min-height:48px;box-sizing:border-box;font-size:20px}.time-input-panel button{min-height:48px;padding:10px 14px}}
