:root{--bg: #1c1829;--fg: #d9d2ea;--muted: #8a80a3;--btn: #2d2742;--btn-hover: #3a3354;--accent: #ffb36b;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Hiragino Sans,sans-serif;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}main{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:env(safe-area-inset-top) 8px env(safe-area-inset-bottom)}#room{display:block;image-rendering:pixelated;image-rendering:crisp-edges;touch-action:manipulation}#controls{display:flex;align-items:center;gap:8px;font-size:13px}button{font:inherit;color:var(--fg);background:var(--btn);border:1px solid #443c5e;border-radius:6px;padding:6px 14px;cursor:pointer}button:hover{background:var(--btn-hover)}#start{min-width:84px}#status{color:var(--muted);min-width:5em;text-align:center}dialog{background:var(--btn);color:var(--fg);border:1px solid #443c5e;border-radius:8px;padding:16px 20px}dialog::backdrop{background:#00000080}dialog form{display:flex;flex-direction:column;gap:12px}dialog input{width:4.5em;font:inherit;padding:4px 6px;background:var(--bg);color:var(--fg);border:1px solid #443c5e;border-radius:4px}dialog .row{display:flex;justify-content:flex-end;gap:8px}dialog hr{width:100%;border:none;border-top:1px solid #443c5e;margin:2px 0}dialog label.slider{display:flex;flex-direction:column;gap:4px;font-size:13px}dialog label.slider input{width:220px;padding:0;accent-color:var(--accent)}#log-dialog{width:min(360px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow-y:auto}#log-dialog h3{font-size:12px;font-weight:600;color:var(--muted);margin:16px 0 8px}#log-dialog form.row{margin-top:16px}.log-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.log-stat{display:flex;flex-direction:column;gap:2px;padding:8px 10px;background:var(--bg);border-radius:6px}.log-stat-label{font-size:11px;color:var(--muted)}.log-stat-value{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.log-bars{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;height:150px}.log-col{all:unset;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;padding-top:2px}.log-col:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.log-value{font-size:10px;min-height:14px;white-space:nowrap;color:var(--fg);font-variant-numeric:tabular-nums}.log-track{flex:1;width:100%;border-bottom:1px solid #443c5e;display:flex;align-items:flex-end;justify-content:center}.log-bar{display:block;width:60%;max-width:22px;background:#cf7a45;border-radius:4px 4px 0 0;min-height:0}.log-col.active .log-bar,.log-col:hover .log-bar{background:#e08a52}.log-label{font-size:11px;color:var(--muted)}.log-col.today .log-label{color:var(--fg)}.log-tip{margin-top:8px;font-size:12px;color:var(--fg);min-height:1.4em;font-variant-numeric:tabular-nums}.log-recent{list-style:none;margin:0;padding:0;font-size:13px}.log-recent li{display:grid;grid-template-columns:1fr auto 4.5em;gap:8px;padding:6px 0;border-bottom:1px solid #3a3354;font-variant-numeric:tabular-nums}.log-len{color:var(--muted)}.log-state{text-align:right}.log-state.done{color:var(--fg)}.log-state.stopped{color:var(--muted)}.log-empty{color:var(--muted);font-size:13px}#error-box{position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom));margin:0;padding:6px 8px;font:11px/1.4 ui-monospace,monospace;white-space:pre-wrap;color:#ffd2d2;background:#50141ed9;border-radius:6px;pointer-events:none}dialog select{font:inherit;margin-left:8px;padding:4px 6px;background:var(--bg);color:var(--fg);border:1px solid #443c5e;border-radius:4px}body.overlay-controls main{padding:0;gap:0}body.overlay-controls #controls{position:fixed;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));transform:translate(-50%);padding:6px 10px;background:#1c1829b8;border:1px solid rgb(68 60 94 / .8);border-radius:10px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:opacity .4s}body.overlay-controls.controls-hidden #controls{opacity:0;pointer-events:none}[hidden]{display:none!important}button{white-space:nowrap}dialog label.check{display:flex;align-items:center;gap:8px;font-size:13px}dialog label.check input{width:auto;accent-color:var(--accent)}dialog .note{margin:-6px 0 0;font-size:11px;color:var(--muted);max-width:260px}#settings-dialog{max-height:calc(100vh - 32px);overflow-y:auto}#toast{position:fixed;left:50%;top:calc(16px + env(safe-area-inset-top));transform:translate(-50%,-8px);padding:6px 14px;font-size:13px;color:var(--fg);background:#1c1829d9;border:1px solid #443c5e;border-radius:999px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%)}#long-every{width:3.2em}
