:root{--bg-1: #0a1428;--bg-2: #16294f;--gold: #c9a24b;--gold-light: #e6c878;--gold-dark: #8f6d26;--ivory: #f3ead5;--ivory-dim: #cfc4a6;--blue-card-1: #35578a;--blue-card-2: #16294a;--red-card-1: #8a2637;--red-card-2: #47101b;--stone-1: #23233a;--stone-2: #171726;--danger: #d9534f;--ok: #4cae6e;--card-w: 108px;--card-w-sm: 88px;--parch-ink: #3b2408;--parch-ink-soft: #6b4a1c;--parch-light: #f6e7c1;--font-display: "Cinzel Decorative", Georgia, "Times New Roman", serif;--font-serif: "Cinzel", Georgia, "Times New Roman", serif;--chat-text: #f3ead5;--chat-system: #cfc4a6;--chat-pseudo: #e6c878;--chat-time: #cfc4a6}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh}body{background:linear-gradient(160deg,var(--bg-1) 0%,var(--bg-2) 60%,#0d1b36 100%);background-attachment:fixed;color:var(--ivory);font-family:Segoe UI,Trebuchet MS,Verdana,sans-serif;font-size:15px;line-height:1.5}#root,.app{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:1.5rem;padding:.6rem 1.4rem;background:#080e1eb8;border-bottom:1px solid rgba(201,162,75,.45);box-shadow:0 2px 12px #00000073;position:sticky;top:0;z-index:20}.logo{font-family:var(--font-display);font-size:1.45rem;font-weight:700;letter-spacing:.12em;background:linear-gradient(180deg,#f4dfa4 0%,var(--gold) 55%,#a37c2c 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 2px 8px rgba(201,162,75,.25)}.header-server{display:inline-flex;align-items:center;gap:.45em;font-size:.85rem;color:var(--ivory-dim)}.server-dot{width:9px;height:9px;border-radius:50%;background:var(--danger);box-shadow:0 0 6px var(--danger);flex:none}.header-server--on .server-dot,.server-banner--on .server-dot{background:var(--ok);box-shadow:0 0 6px var(--ok)}.header-pseudo{margin-left:auto;font-size:.9rem;color:var(--ivory-dim)}.header-pseudo strong{color:var(--gold-light)}.app-main{flex:1;width:100%;max-width:1240px;margin:0 auto;padding:1.4rem 1.4rem 2.5rem}.btn{font:inherit;font-weight:600;color:#221806;background:linear-gradient(180deg,var(--gold-light) 0%,var(--gold) 45%,var(--gold-dark) 100%);border:1px solid var(--gold-light);border-radius:6px;padding:.55em 1.3em;cursor:pointer;text-shadow:0 1px 0 rgba(255,240,200,.4);box-shadow:0 2px 6px #0006;transition:filter .15s ease,transform .1s ease}.btn:hover:not(:disabled){filter:brightness(1.12)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{filter:grayscale(.7) brightness(.75);cursor:not-allowed}.btn--ghost{background:transparent;color:var(--gold-light);border:1px solid var(--gold);text-shadow:none}.btn--ghost:hover:not(:disabled){background:#c9a24b1f}.btn--small{padding:.3em .9em;font-size:.85rem}.input{font:inherit;color:var(--ivory);background:#080e1ebf;border:1px solid rgba(201,162,75,.5);border-radius:6px;padding:.5em .8em;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.input:focus{border-color:var(--gold-light);box-shadow:0 0 0 2px #c9a24b40}.input option{background:var(--bg-1);color:var(--ivory)}.panel{background:linear-gradient(180deg,#14203ceb,#0c1428f2);border:1px solid rgba(201,162,75,.55);border-radius:10px;padding:1.1rem 1.3rem;box-shadow:0 6px 22px #00000073}.screen-title{font-family:var(--font-serif);color:var(--gold-light);letter-spacing:.08em;margin:.2rem 0 .6rem}.spinner{display:inline-block;width:1em;height:1em;margin-right:.5em;border:2px solid rgba(201,162,75,.35);border-top-color:var(--gold-light);border-radius:50%;animation:spin .9s linear infinite;vertical-align:-.15em}@keyframes spin{to{transform:rotate(360deg)}}.waiting-line{display:flex;align-items:center;justify-content:center;color:var(--ivory-dim);margin-top:1.5rem}.chip{display:inline-block;font-size:.75rem;padding:.15em .7em;border:1px solid rgba(201,162,75,.6);border-radius:999px;color:var(--gold-light);background:#c9a24b14;margin-right:.35em}.chip--muted{color:var(--ivory-dim);border-color:#cfc4a659;background:transparent}.chip--danger{color:#ffb3ae;border-color:var(--danger);background:#d9534f1f}.card{--tier-frame: #969ca8;--tier-frame-dark: #484d58;--tier-stud: transparent;--tier-glow: transparent;--tier-emboss: rgba(9, 13, 26, .4);--cw: var(--card-w);position:relative;width:var(--cw);aspect-ratio:1 / 1;border-radius:8px;box-shadow:inset 0 0 0 2px var(--tier-frame),inset 0 0 0 3px #0000008c,0 3px 8px #00000080,0 0 10px var(--tier-glow);-webkit-user-select:none;user-select:none;flex:none;overflow:hidden;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.card--sm{--cw: var(--card-w-sm);border-radius:6px}.card--lg{--cw: 176px}.card--t2{--tier-frame: #bd8347;--tier-frame-dark: #64401b;--tier-emboss: rgba(24, 14, 4, .38)}.card--t3{--tier-frame: #d8dfe9;--tier-frame-dark: #6f7a8d;--tier-stud: #f3f6fb;--tier-glow: rgba(188, 204, 232, .3)}.card--t4{--tier-frame: #e6c878;--tier-frame-dark: #8f6d26;--tier-stud: #f9e5aa;--tier-glow: rgba(230, 200, 120, .45);--tier-emboss: rgba(244, 222, 160, .26)}.card--t5{--tier-frame: #f4e9cf;--tier-frame-dark: #a58c50;--tier-stud: #fff7e0;--tier-glow: rgba(250, 238, 205, .55);--tier-emboss: rgba(255, 246, 219, .3)}.card--blue{background:repeating-linear-gradient(115deg,rgba(255,255,255,.045) 0 2px,transparent 2px 6px),linear-gradient(180deg,#ccd6e8,#8fa3d6 45%,#2b47ad)}.card--red{background:repeating-linear-gradient(115deg,rgba(255,255,255,.04) 0 2px,transparent 2px 6px),linear-gradient(180deg,#e8d0d0,#d97575 45%,#cf2020)}.card-art{position:absolute;top:3.5%;right:3.5%;bottom:3.5%;left:3.5%;border-radius:6px;background-size:cover;background-position:center;background-repeat:no-repeat;pointer-events:none;z-index:1}.card-emblem{position:absolute;top:3.5%;right:3.5%;bottom:3.5%;left:3.5%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:900;font-size:calc(var(--cw) * .48);color:var(--tier-emboss);text-shadow:0 1px 0 rgba(255,255,255,.1),0 -1px 2px rgba(0,0,0,.55);pointer-events:none;z-index:1}.card--t4:after,.card--t5:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.2) 45%,rgba(255,205,235,.15) 50%,rgba(150,225,255,.15) 55%,transparent 68%);background-size:260% 100%;background-position:120% 0;pointer-events:none;z-index:3}.card--t4:after{opacity:.45}.card--t5:after{animation:card-holo 3.6s ease-in-out infinite}@keyframes card-holo{0%,45%{background-position:120% 0}80%,to{background-position:-35% 0}}.card--back{background:url(/img/card-back.png) center / cover no-repeat}.card--clickable{cursor:pointer}.card--clickable:hover{transform:translateY(-3px);filter:brightness(1.1)}.card--selected{box-shadow:inset 0 0 0 2px var(--tier-frame),inset 0 0 0 3px #0000008c,0 0 0 2px var(--gold-light),0 0 18px #e6c878b3,0 6px 14px #0000008c}.card--dimmed{filter:grayscale(.5) brightness(.6)}.card-vals{position:absolute;top:5px;left:6px;display:grid;grid-template-columns:repeat(3,1em);grid-template-rows:repeat(3,.92em);font-size:calc(var(--cw) * .16);font-weight:900;font-family:var(--font-serif);color:#fff;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 2px 3px rgba(0,0,0,.65);text-align:center;line-height:1;pointer-events:none;z-index:4}.v-top{grid-area:1 / 2}.v-left{grid-area:2 / 1}.v-right{grid-area:2 / 3}.v-bottom{grid-area:3 / 2}.card-el{position:absolute;top:5px;right:5px;width:1.6em;height:1.6em;display:flex;align-items:center;justify-content:center;font-size:calc(var(--cw) * .13);background:#080c1880;border:1px solid rgba(201,162,75,.45);border-radius:50%;filter:drop-shadow(0 1px 2px rgba(0,0,0,.7));pointer-events:none;z-index:4}.card-name{position:absolute;left:2px;right:2px;bottom:2px;padding:1em 1.9em .4em .55em;font-family:var(--font-serif);font-weight:700;font-size:calc(var(--cw) * .105);letter-spacing:.03em;text-align:left;color:var(--ivory);text-shadow:0 1px 2px #000;background:linear-gradient(180deg,transparent 0%,rgba(5,8,18,.8) 60%);border-radius:0 0 5px 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;z-index:3}.card-lvl{position:absolute;right:5px;bottom:4px;width:1.65em;height:1.65em;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:900;font-size:calc(var(--cw) * .115);color:#1f1403;background:linear-gradient(160deg,var(--tier-frame) 0%,var(--tier-frame-dark) 100%);border:1px solid rgba(10,10,16,.65);border-radius:50%;box-shadow:0 1px 3px #0009;pointer-events:none;z-index:4}.card--flip{animation:card-flip .45s ease both}@keyframes card-flip{0%{transform:rotateY(0);filter:brightness(1)}45%{transform:rotateY(88deg) scale(1.07);filter:brightness(1.5)}55%{transform:rotateY(92deg) scale(1.07);filter:brightness(1.6)}to{transform:rotateY(0);filter:brightness(1)}}.card--just-placed{animation:card-place .3s cubic-bezier(.2,.9,.3,1.18) both}@keyframes card-place{0%{transform:scale(1.24) translateY(-10px);opacity:.25}to{transform:scale(1) translateY(0);opacity:1}}.board-wrap{position:relative;display:inline-block}.board{display:grid;grid-template-columns:repeat(3,auto);gap:7px;padding:10px}.cell{position:relative;width:calc(var(--card-w) + 8px);aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;background:#2e1a0812;border:1px solid rgba(59,38,12,.35);border-radius:7px;box-shadow:inset 0 1px 8px #2e1a082e;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease}.cell--filled{background:transparent;border-color:transparent;box-shadow:none}.board--targeting .cell--empty{border-color:#c9a24bf2;background:#c9a24b29;box-shadow:inset 0 0 0 1px #e6c8788c,inset 0 0 14px #c9a24b52,0 0 12px #c9a24b66}.cell--playable{cursor:pointer}.cell--playable:hover{border-color:var(--gold-light);background:#c9a24b38;box-shadow:inset 0 0 16px #c9a24b66,0 0 14px #c9a24b80}.cell-element{display:flex;align-items:center;justify-content:center;pointer-events:none}.cell-element-emoji{font-size:2.1rem;filter:drop-shadow(0 1px 2px rgba(30,16,4,.55))}.cell-elem-mod{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;font-family:var(--font-serif);font-weight:900;font-size:calc(var(--card-w) * .34);line-height:1;pointer-events:none;text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000,0 3px 6px rgba(0,0,0,.8);animation:elem-mod-pop .35s cubic-bezier(.2,.9,.3,1.2) both}.cell-elem-mod--plus{color:#7dffa0}.cell-elem-mod--minus{color:#ff7d8a}@keyframes elem-mod-pop{0%{transform:translate(-50%,-50%) scale(1.8);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.cell-element-badge{position:absolute;bottom:-5px;right:-5px;font-size:.85rem;background:#261606e0;border:1px solid rgba(201,162,75,.65);border-radius:50%;width:1.6em;height:1.6em;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2}.flip-banner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3em;pointer-events:none;z-index:5}.flip-banner-item{font-family:var(--font-display);font-size:2.3rem;font-weight:900;letter-spacing:.08em;background:linear-gradient(180deg,#fdf3cf 0%,var(--gold-light) 40%,#a37c2c 75%,#f8e7b0 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 2px rgba(20,8,0,.85)) drop-shadow(0 0 16px rgba(201,162,75,.75));opacity:0;animation:banner-pop 1.4s ease both}@keyframes banner-pop{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1.15)}30%{transform:scale(1)}75%{opacity:1}to{opacity:0;transform:scale(1.05)}}.home{max-width:640px;margin:3rem auto 0;text-align:center}.server-banner{display:inline-flex;align-items:center;gap:.5em;font-size:.9rem;padding:.35em 1.1em;border-radius:999px;border:1px solid rgba(201,162,75,.5);background:#080e1e99;color:var(--ivory-dim)}.home-title{font-family:var(--font-display);font-size:3.2rem;letter-spacing:.1em;margin:1.2rem 0 .4rem;background:linear-gradient(180deg,#f8e7b0 0%,var(--gold) 55%,#9a7429 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 4px 18px rgba(201,162,75,.25)}.home-subtitle{color:var(--ivory-dim);margin:0 0 2rem;font-size:1.05rem}.home-subtitle strong{color:var(--gold-light)}.home-form{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}.home-pseudo{min-width:240px;text-align:center;font-size:1.05rem}.home-error{color:#ffb3ae;margin-top:.9rem}.home-ai-note{margin:1.4rem 0 0;font-size:.92rem;color:var(--ivory-dim)}.home-ai-note strong{color:var(--gold-light)}.rules-recap{margin:2.5rem auto 0;text-align:left;background:#0c1428bf;border:1px solid rgba(201,162,75,.45);border-radius:10px;padding:.8rem 1.2rem}.rules-recap summary{cursor:pointer;font-family:var(--font-serif);color:var(--gold-light);letter-spacing:.08em;font-size:1.05rem}.rules-recap-body{margin-top:.8rem;font-size:.92rem;color:var(--ivory-dim)}.rules-recap-body strong{color:var(--ivory)}.rules-recap-body ul{padding-left:1.2rem}.rules-recap-body li{margin:.25em 0}.rules-recap-note{font-style:italic}.lobby{max-width:760px;margin:0 auto}.lobby-intro{color:var(--ivory-dim)}.lobby-intro strong{color:var(--gold-light)}.ai-panel{margin:1rem 0 1.4rem;border-color:#c9a24bbf;box-shadow:0 6px 22px #00000073,0 0 22px #c9a24b1f}.ai-panel-title{margin:0 0 .2rem;font-family:var(--font-serif);font-size:1.35rem;letter-spacing:.1em;color:var(--gold-light)}.ai-panel-sub{margin:0 0 .9rem;font-size:.9rem;color:var(--ivory-dim)}.ai-difficulty{display:flex;gap:.5rem;margin-bottom:1rem}.ai-diff{position:relative;flex:1 1 0;display:flex;flex-direction:column;gap:.15em;padding:.6em .8em;border:1px solid rgba(201,162,75,.45);border-radius:8px;background:#080e1e8c;cursor:pointer;text-align:center;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.ai-diff:hover{border-color:var(--gold);background:#c9a24b1a}.ai-diff input{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ai-diff:focus-within{box-shadow:0 0 0 2px #e6c8788c}.ai-diff--active{border-color:var(--gold-light);background:linear-gradient(180deg,#e6c87838,#c9a24b1a);box-shadow:inset 0 0 14px #c9a24b2e}.ai-diff-name{font-weight:600;font-size:1.02rem;color:var(--ivory)}.ai-diff--active .ai-diff-name{color:var(--gold-light);text-shadow:0 0 10px rgba(201,162,75,.5)}.ai-diff-hint{font-size:.76rem;color:var(--ivory-dim);line-height:1.25}.ai-rules{border-top:1px solid rgba(201,162,75,.25);padding-top:.8rem}.ai-rules-label{display:block;margin-bottom:.4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ivory-dim)}.ai-rules-summary{margin:.5rem 0 0}.ai-actions{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-top:1rem}.ai-actions-hint{font-size:.82rem;color:var(--ivory-dim);font-style:italic}.lobby-pending{display:flex;align-items:center;margin-bottom:1rem;color:var(--ivory-dim)}.lobby-pending strong{color:var(--gold-light);margin:0 .3em}.player-list{list-style:none;margin:1rem 0 0;padding:0;display:flex;flex-direction:column;gap:.6rem}.player-row{display:flex;align-items:center;gap:1rem;padding:.7rem 1.1rem;background:#0c1428bf;border:1px solid rgba(201,162,75,.35);border-radius:8px}.player-row--empty{justify-content:center;color:var(--ivory-dim);font-style:italic}.player-pseudo{font-weight:600;font-size:1.05rem;color:var(--ivory)}.player-status{font-size:.8rem;padding:.1em .8em;border-radius:999px;margin-right:auto}.player-status--idle{color:#a9e3bd;border:1px solid rgba(76,174,110,.6);background:#4cae6e1a}.player-status--playing{color:#f0c8a0;border:1px solid rgba(220,150,80,.6);background:#dc96501a}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#040812b8;display:flex;align-items:center;justify-content:center;z-index:50;animation:fade-in .2s ease}.modal-backdrop--dark{background:#040812d9}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{width:min(92vw,460px);animation:modal-pop .22s ease}@keyframes modal-pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.modal-title{margin:0 0 .3rem;font-family:var(--font-serif);color:var(--gold-light);letter-spacing:.05em}.modal-sub{margin:0 0 .8rem;color:var(--ivory-dim);font-size:.92rem}.modal-rules-summary{font-size:.85rem;color:var(--ivory-dim);font-style:italic}.modal-actions{display:flex;gap:.8rem;justify-content:center;margin-top:1rem}.rules-picker{display:flex;flex-direction:column;gap:.35rem}.rule-row{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:.6em;padding:.3em .5em;border-radius:6px;cursor:pointer}.rule-row:hover{background:#c9a24b14}.rule-row input{accent-color:var(--gold);cursor:pointer}.rule-row-label{font-weight:600;color:var(--ivory);white-space:nowrap}.rule-row-hint{font-size:.78rem;color:var(--ivory-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rule-row--disabled{opacity:.45;cursor:not-allowed}.rule-row--disabled input{cursor:not-allowed}.deck-builder{max-width:1200px;margin:0 auto}.deck-sub{color:var(--ivory-dim);margin-top:0}.deck-sub strong{color:var(--gold-light)}.deck-note{color:#f0c8a0;background:#dc96501a;border:1px solid rgba(220,150,80,.5);border-radius:8px;padding:.5rem .9rem;font-size:.9rem}.deck-filters{display:flex;gap:.7rem;flex-wrap:wrap;margin:.8rem 0 1rem}.deck-search{flex:1;min-width:200px}.deck-layout{display:grid;grid-template-columns:1fr 320px;gap:1.2rem;align-items:start}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-w-sm),1fr));gap:10px;max-height:calc(100vh - 320px);min-height:260px;overflow-y:auto;padding:10px;background:#080e1e8c;border:1px solid rgba(201,162,75,.3);border-radius:10px;justify-items:center}.deck-no-result{grid-column:1 / -1;text-align:center;color:var(--ivory-dim);font-style:italic}.deck-side{position:sticky;top:70px}.deck-side-title{margin:0 0 .7rem;font-family:var(--font-serif);color:var(--gold-light);letter-spacing:.05em}.deck-preview{display:flex;flex-wrap:wrap;gap:8px}.deck-preview--big{justify-content:center;margin:1.2rem 0}.deck-slot-empty{width:var(--card-w-sm);aspect-ratio:1 / 1;border:2px dashed rgba(201,162,75,.4);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#c9a24b66;font-size:1.4rem;font-family:var(--font-serif)}.deck-actions{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}.deck-side-hint{font-size:.8rem;color:var(--ivory-dim);font-style:italic;margin-bottom:0}.deck-builder--waiting{text-align:center;margin-top:2rem}.center-game{height:100%}.center-game--hidden{display:none}.game{--card-w: clamp(56px, min(15vh, 9.5vw - 32px), 116px);--card-w-sm: 68px;--card-h: var(--card-w);--hand-step: calc(var(--card-h) * .62);height:100%;min-height:480px;display:flex;flex-direction:column;gap:.55rem}.game-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.music-control{display:inline-flex;align-items:center;gap:.4rem}.music-volume{width:90px;height:1.1em;accent-color:var(--gold);cursor:pointer}.game-table{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"lhand center rhand" "lscore mid rscore";padding:12px 10px 6px;background:radial-gradient(ellipse at 50% 40%,#3c1e0500 55%,#2e160457),url(/table-bg.jpg) center / cover no-repeat,linear-gradient(160deg,#caa262,#8a6a34);border:2px solid #35230c;border-radius:12px;box-shadow:inset 0 0 0 2px #c9a24b8c,inset 0 0 70px #2e160480,0 10px 30px #0000008c;overflow:hidden}.table-side{display:flex;align-items:center;justify-content:center}.table-side--left{grid-area:lhand}.table-side--right{grid-area:rhand}.table-center{grid-area:center;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0}.table-score{display:flex;flex-direction:column;padding:0 14px 4px;line-height:1}.table-score--red{grid-area:lscore;align-items:flex-start}.table-score--blue{grid-area:rscore;align-items:flex-end}.table-score-name{font-family:var(--font-serif);font-weight:700;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--parch-ink);text-shadow:0 1px 0 rgba(255,244,214,.55);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-score-value{font-family:var(--font-serif);font-weight:900;font-size:clamp(2.4rem,6.5vh,3.4rem)}.table-score--blue .table-score-value{color:#ecf3ff;text-shadow:-1px -1px 0 #10203c,1px -1px 0 #10203c,-1px 1px 0 #10203c,1px 1px 0 #10203c,0 3px 2px rgba(8,14,30,.65),0 0 20px rgba(90,140,210,.6)}.table-score--red .table-score-value{color:#ffecef;text-shadow:-1px -1px 0 #3c0c16,1px -1px 0 #3c0c16,-1px 1px 0 #3c0c16,1px 1px 0 #3c0c16,0 3px 2px rgba(30,4,10,.65),0 0 20px rgba(210,90,110,.6)}.table-mid{grid-area:mid;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:.25rem;padding-bottom:10px;min-width:0}.table-pot{font-size:.78rem;font-weight:600;padding:.12em .85em;border:1px solid rgba(59,38,12,.55);border-radius:999px;color:var(--parch-light);background:#261606d1;white-space:nowrap}.turn-timer{font-family:var(--font-serif);font-weight:700;font-size:.85rem;padding:.1em .8em;border:1px solid rgba(59,38,12,.55);border-radius:999px;color:var(--parch-light);background:#261606d1;white-space:nowrap;font-variant-numeric:tabular-nums}.turn-timer--danger{color:#ffd7d5;border-color:#d9534fcc;background:#78120ed9;animation:turn-pulse .9s ease-in-out infinite}.turn-indicator{font-family:var(--font-serif);font-weight:700;font-size:.92rem;letter-spacing:.1em;color:var(--parch-ink-soft);text-shadow:0 1px 0 rgba(255,244,214,.55);text-align:center;text-wrap:balance;max-width:100%}.turn-indicator--you{color:#7c4c07;animation:turn-pulse 1.6s ease-in-out infinite}@keyframes turn-pulse{0%,to{opacity:1}50%{opacity:.55}}.hand{position:relative}.hand-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.hand-cards{position:relative;width:var(--card-w);height:calc(var(--card-h) + 4 * var(--hand-step))}.hand--left .hand-cards{margin:0 30px 0 8px}.hand--right .hand-cards{margin:0 8px 0 30px}.hand-slot{position:absolute;left:0;width:var(--card-w);transition:top .3s ease,transform .18s ease}.hand--right .hand-slot:has(.card--clickable):hover{transform:translate(-8px)}.hand--right .hand-slot--selected,.hand--right .hand-slot--selected:has(.card--clickable):hover{transform:translate(-20px)}.hand-slot--deal{animation:.55s cubic-bezier(.18,.8,.25,1) both}.hand--left .hand-slot--deal{animation-name:hand-deal-left}.hand--right .hand-slot--deal{animation-name:hand-deal-right}@keyframes hand-deal-left{0%{translate:calc(-1.6 * var(--card-w)) -24px;rotate:-7deg;opacity:0}to{translate:0 0;rotate:0deg;opacity:1}}@keyframes hand-deal-right{0%{translate:calc(1.6 * var(--card-w)) -24px;rotate:7deg;opacity:0}to{translate:0 0;rotate:0deg;opacity:1}}.hand-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#3b260c80;font-size:1.6rem}.hand-cursor{position:absolute;z-index:40;filter:drop-shadow(0 2px 3px rgba(0,0,0,.55)) drop-shadow(0 0 7px rgba(230,200,120,.55));transition:top .25s ease;pointer-events:none}.hand-cursor--right{right:calc(100% - 8px);animation:cursor-bob-r .85s ease-in-out infinite}.hand-cursor--left{left:calc(100% - 8px);transform:scaleX(-1);animation:cursor-bob-l .85s ease-in-out infinite}@keyframes cursor-bob-r{0%,to{translate:0 0}50%{translate:6px 0}}@keyframes cursor-bob-l{0%,to{translate:0 0}50%{translate:-6px 0}}.start-roulette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;background:#1e100461;border-radius:12px;animation:fade-in .25s ease;pointer-events:all}.start-roulette-cursor{filter:drop-shadow(0 3px 6px rgba(0,0,0,.6))}.start-roulette-cursor--spin{animation:roulette-flip .22s steps(1) infinite}.start-roulette-cursor--left{transform:scaleX(-1)}@keyframes roulette-flip{0%,to{transform:scaleX(1)}50%{transform:scaleX(-1)}}.start-roulette-label{font-family:var(--font-serif);font-weight:700;font-size:1.2rem;letter-spacing:.08em;color:var(--parch-light);text-shadow:0 2px 5px rgba(0,0,0,.85)}.game-over{width:min(92vw,460px);text-align:center;animation:modal-pop .25s ease;background:radial-gradient(ellipse at 50% 0%,rgba(255,248,225,.55),transparent 60%),linear-gradient(170deg,#f2e3bd,#e2cb97 55%,#cfb37c);border:2px solid #35230c;box-shadow:inset 0 0 0 2px #c9a24ba6,inset 0 0 40px #78501440,0 14px 40px #0009;color:var(--parch-ink)}.game-over-title{font-family:var(--font-display);font-size:2.5rem;letter-spacing:.05em;margin:.2rem 0 .6rem}.game-over--win .game-over-title{color:#8a6210;text-shadow:0 1px 0 rgba(255,250,230,.8),0 0 22px rgba(201,162,75,.55)}.game-over--lose .game-over-title{color:#7c1f2d;text-shadow:0 1px 0 rgba(255,250,230,.7)}.game-over--draw .game-over-title{color:#5c4a2a;text-shadow:0 1px 0 rgba(255,250,230,.7)}.game-over-winner{color:#57390f;margin:0 0 .6rem}.game-over-scores{display:flex;align-items:center;justify-content:center;gap:.7rem;font-size:1.15rem;font-weight:600}.score-chip{padding:.25em .9em;border-radius:8px;color:var(--ivory);text-shadow:0 1px 2px rgba(0,0,0,.6)}.score-chip--blue{background:linear-gradient(160deg,var(--blue-card-1),var(--blue-card-2));border:1px solid rgba(16,32,60,.7)}.score-chip--red{background:linear-gradient(160deg,var(--red-card-1),var(--red-card-2));border:1px solid rgba(60,12,22,.7)}.score-sep{color:#57390f}.game-over-pot{color:#57390f;font-weight:600;margin:.7rem 0 0}.game-over-gils{font-family:var(--font-serif);font-weight:700;margin:.4rem 0 0}.game-over-gils--plus{color:#1f6b33}.game-over-gils--minus{color:#8f1f2b}.game-over-rematch{color:#8a6210;font-weight:600;margin:.8rem 0 0}.game-over .btn--ghost{color:#57390f;border-color:#7a5a24}.game-over .btn--ghost:hover:not(:disabled){background:#57390f1f}.trade-offer,.trade-result{margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(59,38,12,.35)}.trade-title{font-family:var(--font-serif);color:#57390f;font-size:1.05rem;margin:0 0 .6rem}.trade-cards{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:.7rem}.trade-cards--lost{opacity:.75}.trade-result-line{font-weight:700;margin:.4rem 0}.trade-result-line--gain{color:#1f6b33}.trade-result-line--loss{color:#8f1f2b}.rule-row--select{grid-template-columns:auto auto 1fr;align-items:center;cursor:default}.rule-trade-select{padding:.25em .6em;font-size:.9rem}.toasts{position:fixed;right:1.2rem;bottom:1.2rem;display:flex;flex-direction:column;gap:.6rem;z-index:100;max-width:min(90vw,360px)}.toast{padding:.7rem 1.1rem;border-radius:8px;background:linear-gradient(180deg,#14203cf5,#0c1428fa);border:1px solid rgba(201,162,75,.6);color:var(--ivory);box-shadow:0 6px 18px #00000080;animation:toast-in .25s ease;font-size:.92rem}.toast--error{border-color:var(--danger);color:#ffd7d5}@keyframes toast-in{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}.app-main--launcher{max-width:none;padding:0}.lc{min-height:100%;display:flex;flex-direction:column}.lc-main{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 396px;align-items:start}.lc-editorial{min-width:0;padding:1.6rem 1.8rem 3rem;display:flex;flex-direction:column;gap:1.6rem}.lc-hero-art{position:relative;width:100%;height:clamp(300px,26vw,420px);overflow:hidden;border:1px solid rgba(201,162,75,.4);background:#0a132c url(/table-bg.jpg) right center / cover no-repeat}.lc-hero-shade{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#040814f7,#040814ed 44%,#04081499 76%,#04081452)}.lc-hero-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;padding:1.8rem 3.6rem}.lc-kicker{font-family:var(--font-serif);font-size:.66rem;letter-spacing:.26em;color:var(--gold-light)}.lc-hero-title{margin:0;max-width:22ch;font-family:var(--font-serif);font-size:clamp(1.4rem,2.4vw,2.1rem);font-weight:900;line-height:1.14;letter-spacing:.04em;color:#f7f9ff;text-shadow:0 3px 20px rgba(0,0,0,.85);text-wrap:pretty}.lc-hero-body{margin:0;max-width:52ch;font-size:clamp(.82rem,1vw,.92rem);color:#c3cde3;text-wrap:pretty}.lc-arrow{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:52px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:#060c1c8c;border:1px solid rgba(201,162,75,.35);color:#c9a24b;cursor:pointer}.lc-arrow:hover{background:#060c1ce6;color:#f6e7bd}.lc-arrow--prev{left:10px}.lc-arrow--next{right:10px}.lc-dots{display:flex;justify-content:center;gap:7px;margin-top:.7rem}.lc-dot{width:24px;height:3px;padding:0;border:none;cursor:pointer;background:#c9a24b4d}.lc-dot--on{background:var(--gold-light)}.lc-feed-head{display:flex;align-items:baseline;gap:.9rem;margin-bottom:.5rem}.lc-feed-head h3{margin:0;font-family:var(--font-serif);font-size:.72rem;letter-spacing:.24em;color:var(--gold-light)}.lc-rule{flex:1;height:1px;background:linear-gradient(90deg,#c9a24b80,#c9a24b0d)}.lc-feed{list-style:none;margin:0;padding:0}.lc-news{display:grid;grid-template-columns:82px 1fr;gap:.9rem;align-items:baseline;padding:.4rem .5rem;border-bottom:1px solid rgba(201,162,75,.1)}.lc-news:hover{background:#e6c87812}.lc-news-date{font-family:var(--font-serif);font-size:.76rem;font-variant-numeric:tabular-nums;color:#8f7a45}.lc-news-body{min-width:0;font-size:.9rem}.lc-news-tag{font-weight:700;margin-right:.5em}.lc-news-title{color:#c8d2e6}.lc-side{align-self:stretch;background:#0a132c;border-left:1px solid rgba(201,162,75,.4);padding:1.8rem 1.9rem 2.4rem;display:flex;flex-direction:column;gap:1.4rem}.lc-brand{text-align:center}.lc-brand-name{font-family:var(--font-display);font-size:1.75rem;font-weight:700;letter-spacing:.1em;line-height:1.15;background:linear-gradient(180deg,#f8e7b0,#c9a24b 55%,#9a7429);-webkit-background-clip:text;background-clip:text;color:transparent}.lc-brand-sub{margin-top:.35rem;font-family:var(--font-serif);font-size:.6rem;letter-spacing:.34em;color:#7f8ca8}.lc-status{border:1px solid rgba(201,162,75,.35);background:#0b132b}.lc-status-head{display:flex;align-items:center;gap:.6em;padding:.6em .9em;border-bottom:1px solid rgba(201,162,75,.22);font-family:var(--font-serif);font-size:.7rem;letter-spacing:.18em}.lc-status-on{color:#8fd6b0}.lc-status-off{color:#a4707a}.server-dot--on{background:var(--ok);box-shadow:0 0 6px var(--ok)}.server-dot--off{background:var(--danger);box-shadow:0 0 6px var(--danger)}.lc-status-rows{margin:0;padding:.7em .9em;display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;font-size:.84rem}.lc-status-rows dt{color:#7f8ca8}.lc-status-rows dd{margin:0;font-family:var(--font-serif);font-weight:700;color:var(--ivory);font-variant-numeric:tabular-nums}.lc-form{display:flex;flex-direction:column;gap:.9rem}.lc-field{display:flex;flex-direction:column;gap:.3rem}.lc-label{font-family:var(--font-serif);font-size:.64rem;letter-spacing:.2em;color:#9aa8c4}.lc-field .input{border-radius:0;font-size:1rem;padding:.6em .75em}.lc-remember{display:flex;align-items:center;gap:.6em;font-size:.85rem;color:#9aa8c4;cursor:pointer}.lc-remember input{width:1.05em;height:1.05em;accent-color:var(--gold)}.lc-submit{font:inherit;font-family:var(--font-serif);font-size:.95rem;font-weight:900;letter-spacing:.24em;color:#211705;background:linear-gradient(180deg,#f2dda2,#c9a24b 48%,#8f6d26);border:1px solid var(--gold-light);border-radius:0;padding:.82em 1em;cursor:pointer;box-shadow:0 4px 14px #00000080}.lc-secondary{font:inherit;font-family:var(--font-serif);font-size:.8rem;letter-spacing:.18em;color:var(--gold-light);background:transparent;border:1px solid rgba(201,162,75,.5);border-radius:0;padding:.62em 1em;cursor:pointer}.lc-submit:disabled,.lc-secondary:disabled{opacity:.55;cursor:not-allowed}.lc-footnote{margin:auto 0 0;font-size:.72rem;line-height:1.5;color:#5b688a;text-align:center}@media(max-width:1023px){.lc-main{grid-template-columns:1fr}.lc-side{border-left:none;border-top:1px solid rgba(201,162,75,.4)}}.launcher{max-width:560px;margin:3rem auto 0;text-align:center}.launcher-form{display:flex;flex-direction:column;gap:.8rem;max-width:340px;margin:0 auto}.launcher-input{text-align:center;font-size:1.02rem}.launcher-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;margin-top:.3rem}.app--client{height:100vh;overflow:hidden}.app-main--client{flex:1;min-height:0;max-width:none;margin:0;padding:0;display:flex}.client-shell{flex:1;display:grid;grid-template-columns:25% 50% 25%;min-height:0;width:100%}.client-shell--wide{grid-template-columns:216px minmax(0,1fr) 48px}.roster--collapsed{display:flex;flex-direction:column;align-items:center;gap:.7rem;padding:.9rem 0;overflow:hidden}.roster-collapsed-title{font-family:var(--font-serif);font-size:.68rem;letter-spacing:.22em;color:#9aa8c4;writing-mode:vertical-rl;text-orientation:mixed}.client-col{min-height:0;overflow-y:auto}.client-col--left{border-right:1px solid rgba(201,162,75,.35);background:#080e1e73}.client-col--right{border-left:1px solid rgba(201,162,75,.35);background:#080e1e73}.center-col{display:flex;flex-direction:column;overflow:hidden}.center-view{flex:1;min-height:0;overflow-y:auto;padding:1rem 1.3rem 1.6rem}.center-banner{flex:none;display:flex;align-items:center;gap:.7em;padding:.5rem 1.3rem;font-size:.9rem;color:var(--ivory-dim);background:#c9a24b1a;border-bottom:1px solid rgba(201,162,75,.4)}.center-banner strong{color:var(--gold-light)}.view-sub{color:var(--ivory-dim);margin-top:0}.view-sub strong{color:var(--gold-light)}.side-menu{padding:1rem .8rem;display:flex;flex-direction:column;gap:.25rem;align-content:start}.gils-badge{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;color:var(--gold-light);text-shadow:0 0 10px rgba(201,162,75,.4);padding:.5em .8em;margin-bottom:.6rem;background:#c9a24b14;border:1px solid rgba(201,162,75,.45);border-radius:8px;text-align:center}.menu-entry{display:flex;align-items:center;gap:.5em;width:100%;text-align:left;font:inherit;color:var(--ivory);background:transparent;border:1px solid transparent;border-radius:6px;padding:.5em .8em;cursor:pointer;transition:background .15s ease,border-color .15s ease}.menu-entry:hover{background:#c9a24b14}.menu-entry--active{background:#c9a24b29;border-color:#c9a24b8c;color:var(--gold-light);font-weight:600}.menu-entry-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menu-badge{flex:none;background:var(--danger);color:#fff;border-radius:999px;font-size:.72rem;font-weight:700;padding:.1em .6em;box-shadow:0 0 6px #d9534f99}.menu-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 6px var(--ok);animation:turn-pulse 1.6s ease-in-out infinite}.menu-section{margin-top:.9rem;padding:0 .8em .2em;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;color:var(--ivory-dim)}.menu-settings{margin-top:auto;color:var(--ivory-dim)}.menu-settings:hover{color:var(--gold-light)}.settings-panel{width:min(92vw,480px)}.settings-rows{display:flex;flex-direction:column;gap:.5rem;margin:.8rem 0}.settings-row{display:grid;grid-template-columns:44px auto 1fr;align-items:center;gap:.7em;cursor:pointer}.settings-tabs{margin-bottom:.8rem}.settings-row--check{grid-template-columns:44px auto 1fr}.settings-row--check input[type=checkbox],.settings-row--check input[type=radio]{justify-self:center;width:1.05em;height:1.05em;accent-color:var(--gold);cursor:pointer}.settings-row input[type=color]{width:40px;height:28px;padding:2px;border:1px solid rgba(201,162,75,.5);border-radius:6px;background:#080e1ebf;cursor:pointer}.settings-row-label{font-weight:600;color:var(--ivory);white-space:nowrap}.settings-row-hint{font-size:.78rem;color:var(--ivory-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-preview{background:#080e1e8c;border:1px solid rgba(201,162,75,.3);border-radius:8px;padding:.4rem .8rem;margin:.2rem 0}.roster{padding:1rem .8rem}.roster-title{margin:0 0 .6rem;font-family:var(--font-serif);color:var(--gold-light);letter-spacing:.08em;font-size:1.05rem;display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.roster-count{font-size:.85rem;font-weight:700;color:var(--ivory);background:#c9a24b24;border:1px solid rgba(201,162,75,.5);border-radius:999px;padding:.05em .7em;line-height:1.3}.roster-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.2rem}.roster-row{display:flex;align-items:center;gap:.55em;width:100%;text-align:left;font:inherit;color:var(--ivory);background:transparent;border:1px solid transparent;border-radius:6px;padding:.45em .7em;cursor:pointer;transition:background .15s ease}.roster-row:hover{background:#c9a24b14}.roster-dot{flex:none;width:8px;height:8px;border-radius:50%}.roster-dot--idle{background:var(--ok);box-shadow:0 0 5px var(--ok)}.roster-dot--playing{background:#dc9650;box-shadow:0 0 5px #dc9650}.roster-dot--away{background:#f0a020;box-shadow:0 0 6px #f0a020}.side-actions{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin-bottom:.7rem}.side-action{padding:.35em .2em;font-size:.78rem;text-align:center}.side-action--away{border-color:#f0a020;color:#f0a020}.side-action--logout{border-color:#d9534f99;color:#ffb3ae}.side-action--logout:hover:not(:disabled){background:#d9534f1f}.roster-pseudo{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.roster-self{color:var(--ivory-dim);font-size:.82em}.roster-bot-chip{flex:none;margin-right:0;font-size:.66rem}.roster-empty{color:var(--ivory-dim);font-style:italic;font-size:.88rem;padding:.4em .7em}.context-menu{position:fixed;z-index:80;min-width:180px;padding:.3rem;background:linear-gradient(180deg,#14203cfa,#0c1428fc);border:1px solid rgba(201,162,75,.6);border-radius:8px;box-shadow:0 8px 24px #0009;animation:fade-in .12s ease}.context-menu-header{padding:.3em .8em .4em;font-weight:600;color:var(--gold-light);border-bottom:1px solid rgba(201,162,75,.3);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.context-menu-item{display:block;width:100%;text-align:left;font:inherit;font-size:.92rem;background:none;border:none;color:var(--ivory);padding:.45em .8em;border-radius:5px;cursor:pointer}.context-menu-item:hover:not(:disabled){background:#c9a24b26;color:var(--gold-light)}.context-menu-item:disabled{opacity:.45;cursor:not-allowed}.chat-view{display:flex;flex-direction:column;height:100%;min-height:0;gap:.6rem}.chat-title{flex:none;margin-bottom:0}.chat-log{flex:1;min-height:0;overflow-y:auto;background:#080e1e8c;border:1px solid rgba(201,162,75,.3);border-radius:10px;padding:.8rem 1rem;font-size:.92rem}.chat-line{margin:0 0 .25em;overflow-wrap:anywhere;color:var(--chat-text);font-style:var(--chat-font-style, normal);font-weight:var(--chat-font-weight, 400)}.chat-time{color:var(--chat-time);font-size:.82em}.chat-pseudo{color:var(--chat-pseudo);font-weight:600}.chat-pseudo--self{color:#9dc3f2}.chat-line--system{color:var(--chat-system);font-style:italic}.chat-empty{color:var(--ivory-dim);font-style:italic}.chat-input-row{flex:none;display:flex;gap:.6rem}.chat-head{flex:none;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.chat-tabs{display:inline-flex;gap:.35rem}.chat-tab{font:inherit;font-size:.85rem;color:var(--ivory-dim);background:transparent;border:1px solid rgba(201,162,75,.35);border-radius:999px;padding:.25em 1em;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.chat-tab:hover{color:var(--gold-light)}.chat-tab--active{color:var(--gold-light);border-color:var(--gold);background:#c9a24b24;font-weight:600}.chat-input{flex:1;min-width:0}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--card-w-sm),1fr));gap:10px;padding:10px;background:#080e1e8c;border:1px solid rgba(201,162,75,.3);border-radius:10px;justify-items:center}.collection-layout{display:block}.card-table-wrap{overflow-x:auto;background:#080e1e8c;border:1px solid rgba(201,162,75,.3);border-radius:10px}.card-table{width:100%;border-collapse:collapse;font-size:.88rem}.card-table th{text-align:left;padding:.5em .8em;font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;color:var(--ivory-dim);border-bottom:1px solid rgba(201,162,75,.45);white-space:nowrap;position:sticky;top:0;background:#0a1224f7;z-index:1}.card-table-sort{font:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer;letter-spacing:inherit;text-transform:inherit}.card-table-sort:hover{color:var(--gold-light)}.card-table td{padding:.35em .8em;border-bottom:1px solid rgba(201,162,75,.12);white-space:nowrap}.card-table tbody tr{cursor:pointer;transition:background .12s ease}.card-table tbody tr:hover{background:#c9a24b14}.card-table-row--active{background:#c9a24b29}.card-table-row--active td{color:var(--gold-light)}.card-table-name{display:flex;align-items:center;gap:.6em;font-weight:600;color:var(--ivory)}.card-table-thumb{flex:none;width:30px;height:30px;border-radius:5px;background-size:cover;background-position:center;border:1px solid rgba(201,162,75,.4);box-shadow:0 1px 3px #00000080}.card-table-thumb--letter{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);color:var(--gold-light);background:linear-gradient(160deg,var(--blue-card-1),var(--blue-card-2))}.card-table-vals{font-variant-numeric:tabular-nums;letter-spacing:.05em}.card-table-price{color:var(--gold-light)}.card-table-none{color:var(--ivory-dim)}.collection-side{position:sticky;top:70px;display:flex;flex-direction:column;gap:.6rem}.collection-side-info{display:grid;grid-template-columns:auto 1fr;gap:.3rem .9rem;margin:0;font-size:.85rem}.collection-side-info dt{color:var(--ivory-dim)}.collection-side-info dd{margin:0;color:var(--ivory);font-weight:600}@media(max-width:1023px){.collection-layout{grid-template-columns:1fr}.collection-side{position:static;flex-direction:row;align-items:flex-start}}.browser{height:100%;min-height:0;display:flex;flex-direction:column;gap:.7rem}.browser-head{flex:none;display:flex;align-items:flex-end;gap:1.4rem;flex-wrap:wrap}.browser-title{margin:0;font-size:1.5rem;font-weight:900;letter-spacing:.18em;color:#f2f5fc;text-shadow:0 0 18px rgba(201,162,75,.28),0 2px 0 rgba(0,0,0,.6)}.browser-gauge{flex:1;min-width:190px;max-width:320px}.browser-gauge-head,.browser-balance{display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;white-space:nowrap;font-size:.66rem;letter-spacing:.16em;font-family:var(--font-serif);color:#9aa8c4;margin-bottom:4px}.browser-gauge-count,.browser-balance strong{color:var(--gold-light);font-variant-numeric:tabular-nums;letter-spacing:.04em}.browser-gauge-track{height:6px;background:#0b132b;border:1px solid rgba(201,162,75,.4)}.browser-gauge-fill{height:100%;background:linear-gradient(90deg,#8f6d26,var(--gold-light));box-shadow:0 0 10px #e6c87880;transition:width .3s ease}.browser-filters{flex:none;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.browser-search{width:180px;font-size:.9rem;padding:.4em .7em;border-radius:0}.tick-group{display:flex;gap:3px}.tick{font-family:var(--font-serif);font-size:.68rem;letter-spacing:.14em;height:26px;padding:0 .7em;cursor:pointer;border-radius:0;background:#0b132b;border:1px solid rgba(201,162,75,.35);color:#9aa8c4;transition:border-color .12s ease,color .12s ease,background .12s ease}.tick--sq{width:26px;padding:0;font-size:.82rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.tick:hover{border-color:var(--gold-light);color:#eaf2ff}.tick--on{background:#e6c8782e;border-color:var(--gold-light);color:#f6e7bd}.gem{display:inline-block;vertical-align:middle;width:9px;height:9px;transform:rotate(45deg);border:1px solid rgba(0,0,0,.45)}.gem--empty{background:transparent;border-color:#4d5a76}.gem-none{display:inline-block;vertical-align:middle;color:#4d5a76;font-size:.8rem;line-height:9px}.browser-table td.col-mid{text-align:center}.browser-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.browser-table-wrap{min-height:0;overflow-y:auto;background:#080f24;border:1px solid rgba(201,162,75,.45);box-shadow:inset 0 1px #c9a24b1a}.browser-table{width:100%;border-collapse:collapse;font-size:.88rem}.browser-table th{position:sticky;top:0;z-index:1;background:#080f24;border-bottom:1px solid rgba(201,162,75,.45);padding:.5em .7em;font-family:var(--font-serif);font-size:.68rem;letter-spacing:.2em;color:#7f8ca8;white-space:nowrap;text-align:center}.browser-table th button{font:inherit;letter-spacing:inherit;color:inherit;background:none;border:none;padding:0;cursor:pointer}.browser-table th button:hover{color:var(--gold-light)}.browser-table th.col-name{text-align:left}.browser-table th.col-price,.browser-table td.col-price{text-align:right;padding-right:1em}.browser-table td{padding:.28em .7em;border-bottom:1px solid rgba(201,162,75,.1)}.col-cursor{width:26px;padding:0!important;text-align:center}.col-mid{text-align:center}.col-num,.col-vals,.col-price{font-family:var(--font-serif);font-weight:700;font-variant-numeric:tabular-nums}.col-vals{letter-spacing:.08em;color:#b3c0da}.col-price{color:var(--gold-light)}.browser-row{cursor:pointer}.browser-row:hover{background:#e6c8781a}.browser-row--active{background:#e6c87821}.browser-row--active td{color:#f6e7bd}.browser-row--owned td{color:#7f8ca8}.browser-row--owned .col-price{color:#4d5a76}.row-cursor{display:inline-block;width:17px;height:11px;background:url(/img/cursor.png) center / contain no-repeat}.row-name{display:flex;align-items:center;gap:.6em;font-weight:600;white-space:nowrap}.row-thumb{flex:none;width:28px;height:28px;background-size:cover;background-position:center;border:1px solid rgba(201,162,75,.4);background-color:#0b132b}.browser-empty{padding:2rem!important;text-align:center;color:#7f8ca8;font-style:italic}.browser-preview{min-height:0;align-self:start;position:sticky;top:0}.preview-panel{background:#0a132c;border:1px solid rgba(201,162,75,.55);box-shadow:inset 0 1px #c9a24b24,0 8px 28px #0000008c}.preview-head{padding:.5em .9em;background:#c9a24b1a;border-bottom:1px solid rgba(201,162,75,.28);font-family:var(--font-serif);font-size:.68rem;letter-spacing:.24em;color:#7f8ca8;display:flex;justify-content:space-between;align-items:baseline;gap:1em}.preview-lock{font-size:.95rem;line-height:1;opacity:.45;filter:grayscale(1);transition:opacity .15s ease,filter .15s ease}.preview-lock--on{opacity:1;filter:none}.preview-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.9rem;align-items:center}.preview-name{margin:0;font-family:var(--font-serif);font-size:1.15rem;font-weight:700;letter-spacing:.08em;color:#f2f5fc;text-align:center}.preview-info{width:100%;margin:0;display:grid;grid-template-columns:auto 1fr;gap:.3rem 1rem;font-size:.85rem;border-top:1px solid rgba(201,162,75,.22);border-bottom:1px solid rgba(201,162,75,.22);padding:.7rem 0}.preview-info dt{color:#7f8ca8;font-family:var(--font-serif);font-size:.68rem;letter-spacing:.16em;align-self:center}.preview-info dd{margin:0;font-family:var(--font-serif);font-weight:700;color:var(--ivory)}.preview-el{display:flex;align-items:center;gap:.5em}.preview-price{width:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-family:var(--font-serif);font-size:.68rem;letter-spacing:.16em;color:#7f8ca8}.preview-price strong{font-size:1.1rem;font-weight:900;font-variant-numeric:tabular-nums;color:var(--gold-light);letter-spacing:.04em}.preview-action{width:100%;font:inherit;font-family:var(--font-serif);font-size:.8rem;letter-spacing:.16em;font-weight:700;padding:.62em 1em;cursor:pointer;border-radius:0;text-align:center}.preview-action--go{border:1px solid var(--gold-light);background:linear-gradient(180deg,var(--gold-light),#8f6d26);color:#211705}.preview-action--ghost{border:1px solid rgba(201,162,75,.45);background:transparent;color:#9aa8c4}.preview-action--owned{border:1px solid rgba(201,162,75,.25);color:#7f8ca8}.preview-action--poor{border:1px solid rgba(164,112,122,.6);background:transparent;color:#a4707a;cursor:not-allowed;opacity:.7}.preview-confirm{width:100%;display:grid;gap:6px}.preview-confirm p{margin:0;font-size:.82rem;text-align:center;color:#f6e7bd}.preview-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.card-notice{display:flex;align-items:flex-start;gap:.8rem;margin:0;padding:.6rem .9rem;background:#d9534f24;border:1px solid var(--danger);color:#ffd7d5;font-size:.9rem}.card-notice-body{flex:1;min-width:0}.card-notice-close{flex:none;font:inherit;font-size:1rem;line-height:1;background:none;border:none;color:#ffb3ae;cursor:pointer;padding:0 .2em}.card-notice-close:hover{color:#fff}@media(max-width:1279px){.browser-body{grid-template-columns:minmax(0,1fr) 250px}}.shop-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.shop-layout-toggle{display:inline-flex;gap:.35rem}.cards-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,380px);gap:1rem;align-items:stretch;margin-bottom:1rem}.cards-preview{display:flex;gap:1rem;align-items:flex-start}.cards-preview-info{display:flex;flex-direction:column;gap:.4rem;align-items:flex-start;min-width:0}.cards-preview-info .deck-side-title{margin:0}.cards-preview-meta{margin:0;color:var(--ivory-dim);font-size:.9rem}.cards-filters .deck-side-title{margin:0 0 .6rem}.cards-filters .deck-filters{margin:0;flex-direction:column;align-items:stretch;gap:.5rem}@media(max-width:1023px){.cards-top{grid-template-columns:1fr}}.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));gap:12px}.shop-item{display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:.7rem .5rem;background:#080e1e8c;border:1px solid rgba(201,162,75,.3);border-radius:10px}.shop-price{color:var(--gold-light);font-weight:600;font-size:.88rem}.decks-list{list-style:none;margin:1rem 0;padding:0;display:flex;flex-direction:column;gap:.8rem}.deck-item{display:flex;flex-direction:column;gap:.6rem}.deck-item-head{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.deck-item-name{font-family:var(--font-serif);font-weight:700;font-size:1.05rem;color:var(--gold-light)}.deck-item-actions{display:inline-flex;gap:.35rem}.btn-icon{padding:.28em .55em;font-size:1rem;line-height:1}.deck-item-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;justify-items:center}.deck-item-cards .card{--cw: clamp(78px, 8.4vw, 150px);width:var(--cw)}.deck-create{margin-top:1.2rem}.deck-create-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.9rem}.deck-name-input{min-width:180px}.profile-rows{display:grid;grid-template-columns:auto 1fr;gap:.45rem 1.4rem;margin:.4rem 0}.profile-label{color:var(--ivory-dim)}.profile-value{color:var(--ivory);font-weight:600}.profile-description{color:var(--ivory);margin-top:0}.profile-bot-chip{margin-left:.6em;vertical-align:middle}.profile-bot-note{color:var(--ivory-dim);font-style:italic;font-size:.88rem;margin-bottom:0}.bet-field{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:.9rem 0 .2rem;padding-top:.8rem;border-top:1px solid rgba(201,162,75,.25)}.bet-label{font-weight:600;color:var(--gold-light)}.bet-input{width:110px}.bet-hint{font-size:.82rem;color:var(--ivory-dim)}.challenge-actions{justify-content:flex-start}.modal-bet{margin:0 0 .4rem;color:var(--ivory-dim);font-size:.95rem}.modal-bet--stake{color:var(--gold-light);font-weight:600}.atelier{max-width:1080px;margin:0 auto}.atelier-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.atelier-title{margin-bottom:.2rem}.atelier-preview-top{display:flex;justify-content:center;align-items:center;gap:2rem;flex-wrap:wrap;margin-bottom:1rem;padding:1rem 1.3rem}.atelier-preview-big{display:flex;gap:18px}.atelier-preview-sizes{display:flex;flex-direction:column;gap:.9rem}.atelier-preview-real{display:flex;align-items:flex-end;gap:1.2rem}.atelier-preview-real figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:.35rem}.atelier-preview-real figcaption{font-family:var(--font-serif);font-size:.62rem;letter-spacing:.14em;color:#7f8ca8;white-space:nowrap}.atelier-preview-note{margin:0;font-size:.85rem;line-height:1.7;color:var(--ivory-dim)}.atelier-preview-note strong{color:var(--gold-light)}.atelier-categories .view-sub{margin-bottom:.8rem}.atelier-cat-add{display:flex;gap:.6rem;margin-bottom:.9rem}.atelier-cat-add .input{flex:1;min-width:0}.atelier-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:1.2rem;align-items:start}.atelier-tabs{margin-bottom:1rem}.atelier-form{display:flex;flex-direction:column;gap:.9rem}.atelier-row{display:flex;gap:.9rem;flex-wrap:wrap}.atelier-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem 1.1rem;align-items:start}.atelier-field--wide{grid-column:1 / -1}@media(max-width:767px){.atelier-grid{grid-template-columns:1fr}}.atelier-field{display:flex;flex-direction:column;gap:.35rem;border:none;margin:0;padding:0;min-width:0;flex:none}.atelier-row .atelier-field{flex:1 1 180px}.atelier-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.16em;color:var(--ivory-dim)}.atelier-hint{margin:.3rem 0 0;font-size:.82rem;color:var(--ivory-dim);font-style:italic}.sides-cross{display:grid;grid-template-columns:repeat(3,64px);grid-template-rows:repeat(3,2.4em);gap:4px;justify-content:start}.side-input{width:64px;text-align:center}.side-input--top{grid-area:1 / 2}.side-input--left{grid-area:2 / 1}.side-input--right{grid-area:2 / 3}.side-input--bottom{grid-area:3 / 2}.frame-picker{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.frame-swatch{width:44px;height:56px;border-radius:7px;border:2px solid rgba(201,162,75,.35);background:#080e1e99;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ivory-dim);font:inherit;font-size:.72rem;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.frame-swatch:hover{transform:translateY(-2px)}.frame-swatch--active{border-color:var(--gold-light);box-shadow:0 0 0 2px #e6c87873,0 0 12px #c9a24b66}.frame-swatch-ring{width:70%;height:76%;border-radius:5px;border:3px solid}.frame-swatch--t1 .frame-swatch-ring{border-color:#969ca8 #484d58 #484d58 #969ca8}.frame-swatch--t2 .frame-swatch-ring{border-color:#bd8347 #64401b #64401b #bd8347}.frame-swatch--t3 .frame-swatch-ring{border-color:#d8dfe9 #6f7a8d #6f7a8d #d8dfe9;box-shadow:0 0 8px #bccce880}.frame-swatch--t4 .frame-swatch-ring{border-color:#e6c878 #8f6d26 #8f6d26 #e6c878;box-shadow:0 0 8px #e6c8788c}.frame-swatch--t5 .frame-swatch-ring{border-color:#f4e9cf #a58c50 #a58c50 #f4e9cf;box-shadow:0 0 10px #faeecda6}.atelier-file{color:var(--ivory-dim);font-size:.88rem}.atelier-file::file-selector-button{font:inherit;color:var(--gold-light);background:transparent;border:1px solid var(--gold);border-radius:6px;padding:.35em .9em;margin-right:.7em;cursor:pointer}.atelier-art-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.atelier-art-name{font-size:.85rem;color:var(--ivory);overflow:hidden;text-overflow:ellipsis;max-width:220px;white-space:nowrap}.atelier-actions{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;padding-top:.4rem;border-top:1px solid rgba(201,162,75,.25)}.atelier-preview{position:sticky;top:70px;display:flex;flex-direction:column;gap:.7rem}.atelier-preview-cards{display:flex;align-items:flex-end;gap:12px}.atelier-recent{display:flex;flex-wrap:wrap;gap:8px}.atelier-editing{margin:0;padding:.5rem .8rem;border:1px solid rgba(201,162,75,.55);border-radius:8px;background:#c9a24b1a;color:var(--gold-light);display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.atelier-admin{margin-top:2rem;border-top:1px solid rgba(201,162,75,.35);padding-top:1.2rem}.atelier-admin-title{display:flex;align-items:center;gap:.6rem}.atelier-admin-categories{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 .9rem}.atelier-cat-chip{display:inline-flex;align-items:center;gap:.4em;font-size:.82rem}.atelier-cat-chip--off{opacity:.5;text-decoration:line-through}.atelier-cat-btn{font:inherit;font-size:.8em;background:none;border:none;color:var(--gold-light);cursor:pointer;padding:0 .15em}.atelier-cat-btn:hover{color:#fff}.atelier-admin-search{max-width:320px;margin-bottom:.7rem}.atelier-admin-table{max-height:460px;overflow-y:auto}.atelier-row--off td{opacity:.55}.atelier-admin-actions{display:flex;gap:.35rem;flex-wrap:wrap}.atelier-btn-danger{border-color:var(--danger);color:#ffb3ae}.profile-role-actions{justify-content:flex-start;margin-top:.8rem}.card-trade-actions{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-bottom:.9rem}.card-trade-modal{width:min(94vw,620px)}.card-trade-offer{display:flex;align-items:center;justify-content:center;gap:1.1rem;margin:.8rem 0}.card-trade-offer-card{display:flex;flex-direction:column;align-items:center;gap:.4rem}.card-trade-offer-label{font-size:.78rem;color:var(--ivory-dim);max-width:140px;text-align:center}.card-trade-arrows{font-size:2rem;color:var(--gold-light);text-shadow:0 0 10px rgba(201,162,75,.5)}.card-trade-slot{width:var(--card-w);aspect-ratio:3 / 4}.card-trade-grid{max-height:240px;overflow-y:auto}.card-trade-countdown{display:flex;align-items:center;justify-content:center;gap:.4em;margin:.4rem 0 0;color:var(--ivory-dim);font-size:.9rem}@media(max-width:1023px){.atelier-layout{grid-template-columns:1fr}.atelier-preview{position:static}}@media(max-width:1023px){:root{--card-w: 88px;--card-w-sm: 76px}.app-header{flex-wrap:wrap;gap:.5rem 1rem}.game{--card-w: clamp(50px, 13vh, 92px)}.table-score-value{font-size:2.1rem}.hand--left .hand-cards{margin:0 22px 0 4px}.hand--right .hand-cards{margin:0 4px 0 22px}.deck-layout{grid-template-columns:1fr}.deck-side{position:static}.home-title{font-size:2.4rem}.ai-difficulty{flex-direction:column}.client-shell{grid-template-columns:1fr 2.2fr 1fr}}
