@font-face{font-family:Playfair Display;font-style:normal;font-weight:400 700;font-display:swap;src:url(/play/fonts/playfair-display-var.woff2) format("woff2")}@font-face{font-family:Montserrat;font-style:normal;font-weight:300 600;font-display:swap;src:url(/play/fonts/montserrat-var.woff2) format("woff2")}*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Montserrat,sans-serif;line-height:1.5;font-weight:400;color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--gold: #daa520;--gold-bright: #f5c842;--gold-dim: rgba(218, 165, 32, .55);--gold-line: rgba(218, 165, 32, .18);--win: #a9c48b;--win-line: rgba(169, 196, 139, .45);--lose: #d07a6e;--lose-line: rgba(208, 122, 110, .45);--ink: #f5f5f5;--ink-soft: #cbc5bb;--ink-mute: #948d83;--panel: rgba(0, 0, 0, .42);--panel-solid: rgba(14, 12, 10, .92);--felt: radial-gradient(ellipse at 50% 42%, #17261c 0%, #0f1913 58%, #090f0b 100%);--display: "Playfair Display", serif;--micro: .62rem;--radius: 12px;--gap: 10px;--safe-bottom: env(safe-area-inset-bottom, 0px)}body{min-height:100vh;min-width:320px;background:#0a0a0a;position:relative}body:before{content:"";position:fixed;top:-20px;left:-20px;width:calc(100% + 40px);height:calc(100% + 40px);background:url(/play/hero.jpg) center/cover no-repeat;filter:blur(12px);z-index:-2}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#0a0a0ae0,#140f0ad1,#0a0a0ae0);z-index:-1}#root{min-height:100vh;position:relative;z-index:1}a{color:#daa520;text-decoration:none}a:hover{color:#f5c842}button{font-family:Montserrat,sans-serif}.btn{padding:12px 20px;border:1px solid var(--gold-line);border-radius:var(--radius);background:#ffffff0a;color:var(--ink);font-size:.85rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .1s ease}.btn:hover:not(:disabled){background:#daa52024;border-color:var(--gold-dim)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.35;cursor:default}.btn-primary{background:linear-gradient(145deg,var(--gold) 0%,#b8860b 100%);border-color:var(--gold);color:#150f04}.btn-primary:hover:not(:disabled){background:linear-gradient(145deg,var(--gold-bright) 0%,var(--gold) 100%)}.btn-danger:hover:not(:disabled){background:#d07a6e29;border-color:var(--lose-line)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#0000004d}::-webkit-scrollbar-thumb{background:#daa52066;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#daa52099}.card-group{--card-w: clamp(38px, 11vw, 52px);display:flex;gap:clamp(4px,1.4vw,8px);justify-content:center}.card-group-lg{--card-w: clamp(44px, 13vw, 62px)}.card-group-sm{--card-w: clamp(30px, 8vw, 40px)}.card{position:relative;flex:0 0 auto;width:var(--card-w, 50px);height:calc(var(--card-w, 50px) * 1.4);background:linear-gradient(145deg,#f8f8f8,#e8e8e8);border-radius:calc(var(--card-w, 50px) * .1);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:600;box-shadow:0 2px 8px #00000059,inset 0 1px #fffc;border:1px solid rgba(0,0,0,.1);animation:card-deal .26s cubic-bezier(.22,1,.36,1) backwards;transition:opacity .25s ease,box-shadow .25s ease,transform .2s ease}@keyframes card-deal{0%{opacity:0;transform:translateY(-14px) rotate(-6deg) scale(.92)}to{opacity:1;transform:none}}.card-rank{font-size:calc(var(--card-w, 50px) * .36);line-height:1}.card-suit{font-size:calc(var(--card-w, 50px) * .3);line-height:1.2}.card-red{color:#b8243e}.card-black{color:#1a1a1a}.card-hidden{background:linear-gradient(145deg,#1a3a5c,#0d1f33);border:1px solid rgba(218,165,32,.18);box-shadow:0 2px 8px #0006,inset 0 1px #ffffff0d}.card-hidden:before{content:"";position:absolute;inset:4px;border:1px solid rgba(218,165,32,.22);border-radius:3px;background:repeating-linear-gradient(45deg,transparent,transparent 3px,rgba(218,165,32,.09) 3px,rgba(218,165,32,.09) 6px)}.card-empty{background:#0000002e;border:1px solid rgba(255,255,255,.05);box-shadow:inset 0 1px 4px #00000059;animation:none}.card-highlight{box-shadow:0 0 0 2px var(--gold),0 0 18px #daa5208c,0 2px 8px #00000059;transform:translateY(-4px)}.card-dimmed{opacity:.38}.seat{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"avatar info cards" "avatar status cards";align-items:center;gap:2px 12px;padding:8px 12px;border-radius:var(--radius);border:1px solid transparent;background:var(--panel);transition:border-color .25s ease,background .25s ease}.seat-turn{border-color:var(--gold-dim);background:#daa52012}.seat-avatar{grid-area:avatar;width:52px;height:52px;padding:0;margin-right:10px;border-radius:50%;border:2px solid var(--gold-dim);overflow:hidden;background:#000;cursor:pointer;box-shadow:0 0 10px #daa52040;transition:border-color .2s ease,transform .15s ease}.seat-avatar:hover{border-color:var(--gold);transform:scale(1.05)}.seat-avatar img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}.seat-info{grid-area:info;display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.seat-identity{display:flex;align-items:center;flex-wrap:wrap;gap:2px 8px;min-width:0}.seat-name{font-family:var(--display);font-size:1rem;color:var(--ink);white-space:nowrap}.seat-dealer{flex:0 0 auto;width:17px;height:17px;border-radius:50%;border:1px solid var(--gold-dim);color:var(--gold);font-size:.58rem;font-weight:700;display:grid;place-items:center}.pips{display:flex;gap:3px;flex:0 0 auto}.pip{width:7px;height:7px;border-radius:2px;background:var(--gold);box-shadow:0 0 5px #daa52080;transition:background .4s ease,box-shadow .4s ease,transform .4s ease}.pip-lost{background:#ffffff21;box-shadow:none;transform:scale(.75)}.seat-money{display:flex;align-items:baseline;gap:8px;flex:0 0 auto}.seat-chips{font-family:var(--display);font-size:1.05rem;color:var(--gold);line-height:1}.seat-bet{padding:2px 9px;border-radius:999px;background:#daa52029;border:1px solid var(--gold-line);color:var(--gold-bright);font-size:.72rem;font-weight:600;animation:bet-in .22s ease backwards}@keyframes bet-in{0%{opacity:0;transform:translateY(-6px) scale(.85)}to{opacity:1;transform:none}}.seat-cards{grid-area:cards}.seat-status{grid-area:status;min-height:1em;font-size:var(--micro);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}@media(min-width:1024px){.seat{padding:14px 16px}.seat-name{font-size:1.15rem}.seat-chips{font-size:1.3rem}.seat-avatar{display:none}}.board{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 12px 14px;border-radius:999px/60px;background:var(--felt);border:1px solid rgba(218,165,32,.12);box-shadow:inset 0 0 90px #000000a6,inset 0 0 14px #00000080,inset 0 1px #ffffff0a,0 10px 32px #00000073}.board-meta{display:flex;align-items:center;gap:12px;font-size:var(--micro);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.board-blinds{color:var(--gold-dim)}.pot{display:flex;align-items:baseline;gap:8px;padding:4px 16px;border-radius:999px;background:#00000059;border:1px solid var(--gold-line)}.pot-label{font-size:var(--micro);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.pot-value{font-family:var(--display);font-size:1.4rem;line-height:1.1;color:var(--gold)}.board-cards{width:100%}.result{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:4px 10px;width:100%;padding:8px 14px;border-radius:var(--radius);background:#0000008c;border:1px solid var(--gold-line);text-align:center;animation:result-in .32s cubic-bezier(.22,1,.36,1) backwards}@keyframes result-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}.result-win{border-color:var(--win-line)}.result-lose{border-color:var(--lose-line)}.result-headline{font-family:var(--display);font-size:1.05rem;letter-spacing:.02em}.result-win .result-headline{color:var(--win)}.result-lose .result-headline{color:var(--lose)}.result-split .result-headline{color:var(--gold)}.result-pot{font-family:var(--display);font-size:1.05rem;color:var(--gold)}.result-detail{flex-basis:100%;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}@media(min-width:1024px){.board{gap:14px;padding:20px 24px 26px}.pot-value{font-size:1.8rem}.result-headline,.result-pot{font-size:1.25rem}}.action-bar{min-height:158px;display:flex;flex-direction:column;justify-content:center;gap:10px;padding:12px 12px calc(12px + var(--safe-bottom));background:var(--panel-solid);border-top:1px solid var(--gold-line)}.action-status{min-height:1.1em;text-align:center;font-size:var(--micro);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}.is-thinking .action-status{color:var(--ink-mute);animation:think-pulse 1.4s ease-in-out infinite}@keyframes think-pulse{0%,to{opacity:.45}50%{opacity:1}}.action-quiet{min-height:1px}.action-sizing{display:flex;flex-direction:column;gap:8px;transition:opacity .2s ease}.action-sizing[aria-hidden=true]{opacity:.3}.sizing-presets{display:flex;gap:6px;justify-content:center}.chip-btn{flex:1 1 0;max-width:88px;padding:6px 4px;border-radius:999px;border:1px solid var(--gold-line);background:#ffffff08;color:var(--ink-soft);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.chip-btn.is-active{background:#daa52033;border-color:var(--gold-dim);color:var(--gold-bright)}.chip-btn:disabled{opacity:.4;cursor:default}.sizing-slider{display:flex;align-items:center;gap:12px}.sizing-slider input[type=range]{flex:1 1 auto;min-width:0;height:26px;appearance:none;background:transparent;cursor:pointer}.sizing-slider input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#daa52040}.sizing-slider input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:#daa52040}.sizing-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:20px;height:20px;margin-top:-8px;border-radius:50%;background:var(--gold);border:2px solid #150f04;box-shadow:0 0 8px #daa52099}.sizing-slider input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--gold);border:2px solid #150f04}.sizing-slider input[type=range]:disabled{cursor:default}.sizing-readout{flex:0 0 auto;font-size:.7rem;color:var(--ink-mute);white-space:nowrap}.sizing-readout b{font-family:var(--display);font-size:.95rem;font-weight:400;color:var(--gold)}.sizing-readout i{font-style:normal;opacity:.75}.action-row{display:flex;gap:8px}.action-row .btn{flex:1 1 0;min-width:0;padding:14px 6px;font-size:.78rem;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-row-single{justify-content:center}.btn-deal{flex:0 1 320px;padding:16px 24px}@media(min-width:1024px){.action-bar{min-height:170px;border-top:none;border:1px solid var(--gold-line);border-radius:var(--radius);background:var(--panel)}.action-row .btn{font-size:.85rem}.sizing-readout{font-size:.78rem}}.drawer{display:flex;flex-direction:column-reverse;min-height:0}.drawer-ticker{display:flex;align-items:center;gap:10px;width:100%;padding:9px 14px;border:1px solid var(--gold-line);border-radius:var(--radius);background:var(--panel);color:var(--ink-soft);font-size:.78rem;text-align:left;cursor:pointer}.ticker-text{flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-style:italic}.ticker-toggle{flex:0 0 auto;color:var(--gold);font-size:.7rem}.drawer-log{display:none;flex-direction:column;gap:8px;overflow-y:auto;overscroll-behavior:contain;padding:10px 12px;margin-bottom:6px;border:1px solid var(--gold-line);border-radius:var(--radius);background:var(--panel);max-height:42vh}.drawer.is-open .drawer-log{display:flex}.msg{font-size:.78rem;line-height:1.5;animation:msg-in .22s ease backwards}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.msg-system{color:var(--ink-mute);font-size:.7rem;letter-spacing:.06em}.msg-player{align-self:flex-end;max-width:85%;padding:5px 11px;border-radius:12px 12px 2px;background:#a9c48b21;color:#cddfb8}.msg-ai{display:flex;flex-direction:column;max-width:92%;padding:6px 12px;border-radius:12px 12px 12px 2px;background:#daa52017;border-left:2px solid var(--gold-dim)}.msg-name{font-family:var(--display);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}.msg-text{color:var(--ink-soft)}.msg-text em,.ticker-text em{font-style:italic;color:var(--ink-mute)}.msg-action{padding:7px 12px;border-radius:var(--radius);font-weight:600;text-align:center}.msg-action-win{background:#a9c48b24;color:var(--win)}.msg-action-lose{background:#d07a6e24;color:#e2a89e}@media(min-width:1024px){.drawer{flex-direction:column}.drawer-ticker{display:none}.drawer-log{display:flex;flex:1 1 auto;margin-bottom:0;max-height:none}}.strip-moment{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:20px;background:#000000d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:strip-fade .24s ease;cursor:pointer}@keyframes strip-fade{0%{opacity:0}to{opacity:1}}.strip-card{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:min(92vw,420px);padding:22px 24px;border-radius:18px;background:var(--panel-solid);border:1px solid var(--gold-line);text-align:center;animation:strip-rise .32s cubic-bezier(.22,1,.36,1) backwards}@keyframes strip-rise{0%{opacity:0;transform:translateY(24px) scale(.94)}to{opacity:1;transform:none}}.strip-win .strip-card{border-color:var(--win-line)}.strip-lose .strip-card{border-color:var(--lose-line)}.strip-eyebrow{font-size:var(--micro);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-mute)}.strip-headline{font-family:var(--display);font-size:clamp(1.15rem,5vw,1.6rem);font-weight:400;line-height:1.25}.strip-win .strip-headline{color:var(--gold-bright)}.strip-lose .strip-headline{color:#fca5a5}.strip-media{width:100%;max-height:min(52vh,380px);object-fit:contain;border-radius:var(--radius);border:1px solid var(--gold-line)}.strip-footnote{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.strip-hint{font-size:var(--micro);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);opacity:0;animation:strip-hint-in .4s ease 1.6s forwards}@keyframes strip-hint-in{to{opacity:.7}}.portrait-container{display:flex;flex-direction:column;align-items:center;gap:0;width:100%;height:100%}.portrait{width:100%;height:100%;padding:0;background:none;border:none;border-radius:0;overflow:hidden;position:relative;transition:all .4s ease;cursor:pointer}.portrait:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(218,165,32,.3),transparent);z-index:2}.portrait-placeholder{width:100%;height:100%;background:linear-gradient(180deg,#daa5200f,#8b5a2b1a 40%,#140f0af2);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.portrait-silhouette{width:100px;height:140px;color:#daa52026;margin-top:-20px}.portrait-silhouette svg{width:100%;height:100%}.portrait-image,.portrait-video{width:100%;height:100%;object-fit:cover}.portrait-video{background:#000}.portrait-status{display:none;font-size:.7rem;color:#b8243e;text-transform:uppercase;letter-spacing:1px;font-weight:400}.portrait:hover{border-color:#daa52059;box-shadow:0 12px 40px #0009,0 0 80px #daa52014}.portrait-container[data-state=winning] .portrait{border-color:#3296324d}.portrait-container[data-state=losing] .portrait{border-color:#b8243e4d}.portrait-zoom-hint{display:none;position:absolute;bottom:8px;left:50%;transform:translate(-50%);padding:.25rem .75rem;background:#000000b3;border-radius:4px;font-size:.6rem;text-transform:uppercase;letter-spacing:1px;color:#888;opacity:0;transition:opacity .3s}.portrait:hover .portrait-zoom-hint{opacity:1}.portrait-lightbox{position:fixed;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;cursor:pointer}.lightbox-content{position:relative;max-width:95vw;max-height:95vh;cursor:default;animation:scaleIn .3s ease;display:flex;flex-direction:column;align-items:center}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.lightbox-content img,.lightbox-content video,.lightbox-image,.lightbox-video{max-width:100%;max-height:min(72vh,640px);border-radius:12px;border:1px solid rgba(218,165,32,.3);box-shadow:0 20px 60px #00000080;object-fit:contain;background:#000}.lightbox-placeholder{width:500px;height:667px;background:linear-gradient(180deg,#daa52014,#8b5a2b1f,#140f0af2);border-radius:12px;border:1px solid rgba(218,165,32,.3);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#daa5204d}.lightbox-placeholder svg{width:280px;height:380px}.lightbox-placeholder p{margin-top:1rem;font-size:.9rem;color:#666;text-transform:uppercase;letter-spacing:2px}.lightbox-close{position:absolute;top:6px;right:6px;z-index:3;width:36px;height:36px;border:1px solid rgba(255,255,255,.2);background:#00000080;color:#fff;font-size:1.5rem;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1}.lightbox-close:hover{background:#daa5204d;border-color:#daa52080}.lightbox-caption{text-align:center;margin-top:1rem;display:flex;flex-direction:column;gap:.25rem}.lightbox-name{font-family:Playfair Display,serif;font-size:1.5rem;color:#f5f5f5}.lightbox-status{font-size:.85rem;color:#b8243e;text-transform:uppercase;letter-spacing:1px}.gallery-main{position:relative;display:flex;align-items:center;justify-content:center}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;background:#0009;border:1px solid rgba(218,165,32,.3);color:#fff;font-size:2rem;border-radius:50%;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;z-index:10}.gallery-nav:hover:not(:disabled){background:#daa5204d;border-color:#daa52080}.gallery-nav:disabled{opacity:.3;cursor:not-allowed}.gallery-prev{left:6px}.gallery-next{right:6px}.gallery-thumbnails{display:flex;gap:.5rem;margin-top:1rem;justify-content:center}.gallery-thumb{width:40px;height:40px;background:#00000080;border:1px solid rgba(255,255,255,.2);border-radius:6px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.gallery-thumb:hover{border-color:#daa52080}.gallery-thumb.active{border-color:#daa520;background:#daa52033}.thumb-number{font-size:.9rem;color:#999}.gallery-thumb.active .thumb-number{color:#daa520}@media(max-width:768px){.portrait-silhouette{width:100px;height:140px}.gallery-nav{width:40px;height:40px;font-size:1.5rem}}@media(min-width:1024px){.portrait{height:auto;flex:1 1 auto;min-height:0;border:1px solid rgba(218,165,32,.2);border-radius:10px;box-shadow:0 8px 32px #00000080,0 0 60px #daa5200d}.portrait:hover{border-color:#daa52059}.portrait-container{flex:1 1 auto;min-height:0;height:auto;gap:.75rem;justify-content:flex-start}.portrait-status,.portrait-zoom-hint{display:block}}.gameover-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;animation:gameover-fade .5s ease}@keyframes gameover-fade{0%{opacity:0}to{opacity:1}}.gameover-panel{max-width:420px;width:90%;max-height:90vh;overflow-y:auto;padding:2rem;background:linear-gradient(160deg,#1a1a1f,#101014);border:1px solid rgba(218,165,32,.3);border-radius:12px;text-align:center;display:flex;flex-direction:column;gap:1.2rem}.gameover-title{font-family:Playfair Display,serif;font-size:2rem;margin:0}.gameover-title.win{color:#daa520;text-shadow:0 0 30px rgba(218,165,32,.4)}.gameover-title.lose{color:#b05050}.gameover-image{width:100%;max-height:320px;object-fit:cover;object-position:top;border-radius:8px;border:1px solid rgba(218,165,32,.2)}.gameover-dialogue{color:#ccc;font-style:italic;line-height:1.5;margin:0}.gameover-stats{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem;font-size:.7rem;text-transform:uppercase;letter-spacing:1px;color:#777}.gameover-buttons{display:flex;flex-direction:column;gap:.5rem}.table-screen{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto;grid-template-areas:"header" "opponent" "board" "player";gap:8px;min-height:100dvh;padding:6px 10px calc(228px + var(--safe-bottom));max-width:1400px;margin:0 auto}.table-header{grid-area:header;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 2px}.link-btn{background:none;border:none;color:var(--ink-mute);font-size:.72rem;letter-spacing:.06em;cursor:pointer;padding:4px 0}.link-btn:hover{color:var(--gold)}.table-logo{font-family:var(--display);font-size:.95rem;color:var(--gold);letter-spacing:.04em}.table-hand{font-size:var(--micro);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.zone-portrait{position:fixed;inset:0;z-index:0}.zone-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a08064d,#0a080673 40%,#0a0806b8 75%,#0a0806d9);pointer-events:none}.table-header{position:relative;z-index:1}.zone-opponent{grid-area:opponent;min-width:0;position:relative;z-index:1}.zone-board{grid-area:board;min-width:0;position:relative;z-index:1}.zone-player{grid-area:player;min-width:0;position:relative;z-index:1}.zone-log{min-width:0;min-height:0;padding:0 10px}.table-dock{position:fixed;left:0;right:0;bottom:0;z-index:50;display:flex;flex-direction:column;gap:6px}@media(min-width:1024px){.table-screen{grid-template-columns:300px minmax(380px,1fr) 320px;grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"header   header   header" "portrait opponent log" "portrait board    log" "portrait player   log" "portrait actions  log";gap:14px;padding:14px 20px 20px;height:100dvh}.zone-portrait{position:static;grid-area:portrait;min-width:0;min-height:0;display:flex;flex-direction:column}.zone-portrait:after{content:none}.table-dock{display:contents}.zone-board{display:flex;flex-direction:column;justify-content:center}.zone-board .board{width:100%;max-width:660px;margin:0 auto}.zone-log{grid-area:log;display:flex;flex-direction:column;min-height:0;padding:0}.zone-actions{grid-area:actions}.table-logo{font-size:1.25rem}}.character-select{max-width:1200px;margin:0 auto;padding:3rem 2rem;text-align:center}.select-title{font-family:Playfair Display,serif;font-size:3rem;font-weight:400;letter-spacing:2px;margin-bottom:.5rem;background:linear-gradient(135deg,#f5f5f5,#daa520,#f5f5f5);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.select-subtitle{color:#888;font-size:1.1rem;font-weight:300;margin-bottom:3rem;letter-spacing:1px}.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}@media(max-width:1100px){.character-grid{grid-template-columns:repeat(2,1fr)}}.character-card{background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(218,165,32,.15);border-radius:12px;padding:2rem 1.5rem;cursor:pointer;transition:all .4s ease;text-align:center;font-family:inherit;color:inherit;position:relative;overflow:hidden}.character-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(218,165,32,.3),transparent)}.character-card:hover{border-color:#daa52066;transform:translateY(-8px);box-shadow:0 20px 40px #0006,0 0 60px #daa5201a}.character-portrait{width:100%;aspect-ratio:3 / 4;margin:0 auto 1.5rem;background:linear-gradient(180deg,#daa52014,#8b5a2b1f,#140f0ae6);border-radius:8px;border:1px solid rgba(218,165,32,.1);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.character-portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.5) 100%)}.character-silhouette{width:90px;height:120px;color:#daa52033}.character-silhouette svg{width:100%;height:100%}.character-name{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:400;color:#f5f5f5;margin-bottom:.25rem;letter-spacing:1px}.character-tagline{font-size:.85rem;color:#daa520;font-style:italic;margin-bottom:1rem;letter-spacing:.5px}.character-desc{font-size:.85rem;color:#888;line-height:1.6;font-weight:300}.character-card:nth-child(1):hover{border-color:#c41e3a66;box-shadow:0 20px 40px #0006,0 0 60px #c41e3a26}.character-card:nth-child(2):hover{border-color:#4a90d966;box-shadow:0 20px 40px #0006,0 0 60px #4a90d926}.character-card:nth-child(3):hover{border-color:#9b59b666;box-shadow:0 20px 40px #0006,0 0 60px #9b59b626}.character-card:nth-child(4):hover{border-color:#e8966466;box-shadow:0 20px 40px #0006,0 0 60px #e8966426}.random-section{margin-top:2.5rem}.divider{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.5rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(218,165,32,.3),transparent)}.divider span{color:#666;font-size:.85rem;text-transform:uppercase;letter-spacing:2px}.random-btn{display:inline-flex;align-items:center;gap:.75rem;padding:1rem 2.5rem;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(218,165,32,.25);border-radius:8px;color:#ccc;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:400;text-transform:uppercase;letter-spacing:2px;cursor:pointer;transition:all .3s ease}.random-btn:hover{background:#daa52026;border-color:#daa52080;color:#daa520;transform:translateY(-2px);box-shadow:0 8px 25px #0000004d}.random-icon{font-size:1.2rem}.gender-modal-overlay{position:fixed;inset:0;background:#000c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .2s ease}.gender-modal{background:#140f0af2;border:1px solid rgba(218,165,32,.3);border-radius:12px;padding:2.5rem;text-align:center;max-width:400px;width:90%;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.gender-modal h3{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:400;color:#f5f5f5;margin-bottom:.5rem}.gender-modal p{color:#888;font-size:.9rem;margin-bottom:2rem}.gender-options{display:flex;gap:1rem;justify-content:center}.gender-btn{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.5rem 2rem;background:#0006;border:1px solid rgba(218,165,32,.2);border-radius:8px;color:#ccc;font-family:Montserrat,sans-serif;font-size:.85rem;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .3s ease;min-width:120px}.gender-icon{font-size:2rem}.gender-female:hover{background:#c41e3a26;border-color:#c41e3a80;color:#e84a6f}.gender-female .gender-icon{color:#e84a6f}.gender-male{position:relative}.gender-male.disabled{opacity:.4;cursor:not-allowed}.gender-male .gender-icon{color:#4a90d9}.coming-soon{font-size:.65rem;color:#666;background:#ffffff0d;padding:.25rem .5rem;border-radius:3px;margin-top:.25rem}@media(max-width:900px){.character-grid{grid-template-columns:1fr;max-width:350px;margin:0 auto}.select-title{font-size:2rem}.gender-options{flex-direction:column}}.character-photo{width:100%;height:100%;object-fit:cover;object-position:top}.age-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.age-gate-content{background:#000000b3;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(218,165,32,.2);border-radius:16px;padding:3rem 3.5rem;text-align:center;max-width:480px;width:100%;position:relative;overflow:hidden}.age-gate-content:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(218,165,32,.4),transparent)}.age-gate-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border:2px solid rgba(218,165,32,.5);border-radius:50%;font-family:Playfair Display,serif;font-size:1.75rem;font-weight:600;color:#daa520;margin-bottom:1.5rem;background:#daa5200d}.age-gate-title{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:400;color:#f5f5f5;margin-bottom:1rem;letter-spacing:1px}.age-gate-text{color:#999;font-size:.95rem;line-height:1.7;margin-bottom:1.5rem;font-weight:300}.age-gate-question{color:#ccc;font-size:1.1rem;margin-bottom:2rem;font-weight:400}.age-gate-buttons{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}.age-btn{padding:1rem 2rem;border-radius:8px;font-family:Montserrat,sans-serif;font-size:.85rem;font-weight:500;text-transform:uppercase;letter-spacing:1.5px;cursor:pointer;transition:all .3s ease;min-width:140px}.age-btn-yes{background:linear-gradient(135deg,#daa52040,#b8860b59);border:1px solid rgba(218,165,32,.5);color:#daa520}.age-btn-yes:hover{background:linear-gradient(135deg,#daa52059,#b8860b73);border-color:#daa520b3;box-shadow:0 0 30px #daa52033;color:#f5c842;transform:translateY(-2px)}.age-btn-no{background:#0000004d;border:1px solid rgba(255,255,255,.1);color:#888}.age-btn-no:hover{background:#ffffff0d;border-color:#fff3;color:#aaa}.age-gate-disclaimer{font-size:.75rem;color:#666;line-height:1.6;max-width:320px;margin:0 auto}@media(max-width:500px){.age-gate-content{padding:2rem 1.5rem}.age-gate-buttons{flex-direction:column}.age-btn{width:100%}.age-gate-title{font-size:1.5rem}}.app{min-height:100dvh;display:flex;flex-direction:column}.header{padding:1rem 2rem;border-bottom:1px solid var(--gold-line);display:flex;justify-content:space-between;align-items:center;background:var(--panel);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.logo{font-family:var(--display);font-size:1.5rem;font-weight:400;letter-spacing:2px;background:linear-gradient(135deg,#f5f5f5 0%,var(--gold) 50%,#f5f5f5 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-decoration:none;transition:background-position .3s}.logo:hover{background-position:100% center}.version{color:var(--ink-mute);font-size:.75rem;letter-spacing:1px}.select-screen{flex:1;display:flex;align-items:center;justify-content:center}@media(max-width:768px){.header{padding:.75rem 1rem}.logo{font-size:1.25rem}}
