:root{
  --bg:#fff9ee;--bg2:#eef9ff;--surface:#fff;--surface2:#f7fbff;--ink:#263248;--muted:#738097;--line:#e3e9f1;
  --primary:#5b8def;--primary2:#7aa5f6;--primary-soft:#eaf1ff;--green:#52a875;--green-soft:#e8f7ee;--red:#d87575;--red-soft:#fbeaea;
  --yellow:#f4c95d;--shadow:0 14px 38px rgba(62,82,120,.12);--radius:22px;
  --card-w:78px;--card-h:109px;--hand-w:96px;--hand-h:134px;
}
*{box-sizing:border-box}html{min-height:100%;background:linear-gradient(135deg,var(--bg),var(--bg2));color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 10%,#fff4d6 0 8%,transparent 28%),radial-gradient(circle at 90% 20%,#dff4ff 0 10%,transparent 30%)}button,input,select{font:inherit}button{cursor:pointer}a,button{color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--primary)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(30px,4vw,50px);line-height:1.03;margin-bottom:10px}h2{font-size:20px}small{display:block;color:var(--muted)}
.topbar{position:sticky;top:0;z-index:100;min-height:70px;padding:10px max(14px,calc((100vw - 1260px)/2));display:flex;align-items:center;justify-content:space-between;gap:14px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(227,233,241,.88)}.brand{border:0;background:transparent;display:flex;align-items:center;gap:9px;padding:0}.brand-card{width:38px;height:49px;border-radius:10px;background:linear-gradient(145deg,#6da0f4,#4f82df);display:grid;place-items:center;color:#fff;font-size:22px;font-weight:950;box-shadow:0 8px 18px rgba(91,141,239,.25);transform:rotate(-4deg)}.brand strong{display:block;font-size:18px}.brand small{font-size:11px;color:var(--muted);letter-spacing:.12em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:6px;min-width:0}.nav-item,.lang-select{border:0;background:transparent;border-radius:12px;padding:9px 10px;font-weight:750;color:#4a5870}.nav-item:hover{background:var(--primary-soft);color:#346cc9}.lang-select{border:1px solid var(--line);background:#fff;padding:7px}.credit-pill{background:#fff7d7;border:1px solid #f2df99;color:#88691d;padding:7px 10px;border-radius:999px;font-weight:850;white-space:nowrap}
.avatar,.avatar-mini,.avatar-xl,.avatar-game,.avatar-chat{object-fit:cover;border-radius:50%;background:#e9f0fb;display:inline-grid;place-items:center;flex:0 0 auto}.avatar{width:42px;height:42px}.avatar-mini{width:36px;height:36px}.avatar-xl{width:112px;height:112px;font-size:40px}.avatar-game{width:44px;height:44px}.avatar-chat{width:30px;height:30px}.avatar-letter{background:linear-gradient(145deg,#dff2ff,#ffe9bb);color:#4e6582;font-weight:900;border:2px solid #fff;box-shadow:0 4px 14px rgba(82,110,151,.12)}
.app-shell{width:min(1260px,calc(100% - 28px));margin:28px auto 70px}.footer{text-align:center;color:#8d99ab;padding:0 16px 32px;font-size:12px}.panel,.auth-card,.table-tile,.loading-card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:22px}.loading-card{width:min(420px,100%);margin:90px auto;padding:30px;text-align:center;color:var(--muted)}.page-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.page-head p{color:var(--muted);max-width:680px;margin-bottom:0}.btn{border:0;border-radius:14px;padding:11px 16px;font-weight:850;min-height:43px;display:inline-flex;align-items:center;justify-content:center;gap:7px;transition:.16s transform,.16s box-shadow,.16s background}.btn:hover{transform:translateY(-1px)}.btn.primary{background:linear-gradient(145deg,var(--primary2),var(--primary));color:#fff;box-shadow:0 8px 20px rgba(91,141,239,.24)}.btn.secondary{background:var(--primary-soft);color:#3f6fc2}.btn.ghost{background:#f4f6fa;color:#647087}.btn.danger-soft,.take-btn{background:var(--red-soft);color:#a74f4f;border:1px solid #f1cfcf}.pass-btn{background:var(--green-soft);color:#317c50;border:1px solid #cbe8d5}.btn.small{min-height:36px;padding:8px 11px}.btn.tiny{min-height:31px;padding:6px 10px;font-size:12px}.back-link{border:0;background:transparent;color:#6380aa;padding:0;font-weight:800}.input{width:100%;border:1px solid #dce4ef;background:#fff;border-radius:13px;padding:11px 12px;color:var(--ink);outline:none}.input:focus{border-color:#8eb2f3;box-shadow:0 0 0 4px rgba(91,141,239,.11)}.input.compact{width:auto;padding:8px 10px}.stack{display:grid;gap:14px}.stack label,.form-grid label{display:grid;gap:6px;font-size:13px;font-weight:800;color:#526078}.two,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.check{display:flex!important;align-items:center;gap:8px}.notice{padding:14px;border-radius:14px;background:#f3f7fc;margin-top:14px}.notice.success{background:var(--green-soft);color:#317c50}.notice.error{background:var(--red-soft);color:#a24c4c}.toast{position:fixed;top:82px;left:50%;transform:translate(-50%,-20px);opacity:0;pointer-events:none;z-index:999;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:11px 16px;transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.bad{background:#fff0f0;color:#a64e4e;border-color:#f0cccc}
.auth-wrap{min-height:70vh;display:grid;place-items:center}.auth-card{width:min(520px,100%);padding:32px}.logo-bubble{width:54px;height:54px;border-radius:18px;background:linear-gradient(145deg,#7aa5f6,#5b8def);color:white;display:grid;place-items:center;font-weight:950;font-size:28px;box-shadow:0 10px 24px rgba(91,141,239,.25);margin-bottom:18px}.auth-links{display:flex;gap:12px;justify-content:space-between;margin-top:18px}.auth-links button{border:0;background:transparent;color:#5279ba;font-weight:800;padding:0}
.table-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.table-tile{padding:19px;display:grid;gap:10px;position:relative;overflow:hidden}.table-tile:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#75a3ef,#8ed7c5)}.table-tile-top,.tile-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.table-no{font-weight:950;color:#5676a9}.status{font-size:11px;font-weight:900;padding:5px 8px;border-radius:999px}.status.waiting{background:#fff4cf;color:#907225}.status.playing{background:#e7f6ed;color:#39815a}.status.intermission{background:#eaf1ff;color:#4f73b3}.status.closed{background:#f1f2f5;color:#7b8390}.table-tile h3{font-size:20px;margin:2px 0}.tile-meta{display:flex;flex-wrap:wrap;gap:7px}.tile-meta span,.chips span,.seat-chip{background:#f4f7fb;border:1px solid #e7ecf3;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;color:#66748b}.tile-mode{color:var(--muted);font-size:13px}.create-panel{margin-bottom:20px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.empty-state{grid-column:1/-1;min-height:220px;display:grid;place-items:center;text-align:center;color:var(--muted);font-size:36px}.empty-state h3{font-size:18px;margin-top:-50px}
.room-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.room-head h1{font-size:34px;margin:4px 0 8px}.chips{display:flex;gap:6px;flex-wrap:wrap}.room-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.join-box{display:flex;gap:8px}.join-box .input{width:170px}.invite-code{margin:10px 0 0;color:#6e7b90}.room-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:16px}.room-grid .chat-panel{grid-column:1/-1}.players-list{display:grid;gap:8px}.player-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px;border-radius:14px;background:#f8fbff}.partida-list{display:grid;gap:8px}.partida-list>div{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line)}
.game-page{display:grid;gap:12px}.game-top{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:10px 14px;box-shadow:0 8px 24px rgba(72,93,125,.08)}.game-top>div:nth-child(2){display:grid}.game-top span{font-size:11px;color:var(--muted)}.game-credit{margin-left:auto;font-weight:900;color:#8b6a1a}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px}.game-board{min-height:720px;position:relative;overflow:hidden;border-radius:34px;border:10px solid #d7b87b;background:radial-gradient(circle at 50% 42%,#effff4,#dff7e7 62%,#d4f0df);box-shadow:inset 0 0 0 2px rgba(255,255,255,.75),0 20px 46px rgba(87,115,101,.18)}.game-board:after{content:"";position:absolute;inset:10px;border:2px dashed rgba(62,133,88,.18);border-radius:22px;pointer-events:none}.players-ring{position:absolute;left:4%;right:4%;top:18px;z-index:6;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.game-player{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.92);border:1px solid rgba(197,222,205,.9);padding:6px 8px;border-radius:999px;box-shadow:0 7px 16px rgba(75,107,89,.1)}.game-player b{font-size:12px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-player small{font-size:10px}.game-player.attacker{outline:2px solid #f1c85e}.game-player.defender{outline:2px solid #84aef1}.game-player.finished{opacity:.58}.role{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:950;color:#fff}.role.attack{background:#d7a82f}.role.defend{background:#5b8def}.play-center{position:absolute;left:5%;right:5%;top:50%;transform:translateY(-52%);display:grid;grid-template-columns:130px 1fr;align-items:center;gap:20px;z-index:5}.deck-area{display:grid;justify-items:center;gap:10px;color:#69816f;font-size:11px;font-weight:800}.deck-stack{position:relative;width:115px;height:118px}.playing-card{width:var(--card-w);height:var(--card-h);object-fit:contain;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 6px 7px rgba(66,79,95,.18))}.deck-card{position:absolute;left:4px;top:0;box-shadow:7px 7px 0 #8bbde8,12px 12px 0 #c7e4f9;border-radius:12px}.trump-card{position:absolute;left:30px;top:5px;transform:rotate(90deg);transform-origin:center;z-index:-1}.deck-empty{width:var(--card-w);height:var(--card-h);display:grid;place-items:center;border:2px dashed #9fc8a9;border-radius:14px;color:#7ea486}.battlefield{min-height:250px;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px}.battle-pair{position:relative;width:calc(var(--card-w) + 24px);height:calc(var(--card-h) + 26px);border-radius:14px}.battle-pair .defense-card{position:absolute;left:24px;top:22px;transform:rotate(6deg)}.battle-pair.target{outline:4px solid rgba(244,201,93,.55);background:rgba(255,247,212,.6)}.table-empty{color:#75917d;background:rgba(255,255,255,.68);border:1px dashed #acd0b4;padding:12px 16px;border-radius:999px}.hand-zone{position:absolute;left:2%;right:2%;bottom:12px;z-index:8;text-align:center}.hand-hint{display:inline-block;background:rgba(255,255,255,.92);border:1px solid #d7e7dc;border-radius:999px;padding:5px 10px;color:#60806a;font-size:11px;font-weight:800}.hand{display:flex;justify-content:safe center;overflow-x:auto;overflow-y:hidden;min-height:calc(var(--hand-h) + 30px);padding:18px 18px 5px;scrollbar-width:thin}.hand .playing-card{width:var(--hand-w);height:var(--hand-h);flex:0 0 auto;margin-left:-31px;cursor:pointer;transition:.15s transform,.15s opacity,.15s filter}.hand .playing-card:first-child{margin-left:0}.hand .playing-card.legal:hover,.hand .playing-card.selected{transform:translateY(-14px);filter:drop-shadow(0 10px 8px rgba(83,102,126,.22))}.hand .playing-card.disabled{opacity:.55;filter:saturate(.6)}.game-controls{display:flex;justify-content:center;gap:8px;margin-top:2px}.spectator-banner{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:8;background:rgba(255,255,255,.9);border-radius:999px;padding:8px 13px;color:#62788b;font-weight:800}.game-over{position:absolute;inset:0;z-index:20;background:rgba(248,253,250,.84);backdrop-filter:blur(7px);display:grid;place-items:center}.game-over-card{width:min(430px,92%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px;text-align:center;box-shadow:var(--shadow)}.result-list{display:grid;gap:6px;margin:14px 0 18px;text-align:left}.result-row{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#f7fbff;border:1px solid #e8eef5;border-radius:12px;padding:8px 10px}.result-row b{color:#7d641f}
.chat-panel{display:grid;grid-template-rows:auto 1fr auto;min-height:0}.chat-list{height:530px;overflow:auto;display:grid;align-content:start;gap:8px;padding-right:3px}.chat-msg{display:grid;grid-template-columns:auto 1fr;gap:8px;background:#f8fbff;padding:8px;border-radius:13px}.chat-msg b{font-size:11px}.chat-msg span{display:block;font-size:12px;word-break:break-word}.chat-msg small{font-size:9px}.chat-form{display:grid;grid-template-columns:1fr auto;gap:7px;margin-top:10px}
.profile-grid{display:grid;grid-template-columns:340px 1fr;gap:16px}.profile-card{text-align:center}.profile-avatar{display:grid;place-items:center;margin:8px 0 14px}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0}.stat-grid>div{background:#f8fbff;border-radius:14px;padding:12px}.stat-grid b{font-size:22px;display:block}.stat-grid span{font-size:10px;color:var(--muted)}.avatar-actions{display:grid;gap:7px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.history-list{display:grid}.history-item{display:grid;grid-template-columns:minmax(220px,1fr) 100px 100px auto;align-items:center;gap:12px;padding:13px 4px;border-bottom:1px solid var(--line)}
.replay-page{display:grid;gap:14px}.replay-head{display:flex;gap:14px;align-items:center}.replay-head h1{font-size:32px;margin:0}.replay-board{background:radial-gradient(circle at center,#f1fff4,#dcf5e5);border:9px solid #d7b87b;border-radius:28px;padding:18px;min-height:590px;box-shadow:var(--shadow)}.replay-players{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.replay-player{background:rgba(255,255,255,.9);border:1px solid #d9eadf;border-radius:16px;padding:8px;display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:center}.replay-player.attacker{outline:2px solid #efc75b}.replay-player.defender{outline:2px solid #78a4eb}.replay-hand{grid-column:1/-1;display:flex;overflow-x:auto;padding:5px}.replay-hand .playing-card{width:52px;height:73px;margin-left:-18px}.replay-hand .playing-card:first-child{margin-left:0}.replay-center{display:grid;grid-template-columns:130px 1fr;gap:20px;align-items:center;min-height:300px}.replay-controls{display:grid;grid-template-columns:auto auto auto 1fr auto auto;gap:8px;align-items:center}.replay-controls input[type=range]{width:100%}
.admin-tabs{display:flex;gap:7px;margin-top:10px}.search-form{display:flex;gap:7px}.admin-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:16px}.admin-table{padding:8px}.user-list{display:grid;max-height:700px;overflow:auto}.admin-user-row{border:0;background:transparent;border-bottom:1px solid var(--line);padding:12px;display:grid;grid-template-columns:1fr 100px 70px 90px;gap:8px;text-align:left;align-items:center}.admin-user-row:hover{background:#f8fbff}.uuid{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all;margin-bottom:14px}
@media(max-width:1000px){.table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-layout{grid-template-columns:1fr}.chat-list{height:260px}.room-grid,.profile-grid,.admin-layout{grid-template-columns:1fr}.game-board{min-height:690px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-item{grid-template-columns:1fr 80px 80px auto}}
@media(max-width:720px){:root{--card-w:62px;--card-h:87px;--hand-w:73px;--hand-h:102px}.topbar{min-height:60px;padding:8px 10px}.brand small,.nav .wide,.credit-pill{display:none}.nav{gap:2px}.nav-item,.lang-select{padding:7px}.app-shell{width:calc(100% - 12px);margin:12px auto 50px}.page-head{align-items:stretch;flex-direction:column}.page-head .btn{width:100%}.table-grid{grid-template-columns:1fr}.form-grid,.two{grid-template-columns:1fr}.room-head{align-items:stretch;flex-direction:column}.room-actions,.join-box{width:100%}.join-box{flex-direction:column}.join-box .input{width:100%}.room-actions .btn{flex:1}.game-board{min-height:610px;border-width:6px;border-radius:24px}.players-ring{top:10px;left:2%;right:2%;gap:4px}.game-player{padding:4px 6px}.game-player .avatar-game{width:30px;height:30px}.game-player b{max-width:68px;font-size:10px}.game-player small{font-size:8px}.role{width:17px;height:17px;font-size:8px}.play-center{left:2%;right:2%;top:45%;grid-template-columns:86px 1fr;gap:4px}.deck-stack{width:82px;height:94px}.trump-card{left:18px}.battlefield{gap:6px;min-height:220px}.battle-pair{width:calc(var(--card-w) + 14px);height:calc(var(--card-h) + 17px)}.battle-pair .defense-card{left:14px;top:14px}.hand{justify-content:flex-start;padding-inline:8px}.hand .playing-card{margin-left:-30px}.game-controls .btn{min-height:40px}.chat-panel{padding:14px}.replay-board{padding:10px;border-width:6px}.replay-players{grid-template-columns:1fr 1fr}.replay-player{display:block}.replay-center{grid-template-columns:90px 1fr}.replay-controls{grid-template-columns:auto auto auto}.replay-controls input[type=range]{grid-column:1/-1}.replay-controls span{grid-column:1/3}.history-item{grid-template-columns:1fr auto}.history-item span{font-size:11px}.history-item .btn{grid-column:2}.admin-user-row{grid-template-columns:1fr 80px}.admin-user-row span:nth-child(3),.admin-user-row span:nth-child(4){display:none}}
@media(max-width:430px){:root{--card-w:55px;--card-h:77px;--hand-w:64px;--hand-h:90px}.brand strong{font-size:15px}.brand-card{width:31px;height:40px;font-size:18px}.avatar-mini{display:none}.game-board{min-height:575px}.players-ring{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding:0 4px 4px}.game-player{flex:0 0 auto}.play-center{top:44%}.deck-area span{font-size:9px}.hand .playing-card{margin-left:-28px}.replay-players{grid-template-columns:1fr}.replay-hand .playing-card{width:44px;height:62px}.table-tile{padding:16px}.panel{padding:16px}.auth-card{padding:22px}}
@media(max-height:650px) and (orientation:landscape){.topbar{position:relative}.game-board{min-height:510px}.players-ring{top:7px}.play-center{top:42%}.hand-zone{bottom:4px}.hand-hint{display:none}.footer{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* --------------------------------------------------------------------------
   Durak Arena 2.0.2 — friendly slate theme
   Medium graphite surfaces with muted blue/amber accents. Deliberately avoids
   both the old pastel rainbow look and a black/neon casino aesthetic.
   -------------------------------------------------------------------------- */
:root{
  --bg:#37414c;
  --bg2:#414c58;
  --surface:#4a5663;
  --surface2:#525f6d;
  --ink:#f3f6f9;
  --muted:#b9c2cc;
  --line:#65717e;
  --primary:#6f94c2;
  --primary2:#82a5cf;
  --primary-soft:#566b82;
  --green:#78a98a;
  --green-soft:#486153;
  --red:#bf7b7b;
  --red-soft:#694e52;
  --yellow:#d0aa68;
  --shadow:0 16px 38px rgba(25,31,38,.22);
}
html{
  background:#37414c;
  color:var(--ink);
}
body{
  background:
    radial-gradient(circle at 12% 4%,rgba(111,148,194,.14),transparent 30%),
    radial-gradient(circle at 88% 14%,rgba(199,174,130,.07),transparent 26%),
    linear-gradient(145deg,#37414c 0%,#414c58 52%,#39444f 100%);
}
h1,h2,h3,.brand strong{color:#f5f7fa}
small,.muted,.page-head p{color:var(--muted)}
.eyebrow{color:#9eb9d8}
.topbar{
  background:rgba(57,68,80,.95);
  border-bottom-color:#596572;
  box-shadow:0 8px 24px rgba(25,31,38,.12);
}
.brand-card,.logo-bubble{
  background:linear-gradient(145deg,#809fbe,#6685a8);
  box-shadow:0 8px 20px rgba(28,37,48,.24);
}
.brand small{color:#aeb9c5}
.nav-item,.lang-select{color:#d7dee6}
.nav-item:hover{background:#4b5a69;color:#fff}
.lang-select{background:#45515e;border-color:#65717e;color:#f2f5f8}
.credit-pill{background:#565247;border-color:#746c58;color:#ead8ad}
.avatar,.avatar-mini,.avatar-xl,.avatar-game,.avatar-chat{background:#596775}
.avatar-letter{
  background:linear-gradient(145deg,#70859b,#596c80);
  color:#f4f7fa;
  border-color:#718090;
  box-shadow:0 4px 14px rgba(25,31,38,.2);
}
.panel,.auth-card,.table-tile,.loading-card{
  background:rgba(73,85,98,.97);
  border-color:#64717f;
  box-shadow:var(--shadow);
}
.loading-card{color:#c0c8d1}
.btn.primary{
  background:linear-gradient(145deg,#82a5cf,#6a8fb9);
  color:#fff;
  box-shadow:0 8px 18px rgba(29,39,52,.22);
}
.btn.secondary{background:#536b83;color:#edf4fb;border:1px solid #66809a}
.btn.ghost{background:#56616d;color:#e1e6eb;border:1px solid #65717d}
.btn.danger-soft,.take-btn{background:#694e52;color:#f2dada;border-color:#856064}
.pass-btn{background:#486153;color:#dff1e5;border-color:#5f7a68}
.back-link,.auth-links button{color:#b4cae3}
.input{
  background:#414c58;
  border-color:#667381;
  color:#f4f6f8;
}
.input::placeholder{color:#9faab6}
.input:focus{border-color:#86a7ca;box-shadow:0 0 0 4px rgba(118,154,196,.16)}
.stack label,.form-grid label{color:#d5dce3}
.notice{background:#505c69;color:#e1e6eb}
.notice.success{background:#486153;color:#def0e4}
.notice.error{background:#694e52;color:#f2dada}
.toast{background:#4b5662;border-color:#65717d;color:#f3f6f9}
.toast.bad{background:#694e52;color:#f4dede;border-color:#865f64}
.table-tile:before{background:#7d9bb9}
.table-no{color:#b8cee5}
.status.waiting{background:#625b48;color:#ead8aa}
.status.playing{background:#496255;color:#d9eee1}
.status.intermission{background:#51657a;color:#dbe7f3}
.status.closed{background:#555f69;color:#c7cdd4}
.tile-meta span,.chips span,.seat-chip{background:#55616e;border-color:#697683;color:#d7dde4}
.tile-mode,.invite-code{color:#b5bec8}
.empty-state{color:#bec6cf}
.player-row,.stat-grid>div,.result-row,.chat-msg{background:#525e6b;border-color:#65717e}
.result-row b{color:#e2c184}
.game-top{background:#46525e;border-color:#626f7c;box-shadow:0 8px 24px rgba(23,29,35,.14)}
.game-top span{color:#b6c0ca}
.game-credit{color:#e2c184}
.game-board{
  border-color:#9d876b;
  background:
    radial-gradient(circle at 50% 42%,#687785 0%,#606f7c 50%,#586673 100%);
  box-shadow:inset 0 0 0 2px rgba(229,235,240,.10),0 20px 46px rgba(22,28,34,.22);
}
.game-board:after{border-color:rgba(214,224,233,.15)}
.game-player{
  background:rgba(76,89,102,.96);
  border-color:#6a7885;
  box-shadow:0 7px 16px rgba(23,29,35,.17);
}
.game-player.attacker{outline-color:#cba869}
.game-player.defender{outline-color:#7fa2c7}
.role.attack{background:#b28f52}.role.defend{background:#698db5}
.deck-area{color:#c3cbd3}
.deck-card{box-shadow:7px 7px 0 #62788d,12px 12px 0 #4d5d6b}
.deck-empty{border-color:#7c8995;color:#c1c8cf}
.battle-pair.target{outline-color:rgba(210,170,104,.64);background:rgba(160,137,100,.18)}
.table-empty{color:#d0d6dc;background:rgba(73,85,98,.82);border-color:#75818d}
.hand-hint{background:rgba(70,82,94,.95);border-color:#687582;color:#d4dae0}
.spectator-banner{background:rgba(70,82,94,.95);color:#d7dde3;border:1px solid #687582}
.game-over{background:rgba(52,62,72,.88)}
.game-over-card{background:#4b5764;border-color:#65717e}
.chat-msg b{color:#f1f4f7}.chat-msg span{color:#e0e5ea}.chat-msg small{color:#aeb7c1}
.replay-board{
  background:radial-gradient(circle at center,#687785,#586673);
  border-color:#9d876b;
}
.replay-player{background:rgba(76,89,102,.96);border-color:#697783}
.replay-player.attacker{outline-color:#cba869}.replay-player.defender{outline-color:#7fa2c7}
.admin-user-row{color:#eef2f5}.admin-user-row:hover{background:#53606d}
.uuid{color:#c7d0d9}
.footer{color:#9faab5}
hr{border-top-color:#65717e}

/* Keep the playing surface calm: only action semantics use red/green. */
.take-btn:hover{background:#74565a}.pass-btn:hover{background:#526c5c}
