:root{--gap-stack:.875rem;--gap-screen:1.5rem;--gap-online:1.125rem}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--page);min-height:100dvh;color:var(--ink);font-family:Cormorant Garamond,Hoefler Text,Times New Roman,serif;overflow:hidden}body{background-image:var(--page-grad);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;display:flex}button{color:inherit;cursor:pointer;background:0 0;border:none;min-height:2.75rem;font-family:inherit}input,select,textarea{color:inherit;font-family:inherit}canvas{touch-action:none;border:none;border-radius:.25rem;display:block;box-shadow:0 .5rem 2rem #0009,0 .125rem .5rem #0006}@media (width<=1023px){canvas{box-shadow:none;border-radius:0}}body[data-mode=menu] canvas,body[data-mode=game] #menu-root{display:none}#menu-root{padding:1.5rem;padding-top:max(1.5rem, env(safe-area-inset-top));padding-right:max(1.5rem, env(safe-area-inset-right));padding-bottom:max(1.5rem, env(safe-area-inset-bottom));padding-left:max(1.5rem, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@media (width<=768px){#menu-root{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}body[data-theme=mahogany]{--page:#1a0f08;--page-grad:radial-gradient(120% 80% at 50% 0%, #2a160c 0%, #150a04 70%);--leather:#3b1f12;--leather-deep:#23120a;--wood-base:#7a3a1a;--wood-dark:#3d1808;--wood-light:#a8542a;--wood-grain-a:#220c048c;--wood-grain-b:#dc965a1a;--felt-base:#5a2412;--felt-deep:#3a1408;--brass:#caa05a;--brass-deep:#8a6628;--brass-hi:#f4d894;--accent:#caa05a;--ink:#f0e2c2;--ink-soft:#c9b58a;--ink-dim:#a89472;--rule:#caa05a59;--btn-bg:#2c160b;--btn-bg-hover:#3e1f10;--btn-border:#caa05a8c}body[data-theme=persian]{--page:#0d1a26;--page-grad:radial-gradient(120% 80% at 50% 0%, #15273a 0%, #08121c 70%);--leather:#1a2f44;--leather-deep:#0b1825;--wood-base:#5a3a20;--wood-dark:#2a1808;--wood-light:#8a5a2c;--wood-grain-a:#0f080280;--wood-grain-b:#dcb4781a;--felt-base:#0f3a4a;--felt-deep:#06202c;--brass:#d4a55a;--brass-deep:#8a6028;--brass-hi:#f0d28a;--accent:#3aa6b0;--ink:#ece2c0;--ink-soft:#c4b58a;--ink-dim:#92a4b2;--rule:#d4a55a59;--btn-bg:#0e2330;--btn-bg-hover:#173040;--btn-border:#d4a55a80}body[data-theme=deco]{--page:#0a0a0a;--page-grad:radial-gradient(120% 80% at 50% 0%, #181613 0%, #050505 70%);--leather:#161412;--leather-deep:#0a0908;--wood-base:#1a1816;--wood-dark:#0a0908;--wood-light:#2a2724;--wood-grain-a:#0009;--wood-grain-b:#d4b06c0f;--felt-base:#141210;--felt-deep:#0a0908;--brass:#d4b06c;--brass-deep:#8a7036;--brass-hi:#f0d898;--accent:#d4b06c;--ink:#f2ecdc;--ink-soft:#c8bda0;--ink-dim:#8c8272;--rule:#d4b06c66;--btn-bg:#0e0d0c;--btn-bg-hover:#1a1815;--btn-border:#d4b06c8c}body[data-theme=monte]{--page:#0a1a12;--page-grad:radial-gradient(120% 80% at 50% 0%, #122a1d 0%, #061008 70%);--leather:#0f2418;--leather-deep:#06150c;--wood-base:#3a2410;--wood-dark:#1a0e04;--wood-light:#5a3a1c;--wood-grain-a:#00000080;--wood-grain-b:#c8a05a14;--felt-base:#0f3a26;--felt-deep:#062418;--brass:#d4b06c;--brass-deep:#8a7036;--brass-hi:#f0d898;--accent:#db5440;--ink:#f2ecd8;--ink-soft:#c8bda0;--ink-dim:#92a092;--rule:#d4b06c66;--btn-bg:#0c1d14;--btn-bg-hover:#15301f;--btn-border:#d4b06c80}.wood{background:repeating-linear-gradient(92deg, var(--wood-grain-a) 0, transparent .09375rem, transparent .25rem, var(--wood-grain-a) .3125rem, transparent .4375rem, transparent .6875rem), repeating-linear-gradient(88deg, transparent 0, var(--wood-grain-b) .0625rem, transparent .1875rem, transparent .5625rem), linear-gradient(180deg, var(--wood-light) 0%, var(--wood-base) 40%, var(--wood-dark) 100%);background-blend-mode:multiply, overlay, normal}.leather{background:radial-gradient(circle at 25% 30%, #ffffff0a, transparent 40%), radial-gradient(circle at 75% 70%, #00000040, transparent 50%), repeating-radial-gradient(circle at 30% 30%, #0000000a 0 .0625rem, transparent .0625rem .1875rem), linear-gradient(180deg, var(--leather) 0%, var(--leather-deep) 100%)}.felt{background:repeating-radial-gradient(circle at 20% 30%, #0000000d 0 .0625rem, transparent .0625rem .125rem), repeating-radial-gradient(circle at 70% 80%, #ffffff05 0 .0625rem, transparent .0625rem .1875rem), linear-gradient(180deg, var(--felt-base) 0%, var(--felt-deep) 100%)}.case-frame{background:radial-gradient(circle at 25% 30%, #ffffff0a, transparent 40%), radial-gradient(circle at 75% 70%, #00000040, transparent 50%), repeating-radial-gradient(circle at 30% 30%, #0000000a 0 .0625rem, transparent .0625rem .1875rem), linear-gradient(180deg, var(--leather) 0%, var(--leather-deep) 100%);width:min(56.25rem,100%);height:min(40rem,100%);box-shadow:inset 0 0 0 1px var(--brass-deep), inset 0 0 0 .25rem var(--leather-deep), inset 0 0 0 .3125rem var(--brass), inset 0 0 3.75rem #0009, 0 1.25rem 3.75rem #000000b3, 0 .25rem .75rem #00000080;border-radius:.375rem;flex-direction:column;padding:2.25rem;display:flex;position:relative}@media (width<=768px){.case-frame{border-radius:0;width:100%;height:100%;padding:1.125rem}}@media (width>=1024px){.case-frame{transform:scale(var(--menu-scale,1));transform-origin:50%}}body[data-orientation=landscape][data-layout=mobile] .case-frame{padding:.625rem 1.125rem}.case-frame__corner{pointer-events:none;width:2.375rem;height:2.375rem;position:absolute}.case-frame__corner--tl{top:.5rem;left:.5rem}.case-frame__corner--tr{top:.5rem;right:.5rem;transform:rotate(90deg)}.case-frame__corner--br{bottom:.5rem;right:.5rem;transform:rotate(180deg)}.case-frame__corner--bl{bottom:.5rem;left:.5rem;transform:rotate(270deg)}.menu-subtitle{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.625rem;padding-top:.75rem;display:flex}.menu-subtitle__title{color:var(--ink);letter-spacing:.04em;text-shadow:0 .125rem .25rem #0009;text-align:center;font-size:2.625rem;font-weight:600;line-height:1}.menu-subtitle__divider{width:17.5rem}.main-title{color:var(--ink);letter-spacing:.04em;text-shadow:0 .125rem .25rem #0009;text-align:center;font-size:3.5rem;font-weight:600;line-height:1}.main-title-divider{width:20rem;margin-top:.25rem}@media (width<=768px){.menu-subtitle{padding-top:.25rem}.menu-subtitle__title{font-size:1.75rem}.menu-subtitle__divider{width:12.5rem}.main-title{font-size:2.25rem}.main-title-divider{width:12.5rem}}.divider{align-items:center;gap:.5rem;width:100%;display:flex}.divider__line{background:linear-gradient(90deg, transparent, var(--brass), transparent);flex:1;height:.0625rem}.divider__diamond{background:var(--brass);width:.375rem;height:.375rem;box-shadow:0 0 0 1px var(--brass-deep);transform:rotate(45deg)}.crest-btn{background:linear-gradient(180deg, var(--btn-bg-hover) 0%, var(--btn-bg) 100%);border:1px solid var(--btn-border);width:100%;min-height:2.75rem;color:var(--ink);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;text-shadow:0 .0625rem #0009;touch-action:manipulation;border-radius:.1875rem;justify-content:center;align-items:center;gap:.625rem;padding:.75rem 1.125rem;font-size:1.125rem;transition:filter .12s,transform 60ms;display:flex;box-shadow:inset 0 .0625rem #ffffff0a,inset 0 -.0625rem #0006,0 .125rem .25rem #0006}.crest-btn:hover{filter:brightness(1.15)}.crest-btn:active{transform:translateY(.0625rem)}.crest-btn:disabled{opacity:.4;cursor:not-allowed}.back-button-row{align-self:center;width:12.5rem}.crest-btn:focus-visible,.toggle:focus-visible,.selector:focus-visible,.selector__arrow:focus-visible,.side-picker__swatch:focus-visible,.variant-badge:focus-visible,.settings-row:focus-visible,.settings-tab:focus-visible,.rules:focus-visible{outline:.125rem solid var(--brass-hi);outline-offset:.125rem}.crest-btn--primary{background:linear-gradient(180deg, var(--brass) 0%, var(--brass-deep) 100%);border:1px solid var(--brass-deep);color:#1a0f04;text-shadow:0 .0625rem .0625rem #00000059;font-weight:600;box-shadow:inset 0 .0625rem #ffffff80,inset 0 -.125rem .25rem #0000004d,0 .125rem .375rem #00000080}.crest-btn--small{padding:.5rem .875rem;font-size:.875rem}.crest-btn--copied{background:linear-gradient(180deg, var(--brass) 0%, var(--brass-deep) 100%);color:#1a0f04}.crest-btn__sub{opacity:.7;letter-spacing:.15em;font-size:.6875rem}.crest-btn__sub:before{content:"· "}.crest-btn--primary .crest-btn__sub{opacity:1;font-size:.75rem;font-weight:600}.motif svg{display:block}.settings-panel{flex-direction:column;flex:1;align-self:center;width:100%;max-width:32.5rem;min-height:0;display:flex}.settings-tabs{border-bottom:1px solid var(--rule);gap:.375rem;margin-bottom:.5rem;display:flex}.settings-tab{min-height:0;color:var(--ink-soft);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-bottom:.125rem solid #0000;flex:1;padding:.5rem .75rem;font-family:inherit;font-size:.8125rem;transition:color .12s,border-color .12s}.settings-tab:hover{color:var(--ink)}.settings-tab--active{color:var(--brass-hi);border-bottom-color:var(--brass)}.settings-list{scrollbar-width:thin;scrollbar-color:var(--brass-deep) transparent;flex:1;width:100%;min-height:0;overflow-y:auto}.settings-list::-webkit-scrollbar{width:.375rem}.settings-list::-webkit-scrollbar-thumb{background:var(--brass-deep);border-radius:.1875rem}.settings-row{border-top:1px solid var(--rule);cursor:pointer;justify-content:space-between;align-items:center;gap:.625rem;padding:.875rem .75rem;display:flex}.settings-row--first{border-top:none}.settings-row:last-child{border-bottom:1px solid var(--rule)}.settings-row:hover{background:#ffffff08}.settings-row--disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.settings-row__label{color:var(--ink);letter-spacing:.04em;font-size:1.125rem}.row__name{color:var(--brass);letter-spacing:.06em;font-size:1.0625rem;font-weight:600}.toggle{border:1px solid var(--brass-deep);background:#0006;border-radius:.75rem;flex-shrink:0;width:3.25rem;height:1.5rem;transition:background .18s;position:relative}.toggle__knob{background:radial-gradient(circle at 35% 30%, var(--brass-hi), var(--brass));border-radius:50%;width:1.125rem;height:1.125rem;transition:left .18s;position:absolute;top:.125rem;left:.125rem;box-shadow:0 .0625rem .125rem #0009}.toggle--on{background:linear-gradient(180deg, var(--brass), var(--brass-deep))}.toggle--on .toggle__knob{left:1.9375rem}.selector{color:var(--brass);align-items:center;gap:.875rem;display:flex}.selector__arrow{opacity:.85;min-height:0;padding:.25rem .375rem;font-size:1.125rem;line-height:1}.selector__arrow:hover{opacity:1}.selector__value{text-align:center;min-width:6.875rem;color:var(--ink);letter-spacing:.06em;font-size:1.0625rem;font-weight:600}@media (width<=768px){.settings-row__label,.row__name,.selector__value{font-size:.9375rem}}.online-center{justify-content:safe center;align-items:center;gap:var(--gap-online);text-align:center;scrollbar-width:thin;scrollbar-color:var(--brass-deep) transparent;flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow-y:auto}.online-center::-webkit-scrollbar{width:.375rem}.online-center::-webkit-scrollbar-thumb{background:var(--brass-deep);border-radius:.1875rem}.online-label{color:var(--ink);letter-spacing:.06em;font-size:1.375rem}.online-code{border:.125rem solid var(--brass);color:var(--brass-hi);letter-spacing:.4em;text-shadow:0 .125rem .25rem #0009;background:#0000004d;border-radius:.5rem;padding:1.125rem 2rem;font-family:Courier New,monospace;font-size:3.5rem;font-weight:700}.online-hint{color:var(--ink);font-size:1.125rem}.online-status{color:var(--ink-soft);margin-top:.5rem;font-size:1.125rem}.online-join-slot{justify-content:center;align-items:center;min-height:2.25rem;display:flex}.code-slots{gap:.625rem;display:flex}.code-slot{border:.125rem solid var(--brass-deep);width:4rem;height:5rem;color:var(--brass-hi);background:#00000059;border-radius:.375rem;justify-content:center;align-items:center;font-family:Courier New,monospace;font-size:2.5rem;font-weight:700;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.code-slot--active{border-color:var(--brass);box-shadow:0 0 .75rem #caa05a66}.code-slot__caret{background:var(--brass);width:.125rem;height:50%;animation:1s steps(2,jump-none) infinite caret-blink}@keyframes caret-blink{to{opacity:0}}@media (width<=768px){.online-label{font-size:1rem}.online-code{padding:.875rem 1.375rem;font-size:2.5rem}.online-hint,.online-status{font-size:.875rem}.code-slot{width:2.5rem;height:3rem;font-size:1.5rem}}.waiting-dots:after{content:"";text-align:left;width:1.5em;animation:1.4s steps(4,end) infinite waiting-dots-step;display:inline-block}@keyframes waiting-dots-step{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.rules{scrollbar-width:thin;scrollbar-color:var(--brass-deep) transparent;flex:1;padding:0 .5rem;overflow-y:auto}.rules::-webkit-scrollbar{width:.375rem}.rules::-webkit-scrollbar-thumb{background:var(--brass-deep);border-radius:.1875rem}.rule-card{margin-bottom:1rem}.rule-card:last-child{margin-bottom:0}.rule-card__heading{letter-spacing:.4em;text-transform:uppercase;color:var(--brass);margin-bottom:.25rem;font-size:.6875rem}.rule-card__body{color:var(--ink);font-size:1.0625rem;line-height:1.5}@media (width<=768px){.rule-card__body{font-size:.9375rem}}.screen-body{align-items:center;gap:var(--gap-screen);flex-direction:column;flex:1;min-height:0;padding:2.25rem;display:flex;overflow:hidden}@media (width<=768px){.screen-body{gap:.875rem;padding:1.125rem}}.button-stack{gap:var(--gap-stack);flex-direction:column;width:20rem;max-width:100%;display:flex}@media (width<=768px){.button-stack{gap:.75rem;width:15rem}}body[data-orientation=landscape][data-layout=mobile] .menu-subtitle__title{font-size:1.375rem}body[data-orientation=landscape][data-layout=mobile] .main-title{font-size:1.75rem}body[data-orientation=landscape][data-layout=mobile] .menu-subtitle{gap:.25rem;padding-top:0}body[data-orientation=landscape][data-layout=mobile] .screen-body{gap:.625rem;padding:.625rem 1.125rem}body[data-orientation=landscape][data-layout=mobile] .button-stack{gap:.5rem}body[data-orientation=landscape][data-layout=mobile] .crest-btn{padding:.5rem .875rem;font-size:1rem}body[data-orientation=landscape][data-layout=mobile] .code-slot{width:2.5rem;height:3rem;font-size:1.5rem}body[data-orientation=landscape][data-layout=mobile] .online-code{padding:.5rem 1rem;font-size:2rem}.button-row{justify-content:center;gap:.625rem;display:flex}.footer-motif{flex-direction:column;align-items:center;gap:.25rem;display:flex}.footer-motif__version{letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim);font-size:.625rem}@media (width<=768px){.footer-motif__version{font-size:.5625rem}}.spacer{flex:1}.history-list{scrollbar-width:thin;scrollbar-color:var(--brass-deep) transparent;flex:1;align-self:center;width:100%;max-width:35rem;padding:0 .25rem;overflow-y:auto}.history-list::-webkit-scrollbar{width:.375rem}.history-list::-webkit-scrollbar-thumb{background:var(--brass-deep);border-radius:.1875rem}.history-empty{text-align:center;color:var(--ink-soft);letter-spacing:.04em;padding:1.5rem .5rem;font-size:1rem}.history-row{border-top:1px solid var(--rule);cursor:pointer;justify-content:space-between;align-items:center;gap:.625rem;padding:.75rem .875rem;transition:background .12s;display:flex}.history-row:first-child{border-top:none}.history-row:last-child{border-bottom:1px solid var(--rule)}.history-row:hover{background:#ffffff0a}.history-row__meta{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.history-row__title{color:var(--ink);letter-spacing:.04em;font-size:1rem;font-weight:600}.history-row__sub{color:var(--ink-soft);letter-spacing:.05em;font-size:.8125rem}.history-row__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.history-row__icon-btn,.history-row__delete,.history-row__download{border:1px solid var(--btn-border);width:2rem;height:2rem;min-height:0;color:var(--ink-soft);cursor:pointer;background:#0000004d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:.875rem;transition:color .12s,background .12s;display:flex}.history-row__icon-btn:hover,.history-row__delete:hover,.history-row__download:hover{color:var(--brass-hi);background:#00000080}.history-row__delete:hover{color:var(--accent)}.history-row__verify{font-size:.95rem}.history-row__verify:hover{color:var(--brass-hi)}@media (width<=768px){.history-row__title{font-size:.875rem}.history-row__sub{font-size:.75rem}}.verify-modal-body{text-align:left;flex-direction:column;gap:.875rem;min-width:min(34rem,90vw);display:flex}.verify-header{border-bottom:1px solid #caa05a40;flex-direction:column;gap:.25rem;padding-bottom:.5rem;display:flex}.verify-header__row{gap:.5rem;font-size:.875rem;line-height:1.4;display:flex}.verify-header__key{color:var(--ink-dim);letter-spacing:.04em;min-width:5rem}.verify-header__val{color:var(--ink)}.verify-header__val--mono{letter-spacing:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.verify-header__explainer{color:var(--ink-soft);margin:.5rem 0 0;font-size:.8125rem;line-height:1.4}.verify-list{flex-direction:column;gap:.25rem;max-height:18rem;display:flex;overflow-y:auto}.verify-row{background:#0000002e;border:1px solid #0000;border-radius:.25rem;grid-template-columns:4rem 1fr auto auto;align-items:center;gap:.625rem;padding:.4375rem .625rem;font-size:.875rem;transition:background .12s,border-color .12s;display:grid}.verify-row__label{color:var(--ink-dim);letter-spacing:.04em;font-size:.8125rem}.verify-row__detail{color:var(--ink)}.verify-row__round{color:var(--ink-dim);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem}.verify-row__status{justify-content:flex-end;align-items:center;gap:.3125rem;min-width:7rem;font-size:.8125rem;display:flex}.verify-row__glyph{font-size:1rem;line-height:1}.verify-row__status-label{letter-spacing:.02em}.verify-row__status--ok{color:#69b06f}.verify-row__status--bad{color:#c25555}.verify-row__status--warn{color:#d9a04a}.verify-row__status--pending{color:var(--ink-dim)}.verify-row--verified{border-color:#69b06f59}.verify-row--bad{background:#c255551a;border-color:#c2555573}.verify-row--warn{border-color:#d9a04a59}.verify-row--pending{border-color:#caa05a26}.verify-summary{text-align:center;letter-spacing:.02em;border-radius:.25rem;padding:.5rem .75rem;font-size:.9375rem}.verify-summary--pending{color:var(--ink-soft);background:#00000040}.verify-summary--ok{color:#9ed1a3;background:#69b06f2e}.verify-summary--warn{color:#e8c285;background:#d9a04a2e}.verify-summary--bad{color:#e29494;background:#c255552e}@media (width<=640px){.verify-row{grid-template-columns:1fr;gap:.25rem}.verify-row__status{justify-content:flex-start}}.modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.modal-card{background:radial-gradient(circle at 25% 30%, #ffffff0a, transparent 40%), linear-gradient(180deg, var(--leather) 0%, var(--leather-deep) 100%);width:100%;max-width:27.5rem;box-shadow:inset 0 0 0 1px var(--brass-deep), inset 0 0 0 .25rem var(--leather-deep), inset 0 0 0 .3125rem var(--brass), 0 .75rem 2.5rem #000000b3;border-radius:.375rem;flex-direction:column;gap:.875rem;padding:1.5rem 1.75rem;display:flex}.modal-title{color:var(--ink);letter-spacing:.06em;text-align:center;font-size:1.375rem;font-weight:600}.modal-body{color:var(--ink-soft);text-align:center;letter-spacing:.03em;font-size:.9375rem;line-height:1.5}.modal-body-with-avatar{justify-content:center;align-items:center;gap:.625rem;display:flex}.modal-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:2.5rem;height:2.5rem}.modal-actions{flex-direction:column;gap:.625rem;margin-top:.375rem;display:flex}.modal-input-wrap{flex-direction:column;gap:.5rem;width:100%;display:flex}.modal-input-label{color:var(--ink-soft);letter-spacing:.03em;font-size:.95rem}.modal-input{border:1px solid var(--brass);color:var(--ink);font:inherit;letter-spacing:.02em;box-sizing:border-box;background:#00000040;border-radius:.25rem;width:100%;padding:.5rem .65rem;font-size:1rem}.modal-input:focus-visible{outline:.125rem solid var(--brass);outline-offset:.0625rem}.modal-input-error{color:#c25555;letter-spacing:.02em;min-height:1.1rem;font-size:.85rem}.game-overlay-section{border-bottom:1px solid #00000040;justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 0;display:flex}.game-overlay-section:last-child{border-bottom:none}.game-overlay-section--column{flex-direction:column;align-items:stretch;gap:.5rem}.game-overlay-section--action{flex-direction:column;align-items:stretch;gap:.4rem}.game-overlay-section--action .crest-btn{width:100%}.game-overlay-section__label{color:var(--ink);letter-spacing:.03em;font-size:.95rem}.game-overlay-section__hint{color:var(--ink-soft);letter-spacing:.02em;font-size:.82rem}.game-overlay-actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.game-overlay-actions--center{justify-content:center}.game-overlay-toggle{min-height:0;padding:0}.replay-controls{z-index:900;border-top:1px solid var(--brass-deep);color:var(--ink);background:linear-gradient(#0000008c,#000000d9);justify-content:space-between;align-items:center;gap:.875rem;padding:.75rem 1.125rem;font-family:inherit;display:flex;position:fixed;bottom:0;left:0;right:0}.replay-controls__group{align-items:center;gap:.625rem;display:flex}.replay-controls__group--center{flex:1;justify-content:center}.replay-controls__group--right{justify-content:flex-end}.replay-controls__transport{gap:.375rem;display:flex}.replay-controls__btn{border:1px solid var(--brass-deep);background:linear-gradient(180deg, var(--btn-bg-hover), var(--btn-bg));width:2.375rem;height:2.375rem;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:filter .1s;display:flex}.replay-controls__btn:hover{filter:brightness(1.2)}.replay-controls__btn[disabled]{opacity:.35;cursor:not-allowed}.replay-controls__btn--primary{background:linear-gradient(180deg, var(--brass), var(--brass-deep));color:#1a0f04}.replay-controls__counter{color:var(--ink-soft);letter-spacing:.06em;text-align:center;min-width:5rem;margin-left:.75rem;font-size:.875rem}.replay-controls__speed{align-items:center;gap:.375rem;display:flex}.replay-controls__speed-label{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);font-size:.75rem}.replay-controls__speed-btn{border:1px solid var(--brass-deep);min-width:2.375rem;height:1.875rem;color:var(--ink);letter-spacing:.06em;cursor:pointer;background:#0000004d;border-radius:.25rem;padding:0 .5rem;font-size:.8125rem}.replay-controls__speed-btn--active{background:linear-gradient(180deg, var(--brass), var(--brass-deep));color:#1a0f04}.replay-controls__back{border:1px solid var(--btn-border);height:2rem;color:var(--ink);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:#0000004d;border-radius:.25rem;padding:0 .875rem;font-size:.8125rem}.replay-controls__back:hover{filter:brightness(1.2)}@media (width<=768px){.replay-controls{flex-wrap:wrap;gap:.375rem;padding:.5rem .625rem}.replay-controls__group{gap:.375rem}.replay-controls__btn{width:2rem;height:2rem;font-size:.875rem}.replay-controls__counter{min-width:3.75rem;font-size:.75rem}.replay-controls__speed-label{display:none}.replay-controls__back{padding:0 .5rem;font-size:.75rem}}body[data-mode=replay] #menu-root{display:none}body[data-mode=replay] canvas{display:block}.about-center{text-align:center;scrollbar-width:thin;scrollbar-color:var(--brass-deep) transparent;flex-direction:column;flex:1;justify-content:safe center;align-items:center;gap:.875rem;width:100%;min-height:0;display:flex;overflow-y:auto}.about-center::-webkit-scrollbar{width:.375rem}.about-center::-webkit-scrollbar-thumb{background:var(--brass-deep);border-radius:.1875rem}.about-line--lead{color:var(--ink);letter-spacing:.06em;font-size:1.375rem}.about-line--meta{color:var(--ink-soft);letter-spacing:.18em;text-transform:uppercase;font-size:1.125rem}.about-line--dim{color:var(--ink-dim);letter-spacing:.2em;text-transform:uppercase;font-size:.9375rem}.about-divider{width:17.5rem}@media (width<=768px){.about-line--lead{font-size:1rem}.about-line--meta{font-size:.875rem}.about-line--dim{font-size:.75rem}.about-divider{width:12.5rem}}.variant-badge{border:1px solid var(--rule);background:#00000040;border-radius:.25rem;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem 1rem;display:flex}.variant-badge--interactive{cursor:pointer;outline:none;transition:filter .12s,border-color .12s}.variant-badge--interactive:hover{filter:brightness(1.2);border-color:var(--brass)}.variant-badge__label{letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim);font-size:.625rem}.variant-badge__value{letter-spacing:.08em;color:var(--brass);font-size:1rem}.cycle-badge__row{align-items:center;gap:.75rem;display:flex}.cycle-badge__arrow{color:var(--brass);opacity:.85;min-height:0;padding:0 .125rem;font-size:.875rem;line-height:1}.cycle-badge__arrow:hover{opacity:1}.cycle-badge__arrow:focus-visible{outline:.125rem solid var(--brass-hi);outline-offset:.125rem;border-radius:.125rem}.pre-game-badges{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.side-picker{flex-direction:column;align-items:center;gap:.625rem;display:flex}.side-picker__label{letter-spacing:.4em;text-transform:uppercase;color:var(--ink-dim);font-size:.625rem}.side-picker__row{gap:1.125rem;display:flex}.side-picker__swatch{background:var(--btn-bg);border:1px solid var(--btn-border);color:var(--ink-soft);font:inherit;letter-spacing:.08em;cursor:pointer;border-radius:.375rem;flex-direction:column;align-items:center;gap:.375rem;padding:.75rem 1.125rem;transition:background .15s,border-color .15s,transform .15s;display:flex}.side-picker__swatch:hover{background:var(--btn-bg-hover);border-color:var(--brass)}.side-picker__swatch--selected{background:var(--btn-bg-hover);border-color:var(--brass);box-shadow:0 0 0 1px var(--brass), 0 0 .875rem #caa05a59;color:var(--brass-hi)}.side-picker__disc{border-radius:50%;width:2.75rem;height:2.75rem;display:block;box-shadow:inset 0 -.1875rem .375rem #00000073,0 .0625rem .125rem #0009}.side-picker__swatch--white .side-picker__disc{background:radial-gradient(circle at 35% 30%,#f7ecd2 0%,#d8c094 60%,#9a7c4a 100%)}.side-picker__swatch--black .side-picker__disc{background:radial-gradient(circle at 35% 30%,#5a3618 0%,#2a1606 60%,#100702 100%)}.side-picker__caption{text-transform:uppercase;font-size:.75rem}@media (width<=768px){.side-picker__swatch{padding:.625rem .875rem}.side-picker__disc{width:2.25rem;height:2.25rem}}.auth-widget{align-items:center;gap:.5rem;display:inline-flex;position:relative}.auth-widget__signin-btn,.auth-widget__provider-btn,.auth-widget__signout-btn{cursor:pointer;border:none;border-radius:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500}.auth-widget__provider-btn--google{color:#fff;background:#4285f4}.auth-widget__provider-btn--github{color:#fff;background:#24292e}.auth-widget__profile{cursor:pointer;border-radius:.375rem;align-items:center;gap:.5rem;padding:.25rem .5rem;display:inline-flex}.auth-widget__avatar{object-fit:cover;border-radius:50%;width:2rem;height:2rem}.auth-widget__name{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;font-size:.875rem;overflow:hidden}.auth-widget__signin-btn{background:var(--accent);color:var(--bg,#1a1a1a)}.auth-widget__complete-link{background:var(--accent);color:var(--bg,#1a1a1a);border-radius:.375rem;padding:.375rem .75rem;font-size:.875rem;text-decoration:none}.auth-widget__signout-btn{border:1px solid var(--border-strong,#ffffff40);color:var(--fg-muted,inherit);background:0 0}.auth-widget__signout-btn:hover{background:var(--accent-soft,#ffffff14)}.auth-widget__dropdown{background:var(--bg-elevated,#222);border:1px solid var(--border-strong,#ffffff40);box-shadow:var(--shadow,0 .25rem .75rem #00000059);z-index:100;border-radius:.375rem;flex-direction:column;min-width:9rem;margin-top:.25rem;display:flex;position:absolute;top:100%;right:0}.auth-widget__dropdown-item{color:var(--fg,inherit);cursor:pointer;text-align:left;background:0 0;border:none;padding:.5rem .75rem;font-size:.875rem;text-decoration:none;display:block}.auth-widget__dropdown-item:hover{background:var(--accent-soft,#ffffff14)}.auth-widget__dropdown-item--signout{color:var(--fg-muted,inherit)}.menu-home-link{color:var(--fg-muted,inherit);border-radius:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none}.menu-home-link:hover{color:var(--fg,inherit);background:var(--accent-soft,#ffffff14)}.menu-corner--top-left,.menu-corner--top-right{z-index:10;position:absolute;top:1rem}.menu-corner--top-left{left:1rem}.menu-corner--top-right{right:1rem}.invite-banner{z-index:20;max-width:calc(100% - 2rem);display:none;position:absolute;top:4.5rem;left:50%;transform:translate(-50%)}.invite-banner--visible{display:flex}.invite-banner__card{background:var(--bg-elevated,#222);border:1px solid var(--border-strong,#ffffff40);box-shadow:var(--shadow,0 .25rem .75rem #00000059);border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.invite-banner__avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:2rem;height:2rem}.invite-banner__text{flex-direction:column;gap:.125rem;min-width:0;display:flex}.invite-banner__message{color:var(--fg,inherit);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.invite-banner__more{color:var(--fg-muted,inherit);font-size:.75rem}.invite-banner__error{color:#e05252;font-size:.75rem}.invite-banner__actions{flex-shrink:0;gap:.5rem;display:flex}.invite-banner__btn{cursor:pointer;border:none;border-radius:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500}.invite-banner__btn:disabled{opacity:.6;cursor:default}.invite-banner__btn--accept{background:var(--accent);color:var(--bg,#1a1a1a)}.invite-banner__btn--decline{border:1px solid var(--border-strong,#ffffff40);color:var(--fg-muted,inherit);background:0 0}.invite-banner__btn--decline:hover:not(:disabled){background:var(--accent-soft,#ffffff14)}@media (width<=768px){.invite-banner__card{flex-wrap:wrap}.invite-banner__message{white-space:normal}}.friend-picker__list{text-align:left;flex-direction:column;gap:.625rem;max-height:60vh;display:flex;overflow-y:auto}.friend-picker__status{color:var(--fg-muted,inherit);text-align:center;margin:0;font-size:.9375rem}.friend-picker__status--error{color:#e05252}.friend-picker__link{text-align:center;color:var(--accent);margin-top:.5rem;display:block}.friend-picker__row{background:var(--bg-elevated,#222);border:1px solid var(--border-strong,#ffffff40);border-radius:.375rem;align-items:center;gap:.75rem;padding:.5rem .625rem;display:flex}.friend-picker__avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:1.75rem;height:1.75rem}.friend-picker__info{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.friend-picker__name{color:var(--fg,inherit);text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.friend-picker__handle{color:var(--fg-muted,inherit);font-size:.75rem}.friend-picker__row-error{color:#e05252;font-size:.75rem}.friend-picker__invite-btn{cursor:pointer;background:var(--accent);color:var(--bg,#1a1a1a);border:none;border-radius:.375rem;flex-shrink:0;padding:.375rem .75rem;font-size:.875rem;font-weight:500}.friend-picker__invite-btn:disabled{opacity:.6;cursor:default;background:var(--accent-soft,#ffffff14);color:var(--fg-muted,inherit)}.add-opponent__standalone{flex-direction:column;align-items:flex-start;gap:.25rem;display:flex}
