body:has(.lp){background:#f6f1ea}@media(prefers-color-scheme:dark){body:has(.lp){background:#1a1210}}.lp{--paper: #f6f1ea;--ink: #2a1a14;--muted: #6a5a50;--line: #e4d9cc;--brass: #b27a1c;--brass-soft: #e9d3a4;--key-white: #ffffff;--key-black: #2a1a14;--on-ink: #f6f1ea;--serif: "Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font:1.0625rem/1.65 var(--sans);min-height:100dvh}@media(prefers-color-scheme:dark){.lp{--paper: #1a1210;--ink: #f6ece4;--muted: #c0aea2;--line: #3b2d26;--brass: #e2b055;--brass-soft: #5a4416;--key-white: #f0e4da;--key-black: #120c0a;--on-ink: #1a1210}}.lp *{box-sizing:border-box}.lp h1,.lp h2,.lp h3{font-family:var(--serif);font-weight:400;color:var(--ink);margin:0;line-height:1.12}.lp h1{font-size:clamp(2.4rem,8vw,4.75rem);letter-spacing:-.01em;max-width:14ch}.lp h2{font-size:clamp(1.7rem,4.5vw,2.35rem);margin-bottom:1.25rem}.lp h3{font-size:1.25rem;margin-bottom:.25rem}.lp p{margin:0 0 1rem;max-width:62ch}.lp a{color:inherit}.lp a:focus-visible,.lp button:focus-visible{outline:3px solid var(--brass);outline-offset:3px;border-radius:4px}.lp{--bar: 3.5rem}.lp-top{position:sticky;top:0;z-index:12;display:flex;align-items:center;gap:.75rem 1.25rem;min-height:var(--bar);padding:0 clamp(1rem,5vw,3rem);background:var(--paper);border-bottom:1px solid var(--line)}.lp-brand{font-family:var(--serif);font-size:1.35rem;text-decoration:none;color:var(--ink);flex:none;min-height:44px;display:inline-flex;align-items:center}.lp-nav{display:flex;flex:1;gap:.25rem 1.25rem;align-items:center;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.lp-nav::-webkit-scrollbar{display:none}.lp-nav a{text-decoration:none;color:var(--muted);font-weight:700;padding:.45rem 0;min-height:44px;display:inline-flex;align-items:center;border-bottom:3px solid transparent;flex:none}.lp-nav a:hover{color:var(--ink)}.lp-nav a.on{color:var(--ink);border-bottom-color:var(--brass)}.lp-nav a.lp-login{margin-left:auto;text-decoration:underline;text-underline-offset:.2em}.lp [id]{scroll-margin-top:calc(var(--bar) + .75rem)}.totop.public{left:max(1rem,env(safe-area-inset-left));bottom:max(1rem,env(safe-area-inset-bottom));background:#2a1a14;color:#f6f1ea;border-color:#2a1a14;font-family:Atkinson Hyperlegible,system-ui,-apple-system,Segoe UI,sans-serif}@media(prefers-color-scheme:dark){.totop.public{background:#f6ece4;color:#1a1210;border-color:#f6ece4}}.textlink{text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;font-weight:700}.textlink:hover{text-decoration-thickness:2px}.hero,.band{padding:clamp(1.5rem,5vw,3.5rem) clamp(1rem,5vw,3rem);max-width:68rem;margin:0 auto}.hero{padding-top:clamp(1rem,4vw,2.5rem)}.lede{font-size:clamp(1.15rem,2.6vw,1.4rem);line-height:1.5;margin:1.25rem 0 1.5rem;max-width:38rem}.ctas{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:2.5rem}.btn-lp{display:inline-flex;align-items:center;min-height:48px;padding:.6rem 1.25rem;border:2px solid var(--ink);border-radius:999px;text-decoration:none;font-weight:700;color:var(--ink);background:transparent}.btn-lp.primary{background:var(--ink);color:var(--paper)}.btn-lp:hover{box-shadow:0 0 0 3px var(--brass-soft)}.btn-lp.on-dark{border-color:var(--on-ink);color:var(--on-ink)}.instrument{margin:0}.staff{display:block;width:100%;max-width:40rem;height:auto}.clef{font-family:Noto Music,Segoe UI Symbol,Apple Symbols,serif;font-size:62px;fill:var(--ink);opacity:.85}.staffline{stroke:var(--ink);stroke-width:1.2;opacity:.55}.staffline.thick{stroke-width:3;opacity:.8}.staffline.ledger{opacity:.9;stroke-width:1.6}.note .head{fill:var(--brass);stroke:var(--ink);stroke-width:1}.note .stem{stroke:var(--ink);stroke-width:1.6}.note .sharp{fill:var(--ink);font:700 26px var(--sans)}.notelabel{margin:.25rem 0 .75rem;font:700 1.1rem var(--sans);min-height:1.6em;color:var(--muted)}.keys{position:relative;display:flex;height:clamp(9rem,28vw,12.5rem);border:1px solid var(--ink);border-radius:0 0 10px 10px;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none}.key{margin:0;padding:0;cursor:pointer;font:inherit}.key.white{flex:1;background:var(--key-white);border:0;border-right:1px solid var(--line);border-radius:0 0 6px 6px;transition:background-color .08s}.key.white:last-of-type{border-right:0}.key.black{position:absolute;top:0;width:6%;height:62%;transform:translate(-50%);background:var(--key-black);border:1px solid var(--key-black);border-radius:0 0 5px 5px;z-index:2;transition:background-color .08s}.key.down{background:var(--brass)!important}.keys .key:focus-visible{outline:3px solid var(--brass);outline-offset:-3px;z-index:3}.instrument figcaption{margin-top:.75rem;font-size:.95rem;color:var(--muted);max-width:40rem}.programme{margin:0;display:grid;gap:1.1rem}.entry{display:grid;grid-template-columns:minmax(0,15rem) 1fr;gap:.15rem 1.25rem;align-items:baseline;padding-bottom:1.1rem;border-bottom:1px dotted var(--line)}.entry:last-child{border-bottom:0}.entry dt{font-family:var(--serif);font-size:1.3rem;line-height:1.2}.entry dd{margin:0;max-width:46ch}@media(max-width:620px){.entry{grid-template-columns:1fr}}.steps{list-style:none;counter-reset:step;margin:0;padding:0;display:grid;gap:1.5rem;max-width:44rem}.steps li{counter-increment:step;display:grid;grid-template-columns:2.5rem 1fr;gap:0 1rem}.steps li:before{content:counter(step);grid-row:1 / span 2;font:400 1.9rem/1 var(--serif);color:var(--brass);text-align:right;padding-top:.1rem}.steps p{margin:0}.gallery{list-style:none;margin:0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr))}.gallery .protected{border-radius:6px;overflow:hidden}.gallery .protected canvas{aspect-ratio:4 / 3;object-fit:cover;object-position:50% 30%}.gallery-more{margin-top:1.25rem}.page-h1{margin-bottom:1rem}.small-note{margin-top:1.5rem;color:var(--muted);font-size:.95rem}.lp .lightbox p{color:#fff}.inverse{background:var(--ink);color:var(--on-ink);margin:clamp(1rem,4vw,2.5rem) 0}.inverse .inner{max-width:68rem;margin:0 auto;padding:clamp(2rem,6vw,4rem) clamp(1rem,5vw,3rem)}.inverse h2{color:var(--on-ink)}.inverse p{max-width:50ch}.links{display:flex;gap:1.5rem}.lp-foot{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;justify-content:space-between;align-items:center;padding:1.5rem clamp(1rem,5vw,3rem) 2.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.95rem;max-width:68rem;margin:0 auto}@media(prefers-reduced-motion:reduce){.key{transition:none}}@media(min-width:60rem){.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:3rem;align-items:center}.hero .ctas{margin-bottom:0}.hero h1{max-width:14ch}}.insta-card{max-width:38rem}.insta-card .ctas{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}.insta-frame{max-width:33rem}.insta-frame iframe{display:block;width:100%;height:42rem;border:1px solid var(--line);border-radius:6px;background:var(--paper)}button.btn-lp{font:inherit;font-weight:700;cursor:pointer}.insta-card .ctas{margin-bottom:0}.hero h1 .aka{font-size:.55em;white-space:nowrap;color:var(--muted)}.band .prose{max-width:38rem}.faq{max-width:40rem;border-top:1px solid var(--line)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;padding:.9rem 0;font-weight:700;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-weight:400;font-size:1.4rem;line-height:1;color:var(--brass)}.faq details[open] summary:after{content:"−"}.faq summary:focus-visible{outline:3px solid var(--brass);outline-offset:2px}.faq p{margin:0 0 1rem;max-width:38rem}.foot-links{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem}.legal{max-width:40rem}.legal h2{font-size:1.3rem;margin:1.8rem 0 .4rem}.legal ul{padding-left:1.2rem;margin:.4rem 0 1rem}.legal li{margin:.3rem 0}.legal p{max-width:38rem}@media(prefers-reduced-motion:no-preference){html:has(.lp){scroll-behavior:smooth}}.facts{padding-top:0;padding-bottom:clamp(1rem,3vw,2rem)}.facts dl{margin:0;display:flex;flex-wrap:wrap;gap:1rem 3rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1.1rem 0}.facts dl>div{display:flex;flex-direction:column-reverse;min-width:7rem}.facts dd{margin:0;font:400 clamp(2.2rem,7vw,3.2rem)/1 var(--serif);color:var(--brass)}.facts dt{font-size:.95rem;color:var(--muted);font-weight:700}.timetable{list-style:none;margin:0 0 1.25rem;padding:0;display:grid;gap:1.25rem 2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));max-width:44rem}.timetable li{border-left:4px solid var(--brass);padding:.1rem 0 .1rem 1rem}.timetable h3{font-size:1.35rem;margin:0 0 .15rem}.timetable p{margin:0;font-size:1.1rem}.wa-float{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:10;display:inline-flex;align-items:center;min-height:48px;padding:.55rem 1.15rem;border-radius:999px;background:var(--ink);color:var(--paper)!important;font-weight:700;text-decoration:none;box-shadow:0 4px 14px #00000047}.wa-float:hover{box-shadow:0 0 0 3px var(--brass-soft),0 4px 14px #00000047}.lp-foot{padding-bottom:5.5rem}@media print{.wa-float{display:none}}.lp{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}.lp-top{position:sticky;top:0;z-index:12;min-height:3.5rem;padding:0 1rem;background:#4a1d0e;border-bottom:0;display:flex;align-items:center}.lp-brand{display:inline-flex;align-items:center;gap:.6rem;color:#fff;text-decoration:none;font-family:var(--serif);font-size:1.05rem;min-height:44px}.lp-brand .mark{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:8px;background:#7a2e14;color:#f1c365;font-family:Noto Music,Segoe UI Symbol,serif;font-size:1.5rem;line-height:1}.lp-tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;background:var(--paper);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.lp-tabs>*{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;min-height:56px;padding:.35rem .1rem;background:none;border:0;font:700 .72rem var(--sans);color:var(--muted);text-decoration:none;cursor:pointer}.lp-tabs .on{color:#a8421f}@media(prefers-color-scheme:dark){.lp-tabs .on{color:#e8946c}}.app{max-width:40rem;margin:0 auto}.hero-app{background:linear-gradient(165deg,#4a1d0e,#9a3b1a);color:#fff;padding:1.25rem 1.25rem 1.75rem}.hero-app .emblem{display:grid;place-items:center;width:6rem;height:6rem;border-radius:22px;background:radial-gradient(circle at 30% 25%,#c0562f,#3b170b);color:#f1c365;font-family:Noto Music,Segoe UI Symbol,serif;font-size:4rem;line-height:1;box-shadow:0 8px 24px #00000059;margin-bottom:1rem}.hero-app .gold{color:#f1c365;font-family:var(--serif);font-size:1.35rem;margin:0 0 .4rem}.hero-app h1{color:#fff;font-size:clamp(2.2rem,9vw,3.2rem);max-width:none;margin:0 0 .6rem}.hero-app .lede{color:#f5e3d8;font-size:1.05rem;margin:0;max-width:34rem}.lcard,.block,.cta,.appfoot{padding:1.25rem}.lcard h2,.block h2,.cta h2{font-size:1.7rem;margin-bottom:.75rem}.h1s{font-size:2rem;margin-bottom:1rem}.seg{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}.seg button{font:700 1rem var(--sans);min-height:48px;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer}.seg button[aria-pressed=true]{background:#a8421f;border-color:#a8421f;color:#fff}.lfield{display:block;margin-bottom:.9rem}.lfield span{display:block;font-weight:700;margin-bottom:.3rem}.lfield input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:.5rem .8rem;font:inherit;color:var(--ink);background:var(--paper)}.lbtn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border:0;border-radius:12px;background:#a8421f;color:#fff;font:700 1.05rem var(--sans);cursor:pointer;text-decoration:none}.lbtn:disabled{opacity:.6}.lerror{color:#b3261e;margin:0 0 .75rem}@media(prefers-color-scheme:dark){.lerror{color:#ff8a80}}.small-note{color:var(--muted);font-size:.9rem;margin:.9rem 0 0}.newslist{list-style:none;margin:0 0 1rem;padding:0}.newslist li{padding:.6rem 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column}.newscards{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.newscards li{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:1rem}.newscards h3{margin:.2rem 0}.obtn{display:flex;align-items:center;justify-content:center;width:100%;min-height:52px;border:2px solid #a8421f;border-radius:14px;background:none;color:#a8421f;font:700 1rem var(--sans);text-decoration:none;cursor:pointer}.obtn.as-link{display:inline-flex;width:auto;padding:0 1.25rem}@media(prefers-color-scheme:dark){.obtn{border-color:#e8946c;color:#e8946c}}.cta{margin:1rem 1.25rem;padding:1.5rem;border-radius:18px;background:linear-gradient(165deg,#4a1d0e,#9a3b1a);color:#fff}.cta h2{color:#fff}.cta p{color:#f5e3d8}.ctarow{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.ctarow.stackrow{grid-template-columns:1fr;margin:1rem 0}.gbtn,.wbtn{display:flex;align-items:center;justify-content:center;min-height:52px;border-radius:14px;font:700 1rem var(--sans);text-decoration:none;text-align:center;cursor:pointer;padding:0 .75rem}.gbtn{background:#f1c365;color:#2a1a14;border:0}.wbtn{background:transparent;color:#fff;border:2px solid #f0b896}.appfoot{border-top:1px solid var(--line);margin-top:1rem;font-size:.95rem}.appfoot p{margin:0 0 .6rem}.eyebrow{font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;color:var(--muted)}.social{display:flex;gap:.6rem}.social a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:var(--paper)}.menulist{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.menulist li+li{border-top:1px solid var(--line)}.menulist a{display:flex;align-items:center;min-height:52px;padding:0 1rem;text-decoration:none;font-weight:700}.block .links{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}.totop.public{bottom:calc(4.75rem + env(safe-area-inset-bottom))}.lp .lp-brand{color:#fff}@font-face{font-family:Gloock;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/gloock-latin-400-normal-3dTk9V3B.woff2) format("woff2"),url(/assets/gloock-latin-400-normal-DCcIaDhi.woff) format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-400-normal-BbWidj28.woff) format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2) format("woff2"),url(/assets/atkinson-hyperlegible-latin-700-normal-BK6Glc0m.woff) format("woff")}@font-face{font-family:Noto Music;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-music-music-400-normal-CksxHXl6.woff2) format("woff2"),url(/assets/noto-music-music-400-normal-BOLtuVsm.woff) format("woff")}.pp{--paper: #f6f1ea;--surface: #fffdf9;--ink: #2a1a14;--muted: #6a5a50;--line: #e4d9cc;--brand: #a8421f;--brand-ink: #ffffff;--brand-deep: #7a2e14;--brand-soft: #f5e3d8;--sand: #d9a05b;--ok: #2f6b4a;--warn: #8a5a00;--due: #b42318;--ts: #6b3f7a;--vig: rgba(122, 46, 20, .11);--glow: rgba(122, 46, 20, .06);--edge-strong: #cdbca9;--bg: var(--paper);--card: var(--surface);--accent: var(--brand);--accent-ink: var(--brand-ink);--accent-soft: var(--brand-soft);--display: "Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--text: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--sans: var(--text);--serif: var(--display);background:var(--paper);color:var(--ink);font:1rem/1.6 var(--text);-webkit-font-smoothing:antialiased;position:relative}@media(prefers-color-scheme:dark){.pp{--paper: #1a1210;--surface: #241a16;--ink: #f6ece4;--muted: #c0aea2;--line: #3b2d26;--brand: #e8946c;--brand-ink: #1a1210;--brand-deep: #f1b08e;--brand-soft: #3a241b;--sand: #e0a85e;--ok: #6fcf9a;--warn: #e8b84a;--due: #ff8f84;--ts: #d2b0e6;--vig: rgba(0, 0, 0, .38);--glow: rgba(0, 0, 0, .28);--edge-strong: #5a463b}}body:has(.pp){background:#f6f1ea}@media(prefers-color-scheme:dark){body:has(.pp){background:#1a1210}}.pp:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 85% 75% at 50% 42%,transparent 52%,var(--vig) 100%)}.pp>*{position:relative;z-index:1}.pp .lp-top,.pp .lp-tabs{z-index:20}.pp .card,.pp .pp-summary,.pp .pp-cal,.pp .pv-list,.pp .pv-tablewrap,.pp .notice-box{border:1px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(145deg,var(--edge-strong) 0%,var(--line) 38%,color-mix(in srgb,var(--line) 25%,transparent) 62%,var(--edge-strong) 100%) border-box;box-shadow:inset 0 0 22px var(--glow)}.pp h1,.pp h2,.pp h3{font-family:var(--display);font-weight:500;color:var(--ink);max-width:none;letter-spacing:-.012em;font-variation-settings:"opsz" 96}.pp h2{font-size:1.45rem;margin:0 0 .7rem;line-height:1.2}.pp .muted,.pp .hint{color:var(--muted)}.pp .error{color:var(--due);font-weight:600}.pp .textlink,.pp .linkbtn{color:var(--brand);font-weight:600;text-underline-offset:.2em}.pp a:focus-visible,.pp button:focus-visible,.pp input:focus-visible,.pp select:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.pp-eyebrow,.pp-k{margin:0;font:600 .72rem/1.3 var(--text);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.pp .lp-top{background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:0;padding-top:env(safe-area-inset-top);justify-content:space-between}.pp .lp-top:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--edge-strong) 20%,var(--edge-strong) 80%,transparent)}.pp .lp-brand{color:var(--ink);font-family:var(--display);font-size:1.2rem;font-weight:500;gap:.6rem}.pp .lp-brand .mark{background:var(--brand);color:var(--brand-ink);border-radius:10px}.pp .parent-out{background:none;border:0;color:var(--brand);font:600 .9rem var(--text);text-decoration:underline;text-underline-offset:.25em;padding:.4rem .2rem}.pp-main{max-width:42rem;margin:0 auto;padding:1.5rem 1.25rem 7.5rem}.pp .card{border-radius:16px;padding:1.25rem}.pp .btn{border-radius:12px;min-height:48px;font:600 1rem var(--text);background:var(--surface);color:var(--ink);border:1px solid var(--edge-strong);text-decoration:none;display:inline-flex;align-items:center;justify-content:center;text-align:center;transition:background-color .15s,transform .1s}.pp .btn:hover{background:var(--brand-soft)}.pp .btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.pp .btn.primary:hover{background:var(--brand-deep);border-color:var(--brand-deep);color:#fff}.pp .btn:active{transform:scale(.985)}.pp .btn.small{min-height:38px;font-size:.9rem}.pp input:not([type=checkbox]),.pp select{background:var(--surface);border:1.5px solid var(--edge-strong);border-radius:12px;color:var(--ink);font:1rem var(--text);min-height:48px;box-shadow:inset 0 1px 6px var(--glow)}.pp input:not([type=checkbox]):focus,.pp select:focus{border-color:var(--brand)}.pp .fl{color:var(--muted);font-weight:600;font-size:.82rem}.pp .pill{border-radius:999px;font-weight:600}.pp .chipbtn{border-radius:999px;background:var(--surface);color:var(--ink);border:1.5px solid var(--line);font:600 .85rem var(--text)}.pp .chipbtn.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.pp .banner.soft{background:var(--brand-soft);color:var(--ink);border:1px solid var(--line);border-radius:12px;margin-bottom:1rem}.pp .consent{background:var(--paper);border-radius:12px;padding:.9rem;font-size:.9rem}.pp-welcome{padding:1.2rem 0 1.4rem}.pp-welcome h1{font-size:clamp(2.1rem,8vw,3rem);line-height:1.05;margin:.5rem 0 .6rem}.pp-welcome p:last-child{color:var(--muted);margin:0;max-width:28rem}.pp-steps{list-style:none;display:flex;gap:.5rem;margin:0 0 1.1rem;padding:0}.pp-steps li{flex:1;display:flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:600;color:var(--muted)}.pp-steps b{display:grid;place-items:center;flex:none;width:1.7rem;height:1.7rem;border-radius:50%;border:1.5px solid var(--edge-strong);color:var(--muted);font-size:.8rem}.pp-steps .on{color:var(--ink)}.pp-steps .on b{background:var(--brand);border-color:var(--brand);color:var(--brand-ink)}.pp-steps .done b{background:var(--ok);border-color:var(--ok);color:#fff}@media(min-width:52rem){.pp-auth{display:block;max-width:28rem;margin:2rem auto 0}}.pp-kids{display:flex;gap:.5rem;overflow-x:auto;padding:0 0 .5rem;scrollbar-width:none}.pp-kids::-webkit-scrollbar{display:none}.pp-kid{flex:none;display:inline-flex;align-items:center;gap:.5rem;min-height:46px;padding:.25rem .95rem .25rem .3rem;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:600 .95rem var(--text);cursor:pointer}.pp-kid.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.pp-av{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:var(--brand-soft);color:var(--brand-deep);font:500 .85rem var(--display);flex:none}.pp-kid.on .pp-av{background:var(--brand);color:var(--brand-ink)}.pp .pv{gap:1.6rem;grid-template-columns:minmax(0,1fr)}.pp .pv>*{min-width:0}.pp-hero{padding-top:.2rem}.pp-hero h1{font-size:clamp(2.3rem,9vw,3.4rem);line-height:1.02;margin:.5rem 0 .6rem}.pp-month{margin:0;color:var(--muted);font-size:.95rem}.pp-summary{display:grid;grid-template-columns:1.5fr 1fr;border-radius:18px;overflow:hidden}.pp-fee{display:flex;gap:1rem;align-items:center;padding:1.1rem 1.15rem}.pp-fee>div:last-child{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start;min-width:0}.pp-fee strong{font:500 1.1rem/1.3 var(--display)}.pp-fee.due strong{color:var(--due)}.pp-fee.ok strong{color:var(--ok)}.pp-fee.warn strong{color:var(--warn)}.pp-cta{margin-top:.3rem;min-height:44px;padding:.5rem 1.1rem;border-radius:999px;border:0;background:var(--brand);color:var(--brand-ink);font:600 .95rem var(--text);cursor:pointer;transition:background-color .15s,transform .1s}.pp-cta:hover{background:var(--brand-deep);color:#fff}.pp-cta:active{transform:scale(.97)}.pp-cta.quiet{background:none;color:var(--brand);padding-left:0;padding-right:0;text-decoration:underline;text-underline-offset:.25em}.pp-cta.quiet:hover{background:none;color:var(--brand-deep)}.pp-next{display:flex;flex-direction:column;justify-content:center;gap:.2rem;padding:1.1rem 1.15rem;position:relative}.pp-next:before{content:"";position:absolute;left:0;top:14%;bottom:14%;width:1px;background:linear-gradient(transparent,var(--edge-strong),transparent)}.pp-next strong{font:500 1.45rem/1.1 var(--display)}.pp-next span:last-child{color:var(--muted);font-size:.95rem}@media(max-width:30rem){.pp-summary{grid-template-columns:1fr}.pp-next:before{inset:0 8% auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,var(--edge-strong),transparent)}}.pp-ring{margin:0;position:relative;width:5.2rem;height:5.2rem;flex:none}.pp-ring svg{width:100%;height:100%;display:block}.pp-ring .trk{fill:none;stroke:var(--line);stroke-width:7}.pp-ring .bar{fill:none;stroke:var(--ok);stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .9s cubic-bezier(.3,.8,.3,1)}.pp-ring.warn .bar{stroke:var(--warn)}.pp-ring.due .bar{stroke:var(--due)}.pp-ring figcaption{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1.05}.pp-ring b{font:500 1.6rem/1 var(--display)}.pp-ring span{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.pp-cal{border-radius:18px;padding:1.1rem 1.15rem 1rem}.pp-cal header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.7rem}.pp-cal h3{margin:0;font-size:1.25rem}.pp-cal header button{width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid var(--edge-strong);background:none;color:var(--ink);font-size:1.3rem;cursor:pointer}.pp-cal header button:disabled{opacity:.35;cursor:default}.pp-cal .grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.pp-cal .dow{text-align:center;font:600 .7rem var(--text);letter-spacing:.08em;color:var(--muted);padding-bottom:.2rem}.pp-cal .cell{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;font:500 .92rem var(--text);color:var(--muted);animation:pp-pop .35s ease-out both}.pp-cal .cell.empty{visibility:hidden}.pp-cal .cell.today{box-shadow:inset 0 0 0 1.5px var(--ink);color:var(--ink)}.pp-cal .cell.p{background:var(--ok);color:#fff;font-weight:700}.pp-cal .cell.a{background:var(--due);color:#fff;font-weight:700}.pp-cal .cell.m{background:var(--sand);color:#2a1a14;font-weight:700}.pp-cal .cell.t{background:var(--ts);color:#fff;font-weight:700}@media(prefers-color-scheme:dark){.pp-cal .cell.p,.pp-cal .cell.a,.pp-cal .cell.t{color:#1a1210}}.pp-cal .legend{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;margin:.9rem 0 0;font-size:.82rem;color:var(--muted);max-width:none}.pp-cal .dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;margin-right:.4rem;vertical-align:-.05em}.pp-cal .dot.p{background:var(--ok)}.pp-cal .dot.a{background:var(--due)}.pp-cal .dot.m{background:var(--sand)}.pp-cal .dot.t{background:var(--ts)}.pp-total{margin:-.6rem 0 0;font-size:.82rem;color:var(--muted)}@keyframes pp-pop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}.pp-practice{position:relative;padding:1.4rem 1.2rem 1.2rem 1.4rem;border-left:3px solid var(--brand);background:linear-gradient(90deg,var(--brand-soft) 55%,color-mix(in srgb,var(--brand-soft) 35%,transparent));border-radius:0 18px 18px 0;box-shadow:inset 0 0 26px var(--glow)}.pp-practice p{margin:.5rem 0 0;max-width:none}.pp-practice .pp-k{color:var(--brand-deep);margin:0}.pp-big{font:500 1.7rem/1.15 var(--display);letter-spacing:-.01em}.pp-quote{font:italic 400 1.05rem/1.55 var(--display)}.pp-from{font-size:.8rem;color:var(--muted)}.pp .pv-list{border-radius:18px}.pp .pv-list li{background:none;padding:.85rem 1.05rem}.pp .pv-list li+li{border-top:1px solid var(--line)}.pp .pv-tablewrap{border-radius:18px}.pp .pv-table th{background:var(--surface);color:var(--muted)}.pp .pv-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--line) 30%,transparent)}.pp .month>summary{font-weight:600}.pp .notice-box{border-radius:14px;border-left:3px solid var(--brand)}.pp .pill.ok{color:var(--ok)}.pp .pill.warn{color:var(--warn)}.pp .pill.due{color:var(--due)}.pp .pill.ts{color:var(--ts)}.pp .s-ok{color:var(--ok)}.pp .s-warn{color:var(--warn)}.pp .s-due{color:var(--due)}.pp .pay{gap:1.1rem}.pp-stephead{display:flex;align-items:center;gap:.6rem;margin:0;font:500 1.25rem var(--display);color:var(--ink)}.pp-stephead b{display:grid;place-items:center;width:1.9rem;height:1.9rem;border-radius:50%;background:var(--brand);color:var(--brand-ink);font:700 .85rem var(--text)}.pp .pay-id{background:var(--paper);border-radius:12px;padding:.75rem .9rem;box-shadow:inset 0 0 14px var(--glow)}.pp .pay-id .code{font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:600}.pp .pay-qr-img,.pp .pay-qr{border-radius:14px;border:1px solid var(--edge-strong)}.pp .lp-tabs.pp-nav{left:0;right:0;width:auto;transform:none;bottom:0;border:0;border-radius:0;background:color-mix(in srgb,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:none;padding:0 0 env(safe-area-inset-bottom);overflow:visible;max-width:none}.pp .lp-tabs.pp-nav:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--edge-strong) 20%,var(--edge-strong) 80%,transparent)}.pp .lp-tabs.pp-nav>button{position:relative;z-index:1;color:var(--muted);min-height:62px;font:600 .72rem var(--text);letter-spacing:.02em}.pp .lp-tabs.pp-nav>.on{color:var(--brand)}.pp-ind{position:absolute;z-index:0;top:0;left:0;width:25%;height:3px;background:var(--brand);border-radius:0 0 3px 3px;transition:transform .3s cubic-bezier(.3,.8,.3,1)}.pp-nav.at1 .pp-ind{transform:translate(100%)}.pp-nav.at2 .pp-ind{transform:translate(200%)}.pp-nav.at3 .pp-ind{transform:translate(300%)}@media(min-width:52rem){.pp .lp-tabs.pp-nav{left:50%;right:auto;width:34rem;transform:translate(-50%);bottom:.8rem;border:1px solid var(--edge-strong);border-radius:18px;overflow:hidden}.pp .lp-tabs.pp-nav:before{display:none}}.pp .sf-foot{margin-top:2.5rem;color:var(--muted)}.pp .skel i{background:linear-gradient(90deg,var(--line),color-mix(in srgb,var(--line) 40%,var(--surface)),var(--line));background-size:200% 100%}@media(prefers-reduced-motion:reduce){.pp *,.pp *:before,.pp *:after{animation:none!important;transition:none!important}}.pay-sum{display:flex;flex-direction:column;gap:.25rem}.pay-amt{font:500 2.6rem/1.05 var(--display);letter-spacing:-.02em}.pay-wait{border-left:3px solid var(--warn)}.pay-payee{margin:0;text-align:center;max-width:none}.pp-notices{display:flex;flex-direction:column;gap:.8rem}.pp-note{border:1px solid transparent;background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(145deg,var(--edge-strong),var(--line) 40%,color-mix(in srgb,var(--line) 25%,transparent) 62%,var(--edge-strong)) border-box;border-left:3px solid var(--brand);border-radius:14px;padding:1rem 1.1rem;box-shadow:inset 0 0 22px var(--glow)}.pp-note p{margin:.3rem 0 0;max-width:none}.pp-away{border-radius:18px;padding:1.2rem 1.25rem;color:#fff;background:radial-gradient(circle at 92% 8%,rgba(217,160,91,.35),transparent 45%),linear-gradient(140deg,var(--brand-deep),#4a1d0e);box-shadow:inset 0 0 30px #00000040}.pp-away p{margin:.35rem 0 0;max-width:none;color:#ffffffeb}.pp-away .pp-k{color:#f3c995;margin:0}.pp-away-dates{font:500 clamp(1.8rem,7vw,2.4rem)/1.1 var(--display);letter-spacing:-.015em;color:#fff!important}.pp-away-sub{font-weight:600;font-size:.92rem}.pp-away .pp-from,.pp-note .pp-from{font-size:.8rem}.pp-away .pp-from{color:#ffffffbf}@media(prefers-color-scheme:dark){.pp-away{background:radial-gradient(circle at 92% 8%,rgba(224,168,94,.28),transparent 45%),linear-gradient(140deg,#5a2410,#2b130a)}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pp-classhead{display:flex;flex-direction:column;gap:.9rem;margin-bottom:1rem}.pp-classhead h2{margin:0}.pp-classhead .seg2{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1.5px solid var(--edge-strong);border-radius:999px;padding:3px;background:var(--surface)}.pp-classhead .chipbtn{border:0;min-height:40px;justify-content:center}.pp .chips{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.6rem;padding:.2rem 0 .8rem;scrollbar-width:none}.pp .chips::-webkit-scrollbar{display:none}.pp .chips .chipbtn{flex:none;min-height:42px;padding:.4rem 1rem}.pp-filters{margin:0 0 1rem}.pp-filters>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600;color:var(--brand);list-style:none}.pp-filters>summary::-webkit-details-marker{display:none}.pp-filters>summary:before{content:"+";display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;margin-right:.6rem;border:1.5px solid var(--brand);border-radius:50%;font-size:1rem;line-height:1}.pp-filters[open]>summary:before{content:"−"}.pp-filters .chips{flex-wrap:wrap;overflow:visible;padding-top:.5rem}.pp .monthsel{min-height:42px;width:auto}.pp .pv-table th,.pp .pv-table td{padding:.95rem .9rem}.pp .pv-table td{border-bottom:1px solid var(--line)}.pp-st{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .75rem;font-size:.82rem;border-width:1.5px}.pp-st i{font-style:normal;font-weight:800}.pp .month>summary{min-height:52px;gap:.3rem .9rem}.pp .month .pv-list{margin-top:.4rem}.pp .pv-row{gap:1rem}.pp .pv-note{margin:.45rem 0 0;line-height:1.55}.pp .pv-cards,.pp .pv{gap:1.8rem}.pp .lp-tabs.pp-nav>button{gap:.3rem}.pp .lp-tabs.pp-nav svg{width:26px;height:26px}.pp .pv-table{min-width:30rem}.pp-body{display:flex;flex-direction:column;gap:1.7rem}.pp-body>*{min-width:0}.pp .lp-tabs.pp-nav svg{box-sizing:content-box;width:22px;height:22px;padding:3px 12px;border-radius:999px;transition:background-color .18s,color .18s}.pp .lp-tabs.pp-nav>.on svg{background:var(--brand);color:#fff}.pp .lp-tabs.pp-nav>.on{font-weight:700}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-opsz-normal-Czevyj-6.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-opsz-normal-CJcjJNj7.woff2) format("woff2-variations");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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-opsz-normal-DihXLNYH.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");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}:root{--bg: #f6f1ea;--card: #fffdf9;--ink: #2a1a14;--muted: #6a5a50;--line: #e4d9cc;--accent: #a8421f;--accent-ink: #ffffff;--ok: #2f6b4a;--warn: #8a5a00;--due: #b42318;--ts: #6b3f7a;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #1a1210;--card: #241a16;--ink: #f6ece4;--muted: #c0aea2;--line: #3b2d26;--accent: #e8946c;--accent-ink: #1a1210;--ok: #6fcf9a;--warn: #e8b84a;--due: #ff8f84;--ts: #d2b0e6}}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}h1{margin:0;color:var(--accent);font-size:1.5rem}h2{margin:.5rem 0;font-size:1.25rem}h3{margin:.75rem 0 0;font-size:1rem;color:var(--muted)}.tapp{min-height:100dvh;display:flex;flex-direction:column}.top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:5}.shell{width:100%;max-width:44rem;margin:0 auto;padding:1rem 1rem 5.5rem;flex:1}.shell.narrow{max-width:26rem;padding-top:3rem}.sub{margin:.1rem 0 1.25rem;color:var(--muted)}.muted{color:var(--muted)}.error{color:var(--due);margin:0}.banner{background:var(--due);color:#fff;padding:.5rem 1rem;font-size:.9rem}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;margin:.75rem 0}.stack{display:flex;flex-direction:column;gap:.85rem}.field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.fl{font-size:.8rem;font-weight:600;color:var(--muted)}.hint{font-size:.78rem;color:var(--muted)}input:not([type=checkbox]),select,textarea{width:100%;font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.6rem .7rem;min-height:44px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}@media(max-width:520px){.row3{grid-template-columns:1fr}}.check{display:flex;gap:.55rem;align-items:center;min-height:36px;font-size:.95rem}.check input{width:20px;height:20px}.btn{font:inherit;font-weight:600;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:10px;padding:.6rem 1rem;min-height:44px;cursor:pointer}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.ghost{background:transparent;border-color:transparent;color:var(--accent)}.btn.small{min-height:36px;padding:.3rem .7rem;font-size:.9rem}.btn.danger{background:var(--due);border-color:var(--due);color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.bar{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.count{font-weight:400;color:var(--muted);font-size:.95rem}.list{list-style:none;margin:.5rem 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.item{width:100%;text-align:left;font:inherit;color:inherit;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem .9rem;display:grid;grid-template-columns:1fr auto;gap:.15rem .6rem;cursor:pointer;min-height:44px}.item .main{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.item .meta{grid-column:1;color:var(--muted);font-size:.85rem}.item .pill:last-child{grid-column:2;grid-row:1 / span 2;align-self:center}.pill{font-size:.72rem;font-weight:700;padding:.12rem .5rem;border-radius:999px;border:1px solid currentColor;white-space:nowrap}.pill.ts{color:var(--ts)}.pill.ok{color:var(--ok)}.pill.warn{color:var(--warn)}.pill.due{color:var(--due)}.pill.muted{color:var(--muted)}details.danger{border-color:var(--due)}details.danger summary{cursor:pointer;color:var(--due);font-weight:600}.tabs{position:fixed;bottom:0;left:0;right:0;display:flex;overflow-x:auto;scrollbar-width:none;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:6}.tab{flex:1 1 0;min-width:4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;font:inherit;font-size:.68rem;font-weight:600;background:none;border:0;color:var(--muted);padding:.5rem .25rem;min-height:56px;cursor:pointer}.tab-ic{width:24px;height:24px}.top-brand{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.top-mark{flex:none;width:34px;height:34px;border-radius:9px;display:block}.tab.on{color:var(--accent);box-shadow:inset 0 3px 0 var(--accent)}.tab.soon:not(.on){opacity:.55}.toast{position:fixed;left:50%;bottom:4.5rem;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:.6rem 1rem;border-radius:10px;z-index:20;max-width:90vw}.toast.err{background:var(--due);color:#fff}.datebar{display:flex;gap:.4rem;align-items:center}.datebar input{flex:1;min-width:0}.addone{margin-top:1rem}.logrow{display:flex!important;flex-direction:column;gap:.6rem;cursor:default}.item-top{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start}.name{font-weight:700}.logrow .meta{color:var(--muted);font-size:.85rem;margin:0}.pills{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:flex-end}.seg2{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.5rem}.btn.ts[aria-pressed=true]{background:var(--ts);border-color:var(--ts);color:#fff}.btn.yes[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:#fff}.btn.no[aria-pressed=true]{background:var(--due);border-color:var(--due);color:#fff}.reasonbox{border-top:1px dashed var(--line);padding-top:.6rem}.row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.taught{border-top:1px dashed var(--line);padding-top:.5rem}.taught>summary{cursor:pointer;font-weight:600;margin-bottom:.6rem}textarea{resize:vertical}.linkbtn{background:none;border:0;padding:.25rem 0;font:inherit;font-size:.85rem;color:var(--accent);cursor:pointer;text-decoration:underline;text-align:left}.linkbtn.muted{color:var(--muted)}a.btn.wa{background:#1f9d55;border-color:#1f9d55;color:#fff;text-decoration:none;display:inline-flex;align-items:center}.views{margin:.5rem 0}.daytitle{margin:.25rem 0 .5rem;color:var(--ink)}.filters{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.5rem 0}.chipbtn{font:inherit;font-size:.85rem;font-weight:600;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:.35rem .8rem;min-height:36px;cursor:pointer}.chipbtn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.check.inline{margin-left:.3rem;font-size:.85rem}.totals{margin:.25rem 0 .75rem;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.9rem}.daygroup{margin-top:.5rem}.slot{display:grid;grid-template-columns:4.5rem 1fr;gap:.75rem;padding:.7rem .8rem}.slottime{font-weight:700;color:var(--accent);padding-top:.15rem}.stack.tight{gap:.6rem}.seathead{display:flex;gap:.5rem;align-items:center;justify-content:space-between;margin-bottom:.3rem}.chips{display:flex;flex-wrap:wrap;gap:.35rem}.chip{font:inherit;font-size:.85rem;font-weight:600;border-radius:8px;padding:.3rem .6rem;border:1px solid var(--line);background:var(--bg);color:var(--ink);min-height:32px}button.chip{cursor:pointer;min-height:40px}.chip small{font-weight:400;color:var(--muted)}.chip.present{border-color:var(--ok)}.chip.absent{text-decoration:line-through;opacity:.65}.chip.joining,.chip.seasonal{border-style:dashed}.chip.makeup,.chip.extra{border-color:var(--warn)}.chip.free{border-style:dashed;border-color:var(--ok);color:var(--ok);background:transparent}button.chip.free{cursor:pointer}.actionrow{margin-top:.5rem}.small{font-size:.85rem}.gallery-grid{list-style:none;margin:.75rem 0;padding:0;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr))}.gcard{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.gmeta{padding:.6rem .7rem .8rem;display:flex;flex-direction:column;gap:.4rem;align-items:flex-start}.gmeta .pills{justify-content:flex-start}.actionrow{display:flex;flex-wrap:wrap;gap:.4rem}.protected{position:relative;background:var(--line);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.protected canvas{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}.pp-btn{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;font:inherit;color:inherit}div.pp-btn{cursor:default}.pp-msg{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font-size:.85rem}.protected.veiled canvas{filter:blur(28px) brightness(.8)}.pp-veil{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;text-align:center;font-weight:700;color:#fff;background:#00000059}.lightbox{position:fixed;inset:0;z-index:20;background:#000000d9;display:grid;place-items:center;padding:1rem;overflow:auto}.lb-inner{width:min(100%,52rem);color:#fff;display:flex;flex-direction:column;gap:.5rem}.lb-close{align-self:flex-end}@media print{.protected,.lightbox{display:none!important}.gallery-grid:before{content:"Student photos cannot be printed."}}.hfilters{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.75rem 0 .25rem}.hfilters .hsearch{grid-column:1 / -1}@media(min-width:40rem){.hfilters{grid-template-columns:repeat(4,1fr)}}.chipbtn small{font-weight:400;opacity:.8}.hcount{margin:.5rem 0}.hrow{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.65rem .8rem;display:flex;flex-direction:column;gap:.2rem}.hhead{display:flex;justify-content:space-between;gap:.5rem;align-items:center}.hrow p{margin:.15rem 0 0}.hrow .taught{display:flex;flex-direction:column;gap:.1rem;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.5rem 0 .75rem}.stat{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.6rem .7rem;display:flex;flex-direction:column}.stat strong{font-size:1.5rem;line-height:1.1}.stat span{font-size:.8rem;color:var(--muted)}.month{margin:.75rem 0}.month>summary{cursor:pointer;display:flex;flex-wrap:wrap;gap:.1rem .6rem;align-items:baseline;padding:.4rem 0;min-height:44px}.month>.list{margin-top:.25rem}.st-present{--st: var(--ok)}.st-absent{--st: var(--due)}.st-ts{--st: var(--ts)}.st-moved{--st: var(--warn)}.hrow{border-left:6px solid var(--st, var(--line))}.dot{display:inline-block;width:.7rem;height:.7rem;border-radius:50%;background:var(--st, var(--muted));margin-right:.35rem;vertical-align:-.05em}.strip{display:inline-flex;flex-wrap:wrap;gap:3px;align-items:center}.strip i{width:.8rem;height:.8rem;border-radius:3px;background:var(--st);display:inline-block}.code{letter-spacing:.04em;font-variant-numeric:tabular-nums}.totop{position:fixed;z-index:11;display:inline-flex;align-items:center;gap:.3rem;min-height:48px;padding:.5rem 1rem;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-weight:700;cursor:pointer;box-shadow:0 2px 10px #0003}.totop.app{right:1rem;bottom:calc(4.5rem + env(safe-area-inset-bottom))}.totop:focus-visible{outline:3px solid var(--accent, currentColor);outline-offset:3px}@media print{.totop{display:none}}.weekbar{display:flex;gap:.4rem;align-items:center;justify-content:space-between;margin-bottom:.5rem}.weeklabel{font-weight:700;font-size:.9rem;text-align:center;flex:1}.daystrip{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.daychip{font:inherit;display:flex;flex-direction:column;align-items:center;gap:.05rem;padding:.35rem .1rem;min-height:64px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);cursor:pointer}.daychip .dn{font-size:.7rem;color:var(--muted);font-weight:600}.daychip .dd{font-size:1.1rem;font-weight:700}.daychip .ds{font-size:.66rem;font-weight:700;color:var(--muted)}.daychip.none{opacity:.55}.daychip.done .ds{color:var(--ok)}.daychip.left .ds{color:var(--due)}.daychip.today{border-color:var(--accent)}.daychip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);opacity:1}.daychip.on .dn,.daychip.on .ds{color:var(--accent-ink)}.gotodate{margin:.6rem 0}.missed .chips{margin-top:.4rem}.summary{margin:.1rem 0 .6rem;font-size:.9rem;color:var(--muted)}.s-ok{color:var(--ok);font-weight:700}.s-due{color:var(--due);font-weight:700}.s-ts{color:var(--ts);font-weight:700}.s-left{color:var(--warn);font-weight:700}.group{margin-top:1rem}.groupbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:2px solid var(--accent);padding-bottom:.3rem}.grouptitle{margin:0;font-size:1.15rem;color:var(--accent)}.attach{border-top:1px dashed var(--line);padding-top:.6rem}.filelist{list-style:none;margin:0;padding:0;font-size:.85rem}.feerow{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem;border-left:6px solid var(--st, var(--line))}.feerow summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.5rem;list-style:none;min-height:44px}.feerow summary::-webkit-details-marker{display:none}.feerow .name{display:block;font-weight:600}.feerow .feemeta{display:block;color:var(--muted);font-size:.85rem}.feerow>.stack{margin-top:.6rem}.fee-overdue{--st: var(--due)}.fee-due{--st: var(--warn)}.fee-paid{--st: var(--ok)}.paylist{list-style:none;margin:.3rem 0 0;padding:0;font-size:.85rem}.paylist li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.25rem 0;border-top:1px dashed var(--line)}.addday summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.addday>.stack{margin-top:.6rem}.legend{margin:.4rem 0}.regwrap{overflow:auto;max-height:70vh;border:1px solid var(--line);border-radius:10px;background:var(--card);margin-top:.4rem}.regtable{border-collapse:separate;border-spacing:0;font-size:.8rem}.regtable th,.regtable td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:0;text-align:center;background:var(--card)}.regtable thead th{position:sticky;top:0;z-index:2;font-weight:600;min-width:2.1rem;padding:.15rem 0}.regtable thead th span{display:block;line-height:1.15}.regtable .sticky{position:sticky;z-index:3}.regtable thead .sticky{z-index:4}.regtable .c0{left:0;min-width:2rem;width:2rem}.regtable .c1{left:2rem;min-width:7.5rem;text-align:left;padding:.2rem .4rem;box-shadow:2px 0 0 var(--line)}.regtable .c1 small{display:block;color:var(--muted);font-size:.68rem;font-weight:400}.regtable .tot{min-width:2rem;font-weight:700}.regtable th.today{color:var(--accent);border-bottom:3px solid var(--accent)}.regtable td.sun,.regtable th.sun{background:color-mix(in srgb,var(--line) 55%,var(--card))}.regtable td.k-p{background:color-mix(in srgb,var(--ok) 22%,var(--card));color:var(--ok)}.regtable td.k-a{background:color-mix(in srgb,var(--due) 20%,var(--card));color:var(--due)}.regtable td.k-m{background:color-mix(in srgb,var(--warn) 25%,var(--card));color:var(--warn)}.regtable td.k-t{background:color-mix(in srgb,var(--ts) 20%,var(--card));color:var(--ts)}.regtable td.k-sched{color:var(--muted)}.namebtn{text-decoration:none;font-weight:600;font-size:.85rem;color:var(--ink);padding:0}.cellbtn{width:100%;min-width:2.1rem;height:2.1rem;background:none;border:0;font:inherit;font-weight:700;color:inherit;cursor:pointer;padding:0}.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;margin-top:.5rem}.calh{text-align:center;font-size:.72rem;font-weight:700;color:var(--muted)}.calcell{min-height:58px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);font:inherit;display:flex;flex-direction:column;justify-content:space-between;padding:.2rem .3rem;text-align:left;cursor:pointer}.calcell .cd{font-size:.8rem;font-weight:600}.calcell .cd small{color:var(--muted);font-size:.6rem;font-weight:400}.calcell .ct{font-weight:800;font-size:1rem;text-align:center}.calcell.sun{background:color-mix(in srgb,var(--line) 55%,var(--card))}.calcell.today{border-color:var(--accent);border-width:2px}.calcell.k-p{background:color-mix(in srgb,var(--ok) 22%,var(--card));color:var(--ok)}.calcell.k-a{background:color-mix(in srgb,var(--due) 20%,var(--card));color:var(--due)}.calcell.k-m{background:color-mix(in srgb,var(--warn) 25%,var(--card));color:var(--warn)}.calcell.k-t{background:color-mix(in srgb,var(--ts) 20%,var(--card));color:var(--ts)}.calcell .cd{color:var(--ink)}.regtable .rp,.regtable .ra{position:sticky;z-index:3;width:2.1rem;min-width:2.1rem}.regtable .ra{right:0}.regtable .rp{right:2.1rem;box-shadow:-2px 0 0 var(--line)}.regtable thead .rp,.regtable thead .ra{z-index:4}.insttabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.4rem;margin:.8rem 0 .2rem}.insttab{font:inherit;font-weight:700;border:2px solid var(--line);background:var(--card);color:var(--ink);border-radius:12px;padding:.5rem .6rem;min-height:52px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.2}.insttab .count{font-weight:800;color:var(--accent)}.insttab small.left{color:var(--due);font-weight:600;font-size:.7rem}.insttab.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.insttab.on .count,.insttab.on small.left{color:var(--accent-ink)}.group>.list{gap:0;background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:.4rem}.group>.list>li+li{border-top:1px solid var(--line)}.arow{padding:.45rem .7rem}.arow-line{display:flex;align-items:center;gap:.5rem}.arow-main{flex:1;min-width:0;display:flex;align-items:center;gap:.6rem;background:none;border:0;font:inherit;color:inherit;text-align:left;padding:0;min-height:52px;cursor:pointer}.avatar{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.85rem;background:color-mix(in srgb,var(--accent) 14%,var(--card));color:var(--accent)}.arow-text{min-width:0;display:flex;flex-direction:column}.arow-text .name{font-weight:700;font-size:1.02rem;line-height:1.25}.arow-text .meta{color:var(--muted);font-size:.8rem}.arow-text .hint2{font-size:.75rem;color:var(--accent)}.pa{flex:0 0 auto;width:48px;height:48px;border-radius:12px;border:2px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-weight:800;font-size:1.05rem;cursor:pointer}.pa.p[aria-pressed=true]{background:var(--ok);border-color:var(--ok);color:#fff}.pa.a[aria-pressed=true]{background:var(--due);border-color:var(--due);color:#fff}.pa:disabled{opacity:.5;cursor:not-allowed}.arow-more{margin-top:.4rem;padding-top:.5rem;border-top:1px dashed var(--line)}.banner.soft{background:var(--accent-soft);color:var(--ink);border-bottom:1px solid var(--line)}.banner.soft .linkbtn{color:var(--accent);font-weight:700}.pv{display:grid;gap:1rem}.pv h1{font-size:1.8rem;margin:0}.pv h2{font-size:1.2rem;margin:0 0 .5rem}.pv-hero p{margin:.2rem 0 0;color:var(--muted)}.pv-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.6rem}.pv-card{background:var(--card, var(--paper));border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem;display:flex;flex-direction:column;gap:.15rem}.pv-k{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.pv-card strong{font-size:1.05rem}.pv-practice{background:color-mix(in srgb,var(--accent) 8%,var(--card, var(--paper)));border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem}.pv-practice p{margin:.25rem 0}.pv-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.pv-list li{padding:.6rem .8rem;background:var(--card, var(--paper))}.pv-list li+li{border-top:1px solid var(--line)}.pv-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.pv-note{margin:.25rem 0 0;font-size:.9rem}.pv-foot{border-top:1px solid var(--line);padding-top:.8rem}.is-demo body{padding-top:28px}.demo-bar{position:fixed;top:0;left:0;right:0;z-index:1000;height:28px;display:flex;align-items:center;justify-content:center;padding:0 8px;font-size:12px;font-weight:700;background:#f2c14e;color:#1b1400;text-align:center}.is-demo body,.is-demo img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}.is-demo input,.is-demo textarea{-webkit-user-select:text;user-select:text}.top .row{flex:none;flex-wrap:nowrap}.top-brand strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-warn{color:var(--warn);font-weight:700}.pay{display:flex;flex-direction:column;gap:.8rem}.pay-id{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap}.pay-id .code{display:block;font-size:1.1rem;word-break:break-all}.pay-qr{width:200px;height:200px;max-width:100%;align-self:center;border:1px solid var(--line);border-radius:8px}.parent-tabs{display:flex;gap:.8rem;flex-wrap:wrap}.consent{display:flex;gap:.6rem;align-items:flex-start}.consent input{width:1.2rem;height:1.2rem;min-height:0;flex:none;margin-top:.2rem}.pv-link{text-align:left;font:inherit;color:inherit;cursor:pointer}.parent-out{margin-left:auto;background:none;border:1px solid #5a6aa8;color:#fff;border-radius:8px;padding:.35rem .8rem;font:700 .85rem var(--sans);cursor:pointer;min-height:36px}.dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--st);margin-right:.3rem}.pv-tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:.5rem 0}.pv-table{border-collapse:collapse;width:100%;min-width:34rem;font-size:.9rem}.pv-table th{position:sticky;top:0;text-align:left;background:var(--card, var(--paper));border-bottom:2px solid var(--line);padding:.5rem .6rem;white-space:nowrap;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.pv-table td{padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top;white-space:nowrap}.pv-table td:last-child{white-space:normal}.pv-table tbody tr:nth-child(2n){background:color-mix(in srgb,var(--line) 25%,transparent)}.seg2{display:inline-flex;gap:.4rem}.monthsel{width:auto;min-height:36px;padding:.3rem .6rem}.notice-box{background:color-mix(in srgb,var(--warn) 14%,var(--card, var(--paper)));border:1px solid var(--warn);border-radius:12px;padding:.7rem 1rem;margin-bottom:.8rem}.notice-box p{margin:.2rem 0}.pay-qr-img{width:280px;max-width:100%;align-self:center;border-radius:12px;border:1px solid var(--line)}:root{--sans: "Inter Variable", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--serif: "Fraunces Variable", "Fraunces", Georgia, "Times New Roman", serif;--band: #4a1d0e;--band-ink: #fff;--accent-soft: color-mix(in srgb, var(--accent) 12%, var(--card));--radius: 14px;--shadow: 0 1px 2px rgba(29, 27, 25, .06), 0 4px 14px rgba(29, 27, 25, .05);--topH: 3.5rem}@media(prefers-color-scheme:dark){:root{--band: #120c0a;--shadow: 0 1px 2px rgba(0, 0, 0, .4)}}h1,h2{font-family:var(--serif);font-weight:400}.card,.item,.stat,.feerow,.hrow,.pv-card{border-radius:var(--radius)}.card,.stat,.feerow,.hrow{box-shadow:var(--shadow)}:where(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}.top{min-height:var(--topH);background:var(--band);color:var(--band-ink);border-bottom:0;padding-top:max(.4rem,env(safe-area-inset-top))}.top .btn.ghost{color:var(--band-ink)}.top .btn.ghost:hover{background:#ffffff1f}.top-brand strong{font-family:var(--serif);font-weight:400;font-size:1.1rem}.top-mark{box-shadow:0 0 0 2px #ffffff40}.menu{position:relative}.menu>summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;min-height:36px;padding:.3rem .7rem;border-radius:10px;font-weight:600;font-size:.9rem;color:var(--band-ink)}.menu>summary::-webkit-details-marker{display:none}.menu>summary:hover,.menu[open]>summary{background:#ffffff24}.menu-pop{position:absolute;right:0;top:calc(100% + .3rem);min-width:11rem;display:flex;flex-direction:column;gap:.15rem;padding:.4rem;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px #00000038;z-index:30}.menu-pop .btn.ghost,.menu-pop a.btn{color:var(--ink);justify-content:flex-start;text-align:left;text-decoration:none;display:flex;align-items:center}.menu-pop .btn.ghost:hover,.menu-pop a.btn:hover,.tab.on{background:var(--accent-soft)}.tab{transition:background-color .15s,color .15s}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.shell.rise{animation:rise .25s ease-out both}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.skel{display:flex;flex-direction:column;gap:.7rem}.skel i{display:block;height:4.2rem;border-radius:var(--radius);background:linear-gradient(90deg,var(--line),color-mix(in srgb,var(--line) 40%,var(--card)),var(--line));background-size:200% 100%;animation:shimmer 1.3s linear infinite}.skel i:first-child{height:2.2rem;width:55%}@keyframes shimmer{to{background-position:-200% 0}}.sf-foot{margin-top:2rem;text-align:center;font-size:.8rem;color:var(--muted)}.sf-foot a{color:inherit}.sf-foot svg{vertical-align:-2px;margin:0 .15rem}.sf-heart{color:#d6336c}@media(min-width:64rem){.top{position:sticky;z-index:12}.tabs{top:var(--topH);right:auto;width:14rem;flex-direction:column;justify-content:flex-start;gap:.25rem;padding:1rem .75rem;border-top:0;border-right:1px solid var(--line);overflow:visible}.tab{flex:none;flex-direction:row;justify-content:flex-start;gap:.8rem;min-height:48px;padding:.5rem .9rem;font-size:.95rem;border-radius:10px}.tab.on{box-shadow:inset 3px 0 0 var(--accent)}.shell{width:calc(100% - 14rem);max-width:62rem;margin-left:calc(14rem + max(0px,(100% - 14rem - 62rem) / 2));margin-right:0;padding-bottom:2rem}.shell.narrow{width:100%;max-width:26rem;margin:0 auto}.banner{padding-left:15rem}.totop.app{bottom:1rem}.toast{bottom:1.5rem}}.tab span{display:block;line-height:1.15;white-space:nowrap}body{font-family:var(--sans)}.pageform{border-top:0;padding-top:0}.pageform>summary{display:none}.tab{min-width:3.4rem;font-size:.64rem}.menu-pop{min-width:17rem;padding:.5rem}.menu-pop hr{border:0;border-top:1px solid var(--line);margin:.35rem .3rem}.mitem{display:flex;align-items:center;gap:.8rem;width:100%;min-height:48px;padding:.4rem .7rem;border:0;border-radius:10px;background:none;color:var(--ink);font:600 .95rem var(--sans);text-align:left;text-decoration:none;cursor:pointer}.mitem:hover,.mitem:focus-visible{background:var(--accent-soft)}.mitem .mi{flex:none;width:22px;height:22px;color:var(--accent)}.mitem .mt{display:flex;flex-direction:column;line-height:1.25}.mitem small{font-weight:400;font-size:.78rem;color:var(--muted)}.about-back{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1rem;background:#140a068c;overflow-y:auto}.about{position:relative;width:min(100%,30rem);max-height:calc(100dvh - 2rem);overflow-y:auto;padding:1.6rem 1.4rem 1.2rem;border-radius:20px;background:var(--card);color:var(--ink);border:1px solid var(--line);box-shadow:0 20px 60px #00000059;font-family:var(--sans)}.about-x{position:absolute;top:.6rem;right:.7rem;width:44px;height:44px;border:0;border-radius:50%;background:none;color:var(--muted);font-size:1.8rem;line-height:1;cursor:pointer}.about-x:hover{background:var(--accent-soft)}.about-logo{display:block;border-radius:14px;margin-bottom:.6rem}.about h2{margin:0;font-family:var(--serif);font-weight:500;font-size:1.5rem}.about h3{margin:1.2rem 0 .3rem;font-family:var(--serif);font-weight:500;font-size:1.1rem;color:var(--ink)}.about-tag{margin:.15rem 0 .8rem;color:var(--muted)}.about p{max-width:none}.about-facts{display:grid;grid-template-columns:7.5rem 1fr;gap:.6rem 1rem;margin:1rem 0 0;font-size:.92rem}.about-facts dt{color:var(--muted);font-weight:600;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;padding-top:.15rem}.about-facts dd{margin:0}.about a{color:var(--accent);font-weight:600}.about-tips{margin:0;padding-left:1.2rem;font-size:.92rem}.about-tips li{margin:.35rem 0}@media(max-width:30rem){.about-facts{grid-template-columns:1fr;gap:.15rem}.about-facts dd{margin-bottom:.6rem}}.tab{color:var(--muted)}.tab .tab-ic{box-sizing:content-box;width:22px;height:22px;padding:3px 11px;border-radius:999px;transition:background-color .18s,color .18s}.tab.on{color:var(--accent);font-weight:700;box-shadow:none;background:none}.tab.on .tab-ic{background:var(--accent);color:#fff}@media(min-width:64rem){.tab .tab-ic{padding:5px}.tab.on{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.tab.on .tab-ic{padding:5px}}.menu>summary:before{content:"";width:18px;height:18px;margin-right:.45rem;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E") center/contain no-repeat}
