.back-to-game{right:calc(var(--space-sm) + env(safe-area-inset-right,0px));bottom:calc(var(--space-sm) + env(safe-area-inset-bottom,0px));z-index:var(--z-hud);align-items:center;gap:var(--space-xs);min-height:3.25rem;padding:0 var(--space-md);border-radius:var(--radius-pill);background:var(--color-primary);color:var(--color-on-primary);font-family:var(--font-display);font-weight:800;font-size:var(--text-body);box-shadow:var(--shadow-tile);text-decoration:none;display:inline-flex;position:fixed}.back-to-game:focus-visible{box-shadow:var(--focus-ring);outline:none}body:has(.modal-backdrop) .back-to-game{display:none}body:has(.back-to-game) .region-page{padding-bottom:calc(3.25rem + var(--space-lg) + env(safe-area-inset-bottom,0px))}.tabs{gap:var(--space-sm);flex-direction:column;display:flex}.tabs-list{gap:var(--space-xs);flex-wrap:wrap;display:flex}.tabs-tab{min-height:2.75rem;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);background:var(--color-field);color:var(--color-ink);font:inherit;cursor:pointer;border:0;font-weight:700}.tabs-tab--active{background:var(--color-secondary);color:var(--color-on-primary)}.tabs-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.tabs-panel{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-field);background:var(--color-field)}.toast{z-index:calc(var(--z-overlay) + 1);max-width:min(90vw,32rem);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);text-align:center;box-shadow:var(--shadow-label);pointer-events:none;position:fixed;bottom:9rem;left:50%;transform:translate(-50%)}body:has(.modal-backdrop) .toast{bottom:auto;top:calc(var(--space-sm) + env(safe-area-inset-top,0px))}.friends-panel{gap:var(--space-sm);padding:var(--space-md);display:grid}.friends-panel .tabs-tab{min-height:3rem}.friend-list{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.friend-row{align-items:center;gap:var(--space-sm);min-height:3.5rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-field);background:var(--color-surface-faint);flex-wrap:wrap;display:flex}.friend-portrait{border:2px solid var(--color-grass);background:var(--color-sky-mid);border-radius:50%;flex-shrink:0;width:2.75rem;height:2.75rem;overflow:hidden}.friend-who{flex:1;min-width:8rem;display:grid}.friend-name{align-items:center;min-width:0;font-weight:800;display:flex}.friend-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.friend-list--skeleton .friend-row{pointer-events:none}.skeleton-block,.skeleton-line{background:var(--color-sky-mid);animation:1.2s ease-in-out infinite alternate friend-skeleton}.skeleton-line{border-radius:var(--radius-pill);width:70%;height:.9rem;margin:var(--space-xs) 0;display:block}.skeleton-line--short{width:40%}@keyframes friend-skeleton{0%{opacity:1}to{opacity:.45}}@media (prefers-reduced-motion:reduce){.skeleton-block,.skeleton-line{animation:none}}.friend-line{font-size:var(--text-sm);color:var(--color-ink-soft)}.friend-actions{align-items:center;gap:var(--space-xs);flex-wrap:wrap;display:flex}.friend-heading{margin:var(--space-xs) 0 0;font-family:var(--font-display);font-size:var(--text-body)}.friend-requests{gap:var(--space-xs);display:grid}.friend-ask-who{align-items:center;gap:var(--space-sm);display:flex}.friends-hud-button{justify-self:start;position:relative}.friends-hud-count{top:calc(-1 * var(--space-xs));right:calc(-1 * var(--space-xs));min-width:1.5rem;height:1.5rem;padding:0 var(--space-xs);border-radius:var(--radius-pill);background:var(--color-danger);color:var(--color-on-primary);font-size:var(--text-sm);place-items:center;font-weight:800;display:grid;position:absolute}.invite-panel{gap:var(--space-sm);display:grid}.invite-row{align-items:center;gap:var(--space-xs) var(--space-sm);min-height:3.5rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-field);background:var(--color-surface-faint);flex-wrap:wrap;display:flex}.invite-when{font-size:var(--text-sm);color:var(--color-ink-soft);flex:100%}.invite-link{min-width:0;min-height:3rem;padding:0 var(--space-sm);border:2px solid var(--color-field-line);border-radius:var(--radius-field);background:var(--color-field);color:var(--color-ink);font:inherit;font-size:var(--text-sm);flex:12rem}.modal-backdrop{z-index:var(--z-overlay);padding:var(--space-md);background:var(--color-backdrop);place-items:center;display:grid;position:fixed;inset:0}.modal{outline:none;width:min(100%,26rem);max-height:100%;position:relative;overflow-y:auto}.modal-title{font-size:var(--text-xl);text-align:center}.modal-actions{gap:var(--space-sm);flex-direction:column;display:flex}.offline-body{align-items:center;gap:var(--space-sm);text-align:center;flex-direction:column;display:flex}.modal-backdrop--bottom{background:var(--color-backdrop-light);place-items:end center}.modal-backdrop--bottom .modal{width:min(100%,44rem)}.modal-backdrop--top{place-items:start center}.modal--wide{width:min(100%,52rem)}.modal-backdrop.modal-backdrop--clear{pointer-events:none;background:0 0}.modal-backdrop--clear>.modal{pointer-events:auto}.modal .btn--ghost{border-color:var(--color-field-edge)}.modal-backdrop--scene{background:radial-gradient(ellipse at 50% 45%, transparent 0%, var(--color-scene-scrim) 70%);align-items:center}.modal-backdrop--scene.modal-backdrop--bottom{place-items:end center}.modal-backdrop--scene.modal-backdrop--top{place-items:start center}.modal-backdrop--scene:not(.modal-backdrop--bottom,.modal-backdrop--top){-webkit-backdrop-filter:blur(6px)}.scene-modal{gap:var(--space-md);width:min(100%,52rem);max-height:100%;padding-block:var(--space-sm);color:var(--color-ink);outline:none;display:grid;position:relative;overflow-y:auto}.ribbon{max-width:100%;padding:var(--space-xs) var(--space-xl);border-radius:var(--radius-key);border:3px solid var(--color-wood-edge);background:linear-gradient(180deg, var(--color-wood-top), var(--color-wood));box-shadow:var(--shadow-material);color:var(--color-wood-ink);font-family:var(--font-display);font-size:var(--text-xl);text-align:center;text-wrap:balance;text-shadow:0 2px 0 var(--color-wood-edge);justify-self:center;margin:0;font-weight:800;line-height:1.2}.parchment{border:3px solid var(--color-parchment-edge);border-radius:var(--radius-field);background:linear-gradient(180deg, var(--color-parchment), var(--color-parchment-deep));box-shadow:var(--shadow-material);color:var(--color-parchment-ink)}.scene-chips{justify-content:space-between;gap:var(--space-sm);flex-wrap:wrap;display:flex}.scene-chip{align-items:center;gap:var(--space-xs);padding:0 var(--space-md);border-radius:var(--radius-pill);background:var(--color-surface-glass);min-height:2.25rem;font-weight:800;font-size:var(--text-sm);color:var(--color-ink);display:inline-flex}.npc-say{align-items:flex-end;gap:var(--space-sm);display:flex}.npc-portrait{border:3px solid var(--color-wood-edge);background:var(--color-parchment);width:4.5rem;height:4.5rem;box-shadow:var(--shadow-material);font-family:var(--font-display);font-weight:800;font-size:var(--text-xl);color:var(--color-parchment-ink);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.npc-bubble{min-width:0;padding:var(--space-sm) var(--space-md);flex:1;position:relative}.npc-bubble:before{content:"";border-style:solid;border-width:.6rem .8rem .6rem 0;border-color:transparent var(--color-parchment-edge) transparent transparent;position:absolute;bottom:1rem;left:-.7rem}.npc-name{font-family:var(--font-display);color:var(--color-wood-edge);font-weight:800;display:block}.scene-modal .challenge-area{padding:var(--space-md);border-radius:var(--radius-panel);background:var(--color-surface-glass)}.scene-modal,.scene-modal *{-webkit-tap-highlight-color:transparent}.scene-modal--pinned{flex-direction:column;display:flex;overflow:hidden auto}.scene-modal--pinned>*{flex:none}.scene-modal--pinned>.challenge-area{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;flex:auto;min-height:0;overflow-y:auto}.scene-modal--pinned>.challenge-area>*{flex-shrink:0}.scene-modal--pinned>.challenge-area{min-height:min(15rem,38vh)}@media (max-width:40rem){.scene-modal--pinned .npc-portrait{width:3rem;height:3rem;font-size:var(--text-lg)}.scene-modal--pinned .challenge-prompt{font-size:var(--text-body);overscroll-behavior:contain;max-height:22vh;overflow-y:auto}.scene-modal--pinned>.challenge-area{min-height:min(14rem,32vh)}.scene-modal--pinned .scene-chips{flex-wrap:nowrap;align-items:center}.scene-modal--pinned .scene-chip{font-size:var(--text-sm);min-height:2rem;padding:0 var(--space-sm);flex-shrink:0}.scene-modal--pinned .scene-chip-more{display:none}.scene-modal--pinned .step-trail-wrap{min-width:0}.scene-modal--pinned .step-trail{flex-wrap:nowrap;gap:.15rem;overflow:hidden}.scene-modal--pinned .step-trail li{border-width:1.5px;flex-shrink:0;width:.55rem;height:.55rem}.scene-modal--pinned .step-trail li.current{width:.85rem;height:.85rem}.scene-modal--pinned .scene-bar{padding:var(--space-xs) var(--space-sm)}.scene-modal--pinned .scene-bar .tabs-tab{padding-inline:var(--space-sm)}}@media (max-height:56rem){.scene-modal--pinned{gap:var(--space-sm)}.scene-modal--pinned .ribbon{font-size:var(--text-lg);padding-block:0}.scene-modal--pinned .challenge-prompt{font-size:var(--text-body)}}.scene-modal .challenge-prompt{font-size:var(--text-lg);font-weight:800}.scene-bar{justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);flex-wrap:wrap;display:flex;position:relative}.scene-bar .challenge-actions{margin-left:auto}.scene-bar .tabs-panel{z-index:3;left:var(--space-sm);right:var(--space-sm);bottom:calc(100% + var(--space-xs));overscroll-behavior:contain;max-height:min(45vh,24rem);padding:var(--space-sm) var(--space-md);border:3px solid var(--color-parchment-edge);background:linear-gradient(180deg, var(--color-parchment), var(--color-parchment-deep));box-shadow:var(--shadow-material);position:absolute;overflow-y:auto}.support-close{float:right;margin:0 0 var(--space-xs) var(--space-sm);min-height:3rem;padding:0 var(--space-md);border:2px solid var(--color-parchment-edge);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink);font-weight:800;font-size:var(--text-body);cursor:pointer}.support-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.scene-close{top:var(--space-sm);right:var(--space-sm);border:3px solid var(--color-wood-edge);background:var(--color-parchment);width:3rem;height:3rem;color:var(--color-parchment-ink);font-weight:800;font-size:var(--text-lg);cursor:pointer;box-shadow:var(--shadow-material);border-radius:50%;position:absolute}.scene-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.scene-modal:has(>.scene-close)>.ribbon{max-width:calc(100% - 7rem)}.scene-sheet{padding:var(--space-md);border-radius:var(--radius-panel);background:var(--color-surface);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-panel)}.scene-sheet>.ribbon{max-width:calc(100% - 7rem)}.modal-backdrop--scene:has(>.scene-sheet){padding-bottom:env(safe-area-inset-bottom,0px);background:linear-gradient(var(--color-backdrop), var(--color-backdrop)), linear-gradient(180deg, var(--color-sky-top), var(--color-sky-mid) 55%, var(--color-sky-bottom))}.scene-sheet>.scene-close{z-index:2;margin-bottom:calc(-3rem - var(--space-md));order:-1;justify-self:end;position:sticky;top:0}.scene-modal .choice{border:3px solid var(--color-parchment-edge);background:linear-gradient(180deg, var(--color-parchment), var(--color-parchment-deep));color:var(--color-parchment-ink);box-shadow:var(--shadow-material)}.scene-modal .choice--selected{border-color:var(--color-primary);background:var(--color-badge);color:var(--color-ink)}.scene-modal .sort-stone,.scene-modal .drag-piece{background:radial-gradient(ellipse at 40% 30%, var(--color-stone-top), var(--color-stone) 70%);box-shadow:var(--shadow-stone);color:var(--color-stone-ink);font-family:var(--font-display);font-size:var(--text-title);border:0;border-radius:42% 46% 40% 44%/46% 40% 48% 42%;min-width:6rem;min-height:5rem;font-weight:800}.scene-modal .sort-stone--selected,.scene-modal .drag-piece--selected{outline:4px solid var(--color-secondary);outline-offset:2px}.scene-modal .sort-slots{padding:var(--space-md);border-radius:var(--radius-panel);background:linear-gradient(180deg, var(--color-sky-top), var(--color-secondary-top));box-shadow:inset 0 6px 0 var(--color-block-shade);justify-content:center}.scene-modal .sort-stones{justify-content:center}.scene-modal .sort-slots li{align-items:center;gap:var(--space-sm);display:flex}.scene-modal .sort-slots li+li:before{content:"→";font-weight:800;font-size:var(--text-xl);color:var(--color-surface);text-shadow:0 2px 0 var(--color-stone-edge)}.scene-modal .sort-slot{border:3px dashed var(--color-stone-edge);background:var(--color-surface-faint);min-width:6rem;min-height:5rem;font-family:var(--font-display);font-size:var(--text-title);border-radius:40% 44% 38% 42%/44% 38% 46% 40%;font-weight:800}.scene-modal .sort-slot--filled{border-style:solid;border-color:var(--color-stone-edge);background:radial-gradient(ellipse at 40% 30%, var(--color-stone-top), var(--color-stone) 70%);color:var(--color-stone-ink)}.scene-modal .sort-stones--cards{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));display:grid}.scene-modal .sort-stone--card,.scene-modal .sort-slots--cards .sort-slot{justify-content:center;align-items:center;gap:var(--space-xs);min-width:0;min-height:3.5rem;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-tile);font-family:var(--font-body);font-size:var(--text-lg);text-align:center;white-space:pre-line;overflow-wrap:anywhere;flex-direction:column;font-weight:700;line-height:1.35;display:flex}.scene-modal .sort-stone--card{border:3px solid var(--color-parchment-edge);background:linear-gradient(180deg, var(--color-parchment), var(--color-parchment-deep));color:var(--color-parchment-ink);box-shadow:var(--shadow-material)}.scene-modal .sort-stone--card.sort-stone--selected{border-color:var(--color-secondary)}.scene-modal :is(.sort-stone--card,.sort-slots--cards .sort-slot) .picture-card{font-size:var(--text-body);color:var(--color-ink-soft);font-style:italic;font-weight:600}.scene-modal .sort-slots--cards{padding:var(--space-sm);flex-flow:column;align-items:stretch}.scene-modal .sort-slots--cards li{align-items:stretch}.scene-modal .sort-slots--cards li+li:before{content:none}.scene-modal .sort-slots--cards .sort-slot{text-align:left;flex-direction:row;flex:1;justify-content:flex-start}.scene-modal .sort-card-body{align-items:center;gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.scene-modal .sort-slots--cards .sort-card-body{align-items:flex-start}.scene-modal .sort-slots--cards .sort-slot .picture-card{justify-items:start}.scene-modal .sort-slots--cards .sort-slot--filled{border:3px solid var(--color-parchment-edge);background:linear-gradient(180deg, var(--color-parchment), var(--color-parchment-deep));color:var(--color-parchment-ink)}.sort-slot-n{background:var(--color-secondary);width:2.25rem;height:2.25rem;color:var(--color-surface);font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);border-radius:50%;flex:none;place-items:center;display:grid}.scene-modal .classify-card{border:2px solid var(--color-parchment-edge);background:var(--color-parchment);color:var(--color-parchment-ink);box-shadow:0 5px 0 var(--color-parchment-edge);font-size:var(--text-lg)}.scene-modal .classify-card--selected{border-color:var(--color-secondary);box-shadow:0 5px 0 var(--color-secondary-edge)}.scene-modal .classify-group,.scene-modal .drag-container{border:4px solid var(--color-wood-edge);background:linear-gradient(180deg, var(--color-wood-top), var(--color-wood));box-shadow:var(--shadow-material)}.scene-modal .classify-group--ready{border-style:dashed}.scene-modal .classify-group-title,.scene-modal .drag-container-label{color:var(--color-wood-ink);text-shadow:0 2px 0 var(--color-wood-edge);font-family:var(--font-display);font-size:var(--text-lg)}.scene-modal .classify-group-cards{min-height:3.5rem;padding:var(--space-xs);border-radius:var(--radius-key);background:var(--color-parchment-deep)}.scene-modal .classify-pool{background:0 0}.scene-modal .fill-sentence{padding:var(--space-md);border:3px solid var(--color-parchment-edge);border-radius:var(--radius-field);background:var(--color-parchment);color:var(--color-parchment-ink)}.scene-modal .fill-blank{border-color:var(--color-stone-edge);background:var(--color-stone-top);color:var(--color-stone-ink);font-family:var(--font-display)}.scene-modal .fill-blank--filled{background:var(--color-surface);border-color:var(--color-leaf)}.scene-modal .read-passage{border:3px solid var(--color-parchment-edge);background:var(--color-parchment);color:var(--color-parchment-ink);box-shadow:var(--shadow-material)}.scene-modal .read-glossary{background:var(--color-parchment-deep)}.riddle-plaque{padding:var(--space-md) var(--space-xl);border:4px solid var(--color-wood-edge);border-radius:var(--radius-field);background:linear-gradient(180deg, var(--color-wood-top), var(--color-wood));box-shadow:var(--shadow-material);color:var(--color-wood-ink);font-family:var(--font-display);font-size:var(--text-hero);text-align:center;text-shadow:0 3px 0 var(--color-wood-edge);justify-self:center;font-weight:800;line-height:1.1}.scene-modal .riddle-value{color:var(--color-surface);text-shadow:0 3px 0 var(--color-wood-edge)}.scene-modal .illustration-clock circle.ill-fill{fill:var(--color-parchment);stroke:var(--color-wood-edge);stroke-width:4px}.scene-modal .clock-stepper{background:var(--color-parchment);border:2px solid var(--color-parchment-edge)}.scene-modal .calendar{padding:var(--space-sm);border-radius:var(--radius-field);background:var(--color-surface);box-shadow:var(--shadow-material)}.scene-modal .calendar caption{font-family:var(--font-display);font-size:var(--text-lg);color:var(--color-primary-edge)}.scene-modal .connect-wrap{border:3px solid var(--color-parchment-edge);border-radius:var(--radius-field);background:var(--color-parchment)}.ribbon--small{font-size:var(--text-lg);padding:0 var(--space-lg);justify-self:start}.dialogue-scene{gap:var(--space-md);display:grid}.dialogue-scene .npc-portrait{width:7rem;height:7rem}.dialogue-scene .npc-bubble{font-size:var(--text-lg);line-height:1.45}.dialogue-choices{gap:var(--space-sm);display:grid}.dialogue-choice{align-items:center;gap:var(--space-sm);min-height:3.5rem;padding:var(--space-sm) var(--space-md);border:3px solid var(--color-parchment-edge);border-radius:var(--radius-field);background:var(--color-surface);color:var(--color-ink);font:inherit;font-weight:800;font-size:var(--text-body);text-align:left;cursor:pointer;box-shadow:0 5px 0 var(--color-parchment-edge);display:flex}.dialogue-choice--main{border-color:var(--color-secondary);box-shadow:0 5px 0 var(--color-secondary-edge);background:var(--color-tile-2)}.dialogue-choice:focus-visible{box-shadow:var(--focus-ring);outline:none}.dialogue-choice:disabled{opacity:.55;cursor:default}.dialogue-choices--decision{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.dialogue-choices--decision .dialogue-choice{text-align:center;background:var(--color-parchment);flex-direction:column;justify-content:center;min-height:7rem}.scene-modal .reward-stars .reward-star .icon{width:5rem;height:5rem;filter:drop-shadow(0 4px 0 var(--color-parchment-edge))}.scene-modal .reward-list{gap:var(--space-sm);grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));width:100%;padding:0;list-style:none;display:grid}.scene-modal .reward-list li{justify-items:center;gap:var(--space-xs);padding:var(--space-sm);border:3px solid var(--color-parchment-edge);border-radius:var(--radius-field);background:var(--color-parchment);color:var(--color-parchment-ink);text-align:center;font-weight:800;display:grid}.scene-modal .modal-actions{flex-flow:wrap}.scene-modal .modal-actions .btn{flex:12rem}@media (prefers-reduced-motion:no-preference){.scene-modal{animation:.18s ease-out scene-in}}@keyframes scene-in{0%{transform:translateY(.75rem)}to{transform:none}}.scene-panel{gap:var(--space-md);padding:var(--space-lg);border:3px solid var(--color-parchment-edge);border-radius:var(--radius-panel);background:linear-gradient(180deg, var(--color-parchment), var(--color-parchment-deep));color:var(--color-parchment-ink);box-shadow:var(--shadow-material);display:grid}.scene-panel .hint{color:var(--color-parchment-ink)}.scene-modal .reward-body{padding:var(--space-md);border:3px solid var(--color-parchment-edge);border-radius:var(--radius-panel);background:linear-gradient(180deg, var(--color-parchment), var(--color-parchment-deep));color:var(--color-parchment-ink);box-shadow:var(--shadow-material)}.scene-modal .speak-hints{padding:var(--space-sm) var(--space-md) var(--space-sm) var(--space-xl)}.scene-modal .read-passage{font-size:var(--text-lg);line-height:1.6}.scene-modal .challenge-prompt{line-height:1.4}.scene-modal .choice,.scene-modal .classify-card,.scene-modal .fill-sentence,.scene-modal .dialogue-choice{font-size:var(--text-lg)}.scene-modal .choice,.scene-modal .classify-card{min-height:4rem}.scene-modal .parchment,.scene-modal .choice,.scene-modal .read-passage,.scene-panel{box-shadow:var(--shadow-material), inset 0 3px 0 var(--color-surface-faint);border-width:4px}.scene-modal .choice:active:not(:disabled),.scene-modal .classify-card:active{transform:translateY(3px)}.scene-modal .challenge-area{background:radial-gradient(circle, var(--color-surface-faint) 1.5px, transparent 1.6px) 0 0 / 1.25rem 1.25rem, var(--color-surface-glass);border:4px solid var(--color-surface-faint)}.scene-modal .classify-pool{min-height:3.5rem}.scene-modal .classify-pool:empty{background:0 0;min-height:0;padding:0}@media (max-width:40rem){.scene-modal--pinned .challenge-prompt{font-size:var(--text-sm);max-height:min(24vh,7.25rem);padding:var(--space-xs) var(--space-sm);line-height:1.3}.scene-modal--pinned .challenge-prompt .npc-name{margin-right:var(--space-xs);display:inline}.scene-modal--pinned .challenge-prompt .btn{min-height:2.5rem;padding-inline:var(--space-sm);font-size:var(--text-sm)}.scene-modal--pinned .challenge-area{gap:var(--space-sm)}.scene-modal--pinned .classify-pool{gap:var(--space-xs);grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));min-height:2.75rem;padding:0;display:grid}.scene-modal--pinned .classify-card{text-align:center;min-height:2.75rem;padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);box-shadow:0 3px 0 var(--color-parchment-edge);justify-content:center}.scene-modal--pinned .classify-groups{gap:var(--space-xs);grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr))}.scene-modal--pinned .classify-group{min-height:4.5rem;padding:var(--space-xs);border-width:3px}.scene-modal--pinned .classify-group-title{font-size:var(--text-body);min-height:2.25rem;padding:0 var(--space-xs)}.scene-modal--pinned .classify-group-cards{min-height:2.5rem}}.step-trail{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-pill);background:var(--color-surface-glass);flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;list-style:none;display:flex}.step-trail li{border:2px solid var(--color-leaf);background:0 0;border-radius:0 70%;width:.9rem;height:.9rem}.step-trail li.done{background:var(--color-leaf)}.step-trail li.current{background:var(--color-star);border-color:var(--color-wood-edge);width:1.25rem;height:1.25rem;box-shadow:0 0 0 3px var(--color-surface-faint)}@media (prefers-reduced-motion:no-preference){.npc-portrait--speak{animation:.42s ease-out npc-hop}.npc-portrait--cheer{animation:.62s cubic-bezier(.3,1.6,.5,1) npc-jump}.npc-portrait--encourage{animation:.7s ease-in-out npc-lean}.challenge-area--wrong{animation:.42s ease-in-out answer-shake}}@keyframes npc-hop{0%,to{transform:none}40%{transform:translateY(-.4rem)scale(1.04)}}@keyframes npc-jump{0%,to{transform:none}35%{transform:translateY(-1.1rem)rotate(-6deg)}70%{transform:translateY(.1rem)scaleY(.94)}}@keyframes npc-lean{0%,to{transform:none}30%{transform:rotate(8deg)translate(.3rem)}65%{transform:rotate(-4deg)}}@keyframes answer-shake{0%,to{transform:none}20%{transform:translate(-.5rem)}45%{transform:translate(.45rem)}70%{transform:translate(-.25rem)}}.answer-burst{z-index:var(--z-overlay);pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.answer-burst span{position:absolute}@media (prefers-reduced-motion:no-preference){.answer-burst span{animation:.9s cubic-bezier(.2,.8,.3,1) forwards burst-fly}}@media (prefers-reduced-motion:reduce){.answer-burst span{opacity:0}.answer-burst span:first-child{opacity:1;transform:none}}@keyframes burst-fly{0%{opacity:1;transform:translate(0)scale(.4)rotate(0)}70%{opacity:1}to{transform:translate(var(--burst-x), var(--burst-y)) scale(1.1) rotate(var(--burst-turn));opacity:0}}@media (max-height:800px){.scene-modal .riddle-plaque{padding:var(--space-sm) var(--space-lg);font-size:var(--text-title)}.scene-modal .pin-key{min-height:3.25rem}}.voice-head{align-items:center;gap:var(--space-xs);display:flex}.voice-icon{width:3rem;min-width:3rem;height:3rem;font-size:var(--text-body);justify-content:center;padding:0}.voice-person{align-items:center;gap:var(--space-xs);display:flex}.voice-person>button{min-width:3rem;min-height:3rem}.voice-volume{min-width:6rem;min-height:3rem;accent-color:var(--color-leaf);flex:1}.voice-mark{font-size:var(--text-sm);line-height:1}.voice-mark[data-mic=false]{opacity:.7}.voice-call{gap:var(--space-xs);width:min(17rem, calc(100vw - 2 * var(--space-sm)));padding:var(--space-sm);border-color:var(--color-leaf);display:grid}.voice-call-head{align-items:center;gap:var(--space-xs);display:flex}.voice-call-head .voice-call-who{flex:1;min-width:0}.voice-call-who{align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);color:var(--color-leaf);margin:0;display:flex}.voice-face{background:var(--color-sky-mid);border-radius:50%;flex-shrink:0;place-items:center;width:2.5rem;height:2.5rem;display:grid}.voice-face[data-speaking=true],.online-party-portrait[data-speaking=true],.online-party-face[data-speaking=true]{box-shadow:0 0 0 3px var(--color-grass), 0 0 12px 4px var(--color-grass);animation:.9s ease-in-out infinite alternate voice-talking}@keyframes voice-talking{0%{box-shadow:0 0 0 3px var(--color-grass), 0 0 6px 2px var(--color-grass)}to{box-shadow:0 0 0 3px var(--color-grass), 0 0 14px 6px var(--color-grass)}}@media (prefers-reduced-motion:reduce){.voice-face[data-speaking=true],.online-party-portrait[data-speaking=true],.online-party-face[data-speaking=true]{animation:none}}.voice-safety-tips{gap:var(--space-sm);margin:0;padding-inline-start:var(--space-lg);display:grid}.online-menu{gap:var(--space-sm);padding:var(--space-md);justify-self:center;width:100%;max-width:30rem;display:grid}.online-menu-note{font-size:var(--text-sm);color:var(--color-parchment-ink);margin:0}.online-menu-actions,.online-menu-lines{gap:var(--space-sm);margin:0;padding:0;list-style:none;display:grid}.online-menu-lines{grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.online-menu-action,.online-menu-line{align-items:center;gap:var(--space-sm);width:100%;min-height:3.25rem;padding:var(--space-xs) var(--space-md);border:3px solid var(--color-parchment-edge);border-radius:var(--radius-field);background:var(--color-surface);color:var(--color-ink);font-family:var(--font-display);font-weight:800;font-size:var(--text-body);text-align:left;box-shadow:0 4px 0 var(--color-parchment-edge);cursor:pointer;display:flex}.online-menu-line{text-align:center;font-size:var(--text-sm);justify-content:center}.online-menu-action:active,.online-menu-line:active{box-shadow:0 2px 0 var(--color-parchment-edge);transform:translateY(2px)}.online-menu-action:focus-visible,.online-menu-line:focus-visible,.online-party-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.online-menu-action--danger{border-color:var(--color-danger-line);background:var(--color-danger-soft);color:var(--color-danger);box-shadow:0 4px 0 var(--color-danger-line)}.online-menu-icon{font-size:var(--text-lg)}.online-menu-confirm{gap:var(--space-sm);display:grid}.online-menu-confirm p{margin:0;font-weight:700}.online-menu-report{gap:var(--space-xs);border:0;margin:0;padding:0;display:grid}.online-menu-report legend{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);margin-bottom:var(--space-xs)}.online-menu-reason{align-items:center;gap:var(--space-sm);min-height:3rem;padding:0 var(--space-sm);border-radius:var(--radius-field);background:var(--color-surface-faint);cursor:pointer;font-weight:700;display:flex}.online-menu-reason input{width:1.4rem;height:1.4rem;accent-color:var(--color-danger)}.online-party{gap:var(--space-xs);width:min(17rem, calc(100vw - 2 * var(--space-sm)));padding:var(--space-sm);border-color:var(--color-leaf);display:grid}.online-party-head{align-items:center;gap:var(--space-xs);display:flex}.online-party-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);color:var(--color-leaf);flex:1;margin:0}.online-party-fold{background:var(--color-surface);width:3rem;height:3rem;color:var(--color-ink);font-size:var(--text-body);cursor:pointer;box-shadow:var(--shadow-tile);border:0;border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;display:grid}.online-party--folded{width:auto;max-width:calc(100vw - 2 * var(--space-sm));padding:var(--space-xs)}.online-party-pill{align-items:center;gap:var(--space-xs);min-height:3rem;padding:0 var(--space-xs);border-radius:var(--radius-pill);color:var(--color-ink);font-family:var(--font-display);font-weight:800;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;display:flex}.online-party-fold:focus-visible,.online-party-pill:focus-visible{box-shadow:var(--focus-ring);outline:none}.online-party-faces{display:flex}.online-party-face{border:2px solid var(--color-grass);background:var(--color-sky-mid);border-radius:50%;flex-shrink:0;width:2.5rem;height:2.5rem;position:relative}.online-party-face+.online-party-face{margin-left:calc(-1 * var(--space-xs))}.online-party-face-art{border-radius:50%;width:100%;height:100%;display:block;overflow:hidden}.online-party-face[data-self=true]{border-color:var(--color-leaf)}.online-party-face-crown,.online-party-face-bot{font-size:var(--text-sm);line-height:1;position:absolute}.online-party-face-crown{top:calc(-1 * var(--space-xs));left:50%;transform:translate(-50%)}.online-party-face-bot{right:calc(-1 * var(--space-xs));bottom:calc(-1 * var(--space-xs))}.online-party-count{color:var(--color-leaf)}.online-party-chevron{color:var(--color-ink-soft)}.online-bot-badge{margin-left:var(--space-xs);border-radius:var(--radius-pill);background:var(--color-sky-mid);width:1.5rem;height:1.5rem;font-size:var(--text-sm);flex-shrink:0;place-items:center;line-height:1;display:inline-grid}.online-party-list{gap:var(--space-xs);margin:0;padding:0;list-style:none;display:grid}.online-party-row{align-items:center;gap:var(--space-xs);width:100%;min-height:3rem;padding:var(--space-xs);border-radius:var(--radius-field);background:var(--color-surface-faint);color:var(--color-ink);text-align:left;cursor:pointer;border:0;display:flex}.online-party-row:disabled{cursor:default;opacity:1}.online-party-member[data-here=true] .online-party-row{box-shadow:inset 4px 0 0 var(--color-grass)}.online-party-portrait{border:2px solid var(--color-grass);background:var(--color-sky-mid);border-radius:50%;flex-shrink:0;width:2.5rem;height:2.5rem;overflow:hidden}.online-party-who{flex:1;min-width:0;display:grid}.online-party-name{min-width:0;font-weight:800;font-size:var(--text-sm);align-items:center;display:flex}.online-party-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.online-party-crown{margin-left:var(--space-xs)}.online-party-place{font-size:var(--text-sm);color:var(--color-ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.online-party-pet{flex-shrink:0}.online-party-arrow{background:var(--color-grass);width:2rem;height:2rem;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;place-items:center;font-weight:800;transition:transform .12s linear;display:grid}.online-party-arrow[hidden]{display:none}.online-party-actions{gap:var(--space-xs);padding:var(--space-xs) 0;flex-wrap:wrap;display:flex}.online-party-bar{gap:var(--space-xs);flex-wrap:wrap;justify-content:space-between;display:flex}.online-party .online-menu-lines{grid-template-columns:1fr}.online-cards{z-index:var(--z-overlay);top:calc(var(--space-sm) + env(safe-area-inset-top,0px));gap:var(--space-sm);width:min(24rem, calc(100vw - 2 * var(--space-md)));pointer-events:none;display:grid;position:fixed;left:50%;transform:translate(-50%)}.online-card{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);pointer-events:auto;display:grid;position:relative;overflow:hidden}.online-card-text{margin:0;font-weight:800}.online-card-actions{gap:var(--space-sm);justify-content:flex-end;display:flex}.online-card-timer{background:var(--color-grass);transform-origin:0;width:100%;height:4px;animation:linear forwards online-card-timer;position:absolute;bottom:0;left:0}@keyframes online-card-timer{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (prefers-reduced-motion:reduce){.online-card-timer{animation:none}}.online-pause{z-index:var(--z-hud);left:50%;bottom:calc(16rem + env(safe-area-inset-bottom,0px));width:min(26rem, calc(100vw - 2 * var(--space-md)));gap:var(--space-xs);padding:var(--space-xs) var(--space-md);position:fixed;transform:translate(-50%)}.online-pause .online-card-text{font-size:var(--text-sm)}.weekly-share-card{border-radius:var(--radius-field);width:100%;max-width:26rem;height:auto;margin:0 auto;display:block}.weekly-share-wait{place-items:center;min-height:12rem;display:grid}.weekly-share-open{justify-self:start}.progress-view{gap:var(--space-md);display:grid}.progress-counts,.progress-chips,.progress-subjects,.progress-suggestions,.progress-weeks{margin:0;padding:0;list-style:none}.progress-counts{gap:var(--space-xs);flex-wrap:wrap;display:flex}.progress-count,.progress-chip{align-items:center;gap:var(--space-xs);min-height:2.5rem;padding:0 var(--space-sm);border-radius:var(--radius-pill);background:var(--color-surface-glass);color:var(--color-ink);font-weight:700;font-size:var(--text-sm);display:inline-flex}.progress-block{gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border:3px solid var(--color-parchment-edge);border-radius:var(--radius-field);background:linear-gradient(180deg, var(--color-parchment), var(--color-parchment-deep));box-shadow:var(--shadow-material);color:var(--color-parchment-ink);display:grid}.progress-block-title{align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-size:var(--text-lg);margin:0;display:flex}.progress-columns{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.progress-chips{gap:var(--space-xs);flex-wrap:wrap;display:flex}.progress-chip-level{font-family:var(--font-display);color:var(--color-wood-edge);font-weight:800}.progress-subjects{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));display:grid}.progress-subject{gap:var(--space-xs);display:grid}.progress-subject-head{justify-content:space-between;align-items:baseline;gap:var(--space-sm);display:flex}.progress-subject .progress-fill{background:linear-gradient(180deg, var(--color-grass) 0%, var(--color-leaf) 100%)}.progress-suggestions{gap:var(--space-xs);display:grid}.progress-suggestion{justify-content:space-between;align-items:center;gap:var(--space-sm);min-height:3rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-field);background:var(--color-surface-faint);display:flex}.progress-suggestion-text{min-width:0;display:grid}.progress-weeks{gap:var(--space-sm);grid-template-columns:repeat(4,1fr);align-items:end;display:grid}.progress-week{justify-items:center;gap:var(--space-xs);font-size:var(--text-sm);display:grid}.progress-week-value{font-weight:800}.progress-week-track{border-radius:var(--radius-field);background:var(--color-surface-faint);width:2.5rem;height:5rem;display:block;position:relative;overflow:hidden}.progress-week-fill{background:linear-gradient(180deg, var(--color-grass) 0%, var(--color-leaf) 100%);position:absolute;bottom:0;left:0;right:0}.progress-week-label{color:var(--color-ink-soft);text-align:center}.setting-group{gap:var(--space-xs);flex-direction:column;display:flex}.setting-title{color:var(--color-ink);margin:0;font-weight:800}.setting-choices{gap:var(--space-sm);flex-wrap:wrap;display:flex}.setting-choice{min-height:3.25rem;padding:var(--space-xs) var(--space-sm);white-space:nowrap;border:3px solid var(--color-field-edge);border-radius:var(--radius-pill);background:var(--color-field);color:var(--color-ink);font:inherit;cursor:pointer;flex:auto;font-weight:800}.setting-choice[aria-checked=true]{border-color:var(--color-secondary-edge);background:linear-gradient(180deg, var(--color-secondary-top) 0%, var(--color-secondary) 100%);color:var(--color-on-primary);box-shadow:var(--shadow-secondary)}.setting-choice:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.settings-sections{gap:var(--space-md);max-height:65vh;padding-right:var(--space-xs);flex-direction:column;display:flex;overflow-y:auto}.settings-section{gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:2px solid var(--color-field-edge);border-radius:var(--radius-field);flex-direction:column;display:flex}.settings-section-header{align-items:center;gap:var(--space-xs);font-family:var(--font-display);font-size:var(--text-sm);color:var(--color-ink-soft);text-transform:uppercase;letter-spacing:.05em;margin:0;font-weight:800;display:flex}.player-care-list{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.player-care{gap:var(--space-sm);padding:var(--space-md);border:3px solid var(--color-field-line);border-radius:var(--radius-tile);background:var(--color-field);display:grid}.player-care-head{align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.player-care-head .profile-tile{border-radius:var(--radius-field);width:4rem;height:4rem;box-shadow:none;border-width:3px}.player-care-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-lg);flex:8rem;margin:0}.player-care .tabs-tab{min-height:3rem}.invite-page{max-width:36rem}.invite-page-panel{gap:var(--space-md);flex-direction:column;display:flex}.invite-page-panel h1{font-size:var(--text-xl);line-height:1.2}.landing{max-width:64rem}.landing-panel{align-items:center;gap:var(--space-xl);grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);display:grid}@media (max-width:860px){.landing-panel{gap:var(--space-lg);grid-template-columns:minmax(0,1fr)}.landing-image{object-fit:contain;order:-1;max-height:28vh}}.landing-text{gap:var(--space-md);flex-direction:column;display:flex}.landing-text h1{font-size:var(--text-xl);line-height:1.2}.landing-benefits{gap:var(--space-sm);padding-left:var(--space-lg);flex-direction:column;margin:0;display:flex}.landing-image{border-radius:var(--radius-field);width:100%;height:auto;display:block}.landing-lessons{align-items:center;gap:var(--space-sm);text-align:center;flex-direction:column;display:flex}.landing-lessons h2{font-size:var(--text-lg)}.landing-lessons ul{justify-content:center;gap:var(--space-sm);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.landing-lessons,.landing>.note{z-index:1;padding:var(--space-md);border-radius:var(--radius-panel);background:var(--color-surface-glass);position:relative}.landing>.note{padding:var(--space-xs) var(--space-md)}.landing>.note a{min-height:2.75rem;padding:0 var(--space-sm);align-items:center;display:inline-flex}
