:root{scrollbar-gutter:stable;color-scheme:dark;font-family:Inter,Hiragino Sans,Yu Gothic UI,system-ui,sans-serif;background:#0e1116;color:#f4f7fb}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,rgba(47,84,126,.18),transparent 320px),#0e1116}button,input,textarea{font:inherit}button{border:1px solid #3a4658;border-radius:8px;background:#161c25;color:#e9eef7;padding:8px 10px;cursor:pointer}button:hover:not(:disabled){border-color:#6aa1d8;background:#1b2634}button:disabled{cursor:not-allowed;opacity:.38}input,textarea{width:100%;border:1px solid #344154;border-radius:8px;background:#0f141c;color:#f4f7fb;padding:9px 10px}textarea{resize:vertical;line-height:1.55}.app{width:min(1280px,100%);margin:0 auto;padding:24px 16px;display:grid;gap:18px}.app-header{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,520px);gap:20px;align-items:end}.eyebrow{margin:0 0 6px;color:#7aa7d9;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}h1,h2{margin:0}h1{font-size:clamp(2rem,6vw,4.6rem);line-height:.98;letter-spacing:0}h2{font-size:1rem;color:#d8e2ef}.header-fields{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;align-items:end}label{display:grid;gap:6px;color:#92a0b3;font-size:.86rem;font-weight:650}.view-mode-button{min-height:39px;white-space:nowrap;border-color:#6aa1d8;background:#6aa1d81f;font-weight:700}.edit-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.edit-header-actions button{min-height:39px;white-space:nowrap}.edit-save-status{margin:-6px 0 0;color:#8ee6a8;font-size:.9rem;font-weight:800}.edit-save-status.unsaved{color:#f2c66d}.list-app{min-height:100vh;align-content:start}.list-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.list-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.version-link{min-height:32px;padding:4px 7px;border:none;background:transparent;color:#607086;font-family:JetBrains Mono,monospace;font-size:.88rem;font-weight:800}.version-link:hover{color:#9cc8f5;background:#6aa1d814}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px;background:#0000009e}.modal{width:min(540px,100%);max-height:82vh;border:1px solid #2b3545;border-radius:10px;background:#151a22;box-shadow:0 24px 70px #0000008a}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #263141}.modal-title{margin:0;font-size:1rem}.modal-close{width:2rem;height:2rem;padding:0;border:none;background:transparent;color:#8796aa;font-weight:800}.modal-close:hover{color:#f4f7fb;background:#ffffff0f}.modal-body{padding:16px}.rn-modal{display:flex;flex-direction:column}.rn-body{display:block;overflow-y:auto}.rn-h1{margin:0 0 14px;color:#f4f7fb;font-size:1.1rem}.rn-h2{margin:18px 0 8px;padding-bottom:6px;border-bottom:1px solid #263141;color:#9cc8f5;font-size:1rem}.rn-h2:first-child{margin-top:0}.rn-h3{margin:14px 0 6px;color:#8796aa;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.rn-list{margin:0 0 8px 1.2rem;padding:0;display:grid;gap:5px}.rn-list li,.rn-p{color:#d7e1ee;font-size:.92rem;line-height:1.55}.rn-p{margin:4px 0 10px}.plan-list-panel{overflow:hidden}.plan-list-head{align-items:center}.plan-list-head>div:first-child{display:grid;gap:4px}.plan-list-toolbar{padding:10px 16px;border-bottom:1px solid #263141;background:#121a25}.io-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-start}.hidden-file-input{display:none}.empty-plan-list{display:grid;gap:14px;padding:20px 16px;color:#8796aa}.empty-plan-list p{margin:0}.empty-plan-list button{justify-self:start}.plan-list{list-style:none;margin:0;padding:0;display:grid}.plan-list-item{display:grid;grid-template-columns:2rem minmax(0,1fr) auto;gap:14px;align-items:center;padding:16px;border-top:1px solid #263141}.plan-select-check{display:grid;place-items:center}.plan-select-check input{width:18px;height:18px;accent-color:#6aa1d8}.plan-list-info{min-width:0;display:grid;gap:5px}.plan-list-info strong{color:#f4f7fb;font-size:1.05rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-list-info span,.plan-list-info small{color:#8796aa;font-size:.86rem;line-height:1.4}.plan-list-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.view-app{min-height:100vh;align-content:start}.view-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.view-header h1{font-size:clamp(2.2rem,6vw,4.2rem)}.view-header-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.view-stage{width:min(820px,100%);margin:0 auto;display:grid;gap:14px}.view-controls{display:grid;grid-template-columns:3rem minmax(0,1fr) 3rem;gap:8px}.view-controls button{min-height:44px;font-size:1.1rem;font-weight:800}.view-controls select{min-width:0;border:1px solid #344154;border-radius:8px;background:#0f141c;color:#f4f7fb;padding:9px 10px;font:inherit;font-weight:700}.view-summary{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:1px;overflow:hidden;border:1px solid #2b3545;border-radius:8px;background:#2b3545}.view-summary div{display:grid;gap:7px;padding:14px 16px;background:#151b24}.view-summary div:first-child{background:linear-gradient(135deg,#122033,#172918)}.view-summary span{color:#8897ab;font-size:.8rem;font-weight:800}.view-summary strong{color:#f4f7fb;font-family:JetBrains Mono,monospace;font-size:clamp(1.1rem,4vw,1.7rem);overflow-wrap:anywhere}.view-summary small{color:#a9b7c9;font-size:.82rem;font-weight:700;line-height:1.35}.view-summary div:first-child strong{color:#8ee6a8;font-size:clamp(1rem,3vw,1.45rem)}.view-summary-finish{align-content:start}.view-adjust-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,3.2rem));gap:5px;margin-top:2px}.view-adjust-buttons button,.view-task-adjust button{min-width:0;padding:6px;border-radius:6px;border-color:#3c5067;background:#6aa1d81f;color:#dbeafe;font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:800}.view-timeline-panel{position:static;background:#12314d}.view-timeline-panel .panel-head{background:#12314d85}.view-plan-count{color:#8fb9e4;font-family:JetBrains Mono,monospace;font-size:.86rem;font-weight:700}.view-timeline{padding:18px 20px 22px}.view-timeline .timeline-point{grid-template-columns:minmax(10rem,14rem) minmax(0,1fr);min-height:64px}.view-timeline .timeline-point time{color:#dbeafe;font-size:1rem}.view-timeline .timeline-point span{font-size:1.05rem}.view-timeline .timeline-point small{color:#9cc8f5}.view-task-adjust{grid-column:2;display:grid;grid-template-columns:repeat(4,minmax(2.4rem,3rem));gap:5px;margin-top:-8px}.actual-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:10px 12px;border:1px solid #2b3545;border-radius:8px;background:#151b24}.actual-toolbar span{margin-right:auto;color:#8ee6a8;font-size:.86rem;font-weight:800}.adjust-actual-toolbar span{color:#9cc8f5}.actual-label-button{min-width:0;width:fit-content;max-width:100%;display:grid;gap:3px;justify-items:start;padding:4px 8px;border-color:#6aa1d861;background:#6aa1d81a;text-align:left}.actual-record-cell{display:grid;gap:7px;justify-items:start;min-width:0}.actual-label-button span{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actual-label-button small{grid-column:1;color:#93e1aa;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:800;white-space:normal}.actual-label-button.recorded{border-color:#8ee6a87a;background:#8ee6a81f}.actual-time-editor{display:grid;grid-template-columns:minmax(7.6rem,8.6rem) minmax(9rem,12rem);gap:6px;align-items:end}.actual-time-editor label{gap:3px;color:#93e1aa;font-size:.72rem;font-weight:800}.actual-time-editor input{min-height:34px;padding:5px 7px;font-family:JetBrains Mono,monospace;font-size:.88rem}.actual-time-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.actual-time-stepper button{min-width:0;min-height:34px;padding:5px 4px;border-radius:6px;border-color:#3c5067;background:#6aa1d81a;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:800}.timeline-label-with-actual{display:grid;gap:3px}.timeline-label-with-actual small{color:#93e1aa;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:800}.timeline-duration-review{display:grid;gap:5px}.timeline-duration-review>span:first-child{color:#9cc8f5;font-size:.78rem;font-weight:800}.actual-duration-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.actual-duration-line strong{color:#93e1aa;font-size:.95rem;font-weight:800}.actual-duration-line em{display:inline-grid;min-height:1.45rem;align-items:center;padding:2px 7px;border-radius:999px;border:1px solid rgba(148,163,184,.28);background:#94a3b81a;color:#cbd5e1;font-style:normal;font-size:.72rem;font-weight:900}.actual-duration-line em.is-under{border-color:#8ee6a859;background:#8ee6a81f;color:#a7f3b7}.actual-duration-line em.is-over{border-color:#f2c66d61;background:#f2c66d1f;color:#f8d98a}.actual-duration-line em.is-even{border-color:#9cc8f552;background:#6aa1d81f;color:#bfdbfe}.view-empty{width:min(620px,100%);margin:0 auto;padding:18px;display:grid;gap:14px}.summary-band{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:1px;overflow:hidden;border:1px solid #2b3545;border-radius:8px;background:#2b3545}.summary-item{min-width:0;display:grid;gap:8px;padding:16px;background:#151b24}.summary-item span{color:#8897ab;font-size:.82rem;font-weight:700}.summary-item strong{font-family:JetBrains Mono,monospace;font-size:1.45rem;line-height:1.1;overflow-wrap:anywhere}.summary-primary{background:linear-gradient(135deg,#122033,#172918)}.summary-primary strong{color:#8ee6a8;font-size:clamp(1.45rem,3.2vw,2.15rem);line-height:1.18}.summary-primary small{color:#b8c7da;font-size:.86rem;font-weight:700;line-height:1.4}.goal-time-input{max-width:12rem;font-family:JetBrains Mono,monospace;font-size:1.35rem;font-weight:700}.time-stepper{display:grid;gap:8px}.stepper-buttons{display:flex;gap:4px;flex-wrap:wrap}.stepper-buttons button{min-width:2.8rem;padding:6px 8px;border-radius:6px;color:#c8d4e3;font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:700}.goal-stepper-buttons{display:grid;gap:5px;justify-items:start}.goal-stepper-buttons .stepper-buttons{display:grid;grid-template-columns:repeat(3,3.2rem)}.goal-stepper-buttons button{min-width:3.1rem;border-color:#3c5067;background:#6aa1d81a}.workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.panel{min-width:0;border:1px solid #2b3545;border-radius:8px;background:#151a22}.task-panel{container-type:inline-size}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:14px 16px;border-bottom:1px solid #2b3545}.task-panel>.panel-head{display:grid;grid-template-columns:auto minmax(0,1fr)}.task-panel-actions{display:grid;width:100%;grid-template-columns:minmax(0,1fr) 10.5rem;align-items:center;gap:8px;justify-content:flex-end;max-width:100%}.task-mode-tabs{display:inline-grid;grid-column:2;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;border:1px solid #2b3545;border-radius:8px;background:#101720}.minute-set-slot{grid-column:1;grid-row:1;min-width:0}.minute-set-slot.is-placeholder{visibility:hidden;pointer-events:none}.minute-set-tabs{display:inline-grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;border:1px solid #2b3545;border-radius:8px;background:#101720}@container (max-width: 520px){.task-panel>.panel-head{grid-template-columns:1fr}.task-panel-actions{grid-template-columns:1fr;justify-items:end}.task-mode-tabs{grid-column:1;grid-row:2;width:10.5rem;justify-self:end}.minute-set-slot{grid-column:1;grid-row:1}.minute-set-slot.is-placeholder{display:none}}.task-mode-tabs button,.minute-set-tabs button{min-width:0;padding:6px 9px;border:none;border-radius:6px;background:transparent;color:#8796aa;font-size:.84rem;font-weight:800;white-space:nowrap}.task-mode-tabs button.active,.minute-set-tabs button.active{background:#6aa1d829;color:#dbeafe}.primary-button{border-color:#6aa1d8;background:#4780bc2e;font-weight:700}.danger-button{color:#ff9b9b;border-color:#ff74745c}.save-status{margin:0;color:#8ee6a8;font-size:.84rem;font-weight:700}.task-table{display:grid}.task-row{display:grid;grid-template-columns:4.5rem minmax(170px,1fr) minmax(150px,170px) 3.2rem;gap:10px;align-items:center;min-height:72px;padding:10px 14px;border-bottom:1px solid #263141}.task-row-normal,.task-row-adjust{grid-template-columns:4.5rem minmax(150px,1fr) minmax(6rem,10rem)}.task-row-edit{grid-template-columns:4.5rem minmax(120px,1fr) minmax(118px,140px) 3.2rem;gap:8px}.task-row-normal{min-height:54px}.task-row-adjust{min-height:82px}.task-row-head{min-height:auto;color:#7f8da0;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.task-index{color:#94a3b8;font-family:JetBrains Mono,monospace;text-align:center}.task-name-display{min-width:0;color:#f4f7fb;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-order-cell{display:grid;grid-template-columns:2.1rem minmax(0,1fr);gap:6px;align-items:center}.drag-handle{display:inline-grid;place-items:center;width:2.1rem;height:2.45rem;padding:0;border-color:#3c5067;background:#6aa1d814;color:#8fb9e4;font-size:1.1rem;font-weight:800;line-height:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.drag-handle:active{cursor:grabbing}.task-row.dragging{position:relative;z-index:2;background:#6aa1d821;box-shadow:inset 0 0 0 1px #6aa1d899}.minutes-field{display:grid;gap:5px;color:#93a1b4}.duration-input-line{display:grid;grid-template-columns:minmax(0,1fr) 2rem;gap:6px;align-items:center}.duration-input-line input{font-family:JetBrains Mono,monospace;text-align:right}.duration-display{display:block;min-width:0;padding:2px 0;color:#f4f7fb;font-family:JetBrains Mono,monospace;font-size:1.05rem;text-align:right}.minute-stepper-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.minute-stepper-buttons button{min-width:0;padding:5px 4px;font-size:.72rem}.row-actions{display:flex;justify-content:flex-end}.row-actions .danger-button{min-width:3.5rem;white-space:nowrap}.bulk-box{display:grid;gap:9px;padding:14px}.bulk-box button{justify-self:start}.add-task-box{display:grid;gap:9px;padding:14px;border-bottom:1px solid #263141}.add-task-form{display:grid;grid-template-columns:minmax(120px,1fr) minmax(72px,86px) minmax(176px,204px) auto;gap:8px;align-items:start}.add-task-minutes{display:grid;grid-template-columns:minmax(0,1fr) 2rem;gap:6px;align-items:center;color:#93a1b4}.add-task-minutes input{font-family:JetBrains Mono,monospace;text-align:right}.add-task-stepper-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.add-task-stepper-buttons button{min-width:0;min-height:36px;padding:8px 5px;font-size:.74rem}.add-task-form>.primary-button{min-width:42px;padding-inline:7px;white-space:nowrap}.timeline-panel{position:sticky;top:16px}.timeline-heading{display:grid;gap:3px;min-width:0}.timeline-heading span{color:#7aa7d9;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.timeline-heading h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline{list-style:none;margin:0;padding:14px 16px 18px;display:grid;gap:0}.timeline-point{position:relative;display:grid;grid-template-columns:13rem minmax(0,1fr);gap:10px;min-height:54px;padding:0 0 16px 22px}.timeline-point:before{content:"";position:absolute;left:3px;top:5px;width:9px;height:9px;border-radius:50%;background:#6aa1d8;box-shadow:0 0 0 4px #6aa1d824}.timeline-point:after{content:"";position:absolute;left:7px;top:19px;bottom:3px;width:1px;background:#2f3b4d}.timeline-point:last-child:after{display:none}.timeline-point time{color:#c7d2e1;font-family:JetBrains Mono,monospace;font-size:.9rem;line-height:1.45;white-space:nowrap}.timeline-point span{min-width:0;color:#f2f6fb;font-weight:700}.timeline-point small{grid-column:2;color:#8796aa;font-size:.82rem}.timeline-point .actual-label-button small{grid-column:1;color:#93e1aa;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:800}.timeline-point.start:before{background:#8ee6a8;box-shadow:0 0 0 4px #8ee6a829}.timeline-point.finish:before{background:#f2c66d;box-shadow:0 0 0 4px #f2c66d29}@media (max-width: 880px){.app{padding:16px}.app-header,.header-fields,.summary-band,.workspace,.view-summary{grid-template-columns:1fr}.view-header,.list-header{align-items:flex-start;flex-direction:column}.view-header-actions,.edit-header-actions,.list-header-actions,.plan-list-actions,.io-actions{justify-content:flex-start}.plan-list-toolbar{padding:10px 14px}.plan-list-item{grid-template-columns:2rem minmax(0,1fr)}.plan-list-actions{grid-column:2}.task-panel-actions{justify-content:flex-start}.timeline-panel{position:static}.view-stage{margin:0}}@media (max-width: 620px){.task-row,.task-row-head,.task-row-normal,.task-row-adjust{grid-template-columns:4.5rem minmax(0,1fr)}.task-row-head span:nth-child(3),.task-row-head span:nth-child(4){display:none}.minutes-field,.row-actions{grid-column:2}.row-actions{justify-content:flex-start}.minutes-field{max-width:18rem}.task-row-normal .minutes-field{max-width:7rem}.add-task-form{grid-template-columns:1fr}.add-task-minutes{max-width:10rem}.add-task-stepper-buttons{width:min(100%,19rem);max-width:none}.minute-stepper-buttons button{min-width:0}.timeline-point{grid-template-columns:1fr;gap:3px}.view-timeline .timeline-point{grid-template-columns:1fr}.view-task-adjust{grid-column:1;margin-top:0}.actual-toolbar{justify-content:flex-start}.actual-toolbar span{width:100%;margin-right:0}.actual-time-editor{width:min(100%,18rem);grid-template-columns:1fr}.timeline-point small{grid-column:1}}
