*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.table{display:table}.rounded{border-radius:.25rem}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:dark;font-family:Inter,Hiragino Sans,Yu Gothic UI,sans-serif}body{margin:0;background:#0f1115;color:#f3f4f6}.app{max-width:1100px;margin:0 auto;padding:24px;display:grid;gap:16px}.storage-error-banner{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;background:#7f1d1d;border:1px solid #ef4444;border-radius:6px;color:#fecaca;font-size:.875rem;line-height:1.5}.storage-error-banner span{flex:1}.storage-error-close{flex-shrink:0;background:none;border:none;color:#fecaca;cursor:pointer;font-size:1rem;padding:0;line-height:1}.storage-error-close:hover{color:#fff}.storage-usage-bar-wrap{display:flex;align-items:center;gap:10px;padding:8px 0 4px;opacity:.6;transition:opacity .15s}.storage-usage-bar-wrap:hover{opacity:1}.storage-usage-bar-track{flex:1;height:4px;background:#2a2f3a;border-radius:2px;overflow:hidden}.storage-usage-bar-fill{height:100%;border-radius:2px;transition:width .3s ease,background .3s ease}.storage-usage-bar-label{flex-shrink:0;font-size:.72rem;color:#6b7280;white-space:nowrap}.tabs-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.tabs{display:flex;gap:2px;background:#1a1f2e;border:1px solid #2a2f3a;border-radius:10px;padding:3px}.tabs button{border:none;background:transparent;border-radius:7px;padding:7px 18px;font-size:.88rem;font-weight:600;color:#6b7280;letter-spacing:.02em;transition:color .15s,background .15s;position:relative}.tabs button:hover:not(.active){color:#cbd5e1;background:#ffffff0d}.btn-save-trigger{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;font-size:.88rem;font-weight:600;color:#cbd5e1;border-color:#3f4654;background:transparent;flex-shrink:0}.btn-save-trigger:hover{color:#e2e8f0;border-color:#5b6578}.tabs button.active{background:#0f1115;color:#f3f4f6;box-shadow:0 1px 3px #0006}.card{background:#171a21;border:1px solid #2a2f3a;border-radius:12px;padding:16px}.panel-heading{margin:0 0 12px;font-size:.9rem;font-weight:700;color:#64748b;letter-spacing:.02em;border-bottom:1px solid #2a2f3a;padding-bottom:8px}.goal-card{border-left:3px solid rgba(251,191,36,.35)}.goal-fields{display:flex;flex-direction:column;gap:10px}.goal-field-row{display:flex;align-items:center;gap:10px}.goal-field-label{font-size:.88rem;font-weight:700;color:#94a3b8;letter-spacing:.04em;white-space:nowrap;width:3.5rem;flex-shrink:0}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}textarea,input,select,button{border-radius:8px;border:1px solid #384052;background:#0f1115;color:#f3f4f6;padding:8px 10px}textarea{width:100%}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #2a2f3a;padding:8px;text-align:left}.running{font-size:1.8rem;font-weight:700;margin:4px 0 12px}.play-hero .running{font-size:3rem;margin:8px 0 4px}.play-hero .play-running-clock{font-family:Orbitron,sans-serif;font-variant-numeric:tabular-nums;font-kerning:none;display:flex;justify-content:center;align-items:flex-end}.clock-digit{display:inline-block;width:1ch;text-align:center}.clock-sep{display:inline-block}.play-hero .running-clock-ms{font-size:.62em;font-weight:600;padding-bottom:.08em}.play-hero{text-align:center}.play-hero-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}.play-hero-header h2{margin:0}.play-hero .run-status-badge{margin-bottom:0;min-width:7.5rem;text-align:center}.play-hero-controls{display:flex;justify-content:center;gap:8px;margin-top:8px}.session-restore-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#111827;border:1px solid #1e3a5f;border-radius:10px;padding:10px 16px;flex-wrap:wrap}.session-restore-info{display:flex;align-items:center;gap:10px}.session-restore-icon{font-size:1.1rem;flex-shrink:0}.session-restore-text{display:flex;flex-direction:column;gap:2px;font-size:.88rem;font-weight:600;color:#93c5fd}.session-restore-meta{font-size:.85rem;font-weight:400;color:#6b7280}.session-restore-actions{display:flex;gap:8px;flex-shrink:0}.btn-save-session{background:transparent;color:#9ca3af;border:1px solid #374151;border-radius:6px;padding:8px 14px;font-size:.85rem;cursor:pointer;transition:color .15s,border-color .15s}.btn-save-session:hover{color:#d1d5db;border-color:#6b7280}.session-list-card{padding-bottom:4px}.session-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.session-list-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#1a1f2e;border:1px solid #2a2f3a;border-radius:8px;flex-wrap:wrap}.session-list-info{display:flex;flex-direction:column;gap:3px;min-width:0}.session-list-name{font-size:.92rem;font-weight:600;color:#f3f4f6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-list-meta{font-size:.85rem;color:#6b7280}.session-list-actions{display:flex;gap:6px;flex-shrink:0}.btn-session-resume{background:#1d4ed8;color:#fff;border:none;border-radius:6px;padding:6px 16px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background .15s}.btn-session-resume:hover{background:#2563eb}.btn-session-discard{background:transparent;color:#9ca3af;border:1px solid #374151;border-radius:6px;padding:6px 14px;font-size:.85rem;cursor:pointer;transition:color .15s,border-color .15s}.btn-session-discard:hover{color:#d1d5db;border-color:#6b7280}.play-keyboard-hint{margin:8px 0 0;font-size:.78rem;color:#6b7280;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.play-keyboard-hint-sep{display:inline-block;width:1px;height:.9em;background:#374151;margin:0 4px;vertical-align:middle}.kbd{display:inline-flex;align-items:center;justify-content:center;background:#1e2330;border:1px solid #374151;border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-size:.75rem;font-family:ui-monospace,monospace;color:#d1d5db;line-height:1.4}.play-hero .btn-run-toggle{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:10.5rem;min-width:10.5rem;padding:12px 16px;font-size:1.05rem;font-weight:600}.hint{color:#9ca3af;margin-top:10px;font-size:.92rem}.ok{background:#34d39924}.over{background:#f8717124}.actions{display:flex;gap:6px}.time-control{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.time-control input:not([type=range]):not(.time-num-field){font-family:JetBrains Mono,monospace;font-size:.9rem;letter-spacing:.02em;width:7.5rem;flex-shrink:0}.time-control input[type=range]{flex:1;min-width:5rem;width:auto}.task-toolbar-hint{margin-top:8px}.add-checkpoint-form{display:flex;gap:8px;align-items:center;margin-bottom:4px}.add-checkpoint-input{flex:1;min-width:0;font-size:.95rem;padding:8px 12px}.btn-add-checkpoint{white-space:nowrap;font-weight:600;padding:8px 16px;border-color:#60a5fa;background:#60a5fa24;box-shadow:inset 0 0 0 1px #60a5fa66;flex-shrink:0}.btn-add-checkpoint:hover:not(:disabled){background:#60a5fa3d}.btn-add-checkpoint:disabled{opacity:.35;cursor:not-allowed}.btn-bulk-open{font-size:.85rem;padding:6px 12px;white-space:nowrap;flex-shrink:0;color:#94a3b8;border-color:#3f4654;background:transparent}.btn-bulk-open:hover{color:#e2e8f0;border-color:#5b6578}.add-checkpoint-hint{margin:4px 0 10px;font-size:.88rem}.task-table .task-col-drag{width:2.25rem;vertical-align:middle}.task-col-num{width:2.5rem;text-align:center;font-variant-numeric:tabular-nums;color:#9ca3af}.task-table .task-col-time{min-width:14rem}.task-table .task-col-prev-actual{width:7rem;text-align:right;white-space:nowrap;color:#94a3b8}.task-table .prev-actual-cell{font-family:JetBrains Mono,monospace;color:#64748b;text-align:right}.task-table .ref-actual-cell{color:#6ee7b7}.ref-actuals-bar{display:flex;align-items:center;gap:10px;padding:7px 14px;background:#0d2218;border:1px solid #166534;border-radius:8px;margin-bottom:4px}.ref-actuals-label{font-size:.88rem;color:#6ee7b7;flex:1}.ref-actuals-clear{background:transparent;border:none;color:#4b7a5e;font-size:.82rem;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .15s}.ref-actuals-clear:hover{color:#d1d5db}.btn-ref-go-setup{background:#0d2218;color:#6ee7b7;border:1px solid #166534;border-radius:6px;padding:8px 14px;font-size:.85rem;cursor:pointer;transition:background .15s,border-color .15s}.btn-ref-go-setup:hover{background:#14532d;border-color:#22c55e}.btn-set-ref{background:#0d2218;color:#6ee7b7;border:1px solid #166534;border-radius:6px;padding:6px 14px;font-size:.85rem;cursor:pointer;transition:background .15s}.btn-set-ref:hover{background:#14532d}.task-table .task-col-actions{width:5rem;white-space:nowrap}.time-view-toggle{border:none;background:transparent;padding:2px 4px;cursor:pointer;color:#f3f4f6;font-weight:600;font-size:inherit;display:inline-flex;align-items:center;gap:5px;border-radius:4px;white-space:nowrap}.time-view-toggle:hover{color:#93c5fd}.time-view-toggle-hint{color:#60a5fa;font-size:.82em;font-weight:400}.linked-mode-bar{display:flex;align-items:center;gap:6px;margin:6px 0 8px;padding:6px 10px;background:#1a2332;border:1px solid #2d3748;border-radius:6px}.linked-mode-bar-label{font-size:.85rem;color:#9ca3af;margin-right:2px;white-space:nowrap}.linked-mode-bar-btn{border:1px solid #374151;background:#111827;padding:3px 12px;cursor:pointer;color:#6b7280;font-size:.88rem;font-weight:500;border-radius:4px;white-space:nowrap;transition:background .15s,color .15s,border-color .15s}.linked-mode-bar-btn:hover{border-color:#4b5563;color:#d1d5db}.linked-mode-bar-btn.active{background:#1e3a5f;border-color:#3b82f6;color:#93c5fd;font-weight:600}.linked-mode-bar-desc{font-size:.82rem;color:#6b7280;margin-left:4px}.time-ref{width:100%;font-family:JetBrains Mono,monospace;letter-spacing:.02em;color:#6b7280}.drag-handle{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:#9ca3af;display:inline-block;padding:4px 2px;line-height:1}.drag-handle:active{cursor:grabbing}tr.drag-over{outline:1px dashed #60a5fa;outline-offset:-1px}.record-table{table-layout:fixed;width:100%}.record-table col.record-col-num{width:3rem}.record-table col.record-col-name{width:26%}.record-table col.record-col-time{width:17%}.record-table col.record-col-delta{width:18%}.record-table col.record-col-actions{width:10.5rem}.record-table .record-th-name,.record-table .record-td-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-table .record-td-overdue{color:#f87171;background:#f8717124;font-weight:600}.record-table .record-th-time,.record-table .record-td-time,.record-table .record-th-delta,.record-table .record-td-delta{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;font-size:.9rem;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-table .record-td-actions.actions{flex-wrap:nowrap;gap:4px;vertical-align:middle}.record-table .record-td-actions.actions button{flex-shrink:0}.record-table .btn-record-primary{font-weight:600;min-width:4.75rem;padding:10px 14px;border-color:#60a5fa;background:#60a5fa24;box-shadow:inset 0 0 0 1px #60a5fa66}.record-table .btn-record-primary:hover:not(:disabled){background:#60a5fa38}.record-table .btn-record-primary:disabled{opacity:.45}.record-table .btn-record-undo{font-size:.82rem;font-weight:400;padding:4px 8px;color:#9ca3af;border-color:#3f4654;background:transparent}.record-table .btn-record-undo:hover:not(:disabled){color:#d1d5db;border-color:#5b6578}.record-table .btn-record-undo:disabled{opacity:.35}.flow-intro{border-color:#334155;background:linear-gradient(165deg,#1a1f2a,#171a21 55%)}.flow-intro-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.flow-intro-title{margin:0;font-size:1.15rem;font-weight:650;letter-spacing:.02em}.flow-intro-dismiss{flex-shrink:0;font-size:.85rem;padding:4px 8px;color:#6b7280;border-color:#374151;background:transparent}.flow-intro-dismiss:hover{color:#9ca3af;border-color:#4b5563}.flow-steps{margin:0 0 12px;padding-left:1.35rem;display:grid;gap:8px;color:#e5e7eb;line-height:1.55}.flow-steps strong{color:#93c5fd;font-weight:650}.flow-intro-note{margin:0;font-size:.88rem}.panel-disclosure .disclosure-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.disclosure-title{margin:0;font-size:1rem;font-weight:600;color:#cbd5e1}.disclosure-toggle{flex-shrink:0;padding:6px 12px;font-size:.85rem;color:#94a3b8;border-color:#3f4654;background:transparent}.disclosure-toggle:hover{color:#e2e8f0;border-color:#5b6578}.disclosure-collapsed-hint{margin:0;font-size:.88rem;line-height:1.5}.bulk-replace-warning{margin:0 0 10px;padding:7px 11px;border-radius:6px;border:1px solid rgba(251,191,36,.35);background:#fbbf2414;color:#fbbf24;font-size:.88rem;line-height:1.5}.empty-hint{margin:12px 0 0;padding:12px 14px;border-radius:8px;border:1px dashed #3f4654;color:#9ca3af;font-size:.92rem;line-height:1.5}.save-status-line{margin-top:12px}.disclosure-title-group{display:flex;align-items:center;gap:8px}.save-dirty-badge{font-size:.78rem;font-weight:600;padding:2px 7px;border-radius:4px;background:#f871711f;color:#f87171;border:1px solid rgba(248,113,113,.3)}.save-section{margin-bottom:14px}.save-section-label{font-size:.88rem;color:#9ca3af;margin:0 0 7px}.save-section-load,.save-section-data{padding-top:14px;border-top:1px solid #2a2f3a}.save-section-data-first{padding-top:0;border-top:none}.plan-identity-bar{background:#131720;border:1px solid #2a2f3a;border-left:3px solid #3b82f6;border-radius:8px;padding:14px 18px}.plan-identity-main{display:flex;flex-direction:column;gap:8px}.plan-identity-body{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.plan-identity-left{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.plan-name-display{font-size:1.1rem;font-weight:700;color:#f3f4f6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em;padding-left:10px;border-left:3px solid #3b82f6}.plan-name-empty{color:#4b5563;font-weight:400;font-style:italic}.plan-identity-sub{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.plan-sub-sep{color:#3f4654;font-size:.8rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-inline-action{font-size:.85rem;font-weight:500;color:#64748b;background:transparent;border:none;padding:0;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:2px;transition:color .15s,text-decoration-color .15s}.btn-inline-action:hover{color:#94a3b8;text-decoration-color:#94a3b8}.plan-identity-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-save-as{font-size:.85rem;font-weight:600;white-space:nowrap;border-color:#475569;background:transparent;color:#94a3b8}.btn-save-as:hover:not(:disabled){border-color:#60a5fa;color:#93c5fd}.btn-save-as:disabled{opacity:.4;cursor:not-allowed}.goal-name-input{flex:1;font-size:.92rem;padding:5px 10px;color:#f3f4f6;background:#0f1115;border-color:#374151}.btn-goal-adj{font-size:.9rem;padding:5px 10px;white-space:nowrap}.btn-goal-preset{font-size:.85rem;font-weight:600;padding:4px 9px;color:#94a3b8;border-color:#3f4654;background:transparent;white-space:nowrap}.btn-goal-preset:hover{color:#e2e8f0;border-color:#5b6578}.plan-identity-play{display:flex;align-items:center;gap:14px}.plan-identity-play-label{font-size:.88rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#60a5fa;flex-shrink:0}.plan-identity-play-name{font-size:1rem;font-weight:600;color:#f3f4f6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-identity-play-empty{color:#4b5563;font-weight:400}.plan-save-status{font-size:.875rem;color:#34d399;white-space:nowrap}.plan-save-status-dirty{color:#f59e0b}.run-saved-badge{font-size:.9rem;font-weight:600;color:#34d399}.plan-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.plan-item{border:1px solid #2a2f3a;border-radius:6px;overflow:hidden}.plan-item-loaded{border-color:#3b82f6}.plan-item-header{width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#1a1f2e;border:none;cursor:pointer;text-align:left;color:inherit;font-size:1rem}.plan-item-loaded .plan-item-header{background:#3b82f614}.plan-item-header:hover{background:#22293a}.plan-item-chevron{font-size:.8rem;color:#64748b;flex-shrink:0}.plan-item-name{font-weight:600;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-item-badge{flex-shrink:0;font-size:.85rem;padding:2px 8px;border-radius:10px;font-weight:600}.plan-item-badge-loaded{background:#3b82f633;color:#93c5fd}.plan-item-meta{flex-shrink:0;font-size:.875rem;color:#64748b;white-space:nowrap}.plan-item-body{padding:10px 12px;background:#131720;border-top:1px solid #2a2f3a}.plan-item-actions{display:flex;gap:8px;margin-bottom:10px}.run-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.run-item{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:4px;background:#1a1f2e;font-size:.9rem}.run-item-num{color:#64748b;font-size:.875rem;width:2.5rem;flex-shrink:0}.run-item-date{flex:1;color:#94a3b8}.run-item-time{font-family:JetBrains Mono,monospace;font-size:.9rem;color:#e2e8f0;flex-shrink:0}.run-item-restore{flex-shrink:0;font-size:.875rem;padding:3px 8px;background:transparent;border:1px solid #475569;color:#94a3b8;border-radius:4px;cursor:pointer}.run-item-restore:hover{border-color:#60a5fa;color:#93c5fd}.run-item-delete{flex-shrink:0;font-size:.875rem;padding:3px 8px;background:transparent;border:1px solid #ef4444;color:#ef4444;border-radius:4px;cursor:pointer}.run-item-delete:hover{background:#ef44441a}.run-list-empty{font-size:.9rem;margin:4px 0 0;color:#6b7280}.plan-item-header-review{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#1a1f2e;flex-wrap:wrap}.plan-item-select-btn{display:flex;align-items:center;gap:8px;flex:1;min-width:0;border:none;background:transparent;padding:0;cursor:pointer;color:inherit;font-size:1rem;text-align:left}.plan-item-select-btn:hover .plan-item-name{color:#93c5fd}.plan-item-reviewing .plan-item-header-review{background:#818cf814}.plan-item-reviewing .plan-item-select-btn .plan-item-name{color:#a5b4fc}.plan-item-actions-inline{display:flex;gap:6px;flex-shrink:0}.btn-sm{font-size:.85rem;padding:4px 10px}.delete-all-area{margin-top:16px;padding-top:14px;border-top:1px solid #2a2f3a;display:flex;justify-content:flex-end}.btn-delete-all{font-size:.85rem;padding:5px 12px;color:#6b7280;border-color:#374151;background:transparent}.btn-delete-all:hover{color:#f87171;border-color:#f8717166;background:#f871710f}.review-run-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:14px;border-top:1px solid #2a2f3a}.btn-restore-run{font-size:.85rem;font-weight:600;padding:6px 14px;border-color:#475569;background:transparent;color:#94a3b8;white-space:nowrap}.btn-restore-run:hover{border-color:#60a5fa;color:#93c5fd}.review-tab{padding:16px}.review-plan-selector{display:flex;align-items:center;gap:10px;margin-bottom:16px}.review-plan-selector label{font-size:.85rem;color:#94a3b8;flex-shrink:0}.review-plan-selector select{flex:1}.review-run-nav{display:flex;align-items:flex-start;gap:6px;margin-bottom:12px}.review-nav-btn{flex-shrink:0;width:2rem;height:2rem;padding:0;font-size:1rem;display:flex;align-items:center;justify-content:center;margin-top:2px}.review-run-tabs{display:flex;flex-wrap:wrap;gap:4px;flex:1}.review-run-tab{display:flex;flex-direction:column;align-items:center;padding:4px 10px;border-radius:6px;border:1px solid #2a2f3a;background:#1a1f2e;cursor:pointer;color:#94a3b8;gap:1px;min-width:4rem}.review-run-tab:hover{background:#22293a;border-color:#3b82f6}.review-run-tab.active{background:#3b82f626;border-color:#3b82f6;color:#e2e8f0}.review-run-tab-num{font-size:.82rem;font-weight:600}.review-run-tab-date{font-size:.78rem;white-space:nowrap}.review-run-summary{display:flex;align-items:baseline;gap:10px;padding:8px 12px;background:#131720;border-radius:6px;margin-bottom:12px}.review-run-summary-label{font-size:.88rem;color:#64748b}.review-run-summary-time{font-family:JetBrains Mono,monospace;font-size:1.1rem;color:#e2e8f0;letter-spacing:.02em}.review-record-table{width:100%}.review-no-record{color:#475569;font-size:.88rem}.btn-save-primary{font-weight:600;white-space:nowrap;border-color:#60a5fa;background:#60a5fa24;box-shadow:inset 0 0 0 1px #60a5fa66}.btn-save-primary:hover{background:#60a5fa38}.btn-danger{font-size:.85rem;color:#f87171;border-color:#f8717159;background:transparent}.btn-danger:hover:not(:disabled){background:#f871711a;border-color:#f87171}.btn-danger:disabled{opacity:.35}.even-split-card{padding:12px 16px}.even-split-card-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.even-split-card-left{flex:1;min-width:0}.even-split-card-left .panel-heading{margin-bottom:4px;border-bottom:none;padding-bottom:0;color:#94a3b8}.even-split-desc{margin:0;font-size:.85rem;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.even-split-goal-ref{font-family:JetBrains Mono,monospace;font-size:.88em;color:#94a3b8;letter-spacing:.03em}.even-split-card-right{display:flex;align-items:center;gap:10px;flex-shrink:0;flex-wrap:wrap}.even-split-action-hint{margin:0;font-size:.88rem}.btn-even-split{padding:8px 16px;font-size:.9rem;font-weight:600;white-space:nowrap;border-color:#818cf8;background:#818cf824;box-shadow:inset 0 0 0 1px #818cf866}.btn-even-split:hover:not(:disabled){background:#818cf83d}.btn-even-split:disabled{opacity:.4;cursor:not-allowed}.flow-cta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:4px 0 8px}.btn-flow-next{padding:12px 20px;font-size:1rem;font-weight:650;border-color:#3b82f6;background:#3b82f62e;box-shadow:inset 0 0 0 1px #3b82f673}.btn-flow-next:hover:not(:disabled){background:#3b82f647}.btn-flow-next:disabled{opacity:.4;cursor:not-allowed}.flow-cta-hint{margin:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.modal{background:#1e2330;border:1px solid #2a2f3a;border-radius:14px;width:100%;max-width:480px;box-shadow:0 24px 64px #0000008c}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 14px;border-bottom:1px solid #2a2f3a}.modal-title{margin:0;font-size:1.05rem;font-weight:650}.modal-close{background:transparent;border:none;color:#6b7280;font-size:1rem;padding:4px 7px;line-height:1;border-radius:6px}.modal-close:hover{color:#9ca3af;background:#ffffff12}.modal-body{padding:16px 20px 20px;display:grid;gap:0}.finished-save-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:4px 0 8px}.btn-finished-save{padding:11px 20px;font-size:.97rem;font-weight:650;white-space:nowrap;border-color:#fcd34d;background:#fcd34d24;box-shadow:inset 0 0 0 1px #fcd34d66;color:#fcd34d}.btn-finished-save:hover{background:#fcd34d38}.finished-save-hint{margin:0;font-size:.85rem}.save-section-next-run{background:#fcd34d0a;border:1px solid rgba(252,211,77,.2);border-radius:8px;padding:12px;margin-top:4px}.btn-next-run{font-weight:600;font-size:.92rem;border-color:#fcd34d80;background:#fcd34d1a;color:#fcd34d}.btn-next-run:hover{background:#fcd34d33}.save-just-saved{color:#34d399;font-size:.88rem;margin:8px 0 0}.tab-dirty-dot,.tab-running-dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin-left:5px;vertical-align:middle;margin-bottom:1px}.tab-dirty-dot{background:#f87171}.tab-running-dot{background:#34d399;animation:dot-pulse 1.4s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.35}}.run-status-badge{display:inline-block;font-size:.88rem;font-weight:600;letter-spacing:.03em;padding:3px 10px;border-radius:999px;margin-bottom:4px}.run-status-badge.clock-idle{color:#6b7280;background:#6b728026}.run-status-badge.clock-running{color:#34d399;background:#34d39926}.run-status-badge.clock-paused{color:#fbbf24;background:#fbbf2426}.run-status-badge.clock-finished{color:#fcd34d;background:#fcd34d26}.play-running-clock.clock-running .running-clock-hms,.play-running-clock.clock-running .running-clock-ms{color:#34d399}.play-running-clock.clock-paused .running-clock-hms,.play-running-clock.clock-paused .running-clock-ms{color:#fbbf24}.play-running-clock.clock-finished .running-clock-hms,.play-running-clock.clock-finished .running-clock-ms{color:#fcd34d}.btn-run-toggle-start{border-color:#34d399;background:#34d39924;box-shadow:inset 0 0 0 1px #34d39966;color:#34d399}.btn-run-toggle-start:hover{background:#34d3993d}.btn-run-toggle-pause{border-color:#fbbf24;background:#fbbf2424;box-shadow:inset 0 0 0 1px #fbbf2466;color:#fbbf24}.btn-run-toggle-pause:hover{background:#fbbf243d}.btn-run-toggle-finished{border-color:#fcd34d;background:#fcd34d1f;color:#fcd34d;opacity:.7;cursor:default}.next-record{outline:2px solid #60a5fa;outline-offset:-2px;background:#60a5fa12}.next-indicator{color:#60a5fa;font-size:.7em;margin-right:5px;vertical-align:middle}.live-clock{font-family:JetBrains Mono,monospace;font-variant-numeric:tabular-nums;font-weight:600;font-size:.9rem;letter-spacing:.02em;white-space:nowrap}.live-clock-ms{font-size:.8em}.record-td-live .live-clock{color:#34d399}.record-td-paused-live .live-clock{color:#fbbf24}.delta-ok{color:#34d399;font-weight:600}.delta-over{color:#f87171;font-weight:600}.save-name-modal-field{display:flex;flex-direction:column;gap:6px}.save-name-modal-label{font-size:.88rem;color:#94a3b8}.save-name-modal-input{width:100%;box-sizing:border-box;font-size:1rem;font-weight:600}.run-section-label{font-size:.875rem;font-weight:600;color:#9ca3af;margin:10px 0 6px;padding-top:10px;border-top:1px solid #2a2f3a}.goal-label-badge{display:inline-flex;align-items:center;justify-content:center;padding:2px 8px;border-radius:4px;background:#fbbf2426;border:1px solid rgba(251,191,36,.35);color:#fbbf24;font-size:.78rem;font-weight:700;letter-spacing:.04em;white-space:nowrap}.goal-row td,tr.task-row-goal td{border-top:2px solid rgba(251,191,36,.25);background:#fbbf2408}.goal-time-ref{font-family:JetBrains Mono,monospace;font-size:.9rem;color:#fbbf24;letter-spacing:.02em}.goal-empty-row{display:flex;align-items:center;gap:12px;margin-top:12px;padding:10px 12px;border:1px solid rgba(251,191,36,.25);border-radius:8px;background:#fbbf2408}.time-number-input{display:inline-flex;align-items:center;gap:3px}.time-num-field{width:3.2rem;text-align:center;font-family:JetBrains Mono,monospace;font-size:.9rem;padding:5px 4px;-moz-appearance:textfield}.time-num-field::-webkit-outer-spin-button,.time-num-field::-webkit-inner-spin-button{-webkit-appearance:none}.time-number-unit{font-size:.85rem;color:#6b7280;font-weight:600;margin-right:2px}.modal-wide{max-width:560px}.import-template-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #2a2f3a}.import-json-section{display:flex;flex-direction:column;gap:6px}.import-section-label{font-size:.85rem;font-weight:700;letter-spacing:.05em;color:#64748b;margin:0 0 8px;text-transform:uppercase}.template-list{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #2a2f3a}.template-buttons{display:flex;flex-wrap:wrap;gap:6px}.btn-template{font-size:.88rem;padding:5px 12px;border-color:#475569;background:transparent;color:#94a3b8;white-space:nowrap}.btn-template:hover{border-color:#818cf8;color:#a5b4fc;background:#818cf814}.import-form{display:flex;flex-direction:column;gap:8px}.import-dropzone{display:flex;align-items:center;justify-content:center;min-height:110px;border:2px dashed #2a2f3a;border-radius:8px;background:#0f1115;cursor:pointer;transition:border-color .15s,background .15s;text-align:center;padding:16px}.import-dropzone:hover,.import-dropzone--over{border-color:#6366f1;background:#1a1d2e}.import-dropzone--loaded{border-style:solid;border-color:#4ade80}.import-dropzone-hint{font-size:.88rem;color:#64748b;line-height:1.6}.import-dropzone-filename{font-family:JetBrains Mono,monospace;font-size:.88rem;color:#4ade80}.import-error{margin:0;font-size:.88rem;color:#f87171}.import-actions{display:flex;gap:8px}.task-name-cell{cursor:text}.task-name-display{display:inline-block;border-radius:4px;padding:2px 5px;margin:-2px -5px;transition:background .12s;color:#e2e8f0;font-weight:500}.task-name-cell:hover .task-name-display{background:#ffffff0f}.task-name-placeholder{color:#4b5563;font-style:italic;font-weight:400}.name-edit-input{width:100%;box-sizing:border-box;font-size:inherit;padding:3px 6px;border-color:#60a5fa;background:#0f1115;color:#f3f4f6;outline:none;box-shadow:0 0 0 2px #60a5fa40}.settings-card{display:flex;flex-direction:column;gap:12px}.settings-header-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.settings-header-row .panel-heading{margin:0;flex:1 1 auto}.settings-bulk-actions{display:flex;gap:8px;flex-shrink:0}.settings-desc{margin:0;font-size:.85rem;color:#9ca3af}.confirm-settings-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:4px 16px}.confirm-settings-item{padding:4px 0}.confirm-settings-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.9rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.confirm-settings-label input[type=checkbox]{width:15px;height:15px;flex-shrink:0;accent-color:#60a5fa;cursor:pointer}.settings-note{margin:4px 0 0;font-size:.8rem;color:#6b7280}.version-link{font-size:1rem;font-weight:600;color:#4b5563;background:transparent;border:none;padding:4px 6px;cursor:pointer;border-radius:4px;letter-spacing:.03em;flex-shrink:0;transition:color .15s}.version-link:hover{color:#9ca3af}.rn-modal{max-width:540px;max-height:80vh;display:flex;flex-direction:column}.rn-body{overflow-y:auto;display:block!important}.rn-h1{font-size:1.1rem;font-weight:700;color:#f3f4f6;margin:0 0 16px}.rn-h2{font-size:1rem;font-weight:700;color:#93c5fd;margin:20px 0 8px;padding-bottom:6px;border-bottom:1px solid #2a2f3a}.rn-h2:first-child{margin-top:0}.rn-h3{font-size:.88rem;font-weight:700;letter-spacing:.05em;color:#64748b;text-transform:uppercase;margin:12px 0 4px}.rn-list{margin:0 0 8px 1.2rem;padding:0;display:flex;flex-direction:column;gap:4px}.rn-list li{font-size:.92rem;color:#d1d5db;line-height:1.55}.rn-p{font-size:.92rem;color:#9ca3af;margin:4px 0;line-height:1.55}
