@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-ext-wght-normal-DCwSJGxG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/figtree-latin-wght-normal-D_ZTVpCC.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f3f6f4;--surface:#fff;--text:#17221e;--muted:#56635d;--border:#e0e6e2;--accent:#2f5d50;--accent-text:#fff;--danger:#a33a2c;--notice-bg:var(--c-sage-tint);--warn-bg:var(--c-butter-tint);--c-rose-fill:oklch(88.5% .057 10);--c-rose-ink:oklch(40% .085 10);--c-rose-tint:oklch(96% .019 10);--c-rose-strong:oklch(64% .12 10);--c-peach-fill:oklch(88.5% .058 40);--c-peach-ink:oklch(40% .085 40);--c-peach-tint:oklch(96% .019 40);--c-peach-strong:oklch(64% .12 40);--c-apricot-fill:oklch(88.5% .074 65);--c-apricot-ink:oklch(40% .083 65);--c-apricot-tint:oklch(96% .025 65);--c-apricot-strong:oklch(64% .12 65);--c-butter-fill:oklch(88.5% .075 95);--c-butter-ink:oklch(40% .076 95);--c-butter-tint:oklch(96% .025 95);--c-butter-strong:oklch(64% .12 95);--c-lime-fill:oklch(88.5% .075 125);--c-lime-ink:oklch(40% .085 125);--c-lime-tint:oklch(96% .025 125);--c-lime-strong:oklch(64% .12 125);--c-sage-fill:oklch(88.5% .075 150);--c-sage-ink:oklch(40% .085 150);--c-sage-tint:oklch(96% .025 150);--c-sage-strong:oklch(64% .12 150);--c-mint-fill:oklch(88.5% .075 180);--c-mint-ink:oklch(40% .067 180);--c-mint-tint:oklch(96% .025 180);--c-mint-strong:oklch(64% .107 180);--c-sky-fill:oklch(88.5% .065 230);--c-sky-ink:oklch(40% .074 230);--c-sky-tint:oklch(96% .022 230);--c-sky-strong:oklch(64% .118 230);--c-lavender-fill:oklch(88.5% .055 290);--c-lavender-ink:oklch(40% .085 290);--c-lavender-tint:oklch(96% .019 290);--c-lavender-strong:oklch(64% .12 290);--c-orchid-fill:oklch(88.5% .075 330);--c-orchid-ink:oklch(40% .085 330);--c-orchid-tint:oklch(96% .025 330);--c-orchid-strong:oklch(64% .12 330);--home-a-fill:var(--c-sage-fill);--home-a-ink:var(--c-sage-ink);--home-a-tint:var(--c-sage-tint);--home-a-strong:var(--c-sage-strong);--home-b-fill:var(--c-apricot-fill);--home-b-ink:var(--c-apricot-ink);--home-b-tint:var(--c-apricot-tint);--home-b-strong:var(--c-apricot-strong);--kind-event-fill:var(--c-sky-fill);--kind-event-ink:var(--c-sky-ink);--kind-reminder-fill:var(--c-lavender-fill);--kind-reminder-ink:var(--c-lavender-ink);--kind-task-fill:var(--c-rose-fill);--kind-task-ink:var(--c-rose-ink);--kind-exam-fill:var(--c-butter-fill);--kind-exam-ink:var(--c-butter-ink);--radius-lg:20px;--radius:16px;--radius-sm:12px;--gap:16px;--tab-height:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#121816;--surface:#1b2320;--text:#e6ece9;--muted:#9aa8a2;--border:#2d3833;--accent:#7fb9a5;--accent-text:#0f1513;--danger:#ef8f80;--c-rose-fill:oklch(50% .075 10);--c-rose-ink:oklch(96% .015 10);--c-rose-tint:oklch(28% .035 10);--c-rose-strong:oklch(74% .1 10);--c-peach-fill:oklch(50% .075 40);--c-peach-ink:oklch(96% .015 40);--c-peach-tint:oklch(28% .035 40);--c-peach-strong:oklch(74% .1 40);--c-apricot-fill:oklch(50% .075 65);--c-apricot-ink:oklch(96% .015 65);--c-apricot-tint:oklch(28% .035 65);--c-apricot-strong:oklch(74% .1 65);--c-butter-fill:oklch(50% .075 95);--c-butter-ink:oklch(96% .015 95);--c-butter-tint:oklch(28% .035 95);--c-butter-strong:oklch(74% .1 95);--c-lime-fill:oklch(50% .075 125);--c-lime-ink:oklch(96% .015 125);--c-lime-tint:oklch(28% .035 125);--c-lime-strong:oklch(74% .1 125);--c-sage-fill:oklch(50% .075 150);--c-sage-ink:oklch(96% .015 150);--c-sage-tint:oklch(28% .035 150);--c-sage-strong:oklch(74% .1 150);--c-mint-fill:oklch(50% .075 180);--c-mint-ink:oklch(96% .015 180);--c-mint-tint:oklch(28% .035 180);--c-mint-strong:oklch(74% .1 180);--c-sky-fill:oklch(50% .075 230);--c-sky-ink:oklch(96% .015 230);--c-sky-tint:oklch(28% .035 230);--c-sky-strong:oklch(74% .1 230);--c-lavender-fill:oklch(50% .075 290);--c-lavender-ink:oklch(96% .015 290);--c-lavender-tint:oklch(28% .035 290);--c-lavender-strong:oklch(74% .1 290);--c-orchid-fill:oklch(50% .075 330);--c-orchid-ink:oklch(96% .015 330);--c-orchid-tint:oklch(28% .035 330);--c-orchid-strong:oklch(74% .1 330);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;margin:0;font:16px/1.45 Figtree Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:1.75rem;font-weight:700;line-height:1.2}h2{margin:0;font-size:1.125rem;font-weight:700}h3{margin:0;font-size:1rem;font-weight:700}p{margin:0}a{color:var(--accent)}.page{max-width:640px;padding:16px 16px calc(var(--tab-height) + 24px + env(safe-area-inset-bottom));margin:0 auto}.page.narrow{max-width:420px;padding-top:48px}.stack{gap:var(--gap);flex-direction:column;display:flex}.row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.row>label{flex:140px}.row.even{flex-wrap:nowrap;align-items:stretch}.row.even>*{text-align:center;flex:1 1 0;min-width:0}label{flex-direction:column;gap:4px;font-weight:500;display:flex}label.inline{flex-direction:row;align-items:center;gap:8px;font-weight:400}small,.small{font-size:.85rem;font-weight:400}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:48px;padding:10px 14px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=checkbox]{width:20px;min-height:20px}textarea{resize:vertical}button,.button{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);border-radius:14px;width:100%;min-height:52px}button.link{color:var(--accent);background:0 0;border:none;min-height:0;padding:8px 4px}.danger,button.link.danger{color:var(--danger)}.card>button.link{align-self:flex-start}button:disabled{opacity:.6;cursor:default}.muted{color:var(--muted)}.error{color:var(--danger)}.notice{background:var(--notice-bg);border-radius:var(--radius-sm);padding:12px 14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:18px;display:flex}.card.rejected{opacity:.55}.link-card{color:inherit;text-decoration:none;display:block}.card ul{margin:0;padding-left:20px}.card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.tag{background:var(--notice-bg);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:600}.home-a{background:var(--home-a-tint);color:var(--home-a-ink)}.home-b{background:var(--home-b-tint);color:var(--home-b-ink)}.kind-icon{border-radius:9px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.kind-icon.kind-event{color:var(--kind-event-ink);background:var(--kind-event-fill)}.kind-icon.kind-reminder{color:var(--kind-reminder-ink);background:var(--kind-reminder-fill)}.kind-icon.kind-task{color:var(--kind-task-ink);background:var(--kind-task-fill)}.kind-icon.kind-exam{color:var(--kind-exam-ink);background:var(--kind-exam-fill)}.kind-icon.home-a{background:var(--home-a-fill);color:var(--home-a-ink)}.kind-icon.home-b{background:var(--home-b-fill);color:var(--home-b-ink)}.home-dot{border-radius:50%;flex:none;width:12px;height:12px;display:inline-block}.home-dot.home-a-strong{background:var(--home-a-strong)}.home-dot.home-b-strong{background:var(--home-b-strong)}.home-dots{gap:4px;display:flex}.child-tag{border:1px solid var(--border);color:var(--text);background:0 0;padding:2px 8px}.child-tag.color-fill{border-color:#0000}.hero{background:var(--accent);color:var(--accent-text);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:18px;display:flex}.hero-eyebrow{align-items:center;gap:8px;font-size:.85rem;font-weight:600;display:flex}.hero-title{font-size:1.125rem;font-weight:600;line-height:1.35}.hero .button,.hero button{background:var(--surface);border-color:var(--surface);color:var(--text);align-self:flex-start}.date-badge{flex-direction:column;flex:none;align-items:center;width:48px;line-height:1.2;display:flex}.date-badge span:first-child{color:var(--muted);font-size:.75rem;font-weight:600}.date-badge span:last-child{font-size:1.05rem;font-weight:700}.date-badge.today span{color:var(--accent)}.list-row{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:inherit;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.list-row-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.list-row-title{overflow-wrap:anywhere;font-weight:600}.list-row-meta{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem}.card.stats-card{padding:12px 16px}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.stat{flex-direction:column;gap:2px;min-width:0;display:flex}.stat-value{letter-spacing:-.02em;font-size:1.75rem;font-weight:700;line-height:1.1}.stat-label{color:var(--muted);font-size:.85rem}.stat.accent .stat-value{color:var(--accent)}.kind-count{align-items:center;gap:5px;font-weight:600;display:inline-flex}.kind-icon.mini{border-radius:6px;width:18px;height:18px}.message-stats{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:4px;font-size:.8rem;display:flex}.kind-counts{gap:8px;display:inline-flex}.message-stats .kind-count{color:var(--text);gap:3px}.list-row.rejected{opacity:.6}.list-row.message-row{align-items:flex-start}.message-trail{flex-direction:column;flex:none;justify-content:space-between;align-self:stretch;align-items:flex-end;gap:8px;display:flex}.message-trail>.tag:last-child{margin-top:auto}.message-trail>.tag{white-space:normal;text-align:center;max-width:6.5rem;line-height:1.25}.message-imported{color:var(--muted);margin-top:4px;font-size:.75rem;display:block}.tag.status-approved,.tag.status-edited{background:oklch(var(--tint-bg-l) var(--tint-bg-c) 165);color:oklch(var(--tint-text-l) var(--tint-text-c) 165)}.tag.status-pending{background:var(--accent);color:var(--accent-text)}.tag.status-not_school,.tag.status-none{background:var(--warn-bg)}.tag.status-failed{background:var(--warn-bg);color:var(--danger)}.icon-button{border-radius:50%;flex:none;width:44px;height:44px;min-height:44px;padding:0}.page-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.page-head>div{flex-direction:column;gap:2px;display:flex}.brand{letter-spacing:-.01em;color:var(--text);flex:none;align-self:flex-start;align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:inline-flex}.brand svg{flex:none}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--border);background:var(--surface);border-radius:999px;min-height:36px;padding:4px 14px;font-size:.9rem;font-weight:500}.chip[aria-pressed=true]{background:var(--notice-bg);border-color:var(--accent);color:var(--accent)}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:999px;align-self:flex-start;gap:2px;max-width:100%;padding:3px;display:flex}.segmented>button{text-align:center;min-width:0;min-height:36px;color:var(--muted);background:0 0;border:none;border-radius:999px;flex:1 1 0;padding:4px 10px;font-size:.875rem;font-weight:500;line-height:1.2}.segmented>button[aria-checked=true]{background:var(--accent);color:var(--accent-text);font-weight:600}.segmented>button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.confidence{color:var(--muted);font-size:.8rem}.confidence.low{color:var(--danger)}blockquote{border-left:3px solid var(--border);color:var(--muted);margin:0;padding:6px 10px;font-style:italic}.missing{background:var(--warn-bg);border-radius:8px;padding:8px 12px 8px 28px!important}.reason{color:var(--muted);font-size:.9rem}.timeline{flex-direction:column;gap:20px;display:flex}.timeline-week h2{z-index:1;background:var(--bg);padding:8px 0;font-size:.95rem;position:sticky;top:0}.timeline-week h2 .muted{font-weight:400}.timeline-empty{margin:0;padding:0 0 4px;font-size:.85rem}.timeline-week>ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.entry{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:auto minmax(0,1fr);column-gap:12px;padding-left:14px;display:grid}.entry>*{grid-column:2}.entry.past{color:var(--muted);background:0 0;border-style:dashed}.entry.past .kind-icon,.entry.past .home-dot,.entry.past .check-box{filter:grayscale();opacity:.6}.entry.past .entry-title{font-weight:500}.entry.past .date-badge span{color:var(--muted)}.entry-scope{overflow-wrap:anywhere;font-size:.9rem}.remind-at{white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.remind-at svg{flex:none}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.entry-main{border-radius:var(--radius);text-align:left;background:0 0;border:none;align-items:flex-start;gap:12px;width:100%;min-height:0;padding:12px 14px 12px 0;font-weight:400;display:flex}.entry>.entry-lead{cursor:pointer;flex-direction:column;grid-area:1/1/span 2;align-items:center;gap:6px;padding:12px 0;display:flex}.entry-trail{flex-direction:column;flex:none;align-self:flex-start;align-items:flex-end;gap:8px;display:flex}.entry-title{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.entry.info .entry-title{font-weight:500}.entry.done .entry-title{color:var(--muted);text-decoration:line-through}.entry.skipped .entry-title{color:var(--muted);font-style:italic}.entry-checks{flex-direction:column;margin:-4px 0 0;padding:0 14px 10px 0;list-style:none;display:flex}.check{cursor:pointer;flex-direction:row;align-items:flex-start;gap:10px;min-height:40px;padding:8px 0;font-weight:400;position:relative}.check input{opacity:0;width:1px;height:1px;min-height:0;position:absolute}.check-box{border:2px solid var(--border);background:var(--surface);color:#0000;border-radius:8px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;margin-top:calc(.725em - 12px);transition:background .15s,border-color .15s;display:flex}.check input:checked+.check-box{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.check input:focus-visible+.check-box{outline:2px solid var(--accent);outline-offset:2px}.check input:disabled+.check-box{opacity:.6}.check.checked .check-label{color:var(--muted);text-decoration:line-through}@media (prefers-reduced-motion:reduce){.check-box{transition:none}}.entry-error{padding:0 14px 10px 0}.entry-details{flex-direction:column;gap:8px;padding:4px 14px 14px 0;font-size:.9rem;display:flex}.entry-details ul{margin:0;padding-left:18px}fieldset.equipment,fieldset.choices{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:10px;padding:10px;display:flex}.equipment-row{border-bottom:1px dashed var(--border);flex-direction:column;gap:6px;padding-bottom:10px;display:flex}.equipment-row>.segmented{align-self:stretch}.equipment-name{align-items:center;gap:8px;display:flex}.equipment-name input{flex:1;min-width:0}.previews{flex-direction:column;gap:8px;display:flex}.previews img{object-fit:contain;object-position:left top;border:1px solid var(--border);border-radius:8px;max-width:100%;max-height:320px}details.original{margin-top:8px}details.original summary{cursor:pointer;color:var(--accent)}.original-text{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;border:1px solid var(--border);border-radius:8px;margin:8px 0 0;padding:10px;font-size:.9rem}details.original .previews{margin-top:8px}details.original .previews img,.review-original .previews img{max-height:none}@media (width>=1000px){.page-review{max-width:1240px}.review-single{max-width:608px;margin:0 auto}.review-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.review-original{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;max-height:calc(100vh - 120px);padding:12px;display:flex;position:sticky;top:16px;overflow-y:auto}.review-original .original-text{border:none;margin:0;padding:0}}.tabs{z-index:10;height:calc(var(--tab-height) + env(safe-area-inset-bottom));padding:0 max(8px, env(safe-area-inset-right)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--border);grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;display:grid;position:fixed;inset:auto 0 0}.tabs a{min-height:48px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.7rem;font-weight:500;text-decoration:none;display:flex}.tabs a[aria-current=page]{color:var(--accent);font-weight:700}.tabs .tabs-import{background:var(--accent);width:56px;height:56px;min-height:0;color:var(--accent-text);box-shadow:0 0 0 4px var(--bg);border:none;border-radius:50%;justify-self:center;margin-top:-20px;padding:0}.sheet-backdrop{z-index:50;background:#00000059;justify-content:center;align-items:flex-end;animation:.2s ease-out ai-fade-in;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:640px;padding:10px 16px calc(20px + env(safe-area-inset-bottom));background:var(--surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-direction:column;gap:8px;animation:.22s ease-out sheet-up;display:flex;box-shadow:0 -8px 32px #0000002e}.sheet-handle{background:var(--border);border-radius:2px;align-self:center;width:40px;height:4px;margin-bottom:6px}.sheet-option{text-align:left;border-radius:var(--radius);justify-content:flex-start;gap:14px;min-height:68px;padding:10px 14px;font-weight:400}.sheet-icon{border-radius:var(--radius-sm);flex:none;place-items:center;width:44px;height:44px;display:grid}.sheet-icon.ai{color:#fff;background:linear-gradient(120deg, var(--accent), var(--c-lavender-strong) 140%)}.sheet-icon.kind-exam{color:var(--kind-exam-ink);background:var(--kind-exam-fill)}@keyframes sheet-up{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-backdrop{animation:none}}.time-field{flex:0 120px}@media (width>=700px){.tabs{padding-left:calc(50% - 320px);padding-right:calc(50% - 320px)}}.action-bar{z-index:10;padding:12px max(16px, env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--surface);border-top:1px solid var(--border);gap:10px;display:flex;position:fixed;inset:auto 0 0}.action-bar>*{border-radius:14px;min-height:52px}.action-bar>:first-child{flex:1}.action-bar>:last-child{flex:2;width:auto}@media (width>=700px){.action-bar{padding-left:calc(50% - 304px);padding-right:calc(50% - 304px)}}.stack.tight{gap:10px}.lead{font-size:1.125rem;font-weight:600;line-height:1.35}.stay-lines{flex-direction:column;gap:4px;margin-top:-8px;display:flex}.stay-lines:empty{display:none}.stay-line{align-items:baseline;gap:8px;margin:0;font-size:.95rem;display:flex}.stay-line .home-dot{flex:none;transform:translateY(-1px)}.day-subtitle{font-weight:400}.entry.handover:not(.past){background:linear-gradient(var(--surface), var(--surface)) padding-box, repeating-conic-gradient(var(--from) 0deg, var(--to) 60deg, var(--from) 120deg) border-box;border:3px solid #0000}.entry.handover .date-badge span{color:var(--text)}.entry.handover.to-a{--from:var(--home-b-strong);--to:var(--home-a-strong)}.entry.handover.to-b{--from:var(--home-a-strong);--to:var(--home-b-strong)}.packing{flex-direction:column;gap:8px;padding:0 14px 12px 0;display:flex}.packing p{margin:0}.packing-child{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.packing-child>div,.packing-child .entry-checks{align-self:stretch}.packing .entry-checks{margin:0;padding:0}.packing-group{color:var(--muted);margin:4px 0 0;font-size:.75rem;font-weight:600}.packing-item{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.packing-add{align-self:stretch;gap:8px;display:flex}.packing-add input{flex:1;min-width:0}.packing-add .small-button{flex:none}button.link.packing-add-link{align-items:center;gap:4px;min-height:32px;padding:0;font-weight:600;display:inline-flex}.packing-add.compact{align-items:center}.packing-add.compact input{min-height:36px;padding:6px 10px}.packing-child+.packing-child{margin-top:12px}.packing-settings{flex-direction:column;gap:14px;display:flex}.card-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.legend{flex-wrap:wrap;gap:16px;font-size:.9rem;font-weight:500;display:flex}.legend>span{align-items:center;gap:6px;display:inline-flex}.card.month{gap:8px;padding:14px 10px}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.month-weekday{text-align:center;color:var(--muted);font-size:.7rem;font-weight:500}.month-day{height:44px;min-height:0;color:var(--text);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-weight:600;display:flex}.month-day.outside{color:var(--muted)}.month-day.outside .home-day,.month-day.outside .month-dot{opacity:.45}.home-day{border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.85rem;font-weight:600;display:flex}.home-day.home-a{background:var(--home-a-fill);color:var(--home-a-ink)}.home-day.home-b{background:var(--home-b-fill);color:var(--home-b-ink)}.home-day.handover-to-a{background:linear-gradient(135deg, var(--home-b-fill) 50%, var(--home-a-fill) 50%);color:var(--home-a-ink)}.home-day.handover-to-b{background:linear-gradient(135deg, var(--home-a-fill) 50%, var(--home-b-fill) 50%);color:var(--home-b-ink)}.home-day.today{font-weight:800;box-shadow:inset 0 0 0 2px}.home-day.today:not(.home-a,.home-b,.handover-to-a,.handover-to-b){background:var(--accent);color:var(--accent-text);box-shadow:none}.month-day.selected .home-day{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--accent)}.month-day:focus-visible{outline:none}.month-day:focus-visible .home-day{outline:2px solid var(--accent);outline-offset:3px}.month-dot{background:var(--muted);border-radius:50%;width:4px;height:4px}.month-dot.empty{visibility:hidden}.icon-chip{border-radius:50%;flex:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:flex}.page-head.back-head{justify-content:flex-start;gap:8px;margin-left:-8px}.back-head .icon-button{background:0 0;border-color:#0000}.head-actions{gap:6px;display:flex}.h-medium{font-size:1.5rem}.h-small{letter-spacing:0;font-size:1.125rem}.card.message-card{gap:10px}.message-title{letter-spacing:-.01em;overflow-wrap:anywhere;margin:0;font-size:1.25rem;line-height:1.3}.fields.message-meta{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}.page-head .head-end{flex:none;margin-left:auto}.hero-eyebrow.found{color:var(--muted)}.item-title{letter-spacing:-.01em;font-size:1.35rem}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.fields>div{flex-direction:column;gap:2px;min-width:0;display:flex}.fields dt{color:var(--muted);font-size:.8rem;font-weight:500}.fields dd{overflow-wrap:anywhere;margin:0;font-weight:600}.item-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.switch{cursor:pointer;flex-direction:row;align-items:center;gap:10px;font-weight:600;position:relative}.switch input{opacity:0;width:1px;height:1px;min-height:0;position:absolute}.switch span{background:var(--border);border-radius:16px;flex:none;width:52px;height:32px;transition:background .15s;position:relative}.switch span:after{content:"";background:var(--surface);border-radius:50%;width:26px;height:26px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(20px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.switch span,.switch span:after{transition:none}}.option-row{cursor:pointer;flex-direction:row;min-height:64px;font-weight:400}div.option-row{cursor:default}.option-icon{border-radius:var(--radius-sm);background:var(--bg);width:40px;height:40px;color:var(--muted);flex:none;justify-content:center;align-items:center;display:flex}.note{align-items:flex-start;gap:8px;display:flex}.note svg{flex:none;margin-top:2px}.page.page-calendar{height:calc(100dvh - var(--tab-height) - env(safe-area-inset-bottom));flex-direction:column;padding-bottom:0;display:flex}.calendar-view{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.calendar-view .month-day{gap:1px;height:40px}.calendar-view .home-day{width:30px;height:30px}.calendar-nav{flex:none;gap:4px}.calendar-nav .icon-button{width:36px;height:36px;min-height:36px}.calendar-nav .small-button{min-height:36px;padding:4px 10px}.month-head{grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:2px 4px 6px;display:grid}.month-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin:0;font-size:1.1rem;overflow:hidden}.month-head .legend{justify-content:flex-end;justify-self:end;gap:4px 12px;min-width:0;font-size:.8rem}.small-button{min-height:40px;padding:6px 12px;font-size:.9rem}.calendar-view .card.month{gap:2px;padding:8px}.calendar-view .month-grid{gap:0 2px}.month-toggle{flex:none;gap:2px;padding:6px 4px;font-size:.85rem;font-weight:600}.month-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.filters{flex:none;justify-content:space-between;align-items:center;gap:8px;display:flex}.filter-menu{min-width:0;position:relative}.kind-filter{margin:0 auto}.filter-trigger{border:1px solid var(--border);background:var(--surface);max-width:100%;min-height:36px;color:inherit;border-radius:999px;gap:5px;padding:4px 8px 4px 12px;font-size:.9rem;font-weight:500}.filter-trigger span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filter-trigger>svg{color:var(--muted);flex:none}.filter-trigger[aria-expanded=true]>svg{transform:rotate(180deg)}.filter-popover{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-width:200px;padding:6px;animation:.15s ease-out popover-in;display:flex;position:absolute;top:calc(100% + 6px);box-shadow:0 8px 28px #00000029}.child-filter .filter-popover{left:0}.kind-filter .filter-popover{right:0}.filter-option{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;min-height:44px;padding:0 10px;font-weight:500}.filter-option:hover{background:var(--notice-bg)}.filter-option .check-label{align-items:center;gap:8px;display:flex}.filter-icon{flex:none;display:flex}.kind-chip{border-radius:7px;justify-content:center;align-items:center;width:24px;height:24px}.kind-chip.kind-event{color:var(--kind-event-ink);background:var(--kind-event-fill)}.kind-chip.kind-reminder{color:var(--kind-reminder-ink);background:var(--kind-reminder-fill)}.kind-chip.kind-task{color:var(--kind-task-ink);background:var(--kind-task-fill)}.kind-chip.kind-exam{color:var(--kind-exam-ink);background:var(--kind-exam-fill)}.timeline-scroll{overscroll-behavior:contain;border-top:1px solid var(--border);flex:1;min-height:0;margin:0 -16px;padding:0 16px 24px;position:relative;overflow-y:auto}.timeline-scroll .open-items{margin-top:24px}.settings-section{flex-direction:column;gap:8px;display:flex}.settings-section>.section-label{padding-left:4px}.settings .card{gap:10px;padding:14px}.home-row{align-items:center;gap:10px;display:flex}.home-name{flex:1;min-width:0}.color-picker{flex:none;position:relative}.color-trigger{min-height:44px;color:var(--muted);border-radius:999px;gap:2px;padding:4px 8px 4px 4px}.color-trigger .color-swatch{border-width:2px;place-items:center;width:34px;height:34px;font-size:.85rem;font-weight:700;display:grid}.color-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.color-popover{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:nowrap;gap:8px;padding:10px;animation:.15s ease-out popover-in;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 28px #00000029}.color-fill{background:var(--fill);color:var(--ink)}.color-tint{background:var(--tint);color:var(--ink);border-color:#0000}.palette-popover{flex-direction:column;gap:10px;width:min(292px,100vw - 48px);display:flex}.palette-grid{grid-template-columns:repeat(5,1fr);justify-items:center;gap:6px;display:grid}.palette-swatch{border:1px solid color-mix(in oklch, var(--ink) 18%, transparent);border-radius:50%;width:44px;height:44px;min-height:0;padding:0;position:relative}.palette-swatch[aria-checked=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink)}.palette-swatch:disabled{opacity:.35;cursor:not-allowed}.palette-swatch .taken{background:var(--strong);border:2px solid var(--surface);border-radius:50%;width:10px;height:10px;position:absolute;top:1px;right:1px}.palette-note{justify-content:space-between;align-items:center;gap:8px;min-height:1.4em;display:flex}.child-dot{border-radius:50%;flex:none;width:12px;height:12px}@keyframes popover-in{0%{opacity:0;transform:translateY(-4px)}}.child-color{align-items:center;gap:10px;display:flex}.help-link{width:32px;height:32px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:inline-grid}.help-link:hover{color:var(--accent)}.section-head{justify-content:space-between;align-items:center;padding-right:4px;display:flex}.section-head .help-link{width:28px;height:28px;margin:-6px 0}.help-text-link{color:var(--muted);align-self:flex-start;font-size:.85rem}.help-body p,.help-body ul{margin:0}.help-body ul{padding-left:20px}.onboarding{gap:10px}.onboarding h2{margin:0}.onboarding-progress{background:var(--notice-bg);border-radius:999px;height:6px;overflow:hidden}.onboarding-progress span{background:var(--accent);border-radius:inherit;height:100%;transition:width .3s;display:block}.onboarding-steps{margin:0;padding:0;list-style:none}.card .onboarding-steps{padding-left:0}.onboarding-steps a{border-top:1px solid var(--border);min-height:52px;color:var(--muted);align-items:center;gap:12px;padding:6px 0;text-decoration:none;display:flex}.onboarding-steps .list-row-text{color:var(--text)}.onboarding-steps .done .list-row-title{color:var(--muted);font-weight:500}.onboarding-mark{border:2px solid var(--border);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.8rem;font-weight:700;display:grid}.done .onboarding-mark{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.onboarding-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px 14px;display:flex}.onboarding-actions a{color:var(--accent)}.intro{flex-direction:column;justify-content:center;gap:28px;min-height:100dvh;padding-bottom:32px;display:flex}.intro-brand{align-items:center;gap:10px;font-size:1.25rem;font-weight:700;display:flex}.intro-slide{flex-direction:column;gap:12px;min-height:220px;display:flex}.intro-slide h1{margin:0}.intro-slide p{color:var(--muted);margin:0;font-size:1.05rem}.intro-icon{background:var(--notice-bg);width:56px;height:56px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.intro-dots{gap:8px;display:flex}.intro-dot{background:var(--border);border:none;border-radius:50%;width:10px;height:10px;min-height:0;padding:0}.intro-dot.current{background:var(--accent)}@media (prefers-reduced-motion:reduce){.onboarding-progress span{transition:none}}.feedback-link{color:var(--muted);align-self:flex-start;font-size:.85rem}.feedback textarea{resize:vertical}.add-link{align-self:flex-start;gap:6px;font-weight:600}.member-list{flex-direction:column;display:flex}.member-list .member-home{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) min(200px,60%);min-height:56px;padding:6px 0;display:grid}.member-list .member-home select{width:100%;max-width:none}.member-list .member-home>span{overflow-wrap:anywhere;align-self:center}.member-list .member-home>button.link{place-self:center end}.member-list .member-head span:last-child{padding-left:15px}.member-list .member-head{min-height:0;color:var(--muted);border-top:none;padding:0 0 6px;font-size:.8rem;font-weight:600}.settings-switch{justify-content:space-between;font-weight:500}.settings-list{gap:0}.settings-list>.add-link{margin-top:4px}.settings-item{border-bottom:1px solid var(--border)}.settings-item summary{cursor:pointer;min-height:52px;color:var(--muted);align-items:center;gap:12px;padding:6px 0;list-style:none;display:flex}.settings-item summary::-webkit-details-marker{display:none}.settings-item summary .list-row-text{color:var(--text)}.settings-item summary svg{flex:none;transition:transform .2s}.settings-item[open] summary svg{transform:rotate(180deg)}.settings-item-body{flex-direction:column;gap:10px;padding:4px 0 14px;display:flex}.add-child{padding-top:10px}.settings-item-body .class-field{flex:0 96px}.settings-item-body .time-field{flex:0 110px}@media (prefers-reduced-motion:reduce){.color-popover,.filter-popover,.settings-item summary svg{transition:none;animation:none}}.color-swatch{border:3px solid var(--surface);width:40px;height:40px;min-height:0;box-shadow:0 0 0 1px var(--border);border-radius:50%;padding:0}.member-home{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;font-weight:500}.member-home select{width:auto;max-width:60%}fieldset.child-choice{border:none;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}fieldset.child-choice legend{margin-bottom:8px;padding:0;font-weight:600}details.other-ways{flex-direction:column;gap:8px;display:flex}details.other-ways summary{min-height:36px;color:var(--accent);cursor:pointer;align-items:center;gap:4px;font-size:.9rem;font-weight:600;list-style:none;display:inline-flex}details.other-ways summary::-webkit-details-marker{display:none}details.other-ways summary svg{transition:transform .2s}details.other-ways[open] summary svg{transform:rotate(180deg)}details.other-ways[open]>.option-row{margin-top:8px}button.primary.ai{background:linear-gradient(120deg, var(--accent), var(--c-lavender-strong) 140%);position:relative;overflow:hidden}button.primary.ai:not(:disabled):after{content:"";background:linear-gradient(100deg,#0000 30%,#ffffff47 50%,#0000 70%);animation:3.2s ease-in-out infinite ai-sheen;position:absolute;inset:0;transform:translate(-100%)}@keyframes ai-sheen{60%,to{transform:translate(100%)}}.ai-overlay{z-index:100;text-align:center;background:radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--c-lavender-strong) 22%, transparent), transparent 55%), radial-gradient(circle at 70% 70%, color-mix(in srgb, var(--accent) 24%, transparent), transparent 55%), color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(14px);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px 16px;animation:.3s ease-out ai-fade-in;display:flex;position:fixed;inset:0}.ai-orb{place-items:center;width:132px;height:132px;margin-bottom:12px;display:grid;position:relative}.ai-orb-core{color:#fff;background:conic-gradient(from 0deg, var(--accent), var(--c-lavender-strong), var(--c-sky-strong), var(--accent));width:84px;height:84px;box-shadow:0 10px 40px color-mix(in srgb, var(--c-lavender-strong) 45%, transparent);border-radius:50%;place-items:center;animation:4s linear infinite ai-spin;display:grid;position:relative}.ai-orb-core svg{animation:4s linear infinite reverse ai-spin,1.6s ease-in-out infinite ai-pulse}.ai-orb-ring{border:2px solid color-mix(in srgb, var(--c-lavender-strong) 55%, transparent);border-radius:50%;animation:2.4s ease-out infinite ai-ripple;position:absolute;inset:0}.ai-orb-ring+.ai-orb-ring{animation-delay:1.2s}.ai-title{margin:0;font-size:1.25rem;font-weight:700}.ai-step{min-height:1.5em;color:var(--accent);margin:0;font-weight:600;animation:.5s ease-out ai-step-in}.ai-hint{color:var(--muted);margin:0;font-size:.9rem}@keyframes ai-fade-in{0%{opacity:0}}@keyframes ai-spin{to{transform:rotate(360deg)}}@keyframes ai-pulse{50%{scale:1.15}}@keyframes ai-ripple{0%{opacity:1;transform:scale(.65)}to{opacity:0;transform:scale(1.25)}}@keyframes ai-step-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){button.primary.ai:after,.ai-orb-core,.ai-orb-core svg,.ai-orb-ring,.ai-step,.ai-overlay,details.other-ways summary svg{transition:none;animation:none}}.icon-button.plain{color:var(--muted);background:0 0;border-color:#0000}.confirm-box{border-radius:var(--radius-sm);background:var(--warn-bg);flex-direction:column;gap:8px;padding:12px 14px;font-size:.9rem;display:flex}.confirm-box ul{margin:0;padding-left:18px}.confirm-box .row{margin-top:4px}button.danger-button{background:var(--danger);border-color:var(--danger);color:var(--surface)}.option-list{flex-direction:column;gap:8px;display:flex}button.option-row{text-align:left;justify-content:flex-start;width:100%}.timetable-day h2{margin:8px 0 0}.lesson-edit{border-bottom:1px solid var(--border);grid-template-columns:64px 1fr 1fr 44px;align-items:center;gap:6px;padding-bottom:8px;display:grid}.lesson-edit input,.lesson-edit select{min-width:0}.lesson-edit .lesson-subject{grid-column:1/3}.lesson-edit .lesson-room{grid-column:3/4}.lesson-edit .icon-button{grid-area:1/4/3}.lesson-picker{flex-direction:column;gap:8px;display:flex}.lesson-picker ul{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}
