.poly-page{max-width:1080px}.poly-intro,.poly-question,.poly-complete{padding:clamp(20px,4vw,38px);border:1px solid var(--pro-border);border-radius:22px;background:var(--pro-panel)}.poly-intro p{color:var(--pro-muted);max-width:760px}.poly-progress{font-weight:700;color:var(--pro-accent)!important}.poly-word-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:22px}.poly-word-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:9px;text-align:left;padding:22px;background:var(--pro-panel);border:1px solid var(--pro-border);border-radius:16px;color:var(--pro-ink);cursor:pointer;min-height:145px}.poly-word-grid button:hover{border-color:var(--pro-accent);background:var(--pro-soft)}.poly-word-grid strong{font-size:1.5rem}.poly-word-grid span{font-size:.83rem;color:var(--pro-muted)}.poly-word-grid small{color:var(--pro-accent)}.poly-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:24px 0 14px}.poly-toolbar span{color:var(--pro-muted)}.poly-work progress{display:block;width:100%;height:8px;accent-color:var(--pro-accent);margin-bottom:24px}.poly-question h2{font-size:2rem;margin:8px 0 22px}.poly-sentence{font-size:clamp(1.25rem,2.7vw,1.7rem);line-height:1.7;font-weight:600}.poly-sentence mark{background:var(--pro-active);color:var(--pro-accent);border-bottom:2px solid var(--pro-accent);padding:1px 4px;border-radius:4px}.poly-translation{font-size:1.06rem;color:var(--pro-muted);line-height:1.9}.poly-blank{display:inline-block;letter-spacing:.15em;min-width:4em;text-align:center;color:var(--pro-accent)}.poly-prompt{margin-top:28px;font-weight:700}.poly-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.poly-options button{display:flex;align-items:center;gap:12px;min-height:64px;text-align:left;padding:15px;background:var(--pro-soft);color:var(--pro-ink);border:1px solid var(--pro-border);border-radius:12px;cursor:pointer;font:inherit}.poly-options button>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid var(--pro-border);border-radius:8px;font-size:.85rem}.poly-options button:hover:not(:disabled){border-color:var(--pro-accent)}.poly-options button:disabled{opacity:1;cursor:default}.poly-options .is-correct{border:2px solid #4eaa72;background:#1a4428;color:#edfff2}.poly-options .is-wrong{border:2px solid #c97467;background:#502c2a;color:#fff2ef}.poly-feedback{min-height:1.5em;margin:22px 0 12px;font-weight:600}.poly-feedback.is-correct{color:#90d7a5}.poly-feedback.is-wrong{color:#ffa99c}.theme-day .poly-feedback.is-correct{color:#24643b}.theme-day .poly-feedback.is-wrong{color:#a33123}.poly-next[hidden]{display:none}.poly-next{min-width:170px}.poly-complete{text-align:center;margin-top:26px}.poly-complete button{margin:10px;min-height:48px}.poly-check{display:inline-grid;place-items:center;width:64px;height:64px;background:var(--pro-active);color:var(--pro-accent);font-size:2rem;border-radius:50%}.poly-page button:focus-visible,.poly-page a:focus-visible{outline:3px solid var(--pro-accent);outline-offset:4px}.poly-page h2:focus{outline:none}.poly-landing-card{display:block;padding:22px;border:1px solid var(--pro-border,#75845b);border-radius:16px;text-decoration:none;color:inherit;background:#ffffff08}.poly-landing-card strong,.poly-landing-card span{display:block}.poly-landing-card strong{font-size:1.2rem;margin-bottom:8px}.poly-landing-card span{line-height:1.8}.poly-landing-card:hover{border-color:#c8ed80}.poly-landing-card:focus-visible{outline:3px solid #c8ed80;outline-offset:4px}@media(max-width:760px){.poly-word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.poly-options{grid-template-columns:1fr}.poly-toolbar{font-size:.9rem}.poly-word-grid button{padding:18px}.poly-question{padding:20px}}@media(prefers-reduced-motion:reduce){.poly-page *{scroll-behavior:auto!important;transition:none!important}}
/* A completed word stays visibly distinct without distracting motion. */
.poly-word-grid button.is-complete{background:linear-gradient(115deg,transparent 22%,#ffe47718 55%,transparent 82%),#175c3d;border-color:#76ab70;color:#f4fff7;box-shadow:inset 0 1px 0 #fff29270,0 0 12px #f8d8571c}
.poly-word-grid button.is-complete:hover{background:linear-gradient(115deg,transparent 22%,#ffe47722 55%,transparent 82%),#1c6a46;border-color:#e0d277}
.poly-word-grid button.is-complete>span,.poly-word-grid button.is-complete small{color:#edf7dc}
.poly-word-grid button.is-complete small{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.poly-word-grid .poly-tile-check{color:#ffed96;font-size:1.9rem;line-height:1;font-weight:800;text-shadow:0 0 8px #ffe67655}
.poly-word-progress{margin:16px 0 24px}.poly-word-progress label{display:block;margin-bottom:10px;color:var(--pro-ink);font-weight:600}.poly-word-progress strong{color:var(--pro-accent)}
.poly-word-progress progress,.poly-lesson-progress{display:block;width:100%;height:14px;accent-color:#268555;border:0;border-radius:10px;overflow:hidden;background:#b3c6b54a}
.poly-word-progress progress::-webkit-progress-bar,.poly-lesson-progress::-webkit-progress-bar{background:#b3c6b54a;border-radius:10px}
.poly-word-progress progress::-webkit-progress-value,.poly-lesson-progress::-webkit-progress-value{background:#268555;border-radius:10px}
.poly-word-progress progress::-moz-progress-bar,.poly-lesson-progress::-moz-progress-bar{background:#268555;border-radius:10px}
.poly-complete .poly-word-progress{max-width:540px;margin:24px auto}
@media(prefers-reduced-motion:reduce){.poly-word-grid button.is-complete{animation:none!important;transition:none!important}}

/* Game-like question reveal and answer response. */
.poly-question{animation:poly-stage-in .48s cubic-bezier(.2,.75,.25,1) both}
.poly-question>.pro-eyebrow,.poly-question>h2,.poly-question>.poly-source-link,.poly-question>.poly-context,.poly-question>.poly-sentence,.poly-question>.poly-translation,.poly-question>.poly-prompt{animation:poly-line-in .38s ease both}
.poly-question>.poly-sentence{animation-delay:.08s}.poly-question>.poly-translation{animation-delay:.14s}.poly-question>.poly-prompt{animation-delay:.2s}
.poly-options button{animation:poly-choice-in .34s cubic-bezier(.2,.75,.25,1) both;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.poly-options button:nth-child(2){animation-delay:.05s}.poly-options button:nth-child(3){animation-delay:.1s}.poly-options button:nth-child(4){animation-delay:.15s}
.poly-options button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 18px #0002}
.poly-options .is-correct{animation:poly-correct-wobble .48s ease both}
.poly-feedback{animation:poly-line-in .3s ease both}.poly-feedback.is-correct{font-size:1.08em}
.poly-word-progress{position:relative}.poly-streak{display:flex;align-items:center;gap:11px;min-height:68px;margin-top:12px;padding:7px 12px;border:1px solid #f1a94c55;border-radius:14px;background:linear-gradient(100deg,#ff9f2f12,#fce6b812);overflow:hidden}
.poly-streak-fire{display:grid;place-items:center;width:clamp(40px,calc(40px * var(--streak-size)),64px);height:54px;transition:width .3s ease}.poly-streak-fire img{width:100%;height:100%;object-fit:contain}
.poly-streak-copy{display:flex;flex-direction:column;gap:2px;flex:1}.poly-streak-copy strong{font-size:1rem;color:#ffb44e}.poly-streak-copy small{font-size:.78rem;color:var(--pro-muted)}
@keyframes poly-stage-in{from{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:none}}@keyframes poly-line-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes poly-choice-in{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}@keyframes poly-correct-wobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-1.3deg) scale(1.02)}55%{transform:rotate(1.1deg)}75%{transform:rotate(-.5deg)}}
@media(prefers-reduced-motion:reduce){.poly-question,.poly-question>*,.poly-options button,.poly-feedback,.poly-options .is-correct{animation:none!important;transition:none!important}}

/* Professional identity and calmer, responsive motion. */
.poly-streak-fire{border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe6a1,#e2a84e 72%,#936127);color:#593a0f;font-size:27px;font-weight:900;box-shadow:0 4px 0 #8f6224,0 0 20px #e2a84e33;transform:scale(var(--streak-size));transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.poly-streak-emblem{display:grid;place-items:center;flex:0 0 56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#244d63,#426c74);border:1px solid #84abb0;color:#d8e6cc;font:800 18px Georgia,serif;letter-spacing:.08em;box-shadow:0 4px 0 #173747}
.poly-translation{padding:13px 16px;border-left:4px solid var(--pro-accent);border-radius:0 11px 11px 0;background:var(--pro-soft);color:var(--pro-ink);animation:poly-line-in .4s ease both}
.poly-blank{min-width:3.5em;padding:0 6px;border-bottom:2px solid var(--pro-accent);background:var(--pro-active);border-radius:5px 5px 0 0}
.poly-word-grid button,.poly-toolbar button,.poly-next,.poly-complete button{transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s,background .25s,border-color .25s}
.poly-word-grid button:hover,.poly-toolbar button:hover,.poly-next:hover,.poly-complete button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #102c2b28}
.poly-word-grid button:active,.poly-toolbar button:active,.poly-next:active,.poly-complete button:active{transform:translateY(1px)}
.poly-word-grid button{animation:poly-choice-in .42s ease both}.poly-word-grid button:nth-child(4n+2){animation-delay:.045s}.poly-word-grid button:nth-child(4n+3){animation-delay:.09s}.poly-word-grid button:nth-child(4n+4){animation-delay:.135s}
.poly-options button{box-shadow:0 3px 0 #183f3520}.poly-options button:hover:not(:disabled){box-shadow:0 8px 20px #123d3533}
@media(prefers-reduced-motion:reduce){.poly-streak-fire,.poly-word-grid button,.poly-toolbar button,.poly-next,.poly-complete button,.poly-translation{animation:none!important;transition:none!important}}
