
:root{font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#f3f1e9;background:#162c28}*{box-sizing:border-box}body{margin:0}main{max-width:1100px;margin:auto;padding:22px}h1{margin:0 0 5px;font-size:30px}p{line-height:1.45}.muted{color:#b4c6bd}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.panel{background:#213c35;border:1px solid #3a6054;border-radius:16px;padding:16px;margin:16px 0}.stats{display:flex;gap:10px;flex-wrap:wrap}.stat{background:#315247;padding:9px 13px;border-radius:10px;min-width:110px}.stat strong{display:block;font-size:20px}.rows{display:grid;gap:10px}.boardrow{display:flex;align-items:center;gap:10px;min-height:76px;border-radius:12px;background:#2c4b40;padding:9px;flex-wrap:wrap}.rowlabel{width:26px;color:#c6d6cd;font-weight:700}.cards{display:flex;flex-wrap:wrap;gap:7px}.card{width:58px;height:72px;background:#fffaf0;color:#26372c;border-radius:9px;border:2px solid #e2dac9;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 3px 0 #152b26;font-weight:800;font-size:24px}.card small{font-size:12px;color:#9d4e37}.card.danger{border-color:#c66e51}.hand{display:flex;gap:9px;flex-wrap:wrap}.hand button{cursor:pointer;transition:transform .1s,border-color .1s}.hand button:hover:not(:disabled){transform:translateY(-5px);border-color:#e3b85b}.hand button:disabled{opacity:.48;cursor:default}.selected{outline:4px solid #f3c55c}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}button.action{background:#eac368;color:#20362d;border:0;border-radius:10px;padding:12px 18px;font-size:15px;font-weight:750;cursor:pointer}button.secondary{background:#40685a;color:#fff}button:disabled{opacity:.5;cursor:not-allowed}.notice{background:#344f42;border-left:4px solid #eac368;padding:12px;border-radius:8px}.log{max-height:220px;overflow:auto;font-size:14px}.log div{padding:5px 0;border-bottom:1px solid #3b5a4d}.choices{display:flex;gap:10px;flex-wrap:wrap}.choice{cursor:pointer;background:#416957;color:white;border:1px solid #83a393;border-radius:10px;padding:14px;min-width:150px;text-align:left}.choice:hover{background:#54816b}.hidden{display:none!important}.playarea{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}.playarea>.panel{margin:0}.history{position:sticky;top:12px}.log{max-height:520px}.boardrow.flash{animation:rowflash .65s ease}.card.newcard{animation:cardenter .55s ease}@keyframes cardenter{from{opacity:0;transform:translateY(-18px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rowflash{0%{background:#64846b}100%{background:#2c4b40}}@media(max-width:850px){.playarea{grid-template-columns:1fr}.history{position:static}.log{max-height:240px}}@media(max-width:600px){main{padding:12px}.card{width:47px;height:62px;font-size:20px}.boardrow{gap:5px}.rowlabel{width:17px}.stat{min-width:95px}}
/* v0.3: единый игровой экран с боковой историей */
main{max-width:1500px;height:100dvh;min-height:570px;padding:12px 18px;display:flex;flex-direction:column;gap:10px;overflow:hidden}
.top{flex:0 0 auto;min-height:42px}.top h1{font-size:23px}.top .muted{display:none}
.playarea{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,30%);gap:12px;flex:1;min-height:0;align-items:stretch}
.leftcolumn{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}
.panel{margin:0;padding:12px;border-radius:12px}
.scorepanel{flex:0 0 auto}.stats{gap:6px;flex-wrap:nowrap}.stat{flex:1;min-width:0;padding:7px 9px;font-size:13px}.stat strong{font-size:18px}.scorepanel p{margin:5px 0 0;font-size:13px}
.boardpanel{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.panel h2{font-size:17px;margin:0 0 10px}.rows{gap:6px}.boardrow{min-height:0;padding:5px 8px;gap:7px;flex-wrap:nowrap}.cards{gap:5px;flex-wrap:nowrap}.rowlabel{width:18px;flex:none}.card{width:clamp(37px,4.4vw,54px);height:clamp(47px,6.2vh,66px);font-size:clamp(17px,1.6vw,22px);flex:none}.card small{font-size:10px}
.handpanel{flex:0 0 auto}.hand{flex-wrap:nowrap;gap:5px;overflow-x:auto;padding:4px 3px 7px}.hand .card{width:clamp(37px,4.4vw,54px)}.notice{margin:0 0 8px;padding:7px 9px;font-size:13px}.actions{margin-top:7px}.action{min-height:36px}button.action{padding:8px 12px;font-size:14px}
.history{position:static;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.history h2{flex:none}.log{flex:1;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}
.rules{display:none}
@media(max-height:760px) and (min-width:851px){main{gap:6px;padding-top:7px;padding-bottom:7px}.leftcolumn{gap:6px}.panel{padding:8px}.panel h2{margin-bottom:5px}.boardrow{padding:3px 7px}.rows{gap:4px}.card{height:clamp(40px,5.8vh,57px)}.notice{padding:5px 8px;margin-bottom:4px}.hand .card{height:clamp(42px,6vh,58px)}}
@media(max-width:850px){main{height:auto;min-height:100dvh;overflow:visible}.playarea{grid-template-columns:1fr}.leftcolumn{min-height:auto}.history{height:280px}.stats{flex-wrap:wrap}.boardpanel{overflow:visible}.hand{overflow-x:auto}}

/* v0.4: taller, readable playing cards within a fixed game screen */
@media (min-width:851px){
 .boardpanel{justify-content:space-evenly;flex:1 1 auto}
 .rows{flex:1;display:flex;flex-direction:column;justify-content:space-evenly;gap:6px}
 .boardrow{flex:1;min-height:0;max-height:112px;padding:5px 9px}
 .card{width:clamp(54px,5.1vw,72px);height:clamp(66px,9.1vh,92px);font-size:clamp(19px,1.8vw,25px)}
 .hand .card{width:clamp(54px,5.1vw,72px);height:clamp(70px,9.7vh,96px)}
 .card small{display:block;max-width:100%;padding:0 2px;font-size:11px;line-height:1.08;overflow-wrap:anywhere;text-align:center;white-space:normal}
 .handpanel{flex:0 0 auto}
}
@media (max-height:760px) and (min-width:851px){
 .boardrow{max-height:92px;padding:2px 7px}
 .card{height:clamp(58px,8.7vh,75px)}
 .hand .card{height:clamp(62px,9.1vh,80px)}
 .card small{font-size:10px}
}
@media (max-width:850px){.card small{line-height:1.05;overflow-wrap:anywhere;max-width:100%;text-align:center}}

/* v0.6 — tactile tabletop, clean cards */
:root{background:#152b25}
body{background:radial-gradient(ellipse at 34% 16%,#254a3b 0%,#19372f 47%,#10251f 100%);isolation:isolate}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22220%22%20height%3D%22220%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.75%22%20numOctaves%3D%223%22%20seed%3D%228%22%20stitchTiles%3D%22stitch%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20filter%3D%22url%28%23n%29%22%20opacity%3D%220.55%22%2F%3E%3C%2Fsvg%3E");background-size:220px 220px;opacity:.15;mix-blend-mode:soft-light}
.panel{background:linear-gradient(145deg,rgba(47,82,67,.92),rgba(29,58,48,.96));border-color:rgba(177,205,178,.21);box-shadow:0 5px 20px rgba(5,20,14,.15),inset 0 1px rgba(255,255,255,.055)}
.boardrow{background:linear-gradient(110deg,rgba(12,42,31,.45),rgba(28,67,51,.38));border:1px solid rgba(188,218,186,.055)}
.stat{background:rgba(101,145,115,.23);border:1px solid rgba(207,229,201,.075)}
.card{background:#fff9ed;background-image:linear-gradient(155deg,rgba(255,255,255,.64),rgba(243,230,207,.20));box-shadow:0 3px 0 #152b26,inset 0 1px 1px rgba(255,255,255,.9);text-shadow:none}
.history .log{background:rgba(10,34,25,.12);border-radius:8px;padding:0 8px}
