.quiz-app{font-family:var(--font-body);flex-direction:column;gap:1.25rem;display:flex}.quiz-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.mode-toggle{border:1px solid var(--color-border);background:var(--color-card);box-shadow:0 2px 0 var(--color-border);border-radius:999px;gap:.25rem;padding:.25rem;display:inline-flex}.mode-toggle button{cursor:pointer;min-height:44px;font:inherit;color:var(--color-ink-soft);background:0 0;border:none;border-radius:999px;padding:.45rem 1.15rem;font-weight:700;transition:background-color .12s,color .12s}.mode-toggle button:hover:not(.active){color:var(--color-primary-dark);background:var(--color-primary-tint)}.mode-toggle button.active{background:var(--color-primary);color:#fff}.quiz-toolbar select{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-ink);border-radius:999px;padding:.55rem .85rem;font-weight:600}.progress-label{color:var(--color-ink-soft);margin:0 0 .5rem;font-size:.85rem}.flashcard{border:2px solid var(--color-ink);background:var(--color-card);cursor:pointer;width:100%;min-height:220px;box-shadow:0 6px 0 var(--color-border);border-radius:20px;padding:0;display:block}.flashcard .face{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;height:220px;padding:1.5rem;display:flex}.flashcard .es{font-size:1.5rem;font-weight:600}.flashcard .en{color:var(--color-ink-soft)}.flashcard .hint{color:var(--color-primary-dark);font-size:.8125rem;font-weight:600}.flashcard .label{text-transform:uppercase;color:var(--color-primary-dark);font-size:.75rem;font-weight:700}.controls{justify-content:center;gap:.5rem;display:flex}.controls button{border:2px solid var(--color-primary-tint-border);background:var(--color-primary-tint);cursor:pointer;font:inherit;color:var(--color-primary-dark);border-radius:999px;padding:.6rem 1.2rem;font-weight:700;transition:background-color .12s,border-color .12s,color .12s}.controls button:hover{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.mark-known,.mark-unknown{font-weight:700}.mark-known{border-color:var(--color-success);color:var(--color-success)}.mark-known:hover{border-color:var(--color-success);color:#fff;background:var(--color-success)}.mark-unknown{border-color:var(--color-error);color:var(--color-error)}.mark-unknown:hover{border-color:var(--color-error);color:#fff;background:var(--color-error)}.review-done{text-align:center;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 0;display:flex}.review-done-score{margin:0;font-size:1.6rem;font-weight:700}.review-done-sub{color:var(--color-ink-soft);margin:0 0 .75rem}.review-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 4px 0 var(--color-primary-dark);font-weight:800}.review-primary:hover{color:#fff;border-color:var(--color-primary-dark);background:var(--color-primary-dark)}.progress-panel{flex-direction:column;gap:1rem;display:flex}.progress-summary{color:var(--color-ink-soft);margin:0}.progress-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.progress-row{border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;padding:.9rem 1rem}.progress-row.completed{border-color:var(--color-success);background:var(--color-success-bg)}.progress-row-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.progress-row-title{font-weight:600}.progress-row-status{white-space:nowrap;color:var(--color-ink-soft);flex:none;font-size:.8125rem;font-weight:700}.progress-row.completed .progress-row-status{color:var(--color-success)}.progress-bar{background:var(--color-border);border-radius:999px;height:8px;margin:.5rem 0 .4rem;overflow:hidden}.progress-bar-fill{background:var(--color-primary);border-radius:999px;height:100%;transition:width .2s}.progress-row.completed .progress-bar-fill{background:var(--color-success)}.progress-row-meta{color:var(--color-ink-soft);font-size:.8125rem}.test-mode{flex-direction:column;gap:1rem;display:flex}.answer-area{flex-direction:column;gap:1rem;scroll-margin-top:5rem;scroll-margin-bottom:15rem;display:flex}.round-head{flex-direction:column;gap:.6rem;display:flex}.stats{letter-spacing:.02em;color:var(--color-ink-soft);justify-content:space-between;gap:.5rem;font-size:.8125rem;font-weight:800;display:flex}.stats span:first-child{color:var(--color-primary-dark)}.repeat-flag{background:var(--color-primary);color:#fff;letter-spacing:.05em;text-transform:uppercase;vertical-align:middle;border-radius:999px;margin-left:.5rem;padding:.1rem .5rem;font-size:.75rem;font-weight:800}.sound-toggle{border:1px solid var(--color-border);background:var(--color-card);width:2.4rem;min-width:44px;height:2.4rem;min-height:44px;color:var(--color-primary-dark);cursor:pointer;border-radius:50%;place-items:center;margin-left:auto;display:inline-grid}.sound-toggle[aria-pressed=false],.voice-toggle[aria-pressed=false]{color:var(--color-ink-soft)}.sound-toggle svg,.voice-toggle svg{width:1.15rem;height:1.15rem}.sound-toggle:hover,.voice-toggle:hover{border-color:var(--color-primary)}.voice-toggle{border:1px solid var(--color-border);background:var(--color-card);width:2.4rem;min-width:44px;height:2.4rem;min-height:44px;color:var(--color-primary-dark);cursor:pointer;border-radius:50%;place-items:center;margin-left:auto;display:inline-grid}.voice-toggle[aria-pressed=true]{border-color:var(--color-primary-tint-border);background:var(--color-primary-tint)}.voice-toggle+.sound-toggle{margin-left:.4rem}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.question-card{border:1px solid var(--color-border);background:var(--color-card);text-align:center;box-shadow:0 18px 40px -28px #24161080, 0 3px 0 var(--color-border);border-radius:30px;padding:1.5rem 1.6rem 1.7rem;scroll-margin-top:5rem}.category-tag{border:1px solid var(--color-primary-tint-border);background:var(--color-primary-tint);color:var(--color-primary-dark);letter-spacing:.07em;text-transform:uppercase;border-radius:999px;margin:0 0 .85rem;padding:.2rem .7rem;font-size:.75rem;font-weight:800;display:inline-block}.quiz-prompt{color:var(--color-ink-soft);margin:0 0 .6rem;font-size:.95rem;font-weight:800}.quiz-front{font-family:var(--font-display);margin:0;font-size:1.75rem;font-weight:700;line-height:1.25}@media (width<=520px){.quiz-front{font-size:1.5rem}}.quiz-front .en{font-family:var(--font-body);color:var(--color-ink-soft);margin-top:.45rem;font-size:1.02rem;font-weight:600;display:block}.options{flex-direction:column;gap:.6rem;display:flex}.option{text-align:left;border:2px solid var(--color-primary-tint-border);background:var(--color-primary-tint);width:100%;color:var(--color-ink);font:inherit;cursor:pointer;border-radius:16px;align-items:center;gap:.8rem;padding:.8rem 1rem;font-size:1.05rem;font-weight:700;transition:transform .12s,box-shadow .12s,background-color .12s,border-color .12s,color .12s,opacity .2s;display:flex}.option-key{background:var(--color-primary-dark);color:#fff;width:1.9rem;height:1.9rem;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:.9rem;font-weight:700;line-height:1;display:grid}.option-text{flex:1}.option-mark{flex:none;width:1.35rem;height:1.35rem}@media (hover:hover){.option:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff;box-shadow:0 12px 22px -12px var(--color-primary);transform:translateY(-2px)}.option:hover:not(:disabled) .option-key{color:var(--color-primary-dark);background:#fff}.option:hover:not(:disabled) .blank{color:#fff;border-bottom-color:#ffffffb3}}.option:focus-visible{outline:3px solid var(--color-primary-dark);outline-offset:3px}.option:disabled{cursor:default}.option.correct{border-color:var(--color-success-deep);background:var(--color-success-deep);color:#fff;box-shadow:0 12px 24px -12px var(--color-success-deep);animation:.34s option-pop}.option.correct .option-key{color:var(--color-success-deep);background:#fff}.option.incorrect{border-color:var(--color-error);background:var(--color-error);color:#fff;animation:.34s option-shake}.option.incorrect .option-key{color:var(--color-error);background:#fff}.option.faded{opacity:.38}.option.correct .blank,.option.incorrect .blank{color:#fff;border-bottom-color:#ffffffb3}@keyframes option-pop{0%{transform:scale(1)}45%{transform:scale(1.035)}to{transform:scale(1)}}@keyframes option-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.next-question{background:var(--color-primary);color:#fff;font:inherit;letter-spacing:.03em;cursor:pointer;box-shadow:0 4px 0 var(--color-primary-dark);border:none;border-radius:999px;align-self:flex-start;padding:.7rem 1.5rem;font-weight:800;transition:transform .1s,box-shadow .1s,background-color .12s}.next-question:hover:not(:disabled){background:var(--color-primary-dark)}.next-question:active:not(:disabled){box-shadow:0 1px 0 var(--color-primary-dark);transform:translateY(3px)}.match-board{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.match-col{flex-direction:column;gap:.6rem;display:flex}.match-tile{border:2px solid var(--color-primary-tint-border);background:var(--color-card);min-height:3.4rem;color:var(--color-ink);font:inherit;text-align:left;cursor:pointer;border-radius:14px;align-items:center;padding:.7rem .85rem;font-size:.92rem;font-weight:600;line-height:1.3;transition:background-color .12s,border-color .12s,color .12s,transform .12s;display:flex}.match-tile.is-picked{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-1px)}.match-tile.is-solved{background:var(--color-success-bg);border-color:var(--color-success-deep);color:var(--color-success-deep);cursor:default}.match-tile.is-solved:after{content:"✓";margin-left:auto;padding-left:.5rem;font-weight:800}.match-tile.is-wrong{border-color:var(--color-error);background:var(--color-error-bg);color:var(--color-error);animation:.34s option-shake}.match-tile:focus-visible{outline:3px solid var(--color-primary-dark);outline-offset:3px}@media (hover:hover){.match-tile:hover:not(:disabled){border-color:var(--color-primary)}}.match-progress{text-align:center;letter-spacing:.03em;color:var(--color-ink-soft);grid-column:1/-1;margin:.35rem 0 0;font-size:.8125rem;font-weight:800}@media (width<=420px){.match-board{gap:.45rem}.match-tile{padding:.6rem .7rem;font-size:.85rem}}.quiz-loading,.quiz-error{opacity:.75;margin:1.5rem 0}.quiz-error{color:#b3261e;opacity:1}.round-bar{border:1px solid var(--color-border);background:var(--color-card);border-radius:999px;height:10px;overflow:hidden}.round-bar-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-accent));border-radius:999px;height:100%;transition:width .25s}.stage-line{color:var(--color-ink-soft);flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 .75rem;font-size:.8125rem;display:flex}.stage-flag{color:var(--color-primary-dark);background:var(--color-primary-tint);border:1px solid var(--color-primary-tint-border);border-radius:999px;padding:.15rem .55rem;font-size:.8125rem;font-weight:700}.stage-jump:before{content:"← ";text-decoration:none}.stage-jump{min-height:44px;font:inherit;color:var(--color-primary-dark);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700;text-decoration:underline}.answer-drawer{z-index:30;overscroll-behavior:contain;border-top:3px solid;max-height:72svh;animation:.22s drawer-in;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.answer-drawer.right{border-color:var(--color-success-deep);background:var(--color-success-bg)}.answer-drawer.wrong{border-color:var(--color-error);background:var(--color-error-bg)}.drawer-inner{max-width:720px;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));flex-direction:column;gap:.6rem;margin:0 auto;display:flex}.drawer-verdict{align-items:center;gap:.7rem;margin:0;display:flex}.feedback-badge{color:#fff;border-radius:50%;flex:none;place-items:center;width:2.1rem;height:2.1rem;display:grid}.feedback-badge .option-mark{width:1.2rem;height:1.2rem}.answer-drawer.right .feedback-badge{background:var(--color-success-deep)}.answer-drawer.wrong .feedback-badge{background:var(--color-error)}.feedback-title{font-family:var(--font-display);font-size:1.15rem;font-weight:700}.answer-drawer.right .feedback-title{color:var(--color-success-deep)}.answer-drawer.wrong .feedback-title{color:var(--color-error)}.drawer-picked{color:var(--color-ink-soft);align-items:baseline;gap:.5rem;margin:0;font-size:.88rem;line-height:1.35;display:flex}.drawer-picked-text{text-decoration:line-through;text-decoration-color:color-mix(in srgb, var(--color-error) 55%, transparent)}.drawer-picked-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-ink-soft);flex:none;font-size:.75rem;font-weight:800;text-decoration:none}.drawer-note{color:var(--color-ink-soft);align-items:baseline;gap:.5rem;margin:0;font-size:.92rem;line-height:1.4;display:flex}.drawer-note-label{background:var(--color-border);letter-spacing:.07em;text-transform:uppercase;color:var(--color-ink);border-radius:999px;flex:none;padding:.1rem .45rem;font-size:.75rem;font-weight:800}.drawer-line{border:1px solid var(--color-border);background:var(--color-card);border-radius:16px;padding:.7rem .9rem}.drawer-line.is-yours{border-left:4px solid var(--color-primary)}.drawer-line-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-ink-soft);margin:0 0 .25rem;font-size:.75rem;font-weight:800}.drawer-line-row{align-items:center;gap:.1rem;display:flex}.drawer-line-text{min-width:0;font-family:var(--font-display);text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;margin:0;padding:0;font-size:1.05rem;line-height:1.35}.drawer-line-text:hover{text-underline-offset:.2em;text-decoration:underline dotted}.drawer-line-en{color:var(--color-ink-soft);margin:.15rem 0 0;font-size:.9rem;font-weight:500;line-height:1.35}.answer-drawer .next-question{text-align:center;align-self:stretch}@keyframes drawer-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.test-mode{padding-bottom:0}.test-mode.is-answered{padding-bottom:14rem}.round-done{text-align:center;border:1px solid var(--color-border);background:var(--color-card);box-shadow:0 18px 40px -28px #24161080, 0 3px 0 var(--color-border);border-radius:30px;padding:2rem 1.25rem 1.5rem}.round-done-score{font-family:var(--font-display);margin:0;font-size:2.6rem;font-weight:700;line-height:1}.round-done-pct{background:var(--color-primary);color:#fff;letter-spacing:.03em;border-radius:999px;margin:.6rem 0 0;padding:.25rem .9rem;font-size:1rem;font-weight:800;display:inline-block}.round-done-sub{color:var(--color-ink-soft);margin:.6rem 0 1.1rem}.round-meta{color:var(--color-ink-soft);flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem;margin:0 0 1.25rem;font-size:.8125rem;font-weight:700;display:flex}.round-done .controls{flex-wrap:wrap;justify-content:center}.round-done.is-cleared,.convo-congrats{border-color:var(--color-primary-tint-border);background:linear-gradient(180deg, var(--color-primary-tint), var(--color-card) 62%)}.congrats-burst{background:var(--color-primary);color:#fff;width:68px;height:68px;box-shadow:0 0 0 8px var(--color-primary-tint);border-radius:999px;place-items:center;margin:0 auto .75rem;animation:.45s cubic-bezier(.2,1.4,.4,1) both congrats-pop;display:grid}.congrats-burst svg{width:38px;height:38px}.congrats-title{font-family:var(--font-display);color:var(--color-primary-dark);margin:0 0 .35rem;font-size:1.9rem;font-weight:700;line-height:1.1;animation:.4s .1s both congrats-rise}.congrats-score{font-family:var(--font-display);margin:0 0 .2rem;font-size:2.4rem;font-weight:700;line-height:1}@keyframes congrats-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes congrats-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.congrats-burst,.congrats-title{animation:none}}.type-answer{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.type-answer input{border:2px solid var(--color-primary-tint-border);background:var(--color-card);min-width:190px;font:inherit;color:var(--color-ink);border-radius:999px;flex:1;padding:.8rem 1.1rem;font-weight:600}.type-answer input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-tint);outline:none}.type-answer input:disabled{opacity:.7}.type-answer button{background:var(--color-primary);color:#fff;font:inherit;letter-spacing:.04em;cursor:pointer;box-shadow:0 4px 0 var(--color-primary-dark);border:none;border-radius:999px;padding:.75rem 1.4rem;font-weight:800}.type-answer button:hover:not(:disabled){background:var(--color-primary-dark)}.type-answer button:disabled{opacity:.45;cursor:default}.type-hint{color:var(--color-ink-soft);flex-basis:100%;margin:0;font-size:.8125rem}.word-bank{margin-top:.4rem}.bank-line{border:2px dashed var(--color-primary-tint-border);background:var(--color-card);border-radius:20px;flex-wrap:wrap;align-items:center;gap:.4rem;min-height:3.4rem;padding:.6rem;display:flex}.bank-placeholder{color:var(--color-ink-soft);font-size:.85rem}.bank-pool{flex-wrap:wrap;gap:.4rem;margin:.75rem 0 .9rem;display:flex}.tile{border:2px solid var(--color-primary-tint-border);background:var(--color-card);color:var(--color-ink);font:inherit;cursor:pointer;box-shadow:0 3px 0 var(--color-primary-tint);border-radius:999px;padding:.45rem .85rem;font-size:.95rem;font-weight:700;transition:transform .1s,background-color .12s,border-color .12s,color .12s}@media (hover:hover){.tile:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary);color:#fff;transform:translateY(-1px)}}.tile.placed{background:var(--color-primary-tint);border-color:var(--color-primary);color:var(--color-primary-dark)}.tile:disabled{cursor:default;opacity:.75}.blank{border-bottom:2px solid var(--color-primary);min-width:2.5rem;color:var(--color-primary-dark);text-align:center;vertical-align:baseline;padding:0 .3rem;font-size:.85em;font-weight:700;display:inline-block}.audio-button:after{content:"";border-radius:inherit;position:absolute;inset:-7px}.audio-button{border:1px solid var(--color-border);background:var(--color-card);width:2rem;height:2rem;color:var(--color-primary-dark);cursor:pointer;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;margin-left:.45rem;padding:0;display:inline-flex;position:relative}.audio-button:hover{border-color:var(--color-primary);background:var(--color-primary-tint)}.audio-button.is-speaking{border-color:var(--color-primary);background:var(--color-primary-tint);animation:1.1s ease-in-out infinite speaking}@keyframes speaking{50%{transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.audio-button.is-speaking{animation:none}}.audio-button svg{width:1rem;height:1rem}.path-header{justify-content:flex-start;margin:0 0 .85rem;display:flex}.streak-badge{border:1px solid var(--color-border);background:var(--color-card);color:var(--color-ink-soft);border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .85rem .45rem .6rem;font-size:.85rem;display:inline-flex}.streak-flame{width:1.15rem;height:1.15rem;color:var(--color-border);flex:none}.streak-badge.is-live{border-color:var(--color-primary-tint-border);background:var(--color-primary-tint)}.streak-badge.is-live .streak-flame{color:var(--color-primary-dark)}.streak-count{color:var(--color-ink);align-items:baseline;gap:.2rem;display:inline-flex}.streak-count strong{font-family:var(--font-display);font-size:1.15rem;line-height:1}.streak-unit{color:var(--color-ink-soft);font-size:.8125rem}.streak-note{border-left:1px solid var(--color-border);padding-left:.6rem}.streak-badge.is-live .streak-note{border-left-color:var(--color-primary-tint-border)}.streak-badge--panel{margin:0 0 .85rem}@media (width<=380px){.streak-badge{border-radius:14px;flex-wrap:wrap}.streak-note{border-left:none;flex-basis:100%;padding-left:0}.streak-badge.is-live .streak-note{border-left-color:#0000}}.path-stage{justify-content:center;align-items:flex-start;gap:1.25rem;display:flex}.talk-rail{flex:none;width:10rem;position:sticky;top:5.5rem}.talk-launch{text-align:left;width:100%;font:inherit;border:2px solid var(--color-primary);background:var(--color-card);box-shadow:0 4px 0 var(--color-primary-dark);color:var(--color-ink);cursor:pointer;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.9rem 1rem;transition:transform .12s,background-color .12s;display:flex}.talk-launch:hover{background:var(--color-primary-tint)}.talk-launch:active{box-shadow:0 2px 0 var(--color-primary-dark);transform:translateY(2px)}.talk-launch svg{width:1.5rem;height:1.5rem;color:var(--color-primary)}.talk-launch-title{font-family:var(--font-display);font-size:1.05rem;font-weight:700}.talk-launch-sub{color:var(--color-ink-soft);font-size:.8125rem;line-height:1.35}@media (width<=560px){.path-stage{flex-direction:column;align-items:center;gap:1rem}.talk-rail{order:-1;width:100%;max-width:320px;position:static}.talk-launch{flex-flow:wrap;align-items:center;column-gap:.6rem}.talk-launch-sub{flex-basis:100%}}.path-intro{color:var(--color-ink-soft);margin:0 0 1rem;font-size:.9rem}.practice-path{max-width:100%;margin:0 auto;position:relative}.path-line{pointer-events:none;position:absolute;top:0;left:50%;transform:translate(-50%)}.path-nodes{margin:0;padding:0;list-style:none}.path-node{flex-direction:column;align-items:center;gap:.35rem;width:10rem;display:flex;position:absolute;transform:translate(-50%,-50%)}.stone-wrap{place-items:center;width:4.35rem;height:4.35rem;display:grid;position:relative}.stone-ring{pointer-events:none;width:100%;height:100%;transition:transform .12s;position:absolute;inset:0}.stone-wrap:has(.stone:active:not(:disabled)) .stone-ring{transform:translateY(2px)}@media (hover:hover){.stone-wrap:has(.stone:hover:not(:disabled)) .stone-ring{transform:translateY(-2px)}}.stone{--stone:var(--opt-a);--stone-deep:var(--opt-a-deep);--stone-tint:var(--opt-a-tint);border:2px solid var(--stone);background:var(--stone-tint);width:3.4rem;height:3.4rem;box-shadow:0 4px 0 var(--stone);color:var(--stone-deep);cursor:pointer;border-radius:50%;place-items:center;transition:transform .12s,box-shadow .12s;display:grid}.path-node:nth-child(4n+2) .stone{--stone:var(--opt-b);--stone-deep:var(--opt-b-deep);--stone-tint:var(--opt-b-tint)}.path-node:nth-child(4n+3) .stone{--stone:var(--opt-c);--stone-deep:var(--opt-c-deep);--stone-tint:var(--opt-c-tint)}.path-node:nth-child(4n+4) .stone{--stone:var(--opt-d);--stone-deep:var(--opt-d-deep);--stone-tint:var(--opt-d-tint)}@media (hover:hover){.stone:hover:not(:disabled){transform:translateY(-2px)}}.stone:active:not(:disabled){box-shadow:0 1px 0 var(--color-border);transform:translateY(2px)}.stone.is-cleared{background:var(--color-success-deep);border-color:var(--color-success-deep);color:#fff;box-shadow:0 4px #0f5c35}.stone.is-current{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:0 4px 0 var(--color-primary-dark), 0 0 0 5px var(--color-primary-tint)}@media (hover:hover){.stone.is-current:hover:not(:disabled){box-shadow:0 6px 0 var(--color-primary-dark), 0 0 0 7px var(--color-primary-tint)}}.stone.is-locked{cursor:not-allowed;border-color:var(--color-border);background:var(--color-card);box-shadow:0 4px 0 var(--color-border);color:var(--color-ink-soft);opacity:.75}.stone.is-final{width:4rem;height:4rem}.stone.is-final:not(.is-locked):not(.is-cleared){background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 4px #c07f13}.stone.is-final.is-current{box-shadow:0 4px #c07f13,0 0 0 5px #fdeccc}.stone-check,.stone-lock,.stone-star{width:1.5rem;height:1.5rem}.stone-part{font-family:var(--font-display);align-items:baseline;gap:.03em;font-size:1.05rem;font-weight:800;line-height:1;display:flex}.stone-part-of{font-size:.8125rem;font-weight:700}.stone-dot{background:currentColor;border-radius:50%;width:.6rem;height:.6rem}.stone-label{font-family:var(--font-display);text-align:center;color:var(--color-ink);font-size:1.15rem;font-weight:800;line-height:1.2}.stone-here{letter-spacing:.05em;text-transform:uppercase;color:var(--color-primary-dark);background:var(--color-primary-tint);border-radius:999px;padding:.1rem .45rem;font-size:.8rem;font-weight:800}.path-mistakes,.mistake-link{border:1px solid var(--color-border);background:var(--color-card);font:inherit;color:var(--color-ink);cursor:pointer;border-radius:999px;margin:1.25rem auto 0;padding:.6rem 1.2rem;font-weight:700;display:inline-block}.path-mistakes{display:block}.path-mistakes:hover,.mistake-link:hover{border-color:var(--color-primary)}.stage-line span{color:var(--color-ink);font-weight:700}@media (prefers-reduced-motion:reduce){.option,.answer-drawer,.stone,.stone-ring,.tile,.match-tile{transition:none;animation:none}}.email-prompt{z-index:70;background:#2416108c;justify-content:center;align-items:center;padding:1.25rem;animation:.2s ease-out prompt-fade;display:flex;position:fixed;inset:0}@keyframes prompt-fade{0%{opacity:0}}.email-prompt-card{border:1px solid var(--color-primary-tint-border);background:var(--color-card);text-align:center;border-radius:24px;width:min(26rem,100%);padding:2rem 1.5rem 1.5rem;position:relative;box-shadow:0 20px 50px #2a1b1247}.email-prompt-close{border:1px solid var(--color-border);background:var(--color-card);width:2.6rem;height:2.6rem;color:var(--color-ink-soft);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;top:.6rem;right:.6rem}.email-prompt-close:hover{border-color:var(--color-primary);background:var(--color-primary-tint);color:var(--color-primary-dark)}.email-prompt-close svg{width:1.1rem;height:1.1rem}.email-prompt h2{font-family:var(--font-display);margin:0 0 .5rem;font-size:1.5rem;line-height:1.2}.email-prompt-sub{color:var(--color-ink-soft);margin:0 0 1.25rem;font-size:.95rem;line-height:1.45}.email-prompt-form{flex-direction:column;gap:.6rem;display:flex}.email-prompt-form input{border:1px solid var(--color-border);background:var(--color-bg);width:100%;font:inherit;color:var(--color-ink);border-radius:12px;padding:.75rem .9rem}.email-prompt-form input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.email-prompt-submit{background:var(--color-primary);box-shadow:0 4px 0 var(--color-primary-dark);font:inherit;color:#fff;cursor:pointer;border:0;border-radius:999px;padding:.8rem 1.2rem;font-weight:800}.email-prompt-submit:disabled{opacity:.55;cursor:default}.email-prompt-error{color:var(--color-error);margin:.75rem 0 0;font-size:.88rem}.email-prompt-skip{font:inherit;color:var(--color-ink-soft);text-underline-offset:.2em;cursor:pointer;background:0 0;border:0;margin-top:.9rem;padding:.4rem;font-size:.9rem;text-decoration:underline}@media (prefers-reduced-motion:reduce){.email-prompt{animation:none}}.convo-intro{color:var(--color-ink-soft);margin:0 0 1.25rem;font-size:.9rem}.convo-tally{color:var(--color-ink-soft);margin:0 0 1rem;font-size:.8125rem}.convo-tally strong{color:var(--color-primary-dark)}.convo-cats{grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.convo-cat{text-align:left;width:100%;height:100%;font:inherit;border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;border-radius:16px;align-items:center;gap:.75rem;min-height:4.25rem;padding:.85rem .95rem;transition:border-color .12s,background-color .12s,transform .12s;display:flex}.convo-cat:hover{border-color:var(--color-primary);background:var(--color-primary-tint);transform:translateY(-1px)}.convo-cat:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.convo-cat.is-done{border-color:var(--color-success-deep)}.convo-cat-icon{background:var(--color-bg);border-radius:50%;flex:none;place-items:center;width:2.5rem;height:2.5rem;font-size:1.25rem;line-height:1;display:grid}.convo-cat-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.convo-cat-title{font-size:.95rem;font-weight:700;line-height:1.25}.convo-cat-meta{color:var(--color-ink-soft);font-size:.8125rem}.cat-ring,.cat-go{width:2rem;height:2rem;color:var(--color-success-deep);flex:none}.cat-go{width:1.5rem;height:1.5rem;color:var(--color-border)}.convo-cat:hover .cat-go{color:var(--color-primary)}.cat-ring-text{font-family:var(--font-body);fill:var(--color-primary-dark);font-size:.75rem;font-weight:800}.cat-ring-track{stroke:var(--color-border)}.cat-ring-fill{stroke:var(--color-primary);transition:stroke-dasharray .3s}.convo-cat.is-done .cat-ring-fill{stroke:var(--color-success-deep)}.convo-head-icon{margin-right:.35rem}.convo-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.convo-card{text-align:left;width:100%;font:inherit;border:1px solid var(--color-border);background:var(--color-card);cursor:pointer;border-radius:14px;align-items:center;gap:.75rem;padding:.85rem 1rem;transition:border-color .12s,background-color .12s;display:flex}.convo-card:hover{border-color:var(--color-primary);background:var(--color-primary-tint)}.convo-card.is-done{border-color:var(--color-success-deep)}.convo-card-main{flex-direction:column;gap:.2rem;min-width:0;display:flex}.convo-card-title{font-weight:700}.convo-card-meta{color:var(--color-ink-soft);font-size:.8125rem}.convo-card-check{width:1.1rem;height:1.1rem;color:var(--color-success-deep);flex:none;margin-left:auto}.tone{vertical-align:.1em;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border-radius:999px;margin-left:.4rem;padding:.1rem .4rem;font-size:.75rem;font-weight:800;display:inline-block}.tone--formal{color:#24567f;background:#dfeaf5}.tone--informal{color:var(--color-primary-dark);background:var(--color-primary-tint)}.can-now{border:1px solid var(--color-primary-tint-border);background:var(--color-primary-tint);text-align:left;border-radius:16px;max-width:26rem;margin:1.25rem auto 0;padding:1rem 1.1rem}.can-now-head{text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary-dark);margin:0 0 .6rem;font-size:.75rem;font-weight:800}.can-now-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.can-now-list li{flex-direction:column;gap:.05rem;display:flex}.can-now-source{color:var(--color-ink);font-size:.95rem;font-weight:700;line-height:1.3}.can-now-en{color:var(--color-ink-soft);font-size:.8125rem;line-height:1.3}.can-now-more{color:var(--color-ink-soft);margin:.7rem 0 0;font-size:.8125rem}.convo-transcript{flex-direction:column;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.convo-beat{flex-direction:column;gap:.5rem;display:flex}.convo-situation{color:var(--color-ink-soft);margin:.25rem 0 0;font-size:.9rem;font-style:italic;line-height:1.45}.convo-scene{border-top:1px dashed var(--color-border);text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.2rem .5rem;margin:2rem 0 1.25rem;padding-top:1.25rem;display:flex}.convo-scene-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-primary-dark);font-size:.75rem;font-weight:800}.convo-scene-title{font-family:var(--font-display);font-weight:700}.convo-bubble{border:1px solid var(--color-border);border-radius:16px;max-width:85%;padding:.7rem .9rem}.convo-bubble--them{background:var(--color-card);border-bottom-left-radius:5px;align-self:flex-start}.convo-bubble--you{background:var(--color-primary-tint);border-color:var(--color-primary-tint-border);border-bottom-right-radius:5px;align-self:flex-end}.convo-source{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-weight:700;display:flex}.convo-en{color:var(--color-ink-soft);margin:.2rem 0 0;font-size:.85rem}.convo-type{align-self:stretch;gap:.5rem;display:flex}.convo-type input{border:2px solid var(--color-primary-tint-border);background:var(--color-card);min-width:0;font:inherit;color:var(--color-ink);border-radius:14px;flex:1;padding:.7rem .9rem;font-weight:700}.convo-type input:focus-visible{border-color:var(--color-primary);outline:none}.convo-type button{background:var(--color-primary);box-shadow:0 3px 0 var(--color-primary-dark);font:inherit;color:#fff;cursor:pointer;border:0;border-radius:999px;flex:none;padding:.7rem 1.1rem;font-weight:800}.convo-type button:disabled{opacity:.5;box-shadow:none;cursor:default}.convo-stuck{min-height:44px;font:inherit;color:var(--color-ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:flex-end;align-items:center;padding:.2rem .1rem;font-size:.8125rem;font-weight:700;text-decoration:underline;display:inline-flex}.convo-stuck:hover{color:var(--color-primary-dark)}.convo-also{text-align:right;align-self:flex-end;max-width:92%}.convo-also summary{min-height:44px;color:var(--color-ink-soft);cursor:pointer;align-items:center;padding:0 .1rem;font-size:.8125rem;font-weight:700;list-style:none;display:inline-flex}.convo-also summary::-webkit-details-marker{display:none}.convo-also summary:after{content:"";border-bottom:2px solid;border-right:2px solid;width:.45rem;height:.45rem;margin-left:.45rem;transform:translateY(-2px)rotate(45deg)}.convo-also[open] summary:after{transform:translateY(2px)rotate(-135deg)}.convo-also summary:hover{color:var(--color-primary-dark)}.convo-also ul{border:1px dashed var(--color-border);background:var(--color-card);border-radius:14px;flex-direction:column;gap:.45rem;margin:0;padding:.55rem .8rem;list-style:none;display:flex}.convo-also li{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.35rem;font-size:.92rem;font-weight:700;display:flex}.convo-also-en{color:var(--color-ink-soft);flex-basis:100%;font-size:.8125rem;font-weight:500}.convo-full{max-width:90%;color:var(--color-ink-soft);flex-wrap:wrap;align-self:flex-end;align-items:center;gap:.4rem;margin:.25rem 0 0;font-size:.9rem;font-weight:700;display:flex}.convo-full-label{letter-spacing:.06em;text-transform:uppercase;background:var(--color-primary-tint);color:var(--color-primary-dark);border-radius:999px;padding:.1rem .4rem;font-size:.75rem;font-weight:800}.convo-tap{font:inherit;color:inherit;text-align:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:0}.convo-tap:disabled{cursor:default}.convo-bubble.is-open{border-color:var(--color-primary)}.convo-pop{background:var(--color-primary-tint);border:1px solid var(--color-primary-tint-border);color:var(--color-ink);border-radius:10px;margin:.4rem 0 0;padding:.4rem .55rem;font-size:.85rem;font-weight:600}.convo-choice-slot{letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary-dark);font-size:.75rem;font-weight:700}.convo-bubble--you.is-wrong{border-color:var(--color-error);background:var(--color-error-bg)}.convo-bubble--you.is-wrong .convo-source{text-decoration:line-through;text-decoration-color:var(--color-error);font-weight:600;text-decoration-thickness:1px}.convo-correction{border:1px solid var(--color-primary-tint-border);background:var(--color-primary-tint);border-radius:14px;align-self:stretch;padding:.7rem .9rem}.convo-correction-head{letter-spacing:.04em;text-transform:uppercase;color:var(--color-primary-dark);margin:0 0 .3rem;font-size:.78rem;font-weight:800}.convo-correction-line{flex-wrap:wrap;align-items:center;gap:.4rem;margin:0;font-weight:700;display:flex}.convo-correction-en{color:var(--color-ink-soft);margin:.15rem 0 0;font-size:.88rem}.convo-english-toggle{border:1px solid var(--color-border);background:var(--color-card);font:inherit;color:var(--color-ink-soft);cursor:pointer;border-radius:999px;margin-left:auto;padding:.2rem .65rem;font-size:.8125rem;font-weight:700}.convo-english-toggle[aria-pressed=true]{background:var(--color-primary-tint);border-color:var(--color-primary-tint-border);color:var(--color-primary-dark)}.convo-note{border-left:3px solid var(--color-accent);background:var(--color-bg);color:var(--color-ink-soft);border-radius:0 8px 8px 0;margin:.2rem 0 0;padding:.5rem .75rem;font-size:.85rem}.convo-controls{margin-top:1.25rem}.convo-footnote{color:var(--color-ink-soft);margin:1.25rem 0 0;font-size:.8125rem}.convo-done{border:1px solid var(--color-border);background:var(--color-card);text-align:center;border-radius:16px;margin-top:1.5rem;padding:1.25rem}.convo-done-title{font-family:var(--font-display);margin:0 0 .35rem;font-size:1.25rem;font-weight:700}.convo-done-sub{color:var(--color-ink-soft);margin:0 0 1rem;font-size:.9rem}@media (width<=420px){.mode-toggle button{padding:.45rem .8rem;font-size:.9rem}.convo-bubble,.convo-choice{max-width:100%}}.remind-primary{width:100%;margin-top:.35rem}.remind-terms{color:var(--color-ink-soft);margin:.75rem 0 0;font-size:.8125rem;line-height:1.5}.remind-terms+.email-prompt-skip{margin-top:.5rem}.email-prompt-skip+.email-prompt-skip{margin-top:.15rem}.convo-waiting{border:1px solid var(--color-border);background:var(--color-card);border-radius:16px 16px 16px 5px;align-self:flex-start;align-items:center;width:fit-content;margin:0;padding:.7rem .9rem;display:flex}.convo-waiting>span{gap:.3rem;display:flex}.convo-waiting i{background:var(--color-ink-soft);border-radius:999px;width:7px;height:7px;animation:1.1s ease-in-out infinite convo-typing}.convo-waiting i:nth-child(2){animation-delay:.15s}.convo-waiting i:nth-child(3){animation-delay:.3s}@keyframes convo-typing{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:.9;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.convo-waiting i{opacity:.45;animation:none}}.convo-bubble,.convo-correction,.convo-full,.convo-waiting,.convo-situation,.convo-scene{animation:.28s ease-out both convo-in}.convo-held .convo-bubble,.convo-held .convo-correction,.convo-held .convo-full,.convo-held .convo-situation,.convo-held .convo-scene{animation:none}@keyframes convo-in{0%{opacity:0;transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.convo-bubble,.convo-correction,.convo-full,.convo-waiting,.convo-situation,.convo-scene{animation:none}}.convo-composer{z-index:5;padding:.75rem 0 max(.5rem, env(safe-area-inset-bottom));background:var(--color-bg);box-shadow:0 -14px 14px -6px var(--color-bg);margin-top:1.25rem;position:sticky;bottom:0}.convo-composer .convo-type input::placeholder{color:var(--color-ink-soft);font-weight:600}.convo-help{justify-content:flex-end;min-height:44px;display:flex}.convo-hint{background:var(--color-primary-tint);border:1px solid var(--color-primary-tint-border);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:.2rem .5rem;margin:0 0 .6rem;padding:.55rem .8rem;font-weight:700;animation:.2s ease-out both convo-in;display:flex}.convo-hint-label{letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary-dark);font-size:.75rem;font-weight:800}@media (prefers-reduced-motion:reduce){.convo-hint{animation:none}}.convo-tail{height:1px}.convo-keep{text-align:left;margin:0 0 1.1rem}.convo-keep-label{letter-spacing:.07em;text-transform:uppercase;color:var(--color-primary-dark);margin:0 0 .4rem;font-size:.75rem;font-weight:800}.convo-keep ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.convo-keep li{border:1px solid var(--color-border);background:var(--color-card);border-radius:12px;padding:.55rem .8rem}.convo-keep-line{flex-wrap:wrap;align-items:center;gap:.4rem;font-weight:700;display:flex}.convo-keep-en{color:var(--color-ink-soft);font-size:.85rem;display:block}.convo-onward{background:var(--color-primary);width:100%;box-shadow:0 4px 0 var(--color-primary-dark);color:#fff;font:inherit;text-align:left;cursor:pointer;border:0;border-radius:16px;flex-direction:column;align-items:flex-start;gap:.15rem;margin:0 0 .75rem;padding:.85rem 1rem;transition:transform .12s,box-shadow .12s;display:flex}.convo-onward:hover{transform:translateY(-1px)}.convo-onward:active{box-shadow:0 2px 0 var(--color-primary-dark);transform:translateY(2px)}.convo-onward-label{letter-spacing:.07em;text-transform:uppercase;font-size:.75rem;font-weight:800}.convo-onward-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.convo-onward-sub{font-size:.85rem}body[data-focus=round] .mode-toggle{display:none}body[data-focus=round] .quiz-toolbar{justify-content:flex-end}.convo-done .controls{flex-wrap:wrap}.convo-done .controls button{white-space:nowrap;flex:auto;min-height:44px;padding:.55rem .9rem}.talk-style-toggle{border:1px solid var(--color-border);background:var(--color-card);border-radius:999px;gap:.2rem;margin:0 0 .5rem;padding:.2rem;display:flex}.talk-style-toggle button{min-height:44px;font:inherit;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1;padding:0 .5rem;font-size:.875rem;font-weight:700;transition:background-color .12s,color .12s}.talk-style-toggle button:hover:not([aria-pressed=true]){color:var(--color-primary-dark);background:var(--color-primary-tint)}.talk-style-toggle button[aria-pressed=true]{background:var(--color-primary);color:#fff}.game-answer-toggle{border:1px solid var(--color-border);background:var(--color-card);border-radius:999px;flex-wrap:wrap;gap:.25rem;margin:0 0 1rem;padding:.25rem;display:inline-flex}.game-answer-toggle button{min-height:44px;font:inherit;white-space:nowrap;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:.4rem 1rem;font-size:.9rem;font-weight:700}.game-answer-toggle button[aria-pressed=true]{background:var(--color-primary);color:#fff}.game-x2{letter-spacing:.02em;background:var(--color-accent);color:#241610;border-radius:999px;margin-left:.35rem;padding:.05rem .4rem;font-size:.75rem;display:inline-block}.game-scenes{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.game-scene-card{text-align:left;width:100%;font:inherit;color:var(--color-ink);border:2px solid var(--color-border);background:var(--color-card);box-shadow:0 4px 0 var(--color-border);cursor:pointer;border-radius:18px;flex-direction:column;padding:0;transition:transform .12s,box-shadow .12s,border-color .12s;display:flex;overflow:hidden}.game-scene-card:hover:not(:disabled){border-color:var(--color-primary-tint-border);box-shadow:0 6px 0 var(--color-primary-tint-border);transform:translateY(-2px)}.game-scene-card:active:not(:disabled){box-shadow:0 1px 0 var(--color-border);transform:translateY(2px)}.game-scene-card.is-locked{cursor:default}.game-scene-card.is-locked .game-scene-thumb{filter:grayscale();opacity:.5}.game-scene-thumb{pointer-events:none;display:block}.game-scene-thumb .game-stage{border:none;border-bottom:2px solid var(--color-border);border-radius:0}.game-scene-body{flex-direction:column;gap:.1rem;padding:.65rem .85rem .8rem;display:flex}.game-scene-step{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-dark);font-size:.75rem;font-weight:800}.game-scene-title{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.game-scene-meta{color:var(--color-ink-soft);align-items:center;gap:.5rem;font-size:.8125rem;display:flex}.game-stars{gap:2px;display:inline-flex}.game-stars svg{fill:#e6d8c9;width:20px;height:20px}.game-stars svg.is-on{fill:#f4a623;stroke:#b8741a;stroke-width:1px}.game-stars.is-big svg{width:44px;height:44px}.game-line-tools{align-items:center;gap:.4rem;margin-left:auto;display:inline-flex}.game-line-tools .convo-english-toggle{margin-left:0}.game-music-toggle{border:1px solid var(--color-border);background:var(--color-card);width:44px;height:44px;color:var(--color-ink-soft);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.game-music-toggle[aria-pressed=true]{color:var(--color-primary-dark);background:var(--color-primary-tint);border-color:var(--color-primary-tint-border)}.game-music-toggle svg{width:22px;height:22px}.game-stage{--ink:#241610;border:3px solid var(--ink);background:var(--floor,#6b3e22);border-radius:20px;width:100%;position:relative;overflow:hidden;container-type:inline-size}.game-stage-scene{aspect-ratio:1000/720;position:relative}.game-stage-svg{width:100%;height:100%;display:block}.game-floor{flex-direction:column;gap:.6rem;margin-top:-9cqi;padding:0 3cqi 3cqi;display:flex;position:relative}.gs-char{animation:2.6s ease-in-out infinite gs-bob}.gs-local{animation-delay:-1.3s}.gs-mouth{transform-box:fill-box;transform-origin:50%}.gs-char.is-talking .gs-mouth{animation:.2s ease-in-out infinite alternate gs-talk}.gs-char.is-happy{animation:.5s ease-out 2 gs-hop}.gs-char.is-oops{animation:.45s ease-in-out gs-shake}@keyframes gs-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes gs-talk{0%{transform:scaleY(1)}to{transform:scaleY(4.2)}}@keyframes gs-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-30px)}}@keyframes gs-shake{0%,to{transform:translate(0)}20%{transform:translate(-14px)}40%{transform:translate(12px)}60%{transform:translate(-8px)}80%{transform:translate(5px)}}.game-bubble{--tail:48%;width:58%;min-height:44px;font-family:var(--font-display);text-align:center;color:var(--ink);border:clamp(2px, .6cqi, 4px) solid var(--ink);cursor:pointer;transform-origin:var(--tail) 100%;background:#fffdf7;border-radius:1.1em;flex-direction:column;align-items:center;gap:.2em;margin:0;padding:.55em .8em;font-size:clamp(14px,4.2cqi,30px);font-weight:700;line-height:1.2;animation:.32s cubic-bezier(.34,1.56,.64,1) game-pop;display:flex;position:absolute;top:4%;box-shadow:0 .18em #24161040}.game-bubble:disabled{cursor:default;opacity:1}.game-bubble.is-convi{--tail:48%;left:3%}.game-bubble.is-local{--tail:52%;right:3%}.game-bubble:before,.game-bubble:after{content:"";left:var(--tail);border-style:solid;border-color:#0000;position:absolute}.game-bubble:before{border-width:.95em .6em 0;border-top-color:var(--ink);margin-left:-.6em;bottom:-.95em}.game-bubble:after{border-width:.72em .42em 0;border-top-color:#fffdf7;margin-left:-.42em;bottom:-.68em}.game-bubble-en{font-family:var(--font-body);color:#5f4c3e;font-size:max(13px,.62em);font-weight:600}.game-bubble.is-thinking{--tail:50%;width:auto;padding:.5em .9em;left:20%}.game-bubble-dots{gap:.3em;padding:.35em 0;display:inline-flex}.game-bubble-dots i{background:var(--ink);border-radius:50%;width:.42em;height:.42em;animation:1s ease-in-out infinite game-dot}.game-bubble-dots i:nth-child(2){animation-delay:.15s}.game-bubble-dots i:nth-child(3){animation-delay:.3s}@keyframes game-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-.15em)}}@keyframes game-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.game-slot{vertical-align:-.1em;opacity:.7;border-bottom:.12em solid;width:2.2em;height:.9em;margin:0 .12em;display:inline-block}.game-float{font-family:var(--font-display);color:#fff;-webkit-text-stroke:clamp(3px, .8cqi, 6px) var(--ink);paint-order:stroke fill;pointer-events:none;flex-direction:column;align-items:center;font-size:clamp(18px,6cqi,40px);font-weight:800;line-height:1;animation:1.2s ease-out forwards game-float;display:flex;position:absolute;top:40%;left:31%;transform:translate(-50%)}.game-float small{letter-spacing:.1em;text-transform:uppercase;color:#ffd36b;font-size:.45em}@keyframes game-float{0%{opacity:0;transform:translate(-50%,20%)scale(.6)}20%{opacity:1;transform:translate(-50%)scale(1.1)}to{opacity:0;transform:translate(-50%,-140%)scale(1)}}.game-cloud{color:var(--ink);border:3px solid var(--ink);transform-origin:30% 0;background:#fffdf7;border-radius:22px;flex-direction:column;gap:.5rem;padding:clamp(.75rem,2.4cqi,1.15rem);animation:.28s ease-out game-pop;display:flex;position:relative;box-shadow:0 5px #00000047}.game-cloud:before,.game-cloud:after{content:"";border:3px solid var(--ink);background:#fffdf7;border-radius:50%;position:absolute;left:27%}.game-cloud:before{width:18px;height:14px;margin-left:-9px;top:-19px}.game-cloud:after{width:11px;height:9px;margin-left:-1px;top:-34px}.game-cloud.is-card{text-align:center;align-items:center}.game-card-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary-dark);font-size:.75rem;font-weight:800}.game-card-title{font-family:var(--font-display);font-size:clamp(1.25rem,4.4cqi,2rem);line-height:1.1}.game-card-text{color:#5f4c3e;font-size:.95rem}.game-card-score{font-family:var(--font-display);color:var(--color-primary-dark);font-size:clamp(1.5rem,5cqi,2.4rem);font-weight:800}.game-card-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.25rem;display:flex}.game-cue{color:var(--color-primary-dark);margin:0;font-size:.95rem;font-weight:700}.game-ask{font-family:var(--font-display);margin:0;font-size:1.15rem;font-weight:700}.game-hint-text,.game-help{margin:0}.game-options{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.game-option{text-align:left;width:100%;min-height:50px;font-family:var(--font-display);color:var(--ink);cursor:pointer;background:#fff;border:2px solid #e3d3c2;border-radius:14px;align-items:center;gap:.7rem;padding:.5rem .75rem .5rem .5rem;font-size:1.05rem;font-weight:700;transition:transform .1s,border-color .12s,background-color .12s;display:flex;box-shadow:0 3px #e3d3c2}.game-option:hover:not(:disabled){border-color:var(--color-primary-tint-border);background:var(--color-primary-tint)}.game-option:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #e3d3c2}.game-option:disabled{cursor:default}.game-option-key{width:34px;height:34px;color:var(--color-primary-dark);background:var(--color-primary-tint);border:2px solid var(--color-primary-tint-border);border-radius:10px;flex:none;place-items:center;font-weight:800;display:grid}.game-option-text{overflow-wrap:anywhere;flex-direction:column;flex:1;min-width:0;display:flex}.game-option-en{font-family:var(--font-body);color:var(--color-ink-soft);font-size:.8125rem;font-weight:600}.game-local-tag{font-family:var(--font-body);letter-spacing:.06em;text-transform:uppercase;color:#241610;background:var(--color-accent);border-radius:999px;flex:none;padding:.15rem .5rem;font-size:.75rem;font-weight:800}.game-option.is-right{border-color:var(--color-success);background:var(--color-success-bg);box-shadow:0 3px 0 var(--color-success)}.game-option.is-right .game-option-key{color:#fff;background:var(--color-success);border-color:var(--color-success)}.game-option.is-wrong{border-color:var(--color-error);background:var(--color-error-bg);box-shadow:0 3px 0 var(--color-error);animation:.35s ease-in-out game-nudge}.game-option.is-wrong .game-option-key{color:#fff;background:var(--color-error);border-color:var(--color-error)}.game-option.is-out{opacity:.55}@keyframes game-nudge{25%{transform:translate(-6px)}75%{transform:translate(6px)}}.game-type{flex-wrap:wrap;gap:.5rem;display:flex}.game-type input{min-width:0;min-height:48px;font:inherit;color:var(--ink);background:#fff;border:2px solid #e3d3c2;border-radius:14px;flex:12rem;padding:.5rem .85rem;font-size:1.05rem}.game-type input:focus{border-color:var(--color-primary);outline:none}.game-verdict{background:var(--color-error-bg);color:var(--ink);border-radius:14px;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;padding:.6rem .75rem;animation:.25s ease-out game-pop;display:flex}.game-verdict.is-right{background:var(--color-success-bg)}.game-verdict strong{color:var(--color-error)}.game-verdict.is-right strong{color:var(--color-success-deep)}.game-verdict>span{flex:12rem;font-size:.9rem}.game-correction{flex-direction:column;gap:.1rem;display:flex}.game-correction-line{flex-wrap:wrap;align-items:center;gap:.4rem;display:inline-flex}.game-correction-en{color:var(--color-ink-soft)}.game-verdict em{font-size:1.05rem;font-style:normal;font-weight:800}.game-note{color:var(--color-ink-soft)}.game-verdict .game-primary{margin-left:auto}@media (width<=480px){.game-verdict .game-primary,.game-type input{flex-basis:100%}.game-type .game-primary{flex:1}}.game-primary,.game-secondary{min-height:44px;font:inherit;cursor:pointer;border-radius:999px;padding:.5rem 1.2rem;font-weight:800;transition:transform .1s,box-shadow .1s}.game-primary{color:#fff;background:var(--color-primary);box-shadow:0 3px 0 var(--color-primary-dark);border:none}.game-primary:disabled{opacity:.5;cursor:default}.game-primary:active:not(:disabled){box-shadow:0 1px 0 var(--color-primary-dark);transform:translateY(2px)}.game-secondary{border:2px solid var(--color-border);color:var(--ink);background:var(--color-card)}.game-hud{color:#fff6df;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;display:flex}.game-turn,.game-score,.game-combo{white-space:nowrap;border-radius:999px;padding:.2rem .65rem;font-size:.875rem;font-weight:800}.game-turn{background:#fff6df24}.game-score{font-family:var(--font-display);background:#fff6df24}.game-combo{color:#241610;background:var(--color-accent);animation:.3s ease-out game-pop}.game-answer-toggle.is-compact{background:#0000002e;border-color:#fff6df4d;margin:0 0 0 auto;padding:.15rem}.game-answer-toggle.is-compact button{color:#fff6df;min-height:44px;padding:0 .75rem;font-size:.8125rem}.game-answer-toggle.is-compact button[aria-pressed=true]{color:#241610;background:#fff6df}@media (width<=380px){.game-answer-toggle button{padding:.4rem .7rem;font-size:.85rem}}@media (prefers-reduced-motion:reduce){.gs-char,.gs-char.is-happy,.gs-char.is-oops,.gs-char.is-talking .gs-mouth,.game-bubble,.game-bubble-dots i,.game-cloud,.game-combo,.game-option.is-wrong,.game-verdict{animation:none}.gs-char.is-talking .gs-mouth{transform:scaleY(3)}.game-float{animation:none;display:none}}.no-js[data-astro-cid-jgdg23up]{max-width:var(--shell-text);border:1px solid var(--color-border);background:var(--color-card);border-radius:14px;padding:.85rem 1rem}.intro[data-astro-cid-jgdg23up]{opacity:.75;margin:0 0 1rem}
