
:root{color-scheme:dark;--cream:#fff1d3;--muted:#b9c8bf;--gold:#e9bc6b;--panel:#1b3637;--ink:#102729}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 10%,#31504a 0,transparent 48%),linear-gradient(135deg,#10282c,#172d2c);color:var(--cream);font:15px/1.5 system-ui,Segoe UI,sans-serif;min-height:100vh}button,input,select{font:inherit}button,select,input{border:1px solid #668079;border-radius:9px;background:#254345;color:var(--cream);padding:10px 13px;min-height:44px}button{cursor:pointer;font-weight:650;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#3c605b;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #ffe39c;outline-offset:3px}button.primary{background:var(--gold);color:#20302b;border-color:#f8d38c;box-shadow:0 4px 0 #906b35}button.primary:hover{background:#f9d58a}a{color:var(--gold)}.top{max-width:1250px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:24px 28px;border-bottom:1px solid #ffffff18}.brand{font-size:36px;font-weight:950;font-style:italic;letter-spacing:-2px;color:var(--cream);text-decoration:none;line-height:1}.brand span{color:var(--gold)}.brand small{display:block;font-size:8px;letter-spacing:2.4px;font-style:normal;margin-top:10px}nav{display:flex;gap:8px}nav button{border:0;background:transparent;color:#dfdfcb}main{max-width:1200px;margin:auto;padding:24px}.headline{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.eyebrow{color:var(--gold);font-size:10px;font-weight:800;letter-spacing:2px}h1{font:normal 29px Georgia,serif;margin:5px 0}h2{font:normal 30px Georgia,serif;margin:8px 0 12px}h3{color:var(--gold)}#connection{font-size:11px;color:var(--muted);max-width:250px}.roster{display:flex;gap:10px;margin-bottom:18px}.player{flex:1;min-width:0;background:#25403e;border:1px solid #ffffff16;border-radius:11px;padding:11px 14px;display:flex;gap:10px;align-items:center}.player.active{border-color:var(--gold);background:#344b41;box-shadow:inset 0 -3px var(--gold)}.player .badge{font-size:24px;color:var(--team);text-shadow:0 2px 3px #000}.player strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player small{font-size:10px;color:var(--muted)}.table-layout{display:grid;grid-template-columns:minmax(0,720px) minmax(290px,1fr);gap:25px;align-items:start}.board-frame{position:relative;border-radius:36px;background:repeating-linear-gradient(7deg,#64402a 0,#785138 4px,#69472f 7px,#7d5538 9px);padding:17px;box-shadow:0 16px 28px #0006,inset 0 2px 2px #d6a469,inset 0 -6px 3px #362a21;border:3px solid #8d6643}.board-frame svg{display:block;width:100%;border-radius:20px;box-shadow:0 0 0 2px #c09353,0 0 0 6px #4b3827;background:#e9d5ac;touch-action:manipulation}.board-frame #enlarge{position:absolute;bottom:20px;right:22px;background:#2c4844dc;font-size:23px;padding:0 7px;min-height:36px}.console{padding:20px;background:linear-gradient(135deg,#254441,#152f31);border:1px solid #9ab18d35;border-radius:20px;box-shadow:0 8px 24px #0002}.card-top{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-bottom:15px}.card-top .eyebrow{font-size:8px;letter-spacing:1.4px}#deckCount{font-size:11px;white-space:nowrap;color:var(--muted)}.movement-card{border:1px solid #f3d6a1;border-radius:13px;background:radial-gradient(ellipse at top,#fff7e3,#e8d7b6);color:#243e3c;padding:20px;min-height:255px;text-align:center;box-shadow:0 5px 0 #bda982,0 10px 14px #0002}.movement-card svg{width:108px;height:108px;display:block;margin:0 auto 10px}.movement-card #cardKind{font-size:9px;font-weight:800;letter-spacing:2px;color:#715738}.movement-card h2{font-size:30px;font-weight:bold;margin:5px 0}.movement-card p{font-size:13px;margin:0}#turnPrompt{font-weight:750;color:var(--gold);margin:21px 0 9px;min-height:24px}#actionChoice{width:100%;font-size:12px;text-overflow:ellipsis}#preview{font-size:12px;color:var(--muted);min-height:36px;margin:9px 0}.controls{display:grid;grid-template-columns:1fr 1fr;gap:10px}.controls button{font-size:12px;padding:10px 5px}#draw span{float:right;padding-right:7px}#latest{font-size:12px;border-top:1px solid #ffffff18;padding-top:14px;margin-top:18px;color:var(--muted)}.aside-note{text-align:center;font:italic 19px Georgia,serif;color:#aac1ae70;margin-top:25px}.below{display:flex;flex-wrap:wrap;gap:20px;align-items:start;margin-top:26px;font-size:13px;color:var(--muted)}.below details{flex:1;min-width:150px}.below summary{cursor:pointer;padding:10px}.below li{padding:5px}.below a{padding:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}dialog{border:1px solid #7e977b;border-radius:20px;background:#1d3939;color:var(--cream);width:min(650px,95vw);max-height:90dvh;padding:28px;box-shadow:0 20px 90px #0009}dialog::backdrop{background:#081b22c9;backdrop-filter:blur(6px)}dialog .close{float:right;font-size:25px;line-height:1;background:transparent;border:0;padding:0 10px}dialog p{color:#c4d0c4}dialog label{display:block;margin:15px 0}dialog label select,dialog label input{width:100%;margin-top:5px}dialog .check{display:flex;align-items:center;gap:10px}.check input{width:20px;height:20px}.wide{width:100%;margin-top:15px}.seat-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:6px;margin:12px 0;padding:12px 0;border-bottom:1px solid #ffffff20}.seat-row input,.seat-row select{width:100%;min-width:0;font-size:13px;padding:8px}.seat-row .level{grid-column:2/4}.hint{font-size:12px}#setupError{color:#ffb8ac}hr{border:0;border-top:1px solid #ffffff25;margin:25px 0}#invite{width:100%;font-size:12px;margin-bottom:12px}.lobby-seat{padding:12px;border-bottom:1px solid #ffffff20}.rule-route{display:flex;justify-content:space-between;align-items:center;text-align:center;background:#294c46;padding:12px;border-radius:12px;font-size:12px;color:var(--gold)}.rules-card{border-bottom:1px solid #ffffff20;padding:12px 0}.rules-card b{color:var(--gold)}.rules-card p{margin:3px 0}.trophy{text-align:center;font-size:100px;color:var(--gold);animation:celebrate 1s ease-out}#resultsTable p{display:flex;justify-content:space-between;border-bottom:1px solid #ffffff18;padding:8px 0}#toast{position:absolute;top:41%;left:10%;right:10%;pointer-events:none;text-align:center;font-size:clamp(35px,6vw,72px);font-weight:950;font-style:italic;color:#fff0ac;text-shadow:0 4px #7d233a,0 8px 20px #000;opacity:0}#toast.show{animation:gotcha 1.6s ease-out}.pawn{cursor:pointer;transition:transform .4s ease-in-out}.pawn text{pointer-events:none}.pawn.legal .halo{stroke:#fff7bb;stroke-width:4}.pawn.selected .halo{stroke:#ffe068;stroke-width:7}.dest{cursor:pointer;fill:#ffe27e88;stroke:#715417;stroke-width:3;stroke-dasharray:5 3}.preview-line{stroke:#784226;stroke-width:5;stroke-dasharray:8 5;fill:none;pointer-events:none}.enlarged .headline,.enlarged .below,.enlarged .top{display:none}.enlarged main{max-width:1400px}.enlarged .table-layout{grid-template-columns:minmax(0,1fr) 330px}.enlarged .board-frame{max-width:calc(100dvh - 100px);margin:auto}@keyframes gotcha{0%{opacity:0;transform:scale(.4) rotate(-12deg)}20%,70%{opacity:1;transform:scale(1) rotate(-7deg)}100%{opacity:0;transform:translateY(-30px)}}@keyframes celebrate{from{transform:scale(.2) rotate(-60deg)}to{transform:scale(1) rotate(0)}}
@media(max-width:800px){.top{padding:12px 15px}.brand{font-size:28px}.brand small{font-size:6px;margin-top:5px}nav{gap:1px}nav button{font-size:12px;padding:7px;min-height:40px}main{padding:10px}.headline{margin-bottom:9px}.headline h1{font-size:20px}.headline .eyebrow{display:none}#connection{font-size:9px;max-width:145px;text-align:right}.roster{gap:5px;margin-bottom:9px}.player{padding:5px 7px;gap:5px;border-radius:8px}.player strong{font-size:11px}.player small{font-size:9px}.player .badge{font-size:18px}.table-layout,.enlarged .table-layout{display:flex;flex-direction:column;gap:10px}.play-area{width:100%;max-width:540px;margin:auto}.board-frame{padding:11px;border-radius:22px}.board-frame svg{border-radius:12px}.board-frame #enlarge{bottom:12px;right:12px;min-height:30px;font-size:20px}.console{width:100%;padding:10px;border-radius:12px;position:sticky;bottom:0;z-index:5;background:#1d3b39;box-shadow:0 -3px 18px #10282799}.card-top{display:none}.movement-card{min-height:0;padding:6px 10px;display:flex;align-items:center;text-align:left;gap:12px;border-radius:8px;box-shadow:0 2px #bda982}.movement-card svg{width:54px;height:54px;flex-shrink:0;margin:0}.movement-card #cardKind{font-size:7px;letter-spacing:1px}.movement-card h2{font-size:22px;margin:0;line-height:1.1}.movement-card p{font-size:11px;line-height:1.25}.movement-card div{flex:1}#turnPrompt{margin:7px 0 5px;font-size:12px;min-height:18px}.choice-wrap{display:flex;align-items:center;gap:8px}#actionChoice{flex:1;min-width:0;min-height:40px;padding:7px}#preview{flex:1;margin:0;font-size:10px;min-height:0;line-height:1.3}.controls{display:flex;gap:6px;margin-top:7px}.controls button{flex:1;min-height:43px;font-size:11px;padding:6px}.controls #draw span{display:none}#latest{font-size:10px;margin-top:8px;padding-top:7px}.aside-note{display:none}.below{margin-top:15px;gap:10px}.enlarged .board-frame{max-width:none}.enlarged .roster{margin-top:0}.enlarged main{padding:4px}.seat-row{grid-template-columns:1fr 1fr}.seat-row input{grid-column:1/3}.seat-row .level{grid-column:1/3}dialog{padding:20px}dialog h2{font-size:26px}}
@media(max-width:420px){.headline{display:none}.player small{font-size:8px}.player .badge{font-size:15px}.roster .player{padding:5px}.console{padding:8px}.top{padding:9px 12px}.board-frame{padding:9px}.movement-card p{font-size:10px}#preview{font-size:9px}.movement-card svg{height:42px;width:42px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important;scroll-behavior:auto!important}}
.pawn-buttons{display:flex;gap:6px;margin:8px 0}.pawn-buttons button{flex:1;min-width:0;min-height:44px;padding:5px;font-size:12px}.pawn-buttons button.chosen{background:#f4d889;color:#253c34;outline:2px solid #fff0b5}.pawn-buttons button:not(:disabled){border-color:#ead08b}
@media(max-width:800px){.play-area{max-width:min(540px,calc(100dvh - 350px))}.pawn-buttons{margin:5px 0}.pawn-buttons button{font-size:11px}.choice-wrap select{min-height:44px!important}.enlarged .play-area{max-width:none}}
@media(max-width:420px){.headline{display:flex;margin:0 0 5px}.headline>div{display:none}#connection{font-size:10px;max-width:none;text-align:left}#preview{font-size:11px}}

/* Return navigation stays inside the existing setup and footer layout. */
a.return-games{display:inline-flex;align-items:center;min-height:44px;padding:6px 10px;box-sizing:border-box;color:inherit;font:600 13px/1.25 system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px}
