@keyframes drop{0%{transform:translateY(-14px) scale(1.06);opacity:.3}to{transform:none;opacity:1}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 4px rgba(226,199,106,.9)}}@keyframes blink{50%{opacity:.35}}:root{--paper:#efe8cc;--paper-2:#e4dbb6;--ink:#2c2a1c;--muted:#6d6a52;--olive:#6e6b2c;--olive-dark:#45431a;--gold:#b8962e;--gold-light:#e2c76a;--red:#c4472f;--blue:#3f86b8;--green:#4f8f4a;--yellow:#e0b52b;--shadow:0 6px 18px rgba(40, 35, 10, .25);--radius:10px;font-family:"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif}*{box-sizing:border-box}body,html{margin:0;height:100%}body{color:var(--ink);background:radial-gradient(ellipse at top,#f6f0d8 0,#e3d9b0 60%,#d2c58f 100%) fixed;overflow:hidden}.hidden{display:none!important}h1,h2{letter-spacing:.02em}h1,h2,h3,h4{font-weight:400}h1,h2,h3{margin:0 0 .5em}h3{font-size:15px;text-transform:uppercase;letter-spacing:.12em}h4{letter-spacing:.02em;margin:16px 0 8px}.muted{color:var(--muted)}.btn,h3,h4{color:var(--olive-dark)}.btn{font:inherit;font-size:14px;cursor:pointer;border:1px solid var(--olive);border-radius:999px;padding:7px 16px;background:#faf6e4;transition:background .15s,transform .1s,box-shadow .15s}.btn:hover{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.12)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:default;box-shadow:none}.btn.primary{background:var(--olive);color:#fbf6df;border-color:var(--olive-dark)}.btn.primary:hover{background:var(--olive-dark)}.btn.ghost,.seg button{background:0 0}.btn.big{font-size:16px;padding:10px 26px}.btn.small{padding:4px 10px;font-size:13px;min-width:34px}.screen{position:fixed;inset:0}#start{display:grid;place-items:center;overflow:auto;padding:24px}.start-card{background:var(--paper);border-radius:18px;padding:28px 34px;box-shadow:var(--shadow);border:2px solid var(--gold);text-align:center}.start-logo{width:150px;height:150px;object-fit:contain;margin-top:-10px}.start-card h1{font-size:34px;color:var(--olive-dark);margin-bottom:2px}.subtitle{color:var(--muted);margin-top:0}form{text-align:left;margin-top:18px}.field{display:block;margin-bottom:14px;font-size:15px}.seg{display:inline-flex;margin-left:10px;border:1px solid var(--olive);border-radius:999px;overflow:hidden;vertical-align:middle}.seg button{font:inherit;border:0;padding:5px 16px;cursor:pointer;color:var(--olive-dark)}.seg button.on{background:var(--olive);color:#fff}.name-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}.name-row input{flex:1;font:inherit;font-size:15px;padding:8px 12px;border-radius:8px;border:1px solid #c6bb8a;background:#fffdf3}.name-row input:focus{outline:2px solid var(--gold-light)}.check{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--muted);margin:14px 0 18px}.resume,.row{display:flex;align-items:center}.row{gap:10px;justify-content:space-between}.row.end{justify-content:flex-end;margin-top:18px}.resume{justify-content:center;gap:14px;background:var(--paper-2);padding:10px;border-radius:10px}.pawn{display:inline-block;width:18px;height:18px;border-radius:50%;border:2px solid rgba(0,0,0,.35);box-shadow:inset 0-3px 0 rgba(0,0,0,.2);flex:none}.pawn.red{background:var(--red)}.pawn.blue{background:var(--blue)}.pawn.green{background:var(--green)}.pawn.yellow{background:var(--yellow)}.pawn.black{background:#222}#game{display:grid;grid-template-columns:250px 1fr 300px;grid-template-rows:58px 1fr;grid-template-areas:"top top top""left center right"}.topbar{grid-area:top;display:flex;align-items:center;gap:14px;padding:0 16px;background:linear-gradient(#5e5b24,#45431a);color:#f5edc8;box-shadow:0 2px 8px rgba(0,0,0,.3);z-index:5}.mini-logo{width:42px;height:42px}.status{flex:1;min-width:0}#statusMain{font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#statusSub{font-size:13px;opacity:.8}.top-actions .btn{color:#f5edc8;border-color:rgba(245,237,200,.5)}.top-actions .btn:hover{background:rgba(255,255,255,.12)}.left,.right{overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.left{grid-area:left;border-right:1px solid rgba(110,107,44,.3)}.right{grid-area:right;border-left:1px solid rgba(110,107,44,.3)}.center,.panel.grow{display:flex;flex-direction:column}.center{grid-area:center;min-width:0;min-height:0}.panel{background:rgba(250,246,228,.75);border-radius:var(--radius);padding:10px 12px;box-shadow:0 1px 4px rgba(0,0,0,.08)}.panel.grow{flex:1;min-height:120px}.plateau{position:relative;width:100%;aspect-ratio:1/2;max-height:440px;margin:0 auto}.plateau img{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.25))}#pawns{position:absolute;inset:0}#pawns .pawn{position:absolute;width:15px;height:15px;transform:translate(-50%,-50%);transition:left .6s,top .6s}.player{display:grid;grid-template-columns:auto 1fr auto;gap:4px 8px;align-items:center;background:rgba(250,246,228,.75);border-radius:var(--radius);padding:8px 10px;margin-bottom:8px;border:2px solid transparent;cursor:pointer}.player.current{border-color:var(--gold);box-shadow:0 0 0 3px rgba(226,199,106,.35)}.player.viewing{background:#fffaf0}.player .name{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player .pts{font-size:20px;color:var(--olive-dark)}.player .symbols{grid-column:1/-1}.first-badge{font-size:11px;background:#222;color:#fff;border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:middle}.symbols{display:flex;flex-wrap:wrap;gap:4px 8px;font-size:13px}.sym{display:inline-flex;align-items:center;gap:2px}.icon{display:inline-block;width:18px;height:18px;vertical-align:-4px;flex:none}.tabs{display:flex;gap:4px;padding:8px 12px 0}.board,.tabs button{border:1px solid rgba(110,107,44,.35)}.tabs button{font:inherit;font-size:14px;cursor:pointer;border-bottom:0;background:rgba(250,246,228,.5);padding:6px 14px;border-radius:10px 10px 0 0;color:var(--olive-dark);display:flex;gap:6px;align-items:center}.tabs button.on{background:#f7f1d8;font-weight:700}.board{flex:1;position:relative;overflow:hidden;cursor:grab;margin:0 12px;background:radial-gradient(circle at 50% 40%,rgba(255,255,255,.55),transparent 70%),repeating-linear-gradient(45deg,rgba(110,107,44,.05)0 2px,transparent 2px 22px),#f7f1d8;border-radius:0 12px 12px 12px;box-shadow:inset 0 0 40px rgba(110,107,44,.18)}.board.dragging{cursor:grabbing}.board-inner{position:absolute;left:0;top:0;transform-origin:0 0}.board-hint,.board-tools{position:absolute;z-index:1000}.board-tools{right:10px;top:10px;display:flex;gap:6px}.board-hint{left:50%;bottom:12px;transform:translateX(-50%);background:rgba(69,67,26,.88);color:#f8f0cf;padding:6px 14px;border-radius:999px;font-size:14px;pointer-events:none;white-space:nowrap}.board-hint:empty{display:none}.slot,.tcard{position:absolute;border-radius:9px}.tcard{box-shadow:0 2px 6px rgba(0,0,0,.35)}.deck img,.revealed img,.tcard img{width:100%;height:100%;display:block}.tcard img{border-radius:9px;pointer-events:none}.tcard.fresh{animation:drop .45s ease-out}.slot{border:2px dashed rgba(110,107,44,.75);background:rgba(226,199,106,.18);cursor:pointer;display:grid;place-items:center;color:var(--olive-dark);font-size:26px;transition:background .15s}.slot:hover{background:rgba(226,199,106,.45)}.slot .gain,.slot .ghost{position:absolute;display:none}.slot .ghost{inset:0;opacity:.75;border-radius:9px;overflow:hidden}.slot:hover .gain,.slot:hover .ghost{display:block}.slot .ghost img{width:100%;height:100%}.slot .gain{top:-12px;right:-10px;background:var(--olive);color:#fff;border-radius:999px;font-size:13px;padding:2px 8px;z-index:2}.handbar{display:flex;gap:16px;padding:10px 12px 12px;align-items:flex-end}.hand-info{width:190px;flex:none}.hand-info .label{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}#secretGoal img,.hcard .face{width:100%;border-radius:8px;box-shadow:var(--shadow);display:block}.hcard .face{aspect-ratio:3/2;border-radius:10px;cursor:pointer}#symbolCount{margin-top:8px}.hand{flex:1;display:flex;gap:14px;justify-content:center;min-height:150px}.hcard{position:relative;width:200px;transition:transform .15s}.hcard:hover{transform:translateY(-6px)}.hcard.selected{transform:translateY(-14px)}.hcard.selected .face{outline:4px solid var(--gold-light);outline-offset:2px}.hcard.blocked .face{filter:grayscale(.6) brightness(.85)}.hcard .bar{display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:6px}.hcard .req{font-size:12px;color:var(--red)}.hcard .req.ok{color:var(--green)}.hand.disabled .hcard .face{cursor:default}.hand-empty{color:var(--muted);align-self:center}.draw-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}.deck,.revealed{position:relative;aspect-ratio:3/2;border-radius:7px}.deck img,.revealed img{border-radius:7px;box-shadow:0 2px 5px rgba(0,0,0,.3)}.deck .count{position:absolute;bottom:3px;right:4px;background:rgba(0,0,0,.65);color:#fff;font-size:11px;border-radius:999px;padding:0 6px}.deck.empty,.revealed.empty{border:2px dashed rgba(110,107,44,.35)}.deck.stack img{box-shadow:2px 2px 0#c9bd8c,4px 4px 0#b9ac78,0 4px 8px rgba(0,0,0,.3)}#drawPanel.active .deck:not(.empty),#drawPanel.active .revealed:not(.empty){cursor:pointer;animation:pulse 1.6s infinite}#drawPanel.active .deck:not(.empty):hover,#drawPanel.active .revealed:not(.empty):hover{transform:translateY(-3px)}.goals{display:grid;grid-template-columns:1fr 1fr;gap:8px}.goals img{width:100%;border-radius:7px;box-shadow:0 2px 5px rgba(0,0,0,.3);display:block}#log{margin:0;padding-left:20px;overflow-y:auto;font-size:13px;flex:1;color:#4a4732}#log li{margin-bottom:3px}#log li:last-child{color:var(--ink);font-weight:700}.preview{position:fixed;z-index:3000;pointer-events:none;width:380px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.45))}.preview img{width:100%;border-radius:16px;display:block}.overlay{position:fixed;inset:0;z-index:4000;display:grid;place-items:center;background:rgba(40,37,15,.62);backdrop-filter:blur(3px);padding:20px}.dialog{position:relative;background:var(--paper);border-radius:16px;padding:24px 28px;box-shadow:var(--shadow);border:2px solid var(--gold);max-height:92vh;overflow:auto;width:min(460px,100%)}.dialog.wide{width:min(920px,100%)}.center-text,input.text.code{text-align:center}.pawn-big{width:54px;height:54px;border-radius:50%;margin:0 auto 10px;border:3px solid rgba(0,0,0,.3)}.close,.modes button{cursor:pointer;background:0 0}.close{position:absolute;right:14px;top:8px;border:0;font-size:30px;color:var(--muted)}.choice-row{display:flex;gap:14px;flex-wrap:wrap}.choice{width:260px;border-radius:12px;cursor:pointer;padding:4px;border:3px solid transparent;transition:border-color .15s,transform .15s;text-align:center;font-size:13px;color:var(--muted)}.choice:hover{transform:translateY(-3px)}.choice.on{border-color:var(--gold);background:rgba(226,199,106,.25);color:var(--ink)}.choice img,.small-cards img{box-shadow:0 2px 6px rgba(0,0,0,.25)}.choice img{width:100%;border-radius:9px;display:block;margin-bottom:4px}.small-cards img{width:170px;border-radius:8px}.rules p{line-height:1.5}.standings{width:100%;border-collapse:collapse;margin-top:10px;font-size:15px}.standings td,.standings th{padding:8px 10px;border-bottom:1px solid rgba(110,107,44,.25);text-align:center}.standings th{font-weight:400;color:var(--muted);font-size:13px}.standings td.who{text-align:left;white-space:nowrap}.standings td.who .pawn{vertical-align:-3px;margin-right:8px}.standings tr.win td{background:rgba(226,199,106,.35);font-weight:700}.standings .goal-thumb{width:74px;border-radius:5px;display:block;margin:0 auto 2px}@media (max-width:1150px){#game{grid-template-columns:200px 1fr 250px}.hcard{width:160px}.hand-info{width:150px}}.modes{display:flex;justify-content:center;gap:6px;margin:16px 0 4px}.modes button{font:inherit;font-size:15px;border:1px solid var(--olive);color:var(--olive-dark);padding:7px 18px;border-radius:999px}.modes button.on{background:var(--olive);color:#fff}.start-card{width:min(620px,100%)}.name-row select,.seat-row select,input.text{font:inherit;border-radius:8px;border:1px solid #c6bb8a;background:#fffdf3}.name-row select,input.text{font-size:15px;padding:7px 10px}input.text{width:100%;margin-top:4px;display:block}input.text.code{text-transform:uppercase;letter-spacing:.3em;font-size:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.box{background:var(--paper-2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.box h4{margin-top:0}.box .btn{align-self:flex-start;margin-top:auto}.seat-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:14px}.seat-row select{flex:1;padding:5px 8px}.notice{background:#fbf3d6;border:1px solid var(--gold);border-radius:10px;padding:12px 14px;font-size:14px;line-height:1.5;text-align:left}.notice code{background:rgba(0,0,0,.06);padding:1px 5px;border-radius:4px}#lobby{margin-top:10px}.room-code{font-size:46px;letter-spacing:.3em;color:var(--olive-dark);margin:-8px 0 4px}.small{font-size:13px}.link-row,.lobby-seat{display:flex;gap:8px;align-items:center;margin-bottom:14px}.lobby-seat{gap:10px;padding:8px 10px;border-radius:10px;background:var(--paper-2);margin-bottom:6px}.link-row input{margin:0;font-size:13px}#lobbySeats{text-align:left;margin-bottom:10px}.lobby-seat .grow{flex:1}.net-banner,.tag{border-radius:999px}.tag{font-size:11px;padding:1px 8px;background:rgba(0,0,0,.08);color:var(--muted);white-space:nowrap}.tag.bot{background:#dfe8f2;color:#2c5a7d}.tag.off{background:#f6d9d2;color:#8c2f1d}.tag.on{background:#dcebd5;color:#2f6a28}.player .tags{grid-column:1/-1;display:flex;gap:4px;flex-wrap:wrap;align-items:center}.player .mini-hand{display:inline-flex;gap:2px;margin-left:auto}.player .mini-hand img{width:26px;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.3)}.net-banner{position:fixed;top:64px;left:50%;transform:translateX(-50%);background:#8c2f1d;color:#fff;padding:6px 16px;z-index:3500;font-size:14px}.thinking{display:inline-block;animation:blink 1s infinite}