:root{--bg:#f2f2f7;--surface:#ffffffc7;--surface-solid:#fff;--ink:#000;--ink-soft:#3c3c43c7;--ink-tertiary:#3c3c4352;--separator:#3c3c431a;--fill:#7676801f;--tint-a:#00f58a33;--tint-b:#001c241a;--accent-primary:#00f58a;--accent-primary-deep:#00c46e;--accent-primary-soft:#00f58a29;--accent-primary-strong:#00f58a66;--accent-primary-text:#007a45;--accent-primary-text-strong:#006b3c;--on-primary:#001c24;--accent-secondary:#0a3d4d;--accent-secondary-deep:#00323f;--accent-secondary-soft:#0a3d4d1f;--accent-secondary-strong:#0a3d4d38;--accent-secondary-text:#001c24;--accent-secondary-text-strong:#001c24;--on-secondary:#fff;--bowie:#7b61ff;--bowie-ink:#5b3fd6;--bowie-soft:#7b61ff29;--maxine:#e64980;--maxine-ink:#b5245a;--maxine-soft:#e6498029;--lennon:#ff6b35;--lennon-ink:#a33a0a;--lennon-soft:#ff6b3529;--evt-ink:#3c3c43;--warning:#c77700;--btn-a:#00323f;--btn-b:#001c24;--btn-ink:#fff;--focus:#001c24;--danger:#c4302b;--shadow-edge:0 1px 2px #0000000d;--shadow-ambient:0 20px 40px -18px #0000002e;--radius-pill:999px;--radius-lg:28px;--radius-md:20px;--radius-sm:12px;--radius-xs:10px;--font-display:"Bricolage Grotesque",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--font-body:"Manrope",-apple-system,BlinkMacSystemFont,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#000;--surface:#1c1c1ec7;--surface-solid:#1c1c1e;--ink:#fff;--ink-soft:#ebebf5b3;--ink-tertiary:#ebebf54d;--separator:#ffffff1a;--fill:#7676803d;--tint-a:#00f58a24;--tint-b:#33d2ff24;--accent-primary:#00f58a;--accent-primary-deep:#00c46e;--accent-primary-soft:#00f58a33;--accent-primary-strong:#00f58a5c;--accent-primary-text:#00f58a;--accent-primary-text-strong:#00f58a;--on-primary:#001c24;--accent-secondary:#33d2ff;--accent-secondary-deep:#0fa3d1;--accent-secondary-soft:#33d2ff33;--accent-secondary-strong:#33d2ff5c;--accent-secondary-text:#33d2ff;--accent-secondary-text-strong:#6be0ff;--on-secondary:#001c24;--bowie:#9d8bff;--bowie-ink:#b3a6ff;--bowie-soft:#7b61ff42;--maxine:#f06595;--maxine-ink:#ff8fb8;--maxine-soft:#e6498042;--lennon:#ff8a5c;--lennon-ink:#ff9466;--lennon-soft:#ff6b3542;--evt-ink:#ebebf5;--warning:#ff9f0a;--btn-a:#00f58a;--btn-b:#00c46e;--btn-ink:#001c24;--focus:#00f58a;--danger:#ff6961;--shadow-edge:0 1px 2px #0006;--shadow-ambient:0 20px 45px -16px #000000a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#000;--surface:#1c1c1ec7;--surface-solid:#1c1c1e;--ink:#fff;--ink-soft:#ebebf5b3;--ink-tertiary:#ebebf54d;--separator:#ffffff1a;--fill:#7676803d;--tint-a:#00f58a24;--tint-b:#33d2ff24;--accent-primary:#00f58a;--accent-primary-deep:#00c46e;--accent-primary-soft:#00f58a33;--accent-primary-strong:#00f58a5c;--accent-primary-text:#00f58a;--accent-primary-text-strong:#00f58a;--on-primary:#001c24;--accent-secondary:#33d2ff;--accent-secondary-deep:#0fa3d1;--accent-secondary-soft:#33d2ff33;--accent-secondary-strong:#33d2ff5c;--accent-secondary-text:#33d2ff;--accent-secondary-text-strong:#6be0ff;--on-secondary:#001c24;--bowie:#9d8bff;--bowie-ink:#b3a6ff;--bowie-soft:#7b61ff42;--maxine:#f06595;--maxine-ink:#ff8fb8;--maxine-soft:#e6498042;--lennon:#ff8a5c;--lennon-ink:#ff9466;--lennon-soft:#ff6b3542;--evt-ink:#ebebf5;--warning:#ff9f0a;--btn-a:#00f58a;--btn-b:#00c46e;--btn-ink:#001c24;--focus:#00f58a;--danger:#ff6961;--shadow-edge:0 1px 2px #0006;--shadow-ambient:0 20px 45px -16px #000000a6;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(900px 520px at -10% -8%, var(--tint-a), #0000 62%), radial-gradient(760px 480px at 110% 4%, var(--tint-b), #0000 60%), var(--bg);background-color:var(--bg);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:21px}h1,h2,h3,.display{font-family:var(--font-display);text-wrap:balance;letter-spacing:-.01em;font-weight:750}a{color:var(--accent-secondary-text)}button{color:inherit;font-family:inherit}.wrap{max-width:920px;margin:0 auto;padding:20px 16px 64px}@media (min-width:640px){.wrap{padding:32px 24px 80px}}.top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.brand{align-items:center;gap:14px;min-width:0;display:flex}.app-icon{width:52px;height:52px;box-shadow:var(--shadow-edge),0 10px 24px -12px #00000059;border-radius:15px;flex:none;display:block}.top .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 5px;font-size:11px;font-weight:700;line-height:13px}.top h1{letter-spacing:-.015em;margin:0;font-size:26px;line-height:30px}.legend{flex-wrap:wrap;gap:6px 14px;margin-top:10px;display:flex}.legend span{color:var(--ink-soft);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.dot.matt{background:var(--accent-primary)}.dot.jess{background:var(--accent-secondary)}#ro-badge{color:var(--ink-soft);background:var(--fill);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:none}#ro-badge.show{display:inline-flex}.card{background:var(--surface);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);border-radius:var(--radius-lg);box-shadow:var(--shadow-edge),var(--shadow-ambient);padding:22px 20px}section{margin-bottom:16px}section>.card{animation:.6s cubic-bezier(.22,1,.36,1) backwards rise}section:nth-of-type(2)>.card{animation-delay:65ms}section:nth-of-type(3)>.card{animation-delay:.13s}section:nth-of-type(4)>.card{animation-delay:.195s}section:nth-of-type(5)>.card{animation-delay:.26s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.section-title h2{margin:0;font-size:21px;line-height:25px}.section-title .hint{color:var(--ink-soft);font-size:12px;line-height:16px}.stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (min-width:520px){.stats{grid-template-columns:1fr 1fr 1fr}.stats.stats-2{grid-template-columns:1fr 1fr}}.stat{border-radius:var(--radius-md);background:var(--surface);-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);box-shadow:var(--shadow-edge),var(--shadow-ambient);min-width:0;padding:16px 18px;animation:.6s cubic-bezier(.22,1,.36,1) backwards rise;position:relative;overflow:hidden}.stat:nth-child(2){animation-delay:65ms}.stat:nth-child(3){animation-delay:.13s}.stat:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.stat.matt:before{background:var(--accent-primary)}.stat.jess:before{background:var(--accent-secondary)}.stat.swap:before{background:var(--ink-tertiary)}.stat .label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700;line-height:13px}.stat .num{font-family:var(--font-display);letter-spacing:-.01em;margin-top:4px;font-size:30px;font-weight:750;line-height:34px}.stat .sub{color:var(--ink-soft);margin-top:2px;font-size:12px;line-height:16px}.bar{border-radius:var(--radius-pill);background:var(--fill);height:6px;margin-top:10px;overflow:hidden}.bar>i{border-radius:var(--radius-pill);height:100%;display:block}.stat.matt .bar>i{background:var(--accent-primary)}.stat.jess .bar>i{background:var(--accent-secondary)}.stat.forecast:before{display:none}.forecast-row{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.forecast-row.totals{margin-top:4px}.forecast-side{align-items:baseline;gap:8px;min-width:0;display:flex}.forecast-num{font-family:var(--font-display);letter-spacing:-.01em;font-size:30px;font-weight:750;line-height:34px}.forecast-who{color:var(--ink-soft);white-space:nowrap;font-size:13px;font-weight:700;line-height:16px}.forecast-who i{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.forecast-side.matt .forecast-who i{background:var(--accent-primary)}.forecast-side.jess .forecast-who i{background:var(--accent-secondary)}.forecast-row.sub{margin-top:0}.split-bar{border-radius:var(--radius-pill);background:var(--fill);height:10px;display:flex;overflow:hidden}.split-wrap{margin:10px 0 8px;position:relative}.split-bar>i{flex-basis:0;height:100%;display:block}.split-bar .matt.done{background:var(--accent-primary)}.split-bar .matt.ahead{background:var(--accent-primary-strong)}.split-bar .jess.ahead{background:var(--accent-secondary-strong)}.split-bar .jess.done{background:var(--accent-secondary)}.split-bar .gap{background:var(--surface-solid);flex:0 0 2px}.split-wrap:after{content:"";background:var(--ink);border-radius:2px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px;left:50%}@media (max-width:420px){.forecast-num{font-size:24px;line-height:28px}}.mk{border-radius:50%;width:7px;height:7px}.mk.ella{box-shadow:inset 0 0 0 1.6px var(--warning);background:0 0;width:8px;height:8px}.mk.event{background:var(--evt-ink)}.mk.kid-bowie{background:var(--bowie)}.mk.kid-maxine{background:var(--maxine)}.mk.kid-lennon{background:var(--lennon)}.emk{flex:none;justify-content:center;align-items:center;width:14px;height:14px;font-size:12px;font-style:normal;line-height:1;display:inline-flex;overflow:hidden}.cal-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px;display:flex}.month-select-group{align-items:center;gap:6px;min-width:0;display:flex}.month-select-group select{appearance:none;box-sizing:border-box;letter-spacing:-.01em;width:auto;max-width:100%;font-size:21px;font-weight:750;line-height:25px;font-family:var(--font-display);color:var(--ink);cursor:pointer;border-radius:var(--radius-xs);field-sizing:content;white-space:nowrap;text-overflow:ellipsis;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10'%3E%3Cpath d='M2 3.5 5 6.5 8 3.5' fill='none' stroke='%238E8E93' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 8px center/10px 10px no-repeat;border:none;padding:6px 24px 6px 6px;overflow:hidden}.month-select-group select:hover{background:var(--fill)}.month-select-group select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.cal-nav{flex:none;gap:6px;margin-left:auto;display:flex}#cal-today{width:auto;padding:0 12px;font-size:12.5px}#cal-today .today-icon{display:none}@media (max-width:420px){.month-select-group select{background-position:right 6px center;padding:5px 20px 5px 4px;font-size:17px}.month-select-group{gap:2px}.cal-nav{gap:4px}.cal-head .cal-nav button{width:32px;height:32px}#cal-today{width:32px;padding:0}#cal-today .today-word{display:none}#cal-today .today-icon{display:block}.stat .num{font-size:24px;line-height:28px}}.cal-nav button,.icon-btn{border-radius:var(--radius-pill);background:var(--fill);width:36px;height:36px;color:var(--ink);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:17px;font-weight:700;line-height:1;transition:transform .12s;display:inline-flex}.cal-nav button:active,.icon-btn:active{transform:scale(.95)}.cal-nav #pick-toggle.on{background:var(--ink);color:var(--surface-solid)}.cal-nav button:focus-visible,.icon-btn:focus-visible,.day:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.dow-row{grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:6px;display:grid}.dow-row span{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);text-align:center;font-size:11px;font-weight:700;line-height:13px}.grid{grid-template-columns:repeat(7,1fr);gap:5px;display:grid}.day{aspect-ratio:1;border-radius:var(--radius-xs);background:var(--fill);cursor:pointer;min-width:0;color:var(--ink);border:none;flex-direction:column;align-items:center;padding:6px 6px 4px;transition:transform .12s;display:flex;position:relative}.day:active{transform:scale(.95)}.day .n{font-size:14px;font-weight:750;line-height:17px;font-family:var(--font-display);align-self:flex-start}.day.other-month{opacity:.38}.day.matt{background:var(--accent-primary-soft)}.day.matt .n{color:var(--accent-primary-text)}.day.jess{background:var(--accent-secondary-soft)}.day.jess .n{color:var(--accent-secondary-text)}.day.matt.swapped{background:var(--accent-primary-strong)}.day.matt.swapped .n{color:var(--accent-primary-text-strong)}.day.jess.swapped{background:var(--accent-secondary-strong)}.day.jess.swapped .n{color:var(--accent-secondary-text-strong)}.day.today{box-shadow:0 0 0 2px var(--ink) inset}.day.selected{box-shadow:0 0 0 2px var(--ink) inset, var(--shadow-edge), 0 8px 18px -10px #00000059}.day .marks{flex-wrap:wrap;justify-content:center;align-items:center;gap:1px;width:100%;margin-top:auto;display:flex}.day .marks:empty{display:none}.day .marks .mk{width:6px;height:6px}.day .marks .mk.ella{width:7px;height:7px}.day .marks .note-icon{width:13px;height:13px}.note-wrap{display:inline-flex;position:relative}.note-icon{border:1.4px solid var(--ink-soft);width:14px;height:14px;color:var(--ink-soft);background:var(--surface-solid);cursor:help;border-radius:50%;justify-content:center;align-items:center;font-size:9px;font-style:normal;font-weight:800;line-height:1;display:flex}.note-tip{background:var(--surface-solid);color:var(--ink);border-radius:var(--radius-xs);white-space:normal;text-align:left;opacity:0;visibility:hidden;pointer-events:none;z-index:30;width:max-content;max-width:170px;box-shadow:var(--shadow-edge),var(--shadow-ambient);padding:7px 9px;font-size:11px;font-weight:700;line-height:14px;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 6px);right:0;transform:translateY(-3px)}.note-wrap:hover .note-tip,.note-wrap.tapped .note-tip{opacity:1;visibility:visible;transform:translateY(0)}.evt-labels{display:none}@media (min-width:640px){.day{aspect-ratio:auto;align-items:stretch;min-height:88px;padding:7px 6px 8px}.day .marks{flex-wrap:nowrap;gap:3px;width:auto;margin-top:0;position:absolute;top:6px;right:6px}.day .marks .mk{width:7px;height:7px}.day .marks .mk.ella{width:8px;height:8px}.evt-labels{flex-direction:column;gap:2px;width:100%;margin-top:4px;display:flex}.evt-label{white-space:nowrap;text-overflow:ellipsis;background:var(--surface-solid);color:var(--evt-ink);border-radius:6px;padding:1px 6px;font-size:10px;font-weight:700;line-height:13px;display:block;overflow:hidden}.evt-label.bowie{background:var(--bowie-soft);color:var(--bowie-ink)}.evt-label.maxine{background:var(--maxine-soft);color:var(--maxine-ink)}.evt-label.lennon{background:var(--lennon-soft);color:var(--lennon-ink)}.evt-label.evt-more{color:var(--ink-soft);background:0 0;padding-left:1px}}.grid.picking{touch-action:none;-webkit-user-select:none;user-select:none}.grid.picking .day:active{transform:none}.day.picked{box-shadow:0 0 0 3px var(--focus) inset}.day.picked:after{content:"✓";color:var(--ink);font-size:11px;font-weight:800;line-height:1;position:absolute;top:6px;right:6px}@media (min-width:640px){.day.picked:after{inset:auto auto 4px 6px}}.pick-bar{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.pick-count{color:var(--ink);margin-right:auto;font-size:13.5px;font-weight:700;line-height:18px}.btn-sm{padding:7px 14px;font-size:13px;line-height:18px}.bulk-hint{color:var(--ink-soft);margin:0 0 14px;font-size:13px;line-height:18px}.bulk-count{color:var(--ink-soft);font-weight:600}.link-btn{font:inherit;color:var(--accent-primary-text);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}#day-editor{display:none}#day-editor.open{display:block}.editor-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.editor-head h3{margin:0;font-size:21px;line-height:25px}.field{margin-bottom:16px}.field label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px;font-size:11px;font-weight:700;line-height:13px;display:block}.seg{background:var(--fill);border-radius:var(--radius-pill);gap:2px;padding:3px;display:inline-flex}.seg button{border-radius:var(--radius-pill);cursor:pointer;color:var(--ink-soft);background:0 0;border:none;padding:7px 18px;font-size:14px;font-weight:700;transition:transform .12s}.seg button:active{transform:scale(.97)}.seg button.active.matt{background:var(--accent-primary);color:var(--on-primary);box-shadow:var(--shadow-edge)}.seg button.active.jess{background:var(--accent-secondary);color:var(--on-secondary);box-shadow:var(--shadow-edge)}input[type=text],input[type=date],input[type=time],textarea,select{border-radius:var(--radius-xs);background:var(--fill);width:100%;color:var(--ink);border:1px solid #0000;padding:11px 12px;font-family:inherit;font-size:15px}input::placeholder{color:var(--ink-soft)}input:focus,textarea:focus,select:focus{outline:2px solid var(--focus);outline-offset:1px}.checkline{align-items:center;gap:10px;display:flex}.checkline input{width:20px;height:20px;accent-color:var(--accent-primary-text)}.checkline label{text-transform:none;letter-spacing:0;color:var(--ink);margin:0;font-size:15px;font-weight:600;line-height:20px}.row{flex-wrap:wrap;gap:10px;display:flex}.row>*{flex:1;min-width:140px}.btn{border-radius:var(--radius-md);cursor:pointer;border:none;padding:11px 20px;font-size:15px;font-weight:700;line-height:20px;transition:transform .12s}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(160deg,var(--btn-a),var(--btn-b));color:var(--btn-ink);box-shadow:var(--shadow-edge),var(--shadow-ambient)}.btn-ghost{background:var(--fill);color:var(--ink)}.btn-danger{color:var(--danger);border:1px solid var(--separator);background:0 0}.btn:disabled{opacity:.5;cursor:not-allowed}.editor-actions{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.event-list{flex-direction:column;gap:8px;margin-top:4px;display:flex}.event-item{background:var(--fill);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;font-size:14px;display:flex}.event-item .rm{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:16px;line-height:1}.event-item .rm:hover{color:var(--danger)}.kidtag{color:var(--evt-ink);background:var(--surface-solid);border-radius:var(--radius-pill);padding:2px 8px;font-size:11px;font-weight:700}.kidtag.bowie{background:var(--bowie-soft);color:var(--bowie-ink)}.kidtag.maxine{background:var(--maxine-soft);color:var(--maxine-ink)}.kidtag.lennon{background:var(--lennon-soft);color:var(--lennon-ink)}.event-time{color:var(--ink-soft);white-space:nowrap;font-size:11px;font-weight:700}.swap-add{background:var(--fill);border-radius:var(--radius-sm);margin-bottom:14px;padding:12px 14px}.swap-add summary{border-radius:var(--radius-xs)}table{border-collapse:collapse;width:100%;font-size:14px}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);padding:0 10px 8px;font-size:11px;font-weight:700;line-height:13px}td{border-top:1px solid var(--separator);font-variant-numeric:tabular-nums;padding:10px}td .rm{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:15px}.tablewrap{overflow-x:auto}.empty{color:var(--ink-soft);text-align:center;padding:14px 4px;font-size:14px}.pill{border-radius:var(--radius-pill);align-items:center;gap:5px;padding:3px 10px;font-size:12px;font-weight:700;line-height:16px;display:inline-flex}.pill.matt{background:var(--accent-primary-soft);color:var(--accent-primary-text)}.pill.jess{background:var(--accent-secondary-soft);color:var(--accent-secondary-text)}.req-card{border-radius:var(--radius-sm);background:var(--fill);margin-bottom:10px;padding:12px 14px}.req-card .req-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.req-dates{font-family:var(--font-display);font-size:15px;font-weight:650}.req-meta{color:var(--ink-soft);margin-top:3px;font-size:13px}.req-actions{gap:8px;margin-top:10px;display:flex}.req-actions .btn{padding:7px 14px;font-size:13px}.req-status{text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-pill);padding:3px 10px;font-size:11px;font-weight:700}.req-status.accepted{background:var(--accent-primary-soft);color:var(--accent-primary-text)}.req-status.declined{background:var(--fill);color:var(--ink-soft)}.kd-list{flex-direction:column;gap:0;display:flex}.kd-row{border-top:1px solid var(--separator);justify-content:space-between;align-items:center;gap:12px;padding:12px 2px;display:flex}.kd-row:first-child{border-top:none}.kd-name{font-family:var(--font-display);font-size:15px;font-weight:650;line-height:19px}.kd-detail{color:var(--ink-soft);margin-top:2px;font-size:13px;line-height:18px}.kd-side{flex:none;align-items:center;gap:8px;display:flex}details.rules summary{cursor:pointer;color:var(--ink-soft);margin-top:12px;font-size:13px;font-weight:700}details.rules .rules-body{color:var(--ink-soft);margin-top:8px;font-size:13px;line-height:1.6}details.rules .rules-body div{margin-bottom:6px}.toast{background:var(--surface-solid);color:var(--ink);border-radius:var(--radius-xs);box-shadow:var(--shadow-edge),var(--shadow-ambient);opacity:0;pointer-events:none;z-index:50;text-align:center;max-width:90vw;padding:10px 18px;font-size:13px;font-weight:700;transition:opacity .2s,transform .2s;position:fixed;bottom:22px;left:50%;transform:translate(-50%)translateY(20px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}footer{text-align:center;color:var(--ink-soft);margin-top:8px;font-size:11px;line-height:14px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.top-actions{flex:none;align-items:center;gap:8px;display:flex}.account{flex:none;position:relative}.who-chip{color:var(--ink);background:var(--fill);border-radius:var(--radius-pill);white-space:nowrap;cursor:pointer;font-size:13px;font-weight:700;font-family:var(--font-body);border:none;align-items:center;gap:7px;padding:4px 10px 4px 4px;transition:transform .12s;display:inline-flex}.who-chip:active{transform:scale(.97)}.who-chip:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.who-chip.current,.who-chip[aria-expanded=true]{background:var(--surface-solid);box-shadow:var(--shadow-edge)}.who-chip .chev{color:var(--ink-soft);transition:transform .15s}.who-chip[aria-expanded=true] .chev{transform:rotate(180deg)}.account-menu{z-index:40;border-radius:var(--radius-sm);background:var(--surface-solid);min-width:168px;box-shadow:var(--shadow-edge),var(--shadow-ambient);flex-direction:column;gap:2px;padding:6px;animation:.14s ease-out menu-in;display:flex;position:absolute;top:calc(100% + 8px);right:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.account-menu form{margin:0}.account-menu a,.account-menu button{text-align:left;border-radius:var(--radius-xs);width:100%;font-family:var(--font-body);color:var(--ink);cursor:pointer;background:0 0;border:none;padding:10px 12px;font-size:15px;font-weight:700;line-height:20px;text-decoration:none;display:block}.account-menu a:hover,.account-menu button:hover,.account-menu a[aria-current=page]{background:var(--fill)}.account-menu a:focus-visible,.account-menu button:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.account-menu button{color:var(--danger)}.avatar{object-fit:cover;vertical-align:middle;box-shadow:var(--shadow-edge);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.avatar.initial{font-family:var(--font-display);font-weight:750;line-height:1}.avatar.initial.matt{background:var(--accent-primary);color:var(--on-primary)}.avatar.initial.jess{background:var(--accent-secondary);color:var(--on-secondary)}.photo-row{align-items:center;gap:16px;display:flex}.photo-side{min-width:0}.photo-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.photo-actions label.btn{cursor:pointer}.photo-actions label.btn:focus-within{outline:2px solid var(--focus);outline-offset:2px}.photo-actions label.btn.disabled{opacity:.5;pointer-events:none}.cropper{flex-direction:column;align-items:center;display:flex}.crop-box{border-radius:var(--radius-sm);background:var(--fill);touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;width:240px;height:240px;position:relative;overflow:hidden}.crop-box:active{cursor:grabbing}.crop-box:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.crop-box img{transform-origin:0 0;pointer-events:none;max-width:none;position:absolute;top:0;left:0}.crop-ring{pointer-events:none;outline-offset:-2px;border-radius:50%;outline:2px solid #ffffffd9;position:absolute;inset:0;box-shadow:0 0 0 999px #00000073}.crop-hint{text-align:center;margin-top:10px}.crop-zoom{width:240px;color:var(--ink-soft);align-items:center;gap:10px;margin-top:8px;font-weight:700;display:flex}.crop-zoom input{accent-color:var(--accent-primary-text);flex:1}.cropper .photo-actions{justify-content:center}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.swap-add-title{margin:0 0 12px;font-size:15px;line-height:20px}.req-heading{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:18px 0 10px;font-size:13px;font-weight:700;line-height:16px}.req-preview{color:var(--ink);margin:4px 0 12px;font-size:13.5px;line-height:19px}.req-meta .avatar{vertical-align:-4px;margin-right:4px}.req-waiting{margin-top:8px;font-style:italic}.req-card.past{box-shadow:inset 0 0 0 1px var(--separator);background:0 0}th.col-dates,td.col-dates{white-space:nowrap}.col-reason{min-width:150px}#swap-table th{white-space:nowrap}.tabs{background:var(--fill);border-radius:14px;gap:4px;margin-bottom:16px;padding:4px;display:flex}.tabs a{text-align:center;font-family:var(--font-display);color:var(--ink-soft);border-radius:10px;flex:1;padding:9px 0;font-size:14px;font-weight:700;text-decoration:none}.tabs a[aria-current=page]{background:var(--surface-solid);color:var(--ink);box-shadow:var(--shadow-edge)}.tabs a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.saving{opacity:.6;pointer-events:none}.login{max-width:400px;margin:0 auto;padding:48px 16px 64px}.login .app-icon{border-radius:18px;width:64px;height:64px;margin:0 auto 16px}.login h1{text-align:center;margin:0 0 6px;font-size:26px;line-height:30px}.login .sub{text-align:center;color:var(--ink-soft);margin:0 0 24px}.who-pick{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.who-pick label{border-radius:var(--radius-md);background:var(--fill);font-family:var(--font-display);cursor:pointer;justify-content:center;align-items:center;padding:14px;font-size:17px;font-weight:750;display:flex}.who-pick input{opacity:0;pointer-events:none;position:absolute}.who-pick label:has(input:checked).matt{background:var(--accent-primary);color:var(--on-primary)}.who-pick label:has(input:checked).jess{background:var(--accent-secondary);color:var(--on-secondary)}.who-pick label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.login input[type=password]{border-radius:var(--radius-md);background:var(--fill);width:100%;color:var(--ink);text-align:center;border:none;margin:0 0 14px;padding:11px 20px;font-family:inherit;font-size:15px;line-height:20px;display:block}.login .btn{width:100%}.form-error{color:var(--danger);text-align:center;margin:0 0 12px;font-size:13px;font-weight:700}.btn-small{padding:6px 14px;font-size:13px;line-height:18px}.kid-row .kd-name{align-items:center;gap:8px;display:flex}.kid-row .mk{width:9px;height:9px}.kid-edit{border:none;border-top:1px solid var(--separator);margin:6px 0 14px;padding:12px 0 0}.kid-edit legend{font-family:var(--font-display);padding:0 6px 0 0;font-size:15px;font-weight:700}.form-actions{margin-top:6px}.form-actions>*{flex:none;min-width:0}.form-actions .btn-primary{margin-left:auto}.field-hint{color:var(--ink-soft);margin:6px 0 0;font-size:12.5px;line-height:17px}.form-error-inline{color:var(--danger);font-weight:700}.wk-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:6px 0;display:flex}.wk-day{min-width:44px;font-size:14px;font-weight:700}.wk-wide{flex:1;min-width:150px}.seg button.active.alt{background:var(--surface-solid);color:var(--ink);box-shadow:var(--shadow-edge)}.rule-change-note{background:var(--fill);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding:12px 14px;display:flex}.school-mk.minimum{font-family:var(--font-display);color:var(--ink-soft);font-size:11px;font-weight:800}.evt-label.school-label{background:var(--fill);color:var(--ink-soft);font-style:italic}.school-note{background:var(--fill);border-radius:var(--radius-sm);margin:0 0 16px;padding:9px 12px;font-size:13.5px}a.btn{color:var(--ink);text-decoration:none;display:inline-block}#plan-compare tr.differs td{font-weight:700}.ask-log{flex-direction:column;gap:14px;margin-bottom:12px;display:flex}.ask-q{background:var(--fill);border-radius:var(--radius-sm);align-self:flex-end;width:fit-content;max-width:85%;margin-left:auto;padding:9px 12px;font-size:14.5px;font-weight:700}.ask-a{white-space:pre-wrap;margin-top:8px;font-size:15px;line-height:1.5}.ask-wait{color:var(--ink-soft)}.ask-suggest{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.ask-form{flex-wrap:nowrap}@media (max-width:520px){.wrap{padding-top:14px}.top{margin-bottom:14px}.brand{gap:10px}.app-icon{border-radius:12px;width:40px;height:40px}.top h1{font-size:21px;line-height:25px}.tabs{margin-bottom:12px}.stats{gap:10px}.stat{padding:12px 14px 13px}.stat .bar{margin-top:8px}section{margin-bottom:12px}.card:has(>.cal-head){padding:14px 10px 12px}.cal-head{margin-bottom:10px;padding:0 2px}.dow-row,.grid{gap:4px}.dow-row span{letter-spacing:.06em;font-size:10px}.day{padding:5px 3px 4px}.day .n{margin-left:2px}}
