:root{--accent-ink:#23649f;--accent-soft:#8cc0ea29;--success-ink:#2e7d4f;--success-soft:#e3f2e8;--danger-ink:#b3403a;--danger-soft:#f9e9e8;--warn-ink:#8a6116;--warn-soft:#f7efdc;--hue-sky:#dcebf8;--hue-sky-ink:#23649f;--hue-violet:#e7e3f6;--hue-violet-ink:#5b4ea8;--hue-amber:#f7ecd4;--hue-amber-ink:#8a6116;--hue-rose:#f9e4e8;--hue-rose-ink:#a83a52;--hue-green:#e3f2e8;--hue-green-ink:#2e7d4f;--hue-coral:#fbe7dd;--hue-coral-ink:#a84f2e;--hue-navy:#e2e6f0;--hue-navy-ink:#33415e;--radius-sm:12px;--radius-md:16px;--radius-lg:20px;--radius-hero:24px;--shadow-xs:0 1px 2px #161f330d;--shadow-card:0 1px 2px #161f330a, 0 10px 24px -18px #161f3347;--shadow-pop:0 16px 34px -18px #161f3352;--shadow-hi:0 24px 50px -24px #161f3361;--hairline:1px solid var(--ink-line);--ring-track:#5b9fd626;--sp-1:.4rem;--sp-2:.7rem;--sp-3:1rem;--sp-4:1.4rem;--sp-5:2rem;--text-2xs:.68rem;--text-xs:.72rem;--text-sm:.82rem;--text-base:.92rem;--text-md:1.05rem;--text-lg:1.2rem;--text-data:1.45rem;--track-label:.1em;--lh-tight:1.2;--domain-phonemic_awareness:#6fb1e8;--domain-phonemic_awareness-2:#3e7fc1;--domain-working_memory:#a08ee8;--domain-working_memory-2:#6d5bd0;--domain-attention:#f3bc55;--domain-attention-2:#e08c2f;--domain-narrative:#f28aa8;--domain-narrative-2:#d9537a;--domain-vocabulary:#66c78e;--domain-vocabulary-2:#2f9d63;--domain-articulation:#f29570;--domain-articulation-2:#e0653a;--domain-guided:#8298c9;--domain-guided-2:#4a5d8f}.page-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);display:flex}.page-head .page-h,.page-head .page-sub{margin-bottom:0}.row-between{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.center-link{text-align:center;margin-top:var(--sp-4);color:var(--accent-ink);font-size:.9rem;font-weight:700;display:block}.center-link:hover{text-decoration:underline}.app-shell,.auth-shell,.player-wrap{touch-action:manipulation}.app-tab:active,.row-item:active,.path-row:active .path-card,.area-head:active,.opt-card:active,.btn:active,.icon-btn:active{transform:scale(.97)}.btn,.app-tab,.row-item,.icon-btn{transition:transform .12s var(--ease), background .16s, border-color .16s, color .16s, box-shadow .16s}.spinner{border:2px solid #23649f40;border-top-color:var(--accent-ink);border-radius:50%;width:18px;height:18px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.sk{background:linear-gradient(100deg,#161f330f 30%,#161f331c 50%,#161f330f 70%) 0 0/200% 100%;border-radius:8px;animation:1.3s ease-in-out infinite sk-shimmer;display:block}@keyframes sk-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sk-line{border-radius:7px;height:14px}.sk-hero{border-radius:var(--radius-hero);height:128px;margin:1.2rem 0 1.6rem}.sk-rows{flex-direction:column;gap:.6rem;display:flex}.sk-row{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-md);align-items:center;gap:.9rem;min-height:62px;padding:.85rem 1rem;display:flex}.sk-tile{border-radius:13px;flex:none;width:44px;height:44px}.sk-row-body{flex:1;min-width:0}.sk-stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.7rem;margin:1.1rem 0 1.4rem;display:grid}.sk-stat{border-radius:var(--radius-md);height:74px}.sk-player{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.8rem;width:100%;max-width:560px;margin-inline:auto;padding:.6rem 1.2rem 2rem;display:flex}.sk-player-tile{border-radius:22px;width:72px;height:72px}.sk-player .sk-line{align-self:center}.sk-player-card{border-radius:var(--radius-lg);width:100%;height:88px;margin-top:.6rem}.sk-player-btn{border-radius:999px;width:100%;height:52px;margin-top:.4rem}@media (prefers-reduced-motion:reduce){.sk,.spinner{animation:none}.app-tab:active,.row-item:active,.path-row:active .path-card,.area-head:active,.opt-card:active,.btn:active,.icon-btn:active{transform:none}}.app-shell :focus-visible,.auth-shell :focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px;border-radius:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-shell{background:radial-gradient(120% 90% at 50% 0%, var(--cream-hi), transparent 60%), var(--cream);min-height:100dvh}.auth-brand{display:none}.auth-panel{flex-direction:column;min-height:100dvh;display:flex}.auth-panel-top{justify-content:space-between;align-items:center;padding:1.1rem clamp(1.2rem,4vw,2rem);display:flex}.auth-panel-main{flex:1;justify-content:center;align-items:flex-start;padding:clamp(1rem,3vh,2.4rem) 1.2rem 3rem;display:flex}.auth-main{justify-content:center;align-items:flex-start;padding:clamp(1rem,4vh,3rem) 1.2rem 3rem;display:flex}@media (min-width:900px){.auth-shell{grid-template-columns:1.05fr 1fr;display:grid}.auth-brand{color:#fff;background:radial-gradient(130% 120% at 8% -10%, #a08ee88c, transparent 55%), radial-gradient(120% 130% at 100% 110%, #6fb1e880, transparent 55%), linear-gradient(160deg, #1b2740, var(--navy-800,#0e1320));flex-direction:column;justify-content:space-between;gap:2rem;padding:clamp(2rem,4vw,3.2rem);display:flex;position:relative;overflow:hidden}.auth-brand:before{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffff1f}.auth-brand .brand{color:#fff;font-size:1.2rem}.auth-panel-top .auth-panel-brand{display:none}.auth-panel-main{align-items:center;padding-bottom:5rem}}.auth-brand-head,.auth-brand-body{z-index:1;position:relative}.auth-brand-title{letter-spacing:-.035em;color:#fff;max-width:16ch;margin-bottom:1.6rem;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;line-height:1.12}.auth-brand-points{flex-direction:column;gap:.9rem;list-style:none;display:flex}.auth-brand-points li{color:#ffffffeb;align-items:flex-start;gap:.7rem;font-size:1.02rem;font-weight:500;line-height:1.4;display:flex}.auth-brand-tick{color:#fff;background:#ffffff29;border-radius:8px;flex:none;place-items:center;width:26px;height:26px;display:grid;box-shadow:inset 0 0 0 1px #ffffff2e}.auth-brand-quote{z-index:1;color:#ffffff9e;font-size:.85rem;font-style:italic;position:relative}.auth-card{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-lg);width:100%;max-width:430px;box-shadow:var(--shadow-card);padding:clamp(1.5rem,4vw,2.2rem)}.auth-title{letter-spacing:-.03em;margin-bottom:.4rem;font-size:1.55rem}.auth-lead{color:var(--ink-soft);margin-bottom:1.4rem;font-size:.95rem;line-height:1.5}.auth-alt{border-top:1px solid var(--ink-line);color:var(--ink-soft);text-align:center;margin-top:1.4rem;padding-top:1.2rem;font-size:.92rem}.auth-alt a{color:var(--accent-ink);font-weight:600}.auth-alt a:hover{text-decoration:underline}.role-switch{grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.3rem;display:grid}.role-opt{text-align:left;border:1.5px solid var(--ink-line);border-radius:var(--radius-sm);background:0 0;min-height:44px;padding:.85rem .95rem;transition:border-color .18s,background .18s}.role-opt b{color:var(--ink);font-size:.95rem;display:block}.role-opt span{color:var(--ink-soft);margin-top:.2rem;font-size:.78rem;line-height:1.35;display:block}.role-opt[aria-pressed=true]{border-color:var(--accent-ink);background:var(--accent-soft)}.field{margin-bottom:1rem}.label{color:var(--ink);margin-bottom:.35rem;font-size:.86rem;font-weight:600;display:block}.input,.textarea,.select{width:100%;color:var(--ink);border:1.5px solid var(--ink-line);border-radius:var(--radius-sm);background:#fff;min-height:48px;padding:.7rem .85rem;font-family:inherit;font-size:1rem;transition:border-color .18s,box-shadow .18s;display:block}.textarea{resize:vertical;line-height:1.5}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent-ink);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.form-hint{color:var(--ink-soft);margin-top:.3rem;font-size:.8rem}.form-error{background:var(--danger-soft);color:var(--danger-ink);border-radius:var(--radius-sm);border:1px solid #b3403a40;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.7rem .85rem;font-size:.88rem;line-height:1.45;display:flex}.form-success{background:var(--success-soft);color:var(--success-ink);border-radius:var(--radius-sm);border:1px solid #2e7d4f40;margin-bottom:1rem;padding:.7rem .85rem;font-size:.88rem;line-height:1.45}.btn-primary{background:var(--ink);color:#fff;box-shadow:0 10px 24px -12px #161f33b3}.btn-primary:hover{background:#0f1726;transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:default;transform:none}.btn-outline{border:1.5px solid var(--ink-line);color:var(--ink);background:0 0}.btn-outline:hover{border-color:var(--ink)}.btn-danger-ghost{color:var(--danger-ink)}.btn-danger-ghost:hover{background:var(--danger-soft)}.btn-block{width:100%}.btn-sm{padding:.55rem 1rem;font-size:.88rem}.app-shell{background:radial-gradient(90% 55% at 100% -8%, #a08ee81a, transparent 58%), radial-gradient(90% 55% at 0% -6%, #8cc0ea21, transparent 58%), radial-gradient(120% 60% at 50% 108%, #e0a94e0f, transparent 62%), var(--cream);min-height:100dvh;position:relative}.app-shell:before{content:"";z-index:0;pointer-events:none;opacity:.38;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.app-shell>*{z-index:1;position:relative}.app-viewport{min-width:0;min-height:100dvh;padding-bottom:calc(74px + env(safe-area-inset-bottom));flex-direction:column;display:flex}.app-sidebar{display:none}@media (min-width:1024px){.app-shell{grid-template-columns:244px minmax(0,1fr);align-items:start;display:grid}.app-viewport{padding-bottom:0}.app-sidebar{background:linear-gradient(180deg, #fff9, #fff0), var(--cream-hi);border-right:1px solid var(--ink-line);flex-direction:column;align-self:stretch;gap:.5rem;height:100dvh;padding:1.15rem .85rem 1rem;display:flex;position:sticky;top:0}}.side-brand{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:.5rem;padding:.35rem .6rem .85rem;font-size:1.15rem;font-weight:800;display:inline-flex}.side-nav{flex-direction:column;gap:.2rem;display:flex}.side-link{border-radius:var(--radius-sm);color:var(--ink-soft);align-items:center;gap:.7rem;padding:.62rem .7rem;font-size:.94rem;font-weight:600;transition:color .16s,background .16s,box-shadow .16s;display:flex;position:relative}.side-link:hover{color:var(--ink);background:#161f330a}.side-ico{width:22px;height:22px;color:var(--ink-soft);flex:none;place-items:center;transition:color .16s;display:grid}.side-link:hover .side-ico{color:var(--ink)}.side-label{flex:1;min-width:0}.side-link[aria-current=page]{color:var(--accent-ink);box-shadow:inset 0 0 0 1px #23649f29, var(--shadow-xs);background:linear-gradient(#8cc0ea38,#8cc0ea21)}.side-link[aria-current=page] .side-ico{color:var(--accent-ink)}.side-link[aria-current=page] .side-ico svg{stroke-width:2.4px}.side-badge{background:var(--danger-ink);color:#fff;border-radius:999px;flex:none;place-items:center;min-width:20px;height:20px;padding:0 .35rem;font-size:.68rem;font-weight:800;display:grid}.side-foot{border-top:1px solid var(--ink-line);flex-direction:column;gap:.6rem;margin-top:auto;padding-top:.7rem;display:flex}.side-user{border:1px solid var(--ink-line);background:#161f3308;border-radius:12px;align-items:center;gap:.55rem;min-width:0;padding:.35rem .4rem;display:flex}.side-avatar{color:#fff;background:linear-gradient(135deg, var(--sky), var(--sky-deep));border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:.82rem;font-weight:800;display:grid;box-shadow:0 4px 10px -5px #3f7fc4b3}.side-user-name{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.85rem;font-weight:600;overflow:hidden}.side-foot-row{justify-content:space-between;align-items:center;gap:.5rem;padding:0 .15rem;display:flex}.side-foot-row .lang-switch,.side-foot-row form{flex:none}.side-foot-row .btn{padding-inline:.85rem}.app-header{z-index:40;-webkit-backdrop-filter:saturate(180%)blur(14px);backdrop-filter:saturate(180%)blur(14px);border-bottom:1px solid var(--ink-line);background:#f4f2ece6;position:sticky;top:0}.app-header-inner{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:1140px;height:60px;margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem);display:flex}.app-header .brand{font-size:1.05rem}.app-header-actions{align-items:center;gap:.6rem;display:flex}.app-user{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;max-width:16ch;font-size:.82rem;overflow:hidden}@media (max-width:600px){.app-user{display:none}}.app-main{width:100%;max-width:1040px;margin-inline:auto;padding:clamp(1.1rem,3.5vw,1.8rem) clamp(1.1rem,4vw,1.6rem) 2.5rem}.app-main-wide{max-width:1140px}.dash{gap:1.1rem;display:grid}.dash-main,.dash-side{min-width:0}@media (min-width:900px){.dash{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:1.6rem}.dash-main{order:1;min-width:0}.dash-side{flex-direction:column;order:2;gap:.6rem;display:flex;position:sticky;top:84px}.dash-main>.section-label:first-child,.dash-side>.section-label:first-child{margin-top:0}}@media (min-width:1024px){.dash-side{top:1.4rem}}.pane{gap:1.1rem;display:grid}.pane-rail{flex-direction:column;gap:.8rem;min-width:0;display:flex}@media (min-width:940px){.pane{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.6rem}.pane-rail{position:sticky;top:1.4rem}}.grid-2{align-items:start;gap:1rem;display:grid}@media (min-width:820px){.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.col-stack{flex-direction:column;gap:1rem;min-width:0;display:flex}.col-stack>.section-label:first-child{margin-top:0}.info-card{background:linear-gradient(180deg, var(--cream-hi), #ffffff80);border:1px solid var(--ink-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1rem 1.05rem}.info-card+.info-card{margin-top:0}.info-head{align-items:center;gap:.7rem;margin-bottom:.7rem;display:flex}.info-avatar{color:#fff;background:linear-gradient(135deg, var(--sky), var(--sky-deep));border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:1rem;font-weight:800;display:grid;box-shadow:0 6px 14px -7px #3f7fc4b3}.info-name{letter-spacing:-.01em;color:var(--ink);font-size:.98rem;font-weight:800;line-height:1.2;display:block}.info-role{font-size:var(--text-sm);color:var(--ink-soft);display:block}.info-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.info-row{font-size:var(--text-sm);color:var(--ink-soft);align-items:flex-start;gap:.55rem;line-height:1.4;display:flex}.info-row svg{color:var(--accent-ink);flex:none;margin-top:1px}.benefits{flex-direction:column;gap:.7rem;list-style:none;display:flex}.benefit{color:var(--ink);align-items:flex-start;gap:.65rem;font-size:.92rem;line-height:1.4;display:flex}.benefit-ico{width:26px;height:26px;color:var(--success-ink);background:var(--success-soft);border-radius:8px;flex:none;place-items:center;display:grid}.order-card{background:linear-gradient(180deg, #fff, var(--cream-hi));border:1px solid var(--ink-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.15rem 1.2rem}.order-top{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.order-price{letter-spacing:-.03em;white-space:nowrap;color:var(--ink);font-size:1.7rem;font-weight:800}.order-price span{color:var(--ink-soft);margin-left:.2rem;font-size:.8rem;font-weight:600}.checkout-done{text-align:center;padding:2rem 1.4rem}.checkout-done-ico{width:60px;height:60px;color:var(--success-ink);background:var(--success-soft);border-radius:50%;place-items:center;display:inline-grid;box-shadow:0 8px 20px -10px #2e7d4f99}.row-list.row-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:.7rem;display:grid}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:.8rem;list-style:none;display:grid}.lib-filter-row{flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.55rem;display:flex}.lib-filter-label{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);min-width:4.6rem;margin-right:.2rem;font-size:.68rem;font-weight:700}.lib-card{background:linear-gradient(180deg, var(--cream-hi), #ffffff80);border:1px solid var(--ink-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:box-shadow .18s var(--ease), transform .18s var(--ease);flex-direction:column;gap:.6rem;padding:.95rem 1rem .85rem;display:flex}.lib-card:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.lib-card[data-inactive]{opacity:.6}.lib-card-head{align-items:center;gap:.7rem;display:flex}.lib-card-id{flex-direction:column;gap:.15rem;min-width:0;display:flex}.lib-card-title{letter-spacing:-.01em;color:var(--ink);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.98rem;font-weight:700;line-height:1.2;display:flex}.lib-flag{padding:.1rem .4rem;font-size:.62rem}.lib-card-meta{font-size:var(--text-sm);color:var(--ink-soft)}.lib-card-summary{font-size:var(--text-sm);color:var(--ink-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;line-height:1.5;display:-webkit-box;overflow:hidden}.lib-card-actions{border-top:1px solid var(--ink-line);flex-wrap:wrap;gap:.4rem;margin-top:.1rem;padding-top:.7rem;display:flex}.chat-panel{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);overflow:hidden}.chat-panel-head{border-bottom:1px solid var(--ink-line);background:linear-gradient(#ffffff8c,#0000);align-items:center;gap:.7rem;padding:.85rem 1.1rem;display:flex}.chat-panel-body{padding:1.1rem 1.15rem}.hist-groups{flex-direction:column;gap:.4rem;display:flex}.hist-group{padding-bottom:.9rem;padding-left:1.6rem;position:relative}.hist-group:before{content:"";background:linear-gradient(var(--ink-line), #e2ddd259);width:2px;position:absolute;top:6px;bottom:0;left:5px}.hist-group:last-child:before{height:18px;bottom:auto}.hist-day-label{font-size:var(--text-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-soft);align-items:baseline;gap:.5rem;margin-bottom:.55rem;font-weight:800;display:flex;position:relative}.hist-day-label:before{content:"";background:var(--accent-ink);width:12px;height:12px;box-shadow:0 0 0 3px var(--cream), 0 0 0 4.5px #23649f33;border-radius:50%;position:absolute;top:1px;left:-1.6rem}.hist-day-label .n{letter-spacing:0;text-transform:none;opacity:.65;font-weight:600}.hist-list{flex-direction:column;gap:.3rem;list-style:none;display:flex}.hist-item{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-md);transition:border-color .18s var(--ease), box-shadow .18s var(--ease)}.hist-item[data-shared]{background:0 0;border-style:dashed}.hist-item[open]{box-shadow:var(--shadow-card);border-color:#23649f42}.hist-item>summary,.hist-item>.hist-row{cursor:pointer;border-radius:var(--radius-md);align-items:center;gap:.6rem;padding:.5rem .7rem;list-style:none;display:flex}.hist-item>.hist-row{cursor:default}.hist-item[open]>summary{border-radius:var(--radius-md) var(--radius-md) 0 0;background:linear-gradient(#8cc0ea1c,#0000)}.hist-item>summary::-webkit-details-marker{display:none}.hist-item>summary:hover{background:#161f3305}.hist-chev{color:var(--ink-soft);transition:transform .2s var(--ease);flex:none;place-items:center;display:grid}.hist-item[open] .hist-chev{color:var(--accent-ink);transform:rotate(180deg)}.hist-detail{border-top:1px solid var(--ink-line);border-radius:0 0 var(--radius-md) var(--radius-md);background:linear-gradient(#161f3305,#0000 45%);padding:.85rem .8rem .9rem}.hist-item[data-shared] .hist-detail{border-top-style:dashed}.hist-parent-note{font-size:var(--text-sm);color:var(--ink-soft);background:var(--cream);border-left:2.5px solid #23649f4d;border-radius:0 8px 8px 0;margin-bottom:.75rem;padding:.45rem .65rem;font-style:italic;line-height:1.5}.hist-main{flex:1;min-width:0}.hist-title{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;line-height:1.3;display:block;overflow:hidden}.hist-note{font-size:var(--text-sm);color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;display:block;overflow:hidden}.hist-done{font-size:var(--text-sm);color:var(--ink-soft);flex:none;align-items:center;gap:.25rem;font-weight:600;display:inline-flex}.ex-trend{color:var(--success-ink);flex:none;font-size:.95rem;font-weight:800;line-height:1}.tricky-lead{font-size:var(--text-sm);color:var(--ink-soft);max-width:62ch;margin:-.1rem 0 .9rem}.tx-list{flex-direction:column;gap:.6rem;list-style:none;display:flex}.tx-card{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);align-items:center;gap:.85rem;padding:.8rem .95rem;display:flex}.tx-body{flex:1;min-width:0}.tx-title{font-size:var(--text-md);color:var(--ink);font-weight:700;line-height:1.25}.tx-words{flex-wrap:wrap;gap:.35rem;margin-top:.45rem;display:flex}.tx-word{font-size:var(--text-sm);color:var(--warn-ink);background:var(--warn-soft);border-radius:999px;padding:.18rem .62rem;font-weight:600}.tx-meta{font-size:var(--text-sm);color:var(--ink-soft);margin-top:.32rem}.tx-cta{flex:none}@media (max-width:460px){.tx-card{flex-wrap:wrap}.tx-cta{width:100%;margin-top:.2rem}}.tricky-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.tricky-row{align-items:center;gap:.6rem;display:flex}.tricky-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.9rem;font-weight:600;overflow:hidden}.tricky-count{background:var(--danger-soft);color:var(--danger-ink);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:.28rem .6rem;font-size:.72rem;font-weight:700}.app-tabs{z-index:45;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--ink-line);padding:.35rem .4rem calc(.35rem + env(safe-area-inset-bottom));background:#fbfaf6f5;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.app-tab{max-width:120px;color:var(--ink-soft);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:.15rem;min-height:48px;padding:.45rem .3rem;font-size:.68rem;font-weight:600;transition:color .18s,background .18s;display:flex;position:relative}.app-tab .tab-ico{place-items:center;line-height:1;display:grid}.app-tab[aria-current=page] .tab-ico svg{stroke-width:2.5px}.app-tab:hover{color:var(--ink)}.app-tab[aria-current=page]{color:var(--accent-ink);background:var(--accent-soft)}.tab-dot{background:var(--danger-ink);border:2px solid var(--cream-hi);border-radius:50%;width:9px;height:9px;position:absolute;top:6px;right:22%}@media (min-width:720px){.app-shell{padding-bottom:0}.app-tabs{-webkit-backdrop-filter:none;backdrop-filter:none;border-top:none;border-bottom:1px solid var(--ink-line);background:0 0;justify-content:flex-start;gap:.3rem;width:100%;max-width:1140px;margin-inline:auto;padding:0 clamp(1.1rem,4vw,2rem);position:static}.app-tab{border-radius:0;flex-direction:row;flex:none;gap:.45rem;max-width:none;min-height:44px;padding:.75rem .9rem;font-size:.86rem}.app-tab .tab-ico svg{width:18px;height:18px}.app-tab[aria-current=page]{box-shadow:inset 0 -2px 0 var(--accent-ink);background:0 0}.tab-dot{border:none;margin-left:.1rem;position:static}}@media (min-width:1024px){.app-header,.app-tabs{display:none}.app-main{max-width:1260px;padding:1.9rem clamp(1.5rem,3vw,2.6rem) 3rem}.app-main-wide{max-width:1340px}}.card{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.1rem 1.15rem}.card+.card{margin-top:.7rem}.card-title{font-size:var(--text-md);letter-spacing:-.015em;margin-bottom:.2rem;font-weight:800}.card-sub{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.5}.card-head{justify-content:space-between;align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}@media (max-width:520px){.card-head{flex-direction:column;gap:.6rem}}.section-label{font-size:var(--text-xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-soft);margin:var(--sp-4) 0 var(--sp-2);font-weight:800;display:block}.section-label:before{content:"";vertical-align:middle;background:linear-gradient(90deg, var(--accent-ink), #23649f33);border-radius:2px;width:14px;height:2px;margin-bottom:2px;margin-right:.5rem;display:inline-block}.section-label:first-child{margin-top:0}.page-h{font-family:var(--font-display);letter-spacing:-.015em;margin-bottom:.35rem;font-size:clamp(1.65rem,4.6vw,2.1rem);font-weight:600;line-height:1.12}.page-sub{color:var(--ink-soft);margin-bottom:var(--sp-4);font-size:.95rem;line-height:1.5}.row-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.row-item{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-md);align-items:center;gap:.75rem;min-height:52px;padding:.7rem .9rem;display:flex}a.row-item{transition:border-color .18s, transform .18s var(--ease)}a.row-item:hover{border-color:var(--accent-ink);transform:translateY(-1px)}.row-ico{background:var(--accent-soft);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:1.3rem;display:grid}.row-body{flex:1;min-width:0}.row-title{color:var(--ink);font-size:.95rem;font-weight:600;line-height:1.3}.row-sub{color:var(--ink-soft);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.row-end{text-align:right;color:var(--ink-soft);flex:none;font-size:.78rem}.chip{color:var(--ink-soft);border:1px solid var(--ink-line);white-space:nowrap;background:#161f330a;border-radius:999px;align-items:center;gap:.35rem;padding:.32rem .7rem;font-size:.78rem;font-weight:600;display:inline-flex}.chip-hue{background:var(--chip-bg,var(--accent-soft));color:var(--chip-ink,var(--accent-ink));border:none}.chip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}button.chip{cursor:pointer}.badge-count{background:var(--danger-ink);color:#fff;border-radius:999px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.68rem;font-weight:700;display:inline-grid}.hue-sky{--chip-bg:var(--hue-sky);--chip-ink:var(--hue-sky-ink)}.hue-violet{--chip-bg:var(--hue-violet);--chip-ink:var(--hue-violet-ink)}.hue-amber{--chip-bg:var(--hue-amber);--chip-ink:var(--hue-amber-ink)}.hue-rose{--chip-bg:var(--hue-rose);--chip-ink:var(--hue-rose-ink)}.hue-green{--chip-bg:var(--hue-green);--chip-ink:var(--hue-green-ink)}.hue-coral{--chip-bg:var(--hue-coral);--chip-ink:var(--hue-coral-ink)}.hue-navy{--chip-bg:var(--hue-navy);--chip-ink:var(--hue-navy-ink)}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.7rem;display:grid}.stat{background:linear-gradient(180deg, var(--cream-hi), #ffffff73);border:1px solid var(--ink-line);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:box-shadow .18s var(--ease), transform .18s var(--ease);padding:.9rem 1rem}.stat:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.stat b{font-size:var(--text-data);letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;margin-bottom:.1rem;font-weight:800;line-height:1.1;display:block}.stat span{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.3}.pbar{background:#161f3312;border-radius:99px;height:8px;overflow:hidden;box-shadow:inset 0 1px 1.5px #161f330f}.pbar>i{background:linear-gradient(90deg, var(--sky-deep), var(--sky));height:100%;transition:width .7s var(--ease);border-radius:99px;display:block;box-shadow:inset 0 1px #ffffff59}.spark{display:block;overflow:visible}.spark-line{fill:none;stroke:currentColor;stroke-width:2.1px;stroke-linecap:round;stroke-linejoin:round}.spark-area{fill:currentColor;opacity:.11;stroke:none}.spark-halo{fill:var(--cream-hi)}.spark-dot{fill:currentColor}.trend-pill{font-variant-numeric:tabular-nums;border-radius:999px;flex:none;align-items:center;gap:.18rem;padding:.14rem .5rem .14rem .42rem;font-size:.72rem;font-weight:800;line-height:1;display:inline-flex}.trend-pill[data-dir=up]{color:var(--success-ink);background:var(--success-soft)}.trend-pill[data-dir=down]{color:var(--danger-ink);background:var(--danger-soft)}.trend-pill[data-dir=flat]{color:var(--ink-soft);background:#161f330f;padding-inline:.42rem}.domain-tile{color:#fff;flex:none;place-items:center;display:inline-grid}.tile-phonemic_awareness{background:linear-gradient(135deg, var(--domain-phonemic_awareness), var(--domain-phonemic_awareness-2));box-shadow:0 6px 14px -6px #3e7fc18c}.tile-working_memory{background:linear-gradient(135deg, var(--domain-working_memory), var(--domain-working_memory-2));box-shadow:0 6px 14px -6px #6d5bd08c}.tile-attention{background:linear-gradient(135deg, var(--domain-attention), var(--domain-attention-2));box-shadow:0 6px 14px -6px #e08c2f8c}.tile-narrative{background:linear-gradient(135deg, var(--domain-narrative), var(--domain-narrative-2));box-shadow:0 6px 14px -6px #d9537a8c}.tile-vocabulary{background:linear-gradient(135deg, var(--domain-vocabulary), var(--domain-vocabulary-2));box-shadow:0 6px 14px -6px #2f9d638c}.tile-articulation{background:linear-gradient(135deg, var(--domain-articulation), var(--domain-articulation-2));box-shadow:0 6px 14px -6px #e0653a8c}.tile-guided{background:linear-gradient(135deg, var(--domain-guided), var(--domain-guided-2));box-shadow:0 6px 14px -6px #4a5d8f8c}.bar-phonemic_awareness>i{background:linear-gradient(90deg, var(--domain-phonemic_awareness), var(--domain-phonemic_awareness-2))}.bar-working_memory>i{background:linear-gradient(90deg, var(--domain-working_memory), var(--domain-working_memory-2))}.bar-attention>i{background:linear-gradient(90deg, var(--domain-attention), var(--domain-attention-2))}.bar-narrative>i{background:linear-gradient(90deg, var(--domain-narrative), var(--domain-narrative-2))}.bar-vocabulary>i{background:linear-gradient(90deg, var(--domain-vocabulary), var(--domain-vocabulary-2))}.bar-articulation>i{background:linear-gradient(90deg, var(--domain-articulation), var(--domain-articulation-2))}.bar-guided>i{background:linear-gradient(90deg, var(--domain-guided), var(--domain-guided-2))}.ring-wrap{flex:none;place-items:center;display:inline-grid;position:relative}.ring-wrap svg{position:absolute;inset:0}.ring-arc{transition:stroke-dashoffset .9s var(--ease);filter:drop-shadow(0 3px 7px #3f7fc457)}.ring-center{text-align:center;line-height:1.02;position:relative}.ring-center b{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:800;display:block}.ring-center small{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:2px;font-size:.62rem;font-weight:700;display:block}.hero-day{background:radial-gradient(135% 175% at 100% 0%, #a08ee833, transparent 56%), radial-gradient(135% 175% at 0% 105%, #6fb1e847, transparent 58%), linear-gradient(180deg, #fff, var(--cream-hi));border:1px solid var(--ink-line);border-radius:var(--radius-hero);box-shadow:var(--shadow-card);align-items:center;gap:1.25rem;margin-bottom:1.4rem;padding:1.35rem 1.4rem;display:flex;position:relative;overflow:hidden}.hero-progress .hero-day-body{flex:0 auto}.hero-stats{flex-wrap:wrap;gap:.6rem;margin-left:auto;display:flex}.hero-stat{border-radius:var(--radius-md);border:1px solid var(--ink-line);min-width:92px;box-shadow:var(--shadow-xs);background:#fff9;flex-direction:column;gap:.25rem;padding:.75rem .9rem;display:flex}.hero-stat b{letter-spacing:-.03em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.45rem;font-weight:800;line-height:1}.hero-stat span{font-size:var(--text-xs);letter-spacing:.02em;text-transform:uppercase;color:var(--ink-soft);font-weight:600}.hero-stat .mini-stat-ico{border-radius:8px;width:26px;height:26px}@media (max-width:720px){.hero-progress{flex-wrap:wrap}.hero-stats{width:100%;margin-left:0}.hero-stat{flex:1;min-width:0}}.hero-day:before{content:"";border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 1px #ffffffb3}.hero-day-body{flex:1;min-width:0}.hero-day-title{letter-spacing:-.02em;color:var(--ink);font-size:1.12rem;font-weight:800}.hero-day-sub{color:var(--ink-soft);margin-top:.15rem;font-size:.85rem;line-height:1.4}.streak-chip{color:#b3552e;background:linear-gradient(135deg,#fdeadb,#fbdcc3);border-radius:999px;align-items:center;gap:.35rem;margin-top:.6rem;padding:.32rem .75rem;font-size:.8rem;font-weight:700;display:inline-flex}.streak-chip svg{color:#e0653a}.dstat-list{flex-direction:column;gap:.7rem;list-style:none;display:flex}.dcard{border-radius:var(--radius-md);background:linear-gradient(180deg, var(--cream-hi), #ffffff80);border:1px solid var(--ink-line);box-shadow:var(--shadow-xs);transition:box-shadow .18s var(--ease), transform .18s var(--ease);flex-direction:column;gap:.6rem;padding:.85rem .9rem .9rem;display:flex}.dcard:hover{box-shadow:var(--shadow-card);transform:translateY(-1px)}.dcard-head{align-items:center;gap:.6rem;display:flex}.dcard-id{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.dcard-name{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:700;line-height:1.2;overflow:hidden}.dcard-meta{font-size:var(--text-xs);color:var(--ink-soft);letter-spacing:.01em}.dcard-score{flex:none;align-items:center;gap:.4rem;display:flex}.dcard-pct{color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.15rem;font-weight:800}.dcard-pct[data-none]{color:var(--ink-line);font-size:1rem}.dcard-qual{text-align:right;max-width:8.5rem;color:var(--ink-soft);text-wrap:balance;flex:none;font-size:.72rem;font-weight:700;line-height:1.25}.dcard .pbar{height:8px;display:block}.dcard-spark{justify-content:space-between;align-items:flex-end;gap:.5rem;margin-top:.1rem;display:flex}.dcard-spark-label{font-size:var(--text-2xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-soft);opacity:.75;white-space:nowrap;font-weight:700}.hist-more{text-align:center;font-size:var(--text-sm);color:var(--ink-soft);margin-top:.9rem}.mini-stats{flex-wrap:wrap;gap:.45rem 1.1rem;margin-top:.65rem;display:flex}.mini-stat{color:var(--ink-soft);align-items:center;gap:.4rem;font-size:.8rem;display:inline-flex}.mini-stat b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:.92rem}.mini-stat-ico{color:#fff;border-radius:8px;place-items:center;width:24px;height:24px;display:inline-grid}.ico-sky{background:linear-gradient(135deg,#6fb1e8,#3e7fc1)}.ico-violet{background:linear-gradient(135deg,#a08ee8,#6d5bd0)}.ico-coral{background:linear-gradient(135deg,#f29570,#e0653a)}.week-pills{gap:.35rem;margin-top:.75rem;display:flex}.week-pill{max-width:44px;color:var(--ink-soft);background:#161f330b;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.4rem .15rem .35rem;font-size:.62rem;font-weight:700;display:flex}.week-pill svg{color:#161f3329}.week-pill[data-done]{color:#2f9d63;background:linear-gradient(135deg,#e3f2e8,#cdeadb)}.week-pill[data-done] svg{color:#f3bc55}.week-pill[data-today]{outline:2px solid var(--accent-ink);outline-offset:1px}.path{flex-direction:column;display:flex}.path-row{align-items:center;gap:.9rem;padding-bottom:1rem;display:flex;position:relative}.path-row:last-child{padding-bottom:0}.path-node{flex:none;justify-content:center;align-self:stretch;align-items:center;width:56px;display:flex;position:relative}.path-row:not(:last-child) .path-node:after{content:"";border-left:3px dashed #161f3329;border-radius:3px;position:absolute;top:calc(50% + 30px);bottom:calc(20px - 50%);left:50%;transform:translate(-50%)}.path-row[data-state=done]:not(:last-child) .path-node:after{border-left-style:solid;border-left-color:#7fcba1}.path-dot{color:#fff;z-index:1;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:relative}.path-row[data-state=done] .path-dot{background:linear-gradient(135deg,#66c78e,#2f9d63);box-shadow:0 6px 14px -6px #2f9d6399}.path-row[data-state=next] .path-dot{outline-offset:3px;animation:path-pulse 1.8s var(--ease) infinite;outline:3px solid #8cc0ea8c}.path-row[data-state=later] .path-dot{opacity:.8;filter:saturate(.55)}@keyframes path-pulse{0%,to{outline-offset:3px;outline-color:#8cc0ea8c}50%{outline-offset:6px;outline-color:#8cc0ea26}}.path-card{background:var(--cream-hi);border:1.5px solid var(--ink-line);border-radius:var(--radius-lg);min-width:0;transition:transform .16s var(--ease), border-color .16s, box-shadow .16s;flex:1;align-items:center;gap:.8rem;padding:.85rem 1rem;display:flex}a.path-row:hover .path-card{border-color:var(--accent-ink);transform:translateY(-2px);box-shadow:0 10px 22px -14px #161f334d}.path-row[data-state=next] .path-card{border-color:var(--sky-deep);box-shadow:0 12px 26px -14px #5b9fd673}.path-row[data-state=done] .path-card{background:linear-gradient(135deg, #e3f2e8b3, var(--cream-hi))}.path-title{color:var(--ink);font-size:.95rem;font-weight:700;line-height:1.25;display:block}.path-meta{color:var(--ink-soft);margin-top:.1rem;font-size:.76rem;display:block}.path-cta{border-radius:999px;flex:none;align-items:center;gap:.35rem;padding:.5rem .95rem;font-size:.8rem;font-weight:800;display:inline-flex}.path-cta-start{color:#0c1730;background:linear-gradient(#bfe0f6,#93c5ec);box-shadow:0 8px 18px -10px #8cc0eae6}.path-cta-done{color:#2f9d63;background:#e3f2e8}.path-cta-later{color:var(--ink-soft);background:#161f330d}.day-done{text-align:center;background:radial-gradient(130% 130% at 50% 0%, #f3bc552e, transparent 55%), var(--cream-hi);border:1.5px solid var(--ink-line);border-radius:var(--radius-lg);padding:1.8rem 1.4rem}.day-done .domain-tile{margin-inline:auto}.day-done b{margin-top:.7rem;font-size:1.15rem;display:block}.day-done p{color:var(--ink-soft);margin-top:.25rem;font-size:.88rem}.day-done-star{color:#fff;background:linear-gradient(135deg,#f3bc55,#e08c2f);border-radius:50%;place-items:center;width:58px;height:58px;display:inline-grid;box-shadow:0 10px 22px -10px #e08c2fb3}.wk-pill{flex-direction:column;flex:none;align-items:flex-end;gap:.3rem;display:flex}.wk-pill small{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:800}.wk-pill[data-full] small{color:#2f9d63}.wk-bar{background:#161f3314;border-radius:99px;width:56px;height:7px;overflow:hidden}.wk-bar>i{background:linear-gradient(90deg, var(--sky-deep), var(--sky));border-radius:99px;height:100%;display:block}.wk-pill[data-full] .wk-bar>i{background:linear-gradient(90deg,#66c78e,#2f9d63)}.score-pill{font-variant-numeric:tabular-nums;border-radius:999px;flex:none;align-items:center;gap:.3rem;padding:.32rem .7rem;font-size:.78rem;font-weight:800;display:inline-flex}.score-pill[data-tone=good]{color:#2f9d63;background:#e3f2e8}.score-pill[data-tone=mid]{color:#8a6116;background:#f7efdc}.score-pill[data-tone=low]{color:#a83a52;background:#f9e4e8}.score-pill[data-tone=none]{color:var(--ink-soft);background:#161f330d}.score-pill{box-shadow:inset 0 0 0 1px #161f330a}.rev{flex-direction:column;gap:.7rem;display:flex}.rev-meta{border-bottom:1px dashed var(--ink-line);padding-bottom:.6rem}.rev-chips{flex-wrap:wrap;gap:.35rem;margin-top:.3rem;display:flex}.rev-chip{color:var(--ink);background:var(--cream);border:1px solid var(--ink-line);border-radius:999px;align-items:center;gap:.28rem;padding:.22rem .6rem;font-size:.74rem;font-weight:600;line-height:1.2;display:inline-flex}.rev-cal{font-size:var(--text-sm);color:var(--ink-soft);border-left:2.5px solid var(--ink-line);margin-top:.5rem;padding-left:.65rem}.rev-cal[data-cal=ok]{border-color:var(--success-ink)}.rev-cal[data-cal=under]{border-color:var(--accent-ink)}.rev-cal[data-cal=over]{border-color:var(--warn-ink)}.rev-caption{font-size:var(--text-2xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--ink-soft);opacity:.72;margin-bottom:.15rem;font-weight:800;display:block}.rev-items{flex-wrap:wrap;gap:.4rem .42rem;list-style:none;display:flex}.rev-item{border:1px solid #0000;border-radius:999px;align-items:center;gap:.42rem;padding:.32rem .68rem .32rem .6rem;font-size:.85rem;font-weight:500;line-height:1.2;display:inline-flex}.rev-item:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.rev-item[data-tone=great]{color:var(--success-ink);background:#2e7d4f12}.rev-item[data-tone=great] .rev-label{color:var(--ink-soft)}.rev-item[data-tone=ok]{color:var(--warn-ink);background:var(--warn-soft)}.rev-item[data-tone=ok] .rev-label{color:var(--ink)}.rev-item[data-tone=grow]{color:var(--hue-coral-ink);background:var(--hue-coral);border-color:#a84f2e38}.rev-item[data-tone=grow] .rev-label{color:var(--hue-coral-ink);font-weight:600}.rev-label{min-width:0}.rev-hint{opacity:.85;font-size:.82rem;line-height:1}.rev-note{font-size:var(--text-sm);color:var(--ink-soft);line-height:1.5}.rev-step{flex-direction:column;gap:.28rem;display:flex}.rev-step-title{font-size:var(--text-2xs);letter-spacing:var(--track-label);text-transform:uppercase;color:var(--accent-ink);opacity:.85;font-weight:800}.rev-field{color:var(--ink);font-size:.9rem;line-height:1.5}.rev-field-k{font-size:var(--text-2xs);letter-spacing:.02em;text-transform:uppercase;color:var(--ink-soft);opacity:.75;margin-bottom:.05rem;font-weight:700;display:block}@media (prefers-reduced-motion:reduce){.path-row[data-state=next] .path-dot{animation:none}.ring-arc{transition:none}}.rhythm{flex-direction:column;gap:.4rem;margin-bottom:.5rem;display:flex}.rhythm-day{border:1px solid var(--ink-line);background:var(--cream-hi);border-radius:14px;align-items:center;gap:.7rem;min-height:48px;padding:.55rem .7rem;display:flex}.rhythm-day[data-today]{border-color:var(--accent-ink);background:var(--accent-soft)}.rhythm-dow{width:2.2rem;color:var(--ink-soft);flex:none;font-size:.82rem;font-weight:700}.rhythm-day[data-today] .rhythm-dow{color:var(--accent-ink)}.rhythm-items{flex-wrap:wrap;flex:1;align-items:center;gap:.3rem;display:flex}.rhythm-dot{box-shadow:none!important;border-radius:8px!important}.rhythm-empty{color:var(--ink-soft);font-size:.82rem}.rhythm-today-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);flex:none;font-size:.68rem;font-weight:800}.note-quote{background:linear-gradient(135deg, #8cc0ea1a, #a08ee812), var(--cream-hi);border:1px solid var(--ink-line);border-left:4px solid var(--sky-deep);border-radius:var(--radius-md);margin-bottom:1rem;padding:.9rem 1.1rem;position:relative}.note-quote-label{letter-spacing:.13em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:.3rem;font-size:.66rem;font-weight:800;display:block}.note-quote p{color:var(--ink);font-size:.95rem;line-height:1.55}.plan-week{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-md);margin-bottom:.7rem;padding:.85rem 1rem}.plan-week-top{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.plan-week-top b{color:var(--ink);font-size:.92rem}.plan-week-pct{color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:1.05rem;font-weight:800}.section-fold{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-md);margin-bottom:1.5rem;overflow:hidden}.section-fold>summary{cursor:pointer;align-items:center;gap:.7rem;min-height:52px;padding:.8rem 1rem;list-style:none;display:flex}.section-fold>summary::-webkit-details-marker{display:none}.fold-ico{color:#fff;background:linear-gradient(135deg,#8298c9,#4a5d8f);border-radius:11px;flex:none;place-items:center;width:36px;height:36px;display:grid}.fold-body{flex:1;min-width:0}.fold-title{color:var(--ink);font-size:.9rem;font-weight:700;display:block}.fold-sub{color:var(--ink-soft);margin-top:.05rem;font-size:.76rem;display:block}.fold-chev{color:var(--ink-soft);transition:transform .25s var(--ease);flex:none}.section-fold[open] .fold-chev{transform:rotate(180deg)}.fold-content{padding:0 .85rem .95rem}.area-list{flex-direction:column;gap:.55rem;display:flex}.area-card{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-lg);transition:border-color .16s,box-shadow .16s;overflow:hidden}.area-card[open]{box-shadow:0 10px 26px -18px #161f3359}.area-card[data-complete]{background:linear-gradient(135deg, #66c78e17, transparent 60%), var(--cream-hi)}.area-head{cursor:pointer;align-items:center;gap:.8rem;min-height:62px;padding:.8rem .95rem;list-style:none;display:flex}.area-head::-webkit-details-marker{display:none}.area-card:hover .area-head{background:#161f3304}.area-body{flex:1;min-width:0}.area-title{letter-spacing:-.01em;color:var(--ink);font-size:1rem;font-weight:800;display:block}.area-sub{color:var(--ink-soft);margin:.1rem 0 .4rem;font-size:.76rem;display:block}.area-bar{background:#161f3314;border-radius:99px;max-width:200px;height:7px;display:block;overflow:hidden}.area-bar>i{border-radius:99px;height:100%;display:block}.area-end{flex:none;align-items:center;gap:.5rem;display:flex}.area-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;background:#161f330d;border-radius:999px;align-items:center;gap:.25rem;padding:.28rem .6rem;font-size:.82rem;font-weight:800;display:inline-flex}.area-count[data-full]{color:#2f9d63;background:#e3f2e8}.area-chev{color:var(--ink-soft);transition:transform .25s var(--ease);place-items:center;display:grid}.area-card[open] .area-chev{transform:rotate(180deg)}.area-exercises{border-top:1px solid var(--ink-line);flex-direction:column;gap:.15rem;margin-top:-1px;padding:.15rem .55rem .6rem;display:flex}.ex-row{border-radius:12px;align-items:center;gap:.65rem;padding:.55rem;transition:background .14s;display:flex}.ex-row:hover{background:var(--accent-soft)}.ex-play{width:30px;height:30px;color:var(--accent-ink);background:#8cc0ea38;border-radius:9px;flex:none;place-items:center;display:grid}.ex-row[data-done] .ex-play{color:#2f9d63;background:#e3f2e8}.ex-body{flex:1;min-width:0}.ex-title{color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.25;display:block}.ex-sub{color:var(--ink-soft);font-size:.74rem;display:block}.ex-prog{flex-direction:column;flex:none;align-items:flex-end;gap:.25rem;display:flex}.ex-prog small{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:800}.ex-prog[data-full] small{color:#2f9d63}.ex-bar{background:#161f3314;border-radius:99px;width:48px;height:6px;overflow:hidden}.ex-bar>i{background:linear-gradient(90deg, var(--sky-deep), var(--sky));border-radius:99px;height:100%;display:block}.ex-prog[data-full] .ex-bar>i{background:linear-gradient(90deg,#66c78e,#2f9d63)}@media (prefers-reduced-motion:reduce){.area-chev,.fold-chev{transition:none}}.empty{text-align:center;border:1px solid var(--ink-line);border-radius:var(--radius-lg);background:linear-gradient(180deg, var(--cream-hi), #ffffff73);box-shadow:var(--shadow-xs);color:var(--ink-soft);padding:2.6rem 1.6rem}.empty-emoji{background:radial-gradient(120% 120% at 30% 20%, #8cc0ea47, transparent 60%), var(--cream);width:64px;height:64px;box-shadow:inset 0 0 0 1px var(--ink-line), var(--shadow-xs);border-radius:20px;place-items:center;margin-bottom:.85rem;font-size:1.9rem;display:inline-grid}.empty b{color:var(--ink);letter-spacing:-.01em;margin-bottom:.3rem;font-size:1.08rem;font-weight:800;display:block}.state-screen{background:radial-gradient(120% 60% at 50% 0%, var(--cream-hi), transparent 60%), var(--cream);place-items:center;min-height:100dvh;padding:2rem 1.4rem;display:grid}.state-view{text-align:center;flex-direction:column;align-items:center;max-width:30rem;display:flex}.state-icon{width:76px;height:76px;color:var(--accent-ink);border-radius:24px;place-items:center;margin-bottom:1.1rem;font-size:2.1rem;display:grid}.state-icon[data-tone=brand]{box-shadow:inset 0 0 0 1px #23649f29, var(--shadow-card);background:linear-gradient(135deg,#8cc0ea4d,#5b9fd62e)}.state-icon[data-tone=warn]{background:linear-gradient(135deg, var(--warn-soft), #f7efdc80);box-shadow:inset 0 0 0 1px #8a611629, var(--shadow-card)}.state-icon[data-tone=soft]{background:linear-gradient(135deg, var(--cream-hi), var(--cream));box-shadow:inset 0 0 0 1px var(--ink-line), var(--shadow-xs)}.state-title{letter-spacing:-.03em;color:var(--ink);margin-bottom:.45rem;font-size:clamp(1.35rem,4vw,1.6rem);font-weight:800}.state-lead{color:var(--ink-soft);max-width:24rem;font-size:.98rem;line-height:1.55}.state-action{flex-wrap:wrap;justify-content:center;gap:.7rem;margin-top:1.5rem;display:flex}.empty p{max-width:38ch;margin-inline:auto;font-size:.9rem;line-height:1.5}.player-wrap{--pl-hue:var(--cream-hi);background:radial-gradient(58% 44% at 10% 2%, color-mix(in srgb, var(--pl-hue) 82%, transparent), transparent 56%), radial-gradient(52% 40% at 96% 6%, color-mix(in srgb, var(--pl-hue) 60%, transparent), transparent 52%), radial-gradient(96% 56% at 50% 114%, color-mix(in srgb, var(--pl-hue) 46%, transparent), transparent 60%), var(--cream);flex-direction:column;min-height:100dvh;display:flex;position:relative}.player-wrap:before{content:"";z-index:0;pointer-events:none;opacity:.4;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.player-wrap>*{z-index:1;position:relative}.player-wrap[data-hue=sky]{--pl-hue:var(--hue-sky)}.player-wrap[data-hue=violet]{--pl-hue:var(--hue-violet)}.player-wrap[data-hue=amber]{--pl-hue:var(--hue-amber)}.player-wrap[data-hue=rose]{--pl-hue:var(--hue-rose)}.player-wrap[data-hue=green]{--pl-hue:var(--hue-green)}.player-wrap[data-hue=coral]{--pl-hue:var(--hue-coral)}.player-wrap[data-hue=navy]{--pl-hue:var(--hue-navy)}.btn-play{color:#0c1730;transition:transform .18s var(--ease), filter .18s;background:linear-gradient(#bfe0f6,#93c5ec);border-radius:999px;padding:1rem 1.7rem;font-size:1.05rem;font-weight:700;box-shadow:0 14px 28px -14px #8cc0eae6}.btn-play:hover{filter:brightness(1.04);transform:translateY(-2px)}.btn-play:active{transform:scale(.98)}.btn-play:disabled{opacity:.55;transform:none}.intro-tile{z-index:0;filter:drop-shadow(0 12px 22px #2a262029);place-items:center;margin:0 auto 1rem;display:grid;position:relative}.intro-tile:before{content:"";z-index:-1;background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 15%, transparent), transparent 64%);pointer-events:none;width:210%;height:210%;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.player-kicker{text-align:center;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-top:.6rem;font-size:.74rem;font-weight:700}.strategy-grid{flex-direction:column;gap:.7rem;display:flex}.opt-card.opt-strategy{text-align:left;flex-direction:row;justify-content:flex-start;gap:.9rem;min-height:76px;padding:1rem 1.2rem;font-size:1.05rem}.opt-card.opt-strategy .opt-emoji{font-size:1.9rem}.opt-radio{border:2px solid var(--ink-line);color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;transition:background .16s,border-color .16s;display:grid}.opt-strategy[data-state=correct] .opt-radio{background:var(--accent-ink);border-color:var(--accent-ink)}.pl-modal-overlay{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .18s var(--ease);background:#161f336b;place-items:center;padding:1.2rem;display:grid;position:fixed;inset:0}.pl-modal{background:var(--cream-hi);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);text-align:center;width:100%;max-width:380px;padding:1.5rem 1.4rem 1.3rem}.pl-modal-title{margin-bottom:1.2rem;font-size:1.05rem;font-weight:700;line-height:1.4}.pl-modal-actions{gap:.6rem;display:flex}@keyframes fade-in{0%{opacity:0}}.myplan-chip{color:var(--ink-soft);border:1px solid var(--ink-line);text-align:center;background:#ffffffbf;border-radius:999px;align-self:center;max-width:92%;margin:.15rem auto 0;padding:.3rem .9rem;font-size:.8rem}.myplan-chip b{color:var(--ink)}.selfeval-followup{animation:rise-in .35s var(--ease)}.helped-row{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.anchor-box{border:1.5px dashed var(--sky-deep);border-radius:var(--radius-lg);text-align:center;background:#fffc;width:100%;max-width:430px;margin:.4rem 0 1.4rem;padding:1rem 1.3rem}.anchor-label{letter-spacing:.13em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:.35rem;font-size:.7rem;font-weight:700;display:block}.anchor-text{letter-spacing:-.01em;color:var(--ink);font-size:1.25rem;font-weight:700}.done-burst{width:0;height:0;position:relative}.done-burst span{animation:burst-fly 1.1s var(--ease) forwards;animation-delay:calc(var(--i) * 70ms);opacity:0;font-size:1.6rem;position:absolute;transform:translate(0)}.done-burst span:nth-child(odd){--dx:-1}.done-burst span:nth-child(2n){--dx:1}@keyframes burst-fly{0%{opacity:0;transform:translate(0)scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(calc(var(--dx,1) * (40px + var(--i) * 26px)), calc(-70px - var(--i) * 18px)) scale(1.15) rotate(calc(var(--dx,1) * 30deg))}}.player-top{align-items:center;gap:.9rem;padding:.85rem clamp(1rem,4vw,1.6rem);display:flex}.player-quit{border:1.5px solid var(--ink-line);width:44px;height:44px;color:var(--ink-soft);border-radius:50%;flex:none;place-items:center;font-size:1.05rem;transition:border-color .18s,color .18s;display:grid}.player-quit:hover{color:var(--ink);border-color:var(--ink)}.player-progress{flex:1}.player-count{color:var(--ink-soft);font-variant-numeric:tabular-nums;flex:none;font-size:.8rem;font-weight:700}.player-main{flex-direction:column;flex:1;width:100%;max-width:560px;margin-inline:auto;padding:.6rem 1.2rem 2rem;display:flex}@media (min-width:1024px){.player-main{max-width:760px;padding-top:1.4rem}}.player-prompt{font-family:var(--font-display);letter-spacing:-.01em;text-align:center;text-wrap:balance;margin:.8rem 0 1.4rem;font-size:clamp(1.4rem,4.8vw,1.85rem);font-weight:600;line-height:1.2}.player-intro{color:var(--ink-soft);text-align:center;margin-bottom:1rem;font-size:.95rem;line-height:1.5}.opt-grid{grid-template-columns:repeat(2,1fr);gap:.8rem;display:grid}.opt-card{background:var(--cream-hi);border:2.5px solid var(--ink-line);min-height:116px;color:var(--ink);box-shadow:0 3px 0 var(--ink-line);transition:border-color .15s, transform .15s var(--ease), background .15s, box-shadow .15s;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;gap:.45rem;padding:1.15rem .8rem;font-size:1.02rem;font-weight:700;display:flex}.opt-card .opt-emoji{font-size:2.6rem;line-height:1}.opt-card:hover{border-color:var(--accent-ink);box-shadow:0 6px 0 var(--ink-line), 0 14px 26px -16px #161f3359;transform:translateY(-3px)}.opt-card:active{box-shadow:0 1px 0 var(--ink-line);transform:scale(.97)}.opt-card[data-state=correct]{border-color:var(--success-ink);background:var(--success-soft);box-shadow:0 3px #2e7d4f59,0 0 0 4px #2e7d4f1f,0 16px 30px -18px #2e7d4f80}.opt-card[data-state=wrong]{border-color:var(--danger-ink);background:var(--danger-soft);animation:shake .4s var(--ease)}.opt-card:disabled{cursor:default}.opt-card[data-state=dim]{opacity:.45}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.play-feedback{text-align:center;letter-spacing:-.01em;min-height:2.4rem;margin-top:1rem;font-size:1.2rem;font-weight:800}.play-feedback[data-kind=good]{color:var(--success-ink);animation:feedback-pop .35s var(--ease)}.play-feedback[data-kind=bad]{color:var(--danger-ink)}@keyframes feedback-pop{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.hint-row{justify-content:center;margin-top:.9rem;display:flex}.hint-btn{color:var(--warn-ink);background:var(--warn-soft);border-radius:999px;min-height:44px;padding:.55rem 1rem;font-size:.85rem;font-weight:600}.hint-bubble{background:var(--warn-soft);color:var(--warn-ink);border-radius:var(--radius-sm);margin-top:.8rem;padding:.75rem .95rem;font-size:.9rem;line-height:1.5}.guide-panel{background:var(--hue-navy);border-radius:var(--radius-lg);margin-top:auto;padding:1rem 1.1rem}.guide-panel summary{cursor:pointer;letter-spacing:.12em;text-transform:uppercase;color:var(--hue-navy-ink);align-items:center;gap:.5rem;min-height:28px;font-size:.78rem;font-weight:700;list-style:none;display:flex}.guide-panel summary::-webkit-details-marker{display:none}.guide-panel p{color:var(--hue-navy-ink);margin-top:.55rem;font-size:.9rem;line-height:1.55}.support-chip{background:#fff9;border-radius:999px;margin-left:auto;padding:.2rem .6rem;font-size:.68rem}.sbx-word{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-bottom:1.6rem;display:flex}.sbx-box{border:2px dashed var(--ink-line);background:var(--cream-hi);border-radius:12px;place-items:center;width:54px;height:54px;font-size:1.1rem;font-weight:700;transition:border-color .2s,background .2s;display:grid}.sbx-box[data-filled]{border-style:solid}.sbx-box[data-filled=vowel]{color:#fff;background:#e26d6d;border-color:#e26d6d}.sbx-box[data-filled=long_vowel]{color:#fff;background:#e26d6d;border-color:#b3403a;box-shadow:inset 0 -4px #b3403a}.sbx-box[data-filled=diphthong]{color:#fff;background:linear-gradient(135deg,#e26d6d 50%,#f0a3a3 50%);border-color:#e26d6d}.sbx-box[data-filled=consonant]{color:#fff;background:#4f7fbf;border-color:#4f7fbf}.sbx-box[data-filled=neutral]{background:var(--ink);border-color:var(--ink);color:#fff}.sbx-emoji{text-align:center;width:fit-content;margin:.6rem auto 1.4rem;display:block}.sbx-emoji,.sh-word-emoji{z-index:0;position:relative}.sbx-emoji:before,.sh-word-emoji:before{content:"";z-index:-2;background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 12%, transparent), transparent 66%);pointer-events:none;width:150%;height:150%;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.sbx-chips{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}.sbx-chip{color:#fff;min-width:64px;min-height:64px;transition:transform .15s var(--ease), filter .15s;border:2px solid #0000;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:.72rem;font-weight:700;display:flex;box-shadow:0 6px 14px -8px #161f3380}.sbx-chip:hover{transform:translateY(-2px)}.sbx-chip[data-kind=vowel]{background:#e26d6d}.sbx-chip[data-kind=long_vowel]{background:#e26d6d;box-shadow:inset 0 -5px #b3403a,0 6px 14px -8px #161f3380}.sbx-chip[data-kind=diphthong]{background:linear-gradient(135deg,#e26d6d 50%,#f0a3a3 50%)}.sbx-chip[data-kind=consonant]{background:#4f7fbf}.sbx-chip[data-kind=neutral]{background:var(--ink)}.mem-stage{flex-wrap:wrap;justify-content:center;align-items:center;gap:.7rem;min-height:96px;margin-bottom:1.4rem;display:flex}.mem-tile{background:var(--cream-hi);border:2px solid var(--ink-line);border-radius:18px;place-items:center;width:72px;height:72px;font-size:2rem;display:grid}.mem-tile[data-hidden]{background:var(--hue-navy);color:#0000}.mem-slot{color:var(--ink-soft);border-style:dashed;font-size:1rem;font-weight:700}.mem-slot[data-filled]{border-style:solid;font-size:2rem}.px-grid{gap:.6rem;margin-bottom:1rem;display:grid}.px-card{aspect-ratio:1;border-radius:var(--radius-md);border:2px solid var(--ink-line);color:#0000;transition:background .2s var(--ease), transform .15s var(--ease), border-color .18s;cursor:pointer;background:linear-gradient(150deg,#e9f2fc,#cfe0f3);place-items:center;min-height:56px;font-size:clamp(1.7rem,7vw,2.4rem);display:grid;position:relative}.px-card[data-state=down] svg,.px-card[data-state=down] .px-glyph{visibility:hidden}.px-card[data-state=down]:after{content:"";background:#ffffff8c;border:2px solid #23649f33;border-radius:50%;width:32%;height:32%;position:absolute}.px-card[data-state=down]:hover{border-color:var(--accent-ink);transform:translateY(-2px)}.px-card[data-state=up],.px-card[data-state=done]{background:var(--cream-hi);color:inherit}.px-card[data-state=up]:after,.px-card[data-state=done]:after{display:none}.px-card[data-state=done]{border-color:var(--success-ink);background:var(--success-soft)}.px-card[data-state=up]{border-color:var(--accent-ink)}.nt-board{grid-template-columns:repeat(4,1fr);gap:.6rem;margin-bottom:1rem;display:grid}.nt-cell{border:2px solid var(--ink-line);background:var(--cream-hi);min-height:60px;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:14px;place-items:center;font-size:1.3rem;font-weight:700;transition:background .18s,border-color .18s,opacity .3s;display:grid}.nt-cell:hover{border-color:var(--accent-ink)}.nt-cell[data-state=done]{background:var(--success-soft);border-color:var(--success-ink);color:var(--success-ink);opacity:.7}.nt-cell[data-state=wrong]{animation:shake .4s var(--ease);border-color:var(--danger-ink)}.story-slots{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.2rem;display:flex}.story-slot{border:2px dashed var(--ink-line);background:var(--cream-hi);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:84px;min-height:96px;padding:.5rem .25rem;display:flex}.story-slot[data-filled]{border-style:solid;border-color:var(--success-ink);background:var(--success-soft)}.story-slot .slot-no{color:var(--ink-soft);font-size:.72rem;font-weight:700}.story-cards{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.story-card{border:2px solid var(--ink-line);background:var(--cream-hi);width:92px;transition:transform .15s var(--ease), border-color .15s;border-radius:14px;flex-direction:column;align-items:center;gap:.3rem;min-height:96px;padding:.6rem .35rem;display:flex}.story-card:hover{border-color:var(--accent-ink);transform:translateY(-2px)}.story-card[data-state=wrong]{animation:shake .4s var(--ease);border-color:var(--danger-ink)}.story-card:disabled{opacity:.35;cursor:default}.story-emoji{font-size:1.9rem;line-height:1}.story-label{color:var(--ink-soft);text-align:center;font-size:.7rem;font-weight:600;line-height:1.25}.sp-card{background:radial-gradient(130% 90% at 50% 0%, color-mix(in srgb, var(--cream) 55%, transparent), transparent 72%), var(--cream-hi);border:1px solid var(--ink-line);text-align:center;box-shadow:inset 0 1px 0 #ffffff8c, var(--shadow-card);border-radius:26px;margin-bottom:1.1rem;padding:2.1rem 1.6rem 1.7rem;animation:.5s cubic-bezier(.2,.7,.2,1) both exStageIn;position:relative}.sp-emoji{z-index:0;width:fit-content;margin:.3rem auto 1.2rem;display:block;position:relative}.sp-emoji:before{content:"";z-index:-2;background:radial-gradient(ellipse at center, color-mix(in srgb, var(--accent) 13%, transparent), transparent 66%);pointer-events:none;width:138%;height:150%;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.glyph-scene{position:relative}.glyph-scene:after{content:"";z-index:-1;filter:blur(1.5px);pointer-events:none;background:radial-gradient(#2a262026,#0000 72%);width:84%;height:15px;position:absolute;bottom:-.6rem;left:50%;transform:translate(-50%)}@keyframes exStageIn{0%{opacity:0;transform:translateY(9px)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.sp-card{animation:none}}.glyph-scene{vertical-align:middle;flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.3rem;display:inline-flex}.glyph-inline{vertical-align:-.24em;margin:0 .05em}.chip-glyph{vertical-align:-.28em;align-items:center;display:inline-flex}.intro-method{border-top:1px solid var(--ink-line);text-align:center;margin-top:1.5rem;padding-top:1.1rem}.intro-method-label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.68rem;font-weight:800}.intro-method-text{color:var(--ink);text-wrap:balance;margin:.35rem 0 0;font-size:.9rem;font-weight:600;line-height:1.4}.intro-method-authors{color:var(--ink-soft);font-style:italic;font-weight:500;display:block}.intro-method-link{color:var(--accent-ink);margin-top:.55rem;font-size:.82rem;font-weight:700;display:inline-block}.metho-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.85rem;margin-top:.7rem;display:grid}.metho-card{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-lg);padding:.95rem 1.05rem}.metho-domain{letter-spacing:.07em;text-transform:uppercase;color:var(--accent-ink);font-size:.68rem;font-weight:800}.metho-work{margin:.35rem 0 .2rem;font-weight:700;line-height:1.35}.metho-authors{color:var(--ink-soft);margin:0;font-size:.88rem;font-style:italic}.src-list{counter-reset:src;flex-direction:column;gap:.7rem;margin:.7rem 0 0;padding:0;list-style:none;display:flex}.src-item{counter-increment:src;padding-left:2.1rem;position:relative}.src-item:before{content:counter(src);background:var(--accent-soft);width:1.5rem;height:1.5rem;color:var(--accent-ink);border-radius:999px;place-items:center;font-size:.72rem;font-weight:800;display:grid;position:absolute;top:0;left:0}.src-work{margin:.1rem 0;font-weight:600;line-height:1.35}.src-note{color:var(--ink-soft);margin:0;font-size:.9rem;line-height:1.45}.sbx-glyph,.sp-emoji>svg,.sh-word-emoji>svg{width:clamp(150px,24vw,300px);height:auto}.sp-emoji .glyph-scene svg{width:clamp(112px,17vw,208px);height:auto}.sp-emoji .glyph-scene{gap:clamp(.5rem,2.4vw,1.4rem)}.sp-text{letter-spacing:-.01em;font-size:clamp(1.3rem,5vw,1.7rem);font-weight:700;line-height:1.3}.sp-ask{font-family:var(--font-display);letter-spacing:-.005em;text-wrap:balance;font-size:clamp(1.3rem,4.4vw,1.7rem);font-weight:600;line-height:1.3}.sp-expect{font-size:var(--text-sm);color:var(--ink-soft);background:#161f330b;border-radius:999px;margin-top:.8rem;padding:.3rem .75rem;display:inline-block}.sp-expect b{color:var(--ink);font-weight:700}.sp-tip{color:var(--ink-soft);margin-top:.7rem;font-size:.85rem;line-height:1.45}.sp-score{grid-template-columns:repeat(3,1fr);gap:.7rem;display:grid}.sp-score-btn{border-radius:var(--radius-sm);border:2px solid var(--ink-line);background:var(--cream-hi);color:var(--ink-soft);flex-direction:column;align-items:center;gap:.25rem;min-height:72px;padding:.8rem .4rem;font-size:.78rem;font-weight:600;transition:border-color .15s,background .15s;display:flex}.sp-score-btn i{font-size:1.4rem;font-style:normal}.sp-score-btn:hover{border-color:var(--accent-ink)}.sp-score-btn[data-tone=good]:hover{border-color:var(--success-ink);background:var(--success-soft)}.sp-score-btn[data-tone=mid]:hover{border-color:var(--warn-ink);background:var(--warn-soft)}.sp-score-btn[data-tone=tricky]:hover{border-color:var(--danger-ink);background:var(--danger-soft)}.gd-step{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-lg);padding:1.4rem 1.3rem}.gd-kicker{letter-spacing:.13em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:.5rem;font-size:.7rem;font-weight:700;display:block}.gd-title{letter-spacing:-.02em;margin-bottom:.55rem;font-size:1.3rem;line-height:1.2}.gd-body{color:var(--ink-soft);white-space:pre-line;font-size:.95rem;line-height:1.6}.gd-choices{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.gd-choice{color:var(--ink);border:1.5px solid var(--ink-line);background:#fff;border-radius:999px;min-height:44px;padding:.6rem 1rem;font-size:.9rem;font-weight:600;transition:border-color .15s,background .15s}.gd-choice[aria-pressed=true]{border-color:var(--accent-ink);background:var(--accent-soft);color:var(--accent-ink)}.gd-fields{flex-direction:column;gap:.8rem;margin-top:1rem;display:flex}.gd-tip{background:var(--warn-soft);color:var(--warn-ink);border-radius:var(--radius-sm);margin-top:1rem;padding:.75rem .95rem;font-size:.88rem;line-height:1.5}.gd-tip b{font-weight:700}.player-foot{justify-content:space-between;align-items:center;gap:.8rem;margin-top:1.2rem;padding:1rem 0 .4rem;display:flex}.done-wrap{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem 1.4rem;display:flex}.done-check{color:#0c1730;width:74px;height:74px;animation:checkpop .4s var(--ease);background:linear-gradient(#bfe0f6,#93c5ec);border-radius:50%;place-items:center;margin-bottom:1.2rem;font-size:2.1rem;font-weight:800;display:grid;box-shadow:0 16px 34px -14px #8cc0eae6}.done-h{letter-spacing:-.02em;margin-bottom:.4rem;font-size:1.5rem}.done-sub{color:var(--ink-soft);max-width:40ch;font-size:.95rem;line-height:1.55}.done-stats{gap:.7rem;margin:1.4rem 0;display:flex}.done-stats .stat{text-align:center;min-width:96px}.streak-row{align-items:center;gap:.5rem;display:flex}.streak-day{width:34px;height:34px;color:var(--ink-soft);border:1px solid var(--ink-line);background:#161f330d;border-radius:50%;place-items:center;font-size:.72rem;font-weight:700;display:grid}.streak-day[data-done]{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.msg-list{flex-direction:column;gap:.7rem;display:flex}.msg{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:16px;max-width:85%;padding:.75rem 1rem;font-size:.92rem;line-height:1.5}.msg-mine{background:var(--ink);color:#fff;border-bottom-right-radius:6px;align-self:flex-end}.msg-theirs{background:var(--cream-hi);border:1px solid var(--ink-line);border-bottom-left-radius:6px;align-self:flex-start}.msg-system{background:var(--accent-soft);color:var(--accent-ink);text-align:center;border-radius:999px;align-self:center;padding:.45rem 1rem;font-size:.82rem;font-weight:600}.msg-time{opacity:.65;margin-top:.25rem;font-size:.68rem;display:block}.msg-composer{align-items:flex-end;gap:.6rem;margin-top:1rem;display:flex}.msg-composer .textarea{min-height:48px;max-height:140px}.tbl{border-collapse:collapse;width:100%;font-size:.9rem}.tbl th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--ink-line);padding:.6rem .8rem;font-size:.72rem;font-weight:700}.tbl td{border-bottom:1px solid var(--ink-line);vertical-align:middle;padding:.75rem .8rem}.tbl tr:last-child td{border-bottom:none}@media (max-width:600px){.tbl{font-size:.82rem}.tbl th,.tbl td{padding-inline:.4rem}.tbl th{letter-spacing:.04em;font-size:.62rem}}.icon-btn{border:1.5px solid var(--ink-line);width:44px;height:44px;color:var(--ink-soft);border-radius:12px;place-items:center;transition:border-color .18s,color .18s;display:inline-grid}.icon-btn:hover{color:var(--ink);border-color:var(--ink)}@media (max-width:420px){.opt-grid{gap:.6rem}.nt-board{grid-template-columns:repeat(4,1fr);gap:.5rem}.sbx-box{width:46px;height:46px}}@media (prefers-reduced-motion:reduce){.opt-card,.story-card,.nt-cell,.px-card,.sbx-chip,.row-item,.btn-primary,.btn-play,.play-feedback[data-kind=good],.selfeval-followup{transition:none;animation:none!important}.done-check{animation:none}.done-burst{display:none}}.sp-rec{flex-direction:column;align-items:center;gap:.85rem;margin-top:1.3rem;display:flex}.sp-rec-btn{letter-spacing:-.01em;color:#fff;background:linear-gradient(135deg, var(--domain-narrative), var(--domain-narrative-2));min-height:56px;transition:transform .14s var(--ease), box-shadow .16s;border-radius:999px;align-items:center;gap:.6rem;padding:.95rem 1.9rem;font-size:1.08rem;font-weight:800;animation:2.6s ease-in-out infinite micInvite;display:inline-flex;box-shadow:0 14px 30px -14px #d9537abf}.sp-rec-btn:hover{animation-play-state:paused;transform:translateY(-1px)}.sp-rec-btn.is-live{animation:none}@keyframes micInvite{0%,to{box-shadow:0 14px 30px -14px #d9537abf,0 0 #d9537a47}55%{box-shadow:0 14px 30px -14px #d9537abf,0 0 0 12px #d9537a00}}@media (prefers-reduced-motion:reduce){.sp-rec-btn{animation:none}}.sp-rec-btn.is-live{background:linear-gradient(135deg, var(--domain-articulation), var(--domain-articulation-2))}.sp-rec-mic{font-size:1.35rem}.sp-rec-pulse{background:#fff;border-radius:50%;width:15px;height:15px;animation:1s ease-in-out infinite recpulse}@keyframes recpulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.65)}}.sp-rec-status{color:var(--ink-soft);align-items:center;gap:.5rem;font-weight:600;display:inline-flex}.sp-rec-done{flex-direction:column;align-items:center;gap:.75rem;width:100%;display:flex}.sp-rec-audio{width:100%;max-width:340px}.sp-rec-ok{color:var(--success-ink);font-weight:700}.sp-rec-err{color:var(--danger-ink);font-weight:600}.sp-rec-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}@media (prefers-reduced-motion:reduce){.sp-rec-pulse{animation:none}}.sp-rec-preview{text-align:center;border:1.5px dashed color-mix(in srgb, var(--domain-narrative) 45%, var(--ink-line));border-radius:var(--radius-lg);background:color-mix(in srgb, var(--domain-narrative) 7%, var(--cream-hi));flex-direction:column;align-items:center;gap:.35rem;max-width:30rem;margin:1.3rem auto 0;padding:1rem 1.2rem;display:flex}.sp-rec-preview-head{letter-spacing:-.01em;color:var(--ink);align-items:center;gap:.5rem;font-weight:800;display:inline-flex}.sp-rec-preview-mic{background:color-mix(in srgb, var(--domain-narrative) 20%, transparent);border-radius:999px;place-items:center;width:2rem;height:2rem;font-size:1rem;display:inline-grid}.sp-rec-preview-note{font-size:var(--text-sm);color:var(--ink-soft);text-wrap:balance;line-height:1.45}.rev-speech{flex-direction:column;gap:.4rem;display:flex}.rev-speech+.rev-speech{border-top:1px dashed var(--ink-line);margin-top:.6rem;padding-top:.6rem}.rev-speech-prompt{color:var(--ink);font-size:.86rem;font-weight:700;line-height:1.35}.rev-speech-said{color:var(--ink);font-size:.86rem;font-style:italic;line-height:1.55}.side-quote{color:var(--ink-soft);opacity:.7;padding:.2rem .35rem 0;font-size:.72rem;font-style:italic;line-height:1.4}.player-wrap :focus-visible,.state-screen :focus-visible{outline:3px solid var(--accent-ink);outline-offset:2px;border-radius:8px}.hint-btn{transition:background .16s,transform .16s}.hint-btn:hover{background:var(--warn-soft);filter:brightness(.97);transform:translateY(-1px)}button.chip{transition:border-color .16s,background .16s,transform .16s}button.chip:hover{border-color:var(--accent-ink);transform:translateY(-1px)}.role-opt{transition:border-color .16s,background .16s}.role-opt:hover{border-color:var(--accent-ink)}.btn[data-armed]{background:var(--danger-ink);border-color:var(--danger-ink);color:#fff;animation:1.2s ease-in-out infinite armpulse}@keyframes armpulse{50%{filter:brightness(1.12)}}.side-badge,.tab-dot,.badge-count{animation:badgein .28s var(--ease) backwards}@keyframes badgein{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.row-grid .row-end{white-space:normal;max-width:44%}.section-label-warn:before{background:var(--warn-ink)!important}.section-label-warn,.stat[data-tone=warn] b{color:var(--warn-ink)}.stat[data-tone=ok] b{color:var(--success-ink)}.row-flags{flex-wrap:wrap;gap:.3rem;margin-top:.35rem;display:flex}.flag{font-size:var(--text-2xs);letter-spacing:.02em;border-radius:999px;padding:.16rem .5rem;font-weight:700}.flag-alert{background:var(--danger-soft);color:var(--danger-ink)}.flag-warn{background:var(--warn-soft);color:var(--warn-ink)}.flag-info{background:var(--accent-soft);color:var(--accent-ink)}.row-item[data-triage]{border-left:3px solid var(--accent-ink)}.row-item[data-triage=silent]{border-left:3px solid var(--danger-ink)}.row-item[data-triage=slowed]{border-left:3px solid var(--warn-ink)}.done-h,.state-title,.auth-title{font-family:var(--font-display);letter-spacing:-.015em}.anchor-text{font-family:var(--font-display)}@keyframes checkpop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.side-badge,.tab-dot,.badge-count,.btn[data-armed]{animation:none}}.done-next{flex-direction:column;align-items:center;gap:.7rem;width:100%;max-width:430px;display:flex}.done-next .btn-block{width:100%}.done-streak{color:var(--warn-ink);background:var(--warn-soft);border-radius:999px;margin:-.4rem 0 .6rem;padding:.5rem 1.1rem;font-size:1.05rem;font-weight:800}#plan-note{field-sizing:content;min-height:3.6rem;max-height:14rem;line-height:1.5}.seg-field{align-items:center;gap:.4rem;display:inline-flex}.seg-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700}.seg{border:1px solid var(--ink-line);background:var(--cream-hi);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{color:var(--ink-soft);min-width:34px;min-height:34px;padding:.3rem .55rem;font-size:.76rem;font-weight:700;transition:background .15s,color .15s}.seg button+button{border-left:1px solid var(--ink-line)}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-ink)}.lib-group{margin-bottom:1.6rem}.lib-group-head{align-items:center;gap:.5rem;margin-bottom:.7rem;font-size:.95rem;font-weight:800;display:flex}.lib-group-count{color:var(--ink-soft);background:#161f330f;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:700}.lib-list{flex-direction:column;gap:.5rem!important;display:flex!important}.lib-list .lib-card{grid-template-columns:1fr auto;align-items:center;gap:.2rem .9rem;padding:.55rem .8rem;display:grid}.lib-list .lib-card-summary{display:none}.lib-list .lib-card-actions{border-top:none;grid-area:1/2;margin:0;padding:0}[data-theme=dark] .lib-group-count{background:#ffffff14}:root[data-theme=dark]{--accent-ink:#84b6ec;--accent-soft:#84b6ec29;--success-ink:#66cb8f;--success-soft:#66cb8f29;--danger-ink:#f0928d;--danger-soft:#f0928d26;--warn-ink:#e7b869;--warn-soft:#e7b86926;--hue-sky:#6fb1e82e;--hue-sky-ink:#8fc4f0;--hue-violet:#a08ee833;--hue-violet-ink:#b6a8f2;--hue-amber:#f3bc552e;--hue-amber-ink:#f0c66e;--hue-rose:#f28aa833;--hue-rose-ink:#f2a0b8;--hue-green:#66c78e2e;--hue-green-ink:#7ad39d;--hue-coral:#f2957033;--hue-coral-ink:#f2ad8c;--hue-navy:#96a8d62e;--hue-navy-ink:#aebbdc;--ring-track:#84b6ec2e;--shadow-xs:0 1px 2px #0006;--shadow-card:0 1px 2px #0006,0 10px 24px -18px #000000b8;--shadow-pop:0 16px 34px -18px #000000c7;--shadow-hi:0 24px 50px -24px #000000d9}[data-theme=dark] .card,[data-theme=dark] .stat,[data-theme=dark] .dcard,[data-theme=dark] .lib-card,[data-theme=dark] .order-card,[data-theme=dark] .checkout-done,[data-theme=dark] .app-main .info-card,[data-theme=dark] .empty,[data-theme=dark] .note-quote,[data-theme=dark] .rhythm-day{border-color:var(--ink-line);background:linear-gradient(#1b2439,#151d2f)}[data-theme=dark] .hist-item,[data-theme=dark] .tx-card,[data-theme=dark] .chat-panel,[data-theme=dark] .area-card{background:var(--cream-hi);border-color:var(--ink-line)}[data-theme=dark] .empty-emoji{box-shadow:inset 0 0 0 1px var(--ink-line);background:radial-gradient(120% 120% at 30% 20%,#84b6ec38,#0000 60%),#101a2e}[data-theme=dark] .app-header{border-color:var(--ink-line);background:#0a0f1cd9}[data-theme=dark] .app-tabs{border-color:var(--ink-line);background:#0a0f1cf0}[data-theme=dark] .app-sidebar{background:linear-gradient(180deg,#ffffff06,transparent),var(--cream-hi);border-right-color:var(--ink-line)}[data-theme=dark] .side-link:hover{background:#ffffff0d}[data-theme=dark] .side-link[aria-current=page]{background:linear-gradient(#84b6ec33,#84b6ec1a);box-shadow:inset 0 0 0 1px #84b6ec47}[data-theme=dark] .input,[data-theme=dark] .textarea,[data-theme=dark] .select{border-color:var(--ink-line);color:var(--ink);background:#ffffff0a}[data-theme=dark] .input::placeholder,[data-theme=dark] .textarea::placeholder{color:#6e7c96}[data-theme=dark] .role-opt[aria-pressed=true]{background:var(--accent-soft)}[data-theme=dark] .btn-primary{color:#0c1730;background:linear-gradient(#bfe0f6,#93c5ec);box-shadow:0 12px 26px -14px #8cc0ea8c,inset 0 1px #fff6}[data-theme=dark] .btn-primary:hover{background:linear-gradient(#cbe6f8,#9fcbef);transform:translateY(-1px)}[data-theme=dark] .btn-outline{border-color:var(--ink-line);color:var(--ink)}[data-theme=dark] .btn-outline:hover{border-color:var(--ink-soft)}[data-theme=dark] .hero-day{border-color:var(--ink-line);background:radial-gradient(135% 175% at 100% 0,#a08ee838,#0000 56%),radial-gradient(135% 175% at 0 105%,#6fb1e83d,#0000 58%),linear-gradient(#1d2942,#161f33)}[data-theme=dark] .hero-day:before{box-shadow:inset 0 1px #ffffff14}[data-theme=dark] .hero-stat{border-color:var(--ink-line);background:#ffffff0a}[data-theme=dark] .pbar{background:#ffffff17;box-shadow:inset 0 1px 1.5px #0000004d}[data-theme=dark] .week-pill{background:#ffffff0d}[data-theme=dark] .stat:hover,[data-theme=dark] .dcard:hover,[data-theme=dark] .lib-card:hover{box-shadow:var(--shadow-card)}[data-theme=dark] .hist-item>summary:hover,[data-theme=dark] .row-item:hover{background:#ffffff08}[data-theme=dark] .hist-detail{background:linear-gradient(#ffffff05,#0000 45%)}[data-theme=dark] .hist-item[open]>summary{background:linear-gradient(#84b6ec1a,#0000)}[data-theme=dark] .score-pill[data-tone=good]{color:#7ad39d;background:#66cb8f29}[data-theme=dark] .score-pill[data-tone=mid]{color:#f0c66e;background:#e7b86929}[data-theme=dark] .score-pill[data-tone=low]{color:#f2a0b8;background:#f28aa829}[data-theme=dark] .score-pill[data-tone=none]{color:var(--ink-soft);background:#ffffff0f}[data-theme=dark] .rev-item[data-tone=great]{background:#66cb8f1a}[data-theme=dark] .rev-chip{border-color:var(--ink-line);background:#ffffff0a}[data-theme=dark] .chip{border-color:var(--ink-line);color:var(--ink);background:#ffffff0d}[data-theme=dark] .streak-chip{color:#f0b48f;background:linear-gradient(135deg,#e0653a33,#e0653a1f)}[data-theme=dark] .section-label:before{background:linear-gradient(90deg,var(--accent-ink),#84b6ec33)}[data-theme=dark] .spark-halo{fill:var(--cream-hi)}[data-theme=dark] .info-card{border-color:var(--ink-line);background:linear-gradient(#1b2439,#151d2f)}[data-theme=dark] .chat-panel-head{border-color:var(--ink-line);background:linear-gradient(#ffffff08,#0000)}[data-theme=dark] .state-screen{background:radial-gradient(120% 60% at 50% 0%,#111a2e,transparent 60%),var(--cream)}[data-theme=dark] .myplan-chip{background:#ffffff0f}[data-theme=dark] .anchor-box{background:#ffffff0d}[data-theme=dark] .support-chip{background:#ffffff1a}[data-theme=dark] .gd-choice,[data-theme=dark] .sp-expect{background:#ffffff0f}[data-theme=dark] .msg-mine{color:var(--cream)}[data-theme=dark] .week-pill svg{color:#ffffff2e}[data-theme=dark] .week-pill[data-done]{color:#7ad39d;background:linear-gradient(135deg,#66c78e33,#66c78e1f)}[data-theme=dark] .area-card:hover .area-head{background:#ffffff05}[data-theme=dark] .area-bar,[data-theme=dark] .ex-bar{background:#ffffff17}[data-theme=dark] .area-count{background:#ffffff0f}[data-theme=dark] .area-count[data-full],[data-theme=dark] .ex-row[data-done] .ex-play{color:#7ad39d;background:#66c78e29}[data-theme=dark] .ex-prog[data-full] small{color:#7ad39d}[data-theme=dark] .sk{background-image:linear-gradient(100deg,#ffffff0a 30%,#ffffff17 50%,#ffffff0a 70%)}[data-theme=dark] .path-row:not(:last-child) .path-node:after{border-left-color:#ffffff29}[data-theme=dark] .path-row[data-state=done] .path-card{background:linear-gradient(135deg,#66cb8f1f,var(--cream-hi))}[data-theme=dark] .path-cta-done{color:#7ad39d;background:#66cb8f29}[data-theme=dark] .path-cta-later{background:#ffffff0f}[data-theme=dark] .side-user{border-color:var(--ink-line);background:#ffffff08}[data-theme=dark] .px-card{background:linear-gradient(150deg,#84b6ec29,#84b6ec12)}[data-theme=dark] .px-card[data-state=down]:after{background:#ffffff14;border-color:#84b6ec59}[data-theme=dark] .px-card[data-state=up],[data-theme=dark] .px-card[data-state=done]{background:var(--cream-hi)}[data-theme=dark] .wk-pill[data-full] small{color:#7ad39d}[data-theme=dark] .wk-bar{background:#ffffff17}[data-theme=dark] .wk-pill[data-full] .wk-bar>i{background:linear-gradient(90deg,#4daf78,#7ad39d)}[data-theme=dark] .spinner{border-color:#84b6ec4d;border-top-color:var(--accent-ink)}[data-theme=dark] .flag-alert{color:#f2a2ab;background:#e26a742e}[data-theme=dark] .flag-warn{color:#eec27e;background:#f0b45029}[data-theme=dark] .flag-info{background:var(--accent-soft);color:var(--accent-ink)}.mp-parent,.sh-parent{border:1px dashed var(--ink-line);border-radius:var(--radius-md);text-align:center;background:#161f330b;margin-bottom:1.1rem;padding:.8rem 1rem}.mp-parent-kicker,.sh-parent-kicker{letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.3rem;font-size:.68rem;font-weight:700;display:block}.mp-parent-text,.sh-parent-text{color:var(--ink);margin:0 0 .55rem;font-size:.95rem;line-height:1.45}.mp-parent-row,.sh-parent-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;display:flex}.mp-contrast{color:var(--ink-soft);background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:999px;padding:.3rem .7rem;font-size:.78rem;font-weight:700}.mp-card,.sh-choice{min-height:150px}.mp-card .opt-emoji,.sh-choice .opt-emoji{font-size:3.4rem}.mp-reveal,.sh-reveal{text-align:center;margin-top:1rem}.mp-reveal-caption{color:var(--ink-soft);margin-bottom:.5rem;font-size:.85rem;font-weight:600;display:block}.mp-reveal-cards{flex-wrap:wrap;justify-content:center;gap:.8rem;display:flex}.mp-reveal-card,.sh-reveal-card{background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-md);color:var(--ink);animation:feedback-pop .35s var(--ease);flex-direction:column;align-items:center;gap:.2rem;padding:.6rem .95rem;font-size:.92rem;font-weight:700;display:inline-flex}.mp-reveal-emoji,.sh-reveal-emoji{font-size:2rem;line-height:1}.sh-target{background:var(--accent-soft);border:2.5px solid var(--accent-ink);width:76px;height:76px;color:var(--accent-ink);border-radius:50%;justify-content:center;align-items:center;margin:0 auto .9rem;font-size:2.1rem;font-weight:800;display:flex}.sh-stage{background:var(--cream-hi);border:1px solid var(--ink-line);box-shadow:var(--shadow-card);animation:sh-fade .5s var(--ease);border-radius:24px;flex-direction:column;align-items:center;gap:.7rem;margin-bottom:1rem;padding:1.6rem 1rem;display:flex}.sh-word-emoji{font-size:4rem;line-height:1}.sh-word{letter-spacing:.03em;font-size:clamp(1.5rem,6vw,2rem);font-weight:800}@keyframes sh-fade{0%{opacity:0}to{opacity:1}}.sh-dots{flex-wrap:wrap;justify-content:center;gap:.45rem;margin-bottom:1rem;display:flex}.sh-dot{background:var(--ink-line);border-radius:50%;width:10px;height:10px;transition:background .3s,transform .3s}.sh-dot[data-state=done]{background:var(--accent-ink);opacity:.45}.sh-dot[data-state=current]{background:var(--accent-ink);transform:scale(1.35)}.sh-controls{flex-wrap:wrap;justify-content:center;gap:.7rem;display:flex}@media (prefers-reduced-motion:reduce){.sh-stage,.mp-reveal-card,.sh-reveal-card{animation:none}.sh-dot{transition:none}}[data-theme=dark] .mp-parent,[data-theme=dark] .sh-parent{background:#ffffff0d}.snt-scene{justify-content:center;gap:.6rem;margin-bottom:1.1rem;font-size:2.6rem;line-height:1;display:flex}.snt-slots{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.4rem;display:flex}.snt-slot{border:2px dashed var(--ink-line);border-radius:var(--radius-sm);background:var(--cream-hi);min-width:64px;min-height:52px;color:var(--ink);place-items:center;padding:.55rem .95rem;font-size:1.15rem;font-weight:700;display:grid}.snt-slot[data-filled]{border-style:solid;border-color:var(--success-ink);background:var(--success-soft);animation:snt-pop .3s var(--ease)}.snt-tray{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.snt-tile{border:2px solid var(--ink-line);border-radius:var(--radius-sm);background:var(--cream-hi);min-width:52px;min-height:52px;color:var(--ink);box-shadow:var(--shadow-xs);transition:transform .15s var(--ease), border-color .15s, opacity .3s var(--ease);padding:.55rem .95rem;font-size:1.15rem;font-weight:700}.snt-tile:hover{border-color:var(--accent-ink);transform:translateY(-2px)}.snt-tile[data-state=wrong]{animation:shake .4s var(--ease);border-color:var(--danger-ink)}.snt-tile[data-state=used]{opacity:0;pointer-events:none;transform:translateY(-18px)scale(.6)}.snt-sentence{text-align:center;color:var(--ink);flex-wrap:wrap;justify-content:center;gap:.45rem;margin-bottom:1rem;font-size:1.5rem;font-weight:700;display:flex}.snt-sentence .snt-word[data-new]{color:var(--accent-ink);animation:snt-pop .45s var(--ease)}@keyframes snt-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.snt-parent{border-radius:var(--radius-md);max-width:520px;font-size:var(--text-sm);color:var(--ink-soft);background:#161f330b;align-items:baseline;gap:.5rem;margin:0 auto 1rem;padding:.6rem .85rem;line-height:1.45;display:flex}.snt-parent b{color:var(--ink);font-weight:700}[data-theme=dark] .snt-parent{background:#ffffff0f}.srt-buckets{grid-template-columns:repeat(2,1fr);gap:.7rem;margin-bottom:1.4rem;display:grid}.srt-buckets[data-count="3"]{grid-template-columns:repeat(3,1fr)}.srt-bucket{border:2px dashed var(--ink-line);border-radius:var(--radius-md);background:var(--cream-hi);min-height:104px;color:var(--ink);transition:transform .15s var(--ease), border-color .15s, background .15s;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:.8rem .5rem;font-size:.92rem;font-weight:700;display:flex;position:relative}.srt-bucket:hover{border-color:var(--accent-ink);transform:translateY(-2px)}.srt-bucket[data-state=hit]{border-style:solid;border-color:var(--success-ink);background:var(--success-soft);animation:srt-drop .4s var(--ease)}.srt-bucket[data-state=wrong]{animation:shake .4s var(--ease);border-color:var(--danger-ink)}.srt-bucket:disabled{cursor:default}@keyframes srt-drop{0%{transform:scale(1)}45%{transform:scale(1.07)}to{transform:scale(1)}}.srt-bucket-emoji{font-size:1.9rem;line-height:1}.srt-count{background:var(--accent-soft);min-width:24px;height:24px;color:var(--accent-ink);font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;padding:0 .4rem;font-size:.72rem;font-weight:700;display:grid;position:absolute;top:.45rem;right:.5rem}.srt-stage{justify-content:center;margin-bottom:1.2rem;display:flex}.srt-card{border:2px solid var(--ink-line);border-radius:var(--radius-lg);background:var(--cream-hi);width:min(260px,100%);box-shadow:var(--shadow-card);transition:transform .5s var(--ease), opacity .5s var(--ease);flex-direction:column;align-items:center;gap:.5rem;padding:1.2rem 1rem;display:flex}.srt-card[data-state=fly]{opacity:0;transform:translateY(-46px)scale(.35)}.srt-card[data-state=wrong]{animation:shake .4s var(--ease);border-color:var(--danger-ink)}.srt-card-emoji{font-size:3rem;line-height:1}.srt-card-label{color:var(--ink);font-size:1.2rem;font-weight:700}@media (max-width:480px){.snt-scene{font-size:2.1rem}.srt-bucket{min-height:92px}}@media (prefers-reduced-motion:reduce){.snt-slot[data-filled],.snt-sentence .snt-word[data-new],.snt-tile,.snt-tile[data-state=wrong],.srt-bucket,.srt-bucket[data-state=hit],.srt-bucket[data-state=wrong],.srt-card,.srt-card[data-state=wrong]{transition:none;animation:none}.snt-tile[data-state=used]{transform:none}.srt-card[data-state=fly]{opacity:0;transform:none}}.scd-parent{background:var(--hue-navy);border-radius:var(--radius-md);flex-direction:column;align-items:flex-start;gap:.35rem;margin-bottom:1.1rem;padding:.85rem 1rem;display:flex}.scd-parent-kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--hue-navy-ink);font-size:.68rem;font-weight:700}.scd-parent-text{color:var(--hue-navy-ink);font-size:.95rem;line-height:1.5}.scd-parent .scd-board{margin-inline:auto;gap:8px;width:100%;max-width:420px;margin-bottom:1.2rem;display:grid}.scd-cell{aspect-ratio:1;border:2px solid var(--ink-line);background:var(--cream-hi);width:100%;min-width:48px;min-height:48px;transition:border-color .15s, background .15s, box-shadow .15s, transform .15s var(--ease);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;display:flex}button.scd-cell:disabled{cursor:default}.scd-cell-emoji{font-size:clamp(1.4rem,6vw,2rem);line-height:1}.scd-anchor{background:var(--cream)}.scd-anchor-label{color:var(--ink-soft);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.62rem;font-weight:600;line-height:1.15;overflow:hidden}.scd-empty:not(:disabled):hover{border-color:var(--accent-ink)}.scd-board[data-lifted] .scd-empty:not(:disabled){border-style:dashed;border-color:var(--accent-ink);background:var(--accent-soft)}.scd-cell-token{animation:scd-drop .22s var(--ease);font-size:clamp(1.5rem,6.5vw,2.1rem);line-height:1}.scd-filled[data-state=filled]:not(:disabled):hover{border-color:var(--accent-ink);transform:translateY(-2px)}.scd-filled[data-state=wrong]{border-color:var(--danger-ink);background:var(--danger-soft);animation:scd-wobble .5s var(--ease)}.scd-filled[data-state=correct]{border-color:var(--success-ink);background:var(--success-soft);animation:scd-pop .45s var(--ease)}@keyframes scd-drop{0%{opacity:.4;transform:scale(1.35)translateY(-6px)}to{opacity:1;transform:none}}@keyframes scd-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-7deg)}50%{transform:rotate(6deg)}75%{transform:rotate(-4deg)}}@keyframes scd-pop{0%{transform:scale(1)}45%{transform:scale(1.12)}to{transform:scale(1)}}.scd-tray{flex-wrap:wrap;justify-content:center;gap:.7rem;min-height:64px;margin-bottom:.9rem;display:flex}.scd-token{border:2.5px solid var(--ink-line);background:var(--cream-hi);width:64px;height:64px;box-shadow:0 3px 0 var(--ink-line);transition:transform .15s var(--ease), border-color .15s, background .15s, box-shadow .15s, opacity .2s;border-radius:16px;place-items:center;font-size:2rem;line-height:1;display:grid}.scd-token:not(:disabled):hover{border-color:var(--accent-ink);transform:translateY(-3px)}.scd-token[aria-pressed=true]{border-color:var(--accent-ink);background:var(--accent-soft);box-shadow:0 6px 0 var(--ink-line), 0 14px 26px -16px #161f3359;transform:translateY(-6px)scale(1.08)}.scd-token[data-ghost]{opacity:.25;box-shadow:none}.scd-actions{justify-content:center;min-height:52px;display:flex}@media (prefers-reduced-motion:reduce){.scd-cell-token,.scd-filled[data-state=wrong],.scd-filled[data-state=correct]{animation:none}.scd-cell,.scd-token{transition:none}.scd-token[aria-pressed=true],.scd-token:not(:disabled):hover,.scd-filled[data-state=filled]:not(:disabled):hover{transform:none}}[data-theme=dark] .scd-token[aria-pressed=true]{box-shadow:0 6px 0 var(--ink-line), 0 14px 26px -16px #0009}.goal-bar{background:#161f3312;border-radius:99px;height:8px;display:block;position:relative;box-shadow:inset 0 1px 1.5px #161f330f}.goal-bar>i{transition:width .7s var(--ease);border-radius:99px;position:absolute;top:0;bottom:0;left:0;box-shadow:inset 0 1px #ffffff59}.goal-bar>b{background:var(--cream-hi);border:3px solid var(--sky-deep);border-radius:50%;width:13px;height:13px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #161f334d}[data-theme=dark] .goal-bar{background:#ffffff17}[data-theme=dark] .goal-bar>b{box-shadow:0 1px 3px #00000080}.tpl-wrap{display:inline-block;position:relative}.tpl-pop{z-index:60;background:var(--cream-hi);border:1px solid var(--ink-line);border-radius:var(--radius-lg);width:min(380px,88vw);max-height:min(520px,70vh);padding:.85rem;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 16px 34px -14px #161f3347}[data-theme=dark] .tpl-pop{box-shadow:var(--shadow-pop)}
