.lumi{--lumi-shell:hsl(var(--primary));--lumi-soft:hsl(var(--primary-200));--lumi-accent:hsl(var(--sunshine));--lumi-eye:#fff;--lumi-shell-deep:#0d4f30;--lumi-leg:#418a63;--lumi-limb:#6ba98a;--lumi-limb-shade:#35805a;--lumi-leaf:#89b79f}@supports (color:color-mix(in srgb,red 50%,blue)){.lumi{--lumi-shell-deep:color-mix(in srgb,var(--lumi-shell) 70%,#000);--lumi-leg:color-mix(in srgb,var(--lumi-shell) 76%,#fff);--lumi-limb:color-mix(in srgb,var(--lumi-shell) 58%,#fff);--lumi-limb-shade:color-mix(in srgb,var(--lumi-shell) 82%,#fff);--lumi-leaf:color-mix(in srgb,var(--lumi-shell) 50%,#fff)}}.lumi .mascot{width:100%;height:auto;display:block;overflow:hidden}.lumi .l-shell{fill:var(--lumi-shell)}.lumi .l-shell-deep{fill:var(--lumi-shell-deep)}.lumi .l-shell-rim{stroke:var(--lumi-shell-deep)}.lumi .l-leg{fill:var(--lumi-leg)}.lumi .l-limb{fill:var(--lumi-limb)}.lumi .l-limb-shade{fill:var(--lumi-limb-shade)}.lumi .l-limb-line{stroke:var(--lumi-limb-shade)}.lumi .l-leaf{fill:var(--lumi-leaf)}.lumi .l-stem{stroke:var(--lumi-leg)}.lumi .l-soft{fill:var(--lumi-soft)}.lumi .l-accent{fill:var(--lumi-accent)}.lumi .l-eye{fill:var(--lumi-eye)}.lumi .l-smile{stroke:var(--lumi-eye)}.lumi .l-shadow{fill:hsl(var(--foreground));opacity:.1}.lumi .l-mouth,.lumi .l-shadow{transform-box:fill-box;transform-origin:center}.lumi .l-limbs,.lumi .l-shell-group{transform-box:view-box;transform-origin:92px 118px}.lumi .l-head-emerge{transform-box:view-box;transform-origin:150px 110px}.lumi .l-head{transform-box:view-box;transform-origin:154px 110px}.lumi .l-arm,.lumi .l-waggle{transform-box:view-box;transform-origin:138px 119px}.lumi[data-animate=false][data-pose=talking] .l-head,.lumi[data-animate=false][data-pose=waving] .l-head{transform:rotate(6deg) translate(-2px,-2px)}.lumi[data-animate=false][data-pose=waving] .l-arm{transform:rotate(-96deg)}.lumi[data-animate=true] .l-body{animation:lumi-bob 4.5s ease-in-out infinite}.lumi[data-animate=true] .l-shadow{animation:lumi-shadow 4.5s ease-in-out infinite}.lumi[data-animate=true][data-pose=talking] .l-head,.lumi[data-animate=true][data-pose=waving] .l-head{animation:lumi-turn .8s cubic-bezier(.16,.84,.24,1) .4s 1 both}.lumi[data-animate=true] .l-face{animation:lumi-reveal .5s ease-out .9s 1 both}.lumi[data-animate=true] .l-mouth{animation:lumi-talk .42s ease-in-out 1.2s infinite}.lumi[data-animate=true][data-pose=waving] .l-patch{animation:lumi-patch .25s linear .6s 1 both}.lumi[data-animate=true][data-pose=waving] .l-arm{animation:lumi-lift .7s cubic-bezier(.16,.84,.24,1) .55s 1 both}.lumi[data-animate=true][data-pose=waving] .l-waggle{animation:lumi-waggle 1.1s ease-in-out 1.25s infinite}.lumi[data-animate=true][data-pose=shy] .l-shell-group{animation:lumi-wiggle 1.5s ease-in-out .2s 1 both}.lumi[data-animate=true][data-pose=shy] .l-head-emerge{animation:lumi-emerge-head .7s cubic-bezier(.16,.84,.24,1) 1.6s 1 both}.lumi[data-animate=true][data-pose=shy] .l-limbs{animation:lumi-emerge-limbs .6s ease-out 1.8s 1 both}@keyframes lumi-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes lumi-shadow{0%,to{transform:scaleX(1);opacity:.1}50%{transform:scaleX(.94);opacity:.07}}@keyframes lumi-turn{0%{transform:rotate(0deg) translate(0)}to{transform:rotate(6deg) translate(-2px,-2px)}}@keyframes lumi-reveal{0%{opacity:0}to{opacity:1}}@keyframes lumi-talk{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}@keyframes lumi-patch{0%{opacity:1}to{opacity:0}}@keyframes lumi-lift{0%{transform:rotate(0deg)}to{transform:rotate(-96deg)}}@keyframes lumi-waggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(13deg)}50%{transform:rotate(-2deg)}75%{transform:rotate(11deg)}}@keyframes lumi-wiggle{0%,to{transform:rotate(0deg)}18%{transform:rotate(-3.5deg)}38%{transform:rotate(3.5deg)}58%{transform:rotate(-2.5deg)}78%{transform:rotate(2deg)}}@keyframes lumi-emerge-head{0%{transform:translate(-30px,12px) scale(.72);opacity:0}to{transform:translate(0) scale(1);opacity:1}}@keyframes lumi-emerge-limbs{0%{transform:translateY(-14px);opacity:0}to{transform:translateY(0);opacity:1}}@media (prefers-reduced-motion:reduce){.lumi,.lumi *{animation:none!important}.lumi[data-pose=talking] .l-head,.lumi[data-pose=waving] .l-head{transform:rotate(6deg) translate(-2px,-2px)}.lumi[data-pose=waving] .l-arm{transform:rotate(-96deg)}}.t-pill{color:hsl(var(--foreground))}.t-pill.warn{background:hsl(var(--warning)/.18);color:hsl(26 95% 24%);border:1px solid hsl(var(--warning)/.4)}.t-pill.err{background:hsl(var(--destructive)/.18);color:hsl(6 72% 32%);border:1px solid hsl(var(--destructive)/.4)}[data-mode=dark] .t-pill.warn,[data-mode=dusk] .t-pill.warn{color:hsl(var(--warning))}[data-mode=dark] .t-pill.err,[data-mode=dusk] .t-pill.err{color:hsl(var(--destructive))}.t-pill:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.t-pill.neutral{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}[data-mode=dusk] .t-pill.neutral,[data-mode=paper] .t-pill.neutral{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-color:hsl(var(--border))}.badge{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 14px;font-family:var(--font-sans);font-size:13.5px;font-weight:700;line-height:1;color:hsl(var(--card-foreground))}.badge:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.badge .g{display:inline-flex;align-items:center;justify-content:center}.badge.ok{background:hsl(var(--success)/.16);color:hsl(var(--success-foreground));border:1px solid hsl(var(--success)/.4)}.badge.warn{background:hsl(var(--warning)/.16);color:hsl(var(--warning-foreground));border:1px solid hsl(var(--warning)/.4)}[data-mode=dark] .badge.warn,[data-mode=dark] .t-pill.warn{color:hsl(var(--warning))}.badge.err{background:hsl(var(--destructive)/.16);color:hsl(var(--destructive-foreground));border:1px solid hsl(var(--destructive)/.4)}.badge.neutral{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}.streak{gap:5px;font-family:var(--font-sans);font-size:13.5px;color:hsl(var(--sunshine-foreground))}.streak .flame{display:inline-flex;color:hsl(var(--sunshine))}.streak--inactive,.streak--inactive .flame{color:hsl(var(--muted-foreground))}.streak--inactive .flame{opacity:.4;filter:grayscale(1)}[data-mode=dusk] .streak:not(.streak--inactive),[data-mode=paper] .streak:not(.streak--inactive){color:hsl(var(--foreground))}[data-mode=dusk] .streak:not(.streak--inactive) .flame,[data-mode=paper] .streak:not(.streak--inactive) .flame{color:hsl(var(--sunshine))}.count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-family:var(--font-sans);font-size:12px;font-weight:700;line-height:1}.code-in{font-family:var(--font-mono);font-size:26px;font-weight:700;letter-spacing:.32em;text-align:center;text-indent:.32em;text-transform:uppercase;width:100%;min-height:64px;padding:0 12px;border-radius:var(--radius);background:hsl(var(--background));color:hsl(var(--foreground));border:2px solid hsl(var(--border));outline:none;transition:border-color var(--transition)}.code-in:focus{border-color:hsl(var(--ring))}.code-in::-moz-placeholder{color:hsl(var(--muted-foreground));letter-spacing:.32em}.code-in::placeholder{color:hsl(var(--muted-foreground));letter-spacing:.32em}.plan-opt{display:flex;align-items:center;gap:12px;width:100%;max-width:100%;min-width:0;box-sizing:border-box;text-align:left;padding:14px 16px;border-radius:var(--radius-lg);background:hsl(var(--card));border:2px solid hsl(var(--border));color:hsl(var(--foreground));cursor:pointer;transition:border-color var(--transition),background var(--transition)}.plan-opt:hover{border-color:hsl(var(--ring))}.plan-opt:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:2px}.plan-opt[aria-checked=true]{border-color:hsl(var(--primary));background:hsl(var(--accent))}.plan-opt .plan-body{display:flex;flex-direction:column;gap:6px;flex:1 1 auto;min-width:0;max-width:100%}.plan-opt .plan-title{display:block;width:100%;min-width:0;font-family:var(--font-sans);font-weight:700;font-size:15px;color:hsl(var(--foreground))}.plan-opt .plan-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px;width:100%;min-width:0}.plan-opt .plan-desc{flex:1 1 8rem;min-width:0;font-size:13px;line-height:1.35;color:hsl(var(--muted-foreground));overflow-wrap:anywhere;text-wrap:pretty}.plan-opt .plan-price{flex:0 0 auto;margin-inline-start:auto;font-family:var(--font-sans);font-weight:700;font-size:15px;line-height:1.2;color:hsl(var(--foreground));white-space:nowrap}@media (max-width:360px){.plan-opt{gap:10px;padding:12px}.plan-opt .plan-price,.plan-opt .plan-title{font-size:14px}.plan-opt .plan-desc{font-size:12.5px}}.radio{position:relative;flex:0 0 auto;width:22px;height:22px;border-radius:999px;border:2px solid hsl(var(--border));background:hsl(var(--background));transition:border-color var(--transition)}.plan-opt[aria-checked=true] .radio{border-color:hsl(var(--primary))}.plan-opt[aria-checked=true] .radio:after{content:"";position:absolute;inset:4px;border-radius:999px;background:hsl(var(--primary))}.t-field .hint{color:hsl(var(--muted-foreground))}.t-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.t-card{background-color:hsl(var(--card));color:hsl(var(--card-foreground))}.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600;font-family:var(--font-sans)}.pill.sun{background:hsl(var(--sunshine)/.18);color:hsl(38 95% 24%);border:1px solid hsl(var(--sunshine)/.4)}[data-mode=dark] .pill.sun,[data-mode=dusk] .pill.sun{color:hsl(var(--sunshine))}.pill.acc{background:hsl(var(--accent)/.16);color:hsl(var(--accent-foreground));border:1px solid hsl(var(--accent)/.35)}[data-mode=dusk] .pill.acc,[data-mode=paper] .pill.acc{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-color:hsl(var(--border))}.band-card{border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:26px;background:linear-gradient(180deg,hsl(var(--card)) 0,hsl(var(--background)) 100%);color:hsl(var(--card-foreground));box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:16px}.band-card .age{font-family:var(--font-mono);font-size:12px;font-weight:600;color:hsl(var(--muted-foreground));letter-spacing:.04em}.band-card .bname{font-family:var(--font-heading);font-size:30px;margin:2px 0 0;color:hsl(var(--foreground))}.band-card .bnote{color:hsl(var(--muted-foreground));font-size:14px;flex:1}.band-card .chips{display:flex;gap:8px;flex-wrap:wrap}.band-card .specs{display:flex;gap:14px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px;color:hsl(var(--muted-foreground))}.band-card .specs b{color:hsl(var(--foreground));font-weight:600}.lesson{border-radius:var(--radius-lg);overflow:hidden;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--card-foreground));box-shadow:var(--shadow-lg)}.lesson .cover{height:128px;background:radial-gradient(circle at 80% 20%,hsl(var(--sunshine)/.5),transparent 55%),linear-gradient(135deg,hsl(var(--primary)) 0,hsl(var(--primary-700)) 100%);position:relative;display:flex;align-items:flex-end;padding:16px}.lesson .cover .tag{background:hsl(var(--background)/.9);color:hsl(var(--foreground));font-family:var(--font-mono);font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px}.lesson .body{padding:20px}.lesson .body .t{font-family:var(--font-heading);font-size:22px;font-weight:700;margin:0 0 6px;color:hsl(var(--foreground))}.lesson .body .d{color:hsl(var(--muted-foreground));font-size:14px;margin:0 0 18px}.lesson .meta{display:flex;align-items:center;gap:14px;margin-bottom:18px}.progress{flex:1;height:12px;border-radius:999px;background:hsl(var(--muted)/.35);overflow:hidden;border:1px solid hsl(var(--border)/.5)}[data-mode=dark] .progress,[data-mode=dusk] .progress{background:hsl(var(--foreground)/.14);border-color:hsl(var(--border)/.8)}.progress>i{display:block;height:100%;background:hsl(var(--primary));border-radius:999px}.streak{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:hsl(38 95% 24%)}[data-mode=dark] .streak,[data-mode=dusk] .streak{color:hsl(var(--sunshine))}.quest{display:flex;align-items:center;gap:16px;padding:18px;border-radius:var(--radius-lg);background:hsl(var(--card));border:1px solid hsl(var(--border));box-shadow:var(--shadow-md);text-decoration:none;color:inherit;min-height:var(--tap-min);transition:transform var(--transition),box-shadow var(--transition)}.quest:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.quest:active{transform:translateY(0) scale(.995)}.quest .ic{width:58px;height:58px;border-radius:var(--radius);display:grid;place-items:center;font-size:26px;font-weight:800;flex:none;font-family:var(--font-heading);color:hsl(var(--primary-foreground));background:hsl(var(--primary))}.quest .ic.sun{background:hsl(var(--sunshine));color:hsl(var(--sunshine-foreground))}.quest .ic.acc{background:hsl(var(--accent-solid));color:hsl(var(--accent-solid-foreground))}.quest .qt{font-family:var(--font-heading);font-weight:700;font-size:19px;color:hsl(var(--foreground))}.quest .qd{color:hsl(var(--muted-foreground));font-size:14px;margin-top:2px}.quest .qb{min-width:0;flex:1}.quest .go{margin-left:auto;font-size:24px;color:hsl(var(--primary));flex:none;display:inline-flex}.quest.done{opacity:.7}.quest.done .ic{background:hsl(var(--success));color:#fff}.quest:disabled,.quest[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none!important}[data-mode=dark] .quest .qd,[data-mode=dusk] .quest .qd{color:hsl(var(--foreground)/.78)}[data-mode=dark] .quest .qt,[data-mode=dusk] .quest .qt{color:hsl(var(--foreground))}[data-mode=dark] .quest .qb,[data-mode=dusk] .quest .go{min-width:0;flex:1}.quest .qp{display:block;margin-top:8px;max-width:220px}.quest .qx{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}.quest .go{color:hsl(var(--primary-300))}[data-mode=dark] .quest .ic,[data-mode=dusk] .quest .ic{box-shadow:0 0 0 1px hsl(var(--border))}.today-card{padding:18px;border-radius:var(--radius-lg);background:linear-gradient(135deg,hsl(var(--primary)/.12),hsl(var(--sunshine)/.1));border:1px solid hsl(var(--border));color:hsl(var(--foreground));width:100%;max-width:100%;box-sizing:border-box;min-width:0}.today-card .row:last-child{width:100%}[data-mode=dark] .today-card,[data-mode=dusk] .today-card{background:linear-gradient(135deg,hsl(var(--primary)/.2),hsl(var(--card)))}[data-mode=paper] .today-card{background:linear-gradient(135deg,hsl(var(--primary)/.1),hsl(var(--muted)))}.today-card .row{display:flex;align-items:center;gap:12px}.today-card .row:first-child{margin-bottom:12px}.today-card .lab{font-weight:700}.today-card .pc{margin-left:auto;font-family:var(--font-heading);font-weight:700}.kid-card{overflow:hidden;display:flex;flex-direction:column;min-width:0;max-width:100%;box-sizing:border-box}.kid-card .kid-top{padding:20px 20px 16px;display:flex;align-items:center;gap:14px;min-width:0;background:radial-gradient(circle at 88% 12%,hsl(var(--sunshine)/.22),transparent 52%),hsl(var(--primary)/.07)}.kid-card .kid-top .tobi{width:64px;height:64px;border-radius:999px;background:hsl(var(--card));display:grid;place-items:center;overflow:visible;flex:none;border:1px solid hsl(var(--border))}.kid-card .kid-top .tobi .mascot,.kid-card .kid-top .tobi svg{width:62px;height:62px;max-width:100%;max-height:100%;display:block}.kid-card .kid-top .nm{font-family:var(--font-heading);font-size:21px;font-weight:700;color:hsl(var(--foreground));min-width:0}.kid-card .kid-top .bd{font-size:12.5px;color:hsl(var(--muted-foreground));font-family:var(--font-mono);min-width:0}.kid-card .kid-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:14px;flex:1;min-width:0}.kid-card .kid-stat{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;min-width:0}.kid-card .kid-stat .lab{color:hsl(var(--muted-foreground));flex:none}.kid-card .kid-stat .val{font-weight:700;min-width:0;text-align:right}.profile{--pavatar-size:clamp(88px,26vw,140px);background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px;border-radius:var(--radius-lg);transition:transform var(--transition);min-width:0;max-width:100%;width:min(100%,calc(var(--pavatar-size) + 16px));box-sizing:border-box}.profile:hover{transform:translateY(-6px) scale(1.03)}.profile:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none!important}.profile:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:3px}.pavatar{width:var(--pavatar-size);height:var(--pavatar-size);border-radius:clamp(18px,5.5vw,32px);border:clamp(2.5px,.7vw,4px) solid hsl(var(--primary));display:grid;place-items:center;overflow:hidden;flex:none;box-sizing:border-box;box-shadow:var(--shadow-lg);background:radial-gradient(circle at 50% 20%,hsl(var(--sunshine)/.3),transparent 60%),hsl(var(--card))}[data-mode=dark] .pavatar,[data-mode=dusk] .pavatar{background:radial-gradient(circle at 50% 20%,hsl(var(--sunshine)/.12),transparent 60%),hsl(var(--muted))}.pavatar .pavatar-tobi{display:grid!important;place-items:center;width:100%!important;max-width:100%!important;height:100%;line-height:0;box-sizing:border-box;padding:6% 4% 4%}.pavatar .pavatar-tobi .mascot{width:100%;height:auto;max-width:100%;max-height:100%;display:block}.pavatar .pemoji{font-size:clamp(28px,40%,56px);line-height:1}.profile .pname{font-family:var(--font-heading);font-weight:700;font-size:clamp(16px,4.2vw,22px);color:hsl(var(--foreground));line-height:1.2}.profile .pband,.profile .pname{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.profile .pband{font-size:clamp(11px,2.8vw,12.5px);color:hsl(var(--muted-foreground));font-family:var(--font-mono)}@media (max-width:560px){.profile{gap:8px;padding:4px}}@media (max-width:360px){.profile{--pavatar-size:clamp(80px,27vw,100px)}}.stepper{justify-content:center}.stepper,.stepper .d{display:flex;align-items:center;gap:8px}.stepper .dot{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;font-weight:700;font-size:13px;font-family:var(--font-mono);background:hsl(var(--muted)/.5);color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border)/.7);transition:box-shadow .15s ease,transform .15s ease,filter .15s ease}.stepper .d:hover .dot{box-shadow:inset 0 0 0 3rem hsl(var(--foreground)/.08);transform:scale(1.06)}.stepper .d.done .dot{background:hsl(var(--primary));color:hsl(var(--primary-foreground));border-color:hsl(var(--primary))}.stepper .d.active .dot{background:hsl(var(--background));color:hsl(var(--primary));border-color:hsl(var(--primary))}.stepper .d.active:hover .dot,.stepper .d.done:hover .dot{box-shadow:inset 0 0 0 3rem rgba(255,255,255,.12);filter:brightness(1.06)}.stepper .bar{width:34px;height:2px;background:hsl(var(--border)/.5)}.stepper .d.done+.bar{background:hsl(var(--primary))}.stepper .lbl{font-size:12px;font-weight:600;color:hsl(var(--muted-foreground))}.stepper .d.active .lbl{color:hsl(var(--foreground))}[data-mode=dark] .stepper .d:not(.done):not(.active) .dot,[data-mode=dusk] .stepper .d:not(.done):not(.active) .dot{background:hsl(var(--foreground)/.14);border-color:hsl(var(--foreground)/.28)}[data-mode=dark] .stepper .d:not(.done)+.bar,[data-mode=dusk] .stepper .d:not(.done)+.bar{background:hsl(var(--foreground)/.2)}@media (max-width:720px){.stepper .lbl{display:none}}@media (max-width:560px){.stepper .bar{width:18px}}.tabbar{position:var(--tabbar-position,fixed);left:0;right:0;bottom:0;width:100%;max-width:100%;z-index:50;background:hsl(var(--card)/.94);backdrop-filter:blur(10px);border-top:1px solid hsl(var(--border));justify-content:space-around;align-items:stretch;gap:0;padding:10px max(4px,env(safe-area-inset-left,0px)) max(14px,env(safe-area-inset-bottom,0px)) max(4px,env(safe-area-inset-right,0px))}.tab,.tabbar{box-sizing:border-box;display:flex}.tab{flex:1 1 0;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600;color:hsl(var(--muted-foreground));text-decoration:none;min-width:0;max-width:none;padding:0 2px;background:none;border:0;cursor:pointer}.tab .ti{width:46px;height:38px;max-width:100%;border-radius:999px;display:grid;place-items:center;font-size:20px;flex-shrink:0;transition:box-shadow .15s ease,transform .15s ease,filter .15s ease,background .15s ease}.tab:hover .ti{box-shadow:inset 0 0 0 3rem hsl(var(--foreground)/.08);transform:scale(1.06)}.tab:hover:not(.on){color:hsl(var(--foreground)/.85)}.tab.on{color:hsl(var(--primary))}.tab.on .ti{background:hsl(var(--primary)/.15)}.tab.on:hover .ti{box-shadow:inset 0 0 0 3rem rgba(255,255,255,.12);filter:brightness(1.06)}[data-mode=dusk] .tab:not(.on),[data-mode=paper] .tab:not(.on){color:hsl(var(--foreground)/.62)}[data-mode=dark] .tab:not(.on){color:hsl(var(--foreground)/.55)}@media (max-width:360px){.tab{font-size:10px;gap:2px}.tab .ti{width:40px;height:34px;font-size:18px}}@media (min-width:720px){.tabbar{padding-top:12px;padding-bottom:max(16px,env(safe-area-inset-bottom,0px))}.tab{font-size:12px}.tab .ti{width:50px;height:42px;font-size:22px}}[data-mode=dark] .dots .dt:not(.on):not(.cur),[data-mode=dusk] .dots .dt:not(.on):not(.cur){background:hsl(var(--foreground)/.28)}.foundations-overview{max-width:1140px;margin:0 auto;padding:16px;color:hsl(var(--foreground));background:hsl(var(--background))}@media (min-width:640px){.foundations-overview{padding:28px}}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,140px),1fr));gap:12px}@media (min-width:640px){.swatches{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.sw{border:1px solid hsl(var(--border));border-radius:var(--radius-sm);overflow:hidden;background:hsl(var(--card));color:hsl(var(--card-foreground))}.sw .chip{height:54px}.sw .m{padding:8px 10px}.sw .m b{display:block;font-size:12px;font-weight:600}.sw .m span{font-family:var(--font-mono);font-size:10px;color:hsl(var(--muted-foreground))}.type-rows{flex-direction:column;gap:14px;background:hsl(var(--background))}.type-rows,.type-rows .tr{display:flex;color:hsl(var(--foreground))}.type-rows .tr{align-items:baseline;gap:18px;border-bottom:1px dashed hsl(var(--border));padding-bottom:14px;background:transparent}.type-rows .tr .lbl{font-family:var(--font-mono);font-size:11px;color:hsl(var(--muted-foreground));width:120px;flex:none}.type-rows .tr .sample{min-width:0;flex:1;color:hsl(var(--foreground))}.type-rows .tr .sample.mono{white-space:pre-wrap;word-break:break-all;overflow-x:auto;color:hsl(var(--foreground))}.type-specimen-story{box-sizing:border-box;width:100%;max-width:100%;min-height:100%;padding:24px;color:hsl(var(--foreground));background:hsl(var(--background))}html[data-mode=dark] .type-rows,html[data-mode=dark] .type-specimen-story,html[data-mode=dusk] .type-rows,html[data-mode=dusk] .type-specimen-story{color:#FFFFFF;-webkit-text-fill-color:#FFFFFF}html[data-mode=dark] .type-rows .tr,html[data-mode=dark] .type-rows .tr .sample,html[data-mode=dark] .type-rows .tr .sample.display,html[data-mode=dark] .type-rows .tr .sample.mono,html[data-mode=dusk] .type-rows .tr,html[data-mode=dusk] .type-rows .tr .sample,html[data-mode=dusk] .type-rows .tr .sample.display,html[data-mode=dusk] .type-rows .tr .sample.mono{color:#FFFFFF!important;-webkit-text-fill-color:#FFFFFF!important}html[data-mode=dark] .type-rows .tr .lbl,html[data-mode=dusk] .type-rows .tr .lbl{color:#E8E8E8!important;-webkit-text-fill-color:#E8E8E8!important}@media (max-width:639px){.type-rows .tr{flex-direction:column;align-items:flex-start;gap:8px}.type-rows .tr .lbl{width:auto}.type-specimen-story{padding:16px}}.spec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.spec{border:1px solid hsl(var(--border));border-radius:var(--radius);padding:18px;background:hsl(var(--card));color:hsl(var(--card-foreground))}.spec h5{margin:0 0 12px;font-family:var(--font-heading);font-size:16px}.spec .swatch-radius{height:56px;background:hsl(var(--primary)/.16);border:2px solid hsl(var(--primary));border-radius:var(--radius);margin-bottom:10px}.spec .swatch-tap{display:grid;place-items:center;min-height:var(--tap-min);min-width:var(--tap-min);width:var(--tap-min);background:hsl(var(--secondary));border-radius:var(--radius-sm)}.spec .meta,.spec .swatch-tap{font-family:var(--font-mono);font-size:11px;color:hsl(var(--muted-foreground))}.spec .meta{margin-top:8px}.player{width:100%;height:100%;container-type:size;align-items:center;justify-content:center;padding:clamp(12px,3vmin,24px);background:radial-gradient(circle at 50% 0,hsl(var(--primary)/.1),transparent 60%),hsl(var(--muted))}.frame,.player{position:relative;box-sizing:border-box;max-width:100%;min-height:0;min-width:0;display:flex;color:hsl(var(--foreground))}.frame{aspect-ratio:16/10;width:min(100%,calc(100cqh * 16 / 10));max-height:100%;height:auto;margin:0 auto;background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);overflow:hidden;flex-direction:column}@supports not (width:1cqh){.frame{width:min(100%,calc((100dvh - 48px) * 16 / 10));max-height:calc(100dvh - 48px)}}.pbottom,.ptop{display:flex;align-items:center;gap:14px;padding:16px 20px;min-width:0}.pbottom>*,.ptop>*{min-width:0}.pbottom .spacer{flex:1}.ptop-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.ptop-status{flex:none;margin-left:auto}.stage{flex:1;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:8px 40px;min-width:0;min-height:0}.stage-title{font-size:clamp(20px,6vw,28px);word-wrap:break-word;overflow-wrap:anywhere;line-height:1.2;max-width:100%}.stage-copy{display:grid;place-items:center;text-align:center;gap:8px;padding:24px;max-width:100%;min-width:0;box-sizing:border-box}@media (max-width:640px){.pbottom,.ptop{padding:10px 12px;gap:8px}.stage{padding:8px 16px}.beat{padding:12px 16px;gap:14px}.player{padding:12px}}.player-frame-story{box-sizing:border-box;width:100%;max-width:100%;min-height:100dvh;height:100dvh;margin:0;padding:0;display:flex;align-items:center;justify-content:center;overflow:hidden;color:hsl(var(--foreground));background:hsl(var(--background))}.player-frame-story>.player{flex:1 1 auto;width:100%;height:100%;min-height:0}.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;max-width:100%;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.crumbs .sep,.crumbs .unit{color:hsl(var(--muted-foreground));flex:none}.crumbs .lesson{flex:1}.crumbs .lesson,.crumbs>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}@media (max-width:560px){.crumbs .sep,.crumbs .unit{display:none}}.dots{display:flex;flex-wrap:wrap;gap:6px;max-width:100%;min-width:0}.dots .dt{width:24px;height:5px;border-radius:999px;background:hsl(var(--border)/.45);transition:background var(--transition);flex:none}.dots .dt.cur,.dots .dt.on{background:hsl(var(--primary))}.dots .dt.cur{box-shadow:0 0 0 3px hsl(var(--primary)/.25)}html[data-mode=dark] .dots .dt:not(.on):not(.cur),html[data-mode=dusk] .dots .dt:not(.on):not(.cur){background:hsl(var(--foreground)/.28)}.beat{position:relative;inset:0;flex-direction:column;gap:22px;padding:18px 40px;text-align:center;box-sizing:border-box}.beat,.beat .visual{display:flex;align-items:center;justify-content:center;max-width:100%;min-width:0}.beat .visual{min-height:0;overflow:hidden}.beat .visual .beat-scene{font-size:clamp(48px,18vw,96px);line-height:1;max-width:100%}.beat .say{font-family:var(--font-heading);font-weight:700;font-size:clamp(20px,2.6vw,30px);max-width:20ch;line-height:1.18;text-wrap:balance}.beat .say,.beat .sub{overflow-wrap:anywhere}.beat .sub{color:hsl(var(--muted-foreground));font-size:15px;max-width:42ch;margin-top:-8px}.blockchip{font-family:var(--font-heading);font-weight:700;font-size:clamp(16px,2vw,22px);padding:14px 20px;border-radius:var(--radius);background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:var(--shadow-md);display:inline-flex;gap:9px;align-items:center}.blockchip.sun{background:hsl(var(--sunshine));color:hsl(var(--sunshine-foreground))}.blockchip.acc{background:hsl(var(--accent-solid));color:hsl(var(--accent-solid-foreground))}.chip-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:100%}.code{font-family:var(--font-mono);font-size:clamp(14px,1.6vw,18px);text-align:left;background:hsl(var(--primary-950));color:#EDEEF2;padding:20px 24px;border-radius:var(--radius);box-shadow:var(--shadow-lg);white-space:pre-wrap;word-break:break-all;overflow-x:auto;max-width:min(90%,100%);box-sizing:border-box}.code .k{color:hsl(var(--sunshine))}.code .f{color:hsl(var(--primary-300))}.code .c{color:#7d8a99}.play{width:var(--tap-min,48px);height:var(--tap-min,48px);border-radius:999px;border:0;background:hsl(var(--primary));color:hsl(var(--primary-foreground));font-size:20px;cursor:pointer;display:grid;place-items:center;flex:none}.scrub{flex:1;display:flex;gap:5px;min-width:0;max-width:100%;align-items:center}.scrub .seg{flex:1;min-width:0;height:8px;border-radius:999px;background:hsl(var(--muted)/.35);overflow:hidden;cursor:pointer;border:1px solid hsl(var(--border)/.5)}.scrub .seg>i{display:block;height:100%;width:0;background:hsl(var(--primary))}.scrub .seg.done>i{width:100%}html[data-mode=dark] .scrub .seg,html[data-mode=dusk] .scrub .seg{background:hsl(var(--foreground)/.18);border-color:hsl(var(--foreground)/.28)}@media (max-width:560px){.scrub{pointer-events:none}.scrub .seg{cursor:default}}.referral-offer-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;width:100%;box-sizing:border-box;padding:16px 20px;margin-bottom:22px;border:1px solid hsl(var(--border));border-radius:var(--radius-lg);background:linear-gradient(135deg,hsl(var(--primary)/.12),hsl(var(--sunshine)/.12));color:hsl(var(--foreground))}.referral-offer-banner-text{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:4px}.referral-offer-banner-text h2{font-family:var(--font-heading);font-size:18px;font-weight:700;margin:0}.referral-offer-banner-text p{font-size:14px;margin:0}.referral-offer-banner .t-btn{flex:none}.referral-invite-tile h3{font-size:15px;margin:0 0 10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));font-weight:600}.referral-invite-tile p{font-size:13.5px;margin:0 0 12px}.referral-fallback summary{color:hsl(var(--primary));cursor:pointer;font-size:14px;font-weight:600;list-style:none;text-decoration:underline;width:-moz-fit-content;width:fit-content}.referral-fallback summary::-webkit-details-marker{display:none}.referral-fallback summary:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px;border-radius:4px}.referral-fallback-form{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px}.referral-fallback-form .code-in{flex:1 1 160px;min-width:0;max-width:100%}.referral-fallback-error{color:hsl(var(--destructive));font-size:13.5px;margin:10px 0 0}.referral-share-card{display:flex;flex-direction:column;gap:14px;min-width:0}.referral-share-label{font-size:13px;font-weight:700;margin:0}.referral-share-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:0}.referral-share-url{flex:1 1 220px;min-width:0;font-family:var(--font-mono);font-size:13px;padding:10px 12px;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted));overflow-wrap:anywhere}.referral-share-row .t-btn{flex:none}.referral-share-buttons{display:flex;flex-wrap:wrap;gap:8px}.referral-share-button{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:border-color var(--transition),background var(--transition)}.referral-share-button:hover{border-color:hsl(var(--ring));background:hsl(var(--muted))}.referral-share-button:focus-visible{outline:2px solid hsl(var(--ring));outline-offset:2px}.referral-share-code-line{font-size:13.5px;margin:0;overflow-wrap:anywhere}.referral-share-code-line b{font-family:var(--font-mono);color:hsl(var(--foreground));letter-spacing:.08em}.referral-invite-list h3{font-size:15px;margin:0 0 10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));font-weight:600}.referral-invite-list p{font-size:13.5px;margin:0}.referral-invite-list ul{list-style:none;margin:0;padding:0}.referral-invite-list li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:14px;min-width:0}.referral-invite-list li+li{border-top:1px solid hsl(var(--border))}.referral-invite-list li span{min-width:0;overflow-wrap:anywhere}.referral-invite-list li .t-pill{flex:none}.referral-how{display:flex;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0}.referral-how-step{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;gap:8px}.referral-how-number{width:30px;height:30px;border-radius:999px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));display:grid;place-items:center;font-family:var(--font-heading);font-weight:700;font-size:14px}.referral-how-step h3{font-size:16px;font-weight:700;margin:0}.referral-how-step p{font-size:14px;margin:0}.tl-landing{--font-display:"Baloo 2","Trebuchet MS",system-ui,sans-serif;--font-body:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;--green-50:#eff5f1;--green-100:#e0ece5;--green-200:#bcd6c7;--green-300:#8fbaa2;--green-400:#47906b;--green-500:var(--brand-green);--green-600:#0e5a37;--green-700:#0a4429;--sun-50:#fbf4e4;--sun-100:#f5e7c7;--sun-200:#e9d199;--sun-500:var(--brand-sun);--sun-700:#8f6202;--sun-800:#6b4901;--shell-0:#ffffff;--shell-50:#fcfbf7;--shell-100:#f5f3ec;--shell-200:#e9e5db;--shell-300:#d6d1c4;--ink-400:#9a9487;--ink-600:#6b665c;--ink-800:#3a3833;--ink-900:var(--brand-ink);--surface-page:var(--shell-50);--surface-card:var(--shell-0);--surface-sunk:var(--shell-100);--surface-brand:var(--green-500);--surface-brand-hover:#178953;--surface-brand-soft:var(--green-100);--surface-accent-soft:var(--sun-50);--surface-hero:var(--green-50);--ink-on-brand-soft:var(--green-600);--ink-on-accent-soft:var(--sun-800);--text-heading:var(--ink-900);--text-body:var(--ink-800);--text-muted:var(--ink-600);--text-faint:var(--ink-400);--text-on-brand:#ffffff;--text-brand:var(--green-500);--border-subtle:var(--shell-200);--border-strong:var(--shell-300);--border-brand:var(--green-300);--border-card-brand:color-mix(in oklab,var(--green-500) 22%,var(--surface-card));--shadow-color:44 20% 18%;--shadow-2:0 2px 6px hsl(var(--shadow-color)/0.07),0 1px 2px hsl(var(--shadow-color)/0.05);--shadow-3:0 6px 18px hsl(var(--shadow-color)/0.09),0 2px 4px hsl(var(--shadow-color)/0.05);--radius-lg:24px;--radius-md:16px;--ease-out:cubic-bezier(0.22,0.61,0.36,1);--dur-fast:160ms;--dur-base:240ms;--pebble-h:4px;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);line-height:1.55;min-height:100vh;overflow-x:clip;scrollbar-width:thin}.tl-landing::-webkit-scrollbar{width:6px;height:6px}.tl-landing::-webkit-scrollbar-track{background:transparent}.tl-landing::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}html[data-mode=dark] .tl-landing,html[data-mode=dusk] .tl-landing{--surface-page:#17160f;--surface-card:#21201a;--surface-sunk:#2a2820;--surface-brand-soft:#10291c;--surface-accent-soft:#2c2109;--surface-hero:#14251c;--ink-on-brand-soft:var(--green-200);--ink-on-accent-soft:var(--sun-200);--text-heading:var(--brand-ink-inverse);--text-body:#e7e3d7;--text-muted:#aca69a;--text-faint:#837d70;--text-brand:var(--green-300);--border-subtle:#35322a;--border-strong:#4a463c;--border-brand:var(--green-600);--border-card-brand:#1d4a33;--shadow-color:45 30% 3%;--shadow-2:0 2px 8px hsl(var(--shadow-color)/0.55),0 1px 2px hsl(var(--shadow-color)/0.4);--shadow-3:0 8px 22px hsl(var(--shadow-color)/0.6),0 2px 6px hsl(var(--shadow-color)/0.45)}.tl-landing .t-card{background:var(--surface-card);color:var(--text-body);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-2)}.tl-landing .t-btn{border-radius:999px;border:2px solid transparent;font-family:var(--font-body);font-weight:700;gap:8px}.tl-landing .t-btn.sm{min-height:40px;padding:0 16px;font-size:14px}.tl-landing .t-btn.lg{min-height:54px;padding:0 28px;font-size:18px}.tl-landing .t-btn--primary{background:var(--surface-brand);color:var(--text-on-brand);box-shadow:inset 0 calc(-1 * var(--pebble-h)) 0 var(--green-700)}.tl-landing .t-btn--primary:hover{background:var(--surface-brand-hover);filter:none}.tl-landing .t-btn--primary:active{box-shadow:inset 0 -1px 0 var(--green-700)}.tl-landing .t-btn--ghost{background:transparent;color:var(--text-brand);border-color:transparent}.tl-landing .t-btn--ghost:hover{background:var(--surface-brand-soft);color:var(--ink-on-brand-soft);border-color:transparent}.tl-landing .t-btn.mk-btn-outline,.tl-landing .t-btn.mk-btn-outline:hover{color:var(--text-heading);border-color:var(--border-strong)}.tl-landing .t-btn.mk-btn-outline:hover,.tl-landing .t-seg{background:var(--surface-sunk)}.tl-landing .t-seg{border-color:transparent;gap:4px;padding:4px}.tl-landing .t-seg button{font-family:var(--font-body);font-size:14px;font-weight:700;padding:10px 24px;color:var(--text-muted)}.tl-landing .t-seg button[aria-checked=true]{background:var(--surface-card);color:var(--text-heading);box-shadow:var(--shadow-2)}.tl-landing .lumi{--lumi-shell:var(--green-500);--lumi-soft:#8fb39c;--lumi-accent:var(--sun-500)}.tl-landing .mk-wrap{max-width:1160px;margin:0 auto}.tl-landing .mk-stack{display:flex;flex-direction:column;gap:36px}.tl-landing .mk-sec{padding:80px 24px;scroll-margin-top:76px}.tl-landing .mk-sec.sunk{background:var(--surface-sunk)}.tl-landing .mk-sec.tight{padding:16px 24px 88px}.tl-landing h1,.tl-landing h2{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;color:var(--text-heading);margin:0;text-wrap:pretty}.tl-landing h1{font-size:clamp(30px,5.2vw,60px);line-height:1.04}.tl-landing h2{font-size:clamp(25px,3.6vw,42px);line-height:1.1;letter-spacing:-.01em}.tl-landing p{margin:0;text-wrap:pretty}.tl-landing .mk-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-brand)}.tl-landing .mk-eyebrow.soft{font-size:11.5px;letter-spacing:.12em;color:var(--ink-on-brand-soft)}.tl-landing .mk-label{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.tl-landing .mk-note{font-size:13.5px;line-height:1.5;color:var(--text-muted)}.tl-landing .mk-note.centered{text-align:center}.tl-landing .mk-sec-head{display:flex;flex-direction:column;gap:10px;max-width:60ch}.tl-landing .mk-sec-head.tight{gap:6px}.tl-landing .mk-sec-head.centered{text-align:center;max-width:56ch;align-items:center}.tl-landing .mk-sec-head>p{font-size:17px;line-height:1.55;color:var(--text-muted)}.tl-landing .mk-sec-head>strong{font-family:var(--font-display);font-size:24px;line-height:1.15;color:var(--text-heading)}.tl-landing .mk-cta-row{display:flex;gap:12px;flex-wrap:wrap}.tl-landing .mk-chip{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--surface-brand-soft);color:var(--ink-on-brand-soft)}.tl-landing .mk-chip.accent{background:var(--surface-accent-soft);color:var(--ink-on-accent-soft)}.tl-landing .mk-num{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-mono);font-size:14px;background:var(--surface-brand-soft);color:var(--ink-on-brand-soft)}.tl-landing .mk-bar{position:sticky;top:0;z-index:5;background:var(--surface-card);border-bottom:1px solid var(--border-subtle)}.tl-landing .mk-bar-in{max-width:1160px;margin:0 auto;padding:12px 24px;display:flex;align-items:center;gap:20px}.tl-landing .mk-bar-logo{flex:1 1 0;min-width:0;display:flex}.tl-landing .mk-nav{display:flex;gap:4px;flex:none;justify-content:center;font-size:14.5px;font-weight:700}.tl-landing .mk-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;color:var(--text-heading);text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.tl-landing .mk-nav a:hover{background:var(--surface-brand-soft);color:var(--ink-on-brand-soft)}.tl-landing .mk-bar-cta{flex:1 1 0;min-width:0;display:flex;gap:10px;align-items:center;justify-content:flex-end}.tl-landing .mk-navstrip{display:none;border-top:1px solid var(--border-subtle);background:var(--surface-card)}.tl-landing .mk-navstrip nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 16px;font-size:14px;font-weight:700;align-items:center}.tl-landing .mk-navstrip nav::-webkit-scrollbar{display:none}.tl-landing .mk-navstrip a,.tl-landing .mk-navstrip button{flex:none;white-space:nowrap;min-height:44px;padding:0 16px;border-radius:999px;display:inline-flex;align-items:center;font-family:var(--font-body);font-size:14px;font-weight:700;text-decoration:none;cursor:pointer}.tl-landing .mk-navstrip .strip-primary{border:1px solid var(--surface-brand);background:var(--surface-brand);color:var(--text-on-brand)}.tl-landing .mk-navstrip .strip-secondary{border:1px solid var(--border-brand);background:var(--surface-card);color:var(--text-brand)}.tl-landing .mk-navstrip a{border:1px solid var(--border-subtle);background:var(--surface-sunk);color:var(--text-heading)}.tl-landing .mk-navstrip a:hover{background:var(--surface-brand-soft);color:var(--ink-on-brand-soft);border-color:var(--border-brand)}.tl-landing .mk-navstrip .strip-rule{flex:none;width:1px;height:26px;background:var(--border-subtle);margin:0 4px}@media (max-width:860px){.tl-landing .mk-bar-cta,.tl-landing .mk-nav{display:none}.tl-landing .mk-navstrip{display:block}.tl-landing .mk-sec{scroll-margin-top:132px}}.tl-landing .mk-hero{padding:72px 24px 80px;background:var(--surface-hero)}.tl-landing .mk-hero-grid{display:grid;gap:44px;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));align-items:center}.tl-landing .mk-hero-grid>*{min-width:0}.tl-landing .mk-hero-copy{display:flex;flex-direction:column;gap:20px}.tl-landing .mk-hero-copy .lede{font-size:18.5px;line-height:1.55;color:var(--text-body);max-width:52ch}.tl-landing .mk-trust{display:flex;gap:18px;flex-wrap:wrap;font-size:14px;color:var(--text-muted)}.tl-landing .mk-trust span{display:flex;align-items:center;gap:7px}.tl-landing .mk-hero-media{display:flex;flex-direction:column;justify-self:center;width:100%;max-width:420px}.tl-landing .mk-hero-media .lumi{width:100%!important}.tl-landing .mk-hero-media .caption{margin-top:14px;text-align:center;font-size:14.5px;color:var(--text-muted)}.tl-landing .mk-subjects{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr))}.tl-landing .mk-subject{display:flex;flex-direction:column;gap:12px;padding:22px}.tl-landing .mk-subject strong{font-family:var(--font-display);font-size:20px;line-height:1.15;color:var(--text-heading)}.tl-landing .mk-subject>span:last-child{font-size:14.5px;line-height:1.55;color:var(--text-muted)}.tl-landing .mk-included{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));list-style:none;margin:0;padding:0}.tl-landing .mk-included li{display:flex;gap:11px;align-items:flex-start;font-size:15.5px;line-height:1.5;color:var(--text-body)}.tl-landing .mk-included li>svg{flex:none;margin-top:2px;color:var(--text-brand)}.tl-landing .mk-split{display:grid;gap:44px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));align-items:center}.tl-landing .mk-split>*{min-width:0}.tl-landing .mk-split-media{order:2;display:flex;justify-content:center}.tl-landing .mk-split-media .lumi{width:100%!important;max-width:380px}.tl-landing .mk-split-copy{display:flex;flex-direction:column;gap:18px}.tl-landing .mk-split-copy>p{font-size:17px;line-height:1.55;color:var(--text-body);max-width:50ch}.tl-landing .mk-points{display:flex;flex-direction:column;gap:16px}.tl-landing .mk-point{display:flex;gap:14px;align-items:flex-start}.tl-landing .mk-point-body{display:flex;flex-direction:column;gap:4px;min-width:0}.tl-landing .mk-point-body strong{font-size:16.5px;color:var(--text-heading)}.tl-landing .mk-point-body>span{font-size:15px;line-height:1.55;color:var(--text-muted)}.tl-landing .mk-beats{display:flex;flex-direction:column;gap:22px;padding:28px;background:var(--surface-sunk);border-color:transparent;box-shadow:none}.tl-landing .mk-beat-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.tl-landing .mk-beat{display:flex;flex-direction:column;gap:8px}.tl-landing .mk-beat strong{font-size:16px;color:var(--text-heading)}.tl-landing .mk-beat>span:last-child{font-size:14.5px;line-height:1.55;color:var(--text-muted)}.tl-landing .mk-how-head{display:flex;gap:28px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap}.tl-landing .mk-how-head .mk-sec-head{flex:1;min-width:0}.tl-landing .mk-how-cta{flex:none}.tl-landing .mk-how-cta-mobile{display:none}.tl-landing .mk-steps{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr))}.tl-landing .mk-step{display:flex;flex-direction:column;gap:10px;padding:24px}.tl-landing .mk-step strong{font-family:var(--font-display);font-size:21px;line-height:1.15;color:var(--text-heading)}.tl-landing .mk-step>span:last-child{font-size:15px;line-height:1.55;color:var(--text-muted)}@media (max-width:720px){.tl-landing .mk-how-cta{display:none}.tl-landing .mk-how-cta-mobile{display:block}}.tl-landing .mk-field{display:flex;flex-direction:column;gap:12px;min-width:0}.tl-landing .mk-goals{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}.tl-landing .mk-goal{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;text-align:left;display:flex;flex-direction:column;gap:10px;padding:20px;border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-heading);box-shadow:var(--shadow-2);font-family:var(--font-body);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.tl-landing .mk-goal[data-selected]{border-color:var(--border-brand);background:var(--surface-brand-soft);color:var(--ink-on-brand-soft);box-shadow:none}.tl-landing .mk-goal .head{display:flex;align-items:center;gap:10px}.tl-landing .mk-goal .head strong{font-family:var(--font-display);font-size:19px;line-height:1.15}.tl-landing .mk-goal .mk-chip{width:34px;height:34px;border-radius:10px}.tl-landing .mk-goal[data-selected] .mk-chip{background:var(--surface-card)}.tl-landing .mk-goal .blurb{font-size:14.5px;line-height:1.5;color:var(--text-muted)}.tl-landing .mk-strands{display:flex;flex-direction:column;gap:10px}.tl-landing .mk-strand{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;padding:0 16px;border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--surface-card);color:var(--text-heading);font-family:var(--font-body);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.tl-landing .mk-strand[data-selected]{border-color:var(--border-brand);background:var(--surface-brand-soft);color:var(--ink-on-brand-soft)}.tl-landing .mk-strand .head{display:flex;align-items:center;gap:10px;min-width:0}.tl-landing .mk-strand .head strong{font-size:16px}.tl-landing .mk-strand .tag{flex:none;font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.tl-landing .mk-strand[data-selected] .tag{color:var(--ink-on-brand-soft)}.tl-landing .mk-aim-grid{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));align-items:start}.tl-landing .mk-outcome{display:flex;flex-direction:column;gap:16px;padding:26px;background:var(--surface-brand-soft);border-color:var(--border-card-brand)}.tl-landing .mk-outcome .title{font-family:var(--font-display);font-size:25px;line-height:1.15;color:var(--text-heading)}.tl-landing .mk-outcome p{font-size:15.5px;line-height:1.55;color:var(--text-body)}.tl-landing .mk-outcome .mk-note{color:var(--text-body)}.tl-landing .mk-features{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}.tl-landing .mk-features .mk-point-body strong{font-size:17px}.tl-landing .mk-pricing{display:flex;flex-direction:column;gap:28px;align-items:center}.tl-landing .mk-plans{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));width:100%;max-width:800px;align-items:start}.tl-landing .mk-plan{display:flex;flex-direction:column;gap:18px;padding:28px;width:100%;max-width:460px;background:var(--surface-brand-soft);border-color:var(--border-card-brand)}.tl-landing .mk-plan .price{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.tl-landing .mk-plan .price strong{font-family:var(--font-display);font-size:46px;line-height:1;color:var(--text-heading)}.tl-landing .mk-plan .price span{font-size:16px;color:var(--text-body)}.tl-landing .mk-plan .mk-note{color:var(--text-body)}.tl-landing .mk-plan ul{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}.tl-landing .mk-outcome li,.tl-landing .mk-plan li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--text-body)}.tl-landing .mk-outcome li>svg,.tl-landing .mk-plan li>svg{flex:none;margin-top:3px}.tl-landing .mk-outcome ul{display:flex;flex-direction:column;gap:9px;list-style:none;margin:0;padding:0}.tl-landing .mk-closing{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));align-items:center;padding:36px;background:var(--surface-brand-soft);border-color:var(--border-card-brand)}.tl-landing .mk-closing>*{min-width:0}.tl-landing .mk-closing .copy{display:flex;flex-direction:column;gap:14px}.tl-landing .mk-closing h2{font-size:clamp(24px,3.2vw,38px)}.tl-landing .mk-closing p{font-size:17px;line-height:1.55;color:var(--text-body)}.tl-landing .mk-closing .media{display:flex;justify-content:center}.tl-landing .mk-closing .media .lumi{width:100%!important;max-width:270px}.tl-landing .mk-footer{background:var(--surface-card);border-top:1px solid var(--border-subtle);padding:44px 24px 34px}.tl-landing .mk-footer-in{display:flex;flex-direction:column;gap:24px}.tl-landing .mk-footer-row{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;justify-content:space-between}.tl-landing .mk-footer-row nav{display:flex;flex-wrap:wrap;gap:18px;font-size:14px}.tl-landing .mk-footer-row nav a{color:var(--text-muted);font-weight:400;text-decoration:none}.tl-landing .mk-footer-row nav a:hover{color:var(--text-brand);text-decoration:underline}.tl-landing .mk-footer-rule{height:1px;background:var(--border-subtle)}.tl-landing .mk-footer-legal{display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.6;color:var(--text-muted)}.tl-landing .mk-footer-legal a{color:var(--text-link,var(--text-brand))}@media (max-width:640px){.tl-landing .mk-sec{padding:56px 20px}.tl-landing .mk-hero{padding:48px 20px 56px}.tl-landing .mk-sec.tight{padding:12px 20px 64px}.tl-landing .mk-stack{gap:28px}.tl-landing .mk-cta-row{flex-direction:column}.tl-landing .mk-cta-row .t-btn{width:100%}.tl-landing .mk-beats,.tl-landing .mk-closing,.tl-landing .mk-outcome,.tl-landing .mk-plan{padding:22px}.tl-landing .mk-footer{padding:32px 20px 28px}}.mk-auth-page{box-sizing:border-box;min-height:100vh;width:100%;max-width:100%;display:grid;place-items:center;padding:24px;color:hsl(var(--foreground));background:radial-gradient(circle at 50% -10%,hsl(var(--primary)/.08),transparent 55%),hsl(var(--background));overflow-x:clip}.mk-auth{width:100%;max-width:420px;min-width:0;box-sizing:border-box}.mk-auth-logo{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:8px;text-align:center}.mk-auth h1{font-size:27px;text-align:center;margin:6px 0 4px;color:hsl(var(--foreground))}.mk-auth .sub{text-align:center;color:hsl(var(--muted-foreground));margin:0 0 24px;font-size:15px}.mk-oauth{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;min-width:0;max-width:100%}.mk-oauth .t-btn{max-width:100%;box-sizing:border-box;white-space:normal;text-align:center;overflow-wrap:anywhere}@media (max-width:360px){.mk-auth-page{padding:16px 12px}.mk-oauth .t-btn{font-size:13px;padding:0 12px;min-height:44px}}.mk-divider{display:flex;align-items:center;gap:12px;color:hsl(var(--foreground)/.6);font-size:13px;margin:4px 0 16px}.mk-divider:after,.mk-divider:before{content:"";flex:1;height:1px;background:hsl(var(--border))}html[data-mode=dark] .parent-signin-story .mk-divider,html[data-mode=dusk] .parent-signin-story .mk-divider{color:hsl(var(--foreground)/.72)}html[data-mode=dark] .parent-signin-story .mk-divider:after,html[data-mode=dark] .parent-signin-story .mk-divider:before,html[data-mode=dusk] .parent-signin-story .mk-divider:after,html[data-mode=dusk] .parent-signin-story .mk-divider:before{background:hsl(var(--foreground)/.22)}.mk-pass-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;min-width:0}.mk-forgot{font-size:13px;font-weight:600;color:hsl(var(--accent-text,var(--primary)));text-decoration:none;background:none;border:none;cursor:pointer;padding:0;flex:none}.mk-error{color:hsl(var(--destructive,0 72% 51%));font-size:13.5px;margin:0 0 12px;text-align:center;overflow-wrap:anywhere}.mk-foot{text-align:center;margin-top:20px;font-size:14px;color:hsl(var(--muted-foreground))}.mk-foot button{font-weight:700;color:hsl(var(--primary));text-decoration:none;background:none;border:none;cursor:pointer;padding:0;font:inherit}html[data-mode=dark] .parent-signin-story .mk-foot button,html[data-mode=dusk] .parent-signin-story .mk-foot button{color:hsl(var(--primary));text-decoration:underline;text-underline-offset:2px}.parent-signin-story{box-sizing:border-box;width:100%;max-width:100%;min-height:100%}.mk-kidlink{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;font-size:13.5px;color:hsl(var(--muted-foreground));text-decoration:none;background:none;border:none;cursor:pointer;width:100%}.dash,.mk-kidlink:hover{color:hsl(var(--foreground))}.dash{max-width:1080px;margin:0 auto;padding:30px 28px 70px;min-width:0;box-sizing:border-box}.dash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}.dash-head h1{font-size:30px;color:hsl(var(--foreground))}.dash-head .sub{color:hsl(var(--muted-foreground));margin-top:4px}.dash .grid{display:grid;grid-template-columns:1.6fr .9fr;gap:24px;align-items:start;min-width:0}@media (max-width:960px){.dash .grid{grid-template-columns:1fr}}.parent-dashboard-story{box-sizing:border-box;width:100%;max-width:100%;min-height:100%;min-width:0;overflow-x:clip;color:hsl(var(--foreground));background:hsl(var(--background));scrollbar-width:thin;scrollbar-color:hsl(var(--border)/.85) transparent}html:has(.parent-dashboard-story),html:has(.parent-dashboard-story) body{overflow-x:clip;scrollbar-gutter:stable;scrollbar-width:thin}.parent-dashboard-story .t-bar{box-sizing:border-box;width:100%;max-width:100%;padding-inline-end:8px}.parent-dashboard-story .t-bar-in{width:100%;max-width:100%;box-sizing:border-box;padding-inline-end:16px;min-width:0}.parent-dashboard-story .t-bar .t-btn,.parent-dashboard-story .t-bar button.t-btn{flex:none;position:relative;z-index:1}@media (max-width:720px){.parent-dashboard-story .mk-nav{display:none}}@media (max-width:560px){.parent-dashboard-story .t-bar{padding-inline-end:10px}.parent-dashboard-story .t-bar-in{gap:8px;padding-inline-start:12px;padding-inline-end:12px}.parent-dashboard-story .t-bar .t-btn.sm,.parent-dashboard-story .t-bar button.t-btn{min-height:34px;padding:0 10px;font-size:12.5px}}@media (max-width:640px){.dash{padding:20px 16px 56px}.dash-head h1{font-size:clamp(22px,6vw,30px)}.dash-head{align-items:stretch}.dash-head .t-btn{width:100%}}.dash .kids{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px;min-width:0;align-items:stretch}.dash .kid-card{overflow:hidden;display:flex;flex-direction:column;padding:0;min-width:0;max-width:100%;height:100%;box-sizing:border-box;border:1px solid hsl(var(--border));box-shadow:var(--shadow-md);transition:box-shadow var(--transition),border-color var(--transition),transform var(--transition)}.dash .kid-card:hover{border-color:hsl(var(--ring)/.55);box-shadow:var(--shadow-lg)}.dash .kid-card .kid-top{min-width:0;gap:12px;padding:16px 16px 14px}.dash .kid-card .kid-id{min-width:0;flex:1 1 auto;display:flex;flex-direction:column;gap:2px}.dash .kid-card .kid-top .nm{font-size:clamp(17px,2.4vw,21px);line-height:1.15}.dash .kid-card .kid-top .bd,.dash .kid-card .kid-top .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash .kid-card .kid-body{min-width:0;padding:14px 16px 16px;gap:12px}.dash .kid-progress-block{min-width:0;width:100%}.dash .kid-card .kid-progress{display:block;margin-top:8px;width:100%;min-width:0;box-sizing:border-box}.dash .kid-card .kid-stat{gap:10px;min-width:0;align-items:flex-start}.dash .kid-card .kid-stat .lab{flex:none;padding-top:1px}.dash .kid-card .kid-stat .val,.dash .kid-card .kid-stat-val{min-width:0;text-align:right;overflow-wrap:anywhere;word-break:break-word;line-height:1.3}.dash .kid-card .streak{display:inline-flex;align-items:center;gap:5px;flex:none;white-space:nowrap;font-weight:700;color:hsl(var(--sunshine-foreground))}html[data-mode=dark] .dash .kid-card .streak,html[data-mode=dusk] .dash .kid-card .streak{color:hsl(var(--sunshine))}.dash .kid-open-short{display:none}.dash .kid-seat-btn{margin-top:auto}.dash .kid-seat-btn+.kid-open-btn{margin-top:6px}.dash .kid-open-btn{margin-top:auto}@media (max-width:380px){.dash .kid-open-full{display:none}.dash .kid-open-short{display:inline}}.dash .add-kid{border:2px dashed hsl(var(--border));border-radius:var(--radius-lg);display:grid;place-items:center;text-align:center;padding:24px 20px;color:hsl(var(--muted-foreground));text-decoration:none;min-height:100%;min-width:0;box-sizing:border-box;background:hsl(var(--card)/.35);font:inherit;cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition)}.dash .add-kid:hover{border-color:hsl(var(--ring));color:hsl(var(--foreground));background:hsl(var(--card)/.65)}.dash .add-kid:focus-visible{outline:3px solid hsl(var(--ring));outline-offset:2px}.dash .add-kid .plus{width:48px;height:48px;border-radius:999px;background:hsl(var(--muted));display:grid;place-items:center;font-size:26px;margin:0 auto 10px}.dash .side .t-card{margin-bottom:18px}.dash .side h3{font-size:15px;margin:0 0 14px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));font-weight:600}.dash .billrow{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:14px;margin-bottom:9px;min-width:0}.dash .billrow .v{font-weight:700;min-width:0;text-align:right;overflow-wrap:anywhere}.dash .billrow .muted{color:hsl(var(--muted-foreground))}.dash .billrow .streak{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:hsl(var(--sunshine-foreground))}.dash .sharecode{font-family:var(--font-mono);font-size:17px;font-weight:600;letter-spacing:.16em;padding:10px 14px;border:2px dashed hsl(var(--border));border-radius:var(--radius);background:hsl(var(--muted));text-align:center;margin-bottom:10px}.kid-home-story{position:relative;max-width:100%;min-height:100vh;overflow-x:clip;background:hsl(var(--background));color:hsl(var(--foreground));--tabbar-position:absolute}.kid,.kid-home-story{box-sizing:border-box;width:100%;min-width:0}.kid{flex:1;max-width:680px;margin:0 auto;padding:18px 22px 110px}.kid .kid-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:6px;min-width:0}.kid .exit{font-size:12.5px;color:hsl(var(--muted-foreground));text-decoration:none;display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;border:1px solid hsl(var(--border));background:none;font-family:inherit;cursor:pointer;flex:none}.kid .counts{display:flex;gap:8px;flex-wrap:wrap;min-width:0;justify-content:flex-end}.kid .count-chip{display:inline-flex;gap:6px;font-weight:700;font-size:14px;padding:6px 12px;border-radius:999px;background:hsl(var(--card));border:1px solid hsl(var(--border));color:inherit;height:auto;flex:none}.kid .count-chip,.kid .hello{align-items:center;min-width:0}.kid .hello{display:flex;gap:14px;margin:8px 0 22px}.kid .hello h1{font-size:clamp(28px,6vw,40px);line-height:1.04}.kid .hello .sub{color:hsl(var(--muted-foreground));font-size:15px;margin-top:4px}.kid .section-label{font-family:var(--font-heading);font-weight:700;font-size:18px;margin:0 0 12px}.kid .quests{display:flex;flex-direction:column;gap:14px}@media (max-width:480px){.kid{padding:14px 12px 110px}.kid .kid-top{gap:8px}.kid .count-chip{font-size:12.5px;padding:5px 9px;gap:4px}.kid .exit{padding:5px 8px;font-size:12px}.kid .hello{gap:10px}}.pg-back{background:none;border:0;padding:0;margin:0 0 14px;font:inherit;font-size:13.5px;color:hsl(var(--muted-foreground));cursor:pointer}.pg-back:hover{color:hsl(var(--foreground))}.pg-eyebrow{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));margin-bottom:6px}.pg-actions{display:flex;gap:10px;flex-wrap:wrap}.pg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;align-items:stretch}.pg-card{display:flex;flex-direction:column;gap:10px;padding:20px;min-width:0}.pg-card h3{margin:0;font-size:19px;font-family:var(--font-heading)}.pg-card .pg-desc{color:hsl(var(--muted-foreground));font-size:14px;margin:0;flex:1}.pg-card .pg-meta{font-size:13px;color:hsl(var(--muted-foreground))}.pg-card .pg-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}.pg-card.pg-browse{border-style:dashed;box-shadow:none}.pg-empty{border:2px dashed hsl(var(--border));border-radius:var(--radius-lg);padding:32px 20px;text-align:center;color:hsl(var(--muted-foreground))}.pg-empty h3{color:hsl(var(--foreground));margin:0 0 6px}.pg-two{display:grid;grid-template-columns:1.6fr .9fr;gap:24px;align-items:start}@media (max-width:960px){.pg-two{grid-template-columns:1fr}}.pg-stat{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:7px 0;border-bottom:1px solid hsl(var(--border)/.6)}.pg-stat:last-of-type{border-bottom:0}.pg-stat .lab{color:hsl(var(--muted-foreground))}.pg-stat .val{font-weight:700;text-align:right}.pg-note{font-size:13px;color:hsl(var(--muted-foreground));margin:12px 0 0}.pg-chips{display:flex;flex-wrap:wrap;gap:8px}.pg-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;border:1px solid hsl(var(--border));background:hsl(var(--card));font-size:13px;font-weight:600}.pg-chip.shared{border-color:hsl(var(--primary));background:hsl(var(--primary)/.12)}.pg-warn{border:1px solid hsl(var(--sunshine)/.6);background:hsl(var(--sunshine)/.14);border-radius:var(--radius);padding:12px 14px;font-size:14px}.pg-warn b{display:block;margin-bottom:4px}.pg-matrix{border-collapse:collapse;font-size:13.5px;width:100%}.pg-matrix td,.pg-matrix th{padding:6px 8px;border-bottom:1px solid hsl(var(--border)/.6);text-align:center}.pg-matrix td:first-child,.pg-matrix th:first-child{text-align:left;font-weight:600}.pg-section{margin-top:18px}.pg-section h4{margin:0 0 8px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em}.pg-legend,.pg-section h4{font-size:13px;color:hsl(var(--muted-foreground))}.pg-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:12px}.pg-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-1px;border:1px solid hsl(var(--border))}.pg-dag-wrap{overflow-x:auto;padding:6px}.pg-dag{position:relative}.pg-dag svg{position:absolute;inset:0;pointer-events:none}.pg-dag svg path{fill:none;stroke:hsl(var(--border));stroke-width:1.5}.pg-node{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 10px;border-radius:var(--radius);border:1.5px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font:inherit;font-size:13px;text-align:left;cursor:pointer}.pg-node .pg-node-title{font-weight:700;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-node .pg-node-state{font-size:11px;line-height:1.2;color:hsl(var(--muted-foreground))}.pg-legend i.known,.pg-node.known{background:hsl(var(--success)/.18);border-color:hsl(var(--success))}.pg-legend i.ready,.pg-node.ready{background:hsl(var(--primary)/.14);border-color:hsl(var(--primary))}.pg-legend i.later,.pg-node.later{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}.pg-node.selected{outline:3px solid hsl(var(--ring));outline-offset:1px}.pg-legend i.dot,.pg-node .pg-dot{position:absolute;top:-5px;right:-5px;width:11px;height:11px;border-radius:999px;background:hsl(var(--sunshine));border:2px solid hsl(var(--card))}.pg-legend i.dot{position:static;width:11px;height:11px}.pg-history{list-style:none;margin:0;padding:0;font-size:14px}.pg-history li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid hsl(var(--border)/.6)}.pg-goal-rows{display:flex;flex-direction:column;gap:8px}.pg-goal-row{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;min-width:0}.pg-goal-row .ttl{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pg-goal-row .src{display:block;font-size:12px;color:hsl(var(--muted-foreground));font-weight:400}.pg-goal-row .cnt{flex:none;font-weight:700}.dash.pg .act-two{align-items:start}.dash.pg .act-col{display:flex;flex-direction:column;gap:18px;min-width:0}.dash.pg .act-col h3{margin:0 0 12px;font-size:17px}.dash.pg .act-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.dash.pg .act-head .muted{font-size:12.5px}.dash.pg .heat{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,14px);grid-auto-columns:14px;gap:3px;overflow-x:auto;padding-bottom:2px}.dash.pg .heat i,.dash.pg .heat-legend i{display:block;width:14px;height:14px;border-radius:3px;background:hsl(var(--muted))}.dash.pg .heat-legend i{width:11px;height:11px;border-radius:2px;display:inline-block}.dash.pg .heat .l1,.dash.pg .heat-legend .l1{background:hsl(var(--primary-200))}.dash.pg .heat .l2,.dash.pg .heat-legend .l2{background:hsl(var(--primary-300))}.dash.pg .heat .l3,.dash.pg .heat-legend .l3{background:hsl(var(--primary-500))}.dash.pg .heat .l4,.dash.pg .heat-legend .l4{background:hsl(var(--primary-700))}.dash.pg .heat-legend{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:11px;color:hsl(var(--muted-foreground));margin-top:10px}.dash.pg .act-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.dash.pg .act-stats .c{padding:14px 16px;border-radius:var(--radius);background:hsl(var(--secondary))}.dash.pg .act-stats .v{font-family:var(--font-heading);font-weight:700;font-size:24px;line-height:1.1}.dash.pg .act-stats .k{font-size:12.5px;color:hsl(var(--muted-foreground));margin-top:3px}.dash.pg .act-badges{display:flex;flex-direction:column;gap:10px}.dash.pg .act-badge{display:flex;align-items:center;gap:12px}.dash.pg .act-badge.locked{opacity:.6}.dash.pg .act-badge .bic{width:40px;height:40px;border-radius:999px;display:grid;place-items:center;flex:none;background:hsl(var(--sunshine));color:hsl(var(--sunshine-foreground))}.dash.pg .act-badge.locked .bic{background:transparent;border:2px dashed hsl(var(--input));color:hsl(var(--muted-foreground))}.dash.pg .act-badge .body{display:flex;flex-direction:column;min-width:0}.dash.pg .act-badge .bt{font-weight:700}.dash.pg .act-badge .bd{font-size:12.5px;color:hsl(var(--muted-foreground))}.dash.pg .act-today{display:flex;flex-direction:column;gap:8px;font-size:14px}.dash.pg .act-today .row{display:flex;justify-content:space-between;gap:12px}.dash.pg .act-streak{display:flex;align-items:center;gap:14px}.dash.pg .act-streak .fl{width:48px;height:48px;border-radius:999px;background:hsl(var(--warning)/.14);color:hsl(var(--warning));display:grid;place-items:center;flex:none}.dash.pg .act-streak .n{display:block;font-family:var(--font-heading);font-weight:700;font-size:20px;line-height:1.1}.dash.pg .act-streak .l{display:block;font-size:12.5px;color:hsl(var(--muted-foreground))}