@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/ibm-plex-mono-latin-300-normal-BRS-C4KA.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-300-normal-BPU54Tw3.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Sans JP;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-jp-latin-400-normal-CDdMl-oX.woff2) format("woff2"),url(/assets/ibm-plex-sans-jp-latin-400-normal-D5LEXcjN.woff) format("woff")}@font-face{font-family:IBM Plex Sans JP;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-jp-latin-500-normal-BiBUeq8A.woff2) format("woff2"),url(/assets/ibm-plex-sans-jp-latin-500-normal-Db7rGkKq.woff) format("woff")}@font-face{font-family:IBM Plex Sans JP;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-jp-latin-700-normal-BTYOjzj6.woff2) format("woff2"),url(/assets/ibm-plex-sans-jp-latin-700-normal-8D2N3nxA.woff) format("woff")}@font-face{font-family:IBM Plex Sans JP;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-jp-japanese-400-normal-WWS2zpoO.woff2) format("woff2"),url(/assets/ibm-plex-sans-jp-japanese-400-normal-D9b5-NCV.woff) format("woff")}@font-face{font-family:IBM Plex Sans JP;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-jp-japanese-500-normal-BjvJuJzv.woff2) format("woff2"),url(/assets/ibm-plex-sans-jp-japanese-500-normal-eQraX4e6.woff) format("woff")}:root{--bg: #101319;--sf: #171b24;--ln: #232936;--tx: #c9d0dc;--dim: #6b7484;--ac: #7e97c8;--onac: #0f1219;--fbg: #0c0e13;--warn: #c8a87e;--over: #c8849b;--font-ui: "IBM Plex Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}:root[data-theme=light]{--bg: #f3f4f7;--sf: #ffffff;--ln: #e1e4eb;--tx: #2a2f3a;--dim: #8a92a1;--ac: #4a66a0;--onac: #ffffff;--fbg: #edeff4;--warn: #9a7b3e;--over: #a04a6b;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--font-ui);font-weight:400;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;transition:background .8s ease,color .8s ease}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;padding:0}input,textarea{font-family:inherit;color:inherit}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app{max-width:430px;margin:0 auto;min-height:100%;background:var(--bg);position:relative;transition:filter .55s ease .2s}.screen{min-height:100dvh;display:flex;flex-direction:column;padding:calc(var(--safe-top) + 36px) 28px calc(var(--safe-bottom) + 28px)}.app-header{display:flex;align-items:baseline;gap:8px;margin-bottom:38px}.wordmark{display:flex;align-items:baseline;gap:8px}.wordmark-bar{width:3px;height:20px;background:var(--ac);border-radius:2px;align-self:center}.wordmark-name{color:var(--tx);font-size:19px;font-weight:700;letter-spacing:.02em}.wordmark-kana{color:var(--dim);font-size:10px;letter-spacing:.2em}.theme-toggle{margin-left:auto;align-self:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--ln);color:var(--dim);font-size:15px;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}.theme-toggle:hover{color:var(--tx);border-color:var(--dim)}.quick-add{display:flex;align-items:center;gap:8px;margin-top:26px}.quick-add-plus{color:var(--dim);font-size:15px}.quick-add-input{flex:1;background:transparent;border:none;outline:none;color:var(--tx);font-size:15px;padding:2px 0}.quick-add-input::placeholder{color:var(--dim)}.task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:26px}.task-row{display:flex;align-items:center;gap:16px}.task-row.drag-over{outline:1px dashed var(--ac);outline-offset:8px;border-radius:6px}.checkbox{flex:0 0 auto;width:20px;height:20px;border:1.5px solid var(--dim);border-radius:50%;display:grid;place-items:center;font-size:11px;color:var(--ac);transition:border-color .15s,background .15s}.checkbox.checked{border-color:var(--ac);background:color-mix(in srgb,var(--ac) 14%,transparent)}.task-main{flex:1;display:flex;flex-direction:column;gap:3px;text-align:left;min-width:0}.task-title-text{color:var(--tx);font-size:16px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.is-done .task-title-text{color:var(--dim);text-decoration:line-through}.task-focus{color:var(--dim);font-size:11px;font-family:var(--font-mono)}.drag-handle{flex:0 0 auto;color:var(--ln);font-size:13px;cursor:grab;-webkit-user-select:none;user-select:none;padding:4px}.empty-hint{color:var(--dim);text-align:center;line-height:1.9;margin:56px 0;font-size:14px}.empty-hint.small{margin:12px 0;font-size:12px;text-align:left}.list-footer{margin-top:auto;padding-top:34px}.done-section{margin-bottom:20px}.backup-row{display:flex;justify-content:flex-end;opacity:.7}.done-toggle{color:var(--dim);font-size:13px;display:flex;align-items:center;gap:8px}.done-toggle .caret{font-size:10px}.done-list{margin-top:22px;gap:20px}.detail-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;overflow-y:auto;overscroll-behavior:contain;background:var(--bg);animation:wipe-in .3s cubic-bezier(.32,.72,0,1);transition:transform .3s cubic-bezier(.32,.72,0,1),filter .55s ease .2s}.detail-layer.closing{transform:translate(100%);pointer-events:none}@keyframes wipe-in{0%{transform:translate(100%)}}.detail-screen{padding-bottom:calc(var(--safe-bottom) + 28px)}.detail-back-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:34px}.detail-back{color:var(--dim);font-size:18px;line-height:1}.detail-title-row{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.detail-title-row .checkbox{margin-top:6px}.detail-title{flex:1;background:transparent;border:none;outline:none;color:var(--tx);font-size:24px;font-weight:500;line-height:1.4;resize:none;overflow:hidden;padding:0}.detail-note{width:100%;background:transparent;border:none;outline:none;color:var(--dim);font-size:14px;line-height:1.7;margin:0 0 30px 34px;width:calc(100% - 34px);resize:none}.detail-note::placeholder{color:var(--dim);opacity:.7}.band{display:flex;align-items:baseline;gap:24px;padding:18px 0;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln);margin-bottom:8px}.band-col{display:flex;flex-direction:column;gap:4px;flex:1}.band-label{color:var(--dim);font-size:11px;letter-spacing:.12em}.band-value{font-family:var(--font-mono);font-size:22px;font-weight:300}.band-value.est{color:var(--dim)}.band-value.act{color:var(--tx)}.band-bar{flex:2;align-self:center;height:2px;background:var(--ln);border-radius:1px;position:relative;overflow:hidden}.band-bar-fill{position:absolute;inset:0 auto 0 0;background:var(--ac);border-radius:1px}.sessions-heading{color:var(--dim);font-size:11px;letter-spacing:.18em;margin:22px 0 6px;font-weight:400}.session-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.session-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--ln)}.session-when{color:var(--dim);font-size:12px;font-family:var(--font-mono);width:86px;flex:0 0 auto}.session-mode{color:var(--dim);font-size:12px;flex:1;min-width:0}.session-elapsed{color:var(--tx);font-size:13px;font-family:var(--font-mono)}.session-result{font-size:11px;width:42px;text-align:right;flex:0 0 auto;color:var(--dim)}.session-result.completed{color:var(--ac)}.pill-cta{margin-top:auto;background:var(--ac);color:var(--onac);border-radius:99px;padding:17px;text-align:center;font-size:16px;font-weight:700;transition:filter .15s,transform .1s}.pill-cta:hover{filter:brightness(1.06)}.pill-cta:active{transform:scale(.99)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 55%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;display:flex;align-items:flex-end;justify-content:center;animation:fade-in .25s ease;transition:opacity .28s ease,filter .55s ease .2s}.sheet-backdrop.closing{opacity:0;pointer-events:none}.sheet{width:100%;max-width:430px;background:var(--sf);border-radius:28px 28px 0 0;padding:20px 28px calc(var(--safe-bottom) + 34px);display:flex;flex-direction:column;gap:26px;animation:sheet-up .28s ease;transition:transform .28s ease}.sheet.dragging{transition:none}.sheet.closing{transform:translateY(108%)}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-drag{display:flex;flex-direction:column;gap:26px;touch-action:none;cursor:grab}.grabber{width:36px;height:4px;border-radius:2px;background:var(--ln);margin:0 auto}.sheet-head{text-align:center}.sheet-eyebrow{color:var(--dim);font-size:12px;letter-spacing:.18em;margin-bottom:6px}.sheet-task{color:var(--tx);font-size:20px;font-weight:500}.choices{display:flex;flex-direction:column;gap:14px}.mode-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--ln);transition:border-color .2s}.mode-row.selected{border-bottom-color:var(--ac)}.mode-row.sw{padding:14px 0;margin-top:8px}.mode-label{display:flex;flex-direction:column;gap:2px}.mode-name{color:var(--tx);font-size:16px;font-weight:500}.mode-row:not(.selected) .mode-name{color:var(--dim);font-weight:400}.mode-sub{color:var(--dim);font-size:11px}.mode-time{color:var(--ac);font-size:30px;font-family:var(--font-mono);font-weight:300}.mode-cta{color:var(--dim);font-size:12px}.chips{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.chip{color:var(--dim);font-size:13px;padding:6px 13px;border-radius:99px;border:1px solid var(--ln);transition:background .15s,color .15s,border-color .15s}.chip.dashed{border-style:dashed}.chip.selected{color:var(--onac);background:var(--ac);border-color:var(--ac);font-weight:500}.free-input-wrap{display:flex;align-items:center;gap:8px;justify-content:center}.free-input-wrap input{width:90px;background:transparent;border:none;border-bottom:1px solid var(--ac);outline:none;color:var(--tx);font-size:22px;font-family:var(--font-mono);font-weight:300;text-align:center;padding:4px 0}.free-input-wrap .unit{color:var(--dim);font-size:13px}.field-error{color:var(--over);font-size:12px;text-align:center;margin:0}.focus-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;animation:focus-in .8s ease both}.focus-layer.closing{animation:focus-out .8s ease both;pointer-events:none}@keyframes focus-in{0%{opacity:0;filter:blur(14px)}35%{opacity:0;filter:blur(14px)}70%{opacity:1;filter:blur(9px)}to{opacity:1;filter:none}}@keyframes focus-out{0%{opacity:1;filter:none}35%{opacity:1;filter:blur(9px)}75%{opacity:0;filter:blur(14px)}to{opacity:0;filter:blur(14px)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.focus-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--fbg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:36px;padding:calc(var(--safe-top) + 40px) 24px calc(var(--safe-bottom) + 40px);z-index:40;-webkit-user-select:none;user-select:none;transition:background .8s ease}.focus-eyebrow{color:var(--dim);font-size:12px;letter-spacing:.22em;transition:color .9s ease}.focus-screen.warning .focus-eyebrow{color:var(--warn)}.focus-screen.overtime .focus-eyebrow{color:var(--over)}.focus-screen.paused .focus-eyebrow{color:var(--dim)}.focus-task-name{color:var(--tx);font-size:clamp(30px,9vw,52px);font-weight:500;line-height:1.4;text-align:center;text-wrap:balance;max-width:90vw;transition:color .9s ease}.focus-screen.paused .focus-task-name{color:var(--dim)}.ring-wrap{position:relative;width:min(300px,78vw);height:min(300px,78vw);aspect-ratio:1}.ring-wrap svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-track{stroke:var(--ln)}.ring-progress{transition:stroke-dashoffset .5s linear,stroke .9s ease}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.focus-clock{font-family:var(--font-mono);font-weight:300;font-size:clamp(52px,16vw,64px);color:var(--tx);line-height:1;transition:color .9s ease}.focus-screen.warning .focus-clock{color:var(--warn)}.focus-screen.overtime .focus-clock{color:var(--over)}.focus-screen.paused .focus-clock{color:var(--dim)}.focus-clock-sub{color:var(--dim);font-size:11px;letter-spacing:.12em}.focus-over-top{color:var(--dim);font-size:11px;letter-spacing:.12em;font-family:var(--font-mono)}.milestones{display:flex;align-items:center;gap:6px}.dot{width:5px;height:5px;border-radius:50%}.dot.filled{background:var(--ac)}.dot.hollow{border:1px solid var(--ln)}.milestones .label{color:var(--dim);font-size:11px;letter-spacing:.12em;margin-left:4px}.focus-controls{position:absolute;left:0;right:0;bottom:calc(var(--safe-bottom) + 46px);display:flex;justify-content:center;align-items:center;gap:30px;transition:opacity .3s ease}.focus-controls.faded{opacity:.06;pointer-events:none}.fc-text{color:var(--dim);font-size:13px}.fc-text.accent{color:var(--ac);font-weight:500}.fc-circle{width:60px;height:60px;border-radius:50%;border:1px solid var(--ac);color:var(--ac);font-size:16px;display:flex;align-items:center;justify-content:center;transition:transform .1s}.fc-circle.filled{background:var(--ac);color:var(--onac);border-color:var(--ac)}.fc-circle.resume{width:72px;height:72px;font-size:20px;padding-left:4px;background:var(--ac);color:var(--onac);border-color:var(--ac)}.fc-circle:active{transform:scale(.95)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--bg) 60%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:24px;z-index:60}.modal{background:var(--sf);border:1px solid var(--ln);border-radius:24px;padding:28px;width:100%;max-width:380px;max-height:88vh;overflow-y:auto}.modal-title{font-size:19px;font-weight:500;color:var(--tx);margin:0 0 16px}.ob-lead{color:var(--ac);font-size:16px;margin:0 0 16px}.ob-list{padding-left:18px;margin:0 0 18px;line-height:1.8;font-size:14px;color:var(--tx)}.ob-list li{margin-bottom:8px}.ob-caveat{background:color-mix(in srgb,var(--tx) 5%,transparent);border:1px solid var(--ln);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.6;color:var(--dim);margin:0 0 22px}.recovery-body{line-height:1.8;font-size:15px;color:var(--tx);margin:0 0 22px}.recovery-actions{display:flex;flex-direction:column;gap:10px}.sheet-btn{border-radius:99px;padding:15px;text-align:center;font-size:15px;font-weight:500;transition:filter .15s,background .15s}.sheet-btn.primary{background:var(--ac);color:var(--onac);font-weight:700}.sheet-btn.ghost{border:1px solid var(--ln);color:var(--tx)}.sheet-btn.danger{background:var(--over);color:var(--onac);font-weight:700}.sheet-cancel{display:block;margin:8px auto 0;color:var(--dim);font-size:14px}.export-import{display:flex;align-items:center;gap:4px}.icon-btn{color:var(--dim);font-size:12px;padding:6px 8px;border-radius:8px;transition:color .15s}.icon-btn:hover{color:var(--tx)}.import-msg{font-size:11px;color:var(--dim)}.update-toast{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 20px);transform:translate(-50%);background:var(--sf);border:1px solid var(--ln);border-radius:99px;padding:10px 12px 10px 18px;display:flex;align-items:center;gap:12px;font-size:13px;color:var(--tx);z-index:70;max-width:calc(100% - 32px)}.toast-btn{background:var(--ac);color:var(--onac);font-weight:700;padding:6px 14px;border-radius:99px;font-size:12px}.toast-btn.ghost{background:transparent;color:var(--dim);padding:6px 8px}.under-focus{filter:blur(9px);transition:filter .3s ease}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
