:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#1a2c47;background:#f4f7fb;font-size:13px;font-synthesis:none;--blue:#2b68ed;--line:#e1e8f2;--label-width:172px;--track-width:660px;--surface:#fff}*{box-sizing:border-box}body{margin:0}button,select,a{touch-action:manipulation}button,select{font:inherit;color:inherit;border:1px solid #d7e1ef;background:white;border-radius:6px;min-height:32px}button{cursor:pointer;padding:5px 11px}button:hover{background:#f1f6ff}button:focus-visible,a:focus-visible,select:focus-visible,#timeline-scroll:focus-visible{outline:2px solid #2b68ed;outline-offset:2px}button:disabled{opacity:.5;cursor:wait}a{color:#245fcf}h1,h2,p{margin:0}#app{max-width:1500px;margin:0 auto;background:#fff;min-height:100dvh}.app-header{display:flex;align-items:center;gap:10px;height:56px;padding:0 17px;border-bottom:1px solid var(--line);background:#f9fbff}h1{display:flex;gap:9px;align-items:center;font-size:19px;letter-spacing:-.5px}h1 svg{width:24px;height:24px;fill:var(--blue)}.read-only{margin-left:auto;font-size:10px;color:#6a7f9a;border:1px solid var(--line);border-radius:4px;padding:3px 5px;white-space:nowrap}.icon-button{border-color:transparent;background:transparent;font-size:23px;width:34px;padding:0;line-height:1}.connection-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:32px;padding:7px 17px;background:#fff;font-size:11px;border-bottom:1px solid var(--line);color:#73849a}#connection{display:flex;gap:6px;align-items:center;line-height:1.4}#connection::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#9aa9bc;flex-shrink:0}#connection.is-live::before{background:#249968}#connection.is-stale::before{background:#d19a30}#summary{white-space:nowrap;color:#6f819b}.toolbar{height:46px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}#view-date{font-size:12px;font-weight:600}.toolbar-actions{display:flex;gap:7px}#now-button{background:#edf4ff;color:#225fce;border-color:#cfe0ff}#zoom{width:90px;padding:0 7px}.legend{display:flex;gap:13px;padding:9px 17px;font-size:10px;color:#718099;min-height:33px}.legend span{display:flex;align-items:center;gap:4px;white-space:nowrap}.legend i{width:8px;height:8px;border-radius:2px;display:inline-block}.legend-you{background:var(--blue)}.legend-waiting{border:1px dashed #d8a32f;background:#fff7df}.legend-ready{background:#29966d}.legend .pan-hint{margin-left:auto;color:#8b99ad}#timeline-scroll{overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#cdd8e8 #f5f8fc;max-height:calc(100dvh - 222px);min-height:180px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}#timeline{width:calc(var(--label-width) + var(--track-width));min-width:100%}.timeline-row{display:grid;grid-template-columns:var(--label-width) var(--track-width);min-height:58px;border-bottom:1px solid var(--line)}.timeline-row:last-child{border-bottom:0}.lane-label{position:sticky;left:0;z-index:3;min-width:0;border-right:1px solid #d9e3f0;box-shadow:3px 0 6px #edf2f870;background:white;padding:11px 11px;display:flex;align-items:center;gap:8px;text-align:left;border-radius:0;border-top:0;border-bottom:0;border-left:0}.lane-label:hover{background:#f7faff}.task-copy{min-width:0;display:flex;flex-direction:column;gap:5px;flex:1}.task-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;line-height:1.25}.task-meta{font-size:10px;color:#7d8ca1;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.status-dot{width:7px;height:7px;border-radius:50%;flex:none;background:#b2bdcc}.status-dot.focus{background:var(--blue);box-shadow:0 0 0 3px #e6efff}.status-dot.waiting{background:#d5a12d}.status-dot.ready,.status-dot.completed{background:#239b6c}.priority-dot{display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:4px;vertical-align:1px}.priority-dot.high{background:#d95453}.priority-dot.medium{background:#c58b23}.priority-dot.low{background:#7285a1}.lane-track{position:relative;min-width:0;overflow:hidden;background:#fff}.timeline-row:nth-child(2n+1) .lane-track{background:#fcfdff}.ruler-row{position:sticky;top:0;z-index:6;min-height:35px;height:35px;background:#f8faff}.ruler-row .lane-label{font-size:10px;color:#8491a4;background:#f8faff;padding:10px 12px}.ruler-row .lane-track{overflow:visible;background:#f8faff}.tick{position:absolute;top:0;height:100%;border-left:1px solid #ebf0f7;pointer-events:none}.tick-label{position:absolute;top:11px;transform:translateX(-50%);font-size:10px;color:#8898ad;white-space:nowrap}.tick-label::after{content:"";position:absolute;top:17px;left:50%;height:7px;border-left:1px solid #cfdbec}.now-line{position:absolute;top:0;bottom:0;border-left:1px dashed #72a0ff;z-index:2;pointer-events:none}.now-label{position:absolute;top:6px;z-index:2;background:#eaf2ff;color:#2464da;padding:3px 6px;border-radius:4px;font-size:10px;font-weight:700;transform:translateX(-50%);white-space:nowrap}.segment{position:absolute;top:17px;height:25px;border-radius:4px;min-width:2px;padding:0 6px;border:1px solid;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:10px;white-space:nowrap;min-height:0}.segment span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.segment.focus{background:#3378f2;color:white;border-color:#2b6ee6}.segment.waiting{background:#fff7e2;color:#966b0a;border-color:#e6b74b;border-style:dashed}.segment.ready{background:#e1f4ea;color:#24835d;border-color:#a4d9bf}.segment.ready::before{content:"";width:5px;height:5px;background:#29966d;border-radius:50%;position:absolute;left:4px}.is-focused .lane-label{background:#eff5ff;box-shadow:inset 3px 0 var(--blue),3px 0 6px #edf2f870}.is-waiting .lane-label .task-copy,.is-waiting .status-dot{opacity:.4}.is-waiting .segment{opacity:.24}.is-waiting:focus-within .lane-label .task-copy,.is-waiting:focus-within .status-dot,.is-waiting:focus-within .segment{opacity:1}.is-completed .task-title{text-decoration:line-through;color:#8a98ac}.is-completed .segment{opacity:.45}.calendar-label{background:#f8fbff;align-items:center}.calendar-icon{width:16px;flex:none;fill:none;stroke:#4c78bd;stroke-width:1.4}.schedule-block{background:#e8f1ff;color:#396ba9;border-color:#c5d8f2;justify-content:flex-start}.schedule-block.kind-rest{background:#eff3f8;color:#6c7f98;border-color:#d8e1ec}.schedule-block.kind-routine,.schedule-block.kind-errand{background:#eaf4f5;color:#397c83;border-color:#c2e0e3}.schedule-block.kind-gym{background:#eaf5ee;color:#397b50;border-color:#c0ddca}.schedule-block.is-done{opacity:.6}.schedule-block.is-missed{opacity:.5;text-decoration:line-through}.schedule-block.is-actual{border-bottom:3px solid #6d9fdb}.empty-schedule{position:sticky;left:12px;display:inline-block;font-size:11px;color:#8b9bb2;padding:22px 12px;max-width:260px}.completed-toggle{font-size:11px;color:#70829d;border:0;display:block;width:100%;text-align:left;border-radius:0;padding:11px 17px;min-height:39px;background:#fafcff;border-bottom:1px solid var(--line)}footer{padding:12px 17px;font-size:10px;display:flex;gap:7px;justify-content:space-between;color:#94a1b4;line-height:1.5}.empty-tasks{padding:22px 17px;color:#7a8aa0;font-size:12px}.notice{padding:27px 18px;border-bottom:1px solid var(--line);background:#f9fbff}.notice h2{font-size:17px;margin-bottom:8px}.notice p{font-size:12px;color:#71829b;line-height:1.6;margin-bottom:18px}.notice-actions{display:flex;gap:8px;flex-wrap:wrap}.primary-button{background:#2b68ed;color:#fff;text-decoration:none;padding:8px 12px;display:inline-block;border-radius:6px;font-size:12px}dialog{border:1px solid #dbe4f1;border-radius:14px;box-shadow:0 16px 80px #162c4a29;padding:20px;width:min(420px,calc(100vw - 28px));color:#1a2c47}dialog::backdrop{background:#1f355d38;backdrop-filter:blur(2px)}.dialog-heading{display:flex;gap:10px;align-items:flex-start}.dialog-heading h2{font-size:18px;line-height:1.4;overflow-wrap:anywhere;flex:1}.dialog-heading button{margin:-6px -8px 0 0;flex:none}.detail-kind{font-size:12px;color:#6e84a5;margin:8px 0 20px}dl{display:grid;grid-template-columns:85px 1fr;gap:12px 10px;font-size:12px;margin:0}dt{color:#8391a5}dd{margin:0;overflow-wrap:anywhere}.detail-footer{border-top:1px solid var(--line);padding-top:15px;margin-top:22px;color:#99a5b7;font-size:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}@media(hover:hover){.is-waiting:hover .lane-label .task-copy,.is-waiting:hover .status-dot,.is-waiting:hover .segment{opacity:1}}@media(max-width:600px){:root{--label-width:130px}.app-header{height:50px;padding:0 12px}.connection-bar{padding:7px 12px;align-items:flex-start}#summary{display:none}.toolbar{padding:0 12px;height:44px}.legend{padding:9px 12px;gap:10px}.legend .pan-hint{font-size:0}.legend .pan-hint::after{content:"↔";font-size:15px;line-height:10px}.lane-label{padding:10px 8px;gap:6px}.task-title{font-size:11px}.task-meta{font-size:9px}.timeline-row{min-height:56px}.ruler-row{min-height:34px}.calendar-icon{width:14px}.segment{top:16px;height:24px}footer{padding:11px 12px;flex-direction:column;gap:2px}#timeline-scroll{max-height:calc(100dvh - 220px)}dialog{margin:auto 0 0;width:100%;max-width:none;border-radius:15px 15px 0 0;border-bottom:0;padding:20px 18px max(22px,env(safe-area-inset-bottom))}.completed-toggle{padding-left:12px}}
.schedule-block span{max-width:min(210px,calc(100vw - var(--label-width) - 22px))}
