@font-face{font-family:Silkscreen;src:url(/fonts/silkscreen.ttf) format("truetype");font-display:swap}:root{--bg: #0b0c16;--panel: #151723;--ink: #edf0e9;--muted: #a7afbe;--cyan: #7ce9db;--pink: #ff70b4;--line: #34374c;--gold: #f6ce79;--card-w: 42px;--pixel: "Silkscreen", monospace;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--ink);background:var(--bg);color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100dvh;font-size:14px;line-height:1.5;background:linear-gradient(180deg,#0b0c1620,#0b0c1660 65%,#0b0c16),url(/backroom-neon.png) center top / cover fixed}body.pet-theme{background:linear-gradient(180deg,#07172425,#07172480),#071724 url(/pet-arena.jpg) center top / cover no-repeat fixed}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:var(--cyan)}:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button:disabled,select:disabled{cursor:not-allowed;opacity:.45}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.pixel-suit{width:24px;height:28px;flex:none}.eyebrow{display:block;font:10px/1.6 var(--pixel);letter-spacing:.06em;color:var(--cyan)}.app-header{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1160px;margin:0 auto 42px;padding:28px 24px 18px;border-bottom:1px solid #69758b50}.brand{display:inline-flex;align-items:center;gap:14px;min-height:44px;font:26px/1 var(--pixel);color:var(--ink);text-decoration:none;text-shadow:3px 3px #713356}.brand>.pixel-suit{width:29px;height:33px;color:var(--pink);filter:drop-shadow(0 0 9px #fa389b80)}.brand small{display:block;margin-top:9px;font:9px/1 monospace;letter-spacing:.19em;color:var(--muted);text-shadow:none}.header-actions{display:flex;gap:10px}.header-button{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border:1px solid var(--line);background:#111522e8;color:var(--ink);font-size:12px}.header-icon{display:grid;place-items:center;color:var(--cyan)}.header-button:hover{border-color:var(--cyan)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:10px 16px;border:1px solid var(--line);border-radius:0;font-weight:700;background:#1a2030;color:var(--ink);box-shadow:3px 3px #060810;transition:background .15s,transform .15s,border-color .15s}.button.primary{border-color:var(--cyan);background:var(--cyan);color:#092020;box-shadow:3px 3px #28655e,0 0 20px #7ce9db12}.button.primary:hover:not(:disabled){background:#b0fff1}.button.outline:hover:not(:disabled){border-color:var(--cyan);background:#20313a}.button:active:not(:disabled){transform:translate(2px,2px);box-shadow:1px 1px #060810}.button.peach-button{min-height:44px;border-color:var(--pink);background:#3c233b;color:#ffb1d5}.button.peach-button:hover:not(:disabled){background:#57314c}.button.small-button{min-height:44px;font-size:12px}.button:disabled{box-shadow:none}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);background:transparent}.icon-button:hover{background:#27293d}.text-button{min-height:44px;border:0;background:none;color:var(--cyan);text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;justify-content:center;font-size:12px}.text-button:hover:not(:disabled){color:var(--ink)}.page{max-width:560px;margin:0 auto;padding:0 20px 48px;display:grid;gap:24px}.panel,.modal{background:#111522f5;border:1px solid var(--line);border-top:2px solid var(--cyan);padding:26px;box-shadow:6px 6px #060810a0;display:grid;gap:18px}.home h1,.home h2{font:22px/1.45 var(--pixel)}.lead{color:var(--muted);font-size:13px}.lobby{max-width:1060px;grid-template-columns:1.1fr 1fr;align-items:start;gap:48px 70px;margin-top:84px}.lobby>.game-picker{grid-column:1 / -1}.lobby>.lobby-intro{grid-column:1;grid-row:2 / span 2}.lobby>.continue-panel,.lobby>.creation-panel{grid-column:2}.lobby-intro{padding:32px 0}.lobby-intro h1{margin:24px 0;font:clamp(32px,4.5vw,58px)/1.12 var(--pixel);letter-spacing:-.065em;text-shadow:4px 4px #123d47}.lobby-intro h1 span{color:var(--pink);text-shadow:4px 4px #542344,0 0 32px #ff3d9e40}.lobby-intro p{color:#c6ced4;font-size:16px;line-height:1.8}.lobby-suits{display:flex;gap:18px;color:var(--cyan);margin:35px 0 24px}.lobby-suits svg:nth-child(2n){color:var(--pink)}.room-code{color:var(--muted);font-size:9px;letter-spacing:.12em}.lobby>.panel:last-child:not(:nth-child(2)){grid-column:2}.field{display:grid;gap:8px;min-width:0;font-size:12px}.field>span{color:#c8ccd8}.field input,.field select{width:100%;min-width:0;min-height:48px;padding:0 12px;border:1px solid #41465b;border-radius:0;background:#0a0e18;font-size:16px}.field input::placeholder{color:#777f94}.field input:focus,.field select:focus{border-color:var(--cyan);outline:2px solid #7ce9db30;outline-offset:1px}form{display:grid;gap:16px}.actions{display:flex;gap:12px}.actions .button{flex:1;min-width:0}.actions.stack{flex-direction:column}.form-error{color:#ffabb9}.table-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.table-list a{display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:48px;padding:10px 14px;background:#1a2030;text-decoration:none;overflow-wrap:anywhere}.loading{text-align:center;padding:40px 0;color:var(--cyan)}.play-chips{text-align:center;color:var(--muted);font-size:10px;line-height:1.6}.game-layout{max-width:1160px;margin:0 auto;padding:0 24px 48px;display:grid;gap:32px;grid-template-columns:minmax(0,1fr)}.table-column{display:grid;gap:14px;min-width:0;align-content:start}.table-heading{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px}.table-heading h1{margin:6px 0;font:24px/1.3 var(--pixel);overflow-wrap:anywhere}.table-heading p{color:var(--muted);font-size:11px}.table-type{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #695037;background:#282017;color:var(--gold);font-size:10px}.table-type.friends{background:#142526;border-color:#325851;color:var(--cyan)}.phase-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;list-style:none;margin:8px 0 0;padding:0}.phase-stepper li{display:grid;place-items:center;min-height:34px;border-bottom:2px solid #3b3d50;background:#111522d9;color:var(--muted);font:10px var(--pixel)}.phase-stepper li.complete{border-color:#4f8d85;color:var(--cyan)}.phase-stepper li.current{background:#203637;border-color:var(--cyan);color:#baffed;box-shadow:0 3px 10px #7ce9db18}.round-notice{display:flex;align-items:center;gap:8px;padding:10px 14px;border-left:3px solid var(--cyan);background:#173334;color:#b7f9e5;font-size:12px}.toast{position:sticky;top:8px;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:8px;max-width:560px;margin:8px auto;padding:6px 8px 6px 16px;border:1px solid var(--pink);background:#371d32;color:#ffccd7}.felt-table{position:relative;margin:106px 0 112px;height:230px;filter:drop-shadow(0 12px 12px #03070ccc)}.felt-table:before,.felt-table:after{content:"";position:absolute;pointer-events:none;clip-path:polygon(0 20%,4% 20%,4% 10%,10% 10%,10% 0,90% 0,90% 10%,96% 10%,96% 20%,100% 20%,100% 80%,96% 80%,96% 90%,90% 90%,90% 100%,10% 100%,10% 90%,4% 90%,4% 80%,0 80%)}.felt-table:before{inset:0;background:#393240;box-shadow:inset 0 4px #7d5975,inset 0 -6px #171c2b}.felt-table:after{inset:12px;background:repeating-linear-gradient(0deg,#153a3900 0 3px,#08272380 3px 4px),repeating-linear-gradient(90deg,#153a39 0 3px,#163633 3px 4px);box-shadow:inset 0 3px #51867b,inset 0 -4px #061e24}.felt-spade{position:absolute;z-index:1;top:48%;color:#7ce9db20}.left-spade{left:8%}.right-spade{right:8%}.seat{position:absolute;z-index:3;display:grid;justify-items:center;gap:2px;transform:translate(-50%,-50%);width:104px}.seat.folded>:not(.seat-chat){opacity:.55}.seat-chat{--bubble-color: var(--pink);position:absolute;bottom:calc(100% + 8px);width:144px;min-height:44px;padding:7px 9px;border:2px solid var(--bubble-color);background:#111522;color:#f5f0df;box-shadow:3px 3px #060e20;font:11px/14px ui-monospace,monospace;text-align:left;cursor:pointer}.seat-chat:after{content:"";position:absolute;top:100%;left:calc(50% - 4px);border:4px solid transparent;border-top-color:var(--bubble-color)}.seat-chat span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;overflow-wrap:anywhere}.seat-bottom-left .seat-chat,.seat-bottom-center .seat-chat,.seat-bottom-right .seat-chat{bottom:auto;top:calc(100% + 8px)}.seat-bottom-left .seat-chat:after,.seat-bottom-center .seat-chat:after,.seat-bottom-right .seat-chat:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--bubble-color)}.my-seat .seat-chat{--bubble-color: var(--cyan)}.seat-top-left{left:24%;top:0}.seat-top-right{left:76%;top:0}.seat-bottom-left{left:24%;top:100%}.seat-bottom-right{left:76%;top:100%}.seat-top-center{left:50%;top:0}.seat-bottom-center{left:50%;top:100%}.six-seats .seat-top-left,.six-seats .seat-bottom-left{left:17%}.six-seats .seat-top-right,.six-seats .seat-bottom-right{left:83%}.seat-name{max-width:100%;padding:1px 5px;background:#101722;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seat-chips{display:inline-flex;align-items:center;gap:4px;padding:1px 5px;background:#101722;color:var(--gold);font-size:10px}.my-seat .seat-name{color:var(--cyan)}.avatar{--avatar-color: #ba9cef;position:relative;display:grid;place-items:center;width:36px;height:36px;border:2px solid var(--avatar-color);background:#201e36;color:var(--avatar-color);font:18px var(--pixel);box-shadow:3px 3px #090e18,inset -4px -4px #090e1860}.avatar.small{width:34px;height:34px;font-size:15px;flex:none}.avatar.peach{--avatar-color: #f6ce79}.avatar.lilac{--avatar-color: #99b8ff}.avatar.mint{--avatar-color: #7ce9db}.avatar.pink{--avatar-color: #ff8ec2}.avatar.blue{--avatar-color: #87d5f2}.avatar .check{position:absolute;top:-7px;right:-8px;display:grid;place-items:center;width:16px;height:16px;background:var(--cyan);color:#092020}.board-center{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;pointer-events:none}.pot{display:flex;align-items:center;gap:12px;color:var(--gold);line-height:1}.pot>span{font:9px var(--pixel);color:#b3c8bc}.pot strong{display:inline-flex;align-items:center;gap:5px;font:19px var(--pixel)}.pot strong svg{width:16px}.community-cards{display:flex;gap:6px}.table-caption{color:#a2c4b7;font-size:10px}.playing-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:var(--card-w);aspect-ratio:5 / 7;padding:3px;border:2px solid #e7e4c9;border-radius:1px;background:#f5f0df;color:#222d3e;font-family:var(--pixel);line-height:1;box-shadow:3px 3px #060e20a0}.playing-card .rank{align-self:flex-start;font-size:calc(var(--card-w) * .31)}.playing-card .suit{display:grid;place-items:center;flex:1}.playing-card .pixel-suit{width:calc(var(--card-w) * .4);height:calc(var(--card-w) * .46)}.playing-card .card-corner{align-self:flex-end;font-size:calc(var(--card-w) * .19);transform:rotate(180deg)}.playing-card.red{color:#a72956}.playing-card.card-back{background:#111522 url(/dhd-card-back.png) center / 100% 100% no-repeat;border-color:#7ce9db;image-rendering:pixelated}.playing-card.pocket{--card-w: 62px}button.playing-card{cursor:pointer;min-height:44px}button.playing-card:hover{transform:translateY(-4px)}.playing-card.selected{outline:3px solid var(--pink);outline-offset:3px;transform:translateY(-6px);box-shadow:0 0 24px #ff70b430}.pocket-hand{display:grid;justify-items:center;gap:10px;color:var(--muted);font-size:10px;align-content:center}.pocket-cards{display:flex;gap:10px}.pocket-hand.choosing{color:var(--pink)}.locked-progress{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);background:#111522eb}.locked-progress strong{flex:1;font-size:11px;font-weight:400}.locked-progress>svg{color:var(--muted)}.progress-dots{display:flex;gap:5px}.progress-dots span{width:9px;height:9px;border:1px solid #58657c;background:#101522}.progress-dots span.filled{background:var(--cyan);border-color:var(--cyan);box-shadow:0 0 7px #7ce9db50}.action-panel{display:grid;gap:8px;padding:18px;border:1px solid #3a4c51;background:#111c24f5;text-align:left}.action-panel h2{font:17px/1.4 var(--pixel)}.action-panel p{color:var(--muted);font-size:11px}.action-panel .actions{margin-top:6px}.action-dock{display:contents}.waiting-host{flex:1;padding:8px 0;color:var(--gold);font-size:12px}.twist{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #5a344c;background:#211725f5}.twist>div{flex:1}.twist h3{font:11px/1.5 var(--pixel);color:#ffb1d5}.twist p{color:var(--muted);font-size:11px}.twist-icon{color:var(--pink);flex:none}.twist.used{opacity:.7}.swap-confirm{display:grid;gap:12px;padding:16px;border:1px dashed var(--pink);background:#211725;color:#ffd0e6;text-align:center;font-size:12px}.notification-row{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;border:1px solid var(--line);background:#111522e8;text-align:left;font-size:11px}.notification-row span{flex:1}.notification-row>svg{color:var(--muted);flex:none}.notification-row strong{display:inline-flex;align-items:center;gap:4px;color:var(--cyan)}.crew-rail{display:grid;gap:18px;align-content:start;min-width:0;padding:22px;border:1px solid var(--line);border-top:2px solid var(--pink);background:#101420ed}.crew-rail h2{font:12px/1.6 var(--pixel)}.crew-rail h2 span{color:var(--muted);margin-left:6px}.crew-list{display:grid;gap:8px}.crew-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #2a3040}.crew-row>div{flex:1;min-width:0;display:grid;gap:4px}.crew-row strong{overflow-wrap:anywhere;font-size:12px}.crew-row>div span{color:var(--muted);font-size:10px}.crew-row .crew-chips{display:inline-flex;align-items:center;gap:4px;flex:none;color:var(--gold);font-size:11px}.table-management{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.table-management summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:12px;color:var(--cyan)}.table-management>div{display:grid;gap:12px;padding-bottom:12px}.table-management p{color:var(--muted);font-size:12px}.practice-note{display:grid;gap:10px;padding:16px;border-left:2px solid var(--gold);background:#28231d;color:var(--gold)}.practice-note h3{font:12px var(--pixel)}.practice-note p{color:#c6bdac;font-size:12px}.practice-note .button{font-size:11px}.table-chat{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:18px;min-width:0}.table-chat>p,.chat-empty{color:var(--muted);font-size:11px;line-height:1.6}.chat-messages{display:grid;gap:10px;max-height:280px;overflow-y:auto;overscroll-behavior:contain}.chat-message{padding:10px;background:#1a2030;border-left:2px solid var(--pink);min-width:0;overflow-wrap:anywhere}.chat-message.mine{border-color:var(--cyan)}.chat-message>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px;font-size:10px}.chat-message time{color:var(--muted)}.chat-message p{margin-top:6px;font-size:12px;line-height:1.6;white-space:pre-wrap}.table-chat form{display:grid;gap:8px}.table-chat .field{margin:0}.table-talk{padding-top:8px}.table-talk ol{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:12px}.table-talk li{display:flex;gap:10px;align-items:flex-start;font-size:11px;color:var(--muted)}.activity-dot{flex:none;width:4px;height:4px;margin-top:6px;background:var(--pink)}.showdown{grid-column:1 / -1;display:grid;gap:14px;padding:18px;background:#111522ed;border:1px solid var(--line)}.showdown h2{font:15px var(--pixel);color:var(--gold)}.showdown p{color:var(--muted);font-size:11px;line-height:1.6}.reveal-hands{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}.reveal-hand{display:grid;align-content:start;gap:12px;padding:12px;border:1px solid var(--line);background:#171c2b}.reveal-hand.winner{border:2px solid var(--gold);background:#30291f}.reveal-player{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;font-size:12px;overflow-wrap:anywhere}.winner-label{color:var(--gold);font:9px var(--pixel)}.reveal-cards{display:flex;gap:10px;--card-w: 54px}.reveal-hand.winner>p{color:var(--gold)}.modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:16px;background:#060812d9}.modal{width:100%;max-width:480px;max-height:calc(100dvh - 32px);overflow-y:auto}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-head h2{font:17px/1.5 var(--pixel)}.modal-head .icon-button{flex:none}.modal-actions{display:flex;flex-wrap:wrap;gap:10px}.modal-actions .button{flex:1}.prose{display:grid;gap:12px;color:#c3cbd5;font-size:13px}.prose h3{margin-top:8px;color:var(--cyan);font:12px var(--pixel)}.stakes{width:100%;border-collapse:collapse}.stakes th,.stakes td{padding:8px;text-align:left;border-bottom:1px solid var(--line)}.stakes td:last-child,.stakes th:last-child{text-align:right;color:var(--gold)}.game-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.game-picker button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:1px solid var(--line);background:#0d111c;color:var(--muted);font:11px var(--pixel)}.game-picker .pixel-suit{width:14px;height:16px}.game-picker button[aria-pressed=true]{border-color:var(--cyan);background:#173334;color:#baffed;box-shadow:inset 0 -3px var(--cyan)}.game-picker button:hover{border-color:var(--cyan)}.pet-sprite{display:block;flex:none;filter:drop-shadow(3px 3px 0 #060810a0)}.type-chip{display:inline-block;padding:1px 6px;border:1px solid var(--type);color:var(--type);font:9px/1.6 var(--pixel)}.hp-bar{position:relative;height:16px;border:1px solid var(--line);background:#0d111c}.hp-bar>i{display:block;height:100%;background:#2f8f84;transition:width .3s}.hp-bar.low>i{background:#b13d78}.hp-bar>span{position:absolute;inset:0;display:grid;place-items:center;font:9px var(--pixel);color:var(--ink);text-shadow:1px 1px #0b0c16}.belt-card,.pet-card,.moves-card,.race,.battle-card,.pet-picker{display:grid;gap:12px;min-width:0;padding:16px;border:1px solid var(--line);background:#111522ed}.belt-card{border-top:2px solid var(--gold)}.pet-card{border-top:2px solid var(--cyan)}.pet-head{display:flex;align-items:center;gap:14px;min-width:0}.pet-head>div{flex:1;min-width:0;display:grid;gap:6px}.pet-head h2{font:15px/1.4 var(--pixel);overflow-wrap:anywhere}.pet-head p{color:var(--muted);font-size:11px}.pet-head .eyebrow{display:flex;align-items:center;gap:5px}.belt-card .eyebrow{color:var(--gold)}.belt-note,.moves-card>p,.race>p,.pet-picker>p{color:var(--muted);font-size:11px;line-height:1.6}.stat-bars{display:grid;gap:6px;margin:0}.stat-bars>div{display:grid;grid-template-columns:52px minmax(0,1fr) 34px;align-items:center;gap:8px;font-size:11px}.stat-bars dt{color:var(--muted)}.stat-bars dd{margin:0}.stat-bars dd:first-of-type{height:10px;background:#0d111c;border:1px solid var(--line)}.stat-bars dd i{display:block;height:100%;background:#58657c}.stat-bars dd:last-child{text-align:right;font:11px var(--pixel)}.stat-bars .training dt{color:var(--cyan)}.stat-bars .training dd i{background:var(--cyan)}.regimen{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.regimen button{display:grid;justify-items:center;gap:4px;min-height:52px;padding:6px 2px;border:1px solid var(--line);background:#0d111c;color:var(--muted);font:9px var(--pixel)}.regimen button[aria-pressed=true]{border-color:var(--cyan);background:#173334;color:#baffed;box-shadow:inset 0 -3px var(--cyan)}.regimen button:hover:not(:disabled){border-color:var(--cyan)}.next-session{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px}.next-session svg{color:var(--cyan)}.countdown{color:var(--gold);font:12px var(--pixel)}.sessions,.battle-log,.battle-history,.moves-card ul,.race ol{list-style:none;margin:0;padding:0;display:grid;gap:4px}.sessions li{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:8px;padding:5px 8px;border-left:3px solid #58657c;background:#1a2030;color:var(--muted);font-size:11px}.sessions li strong{font-weight:400;color:var(--ink)}.sessions li em{font:10px/1.7 var(--pixel);font-style:normal}.sessions li.up{border-color:var(--cyan)}.sessions li.up em{color:var(--cyan)}.sessions li.down{border-color:var(--pink)}.sessions li.down em{color:#ff9ecb}.sessions li.latest{background:#202a3d}.moves-card h2,.race h2,.battle-card h2,.pet-picker h2{font:12px/1.6 var(--pixel);color:var(--cyan)}.race h2 span,.battle-card h2 span{margin-left:6px;color:var(--muted);font:10px ui-monospace,monospace}.race li{display:grid;grid-template-columns:minmax(70px,30%) minmax(0,1fr) 34px;align-items:center;gap:8px;font-size:11px}.race li>span{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race li>span svg{flex:none;color:var(--gold)}.race li>div{height:12px;border:1px solid var(--line);background:#0d111c}.race li i{display:block;height:100%;background:var(--gold)}.race li.mine>span{color:var(--cyan)}.race li strong{text-align:right;font:11px var(--pixel);color:var(--gold)}.battle{display:grid;gap:10px}.battle-sides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.battle-sides>div{display:flex;align-items:center;gap:8px;min-width:0;padding:8px;border:1px solid var(--line);background:#171c2b}.battle-sides>div>div{flex:1;min-width:0;display:grid;gap:5px}.battle-sides strong{font-size:11px;overflow-wrap:anywhere}.battle-sides .winner{border-color:var(--gold);background:#30291f}.battle-log{max-height:168px;overflow-y:auto;overscroll-behavior:contain}.battle-log li{padding:3px 8px;border-left:3px solid var(--cyan);color:var(--muted);font-size:11px;line-height:1.6}.battle-log li.defender{border-color:var(--pink)}.battle-result{display:flex;align-items:center;gap:6px;color:var(--gold);font-size:12px}.battle-card details summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:12px;color:var(--cyan)}.battle-history li{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:11px;line-height:1.6}.battle-history svg{flex:none;margin-top:3px;color:var(--pink)}.battle .text-button{justify-self:start}.round-notice.away{border-color:var(--gold);background:#28231d;color:#f3dfb3}.round-notice.away>span{flex:1}.round-notice.away .icon-button{flex:none;border:0}.pet-picker>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.pet-picker>div button{display:grid;justify-items:center;gap:6px;min-width:0;padding:10px 4px;border:1px solid var(--line);background:#0d111c;font-size:10px;color:var(--muted)}.pet-picker>div button strong{color:var(--ink);font:9px var(--pixel);overflow-wrap:anywhere}.pet-picker>div button[aria-pressed=true]{border-color:var(--cyan);background:#173334;box-shadow:inset 0 -3px var(--cyan)}.pet-picker>div button:hover:not(:disabled){border-color:var(--cyan)}.rename{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.pet-head>.icon-button{flex:none;align-self:flex-start;color:var(--muted)}.crew-row .pet-sprite{filter:none}.pet-theme .game-layout{max-width:680px;grid-template-columns:minmax(0,1fr)}.pet-theme .header-button{min-width:44px}.pet-theme .brand>svg{color:var(--cyan);flex:none}.pet-theme .pet-card{gap:10px}.pet-theme .pet-head p,.pet-theme .belt-note,.pet-theme .stat-bars>div,.pet-theme .next-session,.pet-theme .race li,.pet-theme .race>p{font-size:13px}.pet-theme .hp-bar{height:20px}.pet-theme .hp-bar>span,.pet-theme .regimen button,.pet-theme .type-chip,.pet-theme .pet-picker>div button strong{font-size:10px}.pet-theme .crew-rail{gap:10px;padding:0;border:0;background:none}.pet-theme .crew-row>div span,.pet-theme .table-chat>p,.pet-theme .chat-empty,.pet-theme .table-talk li,.pet-theme .battle-log li,.pet-theme .battle-history li,.pet-theme .battle-sides strong,.pet-theme .battle-result,.pet-theme .pet-picker>p,.pet-theme .action-panel p{font-size:13px}.pet-theme .belt-card .pet-sprite{width:48px;height:48px}.training-effect{color:var(--muted);font-size:13px;min-height:2em}.recovery-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:8px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:13px}.recovery-status strong{display:block;margin-top:4px;color:var(--cyan);font-size:14px}.champion-note{display:flex;align-items:center;gap:8px;color:var(--gold)}.pet-details{min-width:0;padding:0 14px;border:1px solid var(--line);background:#111522ed}.pet-details>summary{min-height:48px;padding:12px 0;cursor:pointer;color:var(--cyan);font-size:14px}.pet-details>summary>span{display:block;margin-top:4px;color:var(--muted);font:12px/1.5 ui-monospace,monospace}.pet-details[open]>:not(summary){margin-bottom:14px}.pet-details>p,.move-slots small{color:var(--muted);font-size:13px}.move-slots{display:grid;gap:16px}.moves-card{display:block}.moves-card .actions>button{flex:1}.pet-theme .table-management{padding:0 14px;background:#111522ed;border:1px solid var(--line)}.pet-theme .table-management>summary{min-height:48px;font-size:14px}.pet-theme .session-history .sessions li{grid-template-columns:58px minmax(0,1fr);font-size:13px}.pet-theme .session-history .sessions li em{grid-column:2;font-size:11px}.pet-theme .battle-summary .battle-sides>div{padding:6px}@media(min-width:960px){.game-layout{grid-template-columns:minmax(0,1fr) 310px}.table-column{grid-template-columns:154px minmax(0,1fr)}.table-heading,.phase-stepper,.round-notice,.felt-table,.twist,.swap-confirm,.notification-row,.table-column>.play-chips{grid-column:1 / -1}.pocket-hand{grid-column:1;grid-row:span 2}.locked-progress,.action-panel{grid-column:2}.felt-table{height:250px}:root{--card-w: 54px}.playing-card.pocket{--card-w: 66px}.pets-column{grid-template-columns:minmax(0,1fr)}.pets-column>*{grid-column:1 / -1}}@media(max-width:700px){.reveal-hands{grid-template-columns:repeat(2,minmax(0,1fr))}.reveal-hand{padding:8px}.reveal-cards{--card-w: 44px;gap:6px}.seat-chat{width:120px}.six-seats .seat-chat{width:82px;padding-inline:5px}body{background-size:auto 960px;background-repeat:no-repeat;background-color:var(--bg)}.app-header{margin-bottom:24px;padding:20px 16px 16px}.brand{font-size:22px;gap:10px}.brand small{font-size:7px}.brand>.pixel-suit{width:23px;height:27px}.header-button{flex-direction:column;justify-content:center;padding:6px;gap:3px;font-size:9px;border:0;background:#111522a0}.header-actions{gap:10px}.header-icon svg{width:18px;height:18px}.game-layout{padding:0 16px 32px;gap:24px}.table-heading h1{font-size:20px}.table-heading .eyebrow{font-size:8px}.table-type{font-size:9px;padding:4px 8px}.table-heading{gap:8px}.lobby{grid-template-columns:minmax(0,1fr);margin-top:0;gap:26px}.lobby>.game-picker,.lobby>.continue-panel,.lobby>.creation-panel,.lobby>.lobby-intro{grid-column:1;grid-row:auto}.pets-lobby{gap:16px}.pets-lobby .lobby-intro{display:none}body.pet-theme{background-size:auto 100dvh;background-attachment:scroll}.lobby-intro{padding:14px 4px}.lobby-intro h1{font-size:clamp(32px,8.5vw,48px);margin:18px 0}.lobby-intro p{font-size:13px}.lobby-suits{margin:22px 0 14px}.lobby>.panel:last-child:not(:nth-child(2)){grid-column:1}.panel,.modal{padding:22px 18px}.home h2{font-size:18px}.crew-rail{padding:18px}.app-header{margin-bottom:12px;padding:12px 16px 10px}.table-column{gap:10px}.table-heading .eyebrow{display:none}.table-heading h1{margin:0 0 2px;font-size:18px}.phase-stepper{margin:0}.phase-stepper li{min-height:28px}.felt-table{margin:60px 0 58px}.pocket-hand{gap:6px}html{scroll-padding-bottom:170px}.action-dock.docked{position:sticky;bottom:0;z-index:10;display:grid;gap:8px;margin:0 -16px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#0b0c16f0;box-shadow:0 -12px 24px #0b0c16;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.docked .action-panel{gap:4px;padding:0;border:0;background:none}.docked .action-panel h2{font-size:13px}.docked .action-panel>p{display:none}.docked:not(:has(.your-turn)) .twist{display:none}.docked .twist{gap:10px;padding:0;border:0;background:none}.docked .twist p{display:none}.docked .swap-confirm{gap:8px;padding:10px}.pets-column .table-heading p{display:none}}@media(max-width:380px){:root{--card-w: 37px}.felt-table{height:220px}.seat{width:90px}.seat-name{font-size:10px}.twist{gap:8px;padding:12px}.twist-icon{width:20px}.twist h3{font-size:10px}.actions{gap:8px}.button{padding:10px 12px;font-size:12px}.phase-stepper li{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
