:root{--bg: #0a0e1a;--bg-2: #111728;--panel: #161d33;--ink: #e8eefc;--ink-dim: #8a96b8;--accent: #7cf3ff;--accent-2: #ff7cc4;--good: #7CFFA0;--bad: #ff6b6b;--line: #25304f;--board-bg-1: #0d1326;--board-bg-2: #0a0f1f;--board-glow: rgba(124,243,255,.12);--radius: 14px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--panel-hi: rgba(255,255,255,.06);--shadow-1: 0 1px 0 rgba(255,255,255,.05), 0 6px 18px rgba(0,0,0,.35);--shadow-2: 0 10px 40px rgba(0,0,0,.5)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(120% 90% at 50% -10%,var(--bg-2) 0%,var(--bg) 55%);background:radial-gradient(120% 85% at 50% -12%,color-mix(in srgb,var(--accent) 12%,var(--bg)) 0%,var(--bg) 52%),radial-gradient(90% 60% at 100% 0%,color-mix(in srgb,var(--accent-2) 9%,transparent) 0%,transparent 45%),var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation}#app{min-height:100%;display:flex;flex-direction:column;align-items:center}.gw-shell{width:min(560px,100vw);padding:14px 16px 28px;display:flex;flex-direction:column;gap:12px}.gw-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.gw-sparks-chip{display:inline-flex;align-items:center;min-width:0;flex:0 1 auto}.gw-title{font-weight:800;letter-spacing:.5px;font-size:20px;display:flex;align-items:center;gap:8px;background:linear-gradient(120deg,var(--ink) 30%,var(--accent) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.gw-title .dot{color:var(--accent);-webkit-text-fill-color:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--accent) 60%,transparent))}.gw-pill{font-size:12px;color:var(--ink-dim);background:linear-gradient(180deg,var(--panel-hi),transparent),var(--panel);border:1px solid var(--line);padding:4px 11px;border-radius:999px;white-space:nowrap;box-shadow:inset 0 1px 0 var(--panel-hi)}.gw-stats{display:flex;gap:10px;align-items:center;font-variant-numeric:tabular-nums}.gw-stat{position:relative;background:linear-gradient(180deg,var(--panel-hi),transparent 40%),var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:9px 12px 10px;flex:1;text-align:center;box-shadow:var(--shadow-1);overflow:hidden}.gw-stat:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 70%,transparent),transparent);opacity:.7}.gw-stat .k{display:block;font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:1px}.gw-stat .v{display:block;font-size:18px;font-weight:800;margin-top:2px;color:var(--ink);text-shadow:0 0 12px color-mix(in srgb,var(--accent) 22%,transparent)}.gw-stat--dim{border-color:color-mix(in srgb,var(--accent-2) 58%,var(--line))}.gw-stat--dim .k,.gw-stat--waning,.gw-stat--waning .v{color:var(--accent-2)}#board{display:block;width:min(540px,calc(100vw - 24px));height:auto;aspect-ratio:1 / 1;border-radius:18px;background:linear-gradient(180deg,var(--board-bg-1),var(--board-bg-2));border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));box-shadow:0 18px 60px #0000008c,0 0 0 1px #0006,inset 0 0 0 1px var(--board-glow),0 0 40px -8px var(--board-glow);touch-action:none}.gw-board-wrap{position:relative;border-radius:18px;isolation:isolate}.gw-board-wrap:after{content:"";position:absolute;inset:0;border-radius:18px;pointer-events:none;background:linear-gradient(130deg,transparent 42%,color-mix(in srgb,var(--accent) 14%,transparent) 50%,transparent 58%);background-size:260% 260%;opacity:.55;animation:gw-sheen 7s ease-in-out infinite;mix-blend-mode:screen}.gw-row{display:flex;gap:10px;flex-wrap:wrap}button.gw-btn{appearance:none;border:1px solid var(--line);background:linear-gradient(180deg,var(--panel-hi),transparent 55%),var(--panel);color:var(--ink);font-family:var(--font);font-size:14px;font-weight:600;padding:11px 14px;border-radius:12px;cursor:pointer;box-shadow:var(--shadow-1);transition:transform .12s cubic-bezier(.2,.7,.2,1),border-color .15s ease,background .15s ease,box-shadow .15s ease;flex:1;min-width:96px}button.gw-btn:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-1),0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent),0 6px 20px -6px color-mix(in srgb,var(--accent) 45%,transparent)}button.gw-btn:active{transform:translateY(1px) scale(.99)}button.gw-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.gw-btn.primary{position:relative;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:color-mix(in srgb,var(--accent) 60%,white);color:#071018;font-weight:800;box-shadow:0 6px 22px -6px color-mix(in srgb,var(--accent) 70%,transparent),inset 0 1px #fff6;overflow:hidden}button.gw-btn.primary:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.5) 50%,transparent 65%);background-size:250% 100%;animation:gw-shimmer 3.4s ease-in-out infinite;pointer-events:none}button.gw-btn.primary:hover{transform:translateY(-1px);box-shadow:0 10px 30px -6px color-mix(in srgb,var(--accent) 80%,transparent),inset 0 1px #ffffff73}button.gw-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}button.gw-btn:disabled{cursor:default;opacity:.55;transform:none}.gw-diffs{display:flex;gap:8px}.gw-diff{flex:1;text-align:center;padding:9px 6px;border-radius:10px;border:1px solid var(--line);background:var(--bg-2);cursor:pointer;font-size:13px;font-weight:600;color:var(--ink-dim)}.gw-diff{transition:color .15s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.gw-diff[aria-pressed=true]{color:var(--ink);border-color:var(--accent);background:linear-gradient(180deg,var(--panel-hi),transparent),var(--panel);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent),0 0 18px -6px color-mix(in srgb,var(--accent) 60%,transparent)}.gw-themes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.gw-theme{appearance:none;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-dim);font-family:var(--font);font-size:12px;font-weight:700;border-radius:10px;min-height:38px;padding:7px 8px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;transition:border-color .15s ease,color .15s ease,background .15s ease,opacity .15s ease}.gw-theme .swatch{width:15px;height:15px;border-radius:50%;flex:0 0 auto;box-shadow:inset 0 0 0 1px #ffffff6b}.gw-theme .label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gw-theme[aria-pressed=true]{color:var(--ink);border-color:var(--accent);background:linear-gradient(180deg,var(--panel-hi),transparent),var(--panel);box-shadow:0 0 18px -6px color-mix(in srgb,var(--accent) 60%,transparent)}.gw-theme.locked{opacity:.58}.gw-theme.locked .swatch{filter:grayscale(.8)}.gw-hint{color:var(--ink-dim);font-size:13px;line-height:1.5}.gw-hint b{color:var(--ink);font-weight:700}.gw-grimoire{border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,var(--panel-hi),transparent),var(--panel);padding:10px 12px;box-shadow:var(--shadow-1);min-height:72px}.gw-grimoire.gw-grimoire--empty{border-style:dashed;opacity:.8}.gw-grimoire-title{color:var(--ink-dim);font-size:11px;letter-spacing:1px;text-transform:uppercase;margin:0 0 6px}.gw-grimoire-lines{display:grid;gap:4px}.gw-grimoire-line{color:var(--ink);font-size:13px;line-height:1.35}.gw-toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%) translateY(20px);background:var(--panel);border:1px solid var(--accent);color:var(--ink);padding:12px 18px;border-radius:12px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:opacity .25s ease,transform .25s ease;z-index:50;box-shadow:0 8px 30px #00000080}.gw-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.gw-overlay{position:fixed;inset:0;background:#060a14d1;backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:40;padding:18px}.gw-overlay.show{display:flex}.gw-card{position:relative;width:min(420px,100%);background:linear-gradient(180deg,var(--panel-hi),transparent 30%),var(--panel);border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:20px;padding:24px 22px;text-align:center;box-shadow:0 24px 80px #0000009e,0 0 0 1px #0006,0 0 60px -20px color-mix(in srgb,var(--accent) 60%,transparent);animation:gw-card-in .22s ease-out both;overflow:hidden}.gw-sparks-paywall{width:100%;margin:14px 0 2px}.gw-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}.gw-card h2{margin:6px 0;font-size:25px;font-weight:800;background:linear-gradient(120deg,var(--ink),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.gw-card .sub{color:var(--ink-dim);font-size:14px;margin-bottom:14px}.gw-share{font-family:ui-monospace,SF Mono,Menlo,monospace;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;padding:12px;white-space:pre;font-size:15px;line-height:1.35;margin:12px 0;user-select:all}@media (prefers-reduced-motion: reduce){button.gw-btn,.gw-toast,.gw-theme{transition:none}.gw-card{animation:none}.gw-board-wrap:after,button.gw-btn.primary:after{animation:none}}@keyframes gw-card-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gw-sheen{0%{background-position:0% 0%}50%{background-position:100% 100%}to{background-position:0% 0%}}@keyframes gw-shimmer{0%{background-position:130% 0}55%,to{background-position:-30% 0}}footer.gw-foot{color:var(--ink-dim);font-size:11px;text-align:center;padding:8px 0 20px;line-height:1.6}footer.gw-foot a{color:var(--ink-dim)}.gw-qmai{color:var(--ink-dim);text-decoration:none;border-bottom:1px dotted var(--line);opacity:.75;transition:color .15s ease,opacity .15s ease,border-color .15s ease}.gw-qmai:hover,.gw-qmai:focus-visible{color:var(--accent);opacity:1;border-bottom-color:var(--accent)}.gw-qmai:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.gw-cta{display:inline-block;margin-top:14px;color:var(--ink-dim);font-size:13px;font-weight:600;text-decoration:none;opacity:.85;transition:color .15s ease,opacity .15s ease}.gw-cta:hover,.gw-cta:focus-visible{color:var(--accent);opacity:1}.gw-cta:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.gw-promo{color:var(--accent);opacity:.95}@media (prefers-reduced-motion: reduce){.gw-qmai,.gw-cta{transition:none}}@media (max-width: 430px){.gw-stats{gap:6px}.gw-stat{padding:7px 6px}.gw-stat .k{font-size:9px;letter-spacing:.5px}.gw-stat .v{font-size:15px}.gw-theme{font-size:11px;padding-inline:5px}}
