.nav[data-v-2d4ee6cc]{position:fixed;left:max(var(--space-3),var(--safe-left));right:max(var(--space-3),var(--safe-right));bottom:var(--nav-inset);z-index:50;display:flex;padding:var(--space-1);border-radius:var(--radius-xl);background-color:var(--color-glass);border:1px solid var(--color-glass-border);box-shadow:var(--shadow-lg);backdrop-filter:var(--blur-glass)}.nav__brand[data-v-2d4ee6cc],.nav__colophon[data-v-2d4ee6cc],.nav__group-label[data-v-2d4ee6cc]{display:none}.nav__items[data-v-2d4ee6cc],.nav__utility[data-v-2d4ee6cc]{display:flex;gap:2px}.nav__items[data-v-2d4ee6cc]{flex:var(--nav-primary-count,3) 1 0;min-width:0}.nav__utility[data-v-2d4ee6cc]{flex:1 1 0;min-width:0}.nav__item[data-v-2d4ee6cc]{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:3.4em;border-radius:var(--radius-lg);color:var(--color-text-muted);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);letter-spacing:.01em;transition:color var(--motion-base) var(--motion-ease)}.nav__item[data-v-2d4ee6cc]:active{transform:scale(.96)}.nav__label[data-v-2d4ee6cc]{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav__item[data-v-2d4ee6cc]:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background-color:var(--color-primary-soft);opacity:0;transform:scale(.82);transition:opacity var(--motion-base) var(--motion-ease),transform var(--motion-base) var(--motion-spring)}.nav__icon[data-v-2d4ee6cc]{display:flex;transition:transform var(--motion-base) var(--motion-spring)}.nav__item.router-link-exact-active[data-v-2d4ee6cc]{color:var(--color-primary)}.nav__item.router-link-exact-active[data-v-2d4ee6cc]:after{opacity:1;transform:none}.nav__item.router-link-exact-active .nav__icon[data-v-2d4ee6cc]{transform:translateY(-1px) scale(1.06)}.nav__item.router-link-exact-active .nav__label[data-v-2d4ee6cc]{font-weight:var(--font-weight-bold)}@media (min-width:900px){.nav[data-v-2d4ee6cc]{position:sticky;top:0;left:auto;right:auto;bottom:auto;flex-direction:column;gap:var(--space-2);flex:0 0 auto;width:var(--sidebar-width);height:100vh;height:100dvh;padding:var(--space-6) var(--space-3) var(--space-4);border:none;border-right:1px solid var(--color-border);border-radius:0;background-color:var(--color-surface);box-shadow:none}.nav[data-v-2d4ee6cc]:before{content:"";position:absolute;inset:0 0 auto;height:220px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--color-primary-soft),transparent 78%)}.nav__brand[data-v-2d4ee6cc]{display:flex;align-items:center;gap:var(--space-3);padding:0 var(--space-2);margin-bottom:var(--space-5)}.nav__brand-mark[data-v-2d4ee6cc]{position:relative;display:flex;flex:0 0 auto;padding:2px;border-radius:var(--radius-md);background-image:var(--gradient-primary);box-shadow:var(--shadow-primary)}.nav__brand-mark img[data-v-2d4ee6cc]{width:38px;height:38px;border-radius:12px}.nav__brand-text[data-v-2d4ee6cc]{display:flex;flex-direction:column;min-width:0}.nav__brand-name[data-v-2d4ee6cc]{font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-display);letter-spacing:var(--tracking-display);line-height:1.1}.nav__brand-tag[data-v-2d4ee6cc]{font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted);letter-spacing:.02em}.nav__group-label[data-v-2d4ee6cc]{display:block;padding:0 var(--space-3);margin-bottom:var(--space-1);font-size:var(--font-size-2xs);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-text-muted)}.nav__items[data-v-2d4ee6cc]{flex-direction:column;flex:1 1 auto;gap:2px}.nav__item[data-v-2d4ee6cc]{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:var(--space-3);min-height:46px;padding:0 var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.nav__item[data-v-2d4ee6cc]:hover:not(.router-link-exact-active){color:var(--color-text)}.nav__item[data-v-2d4ee6cc]:hover:not(.router-link-exact-active):after{opacity:.55;transform:none}.nav__item[data-v-2d4ee6cc]:active{transform:none}.nav__item.router-link-exact-active[data-v-2d4ee6cc]{color:var(--color-primary);font-weight:var(--font-weight-bold)}.nav__item.router-link-exact-active[data-v-2d4ee6cc]:before{content:"";position:absolute;left:0;top:50%;width:3px;height:20px;margin-top:-10px;border-radius:var(--radius-pill);background:var(--gradient-primary)}.nav__item.router-link-exact-active .nav__icon[data-v-2d4ee6cc]{transform:none}.nav__utility[data-v-2d4ee6cc]{flex:0 0 auto;flex-direction:column;gap:0;padding-top:var(--space-2);border-top:1px solid var(--color-border)}.nav__item--utility[data-v-2d4ee6cc]{min-height:40px;font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.nav__item--utility .nav__icon svg[data-v-2d4ee6cc]{width:20px;height:20px}.nav__colophon[data-v-2d4ee6cc]{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-3) 0;padding-top:0}.nav__author[data-v-2d4ee6cc]{display:flex;flex-direction:column;gap:1px;min-width:0}.nav__author-role[data-v-2d4ee6cc]{font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);line-height:1.2;color:var(--color-text-muted)}.nav__author-name[data-v-2d4ee6cc]{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:1.2;color:var(--color-text-secondary);transition:color var(--motion-fast) var(--motion-ease)}.nav__author-arrow[data-v-2d4ee6cc]{flex:0 0 auto;transition:transform var(--motion-base) var(--motion-spring)}.nav__author:hover .nav__author-name[data-v-2d4ee6cc]{color:var(--color-primary)}.nav__author:hover .nav__author-arrow[data-v-2d4ee6cc]{transform:translate(2px,-2px)}.nav__status[data-v-2d4ee6cc]{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.nav__offline-dot[data-v-2d4ee6cc]{width:6px;height:6px;flex:0 0 auto;border-radius:50%;background-color:var(--color-success);box-shadow:0 0 0 3px var(--color-primary-soft)}.nav__version[data-v-2d4ee6cc]{margin-left:auto;font-size:var(--font-size-2xs)}}.btn[data-v-4bc45028]{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--tap-target);padding:0 var(--space-5);border-radius:var(--radius-md);border:1px solid transparent;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);line-height:1;letter-spacing:.005em;overflow:hidden;isolation:isolate;transition:background-color var(--motion-fast) var(--motion-ease),border-color var(--motion-fast) var(--motion-ease),color var(--motion-fast) var(--motion-ease),box-shadow var(--motion-base) var(--motion-ease),transform var(--motion-fast) var(--motion-ease)}.btn[data-v-4bc45028]:active:not(:disabled){transform:translateY(1px) scale(.985)}.btn[data-v-4bc45028]:disabled{opacity:.42;box-shadow:none}.btn--sm[data-v-4bc45028]{min-height:36px;padding:0 var(--space-3);font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn--lg[data-v-4bc45028]{min-height:54px;padding:0 var(--space-7);font-size:var(--font-size-md);border-radius:var(--radius-lg)}.btn--block[data-v-4bc45028]{width:100%}.btn--icon[data-v-4bc45028]{width:var(--tap-target);min-width:var(--tap-target);padding:0}.btn--icon.btn--sm[data-v-4bc45028]{width:36px;min-width:36px}.btn--icon.btn--lg[data-v-4bc45028]{width:54px;min-width:54px}.btn--primary[data-v-4bc45028]{background-image:var(--gradient-primary);background-color:var(--color-primary);color:var(--color-primary-contrast);box-shadow:var(--shadow-primary),var(--shadow-inset-top)}.btn--primary[data-v-4bc45028]:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--gradient-sheen);opacity:.7}.btn--primary[data-v-4bc45028]:hover:not(:disabled){filter:brightness(1.06);box-shadow:var(--shadow-primary),var(--shadow-md),var(--shadow-inset-top)}.btn--accent[data-v-4bc45028]{background-image:var(--gradient-accent);background-color:var(--color-accent);color:#2a1e0c;box-shadow:0 6px 18px hsla(36,57%,62%,.32),var(--shadow-inset-top)}.btn--accent[data-v-4bc45028]:hover:not(:disabled){filter:brightness(1.05)}.btn--secondary[data-v-4bc45028]{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text);box-shadow:var(--shadow-sm)}.btn--secondary[data-v-4bc45028]:hover:not(:disabled){border-color:var(--color-border-strong);background-color:var(--color-surface-elevated);box-shadow:var(--shadow-md)}.btn--ghost[data-v-4bc45028]{background-color:transparent;color:var(--color-text)}.btn--ghost[data-v-4bc45028]:hover:not(:disabled){background-color:var(--color-primary-soft)}.btn--danger[data-v-4bc45028]{background-color:var(--color-danger-soft);border-color:transparent;color:var(--color-danger)}.btn--danger[data-v-4bc45028]:hover:not(:disabled){background-color:var(--color-danger);color:#fff}.btn__icon[data-v-4bc45028]{display:inline-flex;align-items:center;justify-content:center;font-size:1.1em}.update-banner[data-v-0bf26fd3]{position:fixed;z-index:90;left:max(var(--space-3),var(--safe-left));right:max(var(--space-3),var(--safe-right));top:calc(var(--space-3) + var(--safe-top));margin-inline:auto;max-width:520px;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface-elevated);box-shadow:var(--shadow-lg)}.update-banner__text[data-v-0bf26fd3]{flex:1 1 auto;min-width:0}.update-banner__title[data-v-0bf26fd3]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold)}.update-banner__hint[data-v-0bf26fd3]{font-size:var(--font-size-xs);line-height:var(--line-snug);color:var(--color-text-muted)}.update-banner__actions[data-v-0bf26fd3]{display:flex;flex-shrink:0;gap:var(--space-2)}.update-banner-enter-active[data-v-0bf26fd3],.update-banner-leave-active[data-v-0bf26fd3]{transition:opacity var(--motion-base) var(--motion-ease),transform var(--motion-base) var(--motion-ease)}.update-banner-enter-from[data-v-0bf26fd3],.update-banner-leave-to[data-v-0bf26fd3]{opacity:0;transform:translateY(-12px)}[data-motion=reduced]{transition:none}@media (max-width:479px){.update-banner[data-v-0bf26fd3]{flex-direction:column;align-items:stretch;gap:var(--space-3)}.update-banner__actions[data-v-0bf26fd3]{justify-content:flex-end}}@font-face{font-family:Fixel Text;src:url(../fonts/FixelText-Regular.5570cd77.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Fixel Text;src:url(../fonts/FixelText-Medium.4b527af0.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Fixel Text;src:url(../fonts/FixelText-SemiBold.60523a8c.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Fixel Text;src:url(../fonts/FixelText-Bold.e6b30443.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Fixel Display;src:url(../fonts/FixelDisplay-Bold.2ed3e38a.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Fixel Display;src:url(../fonts/FixelDisplay-ExtraBold.e376111b.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--brand-mineral:#0e1715;--brand-forest:#1b2926;--brand-ink:#14201d;--brand-jade:#4e8f78;--brand-jade-soft:#7db49a;--brand-ivory:#f5f0e6;--brand-parchment:#d8cdb9;--brand-terracotta:#c96f4b;--brand-gold:#d6aa68;--accent-logic:#4e8f78;--accent-board:#c96f4b;--accent-cards:#d6aa68;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:56px;--space-10:72px;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-2xl:36px;--radius-pill:999px;--font-family-base:"Fixel Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;--font-family-display:"Fixel Display","Fixel Text",-apple-system,BlinkMacSystemFont,"Segoe UI Variable Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-family-numeric:"SF Mono","JetBrains Mono","Roboto Mono",ui-monospace,Menlo,Consolas,monospace;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-display:800;--font-scale:1;--font-scale-display:calc(1 + (var(--font-scale) - 1)*0.5);--font-size-2xs:calc(10px*var(--font-scale));--font-size-xs:calc(12px*var(--font-scale));--font-size-sm:calc(14px*var(--font-scale));--font-size-md:calc(16px*var(--font-scale));--font-size-lg:calc(18px*var(--font-scale));--font-size-xl:calc(22px*var(--font-scale));--font-size-2xl:calc(28px*var(--font-scale-display));--font-size-3xl:calc(34px*var(--font-scale-display));--font-size-4xl:calc(44px*var(--font-scale-display));--line-tight:1.15;--line-snug:1.3;--line-normal:1.5;--tracking-display:-0.025em;--tracking-eyebrow:0.14em;--layout-max-width:1240px;--nav-height:calc(64px*var(--font-scale));--nav-inset:max(var(--space-3),calc(var(--safe-bottom)/2));--sidebar-width:min(calc(252px*var(--font-scale)),34vw);--topbar-height:calc(56px*var(--font-scale));--tap-target:calc(44px*var(--font-scale));--motion-fast:120ms;--motion-base:200ms;--motion-slow:320ms;--motion-ease:cubic-bezier(0.2,0.7,0.3,1);--motion-spring:cubic-bezier(0.34,1.4,0.5,1);color-scheme:light;--color-bg:#f2eee4;--color-bg-muted:#e8e2d4;--color-surface:#fbf9f4;--color-surface-elevated:#fff;--color-surface-sunken:#eae4d7;--color-text:#14201d;--color-text-secondary:#56645b;--color-text-muted:#7d8a81;--color-border:#ded7c7;--color-border-strong:#bdb4a1;--color-primary:#3d7f68;--color-primary-hover:#33705b;--color-primary-contrast:#fff;--color-primary-soft:rgba(78,143,120,.14);--color-success:#3f8455;--color-warning:#b7822c;--color-danger:#b5462c;--color-danger-soft:rgba(181,70,44,.12);--color-focus:#2f6d99;--color-accent:#b98c3e;--color-accent-soft:hsla(36,57%,62%,.2);--color-overlay:rgba(20,32,29,.5);--color-glass:hsla(43,47%,97%,.82);--color-glass-border:hsla(0,0%,100%,.7);--blur-glass:saturate(180%) blur(20px);--ambient-1:rgba(78,143,120,.18);--ambient-2:hsla(36,57%,62%,.16);--ambient-3:rgba(201,111,75,.1);--gradient-primary:linear-gradient(140deg,#4e8f78,#3d7f68 55%,#2f6a55);--gradient-accent:linear-gradient(140deg,#e0bb7f,#d6aa68 60%,#bf9048);--gradient-sheen:linear-gradient(180deg,hsla(0,0%,100%,.28),hsla(0,0%,100%,0) 62%);--gradient-scrim:linear-gradient(180deg,rgba(14,23,21,0),rgba(14,23,21,.24) 42%,rgba(14,23,21,.82));--gradient-hairline:linear-gradient(120deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.12));--shadow-sm:0 1px 2px rgba(20,32,29,.07),0 1px 1px rgba(20,32,29,.04);--shadow-md:0 2px 6px rgba(20,32,29,.06),0 8px 20px rgba(20,32,29,.08);--shadow-lg:0 4px 12px rgba(20,32,29,.08),0 22px 48px rgba(20,32,29,.14);--shadow-xl:0 8px 22px rgba(20,32,29,.1),0 40px 80px rgba(20,32,29,.18);--shadow-primary:0 6px 18px rgba(61,127,104,.32);--shadow-inset-top:inset 0 1px 0 hsla(0,0%,100%,.6);--card-face-bg:#f5f0e6;--card-border:#cfc6b3;--game-table-veil-rgb:246 242 233;--card-slot-rgb:252 249 241;--card-slot-alpha:0.56;--card-slot-edge:rgba(40,48,42,.2);--card-slot-shadow:inset 0 1px 3px rgba(38,44,38,.12)}:root[data-theme=dark]{color-scheme:dark;--color-bg:#0d1017;--color-bg-muted:#12161f;--color-surface:#171c26;--color-surface-elevated:#1f2634;--color-surface-sunken:#10141d;--color-text:#e9ecf3;--color-text-secondary:#a6aebd;--color-text-muted:#7a8496;--color-border:#262d3b;--color-border-strong:#3a4356;--color-primary:#63a78d;--color-primary-hover:#7cbfa4;--color-primary-contrast:#0a0f14;--color-primary-soft:rgba(99,167,141,.16);--color-success:#6bb183;--color-warning:#d6aa68;--color-danger:#e0836a;--color-danger-soft:hsla(13,66%,65%,.16);--color-focus:#7fb6dc;--color-accent:#d6aa68;--color-accent-soft:hsla(36,57%,62%,.18);--color-overlay:rgba(5,8,13,.72);--color-glass:rgba(23,28,38,.8);--color-glass-border:hsla(0,0%,100%,.08);--ambient-1:rgba(72,104,152,.22);--ambient-2:hsla(36,57%,62%,.1);--ambient-3:rgba(94,112,160,.14);--gradient-primary:linear-gradient(140deg,#6fb499,#559a80 55%,#3f8068);--gradient-accent:linear-gradient(140deg,#e6c68f,#d6aa68 60%,#b98c3e);--gradient-sheen:linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0) 60%);--gradient-scrim:linear-gradient(180deg,rgba(5,8,13,0),rgba(5,8,13,.34) 42%,rgba(5,8,13,.9));--gradient-hairline:linear-gradient(120deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.02));--shadow-sm:0 1px 2px rgba(3,6,12,.55);--shadow-md:0 2px 6px rgba(3,6,12,.4),0 10px 24px rgba(3,6,12,.44);--shadow-lg:0 4px 14px rgba(3,6,12,.44),0 26px 56px rgba(3,6,12,.54);--shadow-xl:0 10px 26px rgba(3,6,12,.48),0 46px 90px rgba(3,6,12,.62);--shadow-primary:0 6px 20px rgba(99,167,141,.28);--shadow-inset-top:inset 0 1px 0 hsla(0,0%,100%,.07);--card-face-bg:#f5f0e6;--card-border:#2c3444;--game-table-veil-rgb:7 10 16;--card-slot-rgb:4 8 12;--card-slot-alpha:0.46;--card-slot-edge:hsla(0,0%,100%,.09);--card-slot-shadow:inset 0 1px 3px rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;--color-bg:#0d1017;--color-bg-muted:#12161f;--color-surface:#171c26;--color-surface-elevated:#1f2634;--color-surface-sunken:#10141d;--color-text:#e9ecf3;--color-text-secondary:#a6aebd;--color-text-muted:#7a8496;--color-border:#262d3b;--color-border-strong:#3a4356;--color-primary:#63a78d;--color-primary-hover:#7cbfa4;--color-primary-contrast:#0a0f14;--color-primary-soft:rgba(99,167,141,.16);--color-success:#6bb183;--color-warning:#d6aa68;--color-danger:#e0836a;--color-danger-soft:hsla(13,66%,65%,.16);--color-focus:#7fb6dc;--color-accent:#d6aa68;--color-accent-soft:hsla(36,57%,62%,.18);--color-overlay:rgba(5,8,13,.72);--color-glass:rgba(23,28,38,.8);--color-glass-border:hsla(0,0%,100%,.08);--ambient-1:rgba(72,104,152,.22);--ambient-2:hsla(36,57%,62%,.1);--ambient-3:rgba(94,112,160,.14);--gradient-primary:linear-gradient(140deg,#6fb499,#559a80 55%,#3f8068);--gradient-accent:linear-gradient(140deg,#e6c68f,#d6aa68 60%,#b98c3e);--gradient-sheen:linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0) 60%);--gradient-scrim:linear-gradient(180deg,rgba(5,8,13,0),rgba(5,8,13,.34) 42%,rgba(5,8,13,.9));--gradient-hairline:linear-gradient(120deg,hsla(0,0%,100%,.16),hsla(0,0%,100%,.02));--shadow-sm:0 1px 2px rgba(3,6,12,.55);--shadow-md:0 2px 6px rgba(3,6,12,.4),0 10px 24px rgba(3,6,12,.44);--shadow-lg:0 4px 14px rgba(3,6,12,.44),0 26px 56px rgba(3,6,12,.54);--shadow-xl:0 10px 26px rgba(3,6,12,.48),0 46px 90px rgba(3,6,12,.62);--shadow-primary:0 6px 20px rgba(99,167,141,.28);--shadow-inset-top:inset 0 1px 0 hsla(0,0%,100%,.07);--card-face-bg:#f5f0e6;--card-border:#2c3444;--game-table-veil-rgb:7 10 16;--card-slot-rgb:4 8 12;--card-slot-alpha:0.46;--card-slot-edge:hsla(0,0%,100%,.09);--card-slot-shadow:inset 0 1px 3px rgba(0,0,0,.3)}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}body{font-family:var(--font-family-base);font-size:var(--font-size-md);line-height:var(--line-normal);background-color:var(--color-bg);color:var(--color-text);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{border:none;background:none;cursor:pointer;padding:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}table{border-collapse:collapse}:focus{outline:none}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}#app{position:relative;min-height:100%;min-height:100dvh;display:flex;flex-direction:column;background-color:var(--color-bg);isolation:isolate}#app:before{z-index:-2;background-image:radial-gradient(58vw 46vw at 12% -6%,var(--ambient-1),transparent 62%),radial-gradient(52vw 40vw at 92% 8%,var(--ambient-2),transparent 60%),radial-gradient(64vw 50vw at 50% 108%,var(--ambient-3),transparent 66%)}#app:after,#app:before{content:"";position:fixed;inset:0;pointer-events:none}#app:after{z-index:-1;opacity:.5;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Cpath filter='url(%23a)' opacity='.32' d='M0 0h160v160H0z'/%3E%3C/svg%3E");background-size:160px 160px}.app-shell{display:flex;flex-direction:column;min-height:0}.app-main,.app-shell{flex:1 1 auto;min-width:0}.app-main{width:100%;padding-top:var(--safe-top);padding-bottom:calc(var(--nav-height) + var(--nav-inset) + var(--space-6))}.app-main--fullbleed,.app-shell--immersive .app-main{padding-bottom:0;padding-top:0}:root[data-immersive],:root[data-immersive] body{overflow:hidden;height:100%;max-height:100%}.page{width:100%;max-width:var(--layout-max-width);margin:0 auto;padding:var(--space-5) var(--space-4) 0;padding-left:max(var(--space-4),var(--safe-left));padding-right:max(var(--space-4),var(--safe-right));animation:page-enter var(--motion-slow) var(--motion-ease) both}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.page__header{margin-bottom:var(--space-6)}.page__eyebrow{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--color-primary)}.page__title{font-family:var(--font-family-display);font-size:var(--font-size-2xl);line-height:var(--line-tight);font-weight:var(--font-weight-display);letter-spacing:var(--tracking-display);overflow-wrap:break-word}.page__subtitle{margin-top:var(--space-2);max-width:62ch;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.section{margin-bottom:var(--space-8)}.section__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.section__title{font-family:var(--font-family-display);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);letter-spacing:-.015em}.section__link{display:inline-flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-semibold);white-space:nowrap;transition:gap var(--motion-fast) var(--motion-ease)}.section__link:after{content:"→"}.section__link:hover{gap:8px}.surface{position:relative;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.lit:before,.surface--lit:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:var(--gradient-sheen);opacity:.55}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (min-width:900px){.app-shell{flex-direction:row;align-items:stretch}.app-shell--immersive{flex-direction:column}.app-main{padding-bottom:var(--space-9)}.page{padding:var(--space-8) var(--space-7) 0}.page__title{font-size:var(--font-size-3xl)}.section{margin-bottom:var(--space-9)}.section__title{font-size:var(--font-size-xl)}}@media (min-width:1280px){.page{padding-left:var(--space-8);padding-right:var(--space-8)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}:root[data-motion=reduced] *,:root[data-motion=reduced] :after,:root[data-motion=reduced] :before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}[data-drag-source]{touch-action:none;cursor:grab}[data-drag-source] img,[data-drag-source] svg{-webkit-user-drag:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.is-dragging,.is-dragging *{cursor:grabbing!important;-moz-user-select:none!important;user-select:none!important;-webkit-user-select:none!important}.drag-ghost{position:fixed;left:0;top:0;z-index:80;pointer-events:none;will-change:transform;filter:drop-shadow(0 12px 20px rgba(20,32,29,.4))}.drag-ghost__body{transform:scale(1.06);transform-origin:top center}.drop-zone--hot{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm);background-color:var(--color-primary-soft)}.table-scene{position:relative;overflow:hidden;background-color:var(--color-bg);background-repeat:no-repeat;background-position:50%;background-size:cover;--table-veil-alpha:var(--table-veil-light,0.6);--table-vignette:0.32}:root[data-theme=dark] .table-scene{--table-veil-alpha:var(--table-veil-dark,0.55);--table-vignette:0.6}@media (prefers-color-scheme:dark){:root[data-theme=system] .table-scene{--table-veil-alpha:var(--table-veil-dark,0.55);--table-vignette:0.6}}.table-scene:before{content:"";position:absolute;inset:0;background-color:rgb(var(--game-table-veil-rgb)/var(--table-veil-alpha))}.table-scene:after{content:"";position:absolute;inset:0;background:radial-gradient(132% 84% at 50% 44%,transparent 34%,var(--color-bg) 100%);opacity:var(--table-vignette)}.stack{display:flex;flex-direction:column}.stack--2{gap:var(--space-2)}.stack--3{gap:var(--space-3)}.stack--4{gap:var(--space-4)}.stack--5{gap:var(--space-5)}.row{display:flex;align-items:center}.row--gap-2{gap:var(--space-2)}.row--gap-3{gap:var(--space-3)}.row--wrap{flex-wrap:wrap}.grid-auto{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-sm{font-size:var(--font-size-sm)}.text-xs{font-size:var(--font-size-xs)}.text-numeric{font-family:var(--font-family-numeric);font-variant-numeric:tabular-nums}.text-center{text-align:center}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.no-scrollbar{scrollbar-width:none;-ms-overflow-style:none}.no-scrollbar::-webkit-scrollbar{display:none}