@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,system-ui,sans-serif;color:#203248;background:#f3f6fa;font-synthesis:none;font-size:16px;--navy: #162b43;--blue: #245c93;--muted: #607086;--border: #dce4ed;--amber: #f2bb55;--red: #bd303e;--green: #14734d}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:9px;padding:10px 16px;font-weight:600;color:inherit;background:none}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4796df;outline-offset:3px}a{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,system-ui,sans-serif}h1{font-size:2rem;font-weight:800;letter-spacing:-1px;line-height:1.3}h2{font-size:1.35rem;letter-spacing:-.4px;line-height:1.4}h3{font-size:1.08rem}p{line-height:1.55}small{font-size:.875rem;color:var(--muted);line-height:1.4}input,select,textarea{width:100%;min-height:46px;border:1px solid #becbd9;border-radius:8px;padding:10px 12px;background:#fff;color:var(--navy)}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:7px;font-size:.95rem;font-weight:600}input[type=checkbox]{width:19px;min-height:19px;height:19px;flex-shrink:0;accent-color:var(--blue)}fieldset{padding:15px;border:1px solid var(--border);border-radius:9px;margin:0}legend{font-weight:600;font-size:.95rem;padding:0 5px}.app-header{background:var(--navy);color:#fff}.header-inner{max-width:1120px;margin:auto;min-height:84px;padding:16px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:1.35rem;font-weight:800;white-space:nowrap}.brand-mark{background:var(--amber);color:var(--navy);width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;font-family:Manrope,system-ui;font-size:1.55rem;font-weight:800}.header-right{display:flex;align-items:center;gap:25px}.connection{font-size:.875rem;display:flex;gap:7px;align-items:center;color:#ccdae9}.person-select select{color:#fff;background:#293f58;border:1px solid #536579;min-width:115px;padding-right:24px}.app-main{max-width:1120px;padding:30px 32px 10px;margin:auto}.preview-banner{font-size:.875rem;color:#785215;background:#fff4d9;padding:11px 15px;margin-bottom:24px;border-radius:8px;line-height:1.5}.day-header{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:28px}.eyebrow{font-size:.8rem;font-weight:700;color:var(--muted);letter-spacing:1.1px;text-transform:uppercase;line-height:1.6;margin-bottom:5px}.weather{display:flex;align-items:center;gap:13px}.weather>svg{color:#b97914;flex-shrink:0}.weather strong{display:block;font-size:1.12rem}.weather strong span{font-size:.95rem;font-weight:500}.weather p{font-size:.875rem;color:var(--muted);margin:3px 0}.weather small{font-size:.75rem}.weather a{text-decoration-color:#b2becb;text-underline-offset:3px}.main-nav{display:flex;gap:25px;border-bottom:1px solid var(--border);margin-bottom:24px}.main-nav button{border-radius:0;padding:12px 3px 15px;color:var(--muted);position:relative}.main-nav button.active{color:var(--navy)}.main-nav button.active:after{content:"";position:absolute;bottom:-1px;height:3px;border-radius:4px;background:var(--navy);left:0;right:0}.routine-selector{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:25px}.period-tabs{display:flex;border:1px solid var(--border);background:#e9eef5;border-radius:11px;padding:4px;gap:3px}.period-tabs button{padding:10px 18px;color:#647288;white-space:nowrap;font-size:.95rem}.period-tabs button.active{background:#fff;color:var(--navy);box-shadow:0 2px 5px #12283f13}.period-tabs button.active svg{color:#bd7d13}.auto-button{font-size:.8rem;color:var(--muted);padding:8px}.auto-button.selected{color:#3e6689}.routine-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:30px;align-items:start}.time-panel{background:var(--navy);color:#fff;border-radius:16px;padding:27px 24px;position:sticky;top:20px}.live-time{display:flex;flex-direction:column}.live-time .eyebrow{color:#a6bdd3}.live-time>strong{font-family:Manrope,system-ui;font-size:2.25rem;letter-spacing:-1px}.live-time>span:last-child{font-size:.8rem;color:#b5c7d9;margin-top:5px}.departure{border-top:1px solid #3a4c61;margin-top:24px;padding-top:22px;display:flex;flex-direction:column;gap:6px}.departure>span{font-size:.9rem;color:#c4d4e4}.departure>strong{font-size:1.18rem}.schedule-math{background:#fff;color:var(--navy);border-radius:11px;padding:17px 15px;margin-top:22px}.schedule-math>span{font-size:.8rem;display:flex;justify-content:space-between;gap:10px;align-items:center}.schedule-math>span strong{white-space:nowrap}.schedule-math>div{border-top:1px solid var(--border);margin-top:13px;padding-top:12px;display:flex;flex-direction:column;gap:1px}.schedule-math>div>strong{font-family:Manrope,system-ui;font-size:2.2rem;font-weight:800;line-height:1.3}.schedule-math small{color:inherit;font-size:1.05rem}.schedule-math>div>span{font-size:.875rem}.ahead{color:var(--green)}.behind{color:var(--red)}.time-note{color:#b6c8da;font-size:.8rem;line-height:1.6;margin-top:18px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:19px}.section-heading p:not(.eyebrow){font-size:.9rem;color:var(--muted);margin-top:5px}.count{font-size:.95rem;background:#e3eaf3;border-radius:8px;min-width:48px;text-align:center;padding:8px 10px;font-weight:700}.progress-track{height:5px;border-radius:5px;background:#dee7ee;overflow:hidden;margin-bottom:23px}.progress-track span{display:block;height:100%;background:var(--green);transition:width .2s}.task-list,.edit-list{list-style:none;padding:0;margin:0;display:grid;gap:10px}.task-card{border:1px solid var(--border);background:#fff;border-radius:12px;display:flex;gap:15px;align-items:flex-start;padding:19px 18px;min-height:87px;box-shadow:0 2px 2px #11203002}.task-check{border:2px solid #aabccd;min-height:27px;width:27px;height:27px;border-radius:8px;padding:0;flex-shrink:0;margin-top:1px}.completed .task-check{background:var(--green);border-color:var(--green);color:#fff}.task-content{flex:1;min-width:0}.task-content>strong{font-size:1.02rem;line-height:1.5;overflow-wrap:anywhere}.task-content>p{font-size:.9rem;color:var(--muted);margin-top:5px;white-space:pre-wrap;overflow-wrap:anywhere}.completed{background:#f1f6f4;box-shadow:none}.completed .task-content>strong{text-decoration:line-through;color:#63746d}.duration{display:flex;align-items:center;gap:4px;font-size:.875rem;white-space:nowrap;color:var(--muted);padding-top:5px}.duration>span{font-size:.8rem}.task-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.task-meta:empty{display:none}.task-meta>span{font-size:.75rem;display:flex;align-items:center;gap:5px;color:#567087}.task-meta .carry-tag{background:#fff0d0;color:#805509;border-radius:4px;padding:2px 6px}.reminder{background:#edf2f8;box-shadow:none;border-style:dashed}.reminder-mark{width:27px;flex-shrink:0;color:#647c92;padding-top:4px}.edit-routine-link{margin:18px 0 0}.text-button{padding:8px 0;color:var(--blue);font-size:.9rem}.followup-heading{font-size:.85rem;color:#875c16;margin:20px 0 10px;display:flex;gap:8px;align-items:center}.followup-heading+ul{margin-bottom:22px}.followup-heading span{background:#fae6b8;border-radius:5px;padding:2px 6px}.weekend-note{font-size:.875rem;color:var(--muted);margin-bottom:16px}.primary{color:#fff;background:var(--blue)}.secondary{background:#eaf0f6;color:var(--navy)}.icon-button{width:40px;min-height:40px;padding:8px;flex-shrink:0}.danger{color:#a83242}.destructive{background:#b83242}.empty{padding:45px 20px;text-align:center;background:#fff;border:1px dashed #bfcddd;border-radius:14px;display:flex;align-items:center;flex-direction:column;gap:14px}.empty p{color:var(--muted);max-width:460px}.error-banner{padding:12px 14px;background:#fff0f1;color:#9e2331;border:1px solid #e7b7bd;display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:8px;margin-bottom:20px;overflow-wrap:anywhere}.warning{background:#fff3d6;padding:14px;border-radius:8px;color:#805817;font-size:.9rem;line-height:1.5;margin-bottom:15px}.warning p{margin:6px 0 12px}.settings-tabs{display:flex;gap:10px;margin:-6px 0 25px}.settings-tabs button{font-size:.9rem;color:var(--muted)}.settings-tabs button.active{background:#dfe8f2;color:var(--navy)}.edit-list{gap:8px}.edit-item{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--border);padding:13px 10px;border-radius:10px}.edit-item.dragging{box-shadow:0 8px 30px #162b4330}.drag-handle{touch-action:none;cursor:grab;padding:8px;width:35px;flex-shrink:0;color:#7890a7}.edit-item-body{display:flex;gap:13px;align-items:center;flex:1;min-width:0}.edit-item-body strong{overflow-wrap:anywhere}.edit-item-body p{font-size:.875rem;color:var(--muted);overflow-wrap:anywhere}.edit-item-body small{display:block;margin-top:4px;font-size:.8rem}.order-number{font-size:.85rem;color:var(--muted);min-width:15px}.item-actions{display:flex;gap:0}.settings-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:26px;max-width:730px}.settings-form{display:grid;grid-template-columns:1fr 1fr;gap:24px}.settings-note,.save-row{grid-column:1/-1}.settings-note{font-size:.9rem;color:var(--muted);background:#f3f6fa;padding:15px;border-radius:8px}.save-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.save-row span{display:flex;align-items:center;gap:5px;font-size:.9rem}footer{margin-top:48px;border-top:1px solid var(--border);padding:22px 0;color:var(--muted);font-size:.8rem;display:flex;justify-content:space-between;gap:15px}dialog{border:0;border-radius:16px;box-shadow:0 20px 80px #142b4350;width:min(570px,calc(100% - 24px));max-height:calc(100dvh - 32px);padding:25px;color:var(--navy)}dialog::backdrop{background:#10253988;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.editor-form{display:flex;flex-direction:column;gap:19px}.muted{color:var(--muted)}.optional{font-size:.8rem;font-weight:400;color:var(--muted);display:inline}.check-label{display:flex;flex-direction:row;align-items:center;gap:10px;line-height:1.5;font-size:.9rem;font-weight:500}.choice-row{display:flex;gap:15px;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.unit-input{display:flex;align-items:center;border:1px solid #becbd9;border-radius:8px;overflow:hidden}.unit-input input{border:0;width:100%;min-width:0}.unit-input span{font-size:.85rem;color:var(--muted);padding-right:13px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:10px}.setup-shell{max-width:490px;margin:12vh auto;padding:25px;display:flex;flex-direction:column;gap:22px}.setup-shell p{color:var(--muted)}.setup-shell form{display:flex;flex-direction:column;gap:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}@media(max-width:760px){.header-inner{padding:15px 20px;min-height:74px}.app-main{padding:22px 20px 8px}.header-right{gap:10px}.connection{display:none}.day-header{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:18px}h1{font-size:1.8rem}.weather{background:#e9eff6;border-radius:10px;padding:12px 14px;width:100%}.weather>div{flex:1}.weather p{font-size:.8rem}.routine-selector{align-items:stretch;flex-direction:column;margin-bottom:19px;gap:2px}.period-tabs{width:100%}.period-tabs button{flex:1;padding:10px 5px;font-size:.85rem;gap:6px}.period-tabs svg{width:17px}.auto-button{align-self:flex-end;min-height:34px;font-size:.75rem}.routine-layout{display:flex;flex-direction:column;gap:24px}.time-panel{width:100%;position:static;padding:19px;display:grid;grid-template-columns:1fr 1fr;gap:15px;border-radius:13px}.live-time>strong{font-size:1.85rem}.live-time>span:last-child{font-size:.75rem}.departure{border-top:0;border-left:1px solid #3a4c61;margin:0;padding:5px 0 0 16px;justify-content:center;gap:7px}.departure>span{font-size:.8rem}.departure>strong{font-size:1rem}.schedule-math{grid-column:1/-1;margin-top:0;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;gap:16px}.schedule-math>span{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:.75rem}.schedule-math>span strong{font-size:1rem}.schedule-math>div{border:0;margin:0;padding:0;align-items:flex-end}.schedule-math>div>strong{font-size:1.6rem}.schedule-math>div>span{font-size:.8rem}.time-note{display:none}.checklist{width:100%}.checklist h2{font-size:1.15rem}.task-card{padding:16px 13px;gap:12px}.task-content>strong{font-size:1rem}.task-content>p{font-size:.875rem}.duration{gap:3px;font-size:.8rem}.duration>svg{display:none}.section-heading{gap:10px}.section-heading .primary{padding:10px;white-space:nowrap;font-size:.875rem}.edit-item{flex-wrap:wrap;gap:5px;padding:12px 8px}.edit-item-body{gap:8px;width:calc(100% - 50px)}.item-actions{margin-left:auto;padding-top:4px}.edit-item-body small{font-size:.75rem}.settings-form{grid-template-columns:1fr}.settings-card{padding:20px}.form-grid{gap:12px}.settings-tabs{gap:0}.settings-tabs button{padding:10px 12px}.preview-banner{font-size:.8rem;margin-bottom:19px}.main-nav{margin-bottom:20px}footer{font-size:.75rem;flex-direction:column;gap:7px;margin-top:30px}dialog{padding:20px}.choice-row{gap:12px}.brand{font-size:1.2rem}.person-select select{min-width:104px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(max-width:760px){.edit-item-body{flex:1 1 calc(100% - 45px)}.item-actions{flex-basis:100%;justify-content:flex-end;border-top:1px solid #edf1f6;margin:8px 6px 0;padding-top:6px}.task-check{position:relative}.task-check:before{content:"";position:absolute;top:-9px;right:-9px;bottom:-9px;left:-9px}}.group-manager{background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:22px}.group-manager summary{cursor:pointer;font-weight:700;min-height:30px}.group-manager summary span{font-weight:400;color:var(--muted);font-size:.875rem}.group-manager p{margin:12px 0;font-size:.9rem;color:var(--muted)}.group-row{display:flex;gap:8px;margin:10px 0;align-items:center}.group-row input{min-width:0;flex:1}.group-row>div{display:flex}.group-add{display:flex;gap:12px;align-items:end;margin:18px 0}.group-add label{flex:1;min-width:0}.group-picker{min-width:155px;font-size:.8rem;margin:0 8px}.group-picker select{font-size:.875rem;max-width:210px}.group-heading{display:flex;align-items:center;gap:10px;margin:22px 0 12px;color:var(--navy)}.group-heading span{font-size:.8rem;font-weight:500;color:var(--muted)}.task-group+.task-group{margin-top:24px}@media(max-width:760px){.group-picker{flex-basis:100%;margin:12px 8px 0}.group-picker select{max-width:none}.group-row{flex-wrap:wrap}.group-row>div{margin-left:auto}.group-add{flex-wrap:wrap}.group-add label{flex-basis:100%}}.walk-banner{grid-column:1/-1;display:flex;align-items:center;gap:18px;padding:22px 24px;background:#e0eefb;border:1px solid #acc9e6;border-left:5px solid #245c93;border-radius:13px;width:100%}.walk-banner>svg{color:var(--blue);flex-shrink:0}.walk-banner>div{flex:1;min-width:0}.walk-banner h2{overflow-wrap:anywhere}.walk-banner p:last-child{font-size:.9rem;color:#43627d;margin-top:5px}.walk-settings-link{font-size:.875rem;color:var(--blue)}.walk-settings{grid-column:1/-1}.walk-settings>p{font-size:.9rem;color:var(--muted);margin:14px 0}.walk-settings>small{display:block;margin-top:12px}.walk-setting-row{display:flex;gap:12px;align-items:end;margin:14px 0}.walk-setting-row>label:nth-child(2){flex:1;min-width:0}@media(max-width:760px){.walk-banner{padding:18px;flex-wrap:wrap;gap:12px}.walk-banner h2{font-size:1.2rem}.walk-settings-link{margin-left:38px}.walk-setting-row{flex-wrap:wrap}.walk-setting-row>label:nth-child(2){flex-basis:calc(100% - 60px)}.walk-setting-row>label:first-child{width:100%}}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;color:#e2edf7;background:#101923;--navy: #e2edf7;--blue: #91c4f7;--muted: #a9b9cc;--border: #3a4b60;--red: #ff929e;--green: #7ad4a5}[data-theme=dark] .app-header,[data-theme=dark] .time-panel{background:#15263a}[data-theme=dark] .brand-mark{color:#162b43}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:#142234;border-color:#53677f;color:#e2edf7}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:#9fb0c4}[data-theme=dark] .task-card,[data-theme=dark] .edit-item,[data-theme=dark] .settings-card,[data-theme=dark] .group-manager,[data-theme=dark] .empty,[data-theme=dark] dialog,[data-theme=dark] .schedule-math{background:#1b2a3c;color:#e2edf7}[data-theme=dark] .weather,[data-theme=dark] .period-tabs,[data-theme=dark] .settings-note,[data-theme=dark] .secondary,[data-theme=dark] .count{background:#26384d;color:#dce9f7}[data-theme=dark] .period-tabs button{color:#b4c5d9}[data-theme=dark] .period-tabs button.active,[data-theme=dark] .settings-tabs button.active{background:#3b526c;color:#fff}[data-theme=dark] .period-tabs button.active svg{color:#f2bb55}[data-theme=dark] .auto-button.selected{color:#a6cdf5}[data-theme=dark] .primary{background:#28649c;color:#fff}[data-theme=dark] .destructive{background:#a92e40}[data-theme=dark] .danger{color:#ff929e}[data-theme=dark] .completed{background:#19352e}[data-theme=dark] .completed .task-content>strong{color:#adc8ba}[data-theme=dark] .completed .task-check{color:#102d21}[data-theme=dark] .reminder{background:#202f42}[data-theme=dark] .task-meta>span{color:#adc3db}[data-theme=dark] .preview-banner,[data-theme=dark] .warning,[data-theme=dark] .task-meta .carry-tag,[data-theme=dark] .followup-heading span{background:#45361d;color:#ffda90}[data-theme=dark] .followup-heading{color:#ffda90}[data-theme=dark] .error-banner{background:#472631;color:#ffc0c8;border-color:#955063}[data-theme=dark] .progress-track{background:#35495c}[data-theme=dark] .walk-banner{background:#18364e;border-color:#527ca0}[data-theme=dark] .walk-banner p:last-child{color:#bed9f0}[data-theme=dark] .unit-input,[data-theme=dark] .task-check{border-color:#829ab3}[data-theme=dark] .completed .task-check{border-color:var(--green)}[data-theme=dark] .item-actions{border-top-color:#3a4b60}[data-theme=dark] .reminder-mark,[data-theme=dark] .drag-handle{color:#a8bbcf}
