:root{color-scheme:dark;--bg:#101f23;--panel:#192c31;--muted:#a3b8bb;--mint:#c4f184;--line:#375056}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 35%,#213d40,var(--bg) 70%);color:#f4f5e9;font:16px/1.5 system-ui,sans-serif;min-height:100dvh;padding:20px max(18px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom))}header,main{max-width:860px;margin:auto}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.eyebrow{font-size:10px;letter-spacing:2.4px;font-weight:800;color:var(--mint)}h1{font-size:36px;line-height:1.05;letter-spacing:-1.8px;margin:4px 0}h1 .dot{color:var(--mint)}h2{font-size:clamp(30px,6vw,48px);letter-spacing:-1.5px;line-height:1.12;margin:22px 0}p{color:var(--muted)}button{font:inherit;color:inherit;background:transparent;border:1px solid var(--line);border-radius:12px;min-height:46px;padding:10px 16px;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid #fff;outline-offset:3px}button:disabled{cursor:default}.icon{width:44px;height:44px;min-height:44px;padding:0;font-size:23px;border-radius:50%}.panel{max-width:560px;margin:0 auto;padding:24px;border:1px solid var(--line);border-radius:24px;background:#172a2ed9;box-shadow:0 22px 70px #0002}label{display:block;font-size:13px;font-weight:700;margin:24px 0 9px}.choices{display:flex;gap:8px}.choices button{flex:1}.chosen{background:var(--mint);border-color:var(--mint);color:#17251c;font-weight:800}.small{font-size:12px;color:var(--muted)}.primary{background:var(--mint);border-color:var(--mint);color:#17251c;font-weight:800}.wide{width:100%;margin-top:12px}.primary span{float:right}.secondary{background:#233a3d}footer{font-size:10px;text-align:center;margin-top:20px;color:var(--muted)}[hidden]{display:none!important}.game-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.text-button{border:0;padding:0;font-size:13px;min-height:36px}.chip{border:1px solid var(--line);padding:4px 12px;font-size:11px;border-radius:30px;text-transform:uppercase;letter-spacing:1px}#opponent-row{display:flex;gap:10px}.opponent{flex:1;text-align:center;padding:12px 5px;border:1px solid var(--line);border-radius:14px;background:#13262a}.opponent.active{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint)}.avatar{width:34px;height:34px;border-radius:50%;background:#324b50;margin:0 auto 5px;display:grid;place-items:center;font-size:14px}.opponent strong{font-size:13px;display:block}.opponent small{font-size:10px;color:var(--muted)}#table-area{margin:18px 0 12px;border:1px solid #416161;border-radius:22px;min-height:210px;background:radial-gradient(ellipse,#294d46,#1a3635);padding:14px}.deck-row{display:flex;justify-content:space-between;font-size:12px;color:#c3d4ce;margin-bottom:18px}#board{display:flex;flex-wrap:wrap;gap:14px 10px;justify-content:center}.pair{position:relative;width:92px;height:105px}.pair .card:last-child:not(:first-child){position:absolute;left:27px;top:17px;transform:rotate(8deg)}.card{background:#f3f1e6;color:#1b2931;border:2px solid #f3f1e6;border-radius:9px;width:62px;height:86px;min-height:86px;flex-shrink:0;padding:5px;font-size:20px;font-weight:800;line-height:1.05;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 3px 7px #0004}.card .suit{align-self:center;font-size:26px;margin-top:5px}.card.red{color:#b63e43}.card.selected{outline:3px solid var(--mint);outline-offset:4px}.card.playable{border-color:var(--mint);box-shadow:0 0 0 2px #8fbd5c,0 4px 8px #0005;transform:translateY(-4px)}#hand .card:disabled{opacity:.5}#empty-table{text-align:center;color:#a9c0b7;font-size:13px;padding:40px 0}#status{font-size:15px;text-align:center;min-height:48px;font-weight:700}#actions{display:flex;justify-content:center;gap:10px;min-height:50px;margin-bottom:20px}.hand-title{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:14px}.hand-title strong{font-size:14px}.hand-title span{font-size:10px;color:var(--muted)}#hand{display:flex;flex-wrap:wrap;gap:9px;padding:5px 3px 12px}#saved{margin-top:12px;text-align:center;font-size:10px}dialog{color:#f4f5e9;background:#192c31;border:1px solid var(--line);border-radius:22px;max-width:540px;width:calc(100% - 28px);padding:26px;max-height:90dvh}dialog::backdrop{background:#000a}.close{float:right}dialog h2{font-size:32px}ol{padding-left:23px;font-size:14px;color:#c4d2d0}li{margin-bottom:13px}li strong{color:var(--mint)}@media(max-width:400px){body{padding:16px 12px}.panel{padding:20px}header{margin-bottom:18px}.card{width:56px;height:80px;min-height:80px}#hand{gap:8px}.pair{width:84px;height:99px}.choices button{padding:10px}#table-area{padding:12px;min-height:196px}}

/* Face-up bottom trump: always readable, independent of table/hand controls. */
.deck-row{align-items:center;gap:12px}.trump-zone{display:flex;align-items:center;gap:12px}.trump-zone>div:last-child{display:flex;flex-direction:column;gap:4px}.trump-label{color:var(--mint);font-size:12px;letter-spacing:2px}#trump-card{flex-shrink:0}.card.trump-face{width:64px;height:88px;min-height:88px;border:2px solid var(--mint);opacity:1;transform:rotate(-6deg);box-shadow:0 3px 10px #0005}.trump-face .suit{font-size:31px}.trump-emblem{display:grid;place-items:center;width:64px;height:76px;border:1px dashed #aac4ae;border-radius:10px;font-size:43px;color:#f3f1e6}.trump-emblem.red{color:#ffb4a8}#deck{font-size:12px;max-width:170px}#bout{text-align:right;font-size:11px;color:#bdd1c9}@media(max-width:400px){.deck-row{gap:6px}.trump-zone{gap:9px}#deck{max-width:135px;font-size:11px}#bout{max-width:67px}.card.trump-face{width:57px;height:81px;min-height:81px}}

.audio-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center;max-width:760px;margin:0 auto 14px;padding:0 16px}.audio-controls button{font-size:12px;padding:9px 12px;min-height:44px}.audio-controls label{display:flex;align-items:center;gap:6px;font-size:11px;color:#b9c9c8;margin:0}.audio-controls input{width:80px;accent-color:#c8f48d}
