:root{color-scheme:light;font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;background-color:#f5f5fb;color:#0f172a}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at top,#fff,#eef2ff 60%,#f5f5fb)}.picturereveal-shell{--game-shell-max-width: 1100px}.picturereveal-shell .game-shell__body{overflow-y:auto}.picturereveal-shell .game-shell__identity{flex:0 1 auto;min-width:0}.picturereveal-shell .game-shell__hud{width:auto!important;flex-wrap:nowrap}header{text-align:center;margin-bottom:32px}header h1{font-size:clamp(2rem,3vw,2.8rem);margin:10px 0 6px}header p{margin:0;color:#475569}.badge{display:inline-block;padding:6px 14px;border-radius:999px;background:#e0e7ff;color:#4338ca;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:24px;align-items:start}.board{background:#fff;border-radius:24px;padding:24px;box-shadow:0 16px 30px #0f172a1f}.image-frame{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:18px;overflow:hidden;background:#e2e8f0}.image-frame img{width:100%;height:100%;object-fit:cover;display:block}.tile-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:0}[hidden]{display:none!important}.tile{border:1px solid #e2e8f0;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:10px;transition:opacity .25s ease,transform .25s ease;text-align:center;font:inherit;color:inherit;cursor:pointer}.tile.revealed,.tile.locked{background:#fff}.tile.cleared{opacity:0;pointer-events:none}.tile.shake{animation:shake .3s ease}.problem{font-weight:700;margin-bottom:8px;color:#1e293b}.tile input{width:80px;max-width:90%;padding:6px 8px;border-radius:8px;border:1px solid #cbd5f5;font-size:1rem;text-align:center;background:#fff}.tile input:disabled{opacity:.75;cursor:not-allowed}.feedback{margin-top:6px;font-size:.85rem;color:#dc2626;min-height:1.1em}.level3-overlay{position:absolute;inset:0;display:grid;place-items:center;padding:16px;background:#0f172ab8;z-index:4}.level3-card{width:min(520px,100%);border-radius:22px;background:#1e293bf5;color:#fff;padding:24px;display:grid;gap:12px;text-align:center}.level3-phase{justify-self:center;border-radius:999px;padding:6px 14px;background:#3b82f647;color:#93c5fd;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.level3-story{color:#cbd5e1;line-height:1.5;white-space:pre-line}.level3-prompt{font-size:clamp(1.4rem,4vw,2.2rem);font-weight:800}.pr-inline-math{white-space:nowrap}.level3-options{display:grid;gap:10px}.level3-option{width:100%}.level3-actions,.level3-feedback-actions{display:flex;justify-content:center}.level3-hint-popover{border:1px solid rgba(148,163,184,.45);border-radius:14px;padding:12px;background:#0f172ae0;display:grid;gap:10px}.level3-hint-popover p{margin:0;color:#e2e8f0;line-height:1.45}.level3-feedback{min-height:1.4em;font-weight:700;color:#cbd5e1}.level3-feedback.correct{color:#86efac}.level3-feedback.wrong{color:#fca5a5}.tile.cleared .feedback{color:#16a34a}.complete-overlay{position:absolute;inset:0;background:#0f172a99;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;opacity:0;pointer-events:none;transition:opacity .3s ease}.complete-overlay.show{opacity:1;pointer-events:auto}.complete-overlay h2{margin:0 0 6px}.sidebar{display:grid;gap:16px}.panel{background:#fff;border-radius:20px;padding:20px;box-shadow:0 12px 24px #0f172a14}.panel h2,.panel h3{margin:0 0 10px}.progress-text{margin:0;font-size:1.1rem;font-weight:600}.mastery-text{margin:8px 0 0;color:#1e293b;font-weight:600}.mastery-hint{margin:8px 0 0;font-size:.92rem;color:#64748b}.divider{height:1px;background:#e2e8f0;margin:16px 0}.panel-actions{display:grid;gap:8px}.primary,.secondary{width:100%;border:none;padding:10px 16px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer}.primary{background:#4f46e5;color:#fff}.primary:hover{background:#4338ca}.secondary{background:#e0e7ff;color:#3730a3}.secondary:hover{background:#c7d2fe}.tips ul{margin:0;padding-left:18px;color:#475569}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-3px)}50%{transform:translate(3px)}75%{transform:translate(-2px)}to{transform:translate(0)}}@media(max-width:900px){.layout{grid-template-columns:1fr}}@media(max-width:600px){.tile input{width:64px}.level3-card{padding:18px}}
