@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/barlow-500-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-600-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-700-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-700-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/barlow-800-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/barlow-800-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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}:root{--bg: #f8f8f8;--surface: #f8f8f8;--surface-2: #ececf0;--ink: #111110;--muted: #4e525d;--line: #e2e2e6;--line-strong: #111110;--brand: #111110;--brand-ink: #ffffff;--brand-soft: #f8f762;--accent: #f8b265;--danger: #b42318;--danger-soft: #fde7e5;--ok: #1d7a3a;--hl-yellow: #f8f762;--hl-green: #97f78a;--hl-orange: #f8b265;--hl-pink: #f875ae;--hl-sky: #8fdcff;--hl-lilac: #cdb2ff;--on-hl: #111110;--radius: 14px;--tabbar-h: 76px;--safe-b: env(safe-area-inset-bottom, 0px);--safe-t: env(safe-area-inset-top, 0px);--font: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #121212;--surface: #121212;--surface-2: #232326;--ink: #f3f3f1;--muted: #a6a9b1;--line: #2e2e33;--line-strong: #e9e9e6;--brand: #f3f3f1;--brand-ink: #111110;--brand-soft: #5c5a12;--danger: #ff8a7a;--danger-soft: #3b1d19;--ok: #7bd88f;--hl-yellow: #e9e44a;--hl-green: #7fe474;--hl-orange: #f0a24f;--hl-pink: #f0679f;--hl-sky: #6cc9f2;--hl-lilac: #b99bf2;color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{touch-action:manipulation}html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 var(--font);-webkit-text-size-adjust:100%;overscroll-behavior-y:none}#root{min-height:100dvh}a{color:var(--brand)}h1,h2,h3{margin:0;line-height:1.2}.muted{color:var(--muted)}.small,small{font-size:.82rem}.center{text-align:center}em.muted{font-style:normal;font-weight:400}.app{min-height:100dvh}.main{max-width:720px;margin:0 auto;padding:calc(var(--safe-t) + 4px) 16px calc(var(--tabbar-h) + var(--safe-b) + 96px)}.header{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:8px;min-height:56px;margin:0 -16px;padding:calc(var(--safe-t)) 16px 0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.header h1{flex:1;font-size:1.35rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-actions{display:flex;gap:6px}.sub{margin:-4px 0 12px}.greeting{margin:0 0 12px;color:var(--muted)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:space-around;height:calc(var(--tabbar-h) + var(--safe-b));padding-bottom:var(--safe-b);background:var(--surface);border-top:1px solid var(--line)}.tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);text-decoration:none;font-size:.75rem;font-weight:600}.tabbar a.active{color:var(--brand)}.splash{display:grid;place-items:center;min-height:100dvh}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:0 0 14px}.card-title{font-size:1rem;margin-bottom:12px}.card-title-row{display:flex;justify-content:space-between;align-items:baseline}.list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.list-item{display:flex;gap:12px;align-items:center;padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;text-decoration:none}.list-item:active{transform:scale(.99)}.list-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-main strong{overflow-wrap:anywhere}.list-main small{color:var(--muted)}.book-spine{width:10px;align-self:stretch;border-radius:4px;background:var(--brand);flex:none}.book-spine[data-subject="1"]{background:#e07a5f}.book-spine[data-subject="2"]{background:#3d5a80}.book-spine[data-subject="3"]{background:#f2a541}.book-spine[data-subject="4"]{background:#8e6bbf}.book-spine[data-subject="5"]{background:#c2185b}.reading{display:flex;align-items:center;gap:6px;color:var(--brand)!important;font-weight:600;font-size:.85rem;margin:10px 0 0}.empty{text-align:center;padding:40px 16px;color:var(--muted)}.empty p{max-width:320px;margin:12px auto 20px}.empty-text{color:var(--muted);text-align:center;padding:8px 12px 20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.btn:disabled{opacity:.5}.btn.danger{color:var(--danger);border-color:transparent;background:var(--danger-soft)}.btn.ghost{background:transparent;border-style:dashed}.btn.small{min-height:40px;padding:0 14px;font-size:.9rem}.btn.big{min-height:56px;font-size:1.05rem;box-shadow:0 6px 20px #00000026}.btn.block{display:flex;width:100%;margin-top:12px}.link{background:none;border:none;color:var(--brand);font:inherit;font-weight:600;padding:4px;cursor:pointer}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;border:none;border-radius:12px;background:transparent;color:var(--ink);cursor:pointer}.icon-btn.small{width:32px;height:32px}.icon-btn:active{background:var(--surface-2)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;font-weight:600;font-size:.9rem;min-width:0}.field small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-family:inherit;font-size:16px;font-weight:400;line-height:1.3}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--brand);outline-offset:0;border-color:transparent}.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.row2.narrow-first{grid-template-columns:90px 1fr}.segmented{display:flex;background:var(--surface-2);border-radius:12px;padding:4px;gap:4px}.segmented button{flex:1;min-height:40px;border:none;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-weight:600;cursor:pointer}.segmented button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0000001f}.segmented.small button{min-height:32px;font-size:.85rem;padding:0 10px}.error{color:var(--danger);background:var(--danger-soft);border-radius:10px;padding:10px 12px;font-size:.9rem;margin:8px 0}.toggle{display:flex;gap:12px;align-items:center;margin-bottom:14px;cursor:pointer}.toggle input{position:absolute;opacity:0;width:1px;height:1px}.toggle>span:last-child{display:flex;flex-direction:column}.switch{flex:none;width:50px;height:30px;border-radius:15px;background:var(--line);position:relative;transition:background .2s}.switch:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .2s}.toggle input:checked+.switch{background:var(--brand)}.toggle input:checked+.switch:after{transform:translate(20px)}.toggle input:focus-visible+.switch{outline:2px solid var(--brand);outline-offset:2px}.checklist{display:grid;gap:8px}.check{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer}.check.on{border-color:var(--brand);background:var(--brand-soft)}.check input{position:absolute;opacity:0;width:1px;height:1px}.check .box{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:7px;border:2px solid var(--line);color:var(--brand-ink)}.check.on .box{background:var(--brand);border-color:var(--brand)}.check-label{flex:1;font-weight:600}.check input:focus-visible~.box{outline:2px solid var(--brand);outline-offset:2px}.check .box.round{border-radius:50%}.check-label small.block{display:block;font-weight:400}.scope-group{margin:14px 0 6px;font-size:1.05rem;font-weight:700}.scope-form,.scope-detail{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 0;padding:0;list-style:none}.chip{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);font-size:.9rem}.chips.out .chip{background:var(--danger-soft);border-color:transparent}.chips.out .chip-text{text-decoration:line-through}.chip-text{min-height:36px;padding:6px 4px 6px 12px;border:none;background:none;color:inherit;font:inherit;text-align:left;overflow-wrap:anywhere}span.chip-text{padding-right:12px}button.chip-text{cursor:pointer}.chip-remove{display:inline-grid;place-items:center;flex:none;width:36px;height:36px;border:none;border-radius:50%;background:none;color:var(--muted);cursor:pointer}.chip-add{display:flex;gap:8px;margin-top:12px}.chip-add input{flex:1;min-width:0}.chip-add .btn{flex:none}.scope-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.link.danger{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:var(--danger)}.capture{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.capture-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:92px;padding:10px 6px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);font:inherit;font-size:.85rem;font-weight:600;text-align:center;cursor:pointer}.capture-btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.capture.compact .capture-btn{min-height:72px;flex-direction:row;font-size:.8rem}.capture.compact{margin-bottom:12px}@media(max-width:380px){.capture.compact .capture-btn{flex-direction:column}}.chapter{margin:18px 0}.chapter-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.chapter-head h3{flex:1;font-size:1.02rem}.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin-bottom:12px}.thumb{position:relative;aspect-ratio:3 / 4;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-2);cursor:pointer}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb.pending img,.thumb.processing img{opacity:.55}.thumb.error{border:2px solid var(--danger)}.thumb-label{position:absolute;left:4px;bottom:4px;padding:1px 6px;border-radius:6px;background:#000000a6;color:#fff;font-size:.72rem;font-weight:600}.thumb-label .badge{background:none;padding:0;color:#fff}.thumb-remove{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:26px;height:26px;border:none;border-radius:50%;background:#000000a6;color:#fff}.page-detail{display:flex;flex-direction:column;gap:12px}.page-image{width:100%;max-height:55vh;object-fit:contain;border-radius:12px;background:var(--surface-2)}.transcript{white-space:pre-wrap;font:.85rem/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface-2);padding:12px;border-radius:10px;max-height:40vh;overflow:auto}details summary{font-weight:600;cursor:pointer;padding:6px 0}.sticky-cta{position:fixed;left:0;right:0;bottom:calc(var(--tabbar-h) + var(--safe-b));z-index:8;padding:10px 16px 12px;background:linear-gradient(to top,var(--bg) 60%,transparent)}.sticky-cta .btn{max-width:688px;margin:0 auto}.badge{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--surface-2);color:var(--muted);white-space:nowrap}.badge.done{background:var(--brand-soft);color:var(--brand)}.badge.error{background:var(--danger-soft);color:var(--danger)}.badge.processing,.badge.pending{color:var(--brand)}.spinner{display:inline-block;width:28px;height:28px;border:3px solid var(--line);border-top-color:var(--brand);border-radius:50%;animation:spin .8s linear infinite}.main>.spinner{display:block;margin:40px auto}.spinner.small{width:14px;height:14px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.uploadbar{position:fixed;left:12px;right:12px;top:calc(var(--safe-t) + 60px);z-index:9;max-width:560px;margin:0 auto;padding:10px 14px;border-radius:12px;background:var(--ink);color:var(--bg);font-size:.85rem;font-weight:600;box-shadow:0 6px 20px #00000040}.progress{height:5px;margin-top:6px;border-radius:3px;background:#ffffff40;overflow:hidden}.progress>div{height:100%;background:var(--accent);transform-origin:left center;transition:transform .3s}.banners{position:fixed;top:calc(var(--safe-t) + 8px);left:12px;right:12px;z-index:20;display:grid;gap:6px;pointer-events:none}.banner{pointer-events:auto;max-width:560px;margin:0 auto;padding:10px 14px;border-radius:12px;background:var(--ink);color:var(--bg);font-size:.88rem}.banner .link{color:var(--accent)}.banner.warn{background:#8a5a00;color:#fff}.summary-item{padding:14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.summary-top{display:flex;gap:12px;align-items:flex-start}.style-dot{flex:none;width:12px;height:12px;margin-top:6px;border-radius:50%}.summary-actions{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}.summary-actions .icon-btn{margin-left:auto}.summary-actions:empty{display:none}.style-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media(min-width:560px){.style-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.style-card{display:flex;flex-direction:column;gap:4px;padding:8px 8px 10px;border:2px solid var(--line);border-radius:14px;background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.style-item{position:relative;display:flex;container-type:inline-size}.style-item .style-card{flex:1;min-width:0}.style-thumb{display:block;width:100%;aspect-ratio:3 / 4;object-fit:cover;object-position:top;border-radius:8px;border:1px solid #e5e7eb;background:#fff}.style-zoom{position:absolute;top:calc(10px + (100cqw - 20px) * 4 / 3 - 40px);right:16px;width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:50%;background:#111827b8;color:#fff;cursor:pointer}.style-example{display:block;width:100%;border-radius:8px;border:1px solid var(--line);margin:8px 0 12px;background:#fff}.style-card.selected{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.style-card strong{font-size:.9rem;margin-top:4px}.style-card small{color:var(--muted);font-size:.74rem;line-height:1.3}.style-preview{position:relative;height:96px;flex:none;border-radius:8px;border:1px solid #e5e7eb;padding:7px;overflow:hidden;display:flex;flex-direction:column;gap:4px}.style-preview i{display:block;height:4px;border-radius:2px}.style-preview s{display:block;height:6px;border-radius:2px;margin:-7px -7px 2px}.style-preview b,.style-preview em{display:flex;flex-direction:column;gap:3px;padding:4px;border-radius:3px}.pv-cornell{display:grid;grid-template-columns:1fr 2fr;grid-template-rows:1fr auto;gap:4px;height:100%}.pv-cornell em{grid-column:1 / -1}.pv-cols{display:grid;grid-template-columns:1fr 1fr;gap:5px;height:100%}.pv-cols b{padding:0}.pv-cols s{margin:0;height:5px}.pv-card{display:grid;grid-template-columns:1fr 1fr;border:1px dashed #9ca3af;border-radius:2px}.pv-card b{border-radius:0}.pv-card b+b{border-left:1px dashed #9ca3af}.pv-mind{position:relative;height:100%}.pv-mind span{position:absolute;left:50%;top:50%;width:34%;height:26%;border-radius:50%;transform:translate(-50%,-50%)}.pv-mind u{position:absolute;width:28%;height:22%;border:2px solid;border-top-width:6px;border-radius:3px;background:#fff}.pv-mind .n0{left:36%;top:0}.pv-mind .n1{right:0;top:39%}.pv-mind .n2{left:36%;bottom:0}.pv-mind .n3{left:0;top:39%}.members{list-style:none;margin:0;padding:0;display:grid;gap:8px}.members li{display:flex;align-items:center;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}.avatar{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-weight:700}.invites{margin-top:12px}.invites .badge{align-self:center}.invite-link{font:400 16px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.waitlist{margin-top:12px}.waitlist-list{list-style:none;margin:4px 0 0;padding:0}.waitlist-list li{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.auth{max-width:440px;margin:0 auto;padding:calc(var(--safe-t) + 12px) 16px calc(var(--safe-b) + 32px)}.auth-top{display:flex;justify-content:flex-end}.auth-top .segmented{width:auto}.brand{text-align:center;margin:16px 0 24px}.brand img{border-radius:18px}.brand h1{font-size:1.9rem;margin-top:10px}.brand p{margin:6px 0 0;color:var(--muted)}dialog.sheet{width:100%;max-width:600px;max-height:92dvh;margin:auto auto 0;padding:0;border:none;border-radius:20px 20px 0 0;background:var(--surface);color:var(--ink)}dialog.sheet::backdrop{background:#00000073}dialog.sheet[open]{animation:up .22s ease-out}@keyframes up{0%{transform:translateY(40px);opacity:.4}}@media(min-width:640px){dialog.sheet{margin:auto;border-radius:20px}}.sheet-inner{padding:8px 16px calc(var(--safe-b) + 20px)}.sheet-head{position:sticky;top:0;display:flex;align-items:center;gap:8px;padding:6px 0 10px;background:var(--surface);z-index:1}.sheet-head h2{flex:1;font-size:1.15rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-mode{margin-bottom:16px}.otp-input{font-size:28px;letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums}.otp-actions{display:flex;justify-content:space-between;margin-top:12px}.link:disabled{color:var(--muted)}.style-group+.style-group{margin-top:20px}.style-group h3{font-size:.95rem}.style-group>p{margin:4px 0 10px}.pv-drawn{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:10px 1fr 1fr;gap:5px;height:100%}.pv-drawn s{grid-column:1 / -1;margin:0;height:10px;border-radius:3px}.pv-drawn span{border-radius:50% 40% 45% 50%;opacity:.8}.pv-drawn span:last-of-type{border-radius:6px;border:2px dashed;opacity:1}.pv-sketchnote span{border-radius:30% 60% 40% 70%;transform:rotate(-4deg)}.pv-comic span{border-radius:2px;border:2px solid #111827}.pv-textbook span{border-radius:3px;opacity:.55}.pv-badge{position:absolute;right:4px;bottom:4px;padding:1px 5px!important;border-radius:6px!important;background:#111827;color:#fff;font-size:9px;font-weight:800}.note{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:var(--brand-soft);color:var(--ink);font-size:.88rem}.small-heading{font-size:.95rem}.figures{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.figures figure{position:relative;margin:0;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}.figures img{width:100%;aspect-ratio:4 / 3;object-fit:contain;background:#fff;border-radius:6px;display:block}.figures figcaption{margin-top:4px;font-size:.75rem;color:var(--muted);overflow-wrap:anywhere}.allowed-add{display:grid;grid-template-columns:1fr auto;gap:8px;margin:12px 0 4px}.allowed-add input{grid-column:1 / -1}.allowed-add .btn{min-height:48px}.role-select{width:auto;min-height:40px;padding:6px 10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.family-switcher{margin:0 0 12px}.family-switcher label{position:relative;display:inline-flex;align-items:center;max-width:100%;color:var(--brand)}.family-switcher svg{position:absolute;left:12px;pointer-events:none}.family-switcher select{width:auto;max-width:100%;min-height:40px;padding:6px 34px 6px 38px;border-radius:999px;border-color:var(--brand-soft);background-color:var(--brand-soft);color:var(--brand);font-weight:700;font-size:16px}.card .family-switcher{margin-top:-4px}.family-actions{display:grid;gap:8px;margin-top:12px}.members .badge{align-self:center}.group+.group{margin-top:22px}.group-title{font-size:1.6rem;font-weight:800;margin:4px 0 12px}.group-subtitle{font-size:1.1rem;font-weight:700;margin:16px 0 10px 2px}.group-title+.subgroup .group-subtitle{margin-top:0}.members{grid-template-columns:minmax(0,1fr)}.members .list-main small{overflow-wrap:anywhere}.invitation+.invitation{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.invitation p{margin:0 0 10px}.invitation-actions{display:flex;gap:8px}.costs-total{margin:12px 0 4px}.costs-head{font-size:.95rem;margin:16px 0 4px}.costs-amount{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.school-picker select,.school-picker input{margin-bottom:6px}.school-picker>.btn{align-self:flex-start}.school-chosen{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:400}.school-results{list-style:none;margin:0 0 6px;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden}.school-results li+li{border-top:1px solid var(--line)}.school-results button{display:block;width:100%;min-height:44px;padding:8px 12px;border:0;background:var(--surface);color:inherit;font:inherit;font-weight:400;text-align:left;cursor:pointer}.school-results button:hover,.school-results button:focus-visible{background:var(--surface-2)}.school-results li.muted{padding:8px 12px}.enrolment{margin:8px 0 12px}.members li.proposed-school{flex-wrap:wrap;align-items:flex-start}.consent-card .check{margin:4px 0 14px}.consent{padding-top:12px;border-top:1px solid var(--line)}.consent .toggle{align-items:flex-start}.consent .toggle small{margin-top:4px;line-height:1.4}.consent .toggle input:disabled+.switch{opacity:.5}.consent-given{color:var(--brand);font-weight:600}.prefs-group{min-width:0;margin:0 0 12px;padding:0;border:none}.prefs-group:disabled{opacity:.55}.toast{position:fixed;left:12px;right:12px;bottom:calc(var(--tabbar-h) + var(--safe-b) + 12px);z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;max-width:560px;margin:0 auto;padding:12px 14px;border-radius:12px;background:var(--ink);color:var(--bg);font-size:.9rem}.toast>span{flex:1 1 200px}.toast .link{color:var(--accent)}.toast .icon-btn{color:inherit}.quota-row button{flex:none}::selection{background:var(--hl-yellow);color:var(--on-hl)}:focus-visible{outline:2.5px solid var(--ink);outline-offset:2px}input,select,textarea{caret-color:var(--ink);accent-color:var(--ink)}a{color:var(--ink);text-underline-offset:3px}h1,h2,h3{letter-spacing:-.01em}.hl{position:relative;z-index:0;display:inline-block;padding:.04em .28em .08em;margin:0 -.28em;color:var(--on-hl);-webkit-box-decoration-break:clone;box-decoration-break:clone}.hl:before{content:"";position:absolute;inset:-.1em -.16em -.06em -.2em;z-index:-1;background:var(--hl-plate, none) center / 100% 100% no-repeat;transform-origin:left center}.hl-now{--hl-plate: url(/assets/hl-now-BHuVSSWC.png)}.hl-chip{--hl-plate: url(data:image/png;base64,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)}.hl-tab{--hl-plate: url(/assets/hl-home-BLoFh45S.png)}.hl-green{--hl-plate: url(/assets/hl-green-sanfKZgN.png)}.hl-orange{--hl-plate: url(/assets/hl-orange-Dxed1uL6.png)}.hl-pink{--hl-plate: url(/assets/hl-pink-BBIgsnlg.png)}.hl-sky,.hl-lilac,.hl-yellow{--hl-plate: none}.hl-sky:before,.hl-lilac:before,.hl-yellow:before{background:var(--hl-ink);-webkit-mask:url(/assets/hl-green-CRtQjwVk.png) center / 100% 100% no-repeat;mask:url(/assets/hl-green-CRtQjwVk.png) center / 100% 100% no-repeat}.hl-sky{--hl-ink: var(--hl-sky)}.hl-lilac{--hl-ink: var(--hl-lilac)}.hl-yellow{--hl-ink: var(--hl-yellow)}@media(prefers-color-scheme:dark){.hl:before{background:var(--hl-ink, var(--hl-yellow));-webkit-mask:var(--hl-mask, url(/assets/hl-green-CRtQjwVk.png)) center / 100% 100% no-repeat;mask:var(--hl-mask, url(/assets/hl-green-CRtQjwVk.png)) center / 100% 100% no-repeat}.hl-now{--hl-ink: var(--hl-yellow);--hl-mask: url(/assets/hl-now-BJZvlUFb.png)}.hl-chip{--hl-ink: var(--hl-yellow);--hl-mask: url(/assets/hl-all-CaSGqUa2.png)}.hl-tab{--hl-ink: var(--hl-yellow);--hl-mask: url(/assets/hl-home-Dj4QH6Su.png)}.hl-green{--hl-ink: var(--hl-green)}.hl-orange{--hl-ink: var(--hl-orange);--hl-mask: url(/assets/hl-orange-CIVMf1rd.png)}.hl-pink{--hl-ink: var(--hl-pink);--hl-mask: url(/assets/hl-pink-CdC-AspK.png)}}.header{background:color-mix(in srgb,var(--bg) 90%,transparent)}.header h1{font-size:1.6rem;font-weight:800}.tabbar{background:var(--bg);border-top:1px solid var(--line)}.tabbar a{gap:4px;color:var(--muted);font-size:.82rem;font-weight:600}.tabbar a.active{color:var(--ink)}.tabbar a.active .tab-label{position:relative;z-index:0;padding:0 .45em;color:var(--on-hl)}.tabbar a.active .tab-label:before{content:"";position:absolute;inset:-.12em -.1em -.08em;z-index:-1;background:url(/assets/hl-home-BLoFh45S.png) center / 100% 100% no-repeat}@media(prefers-color-scheme:dark){.tabbar a.active .tab-label:before{background:var(--hl-yellow);-webkit-mask:url(/assets/hl-home-Dj4QH6Su.png) center / 100% 100% no-repeat;mask:url(/assets/hl-home-Dj4QH6Su.png) center / 100% 100% no-repeat}}.tabbar a.active svg{fill:currentColor}.btn{border-radius:999px;border:1.5px solid var(--line-strong);background:transparent;font-weight:700;transition:transform .16s cubic-bezier(.22,1,.36,1),background-color .16s ease}.btn:active{transform:scale(.97)}.btn.primary{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.btn.ghost{border-style:dashed;border-color:var(--muted)}.btn.danger{border-color:transparent}.btn.small{min-height:40px;padding:0 16px;font-size:.95rem}.link{color:var(--ink);text-decoration:underline;text-decoration-thickness:1.5px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.card-title{font-size:1.15rem;font-weight:800}.list-item{background:var(--surface);border:1.5px solid var(--line-strong);border-radius:12px}.list-main small,.muted{color:var(--muted)}.book-spine{display:none}.chips{display:flex;flex-wrap:wrap;gap:10px}.chip{min-height:34px;padding:0 16px;border:none;border-radius:999px;background:var(--surface-2);color:var(--ink);font:inherit;font-size:1.05rem;font-weight:500;cursor:pointer}.chip{position:relative;z-index:0}.chip.on{background:transparent;color:var(--on-hl);font-weight:800}.chip.on:before{content:"";position:absolute;inset:0;z-index:-1;background:url(data:image/png;base64,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) center / 94% 88% no-repeat}@media(prefers-color-scheme:dark){.chip.on:before{background:var(--hl-yellow);-webkit-mask:url(/assets/hl-all-CaSGqUa2.png) center / 94% 88% no-repeat;mask:url(/assets/hl-all-CaSGqUa2.png) center / 94% 88% no-repeat}}.segmented{background:var(--surface-2);border-radius:999px}.segmented button{border-radius:999px;font-weight:600}.segmented button.on{background:var(--brand);color:var(--brand-ink)}input,select,textarea{background:var(--bg);border:1.5px solid var(--line)}input:focus,select:focus,textarea:focus{border-color:var(--ink);outline:none}.badge.done{background:var(--hl-green);color:var(--on-hl)}.badge.pending{background:var(--hl-yellow);color:var(--on-hl)}.progress{background:var(--surface-2)}.progress>div{background:var(--hl-yellow)}.home{padding-bottom:88px}.appbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(var(--safe-t) + 12px) 0 18px}.wordmark{margin:0;font-size:2.15rem;font-weight:800;letter-spacing:-.02em;line-height:1}.family-pill{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;border:1.5px solid var(--line);border-radius:999px;font-weight:700;font-size:1.05rem}.home .family-switcher{margin:0}.now{margin:0 -4px 16px;padding:16px 12px 2px;border:1px solid var(--line);border-radius:12px}.now-title{margin:0 0 4px 4px;font-size:2.65rem;font-weight:800;line-height:1.1}.now-rows{list-style:none;margin:0;padding:0}.now-row{display:grid;grid-template-columns:74px 1fr auto;align-items:start;gap:4px 8px;padding:12px 2px;border-top:1px solid var(--line)}.now-row:first-child{border-top:none}.now-label{font-weight:700;font-size:1.12rem;line-height:1.25}.now-row>.spinner,.now-row>.btn{align-self:center}.now-row>.spinner{width:30px;height:30px;border-width:3.5px}.now-main{display:flex;flex-direction:column;gap:0;min-width:0;color:inherit;text-decoration:none}.now-main strong{font-weight:600;font-size:1.05rem;line-height:1.18;letter-spacing:-.01em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}.now-main small{color:var(--muted);font-size:.92rem;line-height:1.3}.now-row .btn.small{min-height:38px;padding:0 12px;font-size:.9rem}.meter{display:block;height:10px;margin-top:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.meter>span{display:block;height:100%;border-radius:999px;background:var(--hl-yellow);transform-origin:left center;transition:transform .6s cubic-bezier(.22,1,.36,1)}.now-row:has(.meter){grid-template-columns:74px 1fr}.books-title{margin:4px 0 12px;font-size:2.15rem;font-weight:800;line-height:1.1}.books .chips{margin:0 0 12px;gap:7px}.books .chip{min-width:67px;min-height:33px}.tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}.tile{container-type:inline-size;display:flex;flex-direction:column;justify-content:space-between;gap:6px;width:100%;min-height:102px;height:100%;padding:12px;border:1.5px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);text-decoration:none;font:inherit;text-align:left;transition:transform .16s cubic-bezier(.22,1,.36,1)}.tile:active{transform:scale(.98)}.tile-title{font-size:1.75rem;font-weight:700;line-height:1.1}.tile-title.mid{font-size:1.4rem}.tile-title.long{font-size:min(1.15rem,11cqi);letter-spacing:-.01em}.tile-title .hl{padding:.04em .12em .06em;margin:0 -.12em}.tile-title .hl:before{inset:.2em 0 .02em -.04em}.tile-title .hl{max-width:100%}.tile-sub{margin-top:-4px;font-size:.9rem;font-weight:600}.tile-meta{color:var(--muted);font-size:1.02rem}.tile-meta>span{white-space:nowrap}.tile-new{align-items:center;justify-content:center;border:1.5px dashed color-mix(in srgb,var(--ink) 45%,transparent);font-weight:700;font-size:1.1rem;cursor:pointer}.fab{position:fixed;right:max(16px,calc((100vw - 720px)/2 + 16px));bottom:calc(var(--tabbar-h) + var(--safe-b) + 18px);z-index:9;display:inline-flex;align-items:center;gap:14px;min-height:60px;padding:0 28px 0 22px;border:none;border-radius:999px;background:var(--brand);color:var(--brand-ink);font:inherit;font-size:1.15rem;font-weight:700;box-shadow:0 10px 24px -8px #00000073;cursor:pointer;transition:transform .16s cubic-bezier(.22,1,.36,1)}.fab:active{transform:scale(.97)}.pick-list{list-style:none;margin:0 0 4px;padding:0}.pick-row{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 4px;border-bottom:1px solid var(--line);font-weight:700;font-size:1.15rem;cursor:pointer}.pick-row small{color:var(--muted);font-weight:500;font-size:.9rem}.badge{position:relative;z-index:0;border-radius:0;background:none;padding:3px 12px;color:var(--muted)}.badge:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--surface-2);-webkit-mask:url(/assets/hl-all-CaSGqUa2.png) center / 100% 100% no-repeat;mask:url(/assets/hl-all-CaSGqUa2.png) center / 100% 100% no-repeat}.badge.done,.badge.pending,.badge.processing{background:none;color:var(--on-hl)}.badge.done:before{background:var(--hl-green)}.badge.pending:before,.badge.processing:before{background:var(--hl-yellow)}.badge.error{background:none;color:var(--danger)}.badge.error:before{background:var(--danger-soft)}.brand h1{margin:12px 0 10px;font-size:2.6rem;font-weight:800;letter-spacing:-.02em}.brand p{color:var(--muted)}@keyframes hl-draw{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.now-title .hl:before,.chip.on:before,.tabbar a.active .tab-label:before,.brand h1 .hl:before{animation:hl-draw .52s cubic-bezier(.16,1,.3,1) both}.now-title .hl:before,.brand h1 .hl:before{animation-delay:.12s}@media(prefers-reduced-motion:reduce){.now-title .hl:before,.chip.on:before,.tabbar a.active .tab-label:before,.brand h1 .hl:before{animation:none}.btn,.tile,.fab,.meter>span{transition:none}}@media(min-width:700px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.tabbar{padding-inline:max(0px,calc((100vw - 720px)/2))}}.check.on{border-color:var(--ink);background:transparent}.check.on .box{background:var(--ink);border-color:var(--ink)}.btn.danger{background:transparent;border:1.5px solid currentColor;color:var(--danger)}@media(max-width:500px)and (max-height:900px){.fab{width:60px;padding:0;justify-content:center}.fab span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
