.geometry-game{--ink:#171821;--paper:#f7f4ed;--panel:#fffdf8;--blue:#5c66e8;--lime:#cafa70;--muted:#62636b;--navy:#20213b;--navy-soft:#30314f;--sage:#d5ddd2;--forest:#245440;--rounded-type:ui-rounded, "Arial Rounded MT Bold", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--header-gap:clamp(30px, 5vw, 52px);--page-bottom:56px;min-height:100svh;padding:0 0 var(--page-bottom);background:radial-gradient(circle at 95% 2%, #c7c9da 0 120px, transparent 122px), radial-gradient(circle at 3% 33%, #c2d4a8 0 90px, transparent 92px), var(--sage);color:var(--ink);font-family:var(--rounded-type)}.geometry-game button,.geometry-game input{font-family:var(--rounded-type)}.setup-screen,.duration-screen,.play-screen,.finish-screen{width:min(1180px,100% - 32px);margin-inline:auto}.game-header{width:100%;min-height:68px;margin-bottom:var(--header-gap);background:#fffefaed;border-bottom:3px solid #e7e2d5;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px clamp(16px,4vw,60px);display:grid}.game-back,.home-link{color:inherit;text-underline-offset:4px;font-weight:800}.game-back{text-decoration:none}.game-back:hover,.home-link:hover{text-decoration:underline}.game-brand{white-space:nowrap;justify-self:center;align-items:center;gap:9px;font-size:clamp(.95rem,2vw,1.2rem);font-weight:900;display:inline-flex}.game-brand-mark{background:var(--lime);width:31px;height:31px;color:var(--ink);border-radius:8px;place-items:center;font-size:1.1rem;display:grid;transform:rotate(-5deg);box-shadow:0 3px #abc956}.game-header .home-account-link{justify-self:end;font-weight:800}.game-eyebrow,.mode-number{color:#4852cf;letter-spacing:.12em;text-transform:uppercase;margin:0 0 9px;font-size:.78rem;font-weight:900}.setup-screen{min-height:calc(100svh - 68px - var(--header-gap) - var(--page-bottom));flex-direction:column;justify-content:center;display:flex;transform:translateY(clamp(-150px,-8vh,-80px))}.setup-copy{max-width:880px;margin-bottom:clamp(30px,5vw,54px)}.play-screen{width:min(1380px,100% - 32px);min-height:calc(100svh - 68px - var(--header-gap) - var(--page-bottom));grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);display:grid}.play-copy{align-self:end}.challenge-board{grid-row:2}.setup-copy h1,.finish-screen h1{letter-spacing:-.01em;word-spacing:.025em;max-width:900px;margin:0;font-size:clamp(2.8rem,6vw,5.6rem);font-weight:800;line-height:1.08}.setup-copy h1:focus,.finish-screen h1:focus{outline:none}.mode-grid{background:var(--navy);border:2px solid #34365c;border-radius:28px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:clamp(18px,3vw,28px);display:grid;box-shadow:0 9px #11121e,0 25px 55px #1718212b}.mode-card{background:var(--navy-soft);color:#fff;min-height:205px;font:inherit;text-align:left;cursor:pointer;border:2px solid #777aa1;border-radius:22px;flex-direction:column;align-items:flex-start;padding:clamp(22px,3vw,32px);transition:transform .16s,box-shadow .16s;display:flex;box-shadow:0 6px #11121e}.mode-card:hover{transform:translateY(-4px);box-shadow:0 10px #11121e}.mode-card .mode-number{color:#d9daec}.mode-card strong{letter-spacing:0;word-spacing:.02em;margin-bottom:10px;font-size:clamp(1.55rem,2.2vw,2rem);font-weight:800;line-height:1.12}.mode-start{background:var(--lime);color:var(--ink);border-radius:999px;margin-top:auto;padding:11px 16px;font-weight:900;box-shadow:0 4px #8fa947}.duration-screen{min-height:calc(100svh - 68px - var(--header-gap) - var(--page-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;transform:translateY(clamp(-100px,-5vh,-48px))}.duration-screen h1{letter-spacing:-.01em;word-spacing:.025em;max-width:820px;margin:0 0 52px;font-size:clamp(2.5rem,4.2vw,4rem);font-weight:800;line-height:1.08}.duration-screen h1:focus{outline:none}.duration-card{background:var(--navy);color:#fff;border:2px solid #34365c;border-radius:28px;width:min(700px,100%);padding:clamp(26px,5vw,48px);box-shadow:0 9px #11121e,0 25px 55px #17182133}.duration-setting{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;display:grid}.duration-setting>span{color:#d9daec;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem;font-weight:900}.duration-choices{border:0;grid-template-columns:repeat(4,1fr);gap:10px;min-width:0;margin:0;padding:0;display:grid}.duration-choice{color:#fff;min-height:62px;font:inherit;cursor:pointer;background:#f0f0ff24;border:2px solid #777aa1;border-radius:16px;font-size:1.35rem;font-weight:900}.duration-choice[aria-pressed=true]{border-color:var(--lime);background:var(--lime);color:var(--ink);box-shadow:0 5px #8fa947}.duration-card>p{color:#d9daec;margin:28px auto;line-height:1.5}.duration-actions{justify-content:center;gap:12px;display:flex}.duration-start{background:var(--lime);min-height:50px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;padding:11px 22px;font-weight:900;box-shadow:0 5px #8fa947}.round-bar{grid-template-columns:140px minmax(160px,440px) 60px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px;display:grid}.text-button,.viewer-tools button{min-height:44px;color:var(--ink);font:inherit;cursor:pointer;background:#fffefa;border:2px solid #303347;border-radius:999px;font-size:.82rem;font-weight:800}.text-button{padding:8px 14px}.round-bar>strong{text-align:right}.round-progress{grid-template-columns:repeat(5,1fr);gap:7px;display:grid}.round-progress span{background:#f0f0ff;border:1px solid #777aa1;border-radius:999px;height:9px}.round-progress .is-current{border-color:var(--blue);background:var(--blue)}.round-progress .is-done{background:var(--lime);border-color:#89a633}.question-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;display:flex}.question-heading h1{letter-spacing:-.01em;word-spacing:.025em;max-width:980px;margin:0;font-size:clamp(2.1rem,4vw,4rem);font-weight:800;line-height:1.08}.question-heading h1:focus{outline:none}.score-chip,.timer-chip{background:var(--navy-soft);color:#fff;border:2px solid #34365c;border-radius:18px;justify-content:space-between;align-items:center;gap:12px;min-width:124px;padding:12px 16px;display:flex;box-shadow:0 4px #11121e}.score-chip span,.timer-chip span{text-transform:uppercase;font-size:.74rem;font-weight:800}.score-chip strong,.timer-chip strong{font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:800}.challenge-board{background:var(--navy);border:2px solid #34365c;border-radius:28px;grid-template-columns:minmax(0,1.8fr) minmax(320px,.7fr);gap:clamp(14px,2vw,22px);min-height:680px;padding:clamp(14px,2vw,22px);display:grid;overflow:hidden;box-shadow:0 9px #11121e,0 25px 55px #17182133}.timed-hud{grid-column:1/-1;grid-template-columns:1fr 1fr;align-items:center;gap:18px;padding:2px;display:grid}.timed-hud .timer-chip,.timed-hud .score-chip{background:var(--navy-soft);color:#fff;width:max-content;min-width:250px;box-shadow:none;border:0;border-radius:22px;padding:17px 24px}.timed-hud .timer-chip{justify-self:start}.timed-hud .score-chip{justify-self:end}.timed-hud .timer-chip span,.timed-hud .score-chip span{color:#e4e5f4;letter-spacing:.08em;font-size:.84rem}.timed-hud .timer-chip strong,.timed-hud .score-chip strong{font-size:clamp(2rem,3vw,2.85rem);line-height:1}.viewer-panel{background:#e7efe4;border:2px solid #49765e;border-radius:20px;min-width:0;position:relative;overflow:hidden;box-shadow:0 5px #15392b}.viewer-panel.is-dark{background:#171821;border-color:#656a9f;box-shadow:0 5px #0c0d16}.shape-viewer{width:100%;height:100%;min-height:680px}.viewer-tools{pointer-events:none;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:14px;left:14px;right:14px}.drag-instruction{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffefae6;border:1px solid #17182129;border-radius:999px;flex:none;margin-right:auto;padding:8px 11px;font-size:.74rem;font-weight:800}.viewer-actions{pointer-events:none;flex:0 auto;grid-template-columns:max-content;justify-items:stretch;gap:7px;display:grid}.viewer-tools button{pointer-events:auto;min-height:38px;padding:7px 12px;font-size:.78rem}.viewer-toggle{align-items:center;gap:7px;min-width:124px;display:inline-flex}.viewer-toggle .toggle-track{background:#d7d6d0;border:1px solid #777aa1;border-radius:999px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.viewer-toggle .toggle-track>span{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #17182159}.viewer-toggle[aria-checked=true] .toggle-track{background:var(--lime);border-color:#89a633}.viewer-toggle[aria-checked=true] .toggle-track>span{transform:translate(14px)}.viewer-toggle:disabled{cursor:not-allowed;opacity:.45}.answer-panel{background:var(--navy-soft);color:#fff;border-radius:20px;flex-direction:column;justify-content:center;gap:18px;padding:clamp(22px,3vw,36px);display:flex}.answer-form,.answer-form fieldset{flex-direction:column;gap:16px;display:flex}.answer-form fieldset{border:0;min-width:0;margin:0;padding:0}.answer-form legend{color:#d9daec;letter-spacing:.1em;text-align:center;text-transform:uppercase;width:100%;margin-bottom:20px;font-size:.78rem;font-weight:900}.name-answer-form,.name-answer-form fieldset{height:100%}.name-answer-form fieldset{gap:0}.name-answer-form legend{text-align:center;width:100%;margin:0;padding:0}.name-answer-form .name-choices{width:100%;margin-block:auto}.name-choices,.face-choices{gap:10px;display:grid}.name-choices button,.face-choices button{min-height:54px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border:1.5px solid #aaa89f;border-radius:13px;font-weight:800}.name-choices button{color:#fff;text-align:center;text-transform:capitalize;background:#f0f0ff24;border:1.5px solid #777aa1;border-radius:999px;min-height:54px;padding:9px 16px;font-size:clamp(.95rem,1.5vw,1.1rem);transition:transform .12s,box-shadow .12s,background .12s,color .12s,opacity .12s;box-shadow:0 5px #17182b}.name-choices button:hover:not(:disabled){background:#f0f0ff3d;border-color:#aeb2ef;transform:translateY(-2px);box-shadow:0 7px #17182b}.name-choices button:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px #17182b}.name-choices button:disabled{cursor:default;opacity:1}.name-choices button.is-correct-answer{color:#102b19;background:#6fe196;box-shadow:0 6px #27834b}.name-choices button.is-wrong-answer{color:#3b100d;background:#ff8376;box-shadow:0 6px #a83e35}.name-choices button.is-dimmed{box-shadow:none;color:#ffffff61;background:#ffffff12;border-color:#ffffff1f}.primary-action,.secondary-action,.next-action{border:2px solid var(--ink);min-height:50px;font:inherit;cursor:pointer;border-radius:13px;padding:11px 18px;font-weight:900}.primary-action,.next-action{background:var(--blue);color:#fff;box-shadow:0 4px #363e9c}.secondary-action{background:var(--panel);color:var(--ink);box-shadow:0 4px #d6d3ca}.primary-action:disabled{cursor:not-allowed;opacity:.45}.count-answer-panel{position:relative}.count-answer-form{justify-content:center;height:100%}.face-answer-panel{justify-content:stretch}.face-answer-form{flex:1;min-height:100%}.face-answer-form fieldset{flex:1}.face-answer-form .face-choices{margin-block:auto}.face-answer-form .primary-action{width:100%;margin-top:12px}.face-answer-panel:has(.face-next-action) .face-answer-form{min-height:auto}.face-answer-panel:has(.face-next-action) .face-answer-form fieldset{flex:initial}.face-answer-panel:has(.face-next-action) .face-answer-form .face-choices{margin-block:0}.count-selectors{gap:48px;display:grid}.count-instruction{color:#d9daec;letter-spacing:.1em;text-align:center;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:900;position:absolute;top:clamp(24px,3vw,36px);left:24px;right:24px}.count-selector{border:0;gap:10px;min-width:0;margin:0;padding:0;display:grid}.answer-form .count-selector legend{color:#fff;letter-spacing:-.02em;text-align:center;text-transform:none;margin-bottom:14px;font-size:1.3rem}.count-selector small{color:#d9daec;font-size:.82em;font-weight:600}.count-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;display:grid}.count-choices button{color:#fff;min-height:54px;font:inherit;cursor:pointer;background:#f0f0ff24;border:1.5px solid #777aa1;border-radius:14px;font-size:1.08rem;font-weight:900;transition:transform .12s,background .12s,color .12s,opacity .12s;position:relative;box-shadow:0 4px #17182b}.count-choices button:hover:not(:disabled){background:#f0f0ff3d;border-color:#aeb2ef;transform:translateY(-2px)}.count-choices button.is-selected{outline-offset:2px;color:#171821;background:#c8ccff;border-color:#f4f5ff;outline:3px solid #777fe8;transform:translateY(2px);box-shadow:0 2px #17182b,inset 0 0 0 2px #ffffff73}.count-choices button.is-correct-answer{color:#102b19;background:#6fe196;border-color:#6fe196;animation:.6s both count-correct-flash;box-shadow:0 5px #27834b}.count-choices button.is-wrong-answer{color:#3b100d;background:#ff8376;border-color:#ff8376;animation:.6s both count-wrong-flash;box-shadow:0 5px #a83e35}.count-choices button.is-dimmed{box-shadow:none;color:#ffffff61;background:#ffffff12;border-color:#ffffff1f}.strategy-note{color:#d9daec;margin:0;font-size:.85rem;line-height:1.5}.face-choices{grid-template-columns:1fr 1fr;gap:20px 18px}.face-choices button{color:#fff;background:#f0f0ff24;border:1.5px solid #777aa1;border-radius:18px;place-items:center;gap:10px;min-height:90px;padding:12px;font-weight:650;transition:transform .12s,background .12s,color .12s,opacity .12s;display:grid;box-shadow:0 5px #17182b}.face-choices button:hover:not(:disabled){background:#f0f0ff3d;border-color:#aeb2ef;transform:translateY(-2px)}.face-choices button.is-selected,.face-choices button.is-selected:hover:not(:disabled){outline-offset:2px;color:#fff;background:#5c66e8;border-color:#f4f5ff;outline:3px solid #aeb2ff;transform:translateY(2px);box-shadow:0 2px #17182b,inset 0 0 0 2px #ffffff4d}.face-choices button.is-correct-answer{color:#102b19;background:#6fe196;border-color:#6fe196;box-shadow:0 6px #27834b}.face-choices button.is-wrong-answer{color:#3b100d;background:#ff8376;border-color:#ff8376;box-shadow:0 6px #a83e35}.face-choices button.is-dimmed{box-shadow:none;color:#ffffff61;background:#ffffff12;border-color:#ffffff1f}.face-shape-icon{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;width:clamp(42px,4vw,54px);height:clamp(42px,4vw,54px);overflow:visible}.feedback-card{color:#3b100d;background:#ff8376;border:2px solid #ff8376;border-radius:18px;padding:17px;box-shadow:0 5px #a83e35}.viewer-feedback-card{z-index:2;border-radius:24px;width:min(480px,100% - 36px);padding:clamp(24px,3vw,32px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-feedback-card>strong{font-size:clamp(1.35rem,2.2vw,1.7rem)}.viewer-feedback-card>p{margin-top:9px;font-size:clamp(1rem,1.7vw,1.2rem);line-height:1.45}.viewer-feedback-card .face-reveal{margin-top:20px}.viewer-feedback-card .face-reveal>span{padding:10px 15px;font-size:1rem}.feedback-card.is-correct{color:#102b19;background:#6fe196;border-color:#6fe196;box-shadow:0 5px #27834b}.feedback-card:focus{outline:none}.feedback-card>strong{font-size:1.15rem}.feedback-card>p{margin:5px 0 0;line-height:1.5}.face-next-action{background:var(--ink);flex:none;width:100%;box-shadow:0 5px #0c0d16}.face-reveal{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.face-reveal span{background:#fff;border:1px solid #8da64c;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.face-reveal-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:30px;height:30px}.face-reveal-count{font-size:1.7rem;line-height:1}@keyframes count-correct-flash{0%,to{background:#6fe196;transform:scale(1)}50%{background:#b8f4cc;transform:scale(1.06)}}@keyframes count-wrong-flash{0%,to{background:#ff8376;transform:scale(1)}50%{background:#ffc0ba;transform:scale(1.06)}}.finish-screen{background:var(--navy);color:#fff;text-align:center;border:2px solid #34365c;border-radius:30px;flex-direction:column;align-items:center;max-width:820px;padding:clamp(30px,5vw,64px);display:flex;box-shadow:0 9px #11121e,0 25px 55px #17182133}.finish-burst{border:2px solid var(--ink);background:var(--lime);border-radius:22px;place-items:center;width:74px;height:74px;margin-bottom:24px;font-size:2.3rem;display:grid;transform:rotate(-5deg)}.finish-screen h1{font-size:clamp(2.7rem,5vw,4.6rem)}.finish-screen>p:not(.game-eyebrow,.finish-message){color:#d9daec;font-size:1.08rem}.result-card{width:min(430px,100%);color:var(--ink);background:#f0f0ff;border:2px solid #d9daf1;border-radius:18px;grid-template-columns:1fr 1fr;margin:24px 0 12px;display:grid;overflow:hidden}.result-card div{flex-direction:column;gap:3px;padding:20px 14px;display:flex}.result-card div+div{border-left:2px solid var(--ink);background:#edffc9}.result-card strong{font-size:2rem;font-weight:800}.result-card span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}.finish-message{color:#d9daec;max-width:580px;margin:14px 0 24px;line-height:1.55}.finish-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.home-link{margin-top:25px;font-size:.9rem}.finish-screen .home-link{color:#fff}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:is(.geometry-game button:focus-visible,.geometry-game a:focus-visible,.geometry-game input:focus-visible){outline-offset:3px;outline:4px solid #ffd45f}@media (max-width:940px){.mode-grid{grid-template-columns:1fr}.mode-card{min-height:0}.challenge-board{grid-template-columns:1fr}.viewer-panel{border-right:0;border-bottom:2px solid var(--ink);min-height:420px}.shape-viewer{min-height:420px}.answer-panel{min-height:360px}}@media (max-width:600px){.geometry-game{--header-gap:34px;--page-bottom:36px}.game-header{align-items:center;padding-inline:13px}.game-brand{gap:0;font-size:0}.game-header .home-account-link{padding:6px 10px}.setup-screen,.duration-screen{justify-content:flex-start;transform:none}.duration-screen h1{margin-bottom:32px;font-size:clamp(2.25rem,10vw,3.2rem)}.duration-card{border-radius:22px;padding:24px 18px}.duration-setting{grid-template-columns:1fr;gap:12px}.duration-setting .duration-unit{margin-top:-5px}.duration-actions{flex-direction:column-reverse}.duration-actions button{width:100%}.round-bar{grid-template-columns:1fr auto}.round-progress{grid-area:2/1/auto/-1}.question-heading{flex-direction:column;align-items:flex-start;margin-bottom:32px}.score-chip{min-width:0;padding:8px 10px}.timed-hud{gap:10px}.timed-hud .timer-chip,.timed-hud .score-chip{width:100%;min-width:0;padding:12px}.timed-hud .timer-chip span,.timed-hud .score-chip span{letter-spacing:.04em;font-size:.66rem}.timed-hud .timer-chip strong,.timed-hud .score-chip strong{font-size:1.7rem}.challenge-board{box-shadow:5px 5px 0 var(--ink);border-radius:20px}.viewer-panel,.shape-viewer{min-height:330px}.viewer-tools{flex-wrap:wrap;align-items:flex-end}.drag-instruction{text-align:center;width:100%;margin-right:0}.viewer-actions{grid-template-columns:minmax(0,1fr);width:100%;display:grid}.viewer-actions button{justify-content:center;width:100%}.answer-panel{min-height:0;padding:22px 18px}.finish-screen{box-shadow:5px 5px 0 var(--ink);border-radius:22px}.finish-actions,.finish-actions button{width:100%}}@media (prefers-reduced-motion:reduce){.mode-card,.name-choices button,.count-choices button,.viewer-toggle .toggle-track,.viewer-toggle .toggle-track>span{transition:none}.count-choices button.is-correct-answer,.count-choices button.is-wrong-answer{animation:none}.mode-card:hover,.finish-burst,.name-choices button:hover:not(:disabled),.name-choices button:active:not(:disabled){transform:none}}
