:root{--maze-accent:#318a68;--maze-lime:#dff1a8;--maze-soft:#eaf7f0;--maze-ink:#2b6f55}
.maze-page{background:radial-gradient(circle at 8% 7%,rgba(223,241,168,.28),transparent 24%),radial-gradient(circle at 92% 5%,rgba(80,170,128,.12),transparent 23%),#fffdf9}
.maze-page .brand-mark{background:var(--maze-soft)}
.maze-page .eyebrow{color:var(--maze-accent)}
.maze-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:24px 26px;margin:10px 0 16px;border:1px solid #dfe9e2;border-radius:30px;background:linear-gradient(135deg,#fff 0%,#f2f8ed 100%)}
.maze-hero h1{margin:3px 0 7px;font-size:clamp(28px,5vw,42px);letter-spacing:-.03em}.maze-hero p{margin:0;color:var(--muted);font-weight:750;line-height:1.7}
.maze-progress{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#fff;color:#547266;border:1px solid #dfe9e2;font-weight:900}
.maze-levels{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.maze-level-button{min-height:50px;border:1px solid #dfe9e2;border-radius:16px;background:#fff;color:#52655b;font-weight:900;cursor:pointer}.maze-level-button.is-active{border-color:#7bb596;background:var(--maze-soft);color:var(--maze-ink)}.maze-level-button.is-done::after{content:" ★";color:#82a12b}
.maze-card-shell{padding:22px;border:1px solid #dfe9e2;border-radius:30px;background:#fff;box-shadow:0 10px 28px rgba(52,91,72,.08)}.maze-card-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:8px}.maze-card-head h2{margin:2px 0 0;font-size:clamp(24px,4vw,32px)}.maze-done-badge{padding:7px 10px;border-radius:999px;background:#f4f9df;color:#607920;font-size:13px;font-weight:950}
.maze-instruction{text-align:center;margin:10px 0 12px;color:#68756e;font-weight:850}.maze-board-wrap{width:min(100%,720px);margin:0 auto}.maze-board{display:block;width:100%;aspect-ratio:360/280;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}.maze-ground{fill:#eef8e9;stroke:#d9e7d8;stroke-width:3}.maze-road-edge{fill:none;stroke:#c7d5c9;stroke-width:72;stroke-linecap:round;stroke-linejoin:round}.maze-road{fill:none;stroke:#fffdf8;stroke-width:58;stroke-linecap:round;stroke-linejoin:round}.maze-start{fill:#fff;stroke:#4f9b73;stroke-width:5}.maze-start-label{font-size:11px;font-weight:950;fill:#2d6c51;text-anchor:middle;dominant-baseline:middle;pointer-events:none}.maze-goal{fill:#fff7cf;stroke:#c5a52b;stroke-width:5}.maze-goal-symbol{font-size:24px;font-weight:950;fill:#a47d00;text-anchor:middle;dominant-baseline:central;pointer-events:none}.maze-ink{fill:none;stroke:#4c86dd;stroke-width:11;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.maze-board.is-off-route .maze-ink{stroke:#d87777}.maze-board.is-complete .maze-ink{stroke:#3a9b68}
.maze-status{min-height:30px;margin:12px 0 8px;text-align:center;color:#49645a;font-size:17px;font-weight:900}.maze-status.is-retry{color:#a95d5d}.maze-status.is-success{color:#2f7c5f}.maze-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;width:min(100%,620px);margin:0 auto}.maze-actions .secondary-action,.maze-actions .primary-action{min-height:54px;font-size:17px}.maze-actions .primary-action{background:var(--maze-accent);box-shadow:0 6px 16px rgba(49,138,104,.2)}
.maze-level-button:focus-visible,.maze-actions button:focus-visible{outline:3px solid var(--maze-accent);outline-offset:3px}
@media(max-width:620px){.maze-shell{padding-inline:12px}.maze-hero{align-items:flex-start;padding:18px}.maze-hero .maze-progress{margin-top:3px}.maze-levels{gap:6px}.maze-level-button{font-size:13px;padding:6px}.maze-card-shell{padding:16px 10px 18px;border-radius:24px}.maze-actions{grid-template-columns:1fr}.maze-board-wrap{width:100%}}
@media(prefers-reduced-motion:reduce){.maze-level-button,.maze-actions button{transition:none}}
