:root{--d-ink:var(--ink,#111);--d-paper:var(--paper,#ece8e1);--d-paper-2:var(--paper-2,#e2ddd3);--d-surface:var(--surface,#f2efe8);--d-line:var(--line,#cdc8bc);--d-muted:var(--muted,#5f5a50);--d-ink-2:var(--ink-2,#55524b);--d-sans:var(--sans,"Albert Sans",system-ui,sans-serif);--d-mono:var(--mono,"IBM Plex Mono",ui-monospace,monospace);--d-good:oklch(53% .14 145);--d-good-soft:oklch(95% .045 145);--d-good-ink:oklch(34% .12 145);--d-bad:oklch(56% .19 27);--d-bad-soft:oklch(95% .05 27);--d-bad-ink:oklch(43% .15 27);--d-spring:cubic-bezier(.2,.85,.25,1.2);--d-ease:cubic-bezier(.4,0,.2,1)}.choice-option,.choice-gap,.tile,.slot,.built-tile,.error-choice,.quiz-option,.lesson-btn{transition:transform .14s var(--d-spring),box-shadow .14s var(--d-spring), background-color .14s var(--d-ease),color .14s var(--d-ease),border-color .14s var(--d-ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.choice-option,.tile,.quiz-option,.error-choice{border:2px solid var(--d-ink);background:var(--d-paper-2);color:var(--d-ink);font-family:var(--d-sans);cursor:pointer;box-shadow:3px 3px 0 var(--d-ink);border-radius:0;font-weight:600}.choice-option:hover:not(.is-selected):not(.is-correct):not(.is-wrong):not(:disabled),.tile:hover:not(.is-selected):not(.is-correct):not(.is-wrong):not(:disabled),.quiz-option:hover:not(.is-selected):not(.is-correct):not(.is-wrong):not(:disabled),.error-choice:hover:not(.is-correct):not(.is-wrong):not(:disabled){box-shadow:5px 5px 0 var(--d-ink);background:var(--d-surface);transform:translate(-2px,-2px)}.choice-option:active:not(.is-correct):not(.is-wrong),.tile:active:not(.is-correct):not(.is-wrong),.quiz-option:active:not(.is-correct):not(.is-wrong),.error-choice:active:not(.is-correct):not(.is-wrong){box-shadow:0 0 0 var(--d-ink);transform:translate(3px,3px)}.choice-option.is-selected:not(.is-correct):not(.is-wrong),.tile.is-selected:not(.is-correct):not(.is-wrong),.quiz-option.is-selected:not(.is-correct):not(.is-wrong){box-shadow:0 0 0 var(--d-ink);background:var(--d-ink);color:var(--d-paper);transform:translate(3px,3px)}.tile:disabled,.tile[disabled]{opacity:.3;box-shadow:none;cursor:default;background:var(--d-surface);transform:none}.choice-gap{border:2px dashed var(--d-line);background:var(--d-surface);color:var(--d-ink);font-family:var(--d-sans);cursor:pointer;box-shadow:none;border-radius:0;font-weight:700}.choice-gap.is-empty{color:var(--d-muted);border-color:var(--d-line);background:var(--d-surface)}.choice-gap:hover:not(.is-correct):not(.is-wrong){border-color:var(--d-ink)}.choice-gap[data-value]:not([data-value=""]):not(.is-active):not(.is-correct):not(.is-wrong){border-style:solid;border-color:var(--d-ink);background:var(--d-paper-2);color:var(--d-ink);box-shadow:2px 2px 0 var(--d-ink)}.choice-gap.is-active:not(.is-correct):not(.is-wrong){border-style:solid;border-color:var(--d-ink);color:var(--d-ink);animation:d-invite 1.5s var(--d-ease) infinite}.slot{border:2px dashed var(--d-line);background:var(--d-surface);color:var(--d-muted);cursor:pointer;box-shadow:none;border-radius:0;font-weight:600}.slot:hover:not(.is-correct):not(.is-wrong){border-color:var(--d-ink)}.slot.is-filled:not(.is-correct):not(.is-wrong){border-style:solid;border-color:var(--d-ink);background:var(--d-paper-2);color:var(--d-ink);box-shadow:2px 2px 0 var(--d-ink)}.built-tile{border:2px solid var(--d-ink);background:var(--d-paper-2);color:var(--d-ink);font-family:var(--d-sans);cursor:pointer;box-shadow:2px 2px 0 var(--d-ink);animation:d-drop .22s var(--d-spring);border-radius:0;font-weight:600}.built-tile:hover{box-shadow:3px 3px 0 var(--d-ink);transform:translate(-1px,-1px)}.build-area{border:2px dashed var(--d-line)}.build-area.is-correct{border-style:solid;border-color:var(--d-good);background:var(--d-good-soft)}.build-area.is-wrong{border-style:solid;border-color:var(--d-bad);background:var(--d-bad-soft);animation:d-card-shake .4s var(--d-ease)}.build-area.is-correct:after,.build-area.is-wrong:after{align-self:center;margin-left:auto;font-size:1.05em;font-weight:800}.build-area.is-correct:after{content:"✓";color:var(--d-good-ink)}.build-area.is-wrong:after{content:"✗";color:var(--d-bad-ink)}.answer-input{border:0;border-bottom:2px solid var(--d-ink);color:var(--d-ink);background:0 0;border-radius:0}.answer-input:focus{background:var(--d-surface)}.answer-input.is-correct{border-bottom-color:var(--d-good);background:var(--d-good-soft);color:var(--d-good-ink);animation:d-pop .42s var(--d-spring)}.answer-input.is-wrong{border-bottom-color:var(--d-bad);background:var(--d-bad-soft);color:var(--d-bad-ink);animation:d-shake .42s var(--d-ease)}.choice-option.is-correct,.choice-gap.is-correct,.tile.is-correct,.slot.is-correct,.quiz-option.is-correct,.error-choice.is-correct{border-style:solid;border-color:var(--d-good);background:var(--d-good-soft);color:var(--d-good-ink);box-shadow:3px 3px 0 var(--d-good);animation:d-pop .42s var(--d-spring);transform:none}.choice-option.is-wrong,.choice-gap.is-wrong,.tile.is-wrong,.slot.is-wrong,.quiz-option.is-wrong,.error-choice.is-wrong{border-style:solid;border-color:var(--d-bad);background:var(--d-bad-soft);color:var(--d-bad-ink);box-shadow:3px 3px 0 var(--d-bad);animation:d-shake .42s var(--d-ease);transform:none}.choice-option.is-correct:after,.choice-gap.is-correct:after,.tile.is-correct:after,.slot.is-correct:after,.quiz-option.is-correct:after,.error-choice.is-correct:after,.choice-option.is-wrong:after,.choice-gap.is-wrong:after,.tile.is-wrong:after,.slot.is-wrong:after,.quiz-option.is-wrong:after,.error-choice.is-wrong:after{margin-left:7px;font-size:.95em;font-weight:800}.choice-option.is-correct:after,.choice-gap.is-correct:after,.tile.is-correct:after,.slot.is-correct:after,.quiz-option.is-correct:after,.error-choice.is-correct:after{content:"✓"}.choice-option.is-wrong:after,.choice-gap.is-wrong:after,.tile.is-wrong:after,.slot.is-wrong:after,.quiz-option.is-wrong:after,.error-choice.is-wrong:after{content:"✗"}.lesson-btn{border:2px solid var(--d-ink);background:var(--d-surface);color:var(--d-ink);font-family:var(--d-mono);cursor:pointer;box-shadow:3px 3px 0 var(--d-ink);border-radius:0;font-weight:500}.lesson-btn:hover{box-shadow:5px 5px 0 var(--d-ink);transform:translate(-2px,-2px)}.lesson-btn:active{box-shadow:0 0 0 var(--d-ink);transform:translate(3px,3px)}[data-check-choices],[data-check-answers],[data-check-tiles],[data-check-build],[data-check-quiz]{background:var(--d-ink);color:var(--d-paper)}.practice.is-success,.tile-game.is-success,.micro-drill.is-success,.quiz.is-success{border-color:var(--d-good);box-shadow:6px 6px 0 var(--d-good)}.practice.is-error,.tile-game.is-error,.micro-drill.is-error,.quiz.is-error{border-color:var(--d-bad);box-shadow:6px 6px 0 var(--d-bad);animation:d-card-shake .42s var(--d-ease)}.feedback{font-family:var(--d-mono);color:var(--d-muted)}.feedback.is-success{color:var(--d-good-ink);font-weight:600}.feedback.is-error{color:var(--d-bad-ink);font-weight:600}.spark{background:var(--d-ink)}.spark:nth-child(2n){background:var(--d-good)}.spark:nth-child(3n){background:var(--d-ink-2)}.spark:nth-child(4n){background:var(--d-good)}.choice-option:focus-visible,.choice-gap:focus-visible,.tile:focus-visible,.slot:focus-visible,.error-choice:focus-visible,.quiz-option:focus-visible,.lesson-btn:focus-visible,.answer-input:focus-visible,.built-tile:focus-visible{outline:3px solid var(--d-ink);outline-offset:3px}.choice-hint,.tile-target{font-family:var(--d-sans);letter-spacing:0;text-transform:none;color:var(--d-ink-2);font-size:16px;font-weight:500;line-height:1.5}[data-choice-gap-drill]{overflow:visible}@media (width<=600px){.choice-bank{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-width:100%;padding:10px 12px 13px;display:grid;overflow:visible}.choice-option{white-space:normal;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;width:100%;min-width:0;min-height:56px;padding:12px 10px;font-size:18px;line-height:1.25}.q{grid-template-columns:24px minmax(0,1fr);align-items:start;gap:10px;padding:20px 0;font-size:18px;line-height:1.6;display:grid}.q>.n{padding-top:.45em}.q>span:last-child{min-width:0}.choice-gap{min-width:96px;min-height:52px;margin:6px 4px;padding:10px 14px;font-size:18px;line-height:1.25}.drill-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.drill-actions .lesson-btn{width:100%;min-width:0;min-height:56px;padding:12px;font-size:16px}}@media (width<=360px){.choice-option{padding-inline:8px;font-size:16px}}@keyframes d-pop{0%{transform:scale(.9)}45%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes d-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes d-card-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}@keyframes d-drop{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:none}}@keyframes d-invite{0%,to{box-shadow:0 0 0 0 color-mix(in oklab,var(--d-ink) 24%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in oklab,var(--d-ink) 0%,transparent)}}@media (prefers-reduced-motion:reduce){.choice-option,.choice-gap,.tile,.slot,.built-tile,.error-choice,.quiz-option,.lesson-btn,.answer-input,.build-area,.practice,.tile-game,.micro-drill,.quiz{animation:none!important}}
