:root{--wood-1: #3b2414;--wood-2: #5a3720;--wood-3: #7a4b2a;--parch: #f3e6c4;--parch-2: #e8d3a2;--ink: #3a2a1a;--ink-soft: #6b5438;--gold: #e3b341;--gold-2: #b7862a;--red: #b83a2e;--green: #3f8a4a;--blue: #2f6ea3;--shadow: 0 6px 18px rgba(0,0,0,.35);--radius: 14px;font-family:Nunito,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:radial-gradient(ellipse at 50% 0%,rgba(255,210,150,.18),transparent 60%),repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 2px,transparent 2px 120px),linear-gradient(180deg,var(--wood-2),var(--wood-1));min-height:100vh}button{font-family:inherit}input,select,textarea{font-family:inherit;font-size:15px;border:2px solid var(--parch-2);border-radius:8px;padding:6px 10px;background:#fffaf0;color:var(--ink)}.muted{color:var(--ink-soft)}.small{font-size:13px}.row{display:flex;align-items:center}.gap{gap:10px}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.center{justify-content:center}.parchment{background:radial-gradient(ellipse at 30% 20%,#fbf1d6,var(--parch) 45%,var(--parch-2));border-radius:var(--radius);box-shadow:var(--shadow),inset 0 0 0 2px #78501e40,inset 0 0 40px #9664282e}.title{font-family:Grenze Gotisch,serif;font-size:64px;margin:0;color:#5b1f14;text-shadow:0 2px 0 #f7d98a;letter-spacing:1px}.title.small{font-size:34px;color:var(--gold);text-shadow:0 2px 0 #000}h2,h3{font-family:Grenze Gotisch,serif;margin:10px 0 8px;color:#5b1f14}h2{font-size:30px}h3{font-size:22px}.btn{border:none;border-radius:10px;padding:9px 16px;font-weight:800;font-size:15px;cursor:pointer;background:linear-gradient(#8a5a33,#6b4125);color:#fff4dc;box-shadow:0 3px #3c2413,0 4px 10px #00000040;transition:transform .08s,filter .15s}.btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #3c2413}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.gold{background:linear-gradient(#f5cf62,#d19e2c);color:#3e2508;box-shadow:0 3px #8a6214,0 4px 10px #00000040}.btn.red{background:linear-gradient(#d4503f,#a3301f);box-shadow:0 3px #641a10,0 4px 10px #00000040}.btn.ghost{background:#ffffff59;color:var(--ink);box-shadow:inset 0 0 0 2px #5a372059}.btn.big{font-size:18px;padding:12px 22px}.btn.tiny{font-size:13px;padding:5px 10px}.welcome{min-height:100vh;display:grid;place-items:center;padding:16px}.welcome-card{width:min(480px,100%);padding:28px;text-align:center}.welcome-castle{width:100%;border-radius:10px;mix-blend-mode:multiply}.subtitle{margin:0 0 18px;color:var(--ink-soft);font-weight:600}.field{display:grid;gap:4px;text-align:left;font-weight:700;margin-bottom:16px}.welcome-actions{display:grid;gap:14px}.join-row{display:flex;gap:8px}.code-input{flex:1;text-transform:uppercase;letter-spacing:6px;font-weight:800;text-align:center;font-size:20px}.lobby{max-width:1200px;margin:0 auto;padding:16px}.lobby-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.lobby-grid{display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,1.3fr);gap:16px;align-items:start}@media(max-width:800px){.lobby-grid{grid-template-columns:1fr}}.panel{padding:18px 22px}.code{font-family:Nunito;font-weight:800;letter-spacing:6px;background:#5b1f14;color:var(--gold);padding:2px 12px;border-radius:8px}.link-row{display:flex;gap:8px}.link-row input{flex:1}.members{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:6px}.members li{display:flex;align-items:center;gap:10px;background:#fff6;padding:8px 12px;border-radius:10px;font-weight:700}.members li span:nth-child(2){flex:1}.dot{width:10px;height:10px;border-radius:50%}.dot.on{background:var(--green)}.dot.off{background:#aaa}.rules{max-height:calc(100vh - 100px);overflow:auto}.rule{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px dashed rgba(90,55,32,.2)}.rule>span{display:grid;font-weight:600}.rule small{color:var(--ink-soft);font-weight:400}.rule input[type=number]{width:72px}.rule input[type=checkbox]{width:20px;height:20px;accent-color:#8a5a33}.market-sizes{display:flex;gap:6px}.market-sizes label{display:grid;font-size:12px;text-align:center;font-weight:700}.market-sizes label.current{color:#a3301f}.market-sizes input{width:48px;padding:4px}.copies{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 16px}.copies label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:14px}.copies input{width:56px;padding:3px 6px}code{background:#00000014;padding:1px 5px;border-radius:4px}.game{min-height:100vh;display:flex;flex-direction:column;gap:8px;padding:0 12px}.main{padding-bottom:8px}.opponents{display:flex;gap:10px;align-items:stretch;overflow-x:auto;padding:10px 2px 4px}.round-info{margin-left:auto;align-self:center;color:var(--gold);font-family:Grenze Gotisch;font-size:22px;white-space:nowrap;padding:0 8px}.player-tile{min-width:190px;text-align:left;border:none;cursor:pointer;padding:8px 10px;border-radius:12px;color:var(--ink);background:linear-gradient(#f6e8c6,#e4cc97);box-shadow:0 3px #8f6a3c,var(--shadow);transition:transform .15s,box-shadow .15s;position:relative}.player-tile.me{background:linear-gradient(#fff3d1,#f0d79b)}.player-tile.active{box-shadow:0 0 0 3px var(--gold),0 0 22px #e3b341cc,0 3px #8f6a3c}.player-tile.active:after{content:"▶ jugando";position:absolute;top:-9px;right:10px;font-size:11px;font-weight:800;background:var(--gold);color:#3e2508;padding:1px 7px;border-radius:8px}.player-tile.selected{transform:translateY(2px);outline:2px solid #5b1f14}.player-tile.targetable{animation:pulse-red 1s infinite}@keyframes pulse-red{50%{box-shadow:0 0 0 4px var(--red),0 0 24px #b83a2ecc}}.pt-head{display:flex;gap:8px;align-items:center}.pt-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;box-shadow:inset 0 -3px #0003}.pt-name{display:grid;line-height:1.15}.pt-name small{color:var(--ink-soft);font-size:11.5px}.pt-stats{display:flex;gap:10px;margin:6px 0 4px;font-weight:700;font-size:14px}.progress{height:6px;background:#00000026;border-radius:4px;overflow:hidden}.progress div{height:100%;background:linear-gradient(90deg,#6fbf5b,#3f8a4a);transition:width .5s}.main{flex:1;display:grid;grid-template-columns:minmax(300px,380px) 1fr minmax(220px,280px);gap:12px;min-height:0}@media(max-width:1150px){.main{grid-template-columns:1fr 1.4fr}.log{grid-column:1 / -1;max-height:220px}}@media(max-width:760px){.main{grid-template-columns:1fr}}.section-title{font-family:Grenze Gotisch;color:var(--gold);font-size:22px;text-shadow:0 2px 0 #000;margin-bottom:6px}.section-title.dark{color:#5b1f14;text-shadow:none}.table-area{display:flex;flex-direction:column;gap:10px}.market{display:flex;flex-wrap:wrap;gap:10px}.char-card{color:var(--ink);width:112px;padding:10px 6px 8px;border:none;border-radius:12px;position:relative;display:grid;justify-items:center;gap:4px;background:linear-gradient(#fff6de,#ead29d);box-shadow:0 0 0 3px #8f6a3c,0 4px 0 3px #5d4020,var(--shadow);cursor:pointer;transition:transform .15s;animation:deal .4s ease-out}@keyframes deal{0%{transform:translateY(-30px) rotate(-8deg);opacity:0}}.char-card:disabled{cursor:default;filter:saturate(.8)}.char-card.buyable:hover{transform:translateY(-6px) rotate(-1deg)}.char-card.needed{box-shadow:0 0 0 3px var(--gold),0 4px 0 3px #8a6214,0 0 18px #e3b341b3}.char-card.picked{transform:translateY(-8px);outline:3px dashed var(--red)}.char-name{font-weight:800;font-size:13px;text-align:center;line-height:1.1;min-height:29px}.cost{position:absolute;top:-8px;left:-8px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:radial-gradient(circle at 35% 30%,#ffe48a,#d19e2c);color:#4a2d05;box-shadow:0 2px #8a6214,0 2px 6px #0006;z-index:2}.tag{font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:8px}.tag.need{background:var(--gold);color:#3e2508}.tag.filler{background:#cbb58a}.wanted{position:absolute;top:-8px;right:-6px;display:flex;gap:2px}.wanted span{width:20px;height:20px;border-radius:50%;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;box-shadow:0 1px 3px #0006}.portrait{border-radius:50%;object-fit:cover;object-position:top;box-shadow:0 0 0 2px #fff8e6,0 0 0 4px #8f6a3c;background:#fff;display:grid;place-items:center;flex-shrink:0}.piles{display:flex;gap:8px;flex-wrap:wrap}.pile{min-width:66px;padding:6px 8px;border-radius:10px;text-align:center;background:#00000040;color:#f3e6c4;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a}.pile span{font-size:20px;font-weight:800}.pile small{font-size:10.5px;opacity:.8;line-height:1.1}.pile.char-pile{background:linear-gradient(#5b1f14,#3d140c)}.pile.action-pile{background:linear-gradient(#26476b,#16304d)}.pile.gone{background:#222}.turn-panel{padding:12px;border-radius:12px;background:#0000004d;color:#f3e6c4;display:grid;gap:10px}.turn-panel.mine{background:linear-gradient(135deg,#e3b3414d,#0000004d);box-shadow:inset 0 0 0 2px #e3b34199}.hint{font-weight:700;font-size:15px}.board-area{display:flex;flex-direction:column;gap:8px;min-width:0}.board-tabs{display:flex;gap:6px;flex-wrap:wrap}.board-tabs button{border:none;border-radius:10px 10px 0 0;padding:6px 14px;font-weight:800;cursor:pointer;background:#0000004d;color:#f3e6c4}.board-tabs button.on{background:var(--parch);color:var(--ink)}.fortress{background:var(--parch);border-radius:0 var(--radius) var(--radius) var(--radius);padding:10px 12px 12px;box-shadow:var(--shadow)}.fortress-name{font-family:Grenze Gotisch;font-size:24px;color:#5b1f14;margin-bottom:4px}.fortress-name small{font-family:Nunito;font-size:13px;color:var(--blue)}.grid-wrap{display:grid}.col-labels{display:grid;margin:0 auto;padding-left:22px;font-weight:800;font-size:12px;color:var(--ink-soft);text-align:center}.grid-row-wrap{display:flex;justify-content:center}.row-labels{display:grid;width:22px;font-weight:800;font-size:12px;color:var(--ink-soft);align-items:center}.grid{flex:0 1 auto;display:grid;border-radius:8px;overflow:hidden;position:relative;background:url(/art/castle.jpg) center 60% / cover no-repeat,#f8f3e6;box-shadow:inset 0 0 0 2px #5a372066}.cell{border:1px solid rgba(90,60,30,.22);display:grid;place-items:center;position:relative;min-height:44px;transition:background .12s}.grid.place .cell.clickable{background:#3f8a4a47;box-shadow:inset 0 0 0 1px #3f8a4ab3;cursor:pointer;animation:placeglow 1.2s infinite}.grid.place .cell.clickable:hover{background:#3f8a4aa6;animation:none}.grid.place .cell.clickable:hover:after{content:"＋";color:#fff;font-size:26px;font-weight:800;position:absolute}@keyframes placeglow{50%{background:#3f8a4a1f}}.board-stage{position:relative}.place-banner{display:flex;align-items:center;gap:12px;margin-bottom:8px;background:#23160cf0;color:#f8ecd0;padding:10px 14px;border-radius:14px;box-shadow:0 0 0 3px var(--gold),var(--shadow);animation:pop .3s ease-out}.place-banner div{flex:1}.place-banner .btn{white-space:nowrap}.place-banner div{display:grid}.place-banner b{font-size:17px}.place-banner small{opacity:.85}.place-banner .btn.ghost{color:#f8ecd0}.grid.target .cell.clickable{cursor:crosshair}.grid.target .cell.clickable:hover{background:#b83a2e59}.grid.target .cell.clickable:hover:after{content:"🎯";font-size:26px;position:absolute}.grid.own .cell.clickable{cursor:pointer;animation:glow 1s infinite}@keyframes glow{50%{background:#3f8a4a59}}.piece{display:grid;justify-items:center;animation:pop .35s ease-out}.piece .portrait{width:min(46px,5.2vw)!important;height:min(46px,5.2vw)!important}.piece.ghost{opacity:.7;filter:sepia(.4)}.piece.ghost .portrait{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--blue)}.piece.known{opacity:.9}.hearts{font-size:10px;line-height:1;margin-top:-4px;background:#fffc;border-radius:6px;padding:1px 2px}.mark{font-size:24px;animation:pop .35s ease-out}.mark.miss{opacity:.75}.shot-badge{position:absolute;top:0;right:1px;font-size:14px}.cell.shot-miss{background:#2f6ea32e}.cell.shot-kill{background:#00000040}.cell.shot-hit{background:#b83a2e2e}@keyframes pop{0%{transform:scale(.2);opacity:0}70%{transform:scale(1.2)}}.requirements{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#00000047;padding:8px 12px;border-radius:12px;color:#f3e6c4}.requirements .muted{color:#e8d3a2;font-weight:700}.req{display:grid;justify-items:center;width:70px;text-align:center;position:relative}.req small{font-size:10.5px;line-height:1.1;margin-top:3px}.req .check{position:absolute;top:-4px;right:10px;background:var(--green);color:#fff;border-radius:50%;width:18px;height:18px;font-size:11px;display:grid;place-items:center}.log{padding:12px;display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 330px)}.log-list{overflow-y:auto;display:grid;gap:5px;align-content:start;font-size:13.5px;padding-right:4px}.log-line{padding:4px 8px;border-radius:8px;background:#ffffff59;animation:slide .3s ease-out}.log-line.attack{background:#2f6ea324}.log-line.bad{background:#b83a2e24}.log-line.good{background:#3f8a4a2e}.log-line.system{font-style:italic;color:var(--ink-soft)}.log-line.private{box-shadow:inset 3px 0 0 var(--blue)}@keyframes slide{0%{transform:translate(12px);opacity:0}}.hand-area{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:end;padding:10px 6px 12px;background:linear-gradient(transparent,#00000073 30%);position:sticky;bottom:0;z-index:5}@media(max-width:760px){.hand-area{grid-template-columns:1fr}}.purse{display:grid;justify-items:center;color:var(--gold);text-shadow:0 2px 0 #000;min-width:80px}.purse b{font-size:32px;line-height:1}.purse small{color:#f3e6c4}.coin-stack{font-size:34px}.hand{display:flex;justify-content:center;gap:0;min-height:170px;align-items:flex-end}.action-card{width:150px;min-height:178px;margin:0 -8px;padding:12px 10px;border-radius:14px;cursor:pointer;position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;background:linear-gradient(#fdf6e3,#e9d4a0);box-shadow:0 0 0 3px #26476b,0 0 0 6px #e3b341,var(--shadow);transition:transform .2s}.action-card.nt{box-shadow:0 0 0 3px #3f8a4a,0 0 0 6px #e3b341,var(--shadow)}.action-card:hover{transform:translateY(-18px)!important;z-index:2}.action-card.sel{z-index:3;box-shadow:0 0 0 3px var(--red),0 0 0 6px #e3b341,0 0 30px #e3b341e6}.ac-emoji{font-size:38px}.ac-name{font-family:Grenze Gotisch;font-size:21px;color:#5b1f14;line-height:1}.ac-text{font-size:12px;line-height:1.25;color:var(--ink-soft)}.ac-buttons{display:flex;flex-direction:column;align-items:stretch;gap:5px;margin-top:auto;padding-top:6px;width:100%}.ac-help{font-size:11px;color:#a3301f;font-weight:700;line-height:1.2}.reserve{display:grid;gap:6px;width:270px;padding:10px 12px;align-self:end}.reserve-head{display:flex;justify-content:space-between;align-items:center;font-family:Grenze Gotisch;font-size:20px;color:#5b1f14}.info{font-family:Nunito;font-size:16px;cursor:help;color:var(--ink-soft)}.reserve-list{display:grid;gap:6px;max-height:150px;overflow-y:auto}.reserve-row{display:flex;align-items:center;gap:8px;background:#ffffff73;padding:4px 8px;border-radius:10px}.rr-text{flex:1;display:grid;line-height:1.15}.rr-text b{font-size:13px}.rr-text small{font-size:11px;color:var(--ink-soft)}.tag.reserve-tag{background:#0000001f;color:var(--ink-soft)}.mini-char{border:none;background:none;padding:0;cursor:default;border-radius:50%}.mini-char.buyable{cursor:pointer;animation:glow-ring 1.2s infinite}@keyframes glow-ring{50%{box-shadow:0 0 0 4px var(--gold)}}.toasts{position:fixed;top:96px;right:16px;display:grid;gap:6px;z-index:40;pointer-events:none;width:min(300px,92vw)}.toast{background:#23160cf0;color:#f8ecd0;padding:8px 14px;border-radius:12px;font-weight:700;font-size:14px;box-shadow:var(--shadow);animation:toast 4.2s forwards}.toast.bad{border-left:5px solid var(--red)}.toast.good{border-left:5px solid var(--green)}.toast.attack{border-left:5px solid var(--blue)}@keyframes toast{0%{transform:translateY(-14px);opacity:0}8%,85%{transform:none;opacity:1}to{opacity:0}}.toast-error{position:fixed;bottom:220px;left:50%;transform:translate(-50%);background:var(--red);color:#fff;padding:10px 18px;border-radius:12px;font-weight:800;z-index:60;box-shadow:var(--shadow)}.your-turn{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;z-index:50;font-family:Grenze Gotisch;font-size:96px;color:var(--gold);text-shadow:0 4px 0 #5b1f14,0 0 40px rgba(0,0,0,.8);animation:banner 1.4s forwards}@keyframes banner{0%{transform:scale(.4);opacity:0}25%{transform:scale(1.1);opacity:1}75%{opacity:1}to{transform:scale(1.3);opacity:0}}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#140a0499;display:grid;place-items:center;z-index:45;padding:16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{width:min(460px,100%);padding:22px 26px;text-align:center;animation:pop .3s ease-out;max-height:92vh;overflow:auto}.modal.wide{width:min(560px,100%)}.big-emoji{font-size:56px}.peek-list{display:grid;gap:8px;margin:12px 0 16px}.peek-item{display:flex;align-items:center;gap:10px;background:#ffffff73;padding:6px 10px;border-radius:10px;font-weight:700}.peek-item span{flex:1;text-align:left}.survey{display:grid;gap:8px;margin:10px 0 16px}.survey textarea{min-height:54px;resize:vertical}.btn.star{background:#0000001a;color:#aaa;box-shadow:none;font-size:22px;padding:2px 8px}.btn.star.on{color:var(--gold-2)}.float-btn{position:fixed;bottom:230px;right:20px;z-index:30}.help-btn.in-game{margin-left:auto;align-self:center;white-space:nowrap}.help-btn.in-game+.round-info{margin-left:0}.modal.help{width:min(760px,100%);text-align:left;position:relative;padding-top:16px}.modal.help h2{margin-top:0}.help-close{position:absolute;top:12px;right:14px;border:none;background:#0000001a;width:32px;height:32px;border-radius:50%;font-size:16px;cursor:pointer;color:var(--ink)}.help-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:2px solid rgba(90,55,32,.25);margin-bottom:12px}.help-tabs button{border:none;background:none;padding:8px 12px;font-weight:800;font-size:15px;cursor:pointer;color:var(--ink-soft);border-bottom:3px solid transparent;margin-bottom:-2px}.help-tabs button.on{color:#5b1f14;border-bottom-color:var(--red)}.help-body{max-height:62vh;overflow-y:auto;padding-right:6px}.help-body h3{margin:14px 0 6px}.goal{background:#e3b3414d;border-radius:10px;padding:10px 12px;font-size:16px}.steps{padding-left:22px;display:grid;gap:8px;margin:0}.steps li{line-height:1.5}.chip{display:inline-block;background:#fff8e6;border-radius:8px;padding:1px 8px;box-shadow:inset 0 0 0 1px #5a37204d;font-weight:700}.legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 14px;font-size:14px}.tips{padding-left:20px;display:grid;gap:6px;margin:0;line-height:1.4}.rules-text p{line-height:1.5;margin:0 0 8px}.card-list,.char-list{display:grid;gap:8px}.char-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}.card-row,.char-row{display:flex;gap:10px;align-items:flex-start;background:#ffffff73;padding:8px 10px;border-radius:10px}.char-row{align-items:center}.char-row>div{display:grid;gap:2px}.char-row small{color:var(--ink-soft);font-size:12px}.char-row .tag{justify-self:start}.cr-emoji{font-size:30px}.card-row p{margin:2px 0;font-size:14px}.cr-target{color:var(--blue);font-weight:700;font-size:12px}.game{height:100vh;height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:0 12px;overflow:hidden}.opponents{padding:10px 2px 2px;align-items:center}.main{min-height:0;padding-bottom:0;grid-template-columns:minmax(250px,320px) minmax(0,1fr) minmax(210px,270px)}.table-area{min-height:0;overflow-y:auto;padding:8px 6px 8px 8px}.board-area{min-height:0;display:flex;flex-direction:column}.board-stage{flex:1;min-height:0;display:flex;flex-direction:column}.fortress{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 10px 10px}.fortress-name{font-size:21px;margin-bottom:2px}.grid-fit{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}.grid-wrap{width:max-content}.col-labels{padding-left:22px}.cell{min-height:0}.piece .portrait{width:calc(var(--cell, 60px) * .6)!important;height:calc(var(--cell, 60px) * .6)!important}.hearts{font-size:max(8px,calc(var(--cell, 60px) * .15))}.mark{font-size:calc(var(--cell, 60px) * .38)}.requirements{padding:6px 10px;gap:8px;margin-top:6px}.req{width:62px}.req .portrait{width:30px!important;height:30px!important}.log{max-height:none;min-height:0}.log-toggle{display:none}.market{gap:10px 8px;padding-top:8px}.char-card{width:92px;padding:8px 5px 6px}.char-card .portrait{width:66px!important;height:66px!important}.char-name{font-size:12px;min-height:27px}.tag{font-size:10px}.piles{gap:6px}.pile{min-width:56px;padding:4px 6px}.pile span{font-size:16px}.pile small{font-size:9.5px}.hand-area{position:static;grid-template-columns:250px minmax(0,1fr) 250px;gap:12px;align-items:end;padding:0 0 10px;background:none}.turn-panel{align-self:stretch;display:flex;flex-direction:column;gap:8px;padding:10px}.turn-panel .purse{display:flex;align-items:baseline;gap:6px;min-width:0;justify-items:start}.turn-panel .purse b{font-size:26px}.turn-panel .purse .coin-stack{font-size:22px}.turn-panel .hint{font-size:14px;line-height:1.25}.turn-panel .row{gap:6px}.turn-panel .btn{padding:7px 11px;font-size:14px}.hand{min-height:0;height:158px;align-items:flex-end}.action-card{width:132px;min-height:150px;padding:10px 8px}.ac-emoji{font-size:30px}.ac-name{font-size:18px}.ac-text{font-size:11px}.action-card.sel{z-index:20}.reserve{width:auto;align-self:stretch}.reserve-list{max-height:110px}.toasts{top:80px}.toast-error{bottom:190px}@media(max-height:820px){.player-tile{min-width:170px;padding:6px 9px}.pt-avatar{width:28px;height:28px}.pt-stats{margin:3px 0;font-size:13px}.section-title{font-size:19px;margin-bottom:2px}.board-tabs button{padding:4px 12px;font-size:13px}.fortress-name{font-size:18px}.hand{height:138px}.action-card{width:120px;min-height:132px;padding:8px 7px;margin:0 -6px}.ac-emoji{font-size:24px}.ac-name{font-size:16px}.ac-text{font-size:10.5px}.action-card.sel{transform:translateY(-60px) scale(1.08)!important}.req small{display:none}.req{width:auto}.reserve-list{max-height:84px}.toast-error{bottom:170px}}@media(max-width:1180px){.main{grid-template-columns:minmax(230px,280px) minmax(0,1fr)}.log{display:none;position:fixed;right:12px;top:70px;bottom:180px;width:300px;z-index:35}.log.open{display:flex}.log-toggle{display:inline-block;margin-left:auto;align-self:center;white-space:nowrap}.log-toggle+.help-btn.in-game{margin-left:0}.hand-area{grid-template-columns:220px minmax(0,1fr) 210px}}@media(max-width:900px){.game{height:auto;overflow:visible;grid-template-rows:auto auto auto}.main{grid-template-columns:1fr}.fortress{min-height:60vw}.hand-area{grid-template-columns:1fr;position:sticky;bottom:0;background:linear-gradient(transparent,#0009 20%)}}.action-card.sel.aiming{transform:translateY(-6px)!important}.action-card.aiming .ac-text,.action-card.aiming .ac-emoji{display:none}.auth-error{color:var(--red);font-weight:800;margin:-6px 0 12px}
