:root{--bg:#f5f5f7;--bg-elevated:#ffffffb8;--surface:#fff;--text:#1d1d1f;--muted:#6e6e73;--accent:#0071e3;--accent-press:#0077ed;--line:#00000014;--danger:#ff3b30;--ok:#34c759;--shadow:0 1px 2px #0000000a, 0 8px 24px #0000000f;--radius:18px;--radius-sm:12px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--topbar-h:3.25rem;--tabbar-h:72px;--font:"Satoshi", "Avenir Next", "Segoe UI", sans-serif;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;line-height:1.45}*{box-sizing:border-box}html{touch-action:manipulation}html,body,#root{min-height:100%}body{background:radial-gradient(1200px 600px at 10% -10%, #0071e314, transparent 55%), radial-gradient(900px 500px at 100% 0%, #34c75912, transparent 50%), linear-gradient(180deg, #fbfbfd 0%, var(--bg) 40%, #eef0f4 100%);background-attachment:fixed;margin:0}a{color:var(--accent);text-decoration:none}button,.btn{font:inherit}input,textarea,select,.form input,.form textarea,.form select,input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url]{font-size:16px!important}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.app-shell.has-tabs .main{padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 1.5rem)}.topbar{z-index:20;background:var(--bg-elevated);-webkit-backdrop-filter:saturate(180%)blur(20px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.25rem;display:flex;position:sticky;top:0}.impersonation-banner{z-index:25;color:#ad6800;background:#fff7e6;border-bottom:1px solid #ffd591;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 1.25rem;font-size:.92rem;display:flex;position:sticky;top:0}html[data-theme=dark] .impersonation-banner{color:#ffc069;background:#2b2111;border-bottom-color:#594214}.impersonation-banner .chip-btn{flex-shrink:0}.brand-link{color:inherit;align-items:center;text-decoration:none;display:inline-flex}.brand{letter-spacing:-.03em;color:var(--text);align-items:center;font-size:1.2rem;font-weight:900;display:inline-flex}.brand-logo{object-fit:contain;width:auto;max-width:140px;height:28px;display:block}.home-logo{object-fit:contain;width:auto;max-width:min(320px,80vw);height:clamp(56px,12vw,88px);animation:.7s cubic-bezier(.22,1,.36,1) both brand-in;display:block}html:not([data-theme=dark]) .brand-logo{filter:brightness(0)}.home-logo-metal{--home-logo-size:clamp(140px, 34vw, 240px);width:var(--home-logo-size);height:var(--home-logo-size);isolation:isolate;filter:drop-shadow(0 14px 28px #78460038)drop-shadow(0 4px 10px #0f172a1a);place-items:center;margin-inline:auto;display:grid;position:relative}.home-hero .home-logo-metal .home-logo{z-index:1;height:var(--home-logo-size);width:var(--home-logo-size);object-fit:contain;opacity:0;filter:none;max-width:none;animation:none;position:relative}.home-logo-shine{z-index:2;pointer-events:none;-webkit-mask-image:var(--home-logo-url);-webkit-mask-image:var(--home-logo-url);mask-image:var(--home-logo-url);background:linear-gradient(90deg,#6b4a08 0%,#a67c1a 8%,#f0c14b 16%,#fff1a8 22%,#d4a017 30%,#8a6410 38%,#c9a227 46%,#ffe9a0 52%,#fff 55%,#e6c04a 60%,#9a7214 70%,#f5d76e 80%,#b8891c 90%,#5c3f06 100%) 0%/340% 100%;animation:1.15s cubic-bezier(.33,.1,.2,1) .15s both home-logo-cylinder;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.home-logo-shine:after{content:"";-webkit-mask-image:var(--home-logo-url);-webkit-mask-image:var(--home-logo-url);mask-image:var(--home-logo-url);mix-blend-mode:soft-light;background:linear-gradient(90deg,#0000 0% 42%,#ffffff26 48%,#fffadcf2 50%,#ffffff26 52%,#0000 58% 100%) 100% 0/220% 100%;animation:1.15s cubic-bezier(.33,.1,.2,1) .15s both home-logo-specular;position:absolute;inset:0;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes home-logo-cylinder{0%{background-position:0%}to{background-position:100%}}@keyframes home-logo-specular{0%{background-position:120% 0}to{background-position:-20% 0}}.topbar-actions{align-items:center;gap:.5rem;display:flex}.chip-btn{appearance:none;color:var(--text);letter-spacing:.02em;cursor:pointer;background:#7878801f;border:0;border-radius:980px;justify-content:center;align-items:center;min-width:36px;height:36px;padding:0 .7rem;font-size:.78rem;font-weight:700;text-decoration:none;transition:background .16s,transform .16s;display:inline-flex}.chip-btn svg{width:18px;height:18px;display:block}.chip-btn:hover{background:#78788033}.chip-btn:active{transform:scale(.96)}.link-quiet{color:var(--accent);padding:.35rem .5rem;font-size:.95rem;font-weight:600}.main{flex:1;width:min(720px,100%);margin:0 auto;padding:1.25rem 1.25rem 2.5rem}.main.main-medal{width:100%;max-width:none;margin:0;padding:0}.main.main-auth{flex-direction:column;display:flex;overflow-y:auto}.page{animation:.42s cubic-bezier(.22,1,.36,1) both page-in}.page.narrow{width:min(400px,100%);margin:0 auto}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-title{letter-spacing:-.045em;margin:0 0 .35rem;font-size:clamp(1.8rem,4vw,2.35rem);font-weight:900;line-height:1.1}.page-sub{color:var(--muted);max-width:36ch;margin:0 0 1.5rem;font-size:1.02rem}.home-welcome{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:.35rem;display:flex}.home-welcome-text{white-space:pre-wrap;max-width:42ch;margin:0;line-height:1.45}.home-hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;min-height:calc(100dvh - 5.5rem);padding:1rem 0 2rem;display:flex}.home-hero:has(.home-install){justify-content:flex-start;padding-top:1.5rem;padding-bottom:2.5rem}.home-hero .brand-mark{letter-spacing:-.06em;background:linear-gradient(#1d1d1f 20%,#4a4a4f 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.8rem,9vw,4.5rem);font-weight:900;line-height:.95;animation:.7s cubic-bezier(.22,1,.36,1) both brand-in}.home-hero .lede{color:var(--muted);max-width:28ch;margin:0;font-size:1.15rem;animation:.7s cubic-bezier(.22,1,.36,1) 80ms both page-in}.home-hero .actions{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:.5rem;animation:.7s cubic-bezier(.22,1,.36,1) .14s both page-in;display:flex}.home-install{text-align:left;border-radius:var(--radius);background:#0071e314;border:1px solid #0071e329;width:min(100%,26rem);margin-top:.35rem;padding:1rem 1.1rem 1.05rem;animation:.7s cubic-bezier(.22,1,.36,1) .2s both page-in}.home-install-head{align-items:flex-start;gap:.75rem;display:flex}.home-install-icon{width:2.5rem;height:2.5rem;color:var(--accent);background:#0071e324;border-radius:12px;flex-shrink:0;place-items:center;display:grid}.home-install-icon svg{width:1.35rem;height:1.35rem}.home-install-title{letter-spacing:-.02em;margin:0;font-size:1rem;font-weight:700;line-height:1.25}.home-install-lead{color:var(--muted);margin:.2rem 0 0;font-size:.88rem;line-height:1.35}.home-install-steps{color:var(--text);gap:.4rem;margin:.75rem 0 0;padding:0 0 0 1.15rem;font-size:.9rem;line-height:1.4;display:grid}.home-install-steps li::marker{color:var(--accent);font-weight:700}.home-install-note{color:var(--muted);margin:.75rem 0 0;font-size:.82rem;line-height:1.4}.home-hero .home-logo-metal{margin-inline:auto}html[data-theme=dark] .home-logo-metal{filter:drop-shadow(0 18px 40px #0000008c)drop-shadow(0 0 24px #f0c14b38)}@keyframes brand-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.btn,button.primary,form.form>button[type=submit]{background:var(--accent);color:#fff;letter-spacing:-.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:1px solid #0000;border-radius:980px;justify-content:center;align-items:center;min-height:48px;padding:.8rem 1.25rem;font-weight:700;transition:transform .14s,background .14s,border-color .14s,box-shadow .14s,opacity .14s;display:inline-flex;box-shadow:0 4px 14px #0071e32e}@media (hover:hover){.btn:hover,button.primary:hover,form.form>button[type=submit]:hover{border-color:color-mix(in srgb, var(--accent) 55%, #000)}.btn.secondary:hover,button.secondary:hover{border-color:var(--accent)}.btn.ghost:hover{border-color:color-mix(in srgb, var(--text) 35%, transparent);background:#7878802e}}.btn:active,button.primary:active,form.form>button[type=submit]:active{background:var(--accent-press);transform:scale(.94);box-shadow:0 1px 4px #0071e333}.btn.secondary,button.secondary{color:var(--accent);background:#0071e31f;box-shadow:0 2px 10px #0071e314}.btn.secondary:active,button.secondary:active{background:#0071e347;box-shadow:0 1px 4px #0071e31f}.btn.ghost{color:var(--text);box-shadow:none;background:#7878801f}.btn.ghost:active{box-shadow:none;background:#78788038}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}html[data-theme=dark] .btn,html[data-theme=dark] button.primary,html[data-theme=dark] form.form>button[type=submit]{box-shadow:0 4px 16px #00000059}html[data-theme=dark] .btn.secondary,html[data-theme=dark] button.secondary{box-shadow:0 2px 10px #00000047}@media (hover:hover){html[data-theme=dark] .btn:hover,html[data-theme=dark] button.primary:hover,html[data-theme=dark] form.form>button[type=submit]:hover{border-color:color-mix(in srgb, var(--accent) 35%, #fff)}html[data-theme=dark] .btn.secondary:hover,html[data-theme=dark] button.secondary:hover{border-color:#6eb6ff}html[data-theme=dark] .btn.ghost:hover{border-color:#ffffff59}}.auth-card{margin-top:1.5rem}.main-auth .auth-card{width:100%;margin-top:auto;margin-bottom:auto}.form{gap:.9rem;display:grid}.form label{color:var(--muted);gap:.4rem;font-size:.85rem;font-weight:600;display:grid}.form input,.form textarea,.form select{border-radius:var(--radius-sm);width:100%;min-height:48px;color:var(--text);background:#7878801a;border:1px solid #0000;padding:.8rem .95rem;transition:background .16s,box-shadow .16s}.form input:focus,.form textarea:focus,.form select:focus{background:var(--surface);outline:none;box-shadow:0 0 0 4px #0071e32e}.password-field{display:grid;position:relative}.password-field input{padding-right:3rem}.password-toggle{width:40px;height:40px;min-height:0;color:var(--muted);box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;margin:0;padding:0;display:grid;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.password-toggle:hover{color:var(--text);background:#0000000a;transform:translateY(-50%)}.password-toggle:active{transform:translateY(-50%)scale(.96)}html[data-theme=dark] .password-toggle:hover{background:#ffffff14}.auth-footer{text-align:center;flex-direction:column;align-items:center;gap:1.15rem;margin-top:1.75rem;display:flex}.auth-footer-subtle{letter-spacing:-.02em;color:var(--accent);border-radius:8px;padding:.35rem .5rem;font-size:1.05rem;font-weight:650;text-decoration:none;transition:opacity .14s,background .14s}@media (hover:hover){.auth-footer-subtle:hover{background:#0071e314}}.auth-footer-subtle:active{opacity:.7}.auth-footer-switch{border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:.75rem;width:100%;padding-top:1.15rem;display:flex}.auth-footer-switch.is-solo{border-top:none;padding-top:0}.auth-footer-prompt{letter-spacing:-.02em;color:var(--muted);margin:0;font-size:1.08rem;font-weight:550;line-height:1.35}.auth-footer-cta{width:100%;text-decoration:none}.auth-links{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:.75rem;margin-top:1.75rem;font-size:1.05rem;display:flex}.radio{border-radius:var(--radius-sm);min-height:44px;color:var(--text);background:#78788014;align-items:center;gap:.65rem;padding:.55rem .75rem;font-weight:500;display:flex!important}.check{letter-spacing:-.01em;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.7rem;min-height:44px;padding:.2rem .1rem;color:var(--text)!important;font-size:.95rem!important;font-weight:550!important;display:flex!important}.check input{accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0;width:1.15rem!important;height:1.15rem!important;min-height:0!important}.radio input{width:auto;min-height:auto;accent-color:var(--accent)}.field-hint{color:var(--muted);font-size:.78rem;font-weight:500}.error{color:var(--danger);margin:0;font-weight:600}.success{color:var(--ok);margin:0;font-weight:600}.group{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);margin:0 0 1.25rem;overflow:hidden}.group-title{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);align-items:center;gap:.4rem;margin:0 0 .55rem .15rem;font-size:.8rem;font-weight:700;display:flex}.group-title svg{flex-shrink:0;width:1.05em;height:1.05em}.row{border:0;border-bottom:1px solid var(--line);width:100%;min-height:54px;color:inherit;text-align:left;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;transition:background .14s;display:flex}.row:last-child{border-bottom:0}.row:hover:not(:disabled){background:#00000005}.row:disabled{opacity:.45;cursor:not-allowed}.row.active{background:#0071e30f}.row-main{gap:.15rem;display:grid}.row-main strong{letter-spacing:-.02em;font-weight:700}.row-main span,.row-meta{color:var(--muted);font-size:.88rem}.chevron{color:#c7c7cc;font-size:1.2rem;line-height:1}.sectors-page{overflow:hidden}.sector-stage{will-change:transform;width:200%;transition:transform .42s cubic-bezier(.22,1,.36,1);display:flex}.sector-stage.is-setup{transform:translate(-50%)}.sector-panel{box-sizing:border-box;flex:0 0 50%;width:50%;padding-right:.15rem}.sector-panel-setup{padding-left:.15rem}.setup-back{width:fit-content;min-height:0;color:var(--accent);box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.15rem;margin:0 0 .75rem;padding:.35rem .55rem;font-size:.95rem;font-weight:650;display:inline-flex}.setup-back:hover{background:#0071e314;transform:none}.setup-back:active{transform:scale(.97)}.sector-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:.35rem 0 1.25rem;display:grid}.sector-tile{min-height:140px;color:var(--text);cursor:pointer;-webkit-backdrop-filter:blur(10px);background:#ffffff8c;border:1px solid #0000000a;border-radius:22px;align-content:center;justify-items:center;gap:.55rem;padding:1.25rem .8rem 1.05rem;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s;display:grid}.sector-tile:hover:not(:disabled){background:#ffffffd9;border-color:#0071e32e;transform:translateY(-2px);box-shadow:0 10px 28px #0f234614}.sector-tile:active:not(:disabled){transform:scale(.985)}.sector-tile.sector-pool{--sector:#0071e3;--sector-rgb:0, 113, 227}.sector-tile.sector-fitness{--sector:#ff3b30;--sector-rgb:255, 59, 48}.sector-tile.sector-spa{--sector:#af52de;--sector-rgb:175, 82, 222}.sector-tile.sector-functional{--sector:#34c759;--sector-rgb:52, 199, 89}.sector-tile.sector-yoga{--sector:#ff2d55;--sector-rgb:255, 45, 85}.sector-tile.is-joined{background:linear-gradient(165deg, rgba(var(--sector-rgb), .22), rgba(var(--sector-rgb), .1));border-color:rgba(var(--sector-rgb), .48);box-shadow:0 0 0 4px rgba(var(--sector-rgb), .12);color:var(--sector)}.sector-tile.is-joined:hover:not(:disabled){background:linear-gradient(165deg, rgba(var(--sector-rgb), .28), rgba(var(--sector-rgb), .14));border-color:rgba(var(--sector-rgb), .55);box-shadow:0 10px 28px rgba(var(--sector-rgb), .16)}.sector-tile.is-joined .sector-tile-icon{background:rgba(var(--sector-rgb), .22);color:var(--sector)}.sector-tile.is-joined .sector-tile-meta{color:var(--sector);opacity:.9}.sector-tile.is-soon,.sector-tile:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;transform:none}.sector-tile-icon{width:56px;height:56px;color:var(--accent);background:linear-gradient(#0071e31a,#0071e30a);border-radius:999px;place-items:center;display:grid}.sector-tile.is-soon .sector-tile-icon{color:var(--muted);background:#7878801f}.sector-icon-svg{width:28px;height:28px;display:block}.sector-tile-name{letter-spacing:-.025em;text-align:center;font-size:.92rem;font-weight:650;line-height:1.25}.sector-tile-meta{letter-spacing:.01em;color:var(--muted);text-align:center;font-size:.74rem;font-weight:550}.setup-sheet{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin-top:0;padding:1.15rem}.setup-sheet h2{letter-spacing:-.03em;margin:0 0 1rem;font-size:1.25rem}.soft-reveal{opacity:0;pointer-events:none;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .42s cubic-bezier(.22,1,.36,1),opacity .32s,margin-top .42s cubic-bezier(.22,1,.36,1);display:grid}.soft-reveal.is-open{opacity:1;pointer-events:auto;grid-template-rows:1fr;margin-top:.35rem}.soft-reveal-inner{min-height:0;overflow:hidden}.soft-in{animation:.38s cubic-bezier(.22,1,.36,1) both soft-in}.children-fields{gap:.85rem;margin:.5rem 0 .85rem;display:grid}.child-draft{border-radius:var(--radius-sm);background:#78788014;gap:.65rem;padding:.85rem;animation:.38s cubic-bezier(.22,1,.36,1) both soft-in;display:grid}.child-draft-remove{width:100%;min-height:44px;margin-top:.15rem}.children-add-btn{width:min(100%,18rem);min-height:56px;margin:.35rem auto 0;font-size:1.05rem;font-weight:700;display:flex}.home-register-thanks{border-radius:var(--radius);background:#0071e31a;border:1px solid #0071e32e;gap:.35rem;margin:0 0 1rem;padding:1rem 2.75rem 1rem 1rem;display:grid;position:relative}.home-register-thanks-text{color:var(--text);margin:0;font-size:.95rem;line-height:1.45}.home-register-thanks-close{width:2rem;height:2rem;color:var(--text);cursor:pointer;box-shadow:none;background:#78788024;border:none;border-radius:999px;justify-content:center;align-items:center;min-height:0;padding:0;display:inline-flex;position:absolute;top:.55rem;right:.55rem}.home-register-thanks-close:hover{background:#78788038}.home-register-thanks-close:active{transform:scale(.94)}.home-register-thanks-close svg{width:1rem;height:1rem}@keyframes soft-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes card-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-fade-stack>*,.kids-medals>li,.sector-grid>.sector-tile{animation:.42s cubic-bezier(.22,1,.36,1) both card-fade-in}.card-fade-stack>:first-child,.kids-medals>li:first-child,.sector-grid>.sector-tile:first-child{animation-delay:0s}.card-fade-stack>:nth-child(2),.kids-medals>li:nth-child(2),.sector-grid>.sector-tile:nth-child(2){animation-delay:70ms}.card-fade-stack>:nth-child(3),.kids-medals>li:nth-child(3),.sector-grid>.sector-tile:nth-child(3){animation-delay:.14s}.card-fade-stack>:nth-child(4),.kids-medals>li:nth-child(4),.sector-grid>.sector-tile:nth-child(4){animation-delay:.21s}.card-fade-stack>:nth-child(5),.kids-medals>li:nth-child(5),.sector-grid>.sector-tile:nth-child(5){animation-delay:.28s}.card-fade-stack>:nth-child(6),.kids-medals>li:nth-child(6),.sector-grid>.sector-tile:nth-child(6){animation-delay:.35s}.card-fade-stack>:nth-child(7),.kids-medals>li:nth-child(7),.sector-grid>.sector-tile:nth-child(7){animation-delay:.42s}.card-fade-stack>:nth-child(8),.kids-medals>li:nth-child(8),.sector-grid>.sector-tile:nth-child(8){animation-delay:.49s}.card-fade-stack>:nth-child(9),.kids-medals>li:nth-child(9),.sector-grid>.sector-tile:nth-child(9){animation-delay:.56s}.card-fade-stack>:nth-child(10),.kids-medals>li:nth-child(10),.sector-grid>.sector-tile:nth-child(10){animation-delay:.63s}.card-fade-stack>:nth-child(11),.kids-medals>li:nth-child(11),.sector-grid>.sector-tile:nth-child(11){animation-delay:.7s}.card-fade-stack>:nth-child(12),.kids-medals>li:nth-child(12),.sector-grid>.sector-tile:nth-child(12){animation-delay:.77s}.child-age{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:600}.profile-page{overflow:hidden}.profile-stage{will-change:transform;width:200%;transition:transform .42s cubic-bezier(.22,1,.36,1);display:flex}.profile-stage.is-sub{transform:translate(-50%)}.profile-panel{box-sizing:border-box;flex:0 0 50%;width:50%;padding-right:.15rem}.profile-panel-sub{padding-left:.15rem}.profile-sub{min-height:100%}.group a.row{color:inherit;text-decoration:none}a.setup-back{text-decoration:none;display:inline-flex}.child-edit-card{margin-bottom:.85rem}.child-edit-head{letter-spacing:-.02em;margin-bottom:.35rem;font-size:1.05rem}.profile-actions{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.profile-actions button{width:100%}button.danger-text,.btn.danger-text{color:var(--danger);background:#ff3b301a}button.danger-text:hover,.btn.danger-text:hover{background:#ff3b3029}.news-list{gap:.85rem;display:grid}.news-item{border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);color:inherit;gap:.65rem;padding:0;transition:transform .18s;display:grid;overflow:hidden}.news-item:active{transform:scale(.985)}.news-item img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.news-item .body{gap:.25rem;padding:.95rem 1.05rem 1.15rem;display:grid}.news-item h2{letter-spacing:-.03em;margin:0;font-size:1.15rem}.news-item .meta{color:var(--muted);font-size:.88rem}.news-detail img{border-radius:var(--radius);width:100%;margin-bottom:1rem}.rich-text{color:#3a3a3c;font-size:1.05rem;line-height:1.55}.rich-text p{margin:0 0 .85em}.rich-text p:last-child{margin-bottom:0}.rich-text ul,.rich-text ol{margin:0 0 .85em;padding-left:1.35em}.rich-text a{color:var(--accent,#0071e3)}.rich-text img{border-radius:var(--radius-sm);max-width:100%}.profile-head{gap:.2rem;margin-bottom:1.5rem;display:grid}.profile-head .name{letter-spacing:-.04em;margin:0;font-size:1.8rem;font-weight:900}.profile-head .email{color:var(--muted);margin:0}.main:has(.kids-page){flex-direction:column;display:flex}.page.kids-page{animation-name:page-in-fade}@keyframes page-in-fade{0%{opacity:0}to{opacity:1}}.kids-page{flex-direction:column;flex:1;justify-content:flex-start;align-items:stretch;display:flex;overflow:hidden}.kids-title-row{justify-content:center;align-items:center;gap:.5rem;min-height:2.5rem;margin:0 0 .85rem;display:flex}.kids-title-row.is-multi{justify-content:space-between}.kids-child-title{text-align:center;flex:1;min-width:0;margin:0}.kids-child-title .child-age{color:var(--muted);font-weight:500}.kids-viewport{width:100%;position:relative;overflow:hidden}.kids-stage{will-change:transform;width:100%;transition:transform .42s cubic-bezier(.22,1,.36,1);display:flex}.kids-panel{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:100%;max-width:100%}.kids-slide{text-align:center;flex-direction:column;align-items:stretch;width:100%;max-width:none;margin:0;padding:.25rem 0;display:flex}.kids-section-tabs{background:#7878801f;border-radius:14px;grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem;width:100%;margin:0 0 1rem;padding:.28rem;display:grid}.kids-section-tab{color:#c9a227;width:100%;min-width:0;min-height:3.15rem;font:inherit;letter-spacing:.02em;text-transform:uppercase;box-shadow:none;cursor:pointer;background:0 0;border:0;border-radius:11px;justify-content:center;align-items:center;margin:0;padding:.55rem .2rem;font-size:.78rem;font-weight:700;transition:background .18s,color .18s,transform .18s,filter .18s;display:inline-flex}.kids-section-tab span{display:none}.kids-section-tab svg{width:1.85rem;height:1.85rem;color:inherit;filter:drop-shadow(0 1px 1px #6b4a0847);flex-shrink:0}.kids-section-tab:hover{color:#e0b83a;transform:none}.kids-section-tab.is-active{background:var(--surface);color:#d4a017;box-shadow:var(--shadow)}.kids-section-tab.is-active svg{filter:drop-shadow(0 1px 2px #b4821466)}.kids-section-tab:active{transform:scale(.98)}@media (width>=640px){.kids-section-tab{min-height:3.4rem;padding:.65rem .25rem}.kids-section-tab svg{width:2.05rem;height:2.05rem}}.kids-block{width:100%;animation:.32s cubic-bezier(.22,1,.36,1) both soft-in}.kids-block-empty{text-align:center;margin:0;padding:.15rem 0}.kids-block .medal-list li{justify-content:center;padding:0}.kids-medals{border-radius:var(--radius-sm);background:#78788014;overflow:hidden}.kids-medal-btn{width:100%;color:inherit;font:inherit;text-align:center;cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:center;align-items:center;gap:.75rem;margin:0;padding:.75rem 1rem;transition:background .16s;display:flex}.kids-medal-btn:hover{background:#0071e314;transform:none}.kids-medal-btn:active{transform:scale(.99)}.diary-group-list,.diary-history-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.diary-group-item{border-radius:var(--radius-sm);text-align:left;background:#78788014;flex-direction:column;gap:.15rem;padding:.75rem 1rem;display:flex}.diary-history-item{border-radius:var(--radius-sm);text-align:left;background:#78788014;padding:.85rem 1rem}.diary-history-item.is-absent{opacity:.72}.diary-history-head{flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin-bottom:.35rem;display:flex}.diary-history-head strong{font-size:1rem}.diary-coach,.diary-history-head>span{color:var(--muted);font-size:.9rem}.diary-presence{align-items:center;gap:.25rem;margin-left:auto;font-size:.85rem;display:inline-flex}.diary-presence.is-present{color:#34c759}.diary-presence.is-absent{color:#ff3b30}.diary-summary,.diary-note{color:var(--text);margin:.35rem 0 0;font-size:.92rem}.diary-note{color:var(--muted);font-style:italic}.diary-ratings{flex-wrap:wrap;gap:.35rem .65rem;margin-top:.45rem;display:flex}.diary-rating{background:#0071e31a;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.82rem;display:inline-flex}.diary-rating-label{color:var(--muted)}.diary-new-skill{color:#ff9500;background:#ff950026;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.82rem;display:inline-flex}.skill-checklist{text-align:left;flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.skill-checklist-item{border-radius:var(--radius-sm);background:#78788014;justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem .85rem;display:flex}.skill-checklist-main{flex:1;align-items:center;gap:.45rem;min-width:0;display:inline-flex}.skill-checklist-main>span{min-width:0}.skill-video-btn{color:#0071e3;cursor:pointer;background:#0071e324;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;padding:0;transition:transform .18s,background .18s,opacity .18s;display:inline-flex}.skill-video-btn svg{width:1rem;height:1rem}.skill-video-btn:hover{background:#0071e338}.skill-video-btn:active{transform:scale(.94)}.skill-video-overlay{z-index:200;padding:1.25rem;padding-bottom:calc(1.25rem + var(--safe-bottom));-webkit-backdrop-filter:blur(8px);background:#0000009e;place-items:center;animation:.18s skill-video-fade-in;display:grid;position:fixed;inset:0}@keyframes skill-video-fade-in{0%{opacity:0}to{opacity:1}}.skill-video-sheet{background:var(--surface,#fff);width:min(100%,42rem);max-height:min(90vh,40rem);color:var(--text);border-radius:1rem;flex-direction:column;gap:.75rem;padding:.9rem;animation:.22s cubic-bezier(.22,1,.36,1) skill-video-sheet-in;display:flex;box-shadow:0 18px 50px #00000047}@keyframes skill-video-sheet-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.skill-video-sheet-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.skill-video-sheet-head strong{font-size:.95rem;line-height:1.3}.skill-video-close{width:2rem;height:2rem;color:var(--text);cursor:pointer;background:#78788024;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.skill-video-player{background:#000;border-radius:.75rem;width:100%;max-height:min(70vh,32rem);display:block}.skill-checklist-item.is-mastered em{color:#34c759}.skill-checklist-item.is-almost em{color:#ff9500}.skill-checklist-item.is-learning em{color:var(--muted)}.skill-checklist-item.is-pending em{color:var(--muted);opacity:.75}.skill-card-body .skill-checklist{margin-top:.35rem}.level-goal-text{border-radius:var(--radius-sm);color:var(--text);text-align:left;background:#0071e314;margin:0 0 .75rem;padding:.7rem .85rem;font-size:.92rem;line-height:1.4}.level-goal-label{letter-spacing:.02em;text-transform:uppercase;color:var(--accent);margin-bottom:.2rem;font-size:.75rem;font-weight:600;display:block}.skill-list>.skill-card.is-progress{border-color:#ff950059}.skill-list>.skill-card.is-current-level{box-shadow:0 0 0 1px #0071e347}.events-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.events-item{border-radius:var(--radius);background:#78788014;padding:1rem}.events-item-head{align-items:flex-start;gap:.65rem;display:flex}.events-item-head strong{display:block}.events-item-head span{color:var(--muted);font-size:.9rem}.events-location,.events-body{color:var(--muted);margin:.5rem 0 0;font-size:.92rem}.events-rsvp{gap:.5rem;margin-top:.75rem;display:flex}.diary-gamification{border-radius:var(--radius);background:#78788014;margin-bottom:1.25rem;padding:1rem}.diary-loyalty{margin:0 0 .75rem}.diary-badge-list,.diary-challenge-list{flex-direction:column;gap:.35rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.diary-badge-list li.is-earned{color:#ff9500}.diary-badge-list li.is-locked{color:var(--muted);opacity:.65}.diary-challenge-list li{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.home-tile-events{--tile-accent:#af52de}.medal-reveal{z-index:80;padding:1.5rem 1.25rem calc(1.5rem + var(--safe-bottom));background:radial-gradient(900px 520px at 50% 35%,#f0c14b38,#0000 55%),radial-gradient(700px 420px at 50% 100%,#0071e31f,#0000 50%),linear-gradient(#fbfbfd 0%,#eef0f4 100%);flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;animation:.48s cubic-bezier(.22,1,.36,1) both medal-reveal-backdrop;display:flex;position:fixed;inset:0}html[data-theme=dark] .medal-reveal{background:radial-gradient(900px 520px at 50% 35%,#f0c14b29,#0000 55%),radial-gradient(700px 420px at 50% 100%,#0a84ff24,#0000 50%),linear-gradient(#1c1c1e 0%,#0a0a0a 100%)}@keyframes medal-reveal-backdrop{0%{opacity:0}to{opacity:1}}.medal-reveal-close{top:calc(.85rem + env(safe-area-inset-top,0px));width:2.5rem;height:2.5rem;color:var(--text);box-shadow:none;cursor:pointer;background:#78788029;border:0;border-radius:980px;place-items:center;margin:0;padding:0;display:grid;position:absolute;right:1rem}.medal-reveal-close svg{width:1.25rem;height:1.25rem}.medal-reveal-brand{top:calc(1.1rem + env(safe-area-inset-top,0px));position:absolute;left:50%;transform:translate(-50%)}.medal-reveal-logo{object-fit:contain;width:auto;max-width:360px;height:80px;display:block}html:not([data-theme=dark]) .medal-reveal-logo{filter:brightness(0)}.medal-reveal-brand-mark{letter-spacing:-.03em;font-size:1.35rem;font-weight:900;display:inline-flex}.medal-reveal-stage{place-items:center;width:min(300px,78vw);height:min(300px,78vw);display:grid;position:relative}.medal-reveal-glow{pointer-events:none;background:radial-gradient(circle,#ffd6668c,#0000 68%);border-radius:50%;animation:2.4s ease-in-out .7s infinite medal-glow-pulse;position:absolute;inset:8%}@keyframes medal-glow-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.05)}}.medal-flip{z-index:1;width:min(260px,70vw);height:min(260px,70vw);box-shadow:none;cursor:pointer;perspective:1200px;filter:drop-shadow(0 18px 36px #78500047);background:0 0;border:0;margin:0;padding:0;animation:1.1s cubic-bezier(.16,1.15,.32,1) both medal-pop-in;position:relative}.medal-flip:hover,.medal-flip:active{transform:none}.medal-flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.22,1,.36,1);position:relative}.medal-flip.is-flipped .medal-flip-inner{transform:rotateY(180deg)}.medal-flip-face{backface-visibility:hidden;place-items:center;display:grid;position:absolute;inset:0}.medal-flip-back{transform:rotateY(180deg)}.medal-flip-back-disk{box-sizing:border-box;text-align:center;color:#5c3b00;background:radial-gradient(circle at 35% 30%,#fff6c8 0%,#f0c14b 45%,#b8860b 100%);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;width:100%;height:100%;padding:1.5rem;display:flex;box-shadow:inset 0 0 0 10px #d4a017,inset 0 0 0 14px #fff2a88c}.medal-flip-back-label{letter-spacing:.06em;text-transform:uppercase;opacity:.75;margin:0;font-size:.78rem;font-weight:700}.medal-flip-back-date{letter-spacing:-.03em;margin:0;font-size:clamp(1.15rem,4.5vw,1.45rem);font-weight:900;line-height:1.2}.medal-flip-back-brand{letter-spacing:-.03em;color:#5c3b00;justify-content:center;align-items:center;margin-top:.55rem;font-size:.95rem;font-weight:900;display:inline-flex}.medal-flip-back-logo{object-fit:contain;filter:brightness(0)saturate()invert(27%)sepia(42%)saturate(900%)hue-rotate(8deg)brightness(.85);width:auto;max-width:120px;height:36px;display:block}@keyframes medal-pop-in{0%{opacity:0;filter:blur(10px)drop-shadow(0 0 #0000);transform:scale(.15)rotate(-28deg)translateY(48px)}45%{opacity:1;filter:blur()drop-shadow(0 22px 40px #78500059)}62%{transform:scale(1.14)rotate(5deg)translateY(0)}78%{transform:scale(.94)rotate(-2deg)}to{opacity:1;filter:blur()drop-shadow(0 18px 36px #78500047);transform:scale(1)rotate(0)translateY(0)}}.medal-reveal-title,.medal-reveal-body{max-width:32rem;color:var(--text);letter-spacing:normal;text-align:center;margin:0;padding:0 1rem;font-weight:400;line-height:1.35}.medal-reveal-title{font-size:1.02rem;animation-delay:.42s}.medal-reveal-body{font-size:2.04rem;animation-delay:.48s}.medal-reveal-hint{color:var(--muted);text-align:center;margin:0;font-size:.9rem;animation-delay:.52s}.kids-block .skill-list{margin-bottom:0}.kids-nav-btn{width:2.5rem;height:2.5rem;color:var(--accent);box-shadow:none;cursor:pointer;background:#7878801f;border:0;border-radius:12px;flex-shrink:0;place-items:center;margin:0;padding:0;transition:background .18s,transform .18s;display:grid}.kids-nav-btn:hover{background:#0071e31f;transform:none}.kids-nav-btn:active{transform:scale(.96)}.kids-nav-btn svg{width:1.35rem;height:1.35rem}.kids-nav-spacer{flex-shrink:0;width:2.5rem;height:2.5rem}.skill-list{background:0 0;gap:.65rem;margin:0 0 .85rem;padding:.15rem .1rem .35rem;list-style:none;display:grid}.skill-list>.skill-card{--card-delay:0s;border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line);animation:.38s cubic-bezier(.22,1,.36,1) both card-fade-in;animation-delay:var(--card-delay);flex-direction:column;align-items:stretch;gap:0;padding:0;font-size:.92rem;display:flex;overflow:visible}.skill-list>.skill-card:not(.is-open){overflow:hidden}.skill-list>.skill-card.is-earned{background:linear-gradient(165deg,#f0c14b47,#ffffffeb 55%);border-color:#b0821447}.skill-list>.skill-card.is-locked{box-shadow:none;background:#78788014}.skill-card-toggle{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:.75rem;margin:0;padding:.85rem 1rem;display:flex}.skill-card-toggle:hover,.skill-card-toggle:active{background:#00000008;transform:none}.skill-card-heading{gap:.15rem;min-width:0;display:grid}.skill-card-heading strong{letter-spacing:-.02em;font-weight:700}.skill-list>.skill-card.is-earned .skill-card-heading strong{color:#6e4f00}.skill-list>.skill-card.is-locked .skill-card-heading strong{color:var(--muted);font-weight:600}.skill-card-summary{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:.78rem;font-weight:700}.skill-list>.skill-card.is-earned .skill-card-summary{color:#9a7200}.skill-card-caret{width:1.15rem;height:1.15rem;color:var(--muted);flex-shrink:0;transition:transform .28s cubic-bezier(.22,1,.36,1)}.skill-card.is-open .skill-card-caret{transform:rotate(180deg)}.skill-card-body{animation:.28s cubic-bezier(.22,1,.36,1) both skill-body-in;overflow:visible}@keyframes skill-body-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.skill-levels{--skill-rail:1.35rem;--level-max:4;--reached-steps:0;padding:.55rem 1rem 1.15rem calc(1rem + var(--skill-rail));box-sizing:border-box;flex-direction:column;gap:.45rem;margin:0;display:flex;position:relative}.skill-levels:before{content:"";left:calc(1rem + var(--skill-rail) / 2 - 1px);background:#78788047;border-radius:2px;width:2px;position:absolute;top:1.15rem;bottom:1.35rem}.skill-levels:after{content:"";left:calc(1rem + var(--skill-rail) / 2 - 1px);z-index:0;transform-origin:bottom;background:linear-gradient(#ffe28a 0%,#f0c14b 55%,#c9971a 100%);border-radius:2px;width:2px;height:0;max-height:calc(100% - 2.5rem);position:absolute;bottom:1.35rem}.skill-levels.is-filling:after{--rail-delay:0s;--rail-duration:.4s;height:calc((var(--reached-steps) / var(--level-max)) * (100% - 2.5rem));animation:skill-rail-fill var(--rail-duration) cubic-bezier(.22, 1, .36, 1) both;animation-delay:var(--rail-delay)}@keyframes skill-rail-fill{0%{opacity:.35;height:0}to{height:calc((var(--reached-steps) / var(--level-max)) * (100% - 2.5rem));opacity:1}}.skill-level{--level-step:1;--fill-delay:0s;--level-glow:calc(.22 + (var(--level-step) - 1) * .14);--level-sat:calc(.42 + (var(--level-step) - 1) * .14);box-sizing:border-box;letter-spacing:.02em;text-transform:uppercase;text-align:left;z-index:1;border-radius:12px;justify-content:flex-start;align-items:center;gap:.55rem;width:100%;min-height:2.35rem;padding:.45rem .75rem;font-size:.78rem;font-weight:700;line-height:1.2;display:flex;position:relative}.skill-level-node{left:calc(var(--skill-rail) / -2);z-index:1;background:#78788038;border-radius:50%;place-items:center;width:1.15rem;height:1.15rem;display:grid;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:inset 0 0 0 1px #78788040}.skill-level-check{width:.72rem;height:.72rem}.skill-level-name{min-width:0}.skill-level.is-reached{--fill-delay:0s;color:#6e4f00;background:rgba(240, 193, 75, var(--level-glow));box-shadow:inset 0 0 0 1px rgba(176, 130, 20, calc(.25 + var(--level-step) * .08));animation:skill-level-fill .48s cubic-bezier(.22, 1, .36, 1) var(--fill-delay) both}.skill-level.is-reached .skill-level-node{color:#5a4000;background:rgb(calc(220 + var(--level-step) * 8), calc(160 + var(--level-step) * 12), calc(40 + var(--level-step) * 8));box-shadow:0 0 0 2px rgba(240, 193, 75, calc(.28 + var(--level-step) * .08));animation:skill-node-pop .4s cubic-bezier(.22, 1, .36, 1) var(--fill-delay) both}.skill-level.is-current{color:#4a3400;background:linear-gradient(180deg, rgba(255, 224, 120, calc(.55 + var(--level-sat) * .35)), rgba(240, 193, 75, calc(.4 + var(--level-sat) * .25)));box-shadow:inset 0 0 0 1.5px #b082148c}.skill-level.is-current .skill-level-node{color:#4a3400;background:#ffd666;box-shadow:0 0 0 3px #ffd66666}.skill-level.is-locked{color:var(--muted);opacity:.7;background:#7878801a}.skill-measurements{border-top:1px solid var(--line);text-align:left;margin:.35rem 1rem 1rem;padding-top:.65rem}.skill-measurements-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .45rem;font-size:.72rem;font-weight:700}.skill-measurement-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.skill-measurement-list>li{background:#7878801a;border-radius:10px;gap:.25rem;padding:.55rem .65rem;font-size:.88rem;display:grid}.skill-measurement-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.skill-measurement-row span{color:var(--muted);font-weight:600}.skill-measurement-row strong{letter-spacing:-.02em;font-weight:800}.skill-measurement-date{color:var(--muted);font-size:.75rem;font-weight:600}.skill-measurement-history{border-top:1px dashed var(--line);gap:.2rem;margin:.2rem 0 0;padding:.35rem 0 0;list-style:none;display:grid}.skill-measurement-history li{color:var(--muted);justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.78rem;display:flex}.skill-measurement-history strong{color:var(--text);font-weight:700}.skill-measurements-empty{color:var(--muted);margin:0;font-size:.85rem}.results-period{-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#7878801a;border-radius:12px;gap:.3rem;margin:0 0 .85rem;padding:.28rem;display:flex;overflow-x:auto}.results-period::-webkit-scrollbar{display:none}.results-period-btn{appearance:none;min-height:2.1rem;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:9px;flex:1 0 auto;margin:0;padding:.35rem .7rem;font-size:.78rem;font-weight:700;transition:background .18s,color .18s,transform .18s}.results-period-btn:hover{color:var(--text)}.results-period-btn.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow)}.results-period-btn:active{transform:scale(.98)}.result-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.result-card{border-radius:var(--radius-sm);border:1px solid var(--line);box-shadow:var(--shadow);animation:.42s cubic-bezier(.22,1,.36,1) both soft-in;animation-delay:var(--card-delay,0s);text-align:left;background:#ffffffb8;gap:.7rem;padding:.9rem .95rem .85rem;display:grid}html[data-theme=dark] .result-card{background:#2c2c2eb8}.result-card-head{justify-content:space-between;align-items:flex-start;gap:.85rem;display:flex}.result-card-titles{gap:.15rem;min-width:0;display:grid}.result-card-titles strong{letter-spacing:-.02em;font-size:1rem;font-weight:800}.result-card-titles span{color:var(--muted);font-size:.82rem;font-weight:600}.result-card-latest{text-align:right;flex-shrink:0;justify-items:end;gap:.1rem;display:grid}.result-card-latest em{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-style:normal;font-weight:700}.result-card-latest strong{letter-spacing:-.03em;color:var(--accent);font-size:1.15rem;font-weight:800}.result-card-latest span{color:var(--muted);font-size:.75rem;font-weight:600}.result-chart{gap:.2rem;display:grid}.result-chart-svg{aspect-ratio:320/140;width:100%;height:auto;display:block;overflow:visible}.result-chart-area{animation:.7s cubic-bezier(.22,1,.36,1) both result-area-in}.result-chart-line{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:var(--path-len);stroke-dashoffset:var(--path-len);animation:.9s cubic-bezier(.22,1,.36,1) 80ms both result-line-draw}.result-chart-dot{fill:var(--surface);stroke:var(--accent);stroke-width:2px;opacity:0;animation:.36s cubic-bezier(.22,1,.36,1) both result-dot-in;animation-delay:var(--dot-delay,.16s)}.result-chart-dot.is-latest{fill:var(--accent)}.result-chart-axis{color:var(--muted);justify-content:space-between;gap:.75rem;font-size:.72rem;font-weight:600;display:flex}.result-history{border-top:1px dashed var(--line);gap:.28rem;margin:0;padding:.45rem 0 0;list-style:none;display:grid}.result-history-meta{color:var(--muted);letter-spacing:.03em;text-transform:uppercase;font-size:.72rem;font-weight:700}.result-history li:not(.result-history-meta){color:var(--muted);justify-content:space-between;align-items:baseline;gap:.75rem;font-size:.82rem;display:flex}.result-history strong{color:var(--text);font-weight:700}@keyframes result-line-draw{to{stroke-dashoffset:0}}@keyframes result-area-in{0%{opacity:0}to{opacity:1}}@keyframes result-dot-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes skill-level-fill{0%{opacity:.25;filter:saturate(.55);transform:translateY(6px)scale(.97)}to{opacity:1;filter:saturate(calc(.85 + var(--level-step) * .08));transform:translateY(0)scale(1)}}@keyframes skill-node-pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}65%{opacity:1;transform:translate(-50%,-50%)scale(1.15)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}html[data-theme=dark] .skill-list>.skill-card{background:var(--surface)}html[data-theme=dark] .skill-list>.skill-card.is-earned{background:linear-gradient(165deg,#f0c14b38,#1c1c1ef2 60%);border-color:#f0c14b47}html[data-theme=dark] .skill-list>.skill-card.is-earned .skill-card-heading strong{color:#ffd666}html[data-theme=dark] .skill-list>.skill-card.is-earned .skill-card-summary{color:#e0b03a}html[data-theme=dark] .skill-card-toggle:hover,html[data-theme=dark] .skill-card-toggle:active{background:#ffffff0a}html[data-theme=dark] .skill-list>.skill-card.is-locked{background:#78788024}html[data-theme=dark] .skill-levels:before{background:#ffffff29}html[data-theme=dark] .skill-levels:after{background:linear-gradient(#ffe28a 0%,#f0c14b 50%,#b8860b 100%)}html[data-theme=dark] .skill-level.is-reached{color:#ffd666;background:rgba(240, 193, 75, calc(var(--level-glow) + .04))}html[data-theme=dark] .skill-level.is-reached .skill-level-node{color:#1c1c1e}html[data-theme=dark] .skill-level.is-current{color:#fff3c4}html[data-theme=dark] .skill-level.is-current .skill-level-node{color:#1c1c1e;background:#ffd666}.medal-list{margin:0;padding:0;list-style:none}.medal-list li{border-bottom:1px solid var(--line);align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.medal-list li:last-child{border-bottom:0}.medal-list img{object-fit:cover;border-radius:50%;width:36px;height:36px}.tabbar{width:min(720px,100%);height:calc(var(--tabbar-h) + var(--safe-bottom));padding:.35rem .75rem var(--safe-bottom);-webkit-backdrop-filter:saturate(180%)blur(22px);border-top:1px solid var(--line);z-index:30;background:#ffffffc7;gap:.25rem;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar.tabs-3{grid-template-columns:repeat(3,1fr)}.tabbar.tabs-4{grid-template-columns:repeat(4,1fr)}.tabbar.tabs-5{grid-template-columns:repeat(5,1fr)}.tabbar.tabs-6{grid-template-columns:repeat(6,1fr)}.tab{color:var(--muted);letter-spacing:.04em;text-align:center;text-transform:uppercase;border-radius:12px;place-items:center;gap:.2rem;padding:.35rem .12rem;font-size:.72rem;font-weight:750;line-height:1.15;transition:color .16s,background .16s;display:grid}.tabbar.tabs-3 .tab,.tabbar.tabs-4 .tab{padding:.35rem .25rem;font-size:.76rem}.tab svg{width:28px;height:28px}.tab.active{color:var(--accent)}.tab:active{transform:scale(.96)}@media (width<=639px){:root{--tabbar-h:64px}.tab{text-transform:none;letter-spacing:normal;gap:0}.tab span{display:none}.tab svg{width:30px;height:30px}}.empty{color:var(--muted);padding:1.5rem .25rem}@media (width>=860px){.topbar{padding-inline:1.75rem}}html[data-theme=dark]{--bg:#000;--bg-elevated:#1c1c1ed1;--surface:#1c1c1e;--text:#f5f5f7;--muted:#a1a1a6;--accent:#0a84ff;--accent-press:#409cff;--line:#ffffff1a;--danger:#ff453a;--ok:#30d158;--shadow:0 1px 2px #00000059, 0 10px 28px #00000059}html[data-theme=dark] body{background:radial-gradient(1000px 520px at 12% -8%,#0a84ff2e,#0000 55%),radial-gradient(800px 420px at 100% 0,#30d1581a,#0000 50%),linear-gradient(#0b0b0d 0%,#000 45%,#050507 100%)}html[data-theme=dark] .home-hero .brand-mark{background:linear-gradient(#f5f5f7 20%,#a1a1a6 100%);-webkit-background-clip:text;background-clip:text}html[data-theme=dark] .chip-btn,html[data-theme=dark] .form input,html[data-theme=dark] .form textarea,html[data-theme=dark] .form select{color:var(--text);background:#7878803d}html[data-theme=dark] .form input:focus,html[data-theme=dark] .form textarea:focus,html[data-theme=dark] .form select:focus{background:#2c2c2e}html[data-theme=dark] .btn.secondary,html[data-theme=dark] button.secondary{color:#6eb6ff;background:#0a84ff33}html[data-theme=dark] .sector-tile{background:#2c2c2eb8;border-color:#ffffff0f}html[data-theme=dark] .sector-tile:hover:not(:disabled){background:#3a3a3ce6;border-color:#0a84ff47;box-shadow:0 12px 28px #00000059}html[data-theme=dark] .sector-tile-icon{background:linear-gradient(#0a84ff33,#0a84ff0f)}html[data-theme=dark] .sector-tile.is-joined{background:linear-gradient(165deg, rgba(var(--sector-rgb), .34), rgba(var(--sector-rgb), .16));border-color:rgba(var(--sector-rgb), .55)}html[data-theme=dark] .tabbar{background:#1c1c1edb}html[data-theme=dark] .rich-text{color:#d1d1d6}html[data-theme=dark] .chevron{color:#636366}.push-prompt-overlay{z-index:80;padding:16px 16px calc(16px + var(--safe-bottom));-webkit-backdrop-filter:blur(8px);background:#0f0f146b;place-items:end center;animation:.28s both push-prompt-fade;display:grid;position:fixed;inset:0}.push-prompt-card{border-radius:calc(var(--radius) + 4px);background:var(--surface);width:min(420px,100%);box-shadow:var(--shadow);border:1px solid var(--line);text-align:center;padding:22px 20px 18px;animation:.36s cubic-bezier(.22,1,.36,1) both push-prompt-up}@keyframes push-prompt-fade{0%{opacity:0}to{opacity:1}}@keyframes push-prompt-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.push-prompt-icon{color:#fff;background:linear-gradient(165deg,#0071e3,#34aadc);border-radius:16px;place-items:center;width:52px;height:52px;margin:0 auto 12px;display:grid}.push-prompt-card h2{letter-spacing:-.02em;margin:0 0 8px;font-size:1.25rem;font-weight:700}.push-prompt-card p{color:var(--muted);margin:0 0 18px;font-size:.95rem}.push-prompt-actions{gap:8px;display:grid}.push-prompt-actions .btn{cursor:pointer;border:none;border-radius:14px;width:100%;min-height:48px}.push-prompt-actions .btn.primary{background:var(--accent);color:#fff;font-weight:600}.push-prompt-actions .btn.primary:disabled{opacity:.65;cursor:wait}.push-prompt-actions .btn.ghost{color:var(--muted);background:0 0}html[data-theme=dark] .push-prompt-card{background:#2c2c2e;border-color:#ffffff14}@media (width>=720px){.push-prompt-overlay{place-items:center}}.linkish{appearance:none;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:.92rem;font-weight:700;text-decoration:none}.linkish:hover{text-decoration:underline}.diary-page{--accent:#0071e3;animation-name:page-in-fade;overflow:hidden}.diary-section-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#7878801f;border-radius:14px;gap:.35rem;margin:.75rem 0 .65rem;padding:.3rem;display:flex;overflow-x:auto}.diary-section-tabs::-webkit-scrollbar{display:none}.diary-section-tab{min-height:2.5rem;color:var(--muted);font:inherit;letter-spacing:.02em;text-transform:uppercase;box-shadow:none;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:11px;flex:none;justify-content:center;align-items:center;gap:.3rem;margin:0;padding:.45rem .75rem;font-size:.78rem;font-weight:700;transition:background .18s,color .18s,transform .18s;display:inline-flex}.diary-section-tab.is-active{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px #00000014}.diary-section-tab svg{flex-shrink:0;width:1rem;height:1rem}.diary-title-row{justify-content:space-between;align-items:center;gap:.5rem;min-height:2.5rem;margin:0 0 .45rem;display:flex}.diary-panel-title{text-align:center;letter-spacing:-.03em;flex:1;min-width:0;margin:0;font-size:1.05rem;font-weight:800}.diary-nav-btn{width:2.5rem;height:2.5rem;color:var(--accent);box-shadow:none;cursor:pointer;background:#7878801f;border:0;border-radius:12px;flex-shrink:0;place-items:center;margin:0;padding:0;transition:background .18s,transform .18s;display:grid}.diary-nav-btn:hover{background:#0071e31f}.diary-nav-btn:active{transform:scale(.96)}.diary-nav-btn svg{width:1.35rem;height:1.35rem}.diary-nav-spacer{flex-shrink:0;width:2.5rem;height:2.5rem}.diary-dots{justify-content:center;gap:.4rem;margin:0 0 .85rem;display:flex}.diary-dot{cursor:pointer;background:#78788059;border:0;border-radius:999px;width:.45rem;height:.45rem;margin:0;padding:0;transition:transform .18s,background .18s}.diary-dot.is-active{background:var(--accent);transform:scale(1.25)}.diary-stage{will-change:transform;align-items:flex-start;width:100%;transition:transform .42s cubic-bezier(.22,1,.36,1);display:flex}.diary-viewport{width:100%;transition:height .42s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.diary-panel{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:100%;max-width:100%}.diary-slide{flex-direction:column;align-items:stretch;width:100%;padding:.15rem 0 1.5rem;display:flex}.diary-goal-panel{margin:0}.diary-loyalty-panel{margin:0 0 1rem;font-size:1.05rem}.diary-badge-list-panel,.diary-challenge-list-panel{margin-top:0}.diary-history-period{margin-bottom:.85rem}.diary-chart-block{margin-top:1rem}.diary-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.25rem;display:flex}.diary-header .page-sub{margin-bottom:0}.diary-form-shell.is-open{scroll-margin-top:calc(var(--topbar-h) + var(--safe-top) + .75rem);margin-bottom:.85rem}.diary-add-btn{appearance:none;background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.35rem;margin-top:.35rem;padding:.65rem .95rem;font-size:.92rem;font-weight:750;transition:transform .14s,background .14s;display:inline-flex;box-shadow:0 8px 20px #0071e338}.diary-add-btn:hover{background:var(--accent-press)}.diary-add-btn:active{transform:scale(.97)}.diary-add-btn svg{width:1.05rem;height:1.05rem}.diary-summary{gap:.9rem;margin:1.25rem 0 1.5rem;display:grid}.diary-summary-grid{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.diary-stat{border-radius:var(--radius-sm);background:#0071e312;border:1px solid #0071e31f;gap:.2rem;padding:.95rem 1rem;display:grid}.diary-stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.diary-stat strong{letter-spacing:-.03em;font-size:1.35rem;font-weight:850}.diary-stat-meta{color:var(--muted);font-size:.82rem}.diary-goal{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);padding:.95rem 1rem}.diary-goal-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.65rem;font-weight:750;display:flex}.diary-goal-head span{align-items:center;gap:.4rem;display:inline-flex}.diary-goal-head svg{width:1.15rem;height:1.15rem;color:var(--accent)}.diary-goal-bar{background:#78788029;border-radius:999px;height:8px;overflow:hidden}.diary-goal-bar>span{border-radius:inherit;background:linear-gradient(90deg,#0071e3,#34c759);height:100%;transition:width .42s cubic-bezier(.22,1,.36,1);display:block}.diary-goal-meta{color:var(--muted);margin:.45rem 0 0;font-size:.86rem}.diary-inline-form{margin-top:.85rem}.diary-section-title{letter-spacing:-.02em;align-items:center;gap:.4rem;margin:0 0 .75rem;font-size:1.05rem;font-weight:800;display:flex}.diary-section-title svg{width:1.2rem;height:1.2rem;color:var(--accent)}.diary-records,.diary-chart-block,.diary-history{margin:0 0 1.5rem}.diary-record-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.diary-record-list li{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);grid-template-columns:1fr auto;gap:.15rem .75rem;padding:.8rem .95rem;display:grid}.diary-record-list span{color:var(--muted);font-size:.82rem;font-weight:650}.diary-record-list strong{letter-spacing:-.02em;text-align:right;grid-area:1/2/span 2;align-self:center;font-size:1.05rem;font-weight:850}.diary-record-list em{color:var(--muted);font-size:.78rem;font-style:normal}.diary-form{margin:0 0 1.5rem}.diary-form-title{margin:0 0 .75rem;font-size:1.15rem;font-weight:800}.diary-pace-hint{color:var(--accent);margin:-.35rem 0 .5rem;font-weight:700}.diary-effort-field{gap:.45rem;display:grid}.effort-meter{gap:.4rem;display:grid}.effort-meter-label{font-size:.92rem;font-weight:650}.effort-meter-bars{grid-template-columns:repeat(5,1fr);align-items:end;gap:.4rem;min-height:2.4rem;display:grid}.effort-bar{appearance:none;cursor:pointer;background:#78788029;border:0;border-radius:8px;width:100%;margin:0;padding:0;transition:background .16s,transform .14s,opacity .16s}.effort-bar.level-1{height:1.1rem}.effort-bar.level-2{height:1.4rem}.effort-bar.level-3{height:1.7rem}.effort-bar.level-4{height:2rem}.effort-bar.level-5{height:2.35rem}.effort-bar.is-on.level-1{background:#34c759}.effort-bar.is-on.level-2{background:#30d158}.effort-bar.is-on.level-3{background:#ffd60a}.effort-bar.is-on.level-4{background:#ff9f0a}.effort-bar.is-on.level-5{background:#ff3b30}.effort-bar:hover:not(.is-readonly *){transform:translateY(-1px)}.effort-meter.is-readonly .effort-meter-bars{gap:.22rem;max-width:7.5rem;min-height:.85rem}.effort-meter.is-readonly .effort-bar{cursor:default;pointer-events:none;border-radius:4px}.effort-meter.is-readonly .effort-bar.level-1,.effort-meter.is-readonly .effort-bar.level-2,.effort-meter.is-readonly .effort-bar.level-3,.effort-meter.is-readonly .effort-bar.level-4,.effort-meter.is-readonly .effort-bar.level-5{height:.55rem}.diary-item-main .effort-meter{margin-top:.15rem}.diary-form-actions{gap:.65rem;margin-top:.35rem;display:flex}.diary-form-actions .btn.ghost,.diary-form-actions button[type=button]{flex:1}.diary-form-actions button[type=submit]{flex:1.4}.diary-history-head{gap:.65rem;margin-bottom:.25rem;display:grid}.diary-list{gap:.65rem;margin:0;padding:0;list-style:none;display:grid}.diary-item{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);grid-template-columns:1fr auto;align-items:stretch;display:grid;overflow:hidden}.diary-item-main{appearance:none;text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;gap:.35rem;padding:.9rem 1rem;display:grid}.diary-item-main:hover{background:#0071e30a}.diary-item-top{justify-content:space-between;gap:.75rem;font-size:.95rem;display:flex}.diary-item-top span{color:var(--muted);font-weight:650}.diary-item-stats{flex-wrap:wrap;gap:.45rem .75rem;font-size:.88rem;font-weight:700;display:flex}.diary-item-meta,.diary-item-note{color:var(--muted);margin:0;font-size:.82rem}.diary-item-note{font-style:italic}.diary-item-delete{appearance:none;border:0;border-left:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;place-items:center;width:3rem;transition:color .14s,background .14s;display:grid}.diary-item-delete:hover{color:var(--danger);background:#ff3b300f}.diary-item-delete svg{width:1.15rem;height:1.15rem}.home-tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1.25rem;display:grid}.home-tile{border-radius:var(--radius-sm);background:var(--surface);min-height:8.5rem;box-shadow:var(--shadow);color:inherit;text-align:center;border:1px solid #0071e324;place-items:center;gap:.65rem;padding:1.1rem .55rem 1rem;text-decoration:none;transition:transform .16s,border-color .16s,box-shadow .16s;display:grid}.home-tile:hover{border-color:#0071e347;transform:translateY(-2px)}.home-tile:active{transform:scale(.98)}.home-tile-icon{place-items:center;width:4.25rem;height:4.25rem;display:grid}.home-tile-icon svg{width:3.85rem;height:3.85rem;color:var(--accent)}.home-tile-kids{border-color:#ff950038}.home-tile-kids:hover{border-color:#ff950066}.home-tile-kids .home-tile-icon svg{color:#ff9500}.home-tile-label{letter-spacing:.04em;text-transform:uppercase;max-width:14ch;font-size:.78rem;font-weight:800;line-height:1.2}.sector-personal-opt{margin-bottom:.85rem;align-items:flex-start!important}.sector-personal-opt>span{gap:.15rem;display:grid}.sector-personal-opt strong{font-weight:700}.sector-personal-opt .field-hint{display:block}.sector-coach-field{gap:.35rem;margin:.75rem 0 .35rem;font-size:.95rem;font-weight:600;display:grid}.sector-coach-field select{width:100%;font-weight:500}.sector-coach-field .field-hint{font-weight:500}.profile-sector-block{gap:.55rem;display:grid}.profile-sector-block+.profile-sector-block{border-top:1px solid var(--line);margin-top:.65rem;padding-top:.65rem}.profile-sector-opt{margin:0 .15rem .15rem}html[data-theme=dark] .diary-stat{background:#0071e324;border-color:#0071e338}html[data-theme=dark] .diary-item-main:hover{background:#0071e31a}@media (width<=420px){.diary-header{flex-direction:column}.diary-add-btn{justify-content:center;align-self:stretch}.diary-summary-grid{grid-template-columns:1fr}.diary-section-tab{padding:.45rem .55rem}.diary-section-tab span{display:none}}.chat-page{min-height:calc(100dvh - var(--topbar-h) - var(--tabbar-h) - var(--safe-bottom) - 1.5rem);flex-direction:column;padding-bottom:0;display:flex;overflow:hidden}.chat-header{flex-shrink:0;margin-bottom:.75rem}.chat-header-row{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.chat-header-row .page-title{margin-bottom:.2rem}.chat-icon-btn{border:1px solid var(--line);background:var(--card);width:2.5rem;height:2.5rem;color:var(--fg);cursor:pointer;border-radius:12px;flex-shrink:0;place-items:center;margin-top:.15rem;display:grid}.chat-icon-btn svg{width:1.35rem;height:1.35rem}.chat-icon-btn:disabled{opacity:.45;cursor:not-allowed}.chat-stage{will-change:transform;flex:1;width:200%;min-height:0;transition:transform .42s cubic-bezier(.22,1,.36,1);display:flex}.chat-stage.is-thread{transform:translate(-50%)}.chat-panel{box-sizing:border-box;flex-direction:column;flex:0 0 50%;width:50%;min-height:0;padding-right:.15rem;display:flex}.chat-panel-thread{padding-left:.15rem;padding-right:0}.chat-shell{border:1px solid var(--line);background:color-mix(in srgb, var(--card) 88%, transparent);border-radius:18px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.chat-shell-history{padding:.75rem}.chat-history-list{flex:1;gap:.55rem;min-height:0;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.chat-history-item{text-align:left;border:1px solid var(--line);background:var(--card);width:100%;color:inherit;cursor:pointer;border-radius:14px;gap:.35rem;padding:.85rem .95rem;transition:border-color .2s,background .2s;display:grid}.chat-history-item.is-active,.chat-history-item:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--card))}.chat-history-top{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chat-history-status{background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--muted);border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.chat-history-status.status-open{color:#248a3d;background:#34c7592e}.chat-history-date{color:var(--muted);font-size:.75rem}.chat-history-preview{color:var(--fg);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;line-height:1.35;display:-webkit-box;overflow:hidden}.chat-history-empty,.chat-history-actions{justify-items:start;gap:.85rem;display:grid}.chat-history-actions{border-top:1px solid var(--line);margin-top:.85rem;padding-top:.75rem}.chat-thread-toolbar{border-bottom:1px solid var(--line);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem .75rem;display:flex}.chat-text-btn{min-height:0;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.3rem;padding:.35rem .55rem;font-size:.88rem;font-weight:650;display:inline-flex}.chat-text-btn svg{width:1.05rem;height:1.05rem}.chat-text-btn.is-danger{color:#ff3b30}.chat-text-btn:disabled{opacity:.45;cursor:not-allowed}.chat-thread-closed{color:var(--muted);font-size:.8rem;font-weight:650}.chat-composer-closed{justify-items:start;gap:.65rem;padding:.9rem;display:grid}.chat-composer-closed p{color:var(--muted);margin:0;font-size:.9rem}.chat-messages{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:.65rem;padding:1rem .9rem .75rem;display:flex;overflow-y:auto}.chat-bubble{border-radius:16px;max-width:min(92%,28rem);padding:.7rem .85rem;line-height:1.45;animation:.28s both soft-in}.chat-bubble.is-mine{color:#fff;background:#0071e3;border-bottom-right-radius:6px;align-self:flex-end}.chat-bubble.is-assistant{background:color-mix(in srgb, var(--fg) 6%, var(--card));border:1px solid var(--line);border-bottom-left-radius:6px;align-self:flex-start}.chat-bubble.is-admin{background:color-mix(in srgb, #34c759 16%, var(--card));border:1px solid color-mix(in srgb, #34c759 35%, var(--line));border-bottom-left-radius:6px;align-self:flex-start}.chat-label{opacity:.65;letter-spacing:.01em;margin-bottom:.25rem;font-size:.72rem;font-weight:600;display:block}.chat-text{white-space:pre-wrap;word-break:break-word;margin:0}.chat-prompt{margin:0 0 .55rem;font-weight:600}.chat-faq-list{gap:.4rem;display:grid}.chat-faq-btn{text-align:left;border:1px solid color-mix(in srgb, #0071e3 28%, var(--line));background:color-mix(in srgb, #0071e3 8%, var(--card));color:inherit;cursor:pointer;border-radius:12px;gap:.15rem;padding:.65rem .75rem;transition:background .2s,border-color .2s,transform .15s;display:grid}.chat-faq-btn:hover:not(:disabled){background:color-mix(in srgb, #0071e3 14%, var(--card));border-color:color-mix(in srgb, #0071e3 45%, var(--line))}.chat-faq-btn:active:not(:disabled){transform:scale(.985)}.chat-faq-btn:disabled{opacity:.55;cursor:wait}.chat-faq-q{font-size:.95rem;font-weight:600}.chat-faq-kw{opacity:.65;font-size:.75rem}.chat-composer{padding:.65rem .7rem calc(.65rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:color-mix(in srgb, var(--card) 92%, transparent);align-items:flex-end;gap:.5rem;display:flex}.chat-input{resize:none;border:1px solid var(--line);background:var(--bg);min-height:2.75rem;max-height:7rem;color:inherit;font:inherit;border-radius:14px;flex:1;padding:.7rem .85rem;font-size:16px;line-height:1.35}.chat-input:focus{border-color:color-mix(in srgb, #0071e3 55%, var(--line));outline:none}.chat-send{color:#fff;height:2.75rem;font:inherit;cursor:pointer;background:#0071e3;border:none;border-radius:14px;flex-shrink:0;padding:0 1rem;font-weight:600;transition:opacity .2s,transform .15s}.chat-send:disabled{opacity:.45;cursor:not-allowed}.chat-send:not(:disabled):active{transform:scale(.97)}html[data-theme=dark] .chat-bubble.is-mine{background:#0a84ff}html[data-theme=dark] .chat-bubble.is-admin{background:color-mix(in srgb, #30d158 18%, var(--card));border-color:color-mix(in srgb, #30d158 40%, var(--line))}html[data-theme=dark] .chat-faq-btn{background:color-mix(in srgb, #0a84ff 14%, var(--card));border-color:color-mix(in srgb, #0a84ff 35%, var(--line))}.recommend-points{background:color-mix(in srgb, var(--accent) 10%, var(--card));border:1px solid color-mix(in srgb, var(--accent) 22%, var(--line));border-radius:16px;gap:.2rem;margin:0 0 1.25rem;padding:1rem 1.1rem;display:grid}.recommend-points-label{color:var(--muted);font-size:.8rem;font-weight:650}.recommend-points-value{letter-spacing:-.03em;color:var(--accent);font-size:2rem;line-height:1.1}.recommend-points-hint{color:var(--muted);font-size:.78rem}.recommend-form{margin-bottom:1.75rem}.recommend-list .group-title{margin-bottom:.65rem}.recommend-rows{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.recommend-row{border:1px solid var(--line);background:var(--card);border-radius:14px;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem .95rem;display:flex}.recommend-row-email{word-break:break-all;font-size:.95rem;font-weight:600}.recommend-status{letter-spacing:.01em;background:color-mix(in srgb, var(--muted) 14%, transparent);color:var(--muted);border-radius:999px;flex-shrink:0;padding:.28rem .55rem;font-size:.72rem;font-weight:700}.recommend-status.status-accepted{color:#248a3d;background:#34c7592e}.recommend-status.status-used{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--accent)}.recommend-invite-email{color:var(--text);margin:.35rem 0 1.25rem;font-weight:650}html[data-theme=dark] .recommend-status.status-accepted{color:#30d158}.notifications-head{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.notifications-read-all{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.notifications-list{gap:.55rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.notifications-item{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);overflow:hidden}.notifications-item.is-unread{border-color:color-mix(in srgb, var(--accent) 28%, var(--line));background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.notifications-item-btn{width:100%;color:inherit;text-align:left;cursor:pointer;box-shadow:none;background:0 0;border:0;align-items:flex-start;gap:.75rem;margin:0;padding:.9rem 1rem;display:flex}.notifications-icon svg{width:1.35rem;height:1.35rem;color:var(--accent)}.notifications-content{flex:1;gap:.2rem;min-width:0;display:grid}.notifications-content strong{font-size:.95rem}.notifications-body{color:var(--muted);font-size:.88rem;line-height:1.4}.notifications-content time{color:var(--muted);font-size:.75rem}.notifications-unread-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:.55rem;height:.55rem;margin-top:.35rem}.profile-badge,.home-tile-badge{color:#fff;background:var(--danger);border-radius:999px;place-items:center;min-width:1.15rem;height:1.15rem;padding:0 .28rem;font-size:.62rem;font-weight:800;line-height:1;display:inline-grid}.row-trailing{color:var(--muted);align-items:center;gap:.45rem;display:inline-flex}.row-trailing svg{width:1.1rem;height:1.1rem}.home-tile-icon{position:relative}.home-tile-badge{position:absolute;top:-.15rem;right:-.15rem}.home-tile-schedule{border-color:#0071e338}.home-tile-schedule .home-tile-icon svg{color:var(--accent)}.home-tile-notifications{border-color:#ff3b302e}.home-tile-notifications .home-tile-icon svg{color:#ff3b30}.schedule-block{border-radius:var(--radius);background:#78788014;margin-top:1.25rem;padding:1rem}.schedule-section-title{align-items:center;gap:.45rem;margin:0 0 .85rem;font-size:.95rem;font-weight:750;display:flex}.schedule-section-title svg{width:1.2rem;height:1.2rem;color:var(--accent)}.schedule-week,.schedule-exceptions{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.schedule-day strong{margin-bottom:.45rem;font-size:.88rem;display:block}.schedule-slots{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.schedule-slot{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);gap:.15rem;padding:.75rem .85rem;display:grid}.schedule-slot-time,.schedule-slot-location{align-items:center;gap:.35rem;font-size:.86rem;display:inline-flex}.schedule-slot-time svg,.schedule-slot-location svg{width:.95rem;height:.95rem;color:var(--accent)}.schedule-slot-group{font-size:.9rem;font-weight:650}.schedule-exception{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);gap:.2rem;padding:.85rem;display:grid}.schedule-exception.is-cancelled{border-color:color-mix(in srgb, var(--danger) 24%, var(--line))}.schedule-exception em{color:var(--muted);font-size:.84rem;font-style:normal}.timeline-list{gap:0;margin:0;padding:0 0 0 .35rem;list-style:none;display:grid}.timeline-item{border-left:2px solid color-mix(in srgb, var(--accent) 22%, var(--line));grid-template-columns:auto 1fr;gap:.75rem;margin-left:.65rem;padding:0 0 1rem .5rem;display:grid}.timeline-item:last-child{border-left-color:#0000}.timeline-icon{background:var(--surface);border:2px solid color-mix(in srgb, var(--accent) 30%, var(--line));width:2rem;height:2rem;color:var(--accent);border-radius:50%;place-items:center;margin-left:-1.35rem;display:grid}.timeline-icon svg{width:1rem;height:1rem}.timeline-content{gap:.15rem;display:grid}.timeline-content time{color:var(--muted);font-size:.75rem}.timeline-content strong{font-size:.92rem}.timeline-content p{color:var(--muted);margin:0;font-size:.86rem}.timeline-content em{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem;font-style:normal;font-weight:700}.visit-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;display:grid}.visit-stat{border-radius:var(--radius-sm);text-align:center;background:#78788014;gap:.15rem;padding:.75rem .55rem;display:grid}.visit-stat strong{font-size:1.35rem;line-height:1}.visit-stat span{color:var(--muted);font-size:.72rem}.visit-stat.is-present strong{color:var(--ok)}.visit-stat.is-absent strong{color:var(--danger)}.child-goals-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.child-goal-item{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);padding:.85rem .95rem}.child-goal-item.is-completed{border-color:color-mix(in srgb, var(--ok) 28%, var(--line))}.child-goal-item p{color:var(--muted);margin:.35rem 0 0;font-size:.86rem}.child-goal-meta{color:var(--muted);justify-content:space-between;gap:.75rem;margin-top:.45rem;font-size:.78rem;display:flex}.child-goal-meta em{font-style:normal;font-weight:700}.club-records-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.club-record-item{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);padding:.85rem .95rem}.club-record-head{align-items:flex-start;gap:.55rem;display:flex}.club-record-head svg{color:#ff9500;flex-shrink:0;width:1.1rem;height:1.1rem;margin-top:.1rem}.club-record-head span{color:var(--muted);font-size:.82rem;display:block}.club-record-value{gap:.1rem;margin-top:.55rem;display:grid}.club-record-value strong{font-size:1.05rem}.club-record-value span,.club-record-value em{color:var(--muted);font-size:.82rem;font-style:normal}.diary-rewards{margin-top:.85rem}.diary-reward-list{gap:.55rem;margin:.35rem 0 0;padding:0;list-style:none;display:grid}.diary-reward-item{border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .85rem;display:flex}.diary-reward-item.is-locked{opacity:.72}.diary-reward-copy{gap:.15rem;min-width:0;display:grid}.diary-reward-copy span{color:var(--muted);font-size:.84rem}.diary-reward-copy em{color:var(--accent);font-size:.78rem;font-style:normal}.diary-redeem-success{color:var(--ok);margin:0 0 .75rem;font-size:.88rem;font-weight:650}@media (width<=639px){.main{padding:1rem .85rem 2rem}.topbar{padding:calc(.65rem + var(--safe-top) * .25) .85rem .65rem}.page-sub{margin-bottom:1.15rem;font-size:.95rem}.kids-section-tabs{margin-bottom:.85rem}.kids-section-tab{min-height:3rem;padding:.5rem .15rem}.kids-section-tab svg{width:1.75rem;height:1.75rem}.kids-child-title{font-size:1.35rem}.kids-slide{text-align:left}.result-card-head{flex-direction:column;align-items:stretch;gap:.55rem}.result-card-latest{text-align:left;justify-items:start}.diary-reward-item{flex-direction:column;align-items:stretch}.diary-reward-item .btn{width:100%;min-height:2.75rem}.diary-challenge-list li{flex-direction:column;align-items:flex-start}.events-rsvp{flex-wrap:wrap}.events-rsvp .btn{flex:calc(50% - .25rem);min-width:0;min-height:2.75rem}.notifications-head{flex-direction:column;align-items:stretch}.notifications-read-all{align-self:flex-start}.diary-item{grid-template-columns:1fr}.diary-item-delete{border-top:1px solid var(--line);justify-content:center;min-height:2.75rem}.visit-stats-grid{grid-template-columns:1fr}.tabbar{padding:.35rem .35rem var(--safe-bottom)}.tabbar.tabs-6 .tab{padding:.35rem .08rem}.home-tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.home-tile{min-height:7.35rem;padding:.95rem .45rem .85rem}.home-tile-icon{width:3.6rem;height:3.6rem}.home-tile-icon svg{width:3.25rem;height:3.25rem}.home-tile-label{letter-spacing:.035em;max-width:none;font-size:.7rem}.diary-ratings{flex-wrap:wrap;justify-content:flex-start;gap:.35rem;display:flex}.diary-history-item{text-align:left}.diary-form-actions{flex-direction:column}.diary-form-actions .btn,.diary-form-actions button{width:100%;min-height:2.75rem}.profile-actions{grid-template-columns:1fr}.profile-head .name{font-size:1.45rem}.recommend-row{flex-direction:column;align-items:flex-start}.chat-header-row{flex-direction:column}.diary-history-head{gap:.65rem;display:grid}.sector-grid{grid-template-columns:1fr}}@media (width<=380px){.home-tile-grid{gap:.45rem}.events-rsvp .btn{flex-basis:100%}}
