:root {
  --bg: #160b33;
  --bg-2: #271056;
  --surface: rgba(43, 22, 88, .72);
  --surface-solid: #281353;
  --surface-soft: rgba(255,255,255,.08);
  --text: #fffaf2;
  --muted: #c8bddc;
  --primary: #8b3dff;
  --primary-2: #5f16db;
  --accent: #ff4f67;
  --lime: #c8ff00;
  --line: rgba(255,255,255,.14);
  --card: #fffaf2;
  --card-text: #271052;
  --shadow: 0 30px 80px rgba(4,0,19,.38);
  --radius: 26px;
  --max: 1240px;
  --font: Inter, ui-rounded, "SF Pro Rounded", "Segoe UI", system-ui, sans-serif;
}

[data-theme="midnight"] { --bg:#050814;--bg-2:#111b36;--surface:rgba(17,27,54,.78);--surface-solid:#111b36;--text:#f6f8ff;--muted:#aeb9d2;--primary:#4385ff;--primary-2:#1d5ed3;--accent:#ff5474;--lime:#43e6ff;--line:rgba(155,190,255,.16);--card:#f7f9ff;--card-text:#101934; }
[data-theme="obsidian"] { --bg:#090909;--bg-2:#1c1c1c;--surface:rgba(31,31,31,.82);--surface-solid:#202020;--text:#fafafa;--muted:#b8b8b8;--primary:#dadada;--primary-2:#888;--accent:#ff405c;--lime:#d8ff3e;--line:rgba(255,255,255,.13);--card:#f5f5f2;--card-text:#151515; }
[data-theme="ultraviolet"] { --bg:#170026;--bg-2:#410052;--surface:rgba(67,0,84,.7);--surface-solid:#410052;--text:#fff7ff;--muted:#dfb9e6;--primary:#d629ff;--primary-2:#8d18c9;--accent:#ff6a3d;--lime:#f1ff38;--line:rgba(255,190,255,.2);--card:#fff7fd;--card-text:#3e064c; }
[data-theme="forest"] { --bg:#061b17;--bg-2:#0d3b32;--surface:rgba(14,58,50,.74);--surface-solid:#103d34;--text:#f1fff7;--muted:#a9cfc1;--primary:#18a77b;--primary-2:#087155;--accent:#ff6b5f;--lime:#baff45;--line:rgba(157,255,218,.17);--card:#f4fff8;--card-text:#0b352c; }
[data-theme="sunset"] { --bg:#2e0d20;--bg-2:#632037;--surface:rgba(99,32,55,.7);--surface-solid:#602038;--text:#fff8ee;--muted:#e8bfbd;--primary:#ff7043;--primary-2:#d24433;--accent:#ffca48;--lime:#fbff72;--line:rgba(255,232,201,.18);--card:#fff9ee;--card-text:#521a2d; }
[data-theme="cloud"] { --bg:#edf2ff;--bg-2:#dbe5ff;--surface:rgba(255,255,255,.75);--surface-solid:#fff;--text:#18213c;--muted:#65708c;--primary:#586cff;--primary-2:#374ee0;--accent:#f24f68;--lime:#9bd400;--line:rgba(32,50,94,.12);--card:#fff;--card-text:#20294a;--shadow:0 30px 80px rgba(49,72,128,.18); }
[data-theme="pearl"] { --bg:#f5f0eb;--bg-2:#e9dfd6;--surface:rgba(255,255,255,.72);--surface-solid:#fffaf6;--text:#2f2926;--muted:#756b66;--primary:#7857c8;--primary-2:#5f3fac;--accent:#df5d6e;--lime:#75a92b;--line:rgba(65,48,40,.12);--card:#fffdfa;--card-text:#322725;--shadow:0 30px 80px rgba(81,59,49,.15); }
[data-theme="mint"] { --bg:#e9fbf4;--bg-2:#ccefe2;--surface:rgba(255,255,255,.76);--surface-solid:#fbfffd;--text:#143c31;--muted:#52786d;--primary:#168e70;--primary-2:#0c6d55;--accent:#f05d67;--lime:#7db900;--line:rgba(22,82,67,.13);--card:#fff;--card-text:#153d33;--shadow:0 30px 80px rgba(30,105,84,.16); }
[data-theme="peach"] { --bg:#fff0e8;--bg-2:#ffd9cb;--surface:rgba(255,255,255,.75);--surface-solid:#fffaf6;--text:#4b2727;--muted:#885f5c;--primary:#f16d67;--primary-2:#d74e52;--accent:#8b54d8;--lime:#75a800;--line:rgba(106,54,50,.12);--card:#fffdf9;--card-text:#4e2929;--shadow:0 30px 80px rgba(142,70,62,.15); }
[data-theme="solar"] { --bg:#fff8d9;--bg-2:#ffe99d;--surface:rgba(255,255,255,.72);--surface-solid:#fffdf2;--text:#413412;--muted:#7e6a2e;--primary:#e99c00;--primary-2:#bd7200;--accent:#ef4f4f;--lime:#679800;--line:rgba(110,83,15,.14);--card:#fffefa;--card-text:#40320d;--shadow:0 30px 80px rgba(136,99,16,.16); }
[data-theme="ice"] { --bg:#e9faff;--bg-2:#c8edfa;--surface:rgba(255,255,255,.75);--surface-solid:#f9feff;--text:#123747;--muted:#527587;--primary:#1299c2;--primary-2:#08769c;--accent:#e94d74;--lime:#72a900;--line:rgba(18,74,98,.13);--card:#fff;--card-text:#123b4e;--shadow:0 30px 80px rgba(34,114,145,.15); }

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; min-width:280px; min-height:100vh; overflow-x:hidden; color:var(--text); background:var(--bg); background:radial-gradient(circle at 75% 12%, color-mix(in srgb,var(--primary) 25%,transparent), transparent 34%),linear-gradient(145deg,var(--bg),var(--bg-2)); font-family:var(--font); line-height:1.5; transition:background .35s,color .25s; }
button,a { font:inherit; }
button { color:inherit; }
a { color:inherit; }
svg { fill:currentColor; }
.skip-link { position:fixed;top:8px;left:8px;z-index:1000;padding:10px 16px;transform:translateY(-150%);border-radius:10px;background:var(--card);color:var(--card-text); }
.skip-link:focus { transform:none; }
:focus-visible { outline:3px solid var(--lime); outline-offset:3px; }
.ambient { position:fixed;z-index:-1;border-radius:50%;filter:blur(90px);opacity:.18;pointer-events:none; }
.ambient-one { width:34vw;height:34vw;top:12%;right:-12%;background:var(--accent); }
.ambient-two { width:28vw;height:28vw;bottom:8%;left:-12%;background:var(--primary); }

.site-header { width:min(calc(100% - 40px),var(--max));height:92px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line); }
.brand,.footer-brand { display:flex;align-items:center;gap:12px;text-decoration:none; }
.brand img { width:54px;height:54px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.18)); }
.brand-copy { display:grid;line-height:1.15; }
.brand-copy strong { font-size:1.22rem;letter-spacing:-.04em; }
.brand-copy em { color:var(--accent);font-style:normal; }
.brand-copy small { margin-top:4px;color:var(--muted);font-size:.69rem; }
.header-actions { display:flex;align-items:center;gap:9px; }
.icon-button,.theme-trigger { min-width:44px;height:44px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s ease;backdrop-filter:blur(14px); }
.icon-button svg { width:19px; }
.icon-button:hover,.theme-trigger:hover { transform:translateY(-2px);background:var(--surface); }
.theme-trigger { gap:9px;padding:0 15px; }
.theme-dot { width:14px;height:14px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:0 0 0 3px var(--line); }
.theme-label { font-size:.82rem;font-weight:800; }

main { width:min(calc(100% - 40px),var(--max));margin:auto; }
.view { display:none; }
.view.is-active { display:block;animation:view-in .45s ease both; }
[data-view="game"] .how-section,
[data-view="result"] .how-section { display:none; }
@keyframes view-in { from{opacity:0;transform:translateY(12px)} }
.home-view { min-height:calc(100svh - 92px);grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);align-items:center;gap:5vw;padding:54px 0 70px; }
.home-view.is-active { display:grid; }
.eyebrow { display:flex;align-items:center;gap:10px;margin:0 0 19px;color:var(--muted);font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.16em; }
.eyebrow span { width:28px;height:3px;border-radius:3px;background:var(--lime); }
.hero-copy h1 { margin:0;font-size:clamp(4.3rem,8vw,7.5rem);line-height:.83;letter-spacing:-.08em; }
.hero-copy h1 em { color:var(--accent);font-style:normal; }
.hero-lead { max-width:650px;margin:32px 0;color:var(--muted);font-size:clamp(1rem,1.5vw,1.22rem); }
.hero-cta { display:flex;align-items:center;gap:24px;flex-wrap:wrap; }
.primary-button,.secondary-button { border:0;border-radius:16px;min-height:56px;padding:0 22px;font-weight:850;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:15px;transition:.2s ease; }
.primary-button { background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 70%,#ff9b42));color:#fff;box-shadow:0 14px 36px color-mix(in srgb,var(--accent) 28%,transparent); }
.primary-button svg { width:22px; }
.primary-button:hover,.secondary-button:hover { transform:translateY(-3px); }
.secondary-button { border:1px solid var(--line);background:var(--surface-soft); }
.text-button,.quit-button { border:0;border-bottom:1px solid var(--line);padding:9px 0;background:transparent;color:var(--muted);font-weight:750;cursor:pointer; }
.feature-pills { display:flex;gap:10px;flex-wrap:wrap;margin:38px 0 0;padding:0;list-style:none; }
.feature-pills li { padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);font-size:.72rem;color:var(--muted); }
.feature-pills span { color:var(--lime); }

.hero-visual { position:relative;min-height:590px;display:grid;place-items:center;perspective:1200px; }
.hero-visual:before { content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,var(--primary),transparent 64%);opacity:.35;filter:blur(12px); }
.orbit { position:absolute;border:1px solid var(--line);border-radius:50%;transform:rotate(-18deg); }
.orbit-one { width:100%;height:55%; }
.orbit-two { width:70%;height:92%; }
.demo-card,.floating-card { position:absolute;border-radius:30px;box-shadow:var(--shadow); }
.demo-card { z-index:3;width:min(390px,73%);padding:29px 35px 32px;transform:rotate(4deg);background:var(--card);color:var(--card-text);border:5px solid color-mix(in srgb,var(--lime) 82%,white); }
.demo-card-top { display:flex;justify-content:space-between;color:color-mix(in srgb,var(--card-text) 55%,transparent);font-size:.67rem;text-transform:uppercase;letter-spacing:.14em; }
.demo-card>strong { display:block;margin:20px 0 14px;text-align:center;font-size:clamp(2.1rem,4vw,3.15rem);letter-spacing:-.06em; }
.divider { display:flex;align-items:center;gap:10px;color:var(--accent);font-size:.62rem;text-transform:uppercase;font-weight:900;letter-spacing:.15em; }
.divider:before,.divider:after { content:"";height:1px;flex:1;background:color-mix(in srgb,var(--accent) 35%,transparent); }
.demo-card ul { display:grid;gap:8px;margin:18px 0 0;padding:0;list-style:none;text-align:center;font-size:1.15rem;font-weight:900;color:var(--accent); }
.floating-card { width:210px;height:285px;display:flex;align-items:flex-end;padding:25px;background:linear-gradient(145deg,var(--primary),var(--primary-2));font-weight:900;letter-spacing:.12em; }
.card-back-one { left:1%;top:13%;transform:rotate(-17deg); }
.card-back-two { right:0;bottom:9%;transform:rotate(18deg);background:linear-gradient(145deg,var(--accent),#c92266); }
.hero-logo { position:absolute;z-index:4;right:0;top:0;width:155px;height:155px;object-fit:contain;filter:drop-shadow(0 20px 24px rgba(0,0,0,.3));transform:rotate(10deg); }

.how-section { padding:90px 0 120px;border-top:1px solid var(--line); }
.how-section h2 { margin:0 0 40px;font-size:clamp(2.2rem,5vw,4.5rem);letter-spacing:-.06em; }
.steps { display:grid;grid-template-columns:repeat(3,1fr);gap:18px; }
.steps article { position:relative;min-height:250px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);backdrop-filter:blur(16px);overflow:hidden; }
.steps article>b { position:absolute;right:18px;top:10px;color:var(--line);font-size:4.7rem;line-height:1; }
.step-icon { display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:var(--surface);font-size:1.45rem; }
.steps h3 { margin:28px 0 8px;font-size:1.5rem; }
.steps p { margin:0;max-width:30ch;color:var(--muted); }

.game-view { min-height:calc(100svh - 92px);padding:30px 0 60px; }
.game-shell { width:min(100%,700px);margin:auto; }
.game-status { min-height:84px;padding:10px 16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;border:1px solid var(--line);border-radius:22px;background:var(--surface-soft);backdrop-filter:blur(16px); }
.round-info,.score-box { display:grid;gap:3px; }
.round-info span,.score-box span { color:var(--muted);font-size:.69rem;text-transform:uppercase;letter-spacing:.11em; }
.round-info span { display:flex;align-items:center;gap:7px;color:var(--lime);font-weight:950; }
.round-info span i { width:9px;height:9px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px color-mix(in srgb,var(--lime) 15%,transparent),0 0 16px var(--lime);animation:live-pulse 1.4s ease-in-out infinite; }
.round-info strong { margin-top:3px;font-size:1.05rem; }
@keyframes live-pulse { 50% { opacity:.45;transform:scale(.75); } }
.score-box { text-align:right; }
.score-box strong { font-size:1.7rem;line-height:1; }
.timer { position:relative;width:64px;height:64px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer; }
.timer-ring { position:absolute;inset:0;transform:rotate(-90deg); }
.timer-ring circle { fill:none;stroke:var(--line);stroke-width:4; }
.timer-ring circle+circle { stroke:var(--lime);stroke-linecap:round;stroke-dasharray:144.5;stroke-dashoffset:0;transition:stroke-dashoffset .25s linear; }
.timer span { position:relative;font-size:1.05rem;font-weight:900; }
.game-card-wrap { padding:15px 0 22px;perspective:1200px; }
.game-card { position:relative;min-height:490px;padding:34px 50px 40px;overflow:hidden;border-radius:34px;background:var(--card);color:var(--card-text);box-shadow:var(--shadow);text-align:center;isolation:isolate; }
.game-card:before { content:"";position:absolute;z-index:-1;left:0;right:0;top:0;height:9px;background:linear-gradient(90deg,var(--primary),var(--accent),var(--lime)); }
.card-shine { position:absolute;right:-70px;top:-90px;width:240px;height:240px;border-radius:50%;background:color-mix(in srgb,var(--primary) 8%,transparent); }
.game-card>p { margin:5px 0;color:color-mix(in srgb,var(--card-text) 55%,transparent);font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.16em; }
.game-card h1 { margin:12px 0 22px;font-size:clamp(2.4rem,7vw,4.2rem);line-height:1;letter-spacing:-.06em;overflow-wrap:anywhere; }
.forbidden-title { display:flex;align-items:center;gap:13px;color:var(--accent);font-size:.68rem;text-transform:uppercase;letter-spacing:.15em; }
.forbidden-title span { flex:1;height:1px;background:color-mix(in srgb,var(--accent) 28%,transparent); }
.forbidden-list { display:grid;gap:6px;margin:20px 0 0;padding:0;list-style:none; }
.forbidden-list li { padding:5px;font-size:clamp(1.2rem,3.2vw,1.6rem);font-weight:900;color:var(--accent);text-transform:uppercase;letter-spacing:.015em; }
.paused-cover { position:absolute;inset:0;z-index:10;display:grid;place-content:center;gap:8px;background:color-mix(in srgb,var(--card) 88%,transparent);backdrop-filter:blur(18px);opacity:0;pointer-events:none;transition:.2s; }
.paused-cover span { font-size:2.3rem;font-weight:950; }
.paused-cover small { color:color-mix(in srgb,var(--card-text) 55%,transparent); }
.game-card.is-paused .paused-cover { opacity:1;pointer-events:auto; }
.game-card.card-change { animation:card-swipe .24s ease; }
@keyframes card-swipe { 50%{opacity:.2;transform:translateX(20px) rotateY(-6deg)} }
.game-actions { display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:12px; }
.action-button { min-height:78px;border:1px solid var(--line);border-radius:19px;padding:10px 15px;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--surface);cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.1);transition:.16s; }
.action-button:hover { transform:translateY(-3px);filter:brightness(1.06); }
.action-button:active { transform:translateY(0) scale(.98); }
.action-button>span:last-child { display:grid;text-align:left; }
.action-button small { color:var(--muted);font-size:.64rem; }
.action-icon { width:36px;height:36px;display:grid;place-items:center;border-radius:12px;font-size:1.5rem;font-weight:900;background:var(--surface-soft); }
.action-wrong { color:#fff;background:linear-gradient(145deg,#d52c48,#a71735); }
.action-correct { color:#11230a;background:linear-gradient(145deg,var(--lime),#89d718); }
.action-correct small { color:#385813; }
.action-pass { color:#fff;background:linear-gradient(145deg,var(--primary),var(--primary-2)); }
.action-button:disabled { cursor:not-allowed;opacity:.38;filter:grayscale(.6);transform:none; }
.quit-button { display:block;margin:20px auto 0;font-size:.75rem; }

.result-view { min-height:calc(100svh - 92px);padding:40px 0 80px; }
.result-card { width:min(100%,590px);margin:auto;padding:40px;border:1px solid var(--line);border-radius:34px;background:var(--surface);box-shadow:var(--shadow);text-align:center;backdrop-filter:blur(24px); }
.result-card>img { object-fit:contain;filter:drop-shadow(0 12px 20px rgba(0,0,0,.2)); }
.eyebrow.centered { justify-content:center;margin-top:10px; }
.result-card h2 { margin:0;font-size:clamp(2.5rem,7vw,4rem);letter-spacing:-.06em; }
.result-copy { margin:5px 0;color:var(--muted); }
.result-score { display:block;color:var(--lime);font-size:7rem;line-height:.95;letter-spacing:-.08em; }
.result-label { font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--muted); }
.result-stats { display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0; }
.result-stats div { display:grid;padding:14px;border-radius:16px;background:var(--surface-soft); }
.result-stats div>span { opacity:.7; }
.result-stats strong { font-size:1.5rem; }
.result-stats small { color:var(--muted); }
.result-actions { display:grid;grid-template-columns:1fr 1fr;gap:12px; }

footer { width:min(calc(100% - 40px),var(--max));min-height:100px;margin:auto;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted);font-size:.75rem; }
.footer-brand { color:var(--text);font-weight:850; }
.footer-brand img { object-fit:contain; }
footer p span { margin-left:8px;opacity:.65; }

.app-dialog { width:min(calc(100% - 30px),680px);max-height:min(88svh,800px);padding:25px;border:1px solid var(--line);border-radius:28px;background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow);overflow:auto; }
.app-dialog::backdrop { background:rgba(5,2,14,.72);backdrop-filter:blur(8px); }
.dialog-head { display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px; }
.dialog-head p { margin:0;color:var(--accent);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.15em; }
.dialog-head h2 { margin:3px 0 0;font-size:1.75rem;letter-spacing:-.04em; }
.dialog-close { width:42px;height:42px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft);font-size:1.5rem;cursor:pointer; }
.theme-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:11px; }
.theme-option { min-height:98px;padding:13px;border:2px solid transparent;border-radius:16px;background:var(--surface-soft);color:var(--text);text-align:left;cursor:pointer; }
.theme-option[aria-pressed="true"] { border-color:var(--lime); }
.theme-swatches { display:flex;margin-bottom:13px; }
.theme-swatches i { width:25px;height:25px;border:3px solid var(--surface-solid);border-radius:50%;margin-left:-6px; }
.theme-swatches i:first-child { margin-left:0; }
.theme-option strong { display:block;font-size:.84rem; }
.theme-option small { color:var(--muted);font-size:.65rem; }
.board-dialog { width:min(calc(100% - 24px),760px); }
.board-help { margin:-12px 0 18px;color:var(--muted);font-size:.78rem; }
.board-stage { position:relative;overflow:hidden;border-radius:17px;background:#fff;touch-action:none; }
.board-stage>img { display:block;width:100%;height:auto; }
.board-token { position:absolute;left:4%;top:5%;width:52px;height:52px;border:4px solid #fff;border-radius:50%;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.35);cursor:grab;touch-action:none;user-select:none; }
.board-token:active { cursor:grabbing; }
.token-violet { background:#7137e7; }
.token-coral { left:12%;background:#ff4f67; }
.board-reset { min-height:44px;margin-top:15px;font-size:.75rem; }

.loading-layer { position:fixed;inset:0;z-index:100;display:grid;place-content:center;justify-items:center;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:blur(18px); }
.loading-layer[hidden] { display:none; }
.loader-mark { position:relative;width:110px;height:110px;display:grid;place-items:center; }
.loader-mark img { object-fit:contain;animation:loader-pop 1s ease-in-out infinite alternate; }
.loader-mark span { position:absolute;inset:0;border:3px solid transparent;border-top-color:var(--lime);border-radius:50%;animation:spin .9s linear infinite; }
.loading-layer strong { margin-top:20px;font-size:1.2rem; }
.loading-layer small { margin-top:4px;color:var(--muted); }
@keyframes spin { to{transform:rotate(360deg)} }
@keyframes loader-pop { to{transform:scale(.88) rotate(-3deg)} }
.toast { position:fixed;z-index:120;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));max-width:calc(100% - 30px);padding:12px 18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-solid);box-shadow:var(--shadow);opacity:0;transform:translate(-50%,20px);pointer-events:none;transition:.25s; }
.toast.is-visible { opacity:1;transform:translate(-50%,0); }

@media (max-width: 900px) {
  .home-view { grid-template-columns:1fr;min-height:auto;padding-top:70px; }
  .hero-copy { text-align:center; }
  .eyebrow,.hero-cta,.feature-pills { justify-content:center; }
  .hero-lead { margin-left:auto;margin-right:auto; }
  .hero-visual { min-height:560px; }
  .steps { grid-template-columns:1fr; }
  .steps article { min-height:190px; }
}

@media (max-width: 600px) {
  .site-header,main,footer { width:min(calc(100% - 24px),var(--max)); }
  .site-header { height:76px; }
  .brand img { width:43px;height:43px; }
  .brand-copy small { display:none; }
  #share-button { display:none; }
  .theme-trigger { width:44px;padding:0; }
  .theme-label { display:none; }
  .home-view { padding:50px 0 35px; }
  .hero-copy h1 { font-size:clamp(3.7rem,19vw,5.2rem); }
  .hero-lead { margin:25px 0;font-size:.98rem; }
  .hero-cta { gap:12px; }
  .primary-button { width:100%; }
  .hero-visual { min-height:440px;margin-top:5px; }
  .demo-card { width:76%;padding:23px 25px; }
  .demo-card ul { gap:4px;font-size:1rem; }
  .floating-card { width:150px;height:215px; }
  .hero-logo { width:100px;height:100px; }
  .how-section { padding:65px 0 80px; }
  .game-view { padding-top:10px; }
  .game-status { min-height:68px; }
  .game-status { padding:8px 10px;border-radius:18px; }
  .round-info span { font-size:.61rem;letter-spacing:.07em; }
  .round-info strong { font-size:.78rem; }
  .game-card { min-height:445px;padding:29px 24px 30px;border-radius:27px; }
  .game-card h1 { margin-top:15px; }
  .game-actions { grid-template-columns:1fr 1fr; }
  .action-correct { grid-column:1 / -1;grid-row:1; }
  .action-button { min-height:67px; }
  .action-button small { display:none; }
  .result-card { padding:30px 18px; }
  .result-actions { grid-template-columns:1fr; }
  .result-score { font-size:6rem; }
  footer { padding:25px 0;flex-direction:column;text-align:center; }
  footer p { margin:0; }
  footer p span { display:block;margin:2px 0 0; }
  .theme-grid { grid-template-columns:repeat(2,1fr); }
  .app-dialog { padding:18px;border-radius:22px; }
  .board-token { width:42px;height:42px; }
}

@media (max-width: 380px) {
  .brand-copy strong { font-size:1rem; }
  .feature-pills li:last-child { display:none; }
  .hero-visual { min-height:390px; }
  .demo-card { padding:20px; }
  .game-card { min-height:420px; }
  .forbidden-list { gap:2px; }
  .action-button { padding:8px;gap:7px; }
  .theme-grid { grid-template-columns:1fr; }
}

@media (max-height: 650px) and (orientation: landscape) {
  .site-header { height:64px; }
  .game-view { padding:8px 0 25px; }
  .game-shell { width:min(100%,920px); }
  .game-status { min-height:58px; }
  .game-card-wrap { padding:5px 0 12px; }
  .game-card { min-height:300px;padding:22px 35px; }
  .game-card h1 { margin:5px 0 10px;font-size:2.4rem; }
  .forbidden-list { grid-template-columns:1fr 1fr;gap:0 20px;margin-top:10px; }
  .forbidden-list li { padding:2px;font-size:1rem; }
  .game-actions { grid-template-columns:repeat(3,1fr); }
  .action-correct { grid-column:auto;grid-row:auto; }
  .action-button { min-height:58px; }
  .quit-button { margin-top:9px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important; }
}
