.workspace{--sidebar-w:276px;--content-pad:40px;--panel-pad:28px;--gap:24px;--tile-radius:24px;grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100dvh;padding-inline:var(--safe-left) var(--safe-right);background:var(--bg);display:grid}.workspace-main{flex-direction:column;min-width:0;display:flex}.sidebar{height:100dvh;padding:calc(22px + var(--safe-top)) 14px calc(24px + var(--safe-bottom)) 22px;overscroll-behavior:contain;scrollbar-width:none;flex-direction:column;gap:28px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-brand{flex-wrap:wrap;align-items:center;gap:8px 10px;min-height:60px;padding-left:10px;display:flex}.sidebar-brand .wordmark{min-height:44px;font-size:21px}.sidebar-brand .wordmark:focus-visible{border-radius:12px}.founder-pill{padding:3px 11px;font-size:12px}.sidebar nav{gap:4px;display:grid}.sidebar nav a,.sidebar nav :is(.install-link,.nav-button){min-height:44px;color:var(--text);transition:background-color .18s var(--ease), color .18s var(--ease), box-shadow .18s var(--ease);border-radius:999px;align-items:center;gap:12px;padding:8px 16px 8px 14px;font-size:14.5px;font-weight:600;line-height:1.25;display:flex}.sidebar nav a svg,.sidebar nav :is(.install-link,.nav-button) svg{color:var(--muted);transition:color .18s var(--ease);flex:none}.sidebar nav a:hover,.sidebar nav :is(.install-link,.nav-button):hover{color:var(--ink);background:#ffffff9e}.sidebar nav a:hover svg,.sidebar nav :is(.install-link,.nav-button):hover svg{color:var(--ink)}.sidebar nav a:active,.sidebar nav :is(.install-link,.nav-button):active{background:#ffffffe6}.sidebar nav a.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm);font-weight:750}.sidebar nav a.active svg{color:var(--ink)}.sidebar nav a:focus-visible,.sidebar nav :is(.install-link,.nav-button):focus-visible{outline-offset:0;border-radius:999px}.sidebar-bottom{margin-top:auto}.sidebar nav :is(.install-link,.nav-button){text-align:start;width:100%}.workspace-topbar{width:100%;max-width:calc(1200px + 2 * var(--content-pad));min-height:84px;padding:20px var(--content-pad) 4px;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.topbar-start,.topbar-end{flex-wrap:nowrap;align-items:center;min-width:0;display:flex}.topbar-start{gap:10px}.topbar-end{flex:none;gap:8px}.topbar-context{min-width:0;color:var(--muted);white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;display:flex}.topbar-context svg{color:var(--subtle);flex:none}.topbar-context strong{text-overflow:ellipsis;color:var(--ink);font-weight:750;overflow:hidden}.header-library{min-height:44px;color:var(--ink);white-space:nowrap;transition:background-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.header-library svg{color:var(--muted);transition:transform .18s var(--ease)}.header-library:hover{background:var(--surface);box-shadow:var(--shadow-xs)}.header-library:hover svg{transform:translate(1px,-1px)}.header-library:focus-visible{border-radius:999px}.topbar-avatar{background:var(--surface);width:40px;min-width:40px;height:40px;color:var(--ink);box-shadow:var(--shadow-sm);transition:box-shadow .18s var(--ease), transform .18s var(--ease);border-radius:14px;font-size:15px;position:relative}.topbar-avatar:after{content:"";border-radius:17px;position:absolute;inset:-3px}.topbar-avatar:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.topbar-avatar:focus-visible{border-radius:14px}.mobile-workspace-nav{display:none}.workspace-content{width:100%;max-width:calc(1200px + 2 * var(--content-pad));padding:20px var(--content-pad) calc(96px + var(--safe-bottom));flex:1;margin:0 auto}.workspace .sticky-panel{top:24px}.workspace-content .heading{align-items:flex-end;gap:16px 24px;margin-bottom:32px}.workspace-content .heading>div:first-child{min-width:0}.workspace-content .heading h1{letter-spacing:-.04em;overflow-wrap:anywhere;margin-bottom:8px;font-size:clamp(28px,1.25vw + 16px,36px);line-height:1.1}.workspace-content .heading .eyebrow{margin-bottom:10px}.workspace-content .heading .muted{font-size:16px}.workspace-content .panel{padding:var(--panel-pad)}.workspace-content .panel-title{letter-spacing:-.025em;margin-bottom:16px;font-size:20px}.workspace-content .panel-heading{margin-bottom:8px}.workspace-content .panel-heading h2{letter-spacing:-.025em;font-size:20px}.workspace-content .tabs{background:#0f1a3a0e;margin-bottom:28px}.workspace-content .tabs :is(button,a):hover:not(.active){background:#ffffff8c}:is(.workspace-content,.print-page)>.panel+.panel{margin-top:var(--gap)}.workspace-content>.notice{margin-bottom:20px}.workspace-content .notice+.panel{margin-top:4px}.workspace-content .error-panel{border-radius:var(--radius-lg)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:4px 24px;margin:64px 0 20px;display:flex}.section-head h2{letter-spacing:-.035em;margin:0;font-size:clamp(22px,.8vw + 15px,27px)}.section-head .text-link{min-height:44px;font-size:15px}.progress-stack+.section-head{margin-top:56px}.panel .empty{box-shadow:none;background:0 0;border-radius:0;padding:36px 16px 20px}.panel .empty>svg{margin-bottom:12px}.workspace-content>:is(.list-toolbar,.filters-grid) :is(input:not([type=checkbox]):not([type=radio]),select){background-color:var(--surface);box-shadow:var(--shadow-xs)}.workspace-content :is(.heading,.profile-actions,.results-actions) .button.secondary{box-shadow:var(--shadow-xs)}.workspace-content :is(.heading,.profile-actions,.results-actions) .button.secondary:hover:not(:disabled){background:var(--surface);box-shadow:var(--shadow-sm)}.workspace-content :is(.heading,.profile-actions,.results-actions) .button.ghost:hover:not(:disabled){background:#ffffffb8}.list-toolbar{gap:10px 12px;margin-bottom:24px}.search-field{flex:260px;max-width:420px;position:relative}.search-field svg{color:var(--ink);pointer-events:none;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.search-field input{border-radius:999px;min-height:52px;padding-left:48px}.search-field input::-webkit-search-cancel-button{cursor:pointer}.list-toolbar .checkbox{background:var(--surface);min-height:52px;box-shadow:var(--shadow-xs);transition:box-shadow .18s var(--ease);border-radius:999px;padding:0 20px 0 16px;font-size:14px}.list-toolbar .checkbox:hover{box-shadow:var(--shadow-sm)}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:14px 16px;margin-bottom:24px;display:grid}.filters-grid .field>span:first-child{color:var(--text);font-size:13px}.panel-form{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.workspace-content .form-grid>.field{align-content:start}.workspace-content input[type=file]{cursor:pointer;padding:5px 6px}.workspace-content input[type=file]::file-selector-button{background:var(--surface);min-height:36px;color:var(--ink);font:700 14px var(--font);box-shadow:var(--shadow-xs);cursor:pointer;transition:box-shadow .15s var(--ease);border:0;border-radius:999px;margin-right:14px;padding:0 18px}.workspace-content input[type=file]:hover::file-selector-button{box-shadow:var(--shadow-sm)}.panel>.table-wrap{margin:0 calc(-1 * var(--panel-pad)) calc(-1 * var(--panel-pad));border-radius:0 0 var(--radius-xl) var(--radius-xl)}.panel>.table-wrap .data-table :is(th,td):first-child,.panel.table-wrap .data-table :is(th,td):first-child{padding-left:var(--panel-pad)}.panel>.table-wrap .data-table :is(th,td):last-child,.panel.table-wrap .data-table :is(th,td):last-child{padding-right:var(--panel-pad)}.panel.table-wrap{padding:10px 0 6px}.panel.table-wrap>.empty{margin:0 16px}.workspace-content .data-table th{color:var(--muted);padding:14px 16px;font-size:13px;font-weight:700}.workspace-content .data-table td{height:60px;color:var(--text);padding:12px 16px}.workspace-content .learner-table td{height:72px}.workspace-content .data-table td strong{font-weight:750}.workspace-content .data-table td small{font-size:13px}.workspace-content .data-table tbody tr{transition:background-color .15s var(--ease)}.workspace-content .data-table tbody tr:hover{background:var(--surface-2)}.workspace .avatar.tone,.dialog-content .avatar.tone{background:var(--tone-soft);color:var(--tone-ink)}.avatar.tone.slate{--tone-soft:var(--surface-3);--tone-ink:var(--text)}.avatar.small{border-radius:14px;width:40px;min-width:40px;height:40px;font-size:16px}.dashboard-grid{gap:var(--gap);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;display:grid}.dashboard-grid+.progress-stack{margin-top:var(--gap)}.workspace-content .resume-card{border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);padding:40px}.resume-card h2{letter-spacing:-.04em;max-width:20ch;margin-bottom:12px;font-size:clamp(26px,1.4vw + 12px,34px)}.resume-card p{max-width:48ch;color:var(--text);margin-bottom:24px;font-size:16px}.start-panel{align-content:start;justify-items:start;height:100%;display:grid}.start-icon{color:var(--blue);margin-bottom:18px}.start-panel h2{letter-spacing:-.025em;margin-bottom:6px;font-size:20px}.start-panel .muted{margin-bottom:20px;font-size:14.5px}.install-card{margin:0 0 var(--gap);border-radius:var(--radius-lg);background:#fff9;align-items:center;gap:16px;padding:14px 14px 14px 20px;display:flex}.install-card-icon{color:var(--ink);flex:none}.install-card>div:nth-child(2){flex:1;min-width:0}.install-card h2{letter-spacing:-.015em;margin:0 0 2px;font-size:16px}.install-card p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.5}.install-card-actions{flex:none;align-items:center;gap:6px;display:flex}.install-card-actions .button{min-height:44px;padding:0 18px;font-size:14.5px}.install-card-actions .icon-button{box-shadow:none;background:0 0}@media (max-width:650px){.install-card{flex-wrap:wrap;gap:12px;padding:16px 16px 12px}.install-card-icon{display:none}.install-card>div:nth-child(2){flex-basis:100%}.install-card-actions{justify-content:space-between;width:100%}}@media (min-width:1181px){.workspace-content .featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-content .catalog-layout{grid-template-columns:220px minmax(0,1fr);gap:32px}.workspace-content .catalog-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}}@media (min-width:901px) and (max-width:1180px){.workspace-content .catalog-layout{grid-template-columns:minmax(0,1fr)}.workspace-content .catalog-filters{display:none}.workspace-content .filter-mobile-button{display:inline-flex}}.student-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:20px;display:grid}.student-card{background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:box-shadow .2s var(--ease), transform .2s var(--ease);grid-template-columns:auto minmax(0,1fr);align-content:start;column-gap:16px;padding:24px 24px 12px;display:grid;position:relative}.student-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.student-card:has(.text-link:focus-visible){outline:3px solid var(--focus);outline-offset:3px}.student-card .text-link:focus-visible{outline:none}.student-card .avatar{border-radius:16px;grid-row:1/span 2;align-self:center;width:52px;min-width:52px;height:52px;font-size:20px}.student-card h3{overflow-wrap:anywhere;align-self:end;margin:0 0 2px;font-size:18px}.student-card p{color:var(--muted);margin:0;font-size:13.5px}.student-card .student-card-last{border-top:1px solid var(--border);color:var(--text);grid-column:1/-1;margin-top:20px;padding-top:14px}.student-card .text-link{grid-column:1/-1;justify-self:start;min-height:44px;font-size:14.5px}.student-card .text-link:after{content:"";border-radius:inherit;position:absolute;inset:0}.student-card .text-link svg{transition:transform .18s var(--ease)}.student-card:hover .text-link svg{transform:translate(2px,-2px)}.profile-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px 32px;margin-bottom:32px;display:flex}.profile-id{flex:340px;align-items:center;gap:20px;min-width:0;display:flex}.profile-id>div:last-child{min-width:0}.profile-header .avatar{border-radius:24px;width:76px;min-width:76px;height:76px;font-size:30px}.profile-header h1{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0 0 10px;font-size:clamp(28px,1.25vw + 16px,36px)}.profile-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;font-size:14px;display:flex}.profile-meta .learner-code{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs);letter-spacing:.03em;font-variant-numeric:tabular-nums;padding:5px 12px;font-size:12.5px}.profile-actions{gap:8px}.goal-row{grid-template-columns:minmax(0,1fr) minmax(150px,190px) auto;align-items:center;gap:12px 16px;padding:16px 0;display:grid}.goal-row+.goal-row{border-top:1px solid var(--border)}.goal-row h3{overflow-wrap:anywhere;margin:0 0 2px;font-size:16px}.goal-row p{color:var(--muted);margin:0;font-size:13.5px}.goal-row .error-panel{margin-bottom:0}.goal-row select{min-height:44px;font-size:14px}.goal-row .icon-button{box-shadow:none;background:var(--surface-2)}.goal-row .icon-button:hover:not(:disabled){background:var(--danger-soft);color:var(--danger-ink);box-shadow:none}.observation{padding:18px 0}.observation+.observation{border-top:1px solid var(--border)}.observation .text-link{min-height:44px}.observation p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0}.session-row{justify-content:space-between;align-items:center;gap:12px 24px;padding:18px 0;display:flex}.session-row+.session-row{border-top:1px solid var(--border)}.workspace-content .panel-title+.session-row{border-top:0;padding-top:4px}.panel>div>.session-row:first-child{padding-top:0}.panel>div>.session-row:last-child,.panel>.session-row:last-child{padding-bottom:0}.session-row>div:first-child{min-width:0}.session-row h3{overflow-wrap:anywhere;margin:0 0 3px;font-size:16px}.session-row p{color:var(--muted);margin:0;font-size:13.5px}.session-row>.row{flex-wrap:nowrap;flex:none;gap:14px}.pack-demo-note{margin-top:16px}.pack-access{flex-direction:column;gap:10px;display:flex}.pack-access>.badge{align-self:flex-start}.pack-access h3{margin:8px 0 0;font-size:21px}.pack-access p{margin:0 0 8px}.workspace-content .pack-levels{gap:16px;margin-bottom:24px}.workspace-content :is(.level-card,.activity-tile){border-radius:var(--tile-radius);background:var(--surface);box-shadow:var(--shadow-sm);border:0}.workspace-content .level-card{padding:22px 24px}.workspace-content .level-card .badge{--tone-soft:var(--ink);--tone-ink:#fff;justify-content:center;min-width:28px}.workspace-content .level-card h3{font-size:16.5px}.workspace-content .activity-stack{gap:14px}.workspace-content .activity-tile{gap:18px;padding:18px 20px 18px 24px}.workspace-content .activity-tile>svg{color:var(--ink)}.pack-guide{margin-top:var(--gap)}.pack-guide h3{margin-bottom:6px;font-size:18px}.pack-guide p+h3{margin-top:20px}.pack-guide p:last-child{margin-bottom:0}.progress-stack{gap:var(--gap);margin-bottom:var(--gap);grid-template-columns:minmax(0,1fr);display:grid}.progress-stack small{font-size:13px}.progress-pair{gap:var(--gap);grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:stretch;display:grid}.progress-pair>:only-child{grid-column:1/-1}.section-top.compact{flex-wrap:wrap;align-items:flex-start;gap:12px 24px;margin-bottom:12px}.section-top.compact h2{letter-spacing:-.025em;margin-bottom:4px;font-size:20px}.section-top.compact p{max-width:640px;margin:0;font-size:14px}.stat-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.stat-tile{background:var(--surface);border-radius:var(--tile-radius);min-width:0;box-shadow:var(--shadow-sm);align-content:start;gap:4px;padding:22px 24px;display:grid}.stat-label{color:var(--muted);align-items:center;gap:8px;margin-bottom:12px;font-size:14px;font-weight:650;line-height:1.35;display:flex}.stat-label svg{color:var(--tone,var(--ink));flex:none}.stat-tile strong{letter-spacing:-.035em;color:var(--ink);overflow-wrap:anywhere;font-size:32px;font-weight:800;line-height:1.1}.stat-tile small{color:var(--muted);font-size:13px}.unfinished-panel{container-type:inline-size}.unfinished-panel h2{letter-spacing:-.025em;margin-bottom:6px;font-size:20px}.unfinished-row{grid-template-columns:minmax(0,1fr);gap:14px;padding:20px 0;display:grid}.unfinished-row+.unfinished-row{border-top:1px solid var(--border)}.unfinished-row:last-child{padding-bottom:0}.unfinished-row>div:first-child{min-width:0}@container (min-width:640px){.unfinished-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:32px}}.unfinished-row h3{overflow-wrap:anywhere;margin:0 0 3px;font-size:16.5px;font-weight:800}.unfinished-row p{margin:0 0 12px;font-size:13.5px}.unfinished-actions{gap:8px 14px}.unfinished-actions .error-panel{flex-basis:100%;margin:0}.unfinished-actions .text-link{min-height:44px;padding-inline:6px}.meter{background:var(--primary-soft-2);border-radius:999px;max-width:420px;height:6px;overflow:hidden}.meter span{border-radius:inherit;background:var(--ink);height:100%;display:block}.weekly-chart{flex-direction:column;margin:0;display:flex}.weekly-chart h3{letter-spacing:-.025em;margin:0 0 4px;font-size:20px}.weekly-chart figcaption p{margin:0 0 20px;font-size:13.5px}.week-bars{flex:auto;align-items:stretch;gap:2px;min-height:196px;display:flex}.week{min-width:0;transition:background-color .15s var(--ease);border-radius:14px;flex:1 1 0;grid-template-rows:auto minmax(0,1fr) auto;justify-items:center;gap:8px;padding-top:8px;display:grid;position:relative}.week:hover,.week:focus-visible{background:var(--surface-2)}.week:focus-visible{outline-offset:2px;border-radius:14px}.week-value{min-height:18px;color:var(--ink);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:750}.week-track{border-bottom:1px solid var(--chart-grid);justify-content:center;align-items:flex-end;width:100%;min-height:120px;display:flex}.week-track span{background:var(--outcome-supported);width:min(24px,62%);min-height:3px;transition:background-color .15s var(--ease);border-radius:6px 6px 0 0}.week-track span.current{background:var(--outcome-independent)}.week:hover .week-track span:not(.current){background:#43579a}.week-label{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;padding-bottom:8px;font-size:11.5px;font-weight:600}.chart-note{margin:16px 0 0;font-size:13.5px}.week[data-tip]:hover:after,.week[data-tip]:focus-visible:after{content:attr(data-tip);z-index:5;background:var(--ink);color:#fff;text-align:left;width:max-content;max-width:230px;box-shadow:var(--shadow-md);pointer-events:none;border-radius:12px;padding:10px 12px;font-size:12.5px;font-weight:600;line-height:1.5;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.week:first-child[data-tip]:after{left:0;transform:none}.week:last-child[data-tip]:after{left:auto;right:0;transform:none}.chart-legend{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:0;padding:0;font-size:13px;font-weight:600;list-style:none;display:flex}.chart-legend li{align-items:center;gap:8px;display:flex}.swatch{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.swatch.independent,.seg.independent{background:var(--outcome-independent)}.swatch.supported,.seg.supported{background:var(--outcome-supported)}.swatch.incorrect,.seg.incorrect{background:var(--outcome-incorrect)}.outcome{gap:8px;min-width:0;display:grid}.outcome-bar{gap:2px;height:10px;display:flex}.outcome-bar .seg{flex-basis:0;min-width:6px}.outcome-bar .seg:first-child{border-radius:999px 0 0 999px}.outcome-bar .seg:last-child{border-radius:0 999px 999px 0}.outcome-bar .seg:only-child{border-radius:999px}.outcome-text{font-size:13px}.outcome-text strong{font-variant-numeric:tabular-nums;font-weight:800}.outcome.compact{min-width:140px;max-width:220px}.outcome-empty,.trend-empty{font-size:13px}.trend{justify-items:start;gap:4px;margin:0;display:grid}.trend svg{overflow:visible}.trend-axis{stroke:var(--chart-grid);stroke-width:1px}.trend-line{fill:none;stroke:var(--outcome-independent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend-dot{fill:var(--outcome-independent);stroke:var(--surface);stroke-width:2px}.trend figcaption{color:var(--muted);font-size:12.5px}.skill-list{grid-template-columns:minmax(0,1fr);display:grid}.skill-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) 160px auto;align-items:center;gap:16px 28px;padding:20px 0;display:grid}.skill-row:last-child{padding-bottom:0}.skill-title h3{overflow-wrap:anywhere;margin:0 0 4px;font-size:16px}.skill-title p{margin:0 0 2px;font-size:13.5px}.skill-title .badge{padding:2px 10px}.skill-title .fluency-line{color:var(--ink);align-items:flex-start;gap:6px;margin-top:6px;display:flex}.fluency-line svg{color:var(--blue);flex:none;margin-top:2px}.skill-action{white-space:nowrap}.learner-table td{vertical-align:middle}.learner-table th{white-space:normal}.learner-table .cell>small,.learner-table .cell>span{display:block}.learner-table .cell>span:first-child{color:var(--ink);font-weight:600}.learner-table .cell>.badge{margin-top:6px;display:inline-flex}.learner-link{align-items:center;gap:14px;min-height:44px;display:flex}.learner-link>span:last-child{min-width:0;display:grid}.learner-link strong{transition:color .15s var(--ease);font-size:15px}.learner-link small{display:block}.learner-link:hover strong{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1.5px}.learner-table .text-link{min-height:44px}.privacy-note{align-items:flex-start;gap:10px;margin:0;display:flex}.privacy-note svg{flex:none;margin-top:2px}.setup-layout{gap:var(--gap);grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:start;display:grid}.setup-steps{grid-template-columns:minmax(0,1fr);gap:20px;min-width:0;display:grid}.setup-section{min-width:0;padding:var(--panel-pad);background:var(--surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.setup-section h2{letter-spacing:-.025em;align-items:center;gap:14px;margin-bottom:22px;font-size:20px;display:flex}.step-label{background:var(--ink);color:#fff;letter-spacing:0;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:inline-grid}.setup-hint{margin:16px 0 0;font-size:13.5px}.setup-choices{border:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:10px;min-width:0;margin:0;padding:0;display:grid}.setup-choices legend{color:var(--ink);margin-bottom:10px;padding:0;font-size:14px;font-weight:700}.setup-choice{background:var(--surface-2);cursor:pointer;min-height:68px;transition:background-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:20px;align-items:center;gap:12px;padding:12px 48px 12px 12px;display:flex;position:relative}.setup-choices>label:first-of-type{grid-column:1/-1}.setup-choice:hover{background:var(--surface-3)}.setup-choice input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.setup-choice:focus-within{box-shadow:var(--ring)}.setup-choice.selected{background:var(--surface);box-shadow:inset 0 0 0 2px var(--ink), var(--shadow-sm)}.setup-choice.selected:focus-within{box-shadow:inset 0 0 0 2px var(--ink), var(--ring)}.setup-choice .avatar{border-radius:14px;width:42px;min-width:42px;height:42px;font-size:16px}.setup-choice .avatar.anonymous{background:var(--surface);color:var(--muted);box-shadow:var(--shadow-xs)}.setup-choice-text{min-width:0;line-height:1.35;display:grid}.setup-choice-text strong{overflow-wrap:anywhere;font-size:15px}.setup-choice-text small{color:var(--muted);font-size:13px}.setup-check{width:22px;height:22px;box-shadow:inset 0 0 0 1.5px var(--border-strong);background:var(--surface);color:#0000;transition:background-color .18s var(--ease), box-shadow .18s var(--ease), color .18s var(--ease);border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.setup-choice.selected .setup-check{background:var(--ink);color:#fff;box-shadow:none}.start-choices{grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}.start-choices>label:first-of-type{grid-column:auto}.start-choice{align-items:flex-start;min-height:84px;padding:16px 48px 16px 16px}.start-choice .setup-choice-text{gap:2px}.start-choice .setup-choice-text small{font-size:13.5px}.start-icon{width:30px;height:30px;color:var(--ink);flex:none;place-items:center;display:grid}.start-choice.disabled{cursor:default}.start-choice.disabled:hover{background:var(--surface-2)}.start-choice.disabled .start-icon,.start-choice.disabled strong{color:var(--muted)}.start-choice.disabled .setup-check{box-shadow:inset 0 0 0 1.5px var(--border)}.setup-chips{border:0;min-width:0;margin:22px 0 0;padding:0}.setup-chips legend{color:var(--ink);margin-bottom:10px;padding:0;font-size:14px;font-weight:700}.setup-chip-row{flex-wrap:wrap;gap:8px;display:flex}.setup-chip{background:var(--surface-2);min-width:64px;min-height:48px;color:var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 18px;font-size:15px;font-weight:700;display:inline-flex;position:relative}.setup-chip:hover{background:var(--surface-3)}.setup-chip input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.setup-chip:focus-within{box-shadow:var(--ring)}.setup-chip.selected{background:var(--surface);box-shadow:inset 0 0 0 2px var(--ink), var(--shadow-sm)}.setup-chip.selected:focus-within{box-shadow:inset 0 0 0 2px var(--ink), var(--ring)}.audience-choices{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.audience-choices legend{color:var(--ink);margin-bottom:4px;padding:0;font-size:15px;font-weight:800}.audience-hint{margin:0 0 4px;font-size:13.5px}.audience-choice{background:var(--surface-2);cursor:pointer;min-height:80px;transition:background-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:22px;align-items:center;gap:16px;padding:14px 50px 14px 18px;display:flex;position:relative}.audience-choice:hover{background:var(--surface-3)}.audience-choice input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.audience-choice:focus-within{box-shadow:var(--ring)}.audience-choice.selected{background:var(--surface);box-shadow:inset 0 0 0 2px var(--ink), var(--shadow-sm)}.audience-choice.selected:focus-within{box-shadow:inset 0 0 0 2px var(--ink), var(--ring)}.audience-icon{color:var(--ink);flex:none}.audience-text{gap:2px;min-width:0;line-height:1.35;display:grid}.audience-text strong{color:var(--ink);font-size:16px;font-weight:800}.audience-text small{color:var(--muted);overflow-wrap:anywhere;font-size:13.5px}.audience-choice.selected .setup-check{background:var(--ink);color:#fff;box-shadow:none}.onboarding-step{gap:12px;margin-top:8px;display:grid}@media (max-width:480px){.audience-choice{border-radius:20px;gap:12px;min-height:72px;padding:12px 44px 12px 14px}.audience-choice .setup-check{right:12px}}.setup-queue{gap:10px;margin-top:18px;display:grid}.queue-item{background:var(--surface);min-height:68px;box-shadow:inset 0 0 0 2px var(--ink), var(--shadow-sm);border-radius:20px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 12px 12px 14px;display:flex}.queue-number{background:var(--ink);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:14px;font-weight:800;display:inline-grid}.queue-text{min-width:0;color:var(--ink);overflow-wrap:anywhere;flex:180px;font-size:15px;font-weight:750;line-height:1.35;display:grid}.queue-text small{color:var(--muted);font-size:13px;font-weight:500}.queue-actions{gap:6px;margin-left:auto;display:flex}.queue-actions .icon-button{background:var(--surface-2);box-shadow:none}.queue-actions .icon-button:hover:not(:disabled){background:var(--surface-3);box-shadow:none}.setup-add{margin-top:22px}.setup-add-label{color:var(--ink);margin:0 0 10px;font-size:14px;font-weight:700}.setup-add-list{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:10px;display:grid}.setup-add-item{background:var(--surface-2);text-align:left;min-height:60px;transition:background-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:20px;align-items:center;gap:12px;padding:12px 16px 12px 14px;display:flex}.setup-add-item>svg{background:var(--surface);width:30px;height:30px;color:var(--ink);box-shadow:var(--shadow-xs);border-radius:50%;flex:none;padding:7px}.setup-add-item span{min-width:0;color:var(--ink);overflow-wrap:anywhere;font-size:14.5px;font-weight:700;line-height:1.35;display:grid}.setup-add-item small{color:var(--muted);font-size:13px;font-weight:500}.setup-add-item:hover{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--border-strong), var(--shadow-sm)}.setup-toggles{gap:8px;margin-top:22px;display:grid}.setup-toggles:empty{display:none}.setup-toggles .checkbox{background:var(--surface-2);min-height:52px;transition:background-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:16px;padding:0 16px}.setup-toggles .checkbox:hover{background:var(--surface-3)}.setup-toggles .checkbox:has(input:checked){background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--ink)}.setup-summary .panel{box-shadow:var(--shadow-md);padding:28px}.summary-label{color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:700}.setup-summary h2{letter-spacing:-.03em;overflow-wrap:anywhere;margin-bottom:8px;font-size:22px}.setup-objective{margin-bottom:18px;font-size:14px}.setup-facts{margin:0 0 22px;display:grid}.setup-facts>div{border-top:1px solid var(--border);grid-template-columns:118px minmax(0,1fr);gap:12px;padding:12px 0;font-size:14px;display:grid}.setup-facts dt{color:var(--muted);align-items:flex-start;gap:8px;font-weight:600;display:flex}.setup-facts dt svg{flex:none;margin-top:3px}.setup-facts dd{min-width:0;color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:700}.setup-start{min-height:54px;margin-top:4px;font-size:16px}.setup-note{margin:14px 0 0;font-size:12.5px}.results-meta{gap:8px 12px;margin-top:-12px}.results-meta .muted{font-size:14px}.summary-stats{margin:24px 0 var(--gap);grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.summary-stat{background:var(--surface);border-radius:var(--tile-radius);min-width:0;box-shadow:var(--shadow-sm);align-content:start;gap:6px;padding:22px 22px 20px;display:grid}.summary-stat strong{letter-spacing:-.035em;color:var(--ink);font-size:32px;font-weight:800;line-height:1.1}.summary-stat span{color:var(--muted);align-items:baseline;gap:8px;font-size:13.5px;font-weight:600;line-height:1.4;display:flex}.summary-stat:is(.independent,.supported,.incorrect) span:before{content:"";border-radius:50%;flex:none;width:9px;height:9px;transform:translateY(-1px)}.summary-stat.independent span:before{background:var(--outcome-independent)}.summary-stat.supported span:before{background:var(--outcome-supported)}.summary-stat.incorrect span:before{background:var(--outcome-incorrect)}.fluency-panel{grid-template-columns:minmax(150px,auto) minmax(0,1fr);align-items:center;gap:12px 32px;display:grid}.fluency-value{gap:2px;display:grid}.fluency-value .stat-label{--tone:var(--blue);margin:0}.fluency-value strong{letter-spacing:-.035em;color:var(--ink);font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1.1}.fluency-text p{margin:0 0 4px}@media (max-width:560px){.fluency-panel{grid-template-columns:minmax(0,1fr)}}.context-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px;margin-bottom:18px;font-size:14.5px;display:grid}.context-grid p{overflow-wrap:anywhere;margin:0}.context-note{border-top:1px solid var(--border);margin:0;padding-top:16px}.results-actions{margin:var(--gap) 0;gap:8px 10px}.notes-head{justify-content:space-between;gap:8px 16px;margin-bottom:16px}.notes-head .panel-title{margin:0}.notes-actions{gap:8px 12px;margin-top:18px}.notes-help{margin:14px 0 0}.note-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.notes-locked .note-text{background:var(--surface-2);color:var(--ink);border-radius:18px;padding:18px 20px}.print-page{background:var(--surface);border-radius:var(--radius-2xl);max-width:960px;box-shadow:var(--shadow-sm);margin:0 auto;padding:48px}.print-toolbar{gap:10px;margin-bottom:36px}.print-brand{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0 0 28px;font-size:14px;font-weight:600;display:flex}.print-brand .wordmark{font-size:17px}.print-brand .wordmark:before{background:radial-gradient(circle at 50% 50%, var(--accent) 0 4px, transparent 4.5px), var(--ink);border-radius:8px;width:24px;height:24px;margin-right:8px}.print-page .heading{margin-bottom:20px}.print-page .heading h1,.print-page>h1{font-size:clamp(28px,2vw + 14px,38px)}.print-page .results-meta{margin-top:0}.print-page .panel{border-top:1px solid var(--border);box-shadow:none;background:0 0;border-radius:0;margin-top:28px;padding:28px 0 0}.print-page .panel>.table-wrap{border-radius:0;margin:0}.print-page .panel>.table-wrap .data-table :is(th,td):first-child{padding-left:0}.print-page .panel>.table-wrap .data-table :is(th,td):last-child{padding-right:0}.print-page .summary-stat{background:var(--surface-2);box-shadow:none}.print-page .notice{margin:20px 0}.print-activity{margin:40px 0 6px;font-size:22px}.print-item{border-radius:var(--radius-lg);background:var(--surface-2);break-inside:avoid;page-break-inside:avoid;margin:14px 0;padding:22px}.print-item>strong{margin-bottom:14px;display:block}.print-item .row.center{gap:16px;margin-top:12px}.print-item .stimulus img{object-fit:contain;width:72px;height:72px}.print-line{color:var(--muted);align-items:flex-end;gap:10px;margin:22px 0 0;font-size:12px;display:flex}.print-rule{background:var(--border-strong);flex:1;min-width:40px;height:1px;margin-bottom:4px}.account-form{max-width:560px}.account-form .button{justify-self:start}.membership-item{margin-bottom:20px}.membership-item p{margin:10px 0 0}.admin-page-tabs{display:none}.founder-stats{margin-bottom:var(--gap);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;display:grid}.founder-stat{background:var(--surface);border-radius:var(--tile-radius);min-width:0;box-shadow:var(--shadow-sm);color:var(--text);transition:box-shadow .2s var(--ease), transform .2s var(--ease);align-content:start;gap:4px;padding:22px 24px;display:grid;position:relative}.founder-stat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.founder-stat:focus-visible{border-radius:var(--tile-radius)}.founder-stat .stat-label{padding-right:28px}.founder-stat strong{letter-spacing:-.035em;color:var(--ink);font-size:32px;font-weight:800;line-height:1.1}.stat-arrow{color:var(--subtle);transition:color .18s var(--ease), transform .18s var(--ease);position:absolute;top:22px;right:22px}.founder-stat:hover .stat-arrow{color:var(--ink);transform:translate(2px,-2px)}.founder-dashboard-grid{gap:var(--gap);grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);align-items:start;display:grid}.founder-dashboard-grid>aside{gap:var(--gap)}.review-panel .empty{padding:32px 16px 12px}.review-row{align-items:center;gap:16px;padding:18px 0;display:flex}.review-row+.review-row{border-top:1px solid var(--border)}.review-row:last-child{padding-bottom:0}.review-row>div{flex:1;min-width:0}.review-row h3{overflow-wrap:anywhere;margin:0 0 3px;font-size:16px}.review-row p{color:var(--muted);margin:0 10px 0 0;font-size:13.5px;display:inline}.review-row .badge{vertical-align:1px}.review-row .button{flex:none}.founder-tools h2{letter-spacing:-.025em;margin-bottom:10px;font-size:20px}.founder-tools>a{min-height:64px;transition:background-color .18s var(--ease);border-radius:18px;align-items:center;gap:14px;margin:0 -12px;padding:10px 12px;display:flex}.founder-tools>a:hover{background:var(--surface-2)}.founder-tools>a>svg:first-child{color:var(--ink);flex:none}.founder-tools>a>div{flex:1;min-width:0}.founder-tools strong{font-size:15px;display:block}.founder-tools small{color:var(--muted);font-size:13px;display:block}.founder-tools>a>svg:last-child{color:var(--subtle);transition:color .18s var(--ease), transform .18s var(--ease);flex:none}.founder-tools>a:hover>svg:last-child{color:var(--ink);transform:translate(2px)}.integration-card h3{align-items:center;gap:10px;margin:0 0 10px;font-size:18px;display:flex}.integration-card h3 svg{color:var(--success);flex:none}.integration-line{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:14.5px;font-weight:600;display:flex}.integration-line+.integration-line{border-top:1px solid var(--border)}.integration-card .text-link{min-height:44px;margin-top:6px;font-size:14.5px}.activity-panel{margin-top:var(--gap)}.founder-timeline>div{align-items:center;gap:16px;padding:14px 0;display:flex}.founder-timeline>div+div{border-top:1px solid var(--border)}.founder-timeline>div:last-child{padding-bottom:0}.timeline-dot{background:var(--ink);width:10px;height:10px;box-shadow:0 0 0 4px var(--primary-soft);border-radius:50%;flex:none}.founder-timeline>div:first-child .timeline-dot{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.founder-timeline>div>div{flex:1;min-width:0}.founder-timeline strong{font-size:15px}.founder-timeline p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13.5px}.founder-timeline time{color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.founder-timeline .icon-button{background:var(--surface-2);box-shadow:none;flex:none}.founder-timeline .icon-button:hover{background:var(--surface-3);box-shadow:none}.founder-privacy-note{color:var(--muted);text-align:center;justify-content:center;align-items:flex-start;gap:8px;margin:28px 0 0;font-size:13.5px;display:flex}.founder-privacy-note svg{flex:none;margin-top:2px}.upload-panel{margin-bottom:var(--gap)}.workspace-content .stack:has(>.asset-row){gap:16px}.asset-layout{flex-wrap:nowrap;align-items:flex-start;gap:24px}.asset-thumb{background:var(--surface-2);object-fit:contain;border-radius:20px;flex:none;width:104px;height:104px;padding:8px}.avatar.asset-thumb{width:72px;min-width:72px;height:72px;padding:0}.asset-body{flex:1;min-width:0}.asset-body h3{overflow-wrap:anywhere;margin-bottom:4px;font-size:17px}.asset-body>p{overflow-wrap:anywhere;margin-bottom:10px}.asset-actions{gap:8px 16px;margin:14px 0 8px}.setting-row{flex-wrap:nowrap;align-items:flex-end;max-width:760px;margin-bottom:18px}.setting-field{flex:1;min-width:0}.admin-callback{overflow-wrap:anywhere;font-size:13.5px}.admin-callback code,.workspace-content code{background:var(--surface-2);color:var(--ink);border-radius:8px;padding:3px 8px;font:12.5px/1.5 ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.outbox-message{border-top:1px solid var(--border);overflow-wrap:anywhere;margin-top:16px;padding-top:16px}.outbox-message p{margin:4px 0 0}.editor-status{gap:8px;margin:-12px 0 20px}.editor-notice{margin-bottom:16px}.revision-list{margin:16px 0 0;padding:0;list-style:none;display:grid}.revision-list li{justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.revision-list li+li{border-top:1px solid var(--border)}.revision-list strong{color:var(--ink);margin-right:8px}.revision-list p{overflow-wrap:anywhere;margin:4px 0 0}.editor-areas{gap:4px 20px;margin-top:10px}.json-editor{border-radius:var(--radius-lg);background:var(--surface-2);min-height:460px;color:var(--ink);tab-size:2;white-space:pre;overflow-wrap:normal;padding:18px 20px;font:500 13px/1.7 ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;overflow:auto}.schema-issues{color:var(--danger-ink);margin:0;padding-left:20px;font-size:14px}.schema-issues li{overflow-wrap:anywhere}.sidebar.mobile-sidebar{gap:12px;height:auto;padding:0;display:grid;position:static;overflow:visible}.mobile-sidebar nav a:hover,.mobile-sidebar nav :is(.install-link,.nav-button):hover{background:var(--surface-2)}.mobile-sidebar nav a.active{background:var(--primary-soft);box-shadow:none}.mobile-sidebar nav+nav{border-top:1px solid var(--border);padding-top:12px}@media (max-width:1280px){.skill-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.skill-action{justify-self:start}}@media (max-width:1200px){.workspace{--sidebar-w:252px;--content-pad:32px}.sidebar{padding-left:16px;padding-right:10px}.summary-stats{gap:12px}.summary-stat{padding:18px 16px}.setup-layout{grid-template-columns:minmax(0,1fr);gap:20px}.setup-summary{z-index:15;padding-bottom:max(14px, env(safe-area-inset-bottom));position:sticky;bottom:0}.setup-summary .panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 20px;padding:14px 14px 14px 24px;display:grid;position:static}.summary-label,.setup-objective,.setup-facts>div:not(.key){display:none}.setup-summary h2{white-space:nowrap;text-overflow:ellipsis;grid-column:1;margin:0;font-size:15px;overflow:hidden}.setup-facts{grid-column:1;margin:0}.setup-facts>div.key{border:0;padding:0;font-size:13.5px;display:block}.setup-facts>div.key dt{display:none}.setup-facts>div.key dd{color:var(--muted);font-weight:600}.setup-summary .error-panel{grid-column:1/-1;margin:8px 0}.setup-start{grid-area:1/2/span 2;width:auto;min-height:50px;margin:0}.setup-note{grid-column:1/-1;margin-top:8px}}@media (max-width:1100px){.stat-row,.founder-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-pair,.founder-dashboard-grid{grid-template-columns:minmax(0,1fr)}.founder-dashboard-grid>aside{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}}@media (max-width:900px){.workspace{--content-pad:24px;display:block}.workspace>.sidebar{display:none}.mobile-workspace-nav{box-shadow:var(--shadow-xs);display:inline-flex}.workspace-topbar{z-index:30;min-height:calc(68px + var(--safe-top));padding:calc(12px + var(--safe-top)) var(--content-pad) 12px;-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);background:#f3f4f7db;position:sticky;top:0}.workspace-content{padding-top:16px;padding-bottom:calc(64px + var(--safe-bottom))}.admin-page-tabs{display:flex}.learner-table :is(th,td):not(:first-child):not(:last-child){padding-inline:10px}}@media (max-width:760px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}.goal-row{grid-template-columns:minmax(0,1fr) auto}.goal-row>div:first-child{grid-column:1/-1}.context-grid{grid-template-columns:minmax(0,1fr)}.summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-stat:last-child{grid-column:1/-1}}@media (max-width:650px){.workspace-content .button{white-space:normal;max-width:100%}.workspace{--content-pad:16px;--panel-pad:20px;--gap:16px;--tile-radius:20px}.topbar-area,.topbar-context svg,.header-library{display:none}.topbar-context{font-size:16px}.workspace-content{padding-top:12px;padding-bottom:calc(48px + var(--safe-bottom))}.workspace-content .heading{margin-bottom:24px}.workspace-content .heading .muted{font-size:15px}.workspace-content .panel-title,.workspace-content .panel-heading h2,.section-top.compact h2,.unfinished-panel h2,.weekly-chart h3,.setup-section h2{font-size:18px}.panel>.table-wrap{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.section-head{margin-top:44px;margin-bottom:14px}.workspace-content .resume-card{border-radius:var(--radius-xl);padding:28px 22px}.profile-id{flex-basis:100%;gap:16px}.profile-header{margin-bottom:24px}.profile-header .avatar{border-radius:20px;width:60px;min-width:60px;height:60px;font-size:24px}.profile-actions .button:not(.ghost){flex:auto}.profile-actions .button.ghost{flex:auto;gap:6px;padding-inline:8px;font-size:14px}.search-field{flex-basis:100%;max-width:none}.session-row{flex-direction:column;align-items:stretch}.session-row>.row{justify-content:space-between}.stat-row,.founder-stats{gap:12px}.stat-tile,.founder-stat{padding:16px 16px 18px}.stat-label{gap:6px;margin-bottom:8px;font-size:13px}.stat-tile strong,.founder-stat strong,.summary-stat strong{font-size:26px}.stat-arrow{top:16px;right:14px}.founder-stat .stat-label{padding-right:22px}.section-top.compact{flex-direction:column}.week-bars{min-height:150px}.week-track{min-height:88px}.week-label{font-size:10.5px}.skill-row{grid-template-columns:minmax(0,1fr);gap:12px}.outcome.compact{max-width:none}.setup-section h2{gap:12px;margin-bottom:18px}.queue-item{padding:10px 10px 10px 12px}.summary-stats{gap:12px}.summary-stat{padding:16px 16px 18px}.results-actions .button{flex:auto}.print-page{border-radius:var(--radius-xl);padding:22px 18px}.founder-dashboard-grid>aside{grid-template-columns:minmax(0,1fr)}.review-row{flex-wrap:wrap;align-items:flex-start}.review-row .button{width:100%}.founder-timeline>div{flex-wrap:wrap;gap:2px 14px}.founder-timeline>div>div{flex:calc(100% - 100px)}.founder-timeline time{flex-basis:100%;order:3;padding-left:24px}.asset-layout{flex-direction:column;gap:14px}.setting-row{flex-wrap:wrap}.setting-row .button{width:100%}.json-editor{min-height:320px;padding:14px;font-size:12px}.editor-status{margin-top:-8px}}@media (max-width:480px){.setup-summary .panel{grid-template-columns:minmax(0,1fr);padding:12px 12px 12px 18px}.setup-summary h2{display:none}.setup-start{grid-area:auto/1;width:100%;margin-top:8px}.setup-choices,.setup-add-list{grid-template-columns:minmax(0,1fr)}.setup-facts dt{display:none}}@media screen and (max-width:650px){.event-table,.event-table tbody{display:block}.event-table thead{display:none}.event-table tr{border-bottom:1px solid var(--border);gap:10px;padding:18px 0;display:grid}.event-table tr:last-child{border-bottom:0}.workspace-content .event-table td{overflow-wrap:anywhere;border:0;grid-template-columns:minmax(88px,34%) minmax(0,1fr);align-items:start;gap:12px;height:auto;padding:0;display:grid}.event-table td:before{content:attr(data-label);color:var(--muted);padding-top:1px;font-size:12.5px;font-weight:650}.workspace-content .event-table tbody tr:hover{background:0 0}.panel>.table-wrap{border-radius:0;margin:0}.panel>.table-wrap .event-table :is(th,td):is(:first-child,:last-child){padding-inline:0}.panel.table-wrap{padding:4px var(--panel-pad)}.panel.table-wrap .event-table td:is(:first-child,:last-child){padding-inline:0}.learner-table td:is(:first-child,:last-child){grid-template-columns:minmax(0,1fr)}.learner-table td:is(:first-child,:last-child):before{content:none}.learner-table .text-link{min-height:44px}}.workspace-content .text-link:not(p .text-link){min-height:44px}.panel-heading .text-link{margin-right:-8px;padding-inline:8px}@media (hover:none){.student-card:hover,.founder-stat:hover,.topbar-avatar:hover,.founder-stat:hover .stat-arrow,.founder-tools>a:hover>svg:last-child,.student-card:hover .text-link svg,.header-library:hover svg{transform:none}}@media (prefers-reduced-motion:reduce){.student-card:hover,.founder-stat:hover,.topbar-avatar:hover,.founder-stat:hover .stat-arrow,.founder-tools>a:hover>svg:last-child,.student-card:hover .text-link svg,.header-library:hover svg{transform:none}}@media print{.workspace{background:#fff;display:block}.workspace-content{max-width:none;padding:0}.admin-page-tabs,.unfinished-panel,.skill-action,.setup-summary{display:none!important}.print-page{max-width:none;box-shadow:none;border-radius:0;margin:0;padding:0}.print-toolbar{display:none}.print-page h1{font-size:24pt}.print-page .data-table td{height:auto;padding-block:8px}.print-page .data-table tbody tr:hover{background:0 0}.print-page .panel{border:0;border-top:1px solid #d5d9e3}.print-item,.print-page .summary-stat{background:#fff;border:1px solid #d5d9e3}.stat-tile,.summary-stat,.founder-stat,.setup-section,.student-card{box-shadow:none}.summary-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.summary-stat:last-child{grid-column:auto}.seg,.swatch,.week-track span,.trend-dot,.meter span,.summary-stat span:before,.print-brand .wordmark:before{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.gate-notice{align-items:flex-start;gap:10px;margin:0;display:flex}.gate-notice svg{flex:none;margin-top:2px}.gate-notice .text-link{min-height:0;margin-left:2px;display:inline-flex}.workspace-content>.gate-notice{margin-bottom:20px}.setup-section .gate-notice{margin-top:14px}.setup-summary .gate-notice{margin:12px 0}.consent-fields{border-radius:var(--radius);background:var(--surface-2);border:0;gap:6px;min-width:0;margin:0;padding:16px 18px;display:grid}.consent-fields legend{float:left;width:100%;color:var(--ink);margin-bottom:6px;padding:0;font-size:14px;font-weight:700}.checkbox.consent-check{align-items:flex-start;padding-block:6px;font-size:14.5px;line-height:1.5}.consent-check input{margin-top:1px}.consent-check .text-link{display:inline}.consent-fields .consent-link{justify-self:start;font-size:14px}.consent-needed{justify-items:start;gap:10px;margin-bottom:20px;display:grid}.consent-needed .gate-notice{width:100%}.student-card .consent-needed{z-index:1;grid-column:1/-1;margin:14px 0 0;position:relative}.consent-needed.compact .gate-notice{padding:10px 14px;font-size:13.5px}.consent-needed.compact .button{min-height:44px;padding:8px 16px;font-size:14px}.typed-confirm input{letter-spacing:.04em}.typed-confirm-export{border-radius:var(--radius);background:var(--surface-2);justify-items:start;gap:10px;padding:16px 18px;display:grid}.typed-confirm-export p{margin:0}.typed-confirm-export .error-panel{width:100%;margin:0}.reauth-form .reauth-account{overflow-wrap:anywhere;margin:0}.reauth-form .reauth-account strong{color:var(--ink)}.reauth-form p{margin:0}.privacy-jump{flex-wrap:wrap;gap:4px 6px;margin:-8px 0 24px;display:flex}.privacy-jump a{min-height:44px;color:var(--muted-strong);border-radius:999px;align-items:center;padding:8px 14px;font-size:14px;font-weight:700;transition:background-color .15s,color .15s;display:inline-flex}.privacy-jump a:hover{background:var(--surface);color:var(--ink)}.privacy-section{scroll-margin-top:24px}.privacy-section>p{max-width:68ch}.privacy-section>.row{margin-top:4px}.privacy-section h3{margin-bottom:10px;font-size:17px}.privacy-block{border-top:1px solid var(--border);margin-top:24px;padding-top:22px}.privacy-block>p{max-width:68ch}.privacy-block>p:last-child{margin-bottom:0}.privacy-kind{margin-bottom:10px}.privacy-state{flex-wrap:wrap;align-items:baseline;gap:8px 12px;display:flex}.privacy-state p{color:var(--ink);flex:280px;margin:0;font-weight:600}.privacy-subform{max-width:640px;margin-top:18px}.privacy-choices{border:0;gap:2px;min-width:0;margin:0;padding:0;display:grid}.privacy-choices legend{color:var(--ink);margin-bottom:4px;padding:0;font-size:14px;font-weight:700}.privacy-choices .checkbox span{font-weight:500}.privacy-choices .checkbox strong{font-weight:700}.privacy-facts{border-radius:var(--radius);background:var(--surface-2);gap:10px;margin:0 0 18px;padding:16px 18px;display:grid}.privacy-facts div{grid-template-columns:minmax(120px,30%) minmax(0,1fr);gap:12px;display:grid}.privacy-facts dt{color:var(--muted);font-size:13.5px;font-weight:700}.privacy-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:600}.privacy-list{gap:6px;max-width:68ch;margin:0 0 16px;padding-left:20px;display:grid}.privacy-list li::marker{color:var(--subtle)}.privacy-table{margin:4px 0 12px}.privacy-table .data-table th:first-child,.privacy-table .data-table td:first-child{padding-left:0}.privacy-table .data-table th:last-child,.privacy-table .data-table td:last-child{padding-right:0}.privacy-table .data-table td{height:auto;padding-block:12px}.privacy-pager{justify-content:space-between;align-items:center;margin-top:12px}.privacy-request{align-items:flex-start}.privacy-request h4{margin:0 0 2px}.privacy-request p{margin:0}.privacy-request p+p{margin-top:6px}.privacy-footnote{align-items:flex-start;gap:8px;margin:28px 0 0;display:flex}.privacy-footnote svg{flex:none;margin-top:3px}.privacy-footnote .text-link{min-height:0;display:inline}.privacy-summary>p{max-width:68ch}.withdrawal-consequences{margin-bottom:0}.withdrawal-confirm{color:var(--ink);margin:0 0 18px}@media (max-width:650px){.privacy-facts div{grid-template-columns:minmax(0,1fr);gap:2px}.privacy-pager{flex-wrap:wrap}.privacy-pager .muted{flex-basis:100%;order:-1}.privacy-section{scroll-margin-top:calc(84px + var(--safe-top))}}.privacy-desk{gap:20px;display:grid}.privacy-desk .panel-heading{flex-wrap:wrap}.privacy-desk-intro{max-width:72ch;margin:0 0 14px;font-size:14.5px}.privacy-desk-meta{color:var(--muted);overflow-wrap:anywhere;margin:14px 0 0;font-size:14px}.privacy-due{justify-items:start;gap:6px;display:grid}.privacy-actions{flex-wrap:wrap;gap:8px;display:flex}.withdrawal-facts dd.privacy-message{white-space:pre-wrap;font-weight:500}.privacy-switch{align-items:flex-start}.privacy-switch input{margin-top:2px}.privacy-switch small{color:var(--muted);margin-top:2px;font-size:13.5px;font-weight:500;display:block}.privacy-retention{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:28px;display:grid}.privacy-run h3{margin:0 0 6px;font-size:16px}.privacy-run .privacy-desk-meta{margin-top:0}.privacy-run-counts{margin:12px 0 0;display:grid}.privacy-run-counts div{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;display:flex}.privacy-run-counts div:last-child{border-bottom:0}.privacy-run-counts dt{color:var(--text)}.privacy-run-counts dd{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.privacy-run .notice,.privacy-run .error-panel{margin-top:14px}@media (max-width:900px){.privacy-retention{grid-template-columns:minmax(0,1fr)}}.dialog-content~.dialog-overlay{z-index:82}.dialog-content~.dialog-content{z-index:83}.second-factor-gate{gap:18px;display:grid}.second-factor-gate>p,.second-factor-gate>form{max-width:560px}.second-factor-gate .row{margin-top:4px}.second-factor-setup{max-width:640px}.second-factor-setup h3{margin-top:8px;font-size:17px}.second-factor-qr{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.second-factor-qr>div{flex:240px;min-width:0}.second-factor-qr .text-link{display:inline}.qr-code{border-radius:var(--radius);max-width:100%;height:auto;box-shadow:var(--shadow-sm);flex:none;display:block}.setup-key code,.recovery-codes code{color:var(--ink);overflow-wrap:anywhere;font:600 15px/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.recovery-codes{gap:14px;display:grid}.recovery-codes ol{border-radius:var(--radius);background:var(--surface-2);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px 20px;margin:0;padding:16px 20px 16px 40px;display:grid}
.engine{--card-min:176px;--card-text:26px;--img:104px;--stage-img:150px;--stage-text:36px;--pair-text:23px;--card-fill:var(--bg);--card-radius:28px;justify-items:center;gap:22px;width:100%;display:grid}.player{background:var(--bg);grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;display:grid;overflow:hidden}.player-bar{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;height:72px;padding:0 24px;display:grid}.player-brand{font-size:19px}.player-progress{justify-self:center;align-items:center;gap:14px;width:100%;max-width:560px;display:flex}.progress-track{background:var(--surface);height:10px;box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;flex:1;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--ink);height:100%;transition:width .6s var(--spring);display:block}.progress-count{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;min-width:44px;font-size:14px;font-weight:800}.player-actions{align-items:center;gap:8px;display:flex}.star-counter{background:var(--amber-soft);height:40px;color:var(--amber-ink);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-weight:800;display:inline-flex}.star-counter svg{color:var(--amber)}.star-counter.pop{animation:star-pop .55s var(--spring)}.reading-clock{background:var(--surface);height:40px;color:var(--ink);font-variant-numeric:tabular-nums;box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-weight:800;display:inline-flex}.reading-clock svg{color:var(--blue)}.reading-clock.stopped{color:var(--muted)}.reading-clock.stopped svg{color:var(--subtle)}.reading-clock.ending{color:var(--amber-ink)}.reading-clock.ending svg{color:var(--amber)}@media (max-width:430px){.reading-clock svg{display:none}.player .reading-clock{padding:0 10px}}.sound-toggle[aria-pressed=false]{color:var(--subtle)}.player-main{overscroll-behavior:contain;flex-direction:column;padding:4px max(16px,50% - 540px) 20px;display:flex;overflow-y:auto}.play-area{background:var(--surface);border-radius:var(--radius-2xl);width:100%;box-shadow:var(--shadow-md);flex-direction:column;flex:1;align-items:center;gap:22px;padding:clamp(22px,4vh,40px) clamp(18px,4vw,48px) 28px;display:flex}.prompt{text-align:center;max-width:820px}.prompt .eyebrow{color:var(--muted);align-items:center;gap:8px;margin-bottom:10px;font-size:14px;display:inline-flex}.prompt h1,.prompt h2,.prompt h3{letter-spacing:-.03em;margin:0;font-size:clamp(24px,3vw,34px);line-height:1.25}.activity-dot{background:var(--tone,var(--ink));border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.teacher-toolbar{background:var(--surface);width:fit-content;max-width:calc(100% - 24px);box-shadow:var(--shadow-md);border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin:0 auto 14px;padding:6px;display:flex}.teacher-toolbar .button{min-height:40px;padding:8px 14px;font-size:14px}.teacher-toolbar .button.secondary{box-shadow:none;background:var(--surface-3)}.teacher-toolbar .icon-button{width:40px;min-width:40px;height:40px;box-shadow:none;border-radius:999px}.teacher-toolbar .save-state{padding:0 10px}.teacher-toolbar .button.confirming{background:var(--warning-soft);color:var(--warning-ink)}.player-adult{justify-items:center;min-width:0;display:grid}.read-aloud{background:var(--warning-soft);max-width:calc(100% - 24px);color:var(--warning-ink);border-radius:26px;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;margin:0 auto 10px;padding:6px 6px 6px 16px;font-size:14px;font-weight:700;line-height:1.35;display:flex}.read-aloud>svg{flex:none}.read-aloud .button{min-height:40px;color:var(--ink);background:var(--surface);padding:8px 14px;font-size:14px}.stimulus-read-aloud{background:var(--warning-soft);max-width:100%;color:var(--warning-ink);text-align:center;overflow-wrap:anywhere;border-radius:14px;margin-top:4px;padding:4px 12px;font-size:18px;font-weight:800;line-height:1.3;display:inline-block}.hold-control{justify-items:center;gap:6px;max-width:100%;display:inline-grid}.hold-button{isolation:isolate;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;position:relative;overflow:hidden}.hold-fill{z-index:-1;opacity:.2;transform-origin:0;transform:scaleX(var(--hold,0));pointer-events:none;background:currentColor;position:absolute;inset:0}.hold-label{align-items:center;gap:8px;display:inline-flex}.hold-hint{color:var(--muted);text-align:center;font-size:13px;line-height:1.4}.hold-row{align-items:flex-start}.support-switch{min-height:40px;color:var(--ink);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:0 14px 0 8px;font-size:14px;font-weight:700;transition:background-color .15s;display:inline-flex}.support-switch:hover{background:var(--surface-3)}.support-switch input{appearance:none;background:var(--border-strong);cursor:pointer;border:0;border-radius:999px;width:38px;height:22px;min-height:22px;margin:0;padding:0;transition:background-color .2s;position:relative}.support-switch input:after{content:"";width:16px;height:16px;transition:transform .25s var(--spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f1a3a4d}.support-switch input:checked{background:var(--ink)}.support-switch input:checked:after{transform:translate(16px)}.support-switch.on{background:var(--primary-soft)}.activity-intro,.player-screen{text-align:center;background:var(--surface);border-radius:var(--radius-2xl);width:min(560px,100%);box-shadow:var(--shadow-lg);animation:rise .5s var(--spring) both;flex-direction:column;align-items:center;margin:auto;padding:48px 36px 40px;display:flex}.activity-intro h1,.player-screen h1{margin-bottom:10px;font-size:clamp(28px,3vw,36px)}.activity-intro .eyebrow{color:var(--muted);margin-bottom:8px}.intro-icon,.screen-icon{color:var(--tone,var(--ink));margin-bottom:18px}.intro-icon svg,.screen-icon svg{width:72px;height:72px}.intro-icon svg{animation:nudge 2.6s var(--ease) infinite}.screen-icon.neutral{--tone:var(--muted)}.intro-hint{color:var(--text);max-width:380px;font-size:18px}.start-button,.next-button{min-height:56px;padding:14px 30px;font-size:18px}.player-screen p{color:var(--text)}.player-screen .row{margin-top:8px}.player-screen.compact{box-shadow:none;padding:32px 20px}.celebrate .trophy{background:var(--amber-soft);width:120px;height:120px;color:var(--amber);animation:trophy-in .8s var(--spring) both;border-radius:50%;place-items:center;margin-bottom:18px;display:grid;position:relative}.celebrate .trophy svg{width:60px;height:60px}.celebrate .trophy:after{content:"";border:2px dashed #e89a0059;border-radius:50%;animation:16s linear infinite spin;position:absolute;inset:-12px}.player-screen.compact .trophy{width:92px;height:92px}.stars-line{font-size:18px}.stars-line strong{color:var(--amber-ink);font-size:22px}.engine-hint{color:var(--muted);text-align:center;max-width:560px;margin:0;font-size:15px;font-weight:600}.engine-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.engine-actions .button{min-height:54px;padding:12px 26px;font-size:16px}.engine-actions .button.ready{animation:ready 1.8s var(--ease) infinite}.player .engine-actions{z-index:2;background:linear-gradient(to top, var(--surface) 72%, #fff0);border-radius:0 0 var(--radius-2xl) var(--radius-2xl);width:calc(100% + 32px);margin:0 -16px -28px;padding:16px 16px 28px;position:sticky;bottom:-28px}.stimulus{flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.stimulus img{width:var(--img);height:var(--img);object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;transition:transform .3s var(--spring)}.stimulus-text{color:var(--ink);letter-spacing:-.02em;overflow-wrap:anywhere;min-width:0;font-weight:800;line-height:1.25}.quantity{flex-wrap:wrap;justify-content:center;gap:12px;max-width:200px;padding:6px 0;display:flex}.quantity span{background:var(--ink);width:30px;height:30px;animation:dot-in .4s var(--spring) both;animation-delay:calc(var(--i) * 50ms);border-radius:50%}.quantity span:nth-child(5n+2){background:var(--coral)}.quantity span:nth-child(5n+3){background:var(--amber)}.quantity span:nth-child(5n+4){background:var(--violet)}.quantity span:nth-child(5n+5){background:var(--blue)}.mark{color:#fff;width:32px;height:32px;animation:mark-in .45s var(--spring) both;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px;box-shadow:0 4px 10px -2px #0f1a3a4d}.mark.ok{background:var(--success)}.mark.no{background:var(--danger)}.answer-card,.pair-card,.seq-card,.sort-chip,.rating{background:var(--card-fill);border-radius:var(--card-radius);color:var(--ink);transition:transform .2s var(--spring), background-color .2s var(--ease), box-shadow .2s var(--ease), opacity .2s;border:0;position:relative}.answer-card:disabled,.pair-card:disabled,.seq-card:disabled,.sort-chip:disabled,.rating:disabled{opacity:1;cursor:default}@media (hover:hover) and (pointer:fine){:is(.answer-card,.pair-card,.seq-card,.sort-chip,.rating):hover:not(:disabled):not([class*=is-]){background:var(--surface);box-shadow:var(--shadow-md);transform:translateY(-4px)}:is(.answer-card,.pair-card,.seq-card,.sort-chip,.rating)[class*=is-]:hover:not(:disabled){transform:translateY(-2px)}:is(.answer-card,.pair-card,.seq-card,.sort-chip,.rating):hover:not(:disabled):not([class*=is-]) .stimulus img{transform:scale(1.06)rotate(-2deg)}}:is(.answer-card,.pair-card,.seq-card,.sort-chip,.rating):active:not(:disabled){box-shadow:var(--shadow-sm);transform:scale(.97)}.engine{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.engine button,.player button,.speak-button{touch-action:manipulation}.engine .sort-chip,.engine .seq-card,.engine .pair-card{touch-action:none}.sequence-engine.compact .seq-card{touch-action:pan-y}@media (hover:hover) and (pointer:fine){.engine :is(.sort-chip,.seq-card,.pair-card):not(:disabled){cursor:grab}}.drag-ghost{cursor:grabbing;opacity:.97;will-change:transform;box-shadow:0 24px 48px -16px #0f1a3a59, 0 0 0 3px var(--ink) inset!important;transition:none!important;animation:none!important}.is-dragging{opacity:.3;animation:none!important;transform:scale(.96)!important}.seq-item.is-dragging{opacity:1;transform:none!important}.seq-item.is-dragging .seq-card{opacity:.3}.seq-item.is-over .seq-card{box-shadow:inset 0 0 0 3px var(--focus);background:var(--surface)}.pair-card.is-over{box-shadow:inset 0 0 0 3px var(--focus), var(--shadow-md);background:var(--surface)}.sort-bin.is-over{box-shadow:inset 0 0 0 3px var(--focus), var(--shadow-md)}.sort-tray.is-over{box-shadow:inset 0 0 0 3px var(--focus)}.stage{background:var(--bg);border-radius:var(--radius-xl);min-width:min(300px,100%);animation:rise .45s var(--spring) both;padding:20px 40px}.stage .stimulus img{width:var(--stage-img);height:var(--stage-img);animation:3.4s ease-in-out infinite float}.stage .stimulus-text{font-size:var(--stage-text)}.stage.with-quantity .stimulus-text{font-size:calc(var(--stage-text) * .5);color:var(--muted);font-weight:700}.answer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;width:100%;max-width:900px;display:grid}.answer-grid.options-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:640px}.answer-grid.options-4{grid-template-columns:repeat(4,minmax(0,1fr))}.answer-card{min-height:var(--card-min);font-size:var(--card-text);overflow-wrap:anywhere;min-width:0;animation:pop-in .45s var(--spring) both;animation-delay:calc(var(--i,0) * 70ms);place-items:center;padding:20px 12px;display:grid}.answer-card.is-chosen{background:var(--surface);box-shadow:inset 0 0 0 3px var(--ink), var(--shadow-md);animation:pending 1.1s var(--ease) infinite}.answer-card.is-picked{background:var(--surface);box-shadow:inset 0 0 0 3px var(--ink)}.answer-card.is-correct{background:var(--success-soft);box-shadow:inset 0 0 0 3px var(--success);animation:celebrate .65s var(--spring)}.answer-card.is-wrong{background:var(--danger-soft);box-shadow:inset 0 0 0 3px var(--danger);animation:shake .45s var(--ease)}.answer-card.is-answer{background:var(--surface);box-shadow:inset 0 0 0 3px var(--success);animation:glow 1.4s var(--ease) 2}.answer-card.is-dimmed{opacity:.4;transform:scale(.97)}.prompt-line{justify-content:center;align-items:center;gap:12px;display:flex}.prompt-line>:first-child{min-width:0}.speak-button{background:var(--surface);width:48px;height:48px;color:var(--primary);box-shadow:var(--shadow-sm), inset 0 0 0 1px var(--border);cursor:pointer;transition:transform .2s var(--spring), background-color .2s var(--ease), color .2s var(--ease);border:0;border-radius:999px;flex:none;place-items:center;padding:0;display:inline-grid;position:relative}.speak-button:active{transform:scale(.92)}.speak-button.is-speaking{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.speak-button.is-speaking:after{content:"";border-radius:inherit;animation:speaking 1.3s var(--ease) infinite;pointer-events:none;position:absolute;inset:0}@media (hover:hover){.speak-button:hover:not(.is-speaking){background:var(--primary-soft);transform:scale(1.06)}}.stage,.reading-card{position:relative}.stage.with-audio{padding-inline:72px}:is(.stage,.reading-card) .stimulus-text{text-align:center;text-wrap:balance}.stage.long-text .stimulus-text{font-size:calc(var(--stage-text) * .62);line-height:1.3}.reading-card.long-text{font-size:clamp(24px,3.4vw,36px);line-height:1.35}.reading-card.with-audio{padding-inline:72px}.speak-button.on-stage{position:absolute;top:12px;right:12px}.answer-slot{min-width:0;display:grid;position:relative}.answer-slot>.answer-card{width:100%;height:100%}.speak-button.on-card{width:40px;height:40px;animation:pop-in .45s var(--spring) both;animation-delay:calc(var(--i,0) * 70ms + .14s);position:absolute;top:8px;right:8px}.speak-button.on-card.is-speaking{animation:none}@keyframes speaking{0%{box-shadow:0 0 #0f1a3a52}to{box-shadow:0 0 0 14px #0f1a3a00}}.reading-card{background:var(--bg);border-radius:var(--radius-2xl);width:min(680px,100%);min-height:220px;animation:flip-in .6s var(--spring) both;place-items:center;padding:40px 28px;font-size:clamp(42px,6vw,72px);display:grid}.reading-card .stimulus img{width:var(--stage-img);height:var(--stage-img)}.adult-label{color:var(--muted);align-items:center;gap:8px;margin:2px 0 0;font-size:14px;font-weight:700;display:inline-flex}.rating-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;width:min(760px,100%);display:grid}.rating{--card-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:96px;padding:14px 10px;font-size:14px;font-weight:800;display:flex}.rating svg{color:var(--tone);width:28px;height:28px}.rating-independent{--tone:var(--success)}.rating-supported{--tone:var(--blue)}.rating-retry{--tone:var(--amber)}.rating-skip{--tone:var(--muted)}.rating.is-chosen{background:var(--surface);box-shadow:inset 0 0 0 3px var(--tone), var(--shadow-md)}.rating.is-dimmed{opacity:.4}.pair-columns{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);width:min(720px,100%);display:grid}.pair-column{align-content:start;gap:14px;display:grid}.pair-links{background:radial-gradient(circle, var(--border-strong) 2px, transparent 2.5px) center / 10px 16px repeat-y}.pair-card{width:100%;min-width:0;min-height:80px;font-size:var(--pair-text);--card-radius:22px;animation:pop-in .4s var(--spring) both;justify-content:center;align-items:center;padding:12px 46px 12px 16px;display:flex}.pair-card .stimulus{flex-direction:row;gap:12px}.pair-card .stimulus img{width:56px;height:56px}.pair-card.is-selected{background:var(--surface);box-shadow:inset 0 0 0 3px var(--ink), var(--shadow-md);transform:translateY(-3px)}.pair-card.is-paired{background:var(--tone-soft);box-shadow:inset 0 0 0 2px var(--tone);animation:snap .4s var(--spring)}.pair-badge{background:var(--tone);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:grid;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.pair-card.is-correct{background:var(--success-soft);box-shadow:inset 0 0 0 3px var(--success)}.pair-card.is-wrong{background:var(--danger-soft);box-shadow:inset 0 0 0 3px var(--danger);animation:shake .45s var(--ease)}.pair-card .mark{width:28px;height:28px;top:-10px;right:-10px}.sequence-list{gap:12px;width:min(720px,100%);margin:0;padding:0;list-style:none;display:grid}.seq-item{animation:pop-in .4s var(--spring) both;animation-delay:calc(var(--i,0) * 70ms);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid;position:relative}.sequence-number{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:15px;font-weight:800;display:grid}.seq-card{text-align:left;--card-radius:22px;justify-content:flex-start;align-items:center;min-height:74px;padding:14px 20px;font-size:20px;display:flex}.seq-card .stimulus{flex-direction:row;gap:14px}.seq-card .stimulus img{width:56px;height:56px}.seq-card .stimulus-text{font-weight:700}.seq-moves{gap:6px;display:flex}.seq-moves .icon-button{background:var(--bg);box-shadow:none;border-radius:999px}.seq-item:is(.is-selected,.is-correct,.is-wrong) .seq-card:hover:not(:disabled){transform:translateY(-2px)}.seq-item.is-selected .seq-card,.seq-item.is-selected .seq-card:hover:not(:disabled){background:var(--surface);box-shadow:inset 0 0 0 3px var(--ink), var(--shadow-md);animation:wiggle .5s var(--ease)}.seq-item.just-moved .seq-card{animation:snap .4s var(--spring)}.seq-item.is-correct .seq-card,.seq-item.is-correct .seq-card:hover{background:var(--success-soft);box-shadow:inset 0 0 0 3px var(--success)}.seq-item.is-wrong .seq-card,.seq-item.is-wrong .seq-card:hover{background:var(--danger-soft);box-shadow:inset 0 0 0 3px var(--danger)}.seq-item .mark{top:-8px;right:-8px}.sequence-engine.compact .sequence-list{flex-wrap:wrap;justify-content:center;gap:18px;width:auto;display:flex}.sequence-engine.compact .seq-item{grid-template-columns:auto;justify-items:center;gap:10px}.sequence-engine.compact .seq-card{--card-radius:28px;justify-content:center;min-width:124px;min-height:124px;padding:16px 24px;font-size:42px}.sequence-engine.compact .seq-card .stimulus-text{font-weight:800}.sequence-word{color:var(--muted);align-items:baseline;gap:10px;margin:0;font-size:17px;font-weight:700;display:flex}.sequence-word strong{color:var(--ink);letter-spacing:-.01em;font-size:30px;font-weight:800}.sort-tray{border-radius:var(--radius-xl);background:var(--bg);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;width:min(900px,100%);min-height:112px;padding:16px;display:flex}.sort-tray.is-empty{background:var(--surface-2)}.tray-done{color:var(--muted);align-items:center;gap:8px;font-weight:700;display:inline-flex}.sort-chip{--card-fill:var(--surface);--card-radius:18px;min-height:72px;box-shadow:var(--shadow-sm);animation:pop-in .35s var(--spring) both;align-items:center;padding:8px 16px;font-size:18px;display:flex}.sort-chip .stimulus{flex-direction:row;gap:10px}.sort-chip .stimulus img{width:52px;height:52px}.sort-chip .stimulus-text{font-weight:700}.sort-chip.is-selected{box-shadow:inset 0 0 0 3px var(--ink), var(--shadow-md);transform:translateY(-4px)}.sort-chip.is-correct{background:var(--success-soft);box-shadow:inset 0 0 0 3px var(--success)}.sort-chip.is-wrong{background:var(--danger-soft);box-shadow:inset 0 0 0 3px var(--danger)}.sort-chip .mark{width:26px;height:26px;top:-9px;right:-9px}.sort-bins{grid-template-columns:repeat(var(--bins,2), minmax(0, 1fr));gap:16px;width:min(900px,100%);display:grid}.sort-bins.bins-3{--bins:3}.sort-bins.bins-4{--bins:4}.sort-bins.bins-5{--bins:5}.sort-bin{border-radius:var(--radius-xl);background:var(--tone-soft);align-content:start;gap:12px;min-height:184px;padding:12px;transition:box-shadow .2s,background-color .2s;display:grid}.sort-bin.is-target{box-shadow:inset 0 0 0 2px var(--tone);animation:breathe 1.8s var(--ease) infinite}.bin-head{background:var(--surface);width:100%;min-height:54px;color:var(--tone-ink);box-shadow:var(--shadow-sm);transition:transform .2s var(--spring), box-shadow .2s;border-radius:999px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px 10px 18px;font-size:18px;font-weight:800;display:flex}.bin-head:disabled{opacity:1;cursor:default}@media (hover:hover) and (pointer:fine){.bin-head:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}}.bin-count{background:var(--tone);color:#fff;border-radius:999px;place-items:center;min-width:30px;height:30px;padding:0 9px;font-size:14px;display:grid}.bin-body{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.bin-body .sort-chip{min-height:60px;font-size:16px}.bin-body .sort-chip .stimulus img{width:40px;height:40px}.feedback-sheet{z-index:3;background:var(--surface);border-radius:var(--radius-xl);width:min(760px,100%);box-shadow:0 0 0 1px var(--border), var(--shadow-lg);animation:sheet-up .5s var(--spring) both;--tone:var(--muted);--tone-soft:var(--surface-3);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:auto;padding:14px 14px 14px 16px;display:grid;position:sticky;bottom:0}.feedback-sheet.independent,.feedback-sheet.supported{--tone:var(--success);--tone-soft:var(--success-soft)}.feedback-sheet.incorrect{--tone:var(--amber);--tone-soft:var(--amber-soft)}.feedback-sheet.unrated{--tone:var(--ink);--tone-soft:var(--primary-soft)}.feedback-icon{background:var(--tone-soft);width:56px;height:56px;color:var(--tone);animation:mark-in .55s var(--spring) .1s both;border-radius:50%;place-items:center;display:grid}.feedback-icon svg{width:30px;height:30px}.feedback-copy h2{margin:0 0 2px;font-size:22px}.feedback-copy p{color:var(--text);margin:0;font-size:15px;font-weight:600}.feedback-copy small{color:var(--muted);margin-top:2px;font-size:12px;font-weight:600;display:block}.burst{pointer-events:none;z-index:90;width:0;height:0;position:fixed;top:42%;left:50%}.burst span{opacity:0;width:10px;height:14px;animation:burst 1.25s cubic-bezier(.15, .7, .3, 1) var(--d) forwards;border-radius:3px;position:absolute;top:-7px;left:-5px}.burst span.round{border-radius:50%;width:10px;height:10px}.demo-player{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.demo-player>.tabs{margin-bottom:0}.preview-paper{background:var(--surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-md);flex-direction:column;min-height:440px;padding:28px;display:flex}.preview-paper .play-area{box-shadow:none;background:0 0;border-radius:0;gap:18px;padding:0}.preview-paper .engine{--card-min:136px;--card-text:21px;--img:78px;--stage-img:100px;--stage-text:26px;--pair-text:20px}.preview-paper .reading-card{min-height:160px;padding:28px 20px;font-size:clamp(34px,4vw,50px)}.preview-paper .feedback-sheet{box-shadow:0 0 0 1px var(--border), var(--shadow-sm);margin-top:8px;position:static}.preview-progress{width:100%;color:var(--muted);align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.preview-progress .progress-track{background:var(--surface-3);height:8px;box-shadow:none}.preview-progress .icon-button{border-radius:999px;width:44px;min-width:44px;height:44px}.preview-label{white-space:nowrap;text-overflow:ellipsis;max-width:40%;overflow:hidden}.teacher-label{text-align:center;margin:0;font-size:13px;font-weight:600}.hero-preview{gap:12px;display:grid}.preview-topline{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:13px;font-weight:700;display:flex}.hero-preview .preview-paper{min-height:0;padding:22px}.hero-preview .engine{--card-min:112px;--card-text:18px;--img:62px;--stage-img:82px;--stage-text:22px;--pair-text:18px}.hero-preview .engine-hint{font-size:13px}.hero-preview .prompt h3{font-size:20px}.preview-caption{color:var(--muted);text-align:center;margin:0;font-size:13px;font-weight:600}.player.large-text .engine{--card-text:30px;--stage-text:42px;--pair-text:27px}.player.large-text .seq-card{font-size:23px}.player.low-stimulation .play-area{box-shadow:none}.player.low-stimulation *,.player.low-stimulation :before,.player.low-stimulation :after{animation:none!important}.player.low-stimulation :is(.answer-card,.pair-card,.seq-card,.sort-chip,.rating):hover:not(:disabled){box-shadow:none;transform:none}.player.low-stimulation .quantity span{background:var(--ink)!important}.player.low-stimulation .star-counter{background:var(--surface);color:var(--muted)}.player.low-stimulation .star-counter svg{color:var(--muted)}@keyframes pop-in{0%{opacity:0;transform:translateY(10px)scale(.94)}}@keyframes rise{0%{opacity:0;transform:translateY(16px)scale(.98)}}@keyframes float{50%{transform:translateY(-6px)}}@keyframes nudge{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)rotate(-5deg)}}@keyframes pending{50%{box-shadow:inset 0 0 0 3px var(--ink), 0 0 0 8px #0f1a3a14}}@keyframes celebrate{0%{transform:scale(1)}35%{transform:scale(1.06)translateY(-6px)}70%{transform:scale(.98)}to{transform:scale(1)}}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes glow{50%{box-shadow:inset 0 0 0 3px var(--success), 0 0 0 8px #1db46229}}@keyframes flip-in{0%{opacity:0;transform:perspective(800px)rotateX(-22deg)translateY(12px)}}@keyframes snap{0%{transform:scale(.94)}60%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes wiggle{25%{transform:rotate(-1.5deg)}75%{transform:rotate(1.5deg)}}@keyframes breathe{50%{box-shadow:inset 0 0 0 2px var(--tone), 0 0 0 8px color-mix(in srgb, var(--tone) 16%, transparent)}}@keyframes ready{50%{box-shadow:0 0 0 8px #0f1a3a1f}}@keyframes mark-in{0%{opacity:0;transform:scale(.4)}}@keyframes dot-in{0%{opacity:0;transform:scale(.3)}}@keyframes sheet-up{0%{opacity:0;transform:translateY(28px)scale(.98)}}@keyframes star-pop{40%{transform:scale(1.2)}}@keyframes trophy-in{0%{opacity:0;transform:scale(.4)rotate(-14deg)}}@keyframes burst{0%{opacity:1;transform:translate(0)rotate(0)scale(.6)}75%{opacity:1}to{opacity:0;transform:translate(var(--dx), var(--dy)) rotate(var(--r)) scale(1)}}@media (max-height:820px){.player-bar{height:60px}.player .engine{--card-min:136px;--card-text:23px;--img:80px;--stage-img:100px;--stage-text:30px;--pair-text:21px;gap:14px}.player .play-area{gap:14px;padding-top:20px}.player .stage{padding:12px 28px}.player .reading-card{min-height:150px;padding:22px}.player .pair-card{min-height:60px;padding-block:8px}.player .pair-card .stimulus img{width:44px;height:44px}.player .pair-column{gap:10px}.player .seq-card{min-height:60px}.player .sort-bin{min-height:140px}.teacher-toolbar{margin-bottom:10px}.activity-intro,.player-screen{padding:32px 28px}}@media (max-height:600px){.player .engine{--card-min:104px;--card-text:20px;--img:60px;--stage-img:76px;--stage-text:24px}.player .prompt .eyebrow{display:none}}@media (max-width:760px){.rating-grid,.sort-bins.bins-3,.sort-bins.bins-4,.sort-bins.bins-5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.player-bar{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:0 12px}.player-brand{display:none}.player-actions{gap:6px}.star-counter,.reading-clock{height:36px;padding:0 12px}.player-actions .icon-button{width:44px;min-width:44px;height:44px}.player-main{padding:0 10px 12px}.play-area{border-radius:var(--radius-xl);padding:18px 14px 20px}.player .engine-actions{border-radius:0 0 var(--radius-xl) var(--radius-xl);width:calc(100% + 28px);margin:0 -14px -20px;padding:14px 14px 20px;bottom:-20px}.engine,.player .engine{--card-min:124px;--card-text:21px;--img:68px;--stage-img:92px;--stage-text:28px;--pair-text:18px;--card-radius:22px}.answer-grid,.answer-grid.options-4{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.answer-grid.options-3 .answer-slot:last-child:nth-child(odd){grid-column:1/-1}.stage.with-audio,.reading-card.with-audio{padding-inline:56px}.speak-button.on-stage{width:44px;height:44px;top:8px;right:8px}.prompt-line{gap:8px}.prompt-line .speak-button{width:44px;height:44px}.pair-columns{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr)}.pair-links{opacity:0}.pair-card{flex-direction:column;min-height:86px;padding:10px 8px}.pair-card .stimulus{flex-direction:column;gap:4px}.pair-card .stimulus img,.player .pair-card .stimulus img{width:40px;height:40px}.pair-badge{width:22px;height:22px;font-size:12px;top:7px;right:7px;transform:none}.seq-item{grid-template-columns:32px minmax(0,1fr)}.seq-moves{grid-column:2;justify-content:flex-end}.sequence-engine.compact .seq-card{min-width:96px;min-height:96px;font-size:32px}.sort-tray{gap:8px;padding:12px}.sort-chip{min-height:60px;padding:6px 12px;font-size:16px}.sort-chip .stimulus img{width:38px;height:38px}.sort-bins.bins-3,.sort-bins.bins-4,.sort-bins.bins-5{grid-template-columns:minmax(0,1fr)}.sort-bins{gap:10px}.sort-bin{min-height:120px;padding:8px}.bin-head{padding:8px 8px 8px 14px;font-size:16px}.feedback-sheet{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px}.feedback-icon{width:46px;height:46px}.feedback-copy h2{font-size:19px}.next-button{grid-column:1/-1;width:100%}.teacher-toolbar{scrollbar-width:none;border-radius:22px;flex-wrap:nowrap;justify-content:flex-start;max-width:calc(100% - 16px);margin-bottom:8px;overflow-x:auto}.teacher-toolbar>*{flex:none}.activity-intro,.player-screen{border-radius:var(--radius-xl);padding:32px 22px}.preview-paper{border-radius:var(--radius-xl);min-height:0;padding:18px}.preview-label{display:none}}@media (prefers-reduced-motion:reduce){.burst{display:none}.speak-button.is-speaking:after{animation:none}}@media print{.player-bar,.teacher-toolbar,.burst{display:none}}.player{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.stimulus-listen{width:calc(var(--fig,96px) * .8);aspect-ratio:1;background:var(--primary-soft);color:var(--primary);border-radius:50%;place-items:center;display:grid}.stimulus-listen svg{width:46%;height:46%}
.tap-grid{--cols:var(--cols-wide,3);--gap:14px;--scale:.92;--letter:2;--word:1;--picture:1.05;justify-content:center;gap:var(--gap);width:min(100%, var(--max));flex-wrap:wrap;display:flex}.tap-grid.letters{--max:calc(var(--cols) * 148px)}.tap-grid.words{--max:calc(var(--cols) * 216px)}.tap-grid.pictures{--max:calc(var(--cols) * 172px)}.tap-grid.density-2{--scale:.78;--letter:1.85;--word:.95;--picture:1}.tap-grid.density-3{--scale:.68;--letter:1.7;--word:.88;--picture:.92}.tap-grid.density-4{--scale:.6;--letter:1.55;--word:.8;--picture:.84;--gap:12px}.tap-grid.density-5{--scale:.54;--letter:1.45;--word:.74;--picture:.76;--gap:12px}.tap-grid>.answer-slot{flex:0 0 calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols))}.tap-card{min-height:calc(var(--card-min) * var(--scale));animation-delay:calc(var(--i,0) * 32ms);padding:14px 10px}.tap-card .stimulus{gap:6px}.tap-grid .tap-card .stimulus img{width:calc(var(--img) * var(--picture));height:calc(var(--img) * var(--picture))}.tap-grid.letters .stimulus-text{font-size:calc(var(--card-text) * var(--letter));line-height:1}.tap-grid.words .stimulus-text{font-size:calc(var(--card-text) * var(--word))}.tap-grid.pictures .stimulus-text{font-size:calc(var(--card-text) * var(--word) * .8);font-weight:700}.tap-grid .speak-button.on-card{animation-delay:calc(var(--i,0) * 32ms + .12s)}.tap-grid.letters.with-audio{--max:calc(var(--cols) * 184px)}.tap-grid.letters .tap-card.has-audio{padding-inline:50px}.tap-grid.letters:is(.density-3,.density-4,.density-5) .tap-card.has-audio{padding-inline:44px}.tap-grid.letters .stimulus-text{white-space:nowrap;overflow-wrap:normal}.tap-grid:is(.density-3,.density-4,.density-5) .speak-button.on-card{width:36px;height:36px;top:6px;right:6px}.tap-grid:is(.density-3,.density-4,.density-5) .speak-button.on-card svg{width:19px;height:19px}.tap-card.is-selected{background:var(--surface);box-shadow:inset 0 0 0 3px var(--ink), var(--shadow-md);animation:tap-on .4s var(--spring)}.tap-tick,.tap-card .mark{width:28px;height:28px;box-shadow:0 0 0 3px var(--surface), 0 4px 10px -2px #0f1a3a4d;border-radius:50%;place-items:center;display:grid;position:absolute;top:-7px;left:-7px;right:auto}.tap-tick{background:var(--ink);color:#fff;animation:mark-in .35s var(--spring) both}:is(.tap-tick,.tap-card .mark) svg{width:15px;height:15px}@keyframes tap-on{0%{transform:scale(.95)}60%{transform:scale(1.03)}to{transform:scale(1)}}.type-engine{gap:18px}.type-line{justify-content:center;align-items:center;gap:12px;width:min(100%,680px);display:flex;container-type:inline-size}.spell-slots{border-radius:var(--radius-xl);max-width:100%;transition:background-color .2s var(--ease), box-shadow .2s var(--ease);flex:none;justify-content:center;gap:6px;padding:10px;display:flex;position:relative}.slot{--slot:min(64px, calc((100cqi - 20px - (var(--n,1) - 1) * 6px) / var(--n,1)));width:calc(var(--slot) * var(--span,1) + (var(--span,1) - 1) * 6px);height:calc(var(--slot) * 1.2);border-radius:min(16px, calc(var(--slot) * .26));background:var(--bg);color:var(--ink);font-size:calc(var(--slot) * .56);letter-spacing:-.01em;flex:none;place-items:center;font-weight:800;line-height:1;display:grid;position:relative}.slot:not(.is-filled):after{content:"";background:var(--border-strong);border-radius:2px;height:3px;position:absolute;bottom:17%;left:24%;right:24%}.slot.is-next:after{background:var(--ink);animation:1.1s step-end infinite caret}.slot.is-filled{background:var(--surface);box-shadow:var(--shadow-sm), inset 0 0 0 2px var(--primary-soft-2);animation:slot-in .32s var(--spring) both}.type-field{border-radius:var(--radius-xl);background:var(--bg);min-width:0;min-height:78px;box-shadow:inset 0 0 0 2px var(--primary-soft-2);color:var(--ink);letter-spacing:-.01em;text-align:center;overflow-wrap:anywhere;transition:background-color .2s var(--ease), box-shadow .2s var(--ease);flex:auto;padding:14px 56px;font-size:36px;font-weight:800;line-height:1.35;position:relative}.type-field.numeric{letter-spacing:0;font-variant-numeric:tabular-nums;flex:0 300px;padding-block:16px;font-size:44px;line-height:1.1}.type-text{white-space:pre-wrap}.type-caret{background:var(--ink);vertical-align:-.12em;border-radius:2px;width:3px;height:.95em;margin-left:3px;animation:1.1s step-end infinite caret;display:inline-block}.type-field.is-empty .type-caret{margin-left:0}:is(.spell-slots,.type-field).is-picked{box-shadow:inset 0 0 0 3px var(--ink)}:is(.spell-slots,.type-field).is-correct{background:var(--success-soft);box-shadow:inset 0 0 0 3px var(--success);animation:celebrate .65s var(--spring)}:is(.spell-slots,.type-field).is-wrong{background:var(--danger-soft);box-shadow:inset 0 0 0 3px var(--danger);animation:shake .45s var(--ease)}.type-line .mark{top:-12px;right:-12px}.type-solution{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin:0;font-size:15px;font-weight:700;display:flex}.type-solution strong{background:var(--surface);box-shadow:inset 0 0 0 3px var(--success);color:var(--ink);letter-spacing:-.01em;animation:glow 1.4s var(--ease) 2;border-radius:999px;padding:8px 20px;font-size:26px;font-weight:800}.tile-tray{border-radius:var(--radius-xl);background:var(--bg);flex-wrap:wrap;justify-content:center;gap:10px;width:min(100%,640px);padding:14px;display:flex}.letter-tile{background:var(--surface);min-width:66px;height:66px;color:var(--ink);box-shadow:var(--shadow-sm), 0 3px 0 var(--border);animation:pop-in .35s var(--spring) both;animation-delay:calc(var(--i,0) * 40ms);transition:transform .18s var(--spring), background-color .2s var(--ease), box-shadow .2s var(--ease), color .2s var(--ease);border:0;border-radius:18px;padding:0 14px;font-size:30px;font-weight:800;line-height:1}.letter-tile:active:not(:disabled){box-shadow:var(--shadow-xs);transform:translateY(2px)scale(.94)}.letter-tile.tile-tool{background:var(--primary-soft);box-shadow:var(--shadow-xs), 0 3px 0 var(--border);place-items:center;display:inline-grid}.letter-tile.tile-tool:disabled{opacity:.4}.letter-tile.is-used,.letter-tile.is-used:disabled{opacity:1;box-shadow:inset 0 0 0 2px var(--border-strong);color:var(--subtle);cursor:default;background:0 0}.key-panel{border-radius:var(--radius-xl);background:var(--bg);width:min(100%,680px);animation:rise .45s var(--spring) both;gap:8px;padding:12px;display:grid}.key-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;display:grid}.key-row{grid-template-columns:1.6fr 4fr 1.6fr;gap:8px;display:grid}.key{background:var(--surface);min-width:0;min-height:58px;color:var(--ink);box-shadow:var(--shadow-xs), 0 3px 0 var(--border);transition:transform .12s var(--ease), background-color .15s var(--ease), box-shadow .15s var(--ease);border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:0 6px;font-size:26px;font-weight:800;line-height:1;display:inline-flex}.key:active:not(:disabled){box-shadow:var(--shadow-xs);background:var(--primary-soft);transform:translateY(2px)scale(.97)}.key:disabled{opacity:.4}.key-tool{background:var(--primary-soft)}.key-tool:active:not(:disabled){background:var(--primary-soft-2)}.key-caption{color:var(--muted);letter-spacing:0;font-size:14px;font-weight:700}.tonos-mark{font-size:34px;line-height:.5;transform:translateY(6px)}.number-pad{grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,312px)}.number-pad .key{font-variant-numeric:tabular-nums;min-height:66px;font-size:30px}.number-pad .key-zero{grid-column:span 2}@media (hover:hover) and (pointer:fine){:is(.key,.letter-tile):hover:not(:disabled):not(.is-used){box-shadow:var(--shadow-md), 0 3px 0 var(--border);transform:translateY(-2px)}:is(.key-tool,.tile-tool):hover:not(:disabled){background:var(--primary-soft-2)}:is(.key,.letter-tile):active:not(:disabled){transform:translateY(2px)scale(.97)}}@keyframes caret{50%{opacity:0}}@keyframes slot-in{0%{opacity:0;transform:translateY(8px)scale(.9)}}.trace-engine{gap:18px}.trace-layout{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px 28px;width:100%;display:flex}.stage.trace-cue{min-width:0;padding:16px 28px}.stage.trace-cue.with-audio{padding-inline:64px}.trace-cue .stimulus img{width:calc(var(--stage-img) * .78);height:calc(var(--stage-img) * .78)}.trace-cue .stimulus-text{font-size:calc(var(--stage-text) * .78)}.trace-pad{--trace-fill:#7c5cf521;--trace-line:#7c5cf599;--trace-ink:var(--ink);aspect-ratio:1;border-radius:var(--radius-2xl);background:radial-gradient(circle, #0f1a3a12 1.3px, transparent 1.8px) 0 0 / 24px 24px, var(--bg);width:min(78vw,60vh,420px);max-width:100%;animation:rise .45s var(--spring) both;transition:background-color .25s var(--ease);flex:none;position:relative}.trace-pad canvas{border-radius:inherit;width:100%;height:100%;display:block;position:absolute;inset:0}.trace-ink{touch-action:none;cursor:crosshair}.trace-pad.is-locked .trace-ink{cursor:default}.trace-pad:after{content:"";border-radius:inherit;pointer-events:none;transition:box-shadow .25s var(--ease);position:absolute;inset:0}.trace-pad.is-picked{--trace-top:var(--ink)}.trace-pad.is-picked:after{box-shadow:inset 0 0 0 3px var(--ink)}.trace-pad.is-correct{--trace-ink:var(--success-ink);--trace-top:var(--success);--trace-fill:#1db46229;--trace-line:#0b7a4173;background:radial-gradient(circle, #0b7a4114 1.3px, transparent 1.8px) 0 0 / 24px 24px, var(--success-soft);animation:celebrate .65s var(--spring)}.trace-pad.is-correct:after{box-shadow:inset 0 0 0 3px var(--success)}.trace-pad.is-retry{--trace-top:var(--amber);background:radial-gradient(circle, #8a530014 1.3px, transparent 1.8px) 0 0 / 24px 24px, var(--amber-soft)}.trace-pad.is-retry:after{box-shadow:inset 0 0 0 3px var(--amber)}.trace-pad .mark{z-index:1;top:14px;right:14px}.hero-preview .trace-pad{width:min(100%,280px)}.hero-preview .key{min-height:46px;font-size:20px}.preview-paper .type-field{min-height:68px;font-size:30px}@media (max-height:820px){.player .key{min-height:50px;font-size:23px}.player .number-pad .key{min-height:56px}.player .letter-tile{min-width:58px;height:58px}.player .type-field{min-height:66px;padding-block:10px;font-size:32px}.player .trace-pad{width:min(78vw,56vh,420px)}}@media (max-width:650px){.type-line{gap:8px}.spell-slots{padding:6px}.type-field{min-height:64px;padding:10px 40px;font-size:28px}.type-field.numeric{font-size:36px}.tile-tray{gap:8px;padding:10px}.letter-tile{border-radius:16px;min-width:56px;height:58px;padding:0 10px;font-size:26px}.key-panel{gap:6px;width:calc(100% + 12px);margin-inline:-6px;padding:8px}.key-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.key-row{grid-template-columns:1.5fr 3fr 1.5fr;gap:6px}.key{border-radius:12px;min-height:52px;font-size:23px}.key-caption{font-size:13px}.number-pad{width:min(100%,300px);margin-inline:auto}.number-pad .key{min-height:60px;font-size:28px}.tap-grid{--cols:var(--cols-phone,2);--gap:10px}.tap-grid.letters{--max:100%}.stage.trace-cue{padding:12px 20px}.stage.trace-cue.with-audio{padding-inline:56px}.trace-cue .stimulus{flex-direction:row;gap:14px}.trace-cue .stimulus img{width:64px;height:64px}.trace-layout{gap:14px}}@media (max-width:360px){.key-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.key-tonos .key-caption{display:none}}.player.low-stimulation :is(.key,.letter-tile):hover:not(:disabled){box-shadow:var(--shadow-xs);transform:none}.player.low-stimulation .trace-pad{background:var(--bg)}.player.low-stimulation .trace-pad.is-correct{background:var(--success-soft)}.player.low-stimulation .trace-pad.is-retry{background:var(--amber-soft)}@media (prefers-reduced-motion:reduce){.slot.is-next:after,.type-caret{animation:none}}
.stimulus{--fig:var(--img,96px);max-width:100%}:is(.stage,.reading-card) .stimulus{--fig:var(--stage-img,140px)}:is(.pair-card,.seq-card) .stimulus{--fig:60px}.sort-chip .stimulus{--fig:52px}.fraction-picture,.blocks-picture{max-width:100%;height:auto;aspect-ratio:var(--ratio);width:calc(var(--fig) * var(--fig-scale,1) * var(--ratio));flex:none;display:block;overflow:visible}.fraction-picture{--frac-on:color-mix(in srgb, var(--amber) 82%, white)}.fraction-picture .on{fill:var(--frac-on)}.fraction-picture .off{fill:var(--surface)}.fraction-picture .cut{fill:none;stroke:var(--ink);stroke-width:1.5px;stroke-linecap:round}.fraction-picture .edge{fill:none;stroke:var(--ink);stroke-width:2.5px}.fraction-picture .dot{stroke:var(--ink);stroke-width:2px}.fraction-picture .frame{fill:color-mix(in srgb, var(--surface) 60%, transparent);stroke:var(--subtle);stroke-width:1.5px;stroke-dasharray:5 5}.block,.block-piece{--block:var(--amber)}.block.thousand,.block-piece.thousand{--block:var(--violet)}.block.hundred,.block-piece.hundred{--block:var(--cyan)}.block.ten,.block-piece.ten{--block:var(--blue)}.block .face-front{fill:color-mix(in srgb, var(--block) 28%, white)}.block .face-top{fill:color-mix(in srgb, var(--block) 12%, white)}.block .face-side{fill:color-mix(in srgb, var(--block) 50%, white)}.block .grid{fill:none;stroke:color-mix(in srgb, var(--ink) 34%, transparent);stroke-width:.8px}.block .outline{fill:none;stroke:var(--ink);stroke-width:1.4px;stroke-linejoin:round;stroke-linecap:round}.blocks-picture .ground{fill:none;stroke:var(--subtle);stroke-width:2px;stroke-dasharray:4 5}.build-engine{--board-max:940px;gap:16px}.build-engine.places-1{--board-max:250px}.build-engine.places-2{--board-max:500px}.build-engine.places-3{--board-max:720px}.build-target{letter-spacing:-.02em;font-variant-numeric:tabular-nums;justify-content:center;align-items:baseline;gap:.06em;padding:8px 40px;font-size:clamp(44px,6vw,68px);font-weight:800;line-height:1.1;display:flex}.build-digit{color:var(--tone-ink)}.build-board{grid-template-columns:repeat(var(--places), minmax(0, 1fr));width:min(var(--board-max), 100%);border-radius:var(--radius-xl);transition:box-shadow .25s var(--ease);grid-template-rows:auto minmax(0,1fr) auto auto;gap:0 12px;display:grid;position:relative}.place-column{grid-row:span 4;grid-template-rows:subgrid;border-radius:var(--radius-xl);background:var(--tone-soft);min-width:0;transition:box-shadow .2s var(--ease);animation:pop-in .4s var(--spring) both;justify-items:center;gap:10px;padding:12px 8px;display:grid;position:relative;container-type:inline-size}.place-head{color:var(--tone-ink);justify-items:center;line-height:1.1;display:grid}.place-head abbr{font-size:30px;font-weight:800;text-decoration:none}.place-name{font-size:12px;font-weight:700}@container (max-width:110px){.place-name{display:none}}.place-stack{--u:min(10px, calc(100cqi / 16.5));min-height:calc(var(--u) * 12.5);justify-content:center;align-items:flex-end;width:100%;display:flex}.piece{animation:piece-in .35s var(--spring) both;animation-delay:calc(min(var(--b), 9) * 12ms);flex:none;line-height:0;display:block}.block-piece{height:auto;display:block;overflow:visible}.piece.ghost{opacity:.3;filter:saturate(0);animation:none}.block-piece.unit,.block-piece.ten{width:calc(var(--u) * 1.9)}.block-piece.hundred{width:calc(var(--u) * 10.9)}.block-piece.thousand{width:calc(var(--u) * 15.4)}.place-stack.unit{place-content:center flex-start;column-gap:calc(var(--u) * .7);height:calc(var(--u) * 12.3);flex-flow:column-reverse wrap;min-height:0;margin-top:auto}.place-stack.unit .piece+.piece{margin-bottom:calc(var(--u) * -.75)}.place-stack.unit .piece:nth-child(10n+1){margin-bottom:0}.place-stack.ten{width:calc(var(--u) * 9.5 + 8px);padding-top:calc(var(--u) * 7.4);flex-wrap:wrap-reverse;place-content:flex-start center;column-gap:2px;margin-top:auto}.place-stack.ten .piece{margin-top:calc(var(--u) * -7.4)}.place-stack:is(.hundred,.thousand){flex-direction:column-reverse;justify-content:flex-start;align-items:center}.place-stack.hundred .piece+.piece{margin-bottom:calc(var(--u) * -10.9 + min(var(--u) * 2.6, var(--u) * 11 / max(1, var(--n) - 1)))}.place-stack.thousand .piece+.piece{margin-bottom:calc(var(--u) * -15.4 + min(var(--u) * 3.6, var(--u) * 11 / max(1, var(--n) - 1)))}.place-steppers{flex-wrap:wrap-reverse;justify-content:center;gap:8px;display:flex}.stepper{background:var(--surface);width:52px;height:52px;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .2s var(--spring), background-color .2s var(--ease), opacity .2s;border:0;border-radius:999px;place-items:center;padding:0;display:grid}.stepper.add{background:var(--ink);color:#fff}.stepper:active:not(:disabled){transform:scale(.92)}.stepper:disabled{opacity:.35;cursor:default;box-shadow:none}.place-exchange{align-content:start;gap:6px;width:100%;min-height:48px;display:grid}.exchange{background:var(--surface);width:100%;min-height:48px;color:var(--tone-ink);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--tone) 35%, transparent);transition:transform .2s var(--spring), opacity .2s;border:0;border-radius:999px;padding:6px 8px;font-size:14px;font-weight:800}.exchange.join{background:var(--ink);color:#fff;box-shadow:var(--shadow-sm);animation:pop-in .4s var(--spring) both}.exchange:active:not(:disabled){transform:scale(.95)}.exchange:disabled{opacity:.4;cursor:default}.build-board.is-correct{box-shadow:0 0 0 3px var(--success), 0 0 0 9px var(--success-soft);animation:celebrate .65s var(--spring)}.place-column.is-wrong{box-shadow:inset 0 0 0 3px var(--danger);animation:shake .45s var(--ease)}.build-board>.mark{z-index:1;top:-14px;right:-14px}.place-table{width:calc(min(var(--board-max), 100%) + 24px);table-layout:fixed;border-collapse:separate;border-spacing:12px 0;max-width:calc(100% + 24px);margin:-4px 0 0}.place-table th{background:var(--tone-soft);height:30px;color:var(--tone-ink);text-align:center;border-radius:14px 14px 0 0;padding:0;font-size:15px;font-weight:800}.place-table th abbr{text-decoration:none}.place-table td{background:var(--bg);height:58px;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;border-radius:0 0 16px 16px;padding:0;font-size:30px;font-weight:800;transition:background-color .2s,color .2s}.place-table td.is-over{background:var(--amber-soft);color:var(--amber-ink)}.place-table td.is-wrong{background:var(--danger-soft);box-shadow:inset 0 0 0 3px var(--danger)}.place-table .answer-row td{background-clip:padding-box;background-color:var(--success-soft);color:var(--success-ink);box-shadow:inset 0 0 0 3px var(--success);border-top:8px solid #0000;border-radius:24px 24px 16px 16px}.build-note{background:var(--amber-soft);color:var(--amber-ink);text-align:center;border-radius:18px;max-width:560px;margin:0;padding:8px 16px;font-size:14px;font-weight:700}:is(.build-split,.share-split){color:var(--ink);text-align:center;letter-spacing:-.01em;margin:0;font-size:19px;font-weight:800}:is(.build-split,.share-split).is-correct{color:var(--success-ink)}.share-engine{--tone:var(--cyan);--tone-soft:var(--cyan-soft);--tone-ink:var(--cyan-ink);gap:16px}.share-tray{border-radius:var(--radius-xl);background:var(--bg);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;width:min(900px,100%);min-height:92px;padding:12px 16px 12px 12px;transition:box-shadow .2s,background-color .2s;display:grid}.share-tray.is-empty{background:var(--surface-2)}.share-tray-label{min-width:76px;color:var(--muted);justify-items:center;font-size:13px;font-weight:700;display:grid}.share-tray-label strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:28px;line-height:1.1}.share-tray-items{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.share-tray.is-over{box-shadow:inset 0 0 0 3px var(--focus)}.share-tray.is-correct{box-shadow:inset 0 0 0 3px var(--success)}.share-tray.is-wrong{background:var(--danger-soft);box-shadow:inset 0 0 0 3px var(--danger)}.share-item{--img:42px;--card-fill:var(--surface);--card-radius:18px;background:var(--surface);width:58px;height:58px;color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .2s var(--spring), box-shadow .2s var(--ease);animation:pop-in .35s var(--spring) both;border:0;border-radius:18px;place-items:center;padding:0;display:grid;position:relative}.share-item .stimulus-text{font-size:14px;font-weight:800}.share-item:disabled{opacity:1;cursor:default}.share-item:active:not(:disabled){transform:scale(.93)}.share-item.is-selected{box-shadow:inset 0 0 0 3px var(--ink), var(--shadow-md);transform:translateY(-4px)}.share-groups{--cols:3;grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:14px;width:min(900px,100%);display:grid}.share-groups.groups-2{--cols:2;width:min(640px,100%)}.share-groups:is(.groups-4,.groups-7,.groups-8){--cols:4}.share-group{border-radius:var(--radius-xl);background:var(--tone-soft);min-height:176px;animation:pop-in .4s var(--spring) both;animation-delay:calc(var(--i,0) * 60ms);cursor:pointer;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:10px;transition:box-shadow .2s,background-color .2s;display:grid;position:relative}.share-head{background:var(--surface);width:100%;min-height:50px;color:var(--tone-ink);box-shadow:var(--shadow-sm);transition:transform .2s var(--spring), box-shadow .2s;border:0;border-radius:999px;justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 16px;font-size:16px;font-weight:800;display:flex}.share-head:disabled{opacity:1;cursor:default}.share-count{background:var(--tone);color:#fff;font-variant-numeric:tabular-nums;min-width:32px;height:32px;animation:count-bump .35s var(--spring);border-radius:999px;place-items:center;padding:0 9px;font-size:15px;display:grid}.share-body{background:var(--surface);min-height:96px;box-shadow:inset 0 0 0 7px color-mix(in srgb, var(--tone) 9%, white), inset 0 0 0 8px color-mix(in srgb, var(--tone) 18%, white);border-radius:26px;flex-wrap:wrap;place-content:center;gap:6px;padding:12px;display:flex}.share-body .share-item{--img:34px;border-radius:14px;width:48px;height:48px;box-shadow:0 1px 2px #0f1a3a14,0 4px 10px -6px #0f1a3a4d}.share-group.is-target{box-shadow:inset 0 0 0 2px var(--tone);animation:breathe 1.8s var(--ease) infinite}.share-group.is-over{box-shadow:inset 0 0 0 3px var(--focus), var(--shadow-md)}.share-group.is-correct{background:var(--success-soft);box-shadow:inset 0 0 0 3px var(--success);cursor:default}.share-group.is-wrong{background:var(--danger-soft);box-shadow:inset 0 0 0 3px var(--danger);animation:shake .45s var(--ease);cursor:default}.share-group .mark{top:-10px;right:-10px}.engine .share-item{touch-action:none}@keyframes count-bump{40%{transform:scale(1.25)}}.ran-engine{gap:14px}.ran-top{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 18px;display:flex}.ran-top .adult-label{text-align:center;margin:0}.ran-meter{background:var(--primary-soft);min-height:52px;color:var(--ink);font-variant-numeric:tabular-nums;transition:background-color .25s var(--ease), color .25s var(--ease);border-radius:999px;align-items:center;gap:12px;padding:6px 20px 6px 16px;display:inline-flex}.ran-meter svg{flex:none}.ran-time{font-size:15px;font-weight:700}.ran-time strong{color:inherit;letter-spacing:-.02em;text-align:right;min-width:3.4ch;font-size:28px;font-weight:800;display:inline-block}.ran-errors{border-left:2px solid color-mix(in srgb, currentColor 22%, transparent);color:var(--coral-ink);padding-left:12px;font-size:15px;font-weight:800}.ran-engine.is-running .ran-meter{background:var(--ink);color:#fff}.ran-engine.is-running .ran-errors{color:#ffb4a6}.ran-board{--gap-x:8px;--cell:clamp(44px, calc((100dvh - 500px) / var(--rows)), 104px);grid-template-columns:repeat(var(--cols), minmax(0, 1fr));gap:12px var(--gap-x);width:min(100%, calc(var(--cols) * var(--cell) + (var(--cols) - 1) * var(--gap-x)));display:grid;container-type:inline-size}.ran-cell{--sym:clamp(15px, calc(min(var(--cell), calc((100cqi - (var(--cols) - 1) * var(--gap-x)) / var(--cols))) * .6), 58px);aspect-ratio:1;border-radius:clamp(10px, calc(var(--sym) * .45), 22px);background:var(--bg);min-width:0;min-height:36px;color:var(--ink);transition:box-shadow .15s var(--ease), background-color .15s var(--ease), transform .15s var(--spring);border:0;place-items:center;padding:0;display:grid;position:relative}.ran-cell .stimulus-text{font-size:var(--sym);letter-spacing:0;font-weight:800;line-height:1}.ran-cell .stimulus img{width:calc(var(--sym) * 1.4);height:calc(var(--sym) * 1.4)}.ran-cell:disabled{opacity:1;cursor:default}.ran-cell:active:not(:disabled){transform:scale(.94)}.ran-cell.is-error{background:var(--coral-soft);box-shadow:inset 0 0 0 3px var(--coral)}.ran-flag{background:var(--coral);color:#fff;width:20px;height:20px;animation:mark-in .3s var(--spring) both;border-radius:50%;place-items:center;display:grid;position:absolute;top:3px;right:3px}.ran-engine.is-ready .ran-cell{background:var(--surface-2)}.ran-note{max-width:560px;color:var(--muted);text-align:center;margin:0;font-size:13px;font-weight:600}.ran-clock{min-width:160px}@media (hover:hover) and (pointer:fine){.stepper:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.stepper.add:hover:not(:disabled){background:var(--primary-hover)}.exchange:hover:not(:disabled){transform:translateY(-2px)}.place-head abbr{cursor:help}.share-item:hover:not(:disabled):not(.is-selected){box-shadow:var(--shadow-md);transform:translateY(-3px)}.engine .share-item:not(:disabled){cursor:grab}.share-head:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.ran-cell:hover:not(:disabled):not(.is-error){background:var(--surface);box-shadow:inset 0 0 0 2px var(--border-strong)}}.player.low-stimulation .build-board.is-correct{box-shadow:0 0 0 3px var(--success)}.player.low-stimulation .share-group.is-target{box-shadow:inset 0 0 0 2px var(--tone)}.player.low-stimulation .ran-engine.is-running .ran-meter{background:var(--primary-soft);color:var(--ink)}.player.low-stimulation .ran-engine.is-running .ran-errors{color:var(--coral-ink)}.preview-paper .build-target{padding:6px 32px;font-size:clamp(40px,5vw,56px)}.hero-preview .build-target{font-size:40px}@media (max-height:820px){.player .build-engine{gap:10px}.player .build-target{padding:2px 28px;font-size:42px}.player .place-column{gap:6px;padding:8px 6px}.player .place-head abbr{font-size:26px}.player .place-stack{min-height:calc(var(--u) * 11)}.player .stepper{width:48px;height:48px}.player .place-table th{height:26px}.player .place-table td{height:46px;font-size:26px}.player .share-group{min-height:150px}.player .share-body{min-height:76px}}@media (max-width:650px){.build-board{column-gap:8px}.place-table{width:calc(min(var(--board-max), 100%) + 16px);border-spacing:8px 0;max-width:calc(100% + 16px)}.place-column{border-radius:22px;gap:8px;padding:10px 4px}.place-head abbr{font-size:26px}.stepper{width:48px;height:48px}.exchange{padding:6px 4px;font-size:13px}.place-table td{border-radius:14px;height:50px;font-size:26px}.build-target{padding:6px 24px}.share-tray{grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px;padding:10px}.share-tray-label{grid-auto-flow:column;align-items:baseline;gap:6px}.share-tray-label strong{font-size:20px}.share-item{--img:36px;border-radius:16px;width:50px;height:50px}.share-body .share-item{--img:30px;border-radius:12px;width:44px;height:44px}.share-groups,.share-groups:is(.groups-4,.groups-5,.groups-6,.groups-7,.groups-8){--cols:2;gap:10px}.share-groups.groups-3{--cols:3;gap:8px}.share-group{gap:8px;min-height:140px;padding:8px}.share-head{min-height:48px;padding:6px 6px 6px 12px;font-size:14px}.share-count{min-width:28px;height:28px;font-size:14px}.share-body{border-radius:20px;min-height:72px;padding:10px 6px}.share-groups.groups-3 .share-head{flex-wrap:wrap;justify-content:center;padding:6px}.share-groups.groups-3 .share-body{gap:4px;padding:8px 3px}.share-groups.groups-3 .share-body .share-item{--img:26px;border-radius:11px;width:36px;height:36px}.ran-board{--gap-x:4px;row-gap:10px}.ran-flag{width:16px;height:16px;top:2px;right:2px}.ran-flag svg{width:11px;height:11px}.ran-meter{gap:10px;padding:6px 16px 6px 12px}.ran-time strong{font-size:24px}}.print-item .stimulus{--fig:84px}.print-item .row.center .stimulus{--fig:72px}.print-build{flex-wrap:wrap;align-items:center;gap:18px 32px;display:flex}.print-build .print-target{letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:56px;font-weight:800;line-height:1}.print-places{border-collapse:collapse;table-layout:fixed}.print-places th,.print-places td{border:1.5px solid var(--border-strong);text-align:center;width:78px}.print-places th{color:var(--ink);background:var(--surface);padding:6px 4px;font-size:22px;font-weight:800}.print-places th small{color:var(--muted);font-size:10px;font-weight:700;display:block}.print-places td{background:var(--surface);height:68px}.print-share-objects{flex-wrap:wrap;gap:6px 8px;margin-top:4px;display:flex}.print-share-objects .stimulus img{width:36px;height:36px}.print-share-objects .stimulus-text{font-size:14px}.print-share-groups{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:16px;display:grid}.print-share-group{border:1.5px dashed var(--subtle);background:var(--surface);min-height:112px;color:var(--muted);border-radius:22px;padding:8px 12px;font-size:13px;font-weight:700}.print-ran{grid-template-columns:repeat(var(--cols,10), minmax(0, 1fr));gap:10px 6px;margin-top:10px;display:grid}.print-ran>.stimulus{background:var(--surface);border-radius:12px;min-height:52px;padding:4px 0}.print-ran .stimulus-text{font-size:30px;font-weight:800;line-height:1}.print-ran .stimulus img{width:46px;height:46px}.print-ran-lines{flex-wrap:wrap;gap:8px 28px;display:flex}.print-ran-lines .print-line{flex:200px}@media print{.fraction-picture,.blocks-picture,.block-piece{-webkit-print-color-adjust:exact;print-color-adjust:exact}.print-item .stimulus{--fig:76px}.print-places th,.print-places td,.print-share-group{border-color:#9aa1b5}.print-ran>.stimulus{background:0 0;border:1px solid #d5d9e3}.print-ran .stimulus-text{font-size:24pt}.engine-actions{display:none}}@keyframes piece-in{0%{opacity:0;transform:translateY(-10px)scale(.9)}}
