:root{--bg: #282a36;--fg: #f8f8f2;--dim: #6272a4;--accent: #bd93f9;--green: #50fa7b;--red: #ff5555;--yellow: #f1fa8c;--cyan: #8be9fd;--magenta: #ff79c6;--blue: #6272a4;--sel: #44475a}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{background:var(--bg);color:var(--fg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,Noto Sans Mono CJK JP,monospace;font-size:clamp(12px,1.2vmin + 8px,15px)}#app{height:100%;display:flex;flex-direction:column}header{display:flex;align-items:center;gap:12px;padding:8px 14px;border-bottom:1px solid var(--sel);flex-wrap:wrap;-webkit-user-select:none;user-select:none}#brand{color:var(--accent);font-weight:700;letter-spacing:.08em}.chip{font-size:.85em;border:1px solid var(--sel);border-radius:999px;padding:1px 10px;color:var(--dim)}.chip.work{color:var(--green);border-color:var(--green)}.chip.rest{color:var(--cyan);border-color:var(--cyan)}.spacer{flex:1}#sets{color:var(--accent);letter-spacing:.25em;font-size:.8em}#clock{font-variant-numeric:tabular-nums;font-weight:700}button{background:none;border:1px solid var(--sel);color:var(--fg);border-radius:6px;padding:2px 10px;cursor:pointer;font:inherit}button:hover{border-color:var(--accent);color:var(--accent)}#term{flex:1;overflow-y:auto;padding:14px 18px;overflow-anchor:none;contain:layout paint}.line{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;min-height:1.65em}.cursor{animation:blink 1.06s steps(2,start) infinite}@keyframes blink{50%{opacity:0}}.line.banner{white-space:pre;overflow-wrap:normal;line-height:1.2;font-size:clamp(5px,1.7vw,13px);font-weight:700;margin:6px 0}#clock.over{color:var(--yellow);animation:pulse 1.2s ease-in-out infinite}.chip.over{color:var(--yellow);border-color:var(--yellow)}@keyframes pulse{50%{opacity:.4}}.add{color:var(--green)}.del{color:var(--red)}.path{color:var(--cyan)}.err{color:var(--red)}.ok{color:var(--green)}.warn{color:var(--yellow)}.dim{color:var(--dim)}.kw{color:var(--magenta)}.str{color:var(--yellow)}.cmt{color:var(--dim);font-style:italic}.accent,.tool{color:var(--accent)}#chip{position:fixed;right:18px;bottom:18px;background:var(--sel);border:1px solid var(--dim);border-radius:999px;padding:6px 14px;z-index:5}#overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:10}#overlay[hidden]{display:none}#panel{background:var(--bg);border:1px solid var(--sel);border-radius:10px;padding:20px 24px;width:min(460px,92vw);max-height:88vh;overflow-y:auto}#panel h2{font-size:1em;color:var(--accent);margin-bottom:12px}#panel fieldset{border:1px solid var(--sel);border-radius:8px;margin:0 0 14px;padding:10px 12px}#panel legend{color:var(--dim);padding:0 6px;font-size:.85em}#panel .opt{display:inline-flex;align-items:center;gap:6px;margin:4px 14px 4px 0;cursor:pointer}#panel .trow{display:flex;align-items:center;gap:8px;margin:6px 0}#panel input[type=number]{width:72px;background:var(--sel);border:1px solid var(--dim);color:var(--fg);border-radius:4px;padding:2px 6px;font:inherit}#panel input[type=color]{width:40px;height:26px;border:1px solid var(--sel);border-radius:4px;background:none;cursor:pointer}#panel .note{color:var(--dim);font-size:.8em;margin-top:4px}#closePanel{margin-top:4px;width:100%}@media(max-width:520px){header{gap:8px;padding:6px 10px}#term{padding:10px 12px}}
