*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:15px/1.5 ui-rounded,'Trebuchet MS',system-ui,sans-serif;background:#f2f5fc;color:#d8efeb}button,select,input{font:inherit}button,select{border:1px solid #527e7b88;border-radius:10px;min-height:44px;padding:9px 15px;cursor:pointer;background:#173e43;color:#d8efeb}button:hover,select:hover{border-color:#95e5cb}button:disabled{opacity:.38;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible{outline:3px solid #9debd1;outline-offset:4px}button.primary{background:#9ce8cd;color:#133b39;border-color:#a3f0d6;font-weight:750;box-shadow:0 2px 0 #142e35}.quiet{background:transparent}.icon-button{width:44px;padding:9px;font-size:20px}.icon-button svg{width:21px;height:21px;vertical-align:middle}.game-scene{--bg:#091f28;--table:#113e43;--accent:#9ce8cd;--ink:#e1f4ec;--muted:#95b7b5;--line:#527e7b55;background:radial-gradient(ellipse at 50% 0,#173e45,var(--bg) 78%);padding:0 0 18px;overflow:hidden}.durak{max-width:1216px;padding:27px 36px 16px;margin:auto;color:var(--ink);position:relative}.game-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px;border:0;padding:0}.eyebrow{font:700 10px/1.5 system-ui,sans-serif;letter-spacing:.22em;color:var(--muted);margin:0 0 7px}h1{font-size:42px;line-height:1.05;margin:0;letter-spacing:-1.7px}.title-star{display:inline-block;font-size:30px;color:var(--accent);margin-left:13px;vertical-align:middle}.subtitle{margin:10px 0 0;font-size:14px;color:var(--muted)}.top-actions{display:flex;gap:8px;align-items:center}.table{position:relative;isolation:isolate;border:1px solid #63978d66;border-radius:24px;padding:22px 28px 18px;background:radial-gradient(ellipse at 50% 38%,#255f5c77,transparent 63%),repeating-linear-gradient(0deg,#ffffff01 0 1px,transparent 1px 4px),var(--table);box-shadow:inset 0 0 80px #03151c40,0 20px 55px #03131944;--cw:92px;--ch:130px;--red:#b92642;--black:#172d37}.table-ornament{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#a0c8ad4d;stroke-width:1;pointer-events:none;z-index:-1}.top-zone{display:grid;grid-template-columns:110px minmax(0,1fr) 90px;align-items:center;gap:14px;min-height:112px}.opponent{display:flex;justify-content:center;align-items:center;gap:16px;min-width:0}.bot-portrait{position:relative;flex:0 0 86px;height:100px;isolation:isolate}.bot-portrait:before{content:'';position:absolute;inset:18% -8%;z-index:-1;background:#8befd923;filter:blur(16px);border-radius:50%}.bot-portrait img{object-fit:contain;width:100%;height:100%;filter:drop-shadow(0 9px 7px #001e2388)}.bot-status-dot{position:absolute;bottom:5px;right:8px;width:8px;height:8px;border:2px solid #164047;background:var(--accent);border-radius:50%}.bot-info{min-width:0}.bot-name{font-size:14px;font-weight:750;white-space:nowrap}.bot-name>span{font-size:10px;display:inline-block;color:var(--muted);font-weight:400;margin-left:6px}.bot-hand{position:relative;width:205px;height:71px;margin-top:9px}.bot-card{position:absolute;left:calc(var(--i)*28px);width:48px!important;height:67px!important;transform:rotate(calc((var(--i) - 2.5)*3deg));transform-origin:center 120%;border-radius:5px!important}.bot-info small{font-size:11px;color:var(--muted)}.stock-area,.discard-area{text-align:center;justify-self:center}.stock-pile{position:relative;width:78px;height:82px;margin-bottom:8px}.trump-card{position:absolute;top:15px;left:22px;width:47px;height:66px;transform:rotate(90deg);transform-origin:center}.stock-card{position:absolute;top:0;left:0;width:51px;height:73px;border-radius:5px!important;box-shadow:2px 2px 0 #0d353b,3px 3px 0 #829f94,5px 5px 0 #0d353b,6px 6px 0 #829f9466!important}.stock-card>span{font-size:22px}.stock-card b{position:absolute;right:-8px;bottom:-9px;border:1px solid #77b4a666;border-radius:50%;padding:3px;min-width:26px;font-size:11px;background:#102f35;color:#d5f3e9;z-index:2}.mini-label{font-size:10px;color:var(--muted)}.mini-label b{color:var(--ink);font-weight:500;margin-left:3px}.discard-pile{display:flex;align-items:center;justify-content:center;width:47px;height:66px;background:#09292c55;border:1px dashed #83b8a955;border-radius:5px;color:#93bdac44;margin:0 auto 11px}.discard-pile.has-cards{background:repeating-linear-gradient(45deg,#83d9be13 0 1px,transparent 1px 5px),#153e41;border:1px solid #8fbcad88;box-shadow:2px 2px 0 #0b2b30,3px 3px 0 #93ac9d66;transform:rotate(5deg)}.battle{min-height:231px;position:relative;display:flex;align-items:center;justify-content:center;padding:18px 0}.table-watermark{pointer-events:none;position:absolute;text-align:center;color:#a2d9c626;top:50%;left:50%;transform:translate(-50%,-50%);transition:opacity .25s}.table-watermark>span{font-size:56px;line-height:1}.table-watermark p{font-size:13px;letter-spacing:.35em;margin:9px 0 0 5px}.table-watermark small{font-size:7px;letter-spacing:.25em}.table.has-table .table-watermark{opacity:.15}.pairs{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:20px;position:relative;z-index:1;max-width:710px}.pair{position:relative;width:calc(var(--cw) + 27px);height:calc(var(--ch) + 24px)}.pair>.playing-card{position:absolute;top:0;left:0;transform:rotate(-4deg)}.pair>.defense-card{top:19px;left:24px;transform:rotate(5deg)}.pair.target .attack-card{outline:3px solid var(--accent);outline-offset:4px;box-shadow:0 0 28px #8ae2bd33}.pair button.attack-card{cursor:pointer}.turn-line{display:flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:7px 10px;margin:1px 0 10px;border-block:1px solid #87b6a522}.turn-pill{font-size:10px;line-height:1;padding:6px 9px;border-radius:5px;color:#a9ebd0;background:#83cfb218;white-space:nowrap;font-weight:650}.turn-line p{margin:0;font-size:13px;line-height:1.4;color:var(--ink)}.hand-caption{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:0 4px;font-size:12px}.hand-caption strong{font-weight:600}.hand-caption strong span{color:var(--muted);font-weight:400;margin-left:4px}.hand-caption>span{font-size:10px;color:var(--muted)}.hand-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#8bb7a955 transparent;padding-top:20px;padding-bottom:7px;min-width:0}.hand-track{position:relative;height:calc(var(--ch) + 22px);margin:auto}.hand-card{position:absolute!important;left:var(--x);top:7px;transform:rotate(var(--rot));transform-origin:50% 150%;z-index:var(--z);transition:transform .18s,filter .18s;cursor:pointer}.hand-card:hover,.hand-card:focus-visible,.hand-card.chosen{transform:translateY(-14px) rotate(var(--rot));z-index:50!important}.hand-card.playable{box-shadow:0 0 0 1px #a2d6b455,0 6px 12px #021c2888}.hand-card.playable:after{content:'';position:absolute;top:6px;right:6px;width:5px;height:5px;border-radius:50%;background:#248968}.hand-card.chosen{outline:3px solid var(--accent);outline-offset:2px}.hand-card.not-playable{filter:brightness(.82) saturate(.7)}.playing-card{width:var(--cw);height:var(--ch);min-height:0;border:1px solid #14222e66;border-radius:7px;padding:0;background:#fffdf7;color:var(--black);user-select:none;-webkit-user-select:none;display:block;position:relative;box-shadow:0 4px 11px #00151d55;overflow:hidden;flex-shrink:0}.playing-card.red{color:var(--red)}.classic-face{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.classic-face text{font:700 28px Georgia,'Times New Roman',serif;text-anchor:middle}.classic-face .card-strip-index{display:none}.court-illustration{position:absolute;left:20%;top:6%;width:60%;height:88%;object-fit:fill;pointer-events:none}.back{background:repeating-linear-gradient(45deg,#a7e8d014 0 1px,transparent 1px 7px),#17585b;border:3px solid #e7eae0;color:#a1dec9;overflow:hidden;box-shadow:0 4px 10px #071c2588;position:relative}.back:before{content:'';position:absolute;inset:4px;border:1px solid #92c8ad66;border-radius:2px}.back:after{content:'';position:absolute;width:40%;height:40%;border:1px solid #92c8ad44;left:30%;top:30%;transform:rotate(45deg)}.back>span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1}.bot-card>span{font-size:19px}.corner{position:absolute;top:6%;left:8%;font:700 24px/.95 Georgia,serif;display:flex;flex-direction:column;align-items:center}.corner b{font-size:.8em;margin-top:3px}.corner.inverse{top:auto;left:auto;bottom:6%;right:8%;transform:rotate(180deg)}.large-face{position:absolute;inset:22% 15%;display:flex;flex-direction:column;align-items:center;justify-content:center}.large-face strong{font:700 42px/1 Georgia,serif}.large-face b{font-size:32px}.play-actions{display:flex;align-items:center;gap:9px;min-height:52px;padding-top:11px;border-top:1px solid var(--line)}.play-actions button{font-size:13px}.play-actions .quiet{border-color:transparent;color:var(--muted);padding-left:5px}.action-note{margin-right:auto;font-size:11px;color:var(--muted)}.under-table{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:11px;margin:15px 4px 0;min-height:20px}.under-table #score{white-space:nowrap}.bout-ribbon{pointer-events:none;position:absolute;color:#c1efdb;background:#153a39e6;padding:8px 20px;border:1px solid #8dbea677;border-radius:30px;opacity:0;font-size:16px;z-index:50;box-shadow:0 5px 20px #00151c55}.bout-ribbon.show{animation:ribbon 1.1s both}@keyframes ribbon{0%{opacity:0;transform:translateY(8px)}20%,70%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-8px)}}.flight{position:fixed;pointer-events:none;z-index:1000;transform-origin:top left;box-shadow:0 6px 16px #00151c66}.finish{position:absolute;inset:0;z-index:100;background:#08252bd9;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;text-align:center;border-radius:23px;padding:30px}.finish>div{max-width:380px}.finish-star{display:block;font-size:84px;color:var(--accent);line-height:1.3;filter:drop-shadow(0 0 30px #8adaad44)}.finish h2{font-size:32px;letter-spacing:-.8px;margin:10px 0}.finish p:not(.eyebrow){color:var(--muted);font-size:14px;margin:12px 0 26px}.finish .quiet{display:block;margin:10px auto 0;border:0}.game-dialog{position:fixed;border:1px solid #63978d66;border-radius:22px;padding:30px;max-width:460px;width:calc(100% - 28px);max-height:85dvh;overflow:auto;color:#e2f2ed;background:#112e37;box-shadow:0 30px 80px #00121999;line-height:1.6}.game-dialog::backdrop{background:#071a27aa;backdrop-filter:blur(7px)}.game-dialog .eyebrow{color:#9bbab5}.game-dialog h2{font-size:27px;line-height:1.25;letter-spacing:-.7px;margin:8px 34px 22px 0}.close{position:absolute;right:13px;top:13px;font-size:22px;border:0;background:transparent;width:40px;height:40px;min-height:40px;padding:0}.game-dialog fieldset{border:0;padding:0;margin:0 0 17px}.game-dialog legend{font-size:12px;color:#9bbab5;margin-bottom:9px}.choice{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #73938655;border-radius:11px;margin-bottom:8px;cursor:pointer}.choice:has(input:checked){border-color:#9ce8cd;background:#9ce8cd0c}.choice strong,.choice small{display:block}.choice strong{font-size:14px}.choice small{font-size:11px;color:#a1bdb7;margin-top:2px}.choice input,.switch-row input{accent-color:#9ce8cd;width:19px;height:19px;flex-shrink:0}.setting-row,.switch-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;border-top:1px solid #73938633;padding:11px 0}.setting-row select{font-size:12px;min-width:130px}.switch-row{cursor:pointer}.settings-note{font-size:12px;color:#a1bdb7;line-height:1.65;margin:17px 0}.full{width:100%}.rules{padding-left:20px;font-size:14px}.rules li{padding:0 0 12px 5px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.durak [hidden],body>[hidden],.game-dialog [hidden]{display:none!important}body[data-table=night] .game-scene{--table:#1b2c4a;--bg:#0c1626;--accent:#b8d4ff;--muted:#a1b0c7}body[data-table=paper] .game-scene{--table:#365354;--bg:#243d42;--accent:#f0d9a4;--muted:#bdd0c6}body[data-table=paper] .table{background:radial-gradient(ellipse,#b2c7ad18,transparent 65%),var(--table)}body[data-table=night] .back{background:repeating-linear-gradient(45deg,#bdd2ff14 0 1px,transparent 1px 7px),#273f65}.iskra-header{padding-top:18px!important;padding-bottom:18px!important}body[data-iskra-theme=oldschool]{--iskra-bg:#f6f4e9;--iskra-surface:#fffdf5;--iskra-ink:#202b45;--iskra-muted:#686655;--iskra-line:#cac7b4;--iskra-green:#213a83;--iskra-soft:#efeddd}body[data-iskra-theme=spectrum]{--iskra-bg:#f2f5fc;--iskra-surface:#fff;--iskra-ink:#142139;--iskra-muted:#52637b;--iskra-line:#d7e0f0;--iskra-green:#3152a8;--iskra-soft:#eaf0ff}
@media(min-width:900px){.pairs:has(.pair:nth-child(4)){gap:13px;max-width:850px}.pairs:has(.pair:nth-child(4)) .pair{--cw:76px;--ch:108px}.battle:has(.pair:nth-child(4)){min-height:241px}.hand-viewport{padding-top:22px}}
@media(max-width:700px){.durak{padding:20px 14px 12px}.game-title{gap:12px;margin-bottom:18px}.game-title h1{font-size:32px}.subtitle{font-size:11px;margin-top:7px}.eyebrow{font-size:8px;letter-spacing:.17em}.top-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:170px}.top-actions #new{font-size:12px;padding:8px 10px;min-height:39px}.icon-button{min-height:36px;width:36px;padding:7px}.table{padding:14px 12px 12px;border-radius:18px;--cw:68px;--ch:96px}.top-zone{grid-template-columns:61px minmax(0,1fr) 42px;gap:5px;min-height:96px}.opponent{gap:6px}.bot-portrait{flex-basis:49px;height:63px}.bot-name{font-size:12px}.bot-name>span{display:none}.bot-hand{width:118px;height:51px;margin-top:7px}.bot-card{width:34px!important;height:48px!important;left:calc(var(--i)*15px);border-width:2px!important}.bot-card>span{font-size:14px}.bot-info small{font-size:9px}.stock-pile{width:53px;height:60px;margin-bottom:7px}.stock-card{width:36px;height:51px;border-width:2px}.stock-card>span{font-size:18px}.stock-card b{font-size:10px;min-width:22px;right:-5px;bottom:-8px;padding:2px}.trump-card{width:32px;height:45px;top:11px;left:17px}.mini-label{font-size:9px}.discard-pile{width:31px;height:44px;margin-bottom:10px}.battle{min-height:196px;padding:18px 0 10px}.pairs{gap:12px 8px;max-width:310px}.pair{width:91px;height:118px}.pair>.defense-card{top:17px;left:18px}.battle:has(.pair:nth-child(4)){min-height:267px}.battle:has(.pair:nth-child(4)) .pairs{row-gap:10px}.turn-line{gap:7px;padding:8px 0;min-height:43px}.turn-line p{font-size:11px}.turn-pill{font-size:9px;padding:6px}.hand-caption{font-size:11px;padding:0}.hand-caption>span{font-size:9px;max-width:150px;text-align:right}.hand-viewport{padding-top:19px}.hand-track{height:121px}.hand-card:hover{transform:rotate(var(--rot))}.hand-card.chosen,.hand-card:focus-visible{transform:translateY(-10px) rotate(var(--rot))}.play-actions{gap:6px;padding-top:9px;min-height:52px}.play-actions button{font-size:12px;padding:8px 10px}.play-actions .quiet{font-size:11px;padding-left:0}.action-note{font-size:9px;max-width:90px;line-height:1.3}.under-table{font-size:10px;gap:10px;margin:13px 1px 0}.under-table #notice{max-width:65%}.game-dialog{padding:25px 20px}.corner{font-size:20px}.large-face strong{font-size:32px}.large-face b{font-size:24px}}
@media(max-width:370px){.top-actions{max-width:113px}.top-actions #new{width:100%}.game-title .subtitle{max-width:155px}.bot-portrait{display:none}.battle{min-height:176px}.table{--cw:62px;--ch:88px;padding-inline:9px}.pair{width:81px;height:108px}.pairs{gap:10px 4px}.pair>.defense-card{left:16px}.hand-caption>span{max-width:120px;font-size:8px}.action-note{display:none}.play-actions .quiet{margin-right:auto}.hand-track{height:113px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}body[data-motion=off] *{transition:none!important;animation:none!important}
.bot-card{position:absolute!important}.stock-card{position:absolute!important;overflow:visible}

/* Keep family theme previews aligned with the shared theme picker. */
#iskra-theme-dialog .family-swatch{position:relative;display:block;width:66px;height:46px;flex:0 0 66px;border:1px solid #71809844;border-radius:7px;overflow:hidden;background:#f6f4e9;color:#213a83}
#iskra-theme-dialog .family-swatch i{position:absolute;left:8px;right:8px;height:5px;top:8px;background:currentColor}
#iskra-theme-dialog .family-swatch i:nth-child(2){top:20px;opacity:.3}#iskra-theme-dialog .family-swatch i:nth-child(3){top:32px;width:24px}
#iskra-theme-dialog .family-swatch-spectrum{background:#f2f5fc;color:#3152a8}#iskra-theme-dialog .family-swatch-spectrum i:nth-child(2){background:#b94b24;opacity:1}#iskra-theme-dialog .family-swatch-spectrum i:nth-child(3){background:#507516}
#iskra-theme-dialog .family-check{margin-left:auto;color:var(--iskra-green);visibility:hidden}#iskra-theme-dialog [aria-pressed=true] .family-check{visibility:visible}
@media(max-width:600px){#iskra-theme-dialog .family-swatch{width:60px;height:42px;flex-basis:60px}}

/* The Iskra card room: pale paper around a deep blue playing surface. */
.game-scene{--bg:#edf2ff;--table:#183766;--accent:#b8d2ff;--ink:#f1f6ff;--muted:#a9bfdf;--line:#9ebce433;background:radial-gradient(ellipse at 50% 0,#fff 0,#f1f5ff 56%,#e8efff 100%);padding-bottom:28px}
.durak{max-width:1160px;padding:30px 28px 20px}.game-title{color:#17233d;margin-bottom:22px}.game-title .eyebrow{color:#4166ad;letter-spacing:.19em}.game-title h1{font-size:46px;font-weight:800;letter-spacing:-1.9px}.game-title .subtitle{color:#5b6e8d}.title-star{color:#2a60e8;font-size:32px}.top-actions button{background:#fff;color:#25447b;border-color:#cedaf0;box-shadow:0 2px 0 #dce5f4}.top-actions .primary{background:#275de8;color:#fff;border-color:#275de8;box-shadow:0 3px 0 #1d44ab}.top-actions button:hover{border-color:#6691ff}
.table{--cw:94px;--ch:134px;padding:22px 26px 16px;border:1px solid #5374a4;border-radius:29px;background:radial-gradient(ellipse at 50% 28%,#3763a344,transparent 62%),repeating-linear-gradient(45deg,#ffffff02 0 1px,transparent 1px 5px),#173765;box-shadow:inset 0 0 0 6px #0b224a55,inset 0 0 90px #06193644,0 18px 40px #15377322}.table-ornament{stroke:#a7caff50}.top-zone{min-height:104px}.bot-portrait:before{background:#6bafff33}.bot-portrait img{filter:drop-shadow(0 7px 7px #00193788)}.bot-status-dot{background:#b8d2ff;border-color:#173765}.bot-name{font-size:15px;letter-spacing:.1px}.bot-name>span{font-size:10px;padding:3px 7px;background:#bdd5ff15;border:1px solid #a9c9ff22;border-radius:20px;color:#c5d7f4}.bot-hand{margin-top:12px}.stock-card{box-shadow:2px 2px 0 #122c55,3px 3px 0 #a9bddd,5px 5px 0 #173465!important}.stock-card b{background:#edf3ff;border-color:#b6cfff;color:#193b72;font-weight:800}.trump-card{filter:drop-shadow(0 2px 2px #03152e55)}.stock-pile:has(.stock-card[hidden]) .trump-card{transform:rotate(0deg);left:12px;top:2px;width:51px;height:73px}.mini-label{font-size:10px;color:#b4c8e7}.discard-pile{color:#b8d2ff55;border-color:#b5caff44;background:#0b285055}.discard-pile.has-cards{background:repeating-linear-gradient(45deg,#bdd7ff16 0 1px,transparent 1px 5px),#1c477c;border-color:#bfd4f166;box-shadow:2px 2px 0 #0b2451,3px 3px 0 #a1b9dd66}
.battle{min-height:195px;padding:16px 0}.table-watermark{color:#c8ddff20}.table-watermark p{font-size:12px;letter-spacing:.5em}.table-watermark>span{font-size:64px}.pairs{gap:23px}.pair{height:calc(var(--ch) + 24px)}.playing-card{border:1px solid #cbd5e6;border-radius:10px;background:linear-gradient(135deg,#fff 0,#f6f7fb 90%);box-shadow:0 4px 0 #0a1a3644,0 8px 15px #06152f77;--red:#ba304e;--black:#1d3e70}.classic-face text{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:700}.classic-face .card-engraving{stroke-width:.65;opacity:.16}.court-illustration{left:21%;top:9%;width:58%;height:82%;object-fit:contain;filter:saturate(.88)}.back{background:repeating-linear-gradient(45deg,#9fbfff16 0 1px,transparent 1px 6px),linear-gradient(135deg,#355d99,#17396b);border:3px solid #e9effb;color:#d1e1ff}.back:before{border-color:#c3d9fc77;border-radius:3px;inset:4px}.back:after{border-color:#bad2ff55}.bot-card{border-radius:6px!important;box-shadow:0 3px 7px #061a3e88!important}.stock-card{border-radius:6px!important}.hand-card.playable{box-shadow:0 0 0 1px #b8d2ff88,0 6px 14px #04163188}.hand-card.playable:after{width:5px;height:5px;background:#2c62d9;box-shadow:0 0 0 2px #fff9}.hand-card.not-playable{filter:brightness(.85) saturate(.7)}.pair.target .attack-card{outline-color:#b8d2ff}.hand-card.chosen{outline-color:#b8d2ff}.turn-line{padding:10px 4px;border-color:#bad2ff25;margin:0 0 11px;min-height:48px}.turn-pill{background:#c0d8ff19;color:#deebff;border:1px solid #c2d7ff26;border-radius:20px;font-size:10px;letter-spacing:.02em;padding:7px 10px}.turn-line p{color:#eef4ff}.hand-caption>span{color:#b5c9e7}.hand-caption strong span{color:#afc4e5}.hand-viewport{scrollbar-color:#a5c6ff66 transparent}.play-actions{border-color:#b4cded30;min-height:57px;gap:10px}.play-actions button{background:#244b80;border:1px solid #86a9dc66;color:#eff5ff;border-radius:11px}.play-actions button.primary{background:#c6dcff;color:#183b74;border-color:#c6dcff;box-shadow:0 2px 0 #071b3a}.play-actions .quiet{background:transparent;border-color:transparent;color:#bfd3f3}.under-table{color:#5c7093;font-size:12px;margin-top:16px}.bout-ribbon{background:#e8f0ff;color:#1c4079;border-color:#b4cdf5;box-shadow:0 5px 18px #071a4a44}.finish{background:#102b55e8;border-radius:28px}.finish-star{color:#c5dcff;filter:drop-shadow(0 0 30px #8bafff55)}.finish h2{color:#f0f6ff}.finish p:not(.eyebrow){color:#c0d3ef}.finish button.primary{background:#c6dcff;color:#183b74;border-color:#c6dcff}.finish .quiet{color:#bfd3ef;background:transparent}
.game-dialog{background:#f8faff;color:#17233d;border-color:#ccdaf3;border-radius:25px;box-shadow:0 28px 90px #061a4b66}.game-dialog::backdrop{background:#0b1b3c88;backdrop-filter:blur(8px)}.game-dialog .eyebrow,.game-dialog legend{color:#5d7399}.game-dialog .close{background:#e8efff;color:#2855b8;border-radius:12px}.choice{border-color:#d1dcf0;background:#fff;padding:13px 14px}.choice:has(input:checked){border-color:#2c61e8;background:#eaf0ff;box-shadow:0 0 0 1px #2c61e8}.choice small,.settings-note{color:#5b6e8e}.choice input,.switch-row input{accent-color:#2c61e8}.setting-row,.switch-row{border-color:#dce5f4}.setting-row select{background:#fff;color:#233c66;border-color:#cbd8ef}.game-dialog button.primary{background:#275de8;color:#fff;border-color:#275de8;box-shadow:none}.dialog-actions button:not(.primary){background:#fff;color:#325182;border-color:#cedaf0}.game-dialog button:focus-visible,.game-dialog select:focus-visible,.game-dialog input:focus-visible,.top-actions button:focus-visible{outline-color:#2c61e8}
body[data-table=night] .game-scene{--table:#142643;--bg:#edf2ff;--accent:#c6dcff;--muted:#aabedc}body[data-table=night] .table{background:radial-gradient(ellipse at 50% 25%,#29446566,transparent 65%),#12253f}body[data-table=night] .back{background:repeating-linear-gradient(45deg,#bdd2ff14 0 1px,transparent 1px 6px),#213c65}body[data-table=paper] .game-scene{--table:#453c4c;--bg:#f4f1f8;--accent:#dfc7ff;--muted:#c9bbd9}body[data-table=paper] .table{background:radial-gradient(ellipse at 50% 25%,#9b7eaa33,transparent 65%),#403a50}
body[data-iskra-theme=dark] .game-scene,body[data-iskra-theme=blue-dark] .game-scene,body[data-iskra-theme=orange-dark] .game-scene{background:radial-gradient(ellipse at 50% 0,#172945,#0c172b 82%)}body[data-iskra-theme=dark] .game-title,body[data-iskra-theme=blue-dark] .game-title,body[data-iskra-theme=orange-dark] .game-title{color:#e5edff}body[data-iskra-theme=dark] .subtitle,body[data-iskra-theme=blue-dark] .subtitle,body[data-iskra-theme=orange-dark] .subtitle,body[data-iskra-theme=dark] .under-table,body[data-iskra-theme=blue-dark] .under-table,body[data-iskra-theme=orange-dark] .under-table{color:#a6bbdd}
@media(max-width:700px){.durak{padding:18px 12px 14px}.game-title{margin-bottom:17px;gap:8px}.game-title h1{font-size:34px}.title-star{font-size:24px;margin-left:8px}.game-title .subtitle{font-size:11px;max-width:190px;line-height:1.5}.game-title .eyebrow{font-size:7px}.table{--cw:70px;--ch:100px;padding:13px 11px 11px;border-radius:22px;box-shadow:inset 0 0 0 4px #0b224a55,inset 0 0 65px #06193644,0 12px 26px #15377322}.top-zone{min-height:86px}.top-actions{max-width:151px}.top-actions #new{min-height:44px;font-size:11px}.top-actions .icon-button{width:40px;min-height:40px}.bot-name{font-size:12px}.bot-info small{color:#b8cbea}.bot-hand{margin-top:9px}.battle{min-height:148px;padding:12px 0}.pair{width:91px;height:122px}.pairs{gap:10px 6px}.turn-line{min-height:43px;padding:8px 0;gap:7px}.turn-line p{font-size:11px}.turn-pill{font-size:8px;padding:6px 7px}.play-actions{gap:6px;min-height:54px}.play-actions button{min-height:44px;font-size:12px;padding:8px 11px}.play-actions .quiet{font-size:11px}.stock-pile:has(.stock-card[hidden]) .trump-card{left:8px;top:0;width:36px;height:51px}.mini-label{font-size:8px}.under-table{font-size:10px}.hand-caption>span{font-size:9px}.finish{border-radius:21px}.battle:has(.pair:nth-child(4)){min-height:264px}}
@media(max-width:370px){.game-title h1{font-size:31px}.game-title .subtitle{max-width:158px}.top-actions{max-width:108px}.top-actions #new{width:100%;min-height:40px}.table{--cw:63px;--ch:90px;padding-inline:9px}.pair{width:81px;height:110px}.pairs{gap:9px 4px}.battle{min-height:138px}.hand-caption>span{font-size:8px}.play-actions button{padding:8px 10px}.classic-face text{font-size:25px}}
.mode-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-3px 0 17px}.mode-bar>div{display:flex;gap:4px;padding:4px;border:1px solid #d2ddf0;border-radius:13px;background:#e8eefb}.mode-bar button{border:1px solid transparent;background:transparent;color:#597092;min-height:40px;font-size:12px;padding:8px 17px;box-shadow:none;border-radius:9px}.mode-bar button[aria-pressed=true]{background:#fff;color:#265cd9;border-color:#d0dcf2;font-weight:750;box-shadow:0 2px 5px #1e41700b}.mode-bar>span{font-size:11px;color:#64799c}.mode-rules{font-size:13px;color:#536b90;margin-bottom:24px}.mode-rules strong{color:#243f6f}.switch-row small{font-size:10px;color:#64799c}.game-dialog .rules{color:#455e86}.game-dialog .rules li{padding-bottom:10px}body[data-iskra-theme=blue-dark] .mode-bar>span,body[data-iskra-theme=dark] .mode-bar>span,body[data-iskra-theme=orange-dark] .mode-bar>span{color:#9fb6db}
@media(max-width:700px){.mode-bar{gap:8px;margin-bottom:13px}.mode-bar>div{flex:1}.mode-bar button{flex:1;min-height:42px;padding:8px 9px;font-size:11px}.mode-bar>span{display:none}.play-actions{flex-wrap:wrap}.play-actions .action-note{flex:1;min-width:0}.play-actions #transfer{border-color:#a7c7ff;background:#355e99;color:#fff}}
.score-controls{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap}.under-link{min-height:32px;padding:0;border:0;background:transparent;color:inherit;font-size:11px;box-shadow:none}.under-link:hover{color:#285cce;text-decoration:underline}.new-extras{display:flex;gap:9px;border-block:1px solid #d6e1f2;margin:20px 0;padding:15px 0}.new-extras button{flex:1;background:#e8efff;border-color:#d0dcf2;color:#2e538f;font-size:12px}.review-dialog{max-width:650px}.review-dialog .review-cards{display:flex;gap:5px;flex-wrap:wrap;margin:8px 0 18px;--cw:48px;--ch:68px}.review-dialog .playing-card{border-radius:5px;box-shadow:0 2px 5px #1b376522}.review-dialog .review-cards:empty:after{content:'—';color:#7c8ead}#review-board>div>strong{color:#5a6e90;font-size:12px}.review-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.review-nav button{background:#e7efff;border-color:#ccdaf3;color:#2d518c;font-size:12px}.review-nav span{color:#6d80a1;font-size:12px}#review-copy{font-size:14px;color:#264b86;min-height:24px}#stats-total{font-size:24px;font-weight:750;color:#285edb}#stats-rows{font-size:13px;color:#536987}.under-table{align-items:center}.play-actions #transfer:disabled{opacity:.55}
@media(max-width:700px){.under-table{gap:8px;align-items:flex-start}.score-controls{gap:4px;flex-direction:column;align-items:flex-end;flex-shrink:0}.under-link{font-size:9px;min-height:28px}.under-table #notice{max-width:57%}.new-extras{flex-wrap:wrap}.review-dialog .review-cards{--cw:44px;--ch:63px}.review-nav button{font-size:11px;padding-inline:11px}}
@media(max-width:700px){.iskra-header{padding:12px 16px!important;gap:10px!important;min-height:70px!important}.iskra-header .iskra-brand{gap:6px!important}.iskra-header .wordmark{font-size:25px!important}.iskra-header .brand-mark{width:27px!important;height:27px!important}.iskra-header .doc-sticker{font-size:10px!important;padding:3px 5px!important}.iskra-header nav{display:flex!important;flex-wrap:nowrap!important;gap:5px!important;margin-left:auto!important}.iskra-header nav button{font-size:10px!important;padding:8px 10px!important;min-height:44px!important;white-space:nowrap}.iskra-header #iskra-theme{width:44px!important;padding:8px!important;font-size:19px!important}.iskra-header .theme-text{display:none}.top-actions{display:grid;grid-template-columns:40px 40px;gap:6px;max-width:none}.top-actions #new{grid-column:1/-1;width:86px;font-size:10px;padding:8px 6px;min-height:40px}.top-actions .icon-button{min-height:40px;width:40px}.game-title .subtitle{max-width:210px}.game-title{align-items:center}.game-dialog .dialog-actions{flex-wrap:wrap}.game-dialog .dialog-actions button{flex:1;white-space:nowrap;font-size:12px}}
@media(max-width:370px){.iskra-header{padding-inline:12px!important;gap:6px!important}.iskra-header .wordmark{font-size:22px!important}.iskra-header .brand-mark{width:23px!important;height:23px!important}.iskra-header .doc-sticker{font-size:8px!important;padding:2px 3px!important}.iskra-header nav button{padding-inline:7px!important}.game-title .subtitle{max-width:170px}.game-title .eyebrow{font-size:6px}.mode-bar button{padding-inline:7px}}
@media(max-width:700px){.bot-name>span{display:inline-block;font-size:8px;padding:2px 5px;margin-left:4px;letter-spacing:0}.bot-name{white-space:nowrap}}
@media(max-width:700px){.iskra-header{display:flex!important;flex-wrap:nowrap!important}.iskra-header nav{width:auto!important;flex-basis:auto!important}.iskra-header .iskra-brand{flex-shrink:0}}
@media(max-width:370px){.bot-portrait{display:block;flex-basis:32px;height:49px}.opponent{gap:4px}.bot-info{max-width:118px}}

/* A straight, readable hand and a properly laid out card room. */
.table{--cw:100px;--ch:140px;padding:25px 30px 19px;border:1px solid #7188ad;box-shadow:inset 0 0 0 5px #142b50,inset 0 0 0 6px #7897c64d,inset 0 0 0 12px #081d3633,inset 0 0 110px #06162955,0 16px 35px #173e6f22;background:radial-gradient(ellipse at 50% 42%,#5077a532,transparent 69%),repeating-linear-gradient(18deg,#ffffff03 0 1px,transparent 1px 4px),#173765}
.table:after{content:'';position:absolute;inset:13px;border:1px solid #9ebadd29;border-radius:17px;pointer-events:none;z-index:-1}
.top-zone{grid-template-columns:132px minmax(0,1fr) 78px;gap:18px;min-height:118px;padding-bottom:13px;border-bottom:1px solid #c6d9f01c}
.stock-area{width:132px;align-self:center}.stock-pile{display:grid;grid-template-columns:54px 54px;gap:15px;align-items:center;width:123px;height:78px;margin:0 auto 11px}
.stock-pile .stock-card{position:relative!important;top:auto;left:auto;width:54px;height:76px;box-shadow:2px 2px 0 #112944,3px 3px 0 #a0b6d4,5px 5px 0 #112944!important;grid-column:1;grid-row:1}
.stock-pile .trump-card,.stock-pile:has(.stock-card[hidden]) .trump-card{position:relative;grid-column:2;grid-row:1;top:auto;left:auto;width:54px;height:76px;transform:none;filter:none}
.stock-labels{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:start}.stock-labels .mini-label{font-size:9px;line-height:1.4;white-space:normal;color:#c3d2e9}.stock-labels b{display:block;font-size:12px;font-weight:700;color:#eef5ff;margin:0}.stock-pile:has(.trump-card:empty){opacity:.4}.stock-pile:has(.trump-card:empty):before{content:'—';grid-column:1;grid-row:1;font-size:25px;color:#b3c7e1}
.playing-card{border-radius:8px;background:linear-gradient(125deg,#fff 45%,#f5f2e9);border:1px solid #d2d8e1;box-shadow:0 1px 0 #fff inset,0 3px 0 #08172d44,0 7px 13px #04132966;--red:#ad2944;--black:#193450}
.classic-face text{font-family:Georgia,'Times New Roman',serif;font-size:20px;font-weight:700;letter-spacing:-.7px}.classic-face text.rank-ten{font-size:17px;letter-spacing:-1.4px}.classic-face .card-engraving{opacity:.22;stroke-width:.5}.court-illustration{left:25%;top:12%;width:50%;height:76%;object-fit:contain;filter:saturate(.85) contrast(1.03)}
.hand-track{height:calc(var(--ch) + 26px)}.hand-card{top:8px;transform:none;transform-origin:center;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.hand-card:hover,.hand-card:focus-visible,.hand-card.chosen{transform:translateY(-12px);z-index:50!important}.hand-card.not-playable{filter:brightness(.94) saturate(.85)}.hand-card.playable:after{display:none}.hand-card.playable{box-shadow:inset 0 -3px #79a6e9,0 3px 0 #08172d44,0 7px 13px #04132966}.hand-card.chosen{outline:2px solid #c8dfff;outline-offset:3px}
.hand-viewport{padding-top:18px;padding-bottom:4px}.hand-caption{padding-inline:7px}.hand-caption strong{font-size:12px;letter-spacing:.03em}
.back{background:repeating-linear-gradient(45deg,#dbe9ff10 0 1px,transparent 1px 5px),repeating-linear-gradient(-45deg,#dbe9ff0b 0 1px,transparent 1px 5px),linear-gradient(145deg,#456b9d,#18345f);border:3px solid #f0f3f7;color:#dae8ff}.back:before{inset:4px;border:1px solid #d9e8ff9c;border-radius:2px}.back:after{left:19%;top:25%;width:62%;height:50%;transform:none;border:1px solid #cadfff70;border-radius:50%;box-shadow:0 0 0 3px #bfd6fb12}.back>span{font-size:25px;text-shadow:0 1px 3px #123}
.bot-hand{height:71px;margin-top:10px;width:194px}.bot-card{left:calc(var(--i)*27px);transform:rotate(calc((var(--i) - 2.5)*1deg));transform-origin:center bottom}.bot-card>span{font-size:17px}.opponent{gap:17px}.bot-portrait{flex-basis:82px;height:95px}.bot-name{font-size:15px}.bot-info small{font-size:10px}.battle{min-height:220px}.pair>.playing-card{transform:rotate(-1deg)}.pair>.defense-card{transform:rotate(3deg)}.table-watermark{color:#c5d9f51c}.table-watermark>span{font-size:74px}.table-watermark p{font-size:11px;letter-spacing:.6em}
body[data-table=paper] .table{border-color:#8e819b;box-shadow:inset 0 0 0 5px #2f2a3b,inset 0 0 0 6px #bfaace44,inset 0 0 0 12px #1a162b33,inset 0 0 110px #17102044,0 16px 35px #33234922}
@media(min-width:900px){.pairs:has(.pair:nth-child(4)) .pair{--cw:82px;--ch:115px}}
@media(max-width:700px){
 .table{--cw:76px;--ch:106px;padding:18px 12px 12px;border-radius:22px;box-shadow:inset 0 0 0 4px #142b50,inset 0 0 0 5px #7897c64d,inset 0 0 55px #06162944,0 12px 26px #15377322}.table:after{inset:9px;border-radius:14px}
 .top-zone{grid-template-columns:88px minmax(0,1fr) 34px;gap:8px;min-height:95px;padding-bottom:10px}.stock-area{width:88px}.stock-pile{grid-template-columns:36px 36px;gap:10px;width:82px;height:51px;margin-bottom:9px}.stock-pile .stock-card,.stock-pile .trump-card,.stock-pile:has(.stock-card[hidden]) .trump-card{width:36px;height:51px}.stock-labels{gap:3px}.stock-labels .mini-label{font-size:7px}.stock-labels b{font-size:10px}
 .opponent{gap:6px}.bot-portrait{flex-basis:40px;height:58px}.bot-info{max-width:115px}.bot-hand{width:105px;height:48px;margin-top:8px}.bot-card{width:31px!important;height:44px!important;left:calc(var(--i)*14px);border-width:2px!important}.bot-card>span{font-size:12px}.bot-name{font-size:11px;white-space:normal}.bot-name>span{font-size:7px;padding:2px 4px;margin-left:2px}.bot-info small{font-size:8px}.discard-pile{width:30px;height:43px;margin-bottom:9px}.discard-area .mini-label{font-size:7px}.mini-label b{margin-left:0}.back>span{font-size:18px}
 .battle{min-height:166px;padding:13px 0}.pair{width:96px;height:127px}.pair>.defense-card{left:18px;top:16px}.pairs{gap:9px 4px}.hand-track{height:132px}.hand-viewport{padding-top:16px}.hand-card:hover{transform:none}.hand-card.chosen,.hand-card:focus-visible{transform:translateY(-10px)}.hand-caption strong{font-size:10px}.hand-caption>span{font-size:8px}.battle:has(.pair:nth-child(4)){min-height:278px}
}
@media(max-width:370px){.table{--cw:68px;--ch:95px;padding-inline:10px}.top-zone{grid-template-columns:80px minmax(0,1fr) 29px;gap:5px}.stock-area{width:80px}.stock-pile{gap:7px;width:79px}.opponent{gap:3px}.bot-portrait{flex-basis:28px;height:45px}.bot-info{max-width:97px}.bot-name{font-size:10px}.bot-name>span{font-size:6px;margin-left:0;padding:1px 3px}.bot-hand{width:91px;height:42px}.bot-card{width:27px!important;height:38px!important;left:calc(var(--i)*12px)}.discard-pile{width:26px;height:38px}.pair{width:83px;height:115px}.pairs{gap:8px 3px}.pair>.defense-card{left:14px}.hand-track{height:121px}.battle{min-height:151px}.battle:has(.pair:nth-child(4)){min-height:251px}}
@media(prefers-reduced-motion:reduce){.hand-card{transition:none}}

.large-print-face text.center-rank{font-size:43px;letter-spacing:-2px}.large-print-face text.center-rank:first-letter{letter-spacing:-1px}

/* The large-print deck keeps traditional pips instead of repeating a giant rank. */
.large-print-face .card-full-index text{font-size:24px}.large-print-face .card-full-index text.rank-ten{font-size:20px;letter-spacing:-1.6px}
.back{background:linear-gradient(145deg,#3a5f8f,#1c3863);border:2px solid #eff2f5}.back:before,.back:after{display:none}.back-art{position:absolute;inset:0;width:100%;height:100%;color:#d8e5f9;pointer-events:none}.bot-card .back-art{color:#ccddf5}.stock-pile .playing-card{box-shadow:0 2px 5px #06152f66}

/* Six cloths, one quiet card room. The printed detail stays behind the play. */
body{--cloth:#193d6b;--cloth-glow:#6689b339;--rail:#102947;--stitch:#a4bee5;--cloth-art:url('assets/cloth-teal.svg');--seat-tint:#b8d1f316;--cloth-ink:#eef4ff;--cloth-muted:#b5cae4}
body[data-table=night]{--cloth:#15223a;--cloth-glow:#53689438;--rail:#0c1628;--stitch:#8d9cbc;--cloth-art:url('assets/cloth-night.svg')}
body[data-table=paper]{--cloth:#463b4d;--cloth-glow:#ad87a32d;--rail:#2b2635;--stitch:#c2abbf;--cloth-art:url('assets/cloth-paper.svg')}
body[data-table=forest]{--cloth:#203f43;--cloth-glow:#74a5972a;--rail:#132b30;--stitch:#a0c5bc;--cloth-art:url('assets/cloth-forest.svg')}
body[data-table=wine]{--cloth:#4a303c;--cloth-glow:#b9788d29;--rail:#2e202c;--stitch:#c49ba5;--cloth-art:url('assets/cloth-wine.svg')}
body:is([data-table=silver],[data-table=linen]){--cloth:#dfe8f1;--cloth-glow:#ffffff99;--rail:#b7c9dd;--stitch:#6885a9;--cloth-art:url('assets/cloth-silver.svg');--cloth-ink:#263e5d;--cloth-muted:#596f8c;--seat-tint:#5679a612}
body[data-table] .table{--ink:var(--cloth-ink);--muted:var(--cloth-muted);border-color:var(--stitch);background:radial-gradient(ellipse at 50% 45%,var(--cloth-glow),transparent 70%),repeating-linear-gradient(20deg,#ffffff03 0 1px,transparent 1px 4px),repeating-linear-gradient(110deg,#00000003 0 1px,transparent 1px 5px),var(--cloth);box-shadow:inset 0 0 0 5px var(--rail),inset 0 0 0 6px color-mix(in srgb,var(--stitch) 40%,transparent),inset 0 0 0 12px #04162718,inset 0 0 100px #07122526,0 15px 32px #19365f20;color:var(--cloth-ink)}
.table:after{border-color:color-mix(in srgb,var(--stitch) 25%,transparent)}.table-ornament{display:none}.cloth-print{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:var(--cloth-art);background-repeat:no-repeat;background-size:100% 100%;opacity:.55}
.table-watermark{color:var(--stitch);opacity:.16}.table.has-table .table-watermark{opacity:.10}.table-watermark>span{display:inline-flex;align-items:center;justify-content:center;width:94px;height:94px;border:1px solid currentColor;outline:1px solid currentColor;outline-offset:8px;border-radius:50%;font-size:61px}.table-watermark p{margin-top:25px;font-size:11px;letter-spacing:.5em}.table-watermark small{font-size:8px;letter-spacing:.24em}.top-zone{position:relative;border-color:color-mix(in srgb,var(--stitch) 21%,transparent)}.turn-line{border-color:color-mix(in srgb,var(--stitch) 23%,transparent)}.battle{background:radial-gradient(ellipse at center,#ffffff04,transparent 70%)}
.opponents{display:flex;justify-content:center;align-items:center;gap:15px;min-width:0}.opponents .opponent{position:relative;justify-content:center;min-width:0;padding:10px 13px;border:1px solid transparent;border-radius:17px;transition:border-color .2s,background .2s}.opponents .opponent.is-turn{background:var(--seat-tint);border-color:color-mix(in srgb,var(--stitch) 44%,transparent)}.opponents .opponent.is-out{opacity:.50}.bot-name{color:var(--cloth-ink)}.bot-info small{color:var(--cloth-muted)}.seat-role{display:block;font-size:9px;color:var(--cloth-muted);height:14px;line-height:14px;margin-top:2px}.bot-status-dot{background:var(--stitch);border-color:var(--cloth)}.opponent:not(.is-turn) .bot-status-dot{opacity:0}.bot-name>span{color:var(--cloth-muted);background:var(--seat-tint);border-color:color-mix(in srgb,var(--stitch) 20%,transparent)}
.table[data-players='3'] .top-zone,.table[data-players='4'] .top-zone{grid-template-columns:132px minmax(0,1fr) 65px;gap:12px;min-height:143px}.table[data-players='3'] .opponent,.table[data-players='4'] .opponent{gap:9px;padding:9px 11px}.table[data-players='3'] .bot-portrait,.table[data-players='4'] .bot-portrait{flex-basis:55px;height:74px}.table[data-players='3'] .bot-hand,.table[data-players='4'] .bot-hand{width:112px;height:48px;margin-top:7px}.table[data-players='3'] .bot-card,.table[data-players='4'] .bot-card{width:32px!important;height:45px!important;left:calc(var(--i)*15px)}.table[data-players='4'] .opponents{gap:5px}.table[data-players='4'] .bot-name{font-size:12px}.table[data-players='4'] .bot-name>span{display:block;width:fit-content;font-size:8px;padding:1px 5px;margin:2px 0 0}.table[data-players='4'] .opponent{gap:6px;padding:8px}.table[data-players='4'] .bot-portrait{flex-basis:43px;height:61px}
.seat-button{margin-left:auto;background:#fff;border-color:#d0dcef;color:#335683;font-size:12px;white-space:nowrap;min-height:40px;box-shadow:0 2px 4px #16345e06}.seat-button:before{content:'● ●';font-size:8px;letter-spacing:2px;margin-right:7px;color:#7892b6}.mode-bar>span{margin-left:0}.player-picker{padding:18px;background:#f1f5fc;border:1px solid #d7e2f2;border-radius:14px;margin-top:20px}.player-picker label{display:block;font-size:12px;font-weight:700;color:#3b5275;margin-bottom:8px}.player-picker select{width:100%;background:#fff;color:#223b5e;border:1px solid #c8d7ef;min-height:46px;font-size:14px}.player-picker p{margin:9px 0 0;color:#70819b;font-size:11px}
.game-dialog:has(.cloth-options){max-width:540px}.cloth-settings{padding-top:9px!important}.cloth-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cloth-option{position:relative;display:block;padding:7px;min-width:0;border:1px solid #d3deef;border-radius:12px;background:#fff;color:#2d4264;text-align:left;box-shadow:none}.cloth-option:hover{border-color:#8aa8d7;background:#f6f9ff}.cloth-option[aria-pressed=true]{border-color:#2b62dc;box-shadow:0 0 0 1px #2b62dc;background:#f3f7ff}.cloth-option strong{display:block;font-size:10px;font-weight:600;margin:6px 2px 2px;line-height:1.35}.cloth-check{display:none;position:absolute;right:12px;top:11px;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:700;line-height:18px;text-align:center;background:#fff;color:#315fc2}.cloth-option[aria-pressed=true] .cloth-check{display:block}.cloth-swatch{display:flex;justify-content:center;align-items:center;min-height:62px;border-radius:7px;border:1px solid #ffffff25;box-shadow:inset 0 0 0 3px #0c152b18;background-color:#193d6b;background-image:url('assets/cloth-teal.svg');background-size:100% 100%}.cloth-swatch i{width:19px;height:28px;background:#f9f8f3;border:1px solid #d6dae1;border-radius:2px;box-shadow:0 2px 4px #071a3933;margin-left:-5px;transform:rotate(-9deg)}.cloth-swatch i:nth-child(2){transform:translateY(-3px)}.cloth-swatch i:nth-child(3){transform:rotate(9deg)}.cloth-night{background-color:#15223a;background-image:url('assets/cloth-night.svg')}.cloth-paper{background-color:#463b4d;background-image:url('assets/cloth-paper.svg')}.cloth-forest{background-color:#203f43;background-image:url('assets/cloth-forest.svg')}.cloth-wine{background-color:#4a303c;background-image:url('assets/cloth-wine.svg')}.cloth-silver{background-color:#dfe8f1;background-image:url('assets/cloth-silver.svg')}
body:is([data-table=silver],[data-table=linen]) .table .turn-line p,body:is([data-table=silver],[data-table=linen]) .hand-caption,body:is([data-table=silver],[data-table=linen]) .stock-labels b{color:var(--cloth-ink)}body:is([data-table=silver],[data-table=linen]) .turn-pill{color:#35557f;background:#527ba518;border-color:#527ba533}body:is([data-table=silver],[data-table=linen]) .hand-caption>span,body:is([data-table=silver],[data-table=linen]) .hand-caption strong span,body:is([data-table=silver],[data-table=linen]) .mini-label,body:is([data-table=silver],[data-table=linen]) .stock-labels .mini-label,body:is([data-table=silver],[data-table=linen]) .action-note,body:is([data-table=silver],[data-table=linen]) .play-actions .quiet{color:var(--cloth-muted)}body:is([data-table=silver],[data-table=linen]) .play-actions{border-color:#7892b63d}body:is([data-table=silver],[data-table=linen]) .play-actions button{background:#f3f7fc;color:#345984;border-color:#9bb1ce}body:is([data-table=silver],[data-table=linen]) .play-actions button.primary{background:#365f96;color:#fff}body:is([data-table=silver],[data-table=linen]) .discard-pile{color:#597ca588;background:#7e9cba14;border-color:#718fb75c}body:is([data-table=silver],[data-table=linen]) .discard-pile.has-cards{background:#466797;box-shadow:2px 2px 0 #b9c8dd,3px 3px 0 #7189ab}body:is([data-table=silver],[data-table=linen]) .hand-viewport{scrollbar-color:#6b87ac66 transparent}body:is([data-table=silver],[data-table=linen]) .bot-portrait:before{background:#547daa20}
@media(max-width:1000px) and (min-width:701px){.table[data-players='4'] .opponent{display:block;text-align:center}.table[data-players='4'] .bot-portrait{width:42px;height:50px;margin:0 auto 5px}.table[data-players='4'] .bot-name>span{display:inline-block}.table[data-players='4'] .bot-hand{width:98px}.table[data-players='4'] .bot-card{left:calc(var(--i)*12px)}.table[data-players='4'] .top-zone{min-height:160px}}
@media(max-width:700px){
 .cloth-print{opacity:.4}.table-watermark>span{width:66px;height:66px;outline-offset:6px;font-size:44px}.table-watermark p{font-size:8px;letter-spacing:.4em;margin-top:17px}.table-watermark small{font-size:6px}.opponents .opponent{padding:5px 3px;border-radius:10px;gap:5px}.seat-role{font-size:7px;height:10px;line-height:10px;margin-top:1px}.bot-name{font-size:10px}.bot-name>span{font-size:6px;padding:1px 3px}.mode-bar{flex-wrap:wrap;gap:7px}.mode-bar>div{flex-basis:100%;width:100%}.mode-bar>.seat-button{display:block;margin-left:0;min-height:31px;font-size:10px;padding:4px 10px;border-radius:7px}.mode-bar>span{display:block;font-size:9px;margin-left:auto}.seat-button:before{font-size:6px;margin-right:4px}.cloth-options{gap:8px}.cloth-swatch{min-height:55px}.cloth-option strong{font-size:9px}.cloth-option{padding:6px}.cloth-check{width:15px;height:15px;line-height:15px;font-size:10px;right:9px;top:9px}
 .table[data-players='3'] .top-zone,.table[data-players='4'] .top-zone{grid-template-columns:88px minmax(0,1fr) 32px;gap:7px;min-height:180px;align-items:start}.table[data-players='3'] .stock-area,.table[data-players='4'] .stock-area,.table[data-players='3'] .discard-area,.table[data-players='4'] .discard-area{align-self:center}.table[data-players='3'] .opponents,.table[data-players='4'] .opponents{display:flex;flex-direction:column;gap:5px}.table[data-players='3'] .opponent,.table[data-players='4'] .opponent{width:100%;padding:5px 4px;gap:6px;justify-content:center}.table[data-players='3'] .bot-portrait,.table[data-players='4'] .bot-portrait{flex:0 0 31px;height:44px}.table[data-players='3'] .bot-info,.table[data-players='4'] .bot-info{width:85px;max-width:85px}.table[data-players='3'] .bot-hand,.table[data-players='4'] .bot-hand{width:81px;height:25px;margin-top:4px}.table[data-players='3'] .bot-card,.table[data-players='4'] .bot-card{width:19px!important;height:27px!important;left:calc(var(--i)*12px);border-width:1px!important;border-radius:3px!important}.table[data-players='3'] .bot-name,.table[data-players='4'] .bot-name{font-size:9px;white-space:nowrap}.table[data-players='3'] .bot-name>span,.table[data-players='4'] .bot-name>span{display:inline-block;margin:0 0 0 2px;font-size:6px;padding:0 3px}.table[data-players='3'] .bot-info small,.table[data-players='4'] .bot-info small{font-size:7px;display:inline-block;margin-top:2px}.table[data-players='3'] .seat-role,.table[data-players='4'] .seat-role{display:inline-block;margin-left:4px;height:auto}.table[data-players='4'] .top-zone{min-height:242px}.table[data-players='3'] .battle,.table[data-players='4'] .battle{min-height:147px}.table[data-players='3'] .battle:has(.pair:nth-child(4)),.table[data-players='4'] .battle:has(.pair:nth-child(4)){min-height:278px}
}
@media(max-width:370px){.table[data-players='3'] .top-zone,.table[data-players='4'] .top-zone{grid-template-columns:80px minmax(0,1fr) 27px;gap:4px}.table[data-players='3'] .opponent,.table[data-players='4'] .opponent{padding:4px 2px;gap:3px}.table[data-players='3'] .bot-portrait,.table[data-players='4'] .bot-portrait{flex-basis:24px;height:37px}.table[data-players='3'] .bot-info,.table[data-players='4'] .bot-info{width:80px;max-width:80px}.cloth-options{gap:6px}.cloth-option strong{font-size:8px}.cloth-swatch{min-height:47px}.cloth-swatch i{width:15px;height:23px}.table[data-players='3'] .battle:has(.pair:nth-child(4)),.table[data-players='4'] .battle:has(.pair:nth-child(4)){min-height:251px}}
.battle:before{content:'';position:absolute;inset:0;background:url('assets/table-embroidery.svg') center/100% 100% no-repeat;opacity:.17;pointer-events:none;z-index:-1}.table.has-table .battle:before{opacity:.11}.mode-bar .seat-button{border:1px solid #cddbf0;background:#fff;color:#335683;box-shadow:0 2px 4px #16345e06;border-radius:9px;padding:8px 13px}.mode-bar .seat-button:hover{border-color:#8baada;background:#f6f9ff}body:is([data-table=silver],[data-table=linen]) .battle:before{filter:brightness(.55);opacity:.24}
@media(max-width:700px){.mode-bar .seat-button{min-height:32px;padding:4px 10px;font-size:10px}.battle:before{background-size:150% 100%;opacity:.10}.table[data-players='3'] .top-zone,.table[data-players='4'] .top-zone{min-height:0;grid-template-rows:auto auto;row-gap:8px;align-items:center}.table[data-players='3'] .opponents,.table[data-players='4'] .opponents{grid-column:1/-1;grid-row:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:100%}.table[data-players='4'] .opponents{grid-template-columns:repeat(3,minmax(0,1fr))}.table[data-players='3'] .stock-area,.table[data-players='4'] .stock-area{grid-column:1;grid-row:2}.table[data-players='3'] .discard-area,.table[data-players='4'] .discard-area{grid-column:3;grid-row:2}.table[data-players='3'] .opponent,.table[data-players='4'] .opponent{display:block;text-align:center;padding:6px 2px 5px}.table[data-players='3'] .bot-portrait,.table[data-players='4'] .bot-portrait{width:32px;height:37px;margin:0 auto 3px}.table[data-players='3'] .bot-info,.table[data-players='4'] .bot-info{width:100%;max-width:none}.table[data-players='3'] .bot-hand,.table[data-players='4'] .bot-hand{width:79px;height:26px;margin:5px auto 0}.table[data-players='3'] .bot-name>span,.table[data-players='4'] .bot-name>span{display:none}.table[data-players='3'] .seat-role,.table[data-players='4'] .seat-role{display:block;height:10px;line-height:10px;margin:1px 0 0}.table[data-players='3'] .bot-info small,.table[data-players='4'] .bot-info small{font-size:8px}.table[data-players='3'] .top-zone,.table[data-players='4'] .top-zone{padding-bottom:8px}}
@media(max-width:370px){.table[data-players='3'] .bot-hand,.table[data-players='4'] .bot-hand{width:68px}.table[data-players='3'] .bot-card,.table[data-players='4'] .bot-card{width:18px!important;height:25px!important;left:calc(var(--i)*10px)}.table[data-players='3'] .bot-portrait,.table[data-players='4'] .bot-portrait{height:32px;width:28px}.table[data-players='3'] .opponent,.table[data-players='4'] .opponent{padding-inline:1px}}
body{--weave:url('assets/weave-teal.svg')}body[data-table=night]{--weave:url('assets/weave-night.svg')}body[data-table=paper]{--weave:url('assets/weave-paper.svg')}body[data-table=forest]{--weave:url('assets/weave-forest.svg')}body[data-table=wine]{--weave:url('assets/weave-wine.svg')}body:is([data-table=silver],[data-table=linen]){--weave:url('assets/weave-silver.svg')}
body[data-table] .table{background-image:radial-gradient(ellipse at 50% 45%,var(--cloth-glow),transparent 70%),var(--weave),repeating-linear-gradient(20deg,#ffffff03 0 1px,transparent 1px 4px);background-color:var(--cloth);background-size:auto,128px 128px,auto}.battle:before{opacity:.28}.table.has-table .battle:before{opacity:.18}
@media(max-width:700px){.battle:before{opacity:.15}.table.has-table .battle:before{opacity:.10}}

/* Material table, with one upholstered rail. No stretched corner illustration. */
body{--rim-top:#405875;--rim-bottom:#10223b;--rim-light:#91a5bc77}body[data-table=night]{--rim-top:#364257;--rim-bottom:#0a1221;--rim-light:#91a0bb66}body[data-table=paper]{--rim-top:#756471;--rim-bottom:#2c2332;--rim-light:#b5a3ad77}body[data-table=forest]{--rim-top:#4d6a63;--rim-bottom:#162e2c;--rim-light:#9fb9ad77}body[data-table=wine]{--rim-top:#79575e;--rim-bottom:#2e1d29;--rim-light:#bb999f77}body:is([data-table=silver],[data-table=linen]){--rim-top:#c0cddc;--rim-bottom:#778ba8;--rim-light:#ffffffa0}
body[data-table] .table{border:1px solid var(--rim-bottom);border-radius:30px;padding:29px 31px 20px;background:radial-gradient(ellipse at 50% 40%,#ffffff0a,transparent 70%),var(--cloth);box-shadow:inset 0 0 0 7px var(--rim-top),inset 0 0 0 8px var(--rim-light),inset 0 0 0 11px var(--rim-bottom),inset 0 12px 28px #03122340,0 3px 0 var(--rim-bottom),0 18px 35px #132b4a25}
.table:after,.battle:before{display:none!important}.cloth-print{display:block;inset:11px;z-index:-1;opacity:.65;border-radius:19px;background:url('assets/felt-v1.webp') center/600px repeat;mix-blend-mode:soft-light}.table-watermark{opacity:.13}.table.has-table .table-watermark{opacity:.07}.table-watermark>span{border:0;outline:0;font-size:72px;width:auto;height:auto}.table-watermark p{font-size:10px;letter-spacing:.45em;margin-top:12px}.table-watermark small{font-size:7px}.top-zone{border-bottom:0;padding-bottom:12px}.battle{background:none}.turn-line{border-top-color:transparent;border-bottom-color:color-mix(in srgb,var(--stitch) 19%,transparent)}.play-actions{border-color:color-mix(in srgb,var(--stitch) 20%,transparent)}
.table[data-players='2'] .top-zone,.table[data-players='3'] .top-zone,.table[data-players='4'] .top-zone{grid-template-columns:166px minmax(0,1fr) 65px}.stock-area{width:166px}.stock-pile{grid-template-columns:62px 78px;gap:15px;width:155px;height:110px;align-items:center;margin-bottom:10px}.stock-pile .stock-card{width:62px;height:87px}.stock-pile .trump-card,.stock-pile:has(.stock-card[hidden]) .trump-card{width:78px;height:110px;min-height:0;padding:0;border:0;border-radius:8px;background:transparent;cursor:zoom-in;box-shadow:none}.stock-pile .trump-card:hover{border:0;filter:brightness(1.03)}.stock-pile .trump-card:disabled{opacity:1;cursor:default}.stock-labels{grid-template-columns:62px 78px;gap:15px;justify-content:center}.stock-labels .mini-label{font-size:10px}.stock-labels b{display:inline;font-size:12px;margin-left:3px}
.table[data-players='3'] .bot-portrait,.table[data-players='4'] .bot-portrait{flex-basis:72px;height:91px}.bot-portrait img{object-fit:contain;filter:drop-shadow(0 5px 5px #03162c66)}.opponents .opponent{padding:10px 12px;border-radius:18px}.opponents .opponent.is-turn{background:linear-gradient(135deg,#c2d8ff10,#ffffff02);border-color:color-mix(in srgb,var(--stitch) 55%,transparent);box-shadow:0 0 20px #9fc1ee08}.opponent.is-turn .bot-portrait:before{filter:blur(12px);background:#b3d5ff25}.table[data-players='4'] .bot-hand{width:99px}.table[data-players='4'] .bot-card{left:calc(var(--i)*13px)}.table[data-players='4'] .opponent{gap:7px;padding:8px}.table[data-players='4'] .opponents{gap:7px}.seat-role{font-size:10px;height:15px;line-height:15px}.bot-name{font-size:15px}.table[data-players='4'] .bot-name{font-size:14px}.bot-name>span{font-size:9px}
.cloth-swatch{background-image:url('assets/felt-v1.webp')!important;background-size:180px;background-blend-mode:soft-light;border:4px solid #29415d;box-shadow:inset 0 0 0 1px #c4d2e15c}.cloth-night{border-color:#121c2c}.cloth-paper{border-color:#594951}.cloth-forest{border-color:#2e504b}.cloth-wine{border-color:#56343f}.cloth-silver{border-color:#9aadc6}
#card-loupe{position:fixed;z-index:2000;pointer-events:none;--cw:180px;--ch:252px;padding:8px;background:#edf3fbe6;backdrop-filter:blur(6px);border:1px solid #aabdd8;border-radius:14px;box-shadow:0 15px 45px #07192c44}#card-loupe .playing-card{box-shadow:0 3px 8px #152f4b28}.card-dialog{max-width:330px;text-align:center}.card-dialog h2{font-size:21px;margin-right:0}.card-dialog .eyebrow{text-align:center}#card-large{--cw:196px;--ch:274px;display:flex;justify-content:center;margin:18px 0 25px}.table-fx{position:absolute;z-index:80;pointer-events:none;width:90px;height:90px;border-radius:50%;border:1px solid #d3e6ff88;box-shadow:0 0 15px #c4deff22,inset 0 0 20px #c4deff10}.fx-collect{width:65px;height:65px;border-color:#e1cd9c99;box-shadow:0 0 18px #fff0bb22}.finish-star{animation:finish-glow .7s ease-out both}@keyframes finish-glow{from{transform:scale(.75);filter:drop-shadow(0 0 0 #a9d0ff00)}60%{transform:scale(1.07);filter:drop-shadow(0 0 30px #a9d0ff55)}to{transform:scale(1);filter:drop-shadow(0 0 18px #a9d0ff33)}}
@media(max-width:1000px) and (min-width:701px){.table[data-players='4'] .bot-portrait{width:65px;height:75px}.table[data-players='4'] .top-zone{min-height:175px}.table[data-players='4'] .bot-name{font-size:12px}.table[data-players='4'] .bot-name>span{display:none}}
@media(max-width:700px){body[data-table] .table{padding:19px 13px 13px;border-radius:23px;box-shadow:inset 0 0 0 5px var(--rim-top),inset 0 0 0 6px var(--rim-light),inset 0 0 0 8px var(--rim-bottom),inset 0 9px 20px #03122330,0 2px 0 var(--rim-bottom),0 12px 25px #132b4a20}.cloth-print{inset:8px;border-radius:15px;background-size:420px}.table[data-players='2'] .top-zone,.table[data-players='3'] .top-zone,.table[data-players='4'] .top-zone{grid-template-columns:104px minmax(0,1fr) 30px;gap:6px}.stock-area{width:104px}.stock-pile{grid-template-columns:40px 48px;gap:9px;width:97px;height:68px;margin-bottom:8px}.stock-pile .stock-card{width:40px;height:56px}.stock-pile .trump-card,.stock-pile:has(.stock-card[hidden]) .trump-card{width:48px;height:68px}.stock-labels{grid-template-columns:40px 48px;gap:9px}.stock-labels .mini-label{font-size:8px}.stock-labels b{font-size:9px;margin-left:2px}.table[data-players='2'] .bot-portrait{flex-basis:30px;height:49px}.table[data-players='2'] .bot-hand{width:91px;height:44px}.table[data-players='2'] .bot-card{left:calc(var(--i)*12px);width:29px!important;height:41px!important}.table[data-players='2'] .opponent{padding:5px 3px;gap:4px}.table[data-players='2'] .bot-name{font-size:10px}.table[data-players='2'] .bot-name>span{display:none}.table[data-players='3'] .bot-portrait,.table[data-players='4'] .bot-portrait{width:49px;height:59px;margin:0 auto 3px}.table[data-players='3'] .opponent,.table[data-players='4'] .opponent{display:block;padding:6px 2px 5px;border-radius:12px}.table[data-players='3'] .bot-name,.table[data-players='4'] .bot-name{font-size:11px}.table[data-players='3'] .bot-hand,.table[data-players='4'] .bot-hand{width:79px;height:26px}.table[data-players='3'] .bot-card,.table[data-players='4'] .bot-card{left:calc(var(--i)*12px);width:19px!important;height:27px!important}.table[data-players='3'] .seat-role,.table[data-players='4'] .seat-role{font-size:8px;height:12px;line-height:12px}.table[data-players='3'] .top-zone,.table[data-players='4'] .top-zone{min-height:0}.table-watermark>span{font-size:52px}.table-watermark p{font-size:8px}.table-fx{width:65px;height:65px}#card-loupe{--cw:140px;--ch:196px}.cloth-swatch{border-width:3px}}
@media(max-width:370px){.table[data-players='3'] .bot-portrait,.table[data-players='4'] .bot-portrait{width:43px;height:52px}.table[data-players='3'] .bot-hand,.table[data-players='4'] .bot-hand{width:68px}.table[data-players='3'] .bot-card,.table[data-players='4'] .bot-card{left:calc(var(--i)*10px);width:18px!important;height:25px!important}.table[data-players='3'] .opponents,.table[data-players='4'] .opponents{gap:3px}}
@media(prefers-reduced-motion:reduce){.finish-star{animation:none}}body[data-motion=off] .finish-star{animation:none}

body[data-table=walnut]{--cloth:#483020;--cloth-ink:#f5ede2;--cloth-muted:#d6c4ae;--stitch:#c6aa87;--rim-top:#624835;--rim-bottom:#281c16;--rim-light:#b79a7777;--seat-tint:#e0c5a110}
body[data-table=walnut] .table{background:linear-gradient(#25170f30,#25170f30),url('assets/walnut-v1.webp') center/cover}body[data-table=walnut] .cloth-print{display:none}.cloth-swatch.cloth-walnut{background-image:url('assets/walnut-v1.webp')!important;background-size:cover;background-color:#513724;border-color:#483022;background-blend-mode:normal}
body[data-table=linen]{--cloth:#ded3c0;--cloth-glow:#fff5df50;--cloth-ink:#473d31;--cloth-muted:#776a57;--stitch:#98856a;--rim-top:#b3a38a;--rim-bottom:#83715b;--rim-light:#f6ecd777;--seat-tint:#806b5310}.cloth-linen{background-color:#ded3c0;border-color:#a9987f}
.mode-bar>.seat-button{flex:none}

/* Readable roles and a visible turn: information sits above the cards. */
.round-state{position:relative;z-index:2;display:flex;align-items:center;gap:22px;padding:12px 6px 15px;border-bottom:1px solid color-mix(in srgb,var(--stitch) 20%,transparent);margin-bottom:2px}.round-route{display:flex;align-items:center;gap:14px;flex-shrink:0}.round-route>span:not(.route-arrow){min-width:95px}.round-route small{display:block;font-size:12px;line-height:1.3;color:var(--cloth-muted);font-weight:600;margin-bottom:3px}.round-route strong{display:block;font-size:18px;line-height:1.25;color:var(--cloth-ink);font-weight:750}.route-arrow{font-size:25px;color:var(--stitch);font-weight:400}.round-state .turn-line{display:flex;align-items:center;flex:1;gap:12px;border:0;padding:0;margin:0;min-height:48px;justify-content:flex-end}.round-state .turn-line p{font-size:15px;line-height:1.45;color:var(--cloth-ink);max-width:400px}.round-state .turn-pill{font-size:13px;font-weight:750;padding:10px 13px;border-radius:10px;white-space:nowrap;color:var(--cloth-ink);background:#b8d0f318;border-color:color-mix(in srgb,var(--stitch) 40%,transparent)}.round-state .turn-pill[data-mine=true]{background:#e6f0ff;color:#173d71;border-color:#fff;box-shadow:0 0 0 2px #8cb6f233}
.game-title .subtitle{font-size:16px;line-height:1.4;font-weight:600;color:#3d587c}.game-title .eyebrow{font-size:11px}.mode-bar button{font-size:14px;min-height:44px}.mode-bar>span{font-size:12px}.mode-bar .seat-button{font-size:14px}.table .bot-name,.table[data-players='4'] .bot-name{font-size:16px;font-weight:750}.table .bot-info small{font-size:13px;line-height:1.35}.table .bot-name>span{font-size:11px;padding:2px 6px}.table .seat-role{display:block;height:auto;min-height:23px;width:fit-content;font-size:12px;font-weight:700;line-height:1.35;margin:5px 0 0;padding:3px 7px;border-radius:6px;color:#d6e5fa;background:#bdd7f414;border:1px solid transparent}.seat-role:empty{visibility:hidden}.opponent[data-role=defense] .seat-role,.opponent[data-role=taking] .seat-role{background:#f4ddb3;color:#57401c;border-color:#f9e8cd}.opponent[data-role=attack] .seat-role,.opponent[data-role=throw] .seat-role{background:#d5e6ff;color:#1d426f;border-color:#eef5ff}.opponents .opponent.is-turn{outline:2px solid #c3dbff;outline-offset:2px;background:#b7d1f31c;box-shadow:0 0 0 5px #a7c9f110,0 0 25px #aacaff14}.opponent.is-turn .seat-role:before{content:'●';display:inline-block;font-size:8px;margin-right:5px;vertical-align:1px}.opponents .opponent.is-out{opacity:.7}.opponent.is-turn .bot-status-dot{width:10px;height:10px;bottom:2px;right:5px;box-shadow:0 0 0 3px #bad7ff30}
.hand-caption{gap:10px;flex-wrap:wrap}.hand-caption strong{font-size:16px}.hand-caption>span{font-size:13px;line-height:1.4;max-width:none}.hand-caption #hand-hint{margin-left:auto;color:var(--cloth-muted)}.hand-caption .my-role{font-size:12px;font-weight:700;line-height:1.35;padding:4px 8px;border-radius:6px;background:#b9d4f318;color:var(--cloth-ink);white-space:nowrap}.my-role:empty{display:none}.hand-caption .my-role[data-role=defense],.hand-caption .my-role[data-role=taking]{background:#f4ddb3;color:#57401c}.hand-caption .my-role[data-role=attack],.hand-caption .my-role[data-role=throw]{background:#d5e6ff;color:#1d426f}.hand-caption .my-role.is-current:before{content:'●';font-size:8px;margin-right:5px;vertical-align:1px}.player-zone{padding:12px 9px 0;border:1px solid transparent;border-radius:15px;transition:border-color .18s,background .18s}.my-turn .player-zone{border-color:#bed8ff80;background:#bad3f308;box-shadow:0 0 0 2px #a7c9f10d}.play-actions button{font-size:15px;padding:10px 15px}.play-actions .quiet{font-size:14px}.play-actions .action-note{font-size:12px;line-height:1.4}.under-table,.under-link{font-size:13px}.mini-label,.stock-labels .mini-label{font-size:12px}.stock-labels b{font-size:14px}.settings-note,.choice small{font-size:14px!important}.choice strong{font-size:16px}.setting-row,.switch-row{font-size:15px}.cloth-option strong{font-size:12px}.cloth-swatch{min-height:67px}.new-extras button,.player-picker p{font-size:13px}.player-picker label{font-size:14px}.rules,.mode-rules{font-size:15px}
body:is([data-table=silver],[data-table=linen]) .opponents .opponent.is-turn{outline-color:#355f98;background:#fff5;box-shadow:0 0 0 5px #355f980b}body:is([data-table=silver],[data-table=linen]) .my-turn .player-zone{border-color:#4b70a58a;background:#fff4}
@media(max-width:1000px) and (min-width:701px){.table[data-players='4'] .bot-name{font-size:14px}.round-state{gap:16px}.round-state .turn-line{gap:8px}.round-state .turn-line p{font-size:14px}.round-route strong{font-size:16px}.round-route>span:not(.route-arrow){min-width:75px}}
@media(max-width:700px){.game-title .subtitle{font-size:13px;line-height:1.4;max-width:220px}.game-title .eyebrow{font-size:9px;letter-spacing:.12em}.top-actions #new{width:100px;font-size:12px;min-height:44px}.top-actions{grid-template-columns:47px 47px}.top-actions .icon-button{width:47px;min-height:44px}.game-title{align-items:center;margin-bottom:16px}.game-title h1{font-size:34px}.mode-bar button{font-size:13px;padding:8px 9px}.mode-bar .seat-button{font-size:12px;padding:6px 10px;min-height:36px}.mode-bar>span{font-size:11px}.round-state{display:block;padding:9px 1px 12px;margin-top:5px}.round-route{justify-content:center;gap:15px;margin-bottom:11px}.round-route>span:not(.route-arrow){min-width:90px;text-align:center}.round-route strong{font-size:17px}.round-route small{font-size:11px;margin-bottom:2px}.route-arrow{font-size:23px}.round-state .turn-line{justify-content:center;gap:9px;min-height:42px;align-items:center}.round-state .turn-line p{font-size:13px;line-height:1.4}.round-state .turn-pill{font-size:12px;padding:8px 9px;border-radius:8px}.table .bot-name,.table[data-players='3'] .bot-name,.table[data-players='4'] .bot-name{font-size:13px;line-height:1.3}.table .bot-info small,.table[data-players='3'] .bot-info small,.table[data-players='4'] .bot-info small{font-size:11px;line-height:1.3;margin-top:4px}.table .seat-role,.table[data-players='3'] .seat-role,.table[data-players='4'] .seat-role{font-size:10px;line-height:1.3;min-height:19px;margin:4px auto 0;padding:2px 4px}.table[data-players='2'] .seat-role{margin-left:0}.table[data-players='3'] .opponent,.table[data-players='4'] .opponent{padding-bottom:7px}.table .bot-name>span{display:none}.hand-caption strong{font-size:14px;flex:1}.hand-caption .my-role{font-size:11px;flex:none;padding:3px 6px}.hand-caption #hand-hint{font-size:12px;flex:0 0 100%;text-align:left;margin:0;max-width:none}.player-zone{padding:10px 7px 0}.play-actions button{font-size:14px;padding:9px 12px}.play-actions .quiet{font-size:12px}.play-actions .action-note{font-size:11px}.mini-label,.stock-labels .mini-label{font-size:10px;line-height:1.35}.stock-labels b{font-size:12px}.under-table{font-size:12px}.under-link{font-size:11px}.cloth-option strong{font-size:11px;line-height:1.3}.cloth-swatch{min-height:55px}.cloth-options{gap:8px}.choice small{font-size:13px!important}.settings-note{font-size:13px!important}.round-state .turn-line p:empty{display:none}.my-turn .player-zone{box-shadow:none}}
@media(max-width:370px){.game-title .subtitle{max-width:170px;font-size:13px}.game-title .eyebrow{font-size:8px}.game-title h1{font-size:31px}.mode-bar button{font-size:12px;padding-inline:5px}.mode-bar .seat-button{font-size:11px}.mode-bar>span{font-size:10px}.table[data-players='3'] .bot-name,.table[data-players='4'] .bot-name{font-size:12px}.table .seat-role{font-size:10px}.table[data-players='3'] .bot-info small,.table[data-players='4'] .bot-info small{font-size:11px}.opponents .opponent.is-turn{outline-offset:1px;outline-width:2px}.round-route strong{font-size:16px}.round-route small{font-size:11px}.round-route{gap:12px}.round-state .turn-line p{font-size:12px}.round-state .turn-pill{font-size:11px;padding-inline:7px}.cloth-options{grid-template-columns:repeat(2,minmax(0,1fr))}.cloth-option strong{font-size:12px}.hand-caption{gap:7px}}
@media(max-width:700px){.table[data-players='2'] .bot-portrait{flex-basis:48px;height:65px}.table[data-players='2'] .bot-info{max-width:94px}.table[data-players='2'] .bot-hand{width:91px}.table[data-players='2'] .opponent{gap:5px}}
@media(max-width:370px){.table[data-players='2'] .bot-portrait{flex-basis:40px;height:55px}.table[data-players='2'] .bot-info{max-width:79px}.table[data-players='2'] .bot-hand{width:79px}.table[data-players='2'] .bot-card{width:27px!important;height:38px!important;left:calc(var(--i)*10px)}.table[data-players='2'] .opponent{gap:2px}}
.game-scene{overflow:clip}.round-state{position:sticky;top:8px;z-index:30;background:color-mix(in srgb,var(--cloth) 94%,transparent);backdrop-filter:blur(10px);border:1px solid color-mix(in srgb,var(--stitch) 30%,transparent);border-radius:12px;box-shadow:0 5px 20px #07182b1c;padding:12px;margin-top:8px;margin-bottom:6px}.table[data-players] .bot-name>span{font-size:12px}.under-link{font-size:12px;min-height:36px}body:is([data-iskra-theme=dark],[data-iskra-theme=blue-dark],[data-iskra-theme=orange-dark]) .game-title .subtitle{color:#c4d6ef}
@media(max-width:700px){.round-state{top:6px;padding:9px 8px 10px;border-radius:11px}.game-title .eyebrow{display:none}.mode-bar>span{font-size:12px}.table[data-players] .bot-name>span{display:none!important}.under-link{font-size:12px}.round-state .turn-line{margin-top:0}}
@media(max-width:700px){.table[data-players='2'] .bot-name{font-size:14px}.table .seat-role,.table[data-players='3'] .seat-role,.table[data-players='4'] .seat-role{font-size:11px;min-height:21px}.table[data-players='3'] .bot-name,.table[data-players='4'] .bot-name{font-size:13px}}
/* Roles belong to the players, not to a separate dashboard. */
.round-state{display:none}.opponents .opponent.is-turn{outline:0;background:transparent;box-shadow:none;border-color:transparent}.bot-status-dot{display:none!important}.bot-portrait{position:relative;overflow:visible}.bot-portrait:after{content:'';position:absolute;inset:-5px;border:2px solid transparent;border-radius:50%;pointer-events:none;transition:border-color .18s,box-shadow .18s}.opponent.is-turn .bot-portrait:after{border-color:#c7e1ff;box-shadow:0 0 0 3px #bddbff10,0 0 18px #bddbff40}.bot-portrait .role-medallion{position:absolute;right:-4px;bottom:0;z-index:2;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:2px solid var(--cloth);border-radius:50%;background:#d4e7ff;color:#244f80;box-shadow:0 2px 5px #081b3038}.role-medallion svg{width:19px;height:19px}.role-medallion:empty{display:none}.role-medallion[data-role=defense],.role-medallion[data-role=taking]{background:#f5dfb7;color:#685025}.role-medallion[data-role=out]{background:#bed7cc;color:#2c5b4e}.seat-turn{position:absolute;left:50%;top:-19px;transform:translateX(-50%);z-index:3;display:block;background:#e3efff;color:#224c80;border:1px solid #c4dcfb;border-radius:6px;padding:2px 8px;font-size:11px;font-weight:750;line-height:1.3;white-space:nowrap}.table .seat-role,.table[data-players='3'] .seat-role,.table[data-players='4'] .seat-role{background:transparent!important;border:0!important;color:var(--cloth-muted)!important;font-size:13px;font-weight:600;min-height:18px;margin:3px 0 0;padding:0;line-height:1.3}.opponent.is-turn .seat-role:before{display:none}.seat-role:empty{min-height:0}.opponents .opponent{padding-top:16px}.table[data-players='4'] .opponent{padding-top:16px}.bot-hand{margin-top:7px}.hand-caption .my-role{display:inline-flex;align-items:center;gap:6px;background:none!important;color:var(--cloth-ink)!important;padding:0;font-size:13px;font-weight:600}.my-role svg{width:26px;height:26px;padding:4px;border-radius:50%;background:#d4e7ff;color:#244f80;flex-shrink:0}.my-role[data-role=defense] svg,.my-role[data-role=taking] svg{background:#f5dfb7;color:#685025}.hand-caption .my-role.is-current:before{display:none}.my-turn .player-zone{border-color:transparent;background:transparent;box-shadow:none}.hand-caption .inline-turn{font-size:12px;line-height:1.3;background:#e3efff;color:#224c80;border:1px solid #c4dcfb;border-radius:6px;padding:3px 8px;font-weight:750;white-space:nowrap}.hand-instruction{margin:7px 0 0;font-size:15px;line-height:1.45;color:var(--cloth-ink)}.hand-instruction:empty{display:none}.hand-caption #hand-hint:empty{display:none}.player-zone{padding-top:12px}.battle{border:0}
body:is([data-table=silver],[data-table=linen]) .opponents .opponent.is-turn{outline:0;background:none;box-shadow:none}body:is([data-table=silver],[data-table=linen]) .opponent.is-turn .bot-portrait:after{border-color:#315e97;box-shadow:0 0 0 3px #315e9710}body:is([data-table=silver],[data-table=linen]) .my-turn .player-zone{border-color:transparent;background:none}
@media(max-width:700px){.table .seat-role,.table[data-players='3'] .seat-role,.table[data-players='4'] .seat-role{font-size:11px;line-height:1.35;min-height:16px;margin:3px auto 0}.table[data-players='2'] .seat-role{margin-left:0}.table[data-players='3'] .opponent,.table[data-players='4'] .opponent{padding-top:19px}.bot-portrait .role-medallion{width:24px;height:24px;right:-6px;bottom:-1px;border-width:2px}.role-medallion svg{width:16px;height:16px}.seat-turn{top:-17px;font-size:10px;padding:2px 6px}.bot-portrait:after{inset:-4px}.hand-caption .my-role{font-size:12px;gap:5px}.my-role svg{width:25px;height:25px}.hand-caption .inline-turn{font-size:11px;padding:3px 6px}.hand-instruction{font-size:14px;line-height:1.4;margin-top:8px}.opponents .opponent{padding-top:18px}.table[data-players='2'] .opponent{padding-top:17px}.table[data-players='2'] .bot-hand{margin-top:6px}}
@media(max-width:370px){.table .seat-role,.table[data-players='3'] .seat-role,.table[data-players='4'] .seat-role{font-size:11px}.hand-caption strong{flex:0 1 auto}.hand-caption .my-role{margin-left:auto;font-size:11px}.hand-caption .inline-turn{font-size:11px}.hand-caption .my-role svg{width:23px;height:23px}.bot-portrait .role-medallion{width:23px;height:23px;right:-5px}.role-medallion svg{width:15px;height:15px}}

/* Illustrated role emblems, without enclosing UI dots. */
.bot-portrait .role-medallion{width:38px;height:40px;right:-10px;bottom:-3px;border:0;border-radius:0;background:none!important;box-shadow:none;filter:drop-shadow(0 2px 2px #03152a80)}
.role-medallion svg{width:38px;height:40px}
.hand-caption .my-role svg{width:34px;height:36px;padding:0;border-radius:0;background:none!important;filter:drop-shadow(0 1px 1px #03152a50)}
@media(max-width:700px){.bot-portrait .role-medallion{width:30px;height:32px;right:-10px;bottom:-3px}.role-medallion svg{width:30px;height:32px}.hand-caption .my-role svg{width:30px;height:32px}}

@media(pointer:coarse){.mode-bar button,.mode-bar .seat-button,.play-actions button,.under-link{min-height:44px}.switch-row{min-height:52px}.setting-row select{max-width:68%}}
