:root{--ink-950:#141320;--ink-900:#1c1b29;--ink-700:#3a3847;--ink-500:#6b6879;--ink-300:#a6a3b3;--ink-150:#c7c3d1;--ink-100:#d8d5e0;--paper-0:#fff;--paper-50:#fbf8f1;--paper-100:#f5f1e8;--paper-200:#ece4d3;--amber-300:#f3c878;--amber-500:#e8a33d;--amber-600:#ce8a24;--amber-700:#a86d16;--coral-300:#ef9c8d;--coral-500:#e1614a;--coral-600:#c24732;--coral-700:#9b3624;--forest-300:#9bbb86;--forest-500:#5b8c5a;--forest-600:#437043;--surface-app:var(--paper-100);--surface-card:var(--paper-0);--surface-sunken:var(--paper-200);--surface-inverse:var(--ink-900);--surface-overlay:#1c1b2980;--text-primary:var(--ink-900);--text-secondary:var(--ink-500);--text-tertiary:var(--ink-300);--text-inverse:var(--paper-50);--text-placeholder:var(--ink-300);--text-on-brand:var(--ink-900);--border-subtle:#1c1b291a;--border-default:#1c1b2929;--border-strong:#1c1b2947;--brand-primary:var(--amber-500);--brand-primary-hover:var(--amber-600);--brand-primary-active:var(--amber-700);--accent-secondary:var(--coral-500);--accent-secondary-hover:var(--coral-600);--feedback-success:var(--forest-500);--feedback-success-bg:#5b8c5a1f;--feedback-error:var(--coral-500);--feedback-error-bg:#e1614a1f;--feedback-solved:var(--amber-500);--feedback-solved-bg:#e8a33d29}[data-theme=dark]{--surface-app:var(--ink-900);--surface-card:var(--ink-700);--surface-sunken:var(--ink-950);--surface-inverse:var(--paper-100);--surface-overlay:#0009;--text-primary:var(--paper-50);--text-secondary:var(--ink-150);--text-tertiary:var(--ink-300);--text-inverse:var(--ink-900);--border-subtle:#ffffff1a;--border-default:#ffffff29;--border-strong:#ffffff47;--feedback-success-bg:#9bbb862e;--feedback-error-bg:#ef9c8d2e;--feedback-solved-bg:#f3c87833}:root{--font-display:"Domine", Georgia, "Times New Roman", serif;--font-body:"Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Space Mono", "SF Mono", Consolas, monospace;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-md:18px;--text-lg:20px;--text-xl:24px;--text-2xl:32px;--text-3xl:40px;--text-4xl:56px;--leading-tight:1.1;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.04em;--tracking-wider:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--shadow-sm:0 1px 2px #1c1b290f, 0 1px 1px #1c1b290a;--shadow-md:0 4px 12px #1c1b2914, 0 2px 4px #1c1b290f;--shadow-lg:0 12px 32px #1c1b2924, 0 4px 10px #1c1b2914;--shadow-focus:0 0 0 3px #e8a33d59;--ease-standard:cubic-bezier(.22, 1, .36, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--duration-fast:.12s;--duration-base:.2s;--duration-slow:.34s;--duration-swap:.45s}[data-theme=dark]{--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 14px #0006;--shadow-lg:0 16px 40px #00000080}*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--surface-app)}body{background:var(--surface-app);min-height:100dvh;color:var(--text-primary);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;flex-direction:column;display:flex}button{font:inherit}button:focus-visible,.tile:focus-visible{box-shadow:var(--shadow-focus);outline:none}.mono{font-family:var(--font-mono)}.icon{vertical-align:-.125em;fill:currentColor;width:1em;height:1em;display:inline-block}[hidden]{display:none!important}#app,.view{flex-direction:column;flex:1;display:flex}#app-header{background:var(--surface-app)}.header-inner{justify-content:space-between;align-items:center;width:100%;max-width:1120px;margin:0 auto;padding:16px 20px;display:flex}.header-brand{align-items:center;gap:14px;min-width:0;display:flex}.logo-link{color:inherit;align-items:center;gap:14px;text-decoration:none;display:inline-flex}.logo-mark{align-items:center;display:flex}.logo-mark img{border-radius:9px;width:32px;height:32px;display:block}.header-actions{gap:var(--space-2);display:flex}.logo-word,.header-meta,#app-header.minimal .header-meta,#app-header.minimal .header-actions .icon-btn:not(#btn-shop){display:none}.logo-word img{height:24px;display:block}.wordmark img{max-width:100%;height:60px;display:block}img.only-dark,[data-theme=dark] img.only-light{display:none}[data-theme=dark] img.only-dark{display:block}.btn{justify-content:center;align-items:center;gap:var(--space-2);font-family:var(--font-body);font-weight:var(--weight-semibold);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-base) var(--ease-standard);border:none;text-decoration:none;display:inline-flex}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{font-size:var(--text-sm);padding:8px 16px}.btn.md{font-size:var(--text-base);padding:12px 22px}.btn.lg{font-size:var(--text-md);padding:16px 30px}.btn.full{width:100%}.btn.primary{background:var(--brand-primary);color:var(--text-on-brand)}.btn.primary:hover:not(:disabled){background:var(--brand-primary-hover)}.btn.secondary{background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-default)}.btn.secondary:hover:not(:disabled){background:var(--surface-sunken)}.btn.ghost{color:var(--text-primary);background:0 0}.btn.ghost:hover:not(:disabled){background:var(--surface-sunken)}.btn.danger{background:var(--accent-secondary);color:var(--paper-50)}.btn.danger:hover:not(:disabled){background:var(--accent-secondary-hover)}.icon-btn{border-radius:var(--radius-pill);width:40px;height:40px;color:var(--text-primary);cursor:pointer;transition:transform var(--duration-fast) var(--ease-standard), background var(--duration-base) var(--ease-standard);background:0 0;border:none;justify-content:center;align-items:center;font-size:18px;display:inline-flex}.icon-btn:hover{background:var(--surface-sunken)}.icon-btn:active{transform:scale(.92)}.badge{border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--text-secondary);font-weight:var(--weight-semibold);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;align-items:center;padding:4px 12px;display:inline-flex}.badge.brand{background:var(--feedback-solved-bg);color:var(--amber-700)}.landing-body{padding:var(--space-8);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.wordmark{gap:var(--space-2);justify-content:center;display:flex}.tagline{font-size:var(--text-md);color:var(--text-secondary);margin:10px 0 0}.landing-meta{margin:var(--space-8) 0;flex-direction:column;align-items:center;gap:6px;display:flex}.landing-date{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--text-primary)}.landing-number{font-size:var(--text-xs);color:var(--text-secondary)}.landing-actions{flex-direction:column;gap:10px;width:100%;max-width:280px;display:flex}.page-foot{padding:var(--space-5);text-align:center;font-size:var(--text-xs);color:var(--text-tertiary)}.game-column{flex-direction:column;flex:1;width:100%;max-width:480px;margin:0 auto;display:flex}.round-line{justify-content:center;align-items:center;gap:10px;padding:4px 20px 2px;display:flex}.swaps-left{font-size:var(--text-xs);color:var(--text-secondary)}.tracker{gap:var(--space-2);align-items:center;display:flex}.dot{border:2px solid var(--border-strong);width:14px;height:14px;transition:background var(--duration-base) var(--ease-standard);background:0 0;border-radius:50%}.dot.active,.dot.used{background:var(--brand-primary);border-color:var(--brand-primary)}.letter-row{gap:var(--space-2);justify-content:center;padding:10px 20px;display:flex}.letter-cell{border-bottom:3px solid var(--border-strong);width:44px;height:52px;font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-2xl);color:#0000;transition:color var(--duration-slow) var(--ease-standard), border-color var(--duration-slow) var(--ease-standard);justify-content:center;align-items:center;display:flex}.letter-cell.revealed{border-bottom-color:var(--brand-primary);color:var(--text-primary)}.board{flex-direction:column;flex:1;gap:6px;padding:6px 20px;display:flex}.tile{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-md);cursor:pointer;width:100%;font-family:var(--font-mono);font-weight:var(--weight-bold);font-size:var(--text-lg);letter-spacing:var(--tracking-wide);background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-primary);box-shadow:var(--shadow-sm);transition:background var(--duration-base) var(--ease-standard), border var(--duration-base) var(--ease-standard), transform var(--duration-swap) var(--ease-standard);padding:16px 20px;line-height:1;display:flex}.tile:active:not(:disabled){transition-duration:var(--duration-fast);transform:scale(.985)}.tile.selected{border:2px solid var(--brand-primary);box-shadow:var(--shadow-md);padding:15px 19px}.tile.locked{background:var(--feedback-solved-bg);border:1px solid var(--amber-500);color:var(--amber-700);box-shadow:none;cursor:default}.tile-lock{font-size:var(--text-md);flex-shrink:0}.tile-occ{text-decoration:underline;-webkit-text-decoration-color:var(--amber-500);text-decoration-color:var(--amber-500);text-underline-offset:2px;text-decoration-thickness:2px}@keyframes tile-lock-in{0%{transform:scale(1)}40%{transform:scale(1.03)}to{transform:scale(1)}}.tile.just-locked,.word-tile.just-locked{animation:tile-lock-in var(--duration-slow) var(--ease-standard)}@keyframes tile-violation{0%,to{border-color:var(--border-default);box-shadow:var(--shadow-sm)}30%{border-color:var(--coral-500);box-shadow:0 0 0 3px var(--feedback-error-bg)}}.tile.violation{animation:tile-violation .9s var(--ease-standard)}.game-foot{gap:var(--space-2);flex-direction:column;padding:10px 20px 16px;display:flex}.game-hint{font-size:var(--text-xs);color:var(--text-secondary);text-align:center;margin:0}.game-buttons{gap:var(--space-2);flex-direction:column;display:flex}.done-body{padding:var(--space-6) var(--space-8);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.done-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-2xl);color:var(--text-primary);margin:16px 0 0}.done-meta{font-size:var(--text-sm);color:var(--text-secondary);margin:8px 0 0}.done-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-5);width:100%;max-width:300px;margin-top:28px}.done-share{width:100%;max-width:280px;margin-top:var(--space-4)}.done-divider{background:var(--border-subtle);width:100%;max-width:300px;height:1px;margin:32px 0 24px}.next-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text-secondary)}.next-timer{gap:var(--space-5);margin-top:var(--space-3);display:flex}.next-timer .unit{flex-direction:column;align-items:center;gap:2px;display:flex}.next-timer .num{font-weight:var(--weight-bold);font-size:var(--text-2xl);color:var(--text-primary)}.next-timer .lab{font-size:var(--text-xs);color:var(--text-tertiary)}.next-timer .colon{font-size:var(--text-2xl);color:var(--text-tertiary)}.error-body{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-8);text-align:center;flex-direction:column;flex:1;display:flex}.brand-header{background:var(--surface-app)}.nopuzzle-body{gap:0}.nopuzzle-body .done-title{margin:0}.nopuzzle-body .done-meta{margin-top:var(--space-2)}.nopuzzle-body .btn{margin-top:var(--space-6)}.modal{z-index:1000;background:var(--surface-overlay);padding:var(--space-6);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--surface-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);gap:var(--space-4);flex-direction:column;width:100%;max-width:420px;max-height:calc(100dvh - 48px);padding:28px;display:flex;overflow-y:auto}.dialog-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.dialog-body{font-size:var(--text-base);color:var(--text-secondary);line-height:var(--leading-normal);flex-direction:column;gap:14px;display:flex}.dialog-body p{margin:0}.dialog-body b{font-family:var(--font-mono);color:var(--text-primary)}.dialog-footer{gap:var(--space-3);margin-top:var(--space-2);justify-content:flex-end;display:flex}.mapping{font-size:var(--text-sm);flex-direction:column;gap:6px;display:flex}.mapping .row{gap:var(--space-2);display:flex}.mapping .letter{width:20px;font-weight:var(--weight-bold);color:var(--amber-700)}.share-grid{align-items:center;gap:var(--space-3);padding:var(--space-5);background:var(--surface-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;display:flex}.share-grid .sg-title{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-md);color:var(--text-primary)}.share-grid .sg-sub{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary)}.share-grid .sg-rows{flex-direction:column;gap:4px;display:flex}.share-grid .sg-row{gap:4px;display:flex}.share-grid .sg-cell{background:var(--border-default);border-radius:4px;width:18px;height:18px}.share-grid .sg-cell.on{background:var(--brand-primary)}#dialog-help .dialog-title{text-align:center}.help-sub{text-align:center;font-size:var(--text-sm)}.help-steps{gap:var(--space-3);flex-direction:column;display:flex}.help-step{gap:var(--space-4);align-items:flex-start;display:flex}.help-icon{border-radius:var(--radius-pill);background:var(--feedback-solved-bg);width:34px;height:34px;color:var(--amber-700);flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.help-copy{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.help-head{font-weight:var(--weight-bold);font-size:var(--text-base);color:var(--text-primary)}.help-text{font-size:var(--text-sm)}.help-demo{margin-top:6px}.help-demo.pair{gap:var(--space-2);display:flex}.help-demo.pair .tile{flex:1;min-width:0}.help-demo.stack{gap:var(--space-2);flex-direction:column;display:flex}.tile.demo{pointer-events:none;font-size:var(--text-sm);padding:10px 14px}.tile.demo.selected{padding:9px 13px}.letter-row.demo{padding:0}.letter-row.demo .letter-cell{width:30px;height:34px;font-size:var(--text-md)}.tracker.demo{display:inline-flex}.stat-grid{gap:var(--space-2);grid-template-columns:repeat(2,1fr);display:grid}.stat-card{align-items:center;gap:var(--space-1);padding:var(--space-4);flex-direction:column;display:flex}.stat-value{font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-3xl);color:var(--text-primary)}.stat-label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide);text-align:center}.dist-head{font-weight:var(--weight-bold);font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-2)}.dist{gap:var(--space-1);flex-direction:column;display:flex}.dist .drow{align-items:center;gap:var(--space-2);display:flex}.dist .dnum{width:12px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.dist .dtrack{background:var(--surface-sunken);border-radius:var(--radius-sm);flex:1}.dist .dbar{background:var(--brand-primary);color:var(--text-on-brand);font-family:var(--font-mono);font-size:var(--text-xs);border-radius:var(--radius-sm);min-width:18px;padding:3px 6px}.dist .dbar.zero{color:var(--text-tertiary);background:0 0;min-width:0}.next-row{border-top:1px solid var(--border-subtle);padding-top:var(--space-4);justify-content:space-between;align-items:center;display:flex}.next-row-label{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-primary)}.next-row .mono{font-size:var(--text-base);color:var(--text-primary)}.settings-list{flex-direction:column;display:flex}.settings-row{justify-content:space-between;align-items:center;gap:var(--space-4);border-bottom:1px solid var(--border-subtle);padding:14px 0;display:flex}.settings-row.link{justify-content:flex-start;gap:var(--space-3);cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border-top:none;border-left:none;border-right:none;padding:14px 0}.settings-row.link:hover .settings-head{color:var(--amber-700)}.settings-copy{flex-direction:column;gap:2px;display:flex}.settings-head{font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--text-primary)}.settings-text{font-size:var(--text-xs);color:var(--text-secondary)}.settings-icon{color:var(--text-secondary);font-size:18px}.settings-row.link .settings-copy{align-items:flex-start}.settings-id{word-break:break-all;line-height:1.35}.settings-version{font-size:var(--text-xs);color:var(--text-tertiary);padding-top:var(--space-4)}.switch{border-radius:var(--radius-pill);background:var(--border-strong);cursor:pointer;width:44px;height:26px;transition:background var(--duration-base) var(--ease-standard);border:none;flex-shrink:0;padding:0;position:relative}.switch[aria-checked=true]{background:var(--brand-primary)}.switch .knob{background:var(--paper-0);width:20px;height:20px;box-shadow:var(--shadow-sm);transition:left var(--duration-base) var(--ease-standard);border-radius:50%;position:absolute;top:3px;left:3px}.switch[aria-checked=true] .knob{left:21px}#toast-layer{z-index:1100;align-items:center;gap:var(--space-2);padding:0 var(--space-6);pointer-events:none;flex-direction:column;display:flex;position:fixed;bottom:24px;left:0;right:0}.toast{background:var(--ink-900);color:var(--paper-50);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--weight-medium);box-shadow:var(--shadow-md);opacity:0;transition:opacity var(--duration-base) var(--ease-standard), transform var(--duration-base) var(--ease-standard);padding:12px 20px;transform:translateY(8px)}.toast.show{opacity:1;transform:translateY(0)}.toast.error{background:var(--coral-600)}.toast.success{background:var(--forest-600)}.coming-soon-body{--surface-app:var(--paper-100);--surface-card:var(--paper-0);--surface-sunken:var(--paper-200);--surface-inverse:var(--ink-900);--text-primary:var(--ink-900);--text-secondary:var(--ink-500);--text-tertiary:var(--ink-300);--text-inverse:var(--paper-50);--border-subtle:#1c1b291a;--border-default:#1c1b2929;--border-strong:#1c1b2947;--feedback-solved-bg:#e8a33d29;--feedback-success-bg:#5b8c5a1f;--feedback-error-bg:#e1614a1f;background:var(--surface-app);min-height:100dvh;color:var(--text-primary);flex-direction:column;display:flex}.coming-soon-container{flex-direction:column;align-items:center;width:100%;max-width:800px;margin:0 auto;padding:0 20px;display:flex}.coming-soon-hero{padding:var(--space-12) 0 var(--space-8);text-align:center;align-items:center;gap:var(--space-4);flex-direction:column;display:flex}.badge.coming-soon-badge{background:var(--feedback-solved-bg);color:var(--amber-700);border:1px solid var(--amber-500);font-size:var(--text-xs);padding:6px 14px}.coming-soon-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--text-primary);line-height:var(--leading-tight);max-width:640px;margin:0}.coming-soon-subtitle{font-family:var(--font-body);font-size:var(--text-md);color:var(--text-secondary);line-height:var(--leading-relaxed);max-width:580px;margin:0}.teaser-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);width:100%;max-width:480px;box-shadow:var(--shadow-md);padding:var(--space-6) var(--space-5);margin-bottom:var(--space-12);gap:var(--space-4);flex-direction:column;display:flex}.teaser-top{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.teaser-badge{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.teaser-reset-btn{color:var(--brand-primary);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;border-radius:var(--radius-pill);background:0 0;border:none;padding:4px 8px}.teaser-reset-btn:hover{background:var(--surface-sunken)}.teaser-target-row{gap:var(--space-2);justify-content:center;padding:4px 0 10px;display:flex}.teaser-board-grid{flex-direction:column;gap:8px;display:flex}.word-tile{border-radius:var(--radius-md);cursor:pointer;width:100%;font-family:var(--font-mono);font-weight:var(--weight-bold);font-size:var(--text-lg);letter-spacing:var(--tracking-wide);background:var(--surface-card);border:1px solid var(--border-default);color:var(--text-primary);box-shadow:var(--shadow-sm);transition:background var(--duration-base) var(--ease-standard), border var(--duration-base) var(--ease-standard), transform var(--duration-swap) var(--ease-standard);justify-content:space-between;align-items:center;padding:16px 20px;line-height:1;display:flex}.word-tile:hover:not(.locked){border-color:var(--border-strong);background:var(--surface-sunken)}.word-tile:active:not(:disabled){transition-duration:var(--duration-fast);transform:scale(.985)}.word-tile.selected{border:2px solid var(--brand-primary);box-shadow:var(--shadow-md);padding:15px 19px}.word-tile.locked{background:var(--feedback-solved-bg);border:1px solid var(--amber-500);color:var(--amber-700);box-shadow:none;cursor:default}.teaser-solved-banner{background:var(--feedback-success-bg);border:1px solid var(--forest-500);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--forest-600);font-size:var(--text-sm);font-weight:var(--weight-semibold);text-align:center}[data-theme=dark] .teaser-solved-banner{color:var(--forest-300)}.teaser-instruction{font-size:var(--text-xs);color:var(--text-tertiary);text-align:center;margin:0}.coming-soon-features{gap:var(--space-4);width:100%;margin-bottom:var(--space-16);grid-template-columns:1fr;display:grid}.feature-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);gap:var(--space-2);flex-direction:column;display:flex}.feature-num{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--brand-primary);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.feature-head{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);margin:0}.feature-desc{font-family:var(--font-body);font-size:var(--text-sm);color:var(--text-secondary);line-height:var(--leading-relaxed);margin:0}.coming-soon-footer{border-top:1px solid var(--border-subtle);width:100%;padding:var(--space-8) 20px;margin-top:auto}.footer-inner{align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;max-width:800px;margin:0 auto;display:flex}.footer-brand{align-items:center;gap:var(--space-2);display:flex}.footer-brand img{height:20px}.footer-copy{font-size:var(--text-xs);color:var(--text-tertiary);margin:0}.footer-links{gap:var(--space-4);font-size:var(--text-xs);display:flex}.footer-link{color:var(--text-secondary);text-decoration:none}.footer-link:hover{color:var(--brand-primary);text-decoration:underline}@media (width>=640px){.coming-soon-hero{padding:var(--space-16) 0 var(--space-12)}.coming-soon-title{font-size:var(--text-4xl)}.coming-soon-features{grid-template-columns:repeat(3,1fr)}.footer-inner{flex-direction:row;justify-content:space-between}}@media (width<=480px){.modal{padding:var(--space-4)}.dialog{max-height:calc(100dvh - 32px);padding:22px}}@media (width>=720px){#app-header,.brand-header{border-bottom:1px solid var(--border-subtle)}.header-inner{padding:18px 32px}.logo-mark{display:none}.logo-word{gap:5px;display:flex}.header-meta{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;display:inline}.game-column{padding-top:var(--space-8);flex:none}.board{flex:none;gap:10px}.game-buttons{flex-direction:row;align-items:stretch}.game-buttons .btn.primary{flex:1}.game-buttons .btn.ghost{width:auto;font-size:var(--text-md);padding:16px 30px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
