:root{--bg:#f2f2f7;--wall:radial-gradient(80vw 55vh at -5% -5%, #007aff4d, transparent 68%), radial-gradient(70vw 50vh at 105% 0%, #af52de38, transparent 68%), radial-gradient(60vw 45vh at 95% 55%, #ff2d5524, transparent 70%), radial-gradient(70vw 55vh at 0% 75%, #ff950029, transparent 70%), radial-gradient(80vw 50vh at 70% 108%, #30b0c73d, transparent 68%);--glass:#ffffff75;--glass-strong:#ffffffb3;--edge:inset 0 0 0 1px #ffffff80, inset 0 1px 0 #fffffff2;--drop:0 0 0 .5px #00000012, 0 1px 1px #00000008, 0 10px 28px -6px #141e3c1f;--drop-lift:0 0 0 .5px #00000014, 0 2px 6px #0000000f, 0 22px 48px -10px #141e3c47;--blur:blur(30px) saturate(190%);--fill:#7878801f;--fill-2:#78788033;--sep:#3c3c4329;--ink:#1c1c1e;--muted:#5f5f66;--tint:#0071e3;--tint-soft:#0071e31f;--blue:#007aff;--green:#34c759;--orange:#ff9500;--red:#ff3b30;--indigo:#5856d6;--pink:#ff2d55;--teal:#30b0c7;--yellow:#fc0;--gray:#8e8e93;--open:#955600;--open-bg:#ff95002e;--ok:#1b7534;--ok-bg:#34c75933;--warn:#c1271e;--warn-bg:#ff3b3024;--busy-bg:repeating-linear-gradient(135deg, #7878801a 0 8px, #7878800a 8px 16px);--r-card:16px;--r-ctl:11px;--r-sm:6px;--focus:0 0 0 4px #007aff73;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", system-ui, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--rounded:ui-rounded, "SF Pro Rounded", -apple-system, system-ui, sans-serif;--card:var(--glass-strong);--line:var(--sep);--paper:var(--bg);--accent:var(--tint);--accent-ink:#fff;--brand:var(--tint);--soft:var(--fill);--shadow:var(--edge), var(--drop);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#000;--wall:radial-gradient(80vw 55vh at -5% -5%, #0a84ff6b, transparent 68%), radial-gradient(70vw 50vh at 105% 0%, #bf5af24d, transparent 68%), radial-gradient(60vw 45vh at 95% 55%, #ff375f2e, transparent 70%), radial-gradient(70vw 55vh at 0% 75%, #ff9f0a29, transparent 70%), radial-gradient(80vw 50vh at 70% 108%, #40c8e042, transparent 68%);--glass:#26262e80;--glass-strong:#3a3a44b8;--edge:inset 0 0 0 1px #ffffff17, inset 0 1px 0 #fff3;--drop:0 10px 30px #0006;--drop-lift:0 18px 44px #0009;--fill:#7878803d;--fill-2:#7878805c;--sep:#54545899;--ink:#fff;--muted:#aeaeb2;--tint:#0a84ff;--tint-soft:#0a84ff38;--blue:#0a84ff;--green:#30d158;--orange:#ff9f0a;--red:#ff453a;--indigo:#5e5ce6;--pink:#ff375f;--teal:#40c8e0;--yellow:#ffd60a;--open:#ffb340;--open-bg:#ff9f0a38;--ok:#4cd964;--ok-bg:#30d15838;--warn:#ff6961;--warn-bg:#ff453a38;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{min-height:100vh;color:var(--ink);background:var(--wall), var(--bg);font-family:var(--font);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-size:1.0625rem;line-height:1.38}h1,h2,h3{letter-spacing:-.022em;margin:0;font-weight:700;line-height:1.15}h1{font-size:2rem}h2{letter-spacing:-.015em;margin:1.7rem 2px .55rem;font-size:1.1875rem;font-weight:650}a{color:var(--tint);text-decoration:none}strong,b{font-weight:600}:focus-visible{box-shadow:var(--focus);border-radius:8px;outline:none}svg.ic{flex:none;width:22px;height:22px}.wrap{max-width:660px;margin:0 auto;padding:10px 16px 128px}@media (min-width:900px){.wrap.wide{max-width:1100px}}.topbar{justify-content:space-between;align-items:center;gap:12px;padding:8px 0 4px;display:flex}.sub{color:var(--muted);font-size:.94rem}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.spacer{flex:1}.srOnly{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.mini{color:var(--muted);font-size:.9em}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:10px 12px;padding:14px 4px;display:flex}.pagehead .phText{flex:1;min-width:190px}.pagehead .eyebrow{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin-bottom:2px;font-size:.8125rem;font-weight:600}.pagehead .phSub{color:var(--muted);margin-top:3px}.pagehead .phSide{align-items:center;gap:8px;display:flex}.pagehead .phFoot{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:10px;margin-top:4px;display:flex}.avatars{display:flex}.avatars .avatar{box-shadow:0 0 0 2.5px var(--bg);margin-left:-8px}.avatars .avatar:first-child{margin-left:0}.avatar{width:var(--sz,24px);height:var(--sz,24px);font-family:var(--rounded);font-weight:600;font-size:calc(var(--sz,24px) * .46);background-image:linear-gradient(#ffffff47,#fff0 65%);border-radius:30%;flex:none;place-items:center;font-style:normal;line-height:1;display:inline-grid}.dot{border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.card,.stat,.tile,.menuList,.weekStrip,.personGrid,.addBar,.callout,.perks li,.board .panel{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), var(--drop);border-radius:var(--r-card);border:0}.card{margin-bottom:12px;padding:16px}.card.sub{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 0 0 1px var(--sep);text-align:center;background:0 0;padding:20px 16px}.card.busy{background:var(--busy-bg);box-shadow:inset 0 0 0 1px var(--sep);color:var(--muted);font-weight:600}.card.cancelled{opacity:.6}.card.event{padding:0;overflow:hidden}.evMain{all:unset;box-sizing:border-box;cursor:pointer;align-items:stretch;gap:12px;width:100%;padding:14px 16px;display:flex}.evMain:before{content:"";background:var(--pc,var(--tint));border-radius:2px;flex:none;width:4px}.evMain:focus-visible{box-shadow:inset var(--focus);border-radius:var(--r-card)}.evMain:active{background:var(--fill)}.evTime{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;min-width:50px;padding-top:1px;display:flex}.evTime b{font-size:1.0625rem;font-weight:600}.evTime span{color:var(--muted);font-size:.8125rem}.evBody{flex:1;min-width:0}.evHandoffs{padding:0 16px 14px}.evHandoffs .handoff:first-child{border-top:.5px solid var(--sep);padding-top:12px}.eventTitle{overflow-wrap:anywhere;font-size:1.0625rem;font-weight:600;line-height:1.25}.time{font-variant-numeric:tabular-nums;font-weight:600}.card.next{color:#fff;background:linear-gradient(165deg,#0a7aff,#0058c8);box-shadow:inset 0 1px #ffffff73,inset 0 0 0 1px #ffffff24,0 14px 34px -8px #0062d68c}.card.next .evMain:before{background:#ffffffd9}.card.next .sub,.card.next .evTime span{color:#ffffffdb}.card.next .eventTitle{letter-spacing:-.02em;font-size:1.375rem;font-weight:700}.card.next .handoff,.card.next .evHandoffs .handoff:first-child{border-color:#ffffff4d}.card.next .hIco{color:#fff;background:#fff3}.card.next .btn{color:#fff;background:#fff3;box-shadow:inset 0 1px #ffffff4d}.card.next .btn.primary{color:#0062d6;background:#fff}.card.next .chip{color:#fff;background:#ffffff38}.card.next :focus-visible{box-shadow:0 0 0 4px #fff9}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.stat{all:unset;box-sizing:border-box;cursor:pointer;background:var(--glass);min-width:0;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), var(--drop);border-radius:12px;flex-direction:column;padding:14px 14px 12px;transition:transform .2s;display:flex}.stat:active{transform:scale(.96)}.stat:focus-visible{box-shadow:var(--focus)}.stat b{font-family:var(--rounded);color:var(--sc,var(--tint));font-size:1.9rem;font-weight:700;line-height:1.1}.stat span{color:var(--muted);font-size:.8125rem;font-weight:600;line-height:1.25}.btn{appearance:none;background:var(--glass-strong);color:var(--tint);border-radius:var(--r-ctl);min-height:44px;font:inherit;cursor:pointer;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), 0 1px 3px #00000014;border:0;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-weight:600;text-decoration:none;transition:transform .2s cubic-bezier(.3,1.4,.5,1),filter .15s;display:inline-flex}.btn:active{filter:brightness(.94);transform:scale(.96)}.btn.primary{background:var(--tint);color:#fff;box-shadow:inset 0 1px 0 #ffffff59, 0 6px 16px -4px color-mix(in srgb, var(--tint) 60%, transparent)}.btn.ghost{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;padding:0 10px}.btn.ghost:hover{background:var(--fill)}.btn.small{min-height:36px;padding:0 13px;font-size:.94rem}.btn.icon{width:36px;min-height:36px;padding:0;font-size:1.3rem}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.block{width:100%}.chip{letter-spacing:0;border-radius:var(--r-sm);align-items:center;gap:5px;padding:2px 8px;font-family:inherit;font-size:.78rem;font-weight:600;display:inline-flex}.chip.open{background:var(--open-bg);color:var(--open)}.chip.confirmed{background:var(--ok-bg);color:var(--ok)}.chip.reconfirm,.chip.requested{background:var(--warn-bg);color:var(--warn)}.chip.cancelled{background:var(--fill);color:var(--muted)}.handoff{border-top:.5px solid var(--sep);flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding-top:12px;display:flex}.handoff:first-child{border-top:0;margin-top:0;padding-top:0}.handoff .what{flex:1;min-width:170px}.hIco{background:color-mix(in srgb, var(--ic,var(--tint)) 15%, transparent);width:38px;height:38px;color:var(--ic,var(--tint));border-radius:10px;flex:none;place-items:center;display:grid}label{margin:14px 0 6px;font-size:.94rem;font-weight:600;display:block}input,select,textarea{width:100%;min-height:48px;font:inherit;background:var(--fill);color:var(--ink);border:0;border-radius:10px;padding:8px 14px;transition:box-shadow .15s,background .15s}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.8}input:focus,select:focus,textarea:focus{box-shadow:var(--focus);outline:none}.check{cursor:pointer;align-items:center;gap:12px;min-height:46px;margin:0;font-size:1.0625rem;font-weight:400;display:flex}.check input[type=checkbox]{appearance:none;width:26px;height:26px;min-height:26px;box-shadow:inset 0 0 0 2px var(--gray);cursor:pointer;background:0 0;border-radius:7px;flex:none;place-items:center;padding:0;transition:background .2s,box-shadow .2s,transform .2s cubic-bezier(.3,1.6,.5,1);display:grid}.check input[type=checkbox]:after{content:"";border-bottom:2.5px solid #fff;border-left:2.5px solid #fff;width:11px;height:6px;transition:transform .2s cubic-bezier(.3,1.6,.5,1);transform:rotate(-45deg)translate(1px,-1px)scale(0)}.check input[type=checkbox]:checked{background:var(--tint);box-shadow:none}.check input[type=checkbox]:checked:after{transform:rotate(-45deg)translate(1px,-1px)scale(1)}.check input[type=checkbox]:active{transform:scale(.88)}.check input[type=checkbox]:focus-visible{box-shadow:var(--focus)}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid3{grid-template-columns:1.4fr 1fr 1fr;gap:10px;display:grid}@media (max-width:480px){.grid3{grid-template-columns:1fr 1fr}.grid3>:first-child{grid-column:1/-1}}.error,.notice{border-radius:12px;margin:10px 0;padding:12px 14px;font-weight:500;display:block}.error{background:var(--warn-bg);color:var(--warn)}.notice{background:var(--ok-bg);color:var(--ok)}.callout{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--r-card);background:var(--glass);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), var(--drop);align-items:center;gap:12px;margin-top:12px;padding:12px 14px;font-weight:500;transition:transform .2s;display:flex}.callout:active{transform:scale(.98)}.callout:focus-visible{box-shadow:var(--focus)}.callout .go{color:var(--muted);margin-left:auto;font-size:1.4rem}.seg{background:var(--fill);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:36px;padding:0 16px;font-size:.94rem;font-weight:500;transition:background .2s,box-shadow .2s}.seg button[aria-pressed=true]{background:var(--glass-strong);box-shadow:var(--edge), 0 2px 8px #0000001f;font-weight:600}.tabbar{left:0;right:0;bottom:calc(12px + env(safe-area-inset-bottom));z-index:10;pointer-events:none;justify-content:center;align-items:center;gap:10px;padding:0 12px;display:flex;position:fixed}.tabbar>*{pointer-events:auto}.tabs,.tabbar .fab{background:var(--glass);-webkit-backdrop-filter:blur(30px)saturate(200%);backdrop-filter:blur(30px)saturate(200%);box-shadow:var(--edge), var(--drop-lift)}.tabs{border-radius:20px;flex:1;grid-template-columns:repeat(5,1fr);max-width:380px;padding:4px;display:grid}.tabs button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:56px;font-size:.6875rem;font-weight:600;transition:background .25s,color .25s;display:flex}.tabs button svg{width:25px;height:25px}.tabs button[aria-current=page]{color:var(--tint);background:var(--fill)}.tabbar .fab{width:58px;height:58px;color:var(--tint);cursor:pointer;border:0;border-radius:18px;place-items:center;transition:transform .25s cubic-bezier(.3,1.4,.5,1);display:grid}.tabbar .fab svg{width:28px;height:28px}.tabbar .fab:active{transform:scale(.9)}.toast{left:50%;bottom:calc(92px + env(safe-area-inset-bottom));background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);color:var(--ink);z-index:40;max-width:calc(100% - 32px);min-height:52px;box-shadow:var(--edge), var(--drop-lift);border-radius:14px;align-items:center;gap:12px;padding:8px 8px 8px 18px;font-weight:500;animation:.4s cubic-bezier(.3,1.4,.5,1) pop;display:flex;position:fixed;transform:translate(-50%)}.toast .btn{background:var(--tint);color:#fff;min-height:36px;box-shadow:none}@keyframes pop{0%{transform:translate(-50%)translateY(20px)scale(.92)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (prefers-reduced-transparency:reduce){:root{--glass:var(--bg);--glass-strong:var(--bg);--blur:none}}.changes{margin:0;padding:0;list-style:none}.changes li{border-bottom:.5px solid var(--sep);padding:9px 0}.changes li:first-child{padding-top:0}.changes li:last-child{border:0;padding-bottom:0}.sheet-backdrop{z-index:30;background:#0000004d;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);width:100%;max-width:660px;max-height:92vh;padding:22px 16px calc(24px + env(safe-area-inset-bottom));box-shadow:var(--edge), var(--drop-lift);border-radius:22px 22px 0 0;animation:.4s cubic-bezier(.2,.9,.3,1) sheetUp;overflow:auto}.sheet:before{content:"";background:var(--fill-2);border-radius:3px;width:36px;height:5px;margin:-12px auto 14px;display:block}.sheet h1{font-size:1.375rem}.sheet h2{margin-left:0;font-size:1.0625rem}@keyframes sheetUp{0%{transform:translateY(80px)}}@media (min-width:700px){.sheet-backdrop{align-items:center}.sheet{border-radius:22px}.sheet:before{display:none}}.hero{text-align:center;padding:36px 8px 18px}.hero h1{letter-spacing:-.03em;font-size:2.4rem}.hero .sub{max-width:30ch;margin:8px auto 0;font-size:1.125rem}.hero .logo{border-radius:22px;width:92px;height:92px;margin:0 auto 18px;display:block;box-shadow:0 14px 34px -8px #0062d680}.perks{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px;padding:0;list-style:none;display:grid}.perks li{text-align:center;border-radius:var(--r-card);flex-direction:column;align-items:center;gap:8px;padding:14px 10px;font-size:.8125rem;font-weight:500;line-height:1.3;display:flex}.demoGrid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.demoPerson{all:unset;box-sizing:border-box;cursor:pointer;background:var(--fill);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:14px 6px 12px;font-weight:600;transition:transform .25s cubic-bezier(.3,1.4,.5,1),background .15s;display:flex}.demoPerson .avatar{margin-bottom:4px}.demoPerson:hover{background:var(--fill-2)}.demoPerson:active{transform:scale(.94)}.demoPerson:focus-visible{box-shadow:var(--focus)}.demoPerson[disabled]{opacity:.5}.demoPerson small{color:var(--muted);font-size:.8125rem;font-weight:400}.board{flex-direction:column;gap:clamp(12px,2vw,24px);min-height:100vh;padding:clamp(16px,3vw,40px);font-size:clamp(1.1rem,1.6vw,1.6rem);display:flex}.board header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:0 6px;display:flex}.board h1{letter-spacing:-.03em;font-size:clamp(1.8rem,3.6vw,3.4rem)}.board .clock{font-family:var(--rounded);font-variant-numeric:tabular-nums;font-size:clamp(2.2rem,5vw,4.8rem);font-weight:700;line-height:1}.boardGrid{flex:1;grid-template-columns:1fr;gap:clamp(12px,2vw,24px);display:grid}@media (orientation:landscape) and (min-width:800px){.boardGrid{grid-template-columns:1.1fr 1fr}}.board .panel{border-radius:clamp(16px,2vw,24px);padding:clamp(16px,2vw,30px)}.board .panel h2{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5em;font-size:clamp(.85rem,1.1vw,1.1rem);font-weight:600}.board .big{letter-spacing:-.02em;font-size:clamp(1.6rem,3vw,2.8rem);font-weight:700;line-height:1.15}.board .ride{border-bottom:.5px solid var(--sep);align-items:center;gap:14px;padding:12px 0;display:flex}.board .ride:last-child{border:0}.board .ride.open .who{color:var(--open);background:var(--open-bg);border-radius:8px;padding:2px 14px}.board .who{font-weight:600}.board .stale{background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:6px 14px;font-weight:600}.board .lock{text-align:center;flex:1;place-items:center;display:grid}.board .extra{border-top:.5px solid var(--sep);align-items:baseline;gap:12px;padding:10px 0;display:flex}.pairCode{font-family:var(--rounded);letter-spacing:.15em;font-variant-numeric:tabular-nums;font-size:clamp(3rem,10vw,7rem);font-weight:700}.qr{width:min(260px,60vw);box-shadow:var(--drop);background:#fff;border-radius:16px;padding:12px}.qr svg{width:100%;height:auto;display:block}.weekStrip{grid-template-columns:repeat(7,1fr);gap:2px;margin:12px 0 6px;padding:8px 6px;display:grid}.weekStrip button{color:var(--ink);min-height:76px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:2px 0;display:flex}.weekStrip .wd{color:var(--muted);text-transform:uppercase;font-size:.6875rem;font-weight:600}.weekStrip .dn{font-variant-numeric:tabular-nums;border-radius:10px;place-items:center;width:38px;height:38px;font-size:1.25rem;font-weight:500;transition:background .2s,color .2s;display:grid}.weekStrip button.isToday .dn{color:var(--red);font-weight:600}.weekStrip button[aria-selected=true] .dn{background:var(--ink);color:var(--bg);font-weight:600}.weekStrip button.isToday[aria-selected=true] .dn{background:var(--red);color:#fff}.weekStrip .dots{gap:3px;min-height:6px;display:flex}.weekStrip .dots i{border-radius:50%;width:6px;height:6px;display:block}.filters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.filters select{border-radius:10px;min-height:40px;font-size:.94rem;font-weight:500}.personGrid{margin:14px 0;overflow:hidden}.pgRow{border-top:.5px solid var(--sep);grid-template-columns:130px repeat(7,1fr);display:grid}.pgRow:first-child{border-top:0}.pgHead span{color:var(--muted);padding:10px 8px;font-size:.8125rem;font-weight:600}.pgName{align-items:center;gap:8px;padding:8px 12px;font-weight:600;display:flex}.pgCell{border-left:.5px solid var(--sep);flex-direction:column;gap:4px;min-height:48px;padding:5px;display:flex}.pgItem{all:unset;cursor:pointer;background:color-mix(in srgb, var(--pc,var(--tint)) 18%, transparent);box-shadow:inset 3px 0 0 var(--pc,var(--tint));border-radius:7px;padding:4px 6px 4px 9px;font-size:.8125rem;line-height:1.25}.pgItem:hover{background:color-mix(in srgb, var(--pc,var(--tint)) 30%, transparent)}.pgItem.cancelled{opacity:.6;text-decoration:line-through}.pgItem:focus-visible{box-shadow:var(--focus)}.pin{font-family:var(--rounded);letter-spacing:.25em;font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:700}.kv{grid-template-columns:auto 1fr;gap:8px 16px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{text-align:right;margin:0;font-weight:500}.sectionTabs{background:var(--fill);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;margin-bottom:14px;padding:3px;display:grid}.sectionTabs button{all:unset;box-sizing:border-box;cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:42px;font-size:.94rem;font-weight:500;transition:background .2s,box-shadow .2s,color .2s;display:flex}.sectionTabs button svg{width:19px;height:19px}.sectionTabs button[aria-selected=true] svg{color:var(--sc)}.sectionTabs button[aria-selected=true]{background:var(--glass-strong);box-shadow:var(--edge), 0 2px 8px #0000001f;font-weight:600}.sectionTabs button:focus-visible{box-shadow:var(--focus)}.addBar{border-radius:12px;gap:8px;padding:5px 5px 5px 8px;display:flex}.addBar input{background:0 0;flex:1;width:auto;min-width:0;min-height:44px}.addBar input:focus{box-shadow:none}.addBar:focus-within{box-shadow:var(--edge), var(--focus)}.addBar .btn{min-height:44px}.syncState{color:var(--muted);align-items:center;gap:6px;margin:0 4px 10px;font-size:.8125rem;font-weight:500;display:inline-flex}.syncState:before{content:"";background:var(--gray);border-radius:50%;width:8px;height:8px}.syncState.ok:before{background:var(--green)}.syncState.off:before{background:var(--orange)}.shopList{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), var(--drop);border-radius:var(--r-card);margin:12px 0;padding:0 0 0 16px;list-style:none;overflow:hidden}.shopList li{border-top:.5px solid var(--sep);justify-content:space-between;align-items:center;gap:8px;min-height:52px;padding:4px 8px 4px 0;display:flex}.shopList li:first-child{border-top:0}.shopList li.sub{justify-content:center;padding:18px 16px 18px 0}.shopList .check{flex:1}.shopList .btn.ghost{color:var(--gray)}.shopList.done .check span{color:var(--muted);text-decoration:line-through}.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (min-width:640px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1000px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--r-card);background:var(--glass);min-height:128px;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), var(--drop);flex-direction:column;gap:3px;padding:16px;transition:transform .25s cubic-bezier(.3,1.4,.5,1);display:flex;position:relative}.tile:active{transform:scale(.96)}.tile:focus-visible,.menuList button:focus-visible,.backlink:focus-visible{box-shadow:var(--focus)}.tileIcon{color:#fff;background:linear-gradient(180deg, #ffffff4d, #fff0 60%), var(--c,var(--tint));width:42px;height:42px;box-shadow:inset 0 .5px 0 #ffffff80, 0 4px 10px -3px color-mix(in srgb, var(--c,var(--tint)) 60%, transparent);border-radius:10px;flex:none;place-items:center;margin-bottom:10px;display:grid}.tileIcon svg{width:24px;height:24px}.tileTitle{align-items:center;gap:6px;font-size:1.0625rem;font-weight:600;display:flex}.tileDesc{color:var(--muted);font-size:.8125rem;line-height:1.3}.badge{background:var(--red);color:#fff;text-align:center;border-radius:999px;min-width:22px;padding:1px 7px;font-size:.8125rem;font-weight:600}.tile .badge{position:absolute;top:14px;right:14px}.menuList{margin:0;padding:0;list-style:none;overflow:hidden}.menuList li{position:relative}.menuList li+li:before{content:"";background:var(--sep);height:.5px;position:absolute;top:0;left:60px;right:0}.menuList button{all:unset;box-sizing:border-box;cursor:pointer;align-items:center;gap:14px;width:100%;min-height:60px;padding:10px 14px 10px 16px;transition:background .15s;display:flex}.menuList button:active,.menuList button:hover{background:var(--fill)}.menuList .tileIcon{width:30px;height:30px;box-shadow:none;border-radius:7px;margin:0}.menuList .tileIcon svg{width:19px;height:19px}.menuText{flex-direction:column;flex:1;display:flex}.menuTitle{font-weight:400}.chev{color:var(--gray);opacity:.7;font-size:1.4rem;line-height:1}.subhead{padding:4px 4px 12px}.backlink{all:unset;cursor:pointer;color:var(--tint);border-radius:8px;align-items:center;gap:2px;min-height:44px;padding:0 8px 0 0;font-weight:400;display:inline-flex}.subhead h1{margin-top:0}.circleChip{all:unset;box-sizing:border-box;cursor:pointer;background:var(--glass-strong);min-height:36px;box-shadow:var(--edge), 0 1px 3px #00000014;border-radius:9px;align-items:center;gap:7px;max-width:100%;padding:0 12px;font-size:.94rem;font-weight:600;display:inline-flex}.circleChip:focus-visible{box-shadow:var(--focus)}.circleChip>span[aria-hidden]{color:var(--gray);font-size:1.2rem;line-height:1}.card.circle[aria-current=true]{box-shadow:var(--edge), var(--drop), inset 0 0 0 2px var(--c)}.kindGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (max-width:480px){.kindGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.kindGrid button{all:unset;box-sizing:border-box;cursor:pointer;background:var(--fill);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:12px 6px 10px;font-size:.875rem;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.kindGrid button .tileIcon{margin-bottom:6px}.kindGrid button[aria-checked=true]{background:color-mix(in srgb, var(--c) 14%, transparent);box-shadow:inset 0 0 0 2px var(--c)}.kindGrid button:focus-visible{box-shadow:var(--focus)}.swatch{all:unset;box-sizing:border-box;cursor:pointer;width:36px;height:36px;box-shadow:inset 0 0 0 3px var(--bg);border-radius:9px;outline:2px solid #0000}.swatch[aria-checked=true]{outline-color:var(--ink)}.swatch:focus-visible{box-shadow:var(--focus)}.groupHead{text-transform:uppercase;letter-spacing:.03em;color:var(--muted);margin:1.4rem 16px .45rem;font-size:.8125rem;font-weight:600}.stats{border-radius:var(--r-card);background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), var(--drop);gap:0;padding:4px}.stat{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;background:0 0;padding:10px 14px;position:relative}.stat+.stat:before{content:"";background:var(--sep);width:.5px;position:absolute;top:12px;bottom:12px;left:0}.stat:hover{background:var(--fill)}.stat b{font-size:1.75rem}.card.next{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);background:linear-gradient(170deg,#0a84ffe0,#0058c8e6);box-shadow:inset 0 0 0 1px #ffffff2e,inset 0 1px #ffffff73,0 14px 30px -12px #0058c899}.card.next .chip{border-radius:var(--r-sm)}.btn{box-shadow:var(--edge), 0 0 0 .5px #00000014, 0 1px 2px #0000000d}.btn.primary{box-shadow:inset 0 1px 0 #ffffff4d, 0 4px 12px -4px color-mix(in srgb, var(--tint) 65%, transparent)}.btn.ghost{box-shadow:none}.tabs{max-width:400px}.tabs button{min-height:52px}.tabbar .fab{background:var(--tint);color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 1px 0 #ffffff59, 0 10px 22px -8px color-mix(in srgb, var(--tint) 80%, transparent)}.avatars{gap:4px}.avatars .avatar,.avatars .avatar:first-child{box-shadow:none;margin-left:0}.pagehead .phSide{align-self:flex-start;padding-top:4px}.taskRow{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0;flex-wrap:nowrap;width:100%}.taskRow:first-child{border-top:0}.taskRow .what{min-width:0}.tile{min-height:120px}.tile:hover{transform:translateY(-2px)}.menuList,.shopList,.personGrid,.weekStrip{border-radius:var(--r-card)}.toast{padding:8px 8px 8px 16px}.toast .btn{border-radius:9px}.sheet:before{width:34px;height:4px}.syncState:before{border-radius:2px}.chat{flex-direction:column;gap:6px;margin:14px 0 10px;display:flex}.chatDay{color:var(--muted);background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:var(--r-sm);align-self:center;margin:8px 0 4px;padding:3px 10px;font-size:.75rem;font-weight:600}.chatNote{background:var(--ok-bg);color:var(--ink);border-radius:10px;align-self:center;align-items:center;gap:8px;max-width:100%;padding:6px 12px;font-size:.9rem;display:flex}.bubbleRow{align-items:flex-end;gap:8px;max-width:86%;display:flex}.bubbleRow.mine{align-self:flex-end}.bubble{background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), var(--drop);border-radius:14px 14px 14px 4px;min-width:0;padding:8px 12px 6px}.bubbleRow.mine .bubble{background:var(--tint);color:#fff;box-shadow:inset 0 1px 0 #ffffff40, 0 6px 16px -8px color-mix(in srgb, var(--tint) 70%, transparent);border-radius:14px 14px 4px}.bubbleName{color:var(--muted);font-size:.78rem;font-weight:600}.bubbleText{white-space:pre-wrap;overflow-wrap:anywhere}.bubbleMeta{opacity:.75;font-variant-numeric:tabular-nums;justify-content:flex-end;gap:10px;margin-top:2px;font-size:.72rem;display:flex}.bubbleMeta button{all:unset;cursor:pointer;text-decoration:underline}.bubbleMeta button:focus-visible{box-shadow:var(--focus);border-radius:4px}.composer{bottom:calc(86px + env(safe-area-inset-bottom));z-index:5;background:var(--glass-strong);position:sticky}.rows{border-radius:var(--r-card);background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), var(--drop);margin:0;padding:0;list-style:none;overflow:hidden}.rows li{position:relative}.rows li+li:before{content:"";background:var(--sep);height:.5px;position:absolute;top:0;left:16px;right:0}.rows .chip{white-space:nowrap}.lesson{align-items:center;gap:12px;min-height:52px;padding:8px 8px 8px 16px;display:flex}.lesson .time{white-space:nowrap;min-width:0}.cardButton{all:unset;box-sizing:border-box;cursor:pointer;border-radius:var(--r-card);background:var(--glass);width:100%;-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), var(--drop);flex-direction:column;gap:6px;margin-bottom:12px;padding:14px 16px;display:flex}.cardButton:focus-visible{box-shadow:var(--focus)}.lessonRow{align-items:flex-start;gap:10px;display:flex}.lessonRow>span:first-child{min-width:84px;padding-top:2px}.lessonChips{flex-wrap:wrap;gap:6px;display:flex}.bigNumber{font-family:var(--rounded);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:700;line-height:1.15}.bars{gap:8px;margin-top:12px;display:grid}.bar{grid-template-columns:104px 1fr auto;align-items:center;gap:10px;font-size:.9rem;display:grid}.barTrack{background:var(--fill);border-radius:4px;height:8px;overflow:hidden}.barTrack i{border-radius:4px;height:100%;display:block}.pgSchool{color:var(--muted);background:var(--fill);border-radius:7px;padding:3px 6px;font-size:.78rem;line-height:1.25}.pgSchool b{color:var(--ink);font-weight:600}.chipX{all:unset;cursor:pointer;opacity:.7;margin-left:2px;padding:0 2px;font-size:.72rem}.chipX:hover{opacity:1}.chipX:focus-visible{box-shadow:var(--focus);border-radius:4px}.favs{border-radius:var(--r-card);background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:var(--edge), var(--drop);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 6px;padding:14px 8px;display:grid}.fav{all:unset;box-sizing:border-box;cursor:pointer;text-align:center;color:var(--ink);border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:6px 2px;font-size:.78rem;font-weight:500;line-height:1.2;transition:transform .2s;display:flex}.fav:active{transform:scale(.94)}.fav:focus-visible{box-shadow:var(--focus)}.fav .tileIcon{border-radius:14px;width:52px;height:52px;margin:0;position:relative}.fav .tileIcon svg{width:28px;height:28px}.fav .badge{box-shadow:0 0 0 2px var(--bg);position:absolute;top:-6px;right:-8px}.rowButton{all:unset;box-sizing:border-box;cursor:pointer;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 14px 10px 16px;transition:background .15s;display:flex}.rowButton:hover,.rowButton:active{background:var(--fill)}.rowButton:focus-visible{box-shadow:inset var(--focus)}.rowButton[disabled]{cursor:default}.upWhen{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;min-width:64px;display:flex}.upWhen b{color:var(--tint);font-size:.8125rem;font-weight:600}.upWhen span{font-size:.94rem;font-weight:600}.oneLine{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.cardEmpty{font:inherit;color:var(--muted);cursor:pointer;width:100%}.favPick{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.favPick button{all:unset;box-sizing:border-box;cursor:pointer;background:var(--fill);border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:8px 10px;font-size:.9rem;font-weight:500;display:flex}.favPick button[aria-checked=true]{background:var(--tint-soft);box-shadow:inset 0 0 0 1.5px var(--tint)}.favPick button[disabled]{opacity:.45;cursor:not-allowed}.favPick button:focus-visible{box-shadow:var(--focus)}.favPick .tileIcon{width:30px;height:30px;box-shadow:none;border-radius:8px;margin:0}.favPick .tileIcon svg{width:18px;height:18px}.bubbleImage{background:var(--fill);border-radius:10px;margin:-2px -6px 6px;display:block;overflow:hidden}.bubbleImage img{object-fit:cover;width:100%;max-width:280px;height:auto;max-height:360px;display:block}.photoDraft{background:var(--glass-strong);box-shadow:var(--edge), var(--drop);border-radius:12px;align-items:center;gap:10px;margin-bottom:8px;padding:8px;display:flex}.photoDraft img{object-fit:cover;border-radius:8px;width:56px;height:56px}.photoBtn{cursor:pointer;color:var(--tint);width:44px;min-height:44px;margin:0}
