/* Walnut, warm ivory and brass: the board is the main focus. */
.member-roster{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.member-row{font-size:11px;padding:5px 8px;border:1px solid #ccb57d33;border-radius:6px;color:#bbb49f;overflow-wrap:anywhere}.member-row.current{border-color:#ddbd78;color:#ffe4ad;background:#4b4329}#team-names-dialog{max-height:90dvh;overflow:auto}#team-names-dialog fieldset{border:1px solid #bca06866;border-radius:10px;margin:16px 0;padding:12px}#team-names-dialog select{display:block;width:100%;padding:10px;margin-top:8px;background:#18221c;color:#f4dfb5;border:1px solid #a78a55;border-radius:8px}.member-inputs{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.member-inputs .team-name-field{margin:8px 0}.turn-label{overflow-wrap:anywhere}.player-title .medallion{flex-shrink:0}@media(max-width:680px){.intro{align-items:stretch}.player{min-width:0}.member-row{font-size:10px;width:100%}.team-name-field input{font-size:16px}.controls button{min-height:44px}.coin-picker{grid-template-columns:repeat(6,minmax(0,1fr))}.coin-button{width:100%;max-height:none;min-height:44px}.board-view-toolbar{flex-wrap:wrap}.player-title{flex-wrap:wrap}.stats{gap:4px;flex-wrap:wrap}.member-inputs{grid-template-columns:1fr}main>section{min-width:0}.board-stage{overflow:clip}.header-right .plain{padding:10px;font-size:11px}.subtitle{letter-spacing:1px;font-size:8px}}
.team-name{overflow-wrap:anywhere;min-width:0}.team-name-field{display:block;margin:18px 0;color:#ead3a5;font-size:13px}.team-name-field input{display:block;box-sizing:border-box;width:100%;margin-top:8px;padding:12px;border:1px solid #ab8a51;border-radius:8px;background:#18221c;color:#fff1d3;font:inherit}#team-names-dialog{width:min(460px,90vw)}
.board-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px;color:#d9c49b;font-size:12px}.view-buttons{display:flex;border:1px solid #bd96585c;border-radius:10px;padding:3px;background:#18221c}.view-buttons button{border:0;background:transparent;color:#d9c49b;padding:10px 16px;border-radius:7px}.view-buttons button[aria-pressed=true]{background:linear-gradient(#dfbd7c,#b28b46);color:#291e12}.board-view-toolbar label{display:flex;align-items:center;gap:8px}.board-view-toolbar input{width:90px;accent-color:#dabb7a}.board-stage{perspective:1800px;padding:0;transition:padding .35s;background:radial-gradient(ellipse at center,#6b59442a,transparent 70%);border-radius:24px}.board-solid{position:relative;transform-style:preserve-3d;transition:transform .4s;transform-origin:center center}.board-solid>.board-wrap{transform:translateZ(0);backface-visibility:hidden}.board-depth{position:absolute;inset:0;border-radius:16px;background:linear-gradient(100deg,#29160d,#80502b 35%,#4b2d18 70%,#211209);border:1px solid #7f5830;pointer-events:none;display:none}.is-3d{padding:12px 22px 26px}.is-3d .board-solid{transform:rotateX(var(--board-tilt,24deg)) rotateZ(-1deg);filter:drop-shadow(0 28px 15px #0007)}.is-3d .board-depth{display:block}.is-3d .board-wrap{box-shadow:inset 0 0 0 5px #2b1912,inset 0 0 0 6px #b58c4b}.board-stage:not(.is-3d) .board-solid{transform:none}@media(max-width:680px){.is-3d{padding:6px 10px 22px}.board-stage{perspective:1100px}.board-view-toolbar{font-size:11px;gap:6px}.view-buttons button{padding:9px 12px}.board-view-toolbar input{width:64px}}@media(prefers-reduced-motion:reduce){.board-solid,.board-stage{transition:none}}
:root[style*="--shell-model"] .coin-button.shell-piece,:root[style*="--shell-model"] #red .medallion{background:var(--shell-model) center/contain no-repeat;border:0;border-radius:8px;color:#fff1d1;text-shadow:0 1px 3px #241409,1px 0 2px #241409;box-shadow:none}
:root[style*="--seed-model"] .coin-button.seed-piece,:root[style*="--seed-model"] #green .medallion{background:var(--seed-model) center/contain no-repeat;border:0;border-radius:8px;color:#fff1d1;text-shadow:0 1px 3px #241409;box-shadow:none}
:root[style*="--shell-model"] .coin-button{font-size:12px;padding-top:16px;min-height:40px;filter:drop-shadow(2px 3px 2px #0007)}
.dice-scene{position:absolute;inset:0;width:100%;height:100%;border-radius:14px}.has-3d>.die,.has-3d>.throw-hand{display:none}.dice-tray.has-3d{min-height:250px}
.dice-tray{position:relative;overflow:hidden;perspective:650px;min-height:190px}
.throw-hand{position:absolute;width:120px;height:150px;left:calc(50% - 60px);bottom:-160px;opacity:0;pointer-events:none;z-index:3;transform-origin:50% 100%}.throw-hand svg{width:100%;height:100%}
.rolling .throw-hand{animation:release-hand 2.4s both}
.rolling .die{animation:brass-flight 2.4s both;--rest:-13deg;--side:-1}
.rolling .die+.die{--rest:12deg;--side:1;animation-name:brass-flight}
@keyframes release-hand{0%{opacity:0;transform:translateY(0) rotate(-10deg)}12%{opacity:1;transform:translateY(-155px) rotate(-10deg)}22%{transform:translateY(-150px) rotate(8deg)}32%{transform:translateY(-162px) rotate(-8deg)}40%{opacity:1;transform:translateY(-175px) rotate(12deg)}58%,100%{opacity:0;transform:translateY(20px) rotate(22deg)}}
@keyframes brass-flight{0%,12%{transform:translateY(55px) scale(.8) rotate(var(--rest));opacity:.4}22%{transform:translateY(15px) rotate(-8deg);opacity:1}32%{transform:translateY(5px) rotate(12deg)}42%{transform:translateY(-28px) rotateX(100deg) rotate(30deg)}56%{transform:translateY(-38px) rotateX(280deg) rotate(-45deg)}68%{transform:translateY(8px) rotateX(360deg) rotate(20deg)}78%{transform:translateY(-12px) rotateX(420deg) rotate(-20deg)}88%{transform:translateY(3px) rotateX(360deg) rotate(8deg)}100%{transform:translateY(0) rotateX(360deg) rotate(var(--rest))}}
@media(prefers-reduced-motion:reduce){.rolling .throw-hand{animation:none}.rolling .die{animation:none}}
.coin-button.shell-piece,#red .medallion{border-radius:48% 48% 44% 44%;background:linear-gradient(90deg,#d2bfa0,#fff6df 40%,#644b37 47%,#483222 53%,#fff6df 60%,#caba9a);color:#38291d;border:1px solid #bfa780;text-shadow:0 0 3px #fff,0 0 3px #fff;font-weight:700}
.coin-button.seed-piece,#green .medallion{border-radius:42% 48% 45% 39%;background:radial-gradient(ellipse at 28% 20%,#c39167,#7a442a 35%,#402017 75%,#26110d);color:#fff0cf;border:1px solid #ab7952;font-weight:700}
.stack-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0 24px}.stack-list button{margin:0;padding:14px 10px}.stack-list button:disabled{opacity:.65}#stack-details{width:min(460px,90vw)}
body{background:radial-gradient(ellipse at 40% 10%,#35382f,#171d1a 75%);color:#f1e5cc;min-height:100vh}
:root{--ink:#e8c78b;--muted:#b5ad99;--gold:#d9ae61}
header{height:76px;border-color:#d7b77826;background:#171d1a88;padding:0 4vw}
.plain{color:#e6ce9b;border-color:#bca06c66}.subtitle{color:#b6a887}
main{max-width:1440px;grid-template-columns:minmax(420px,850px) 280px;gap:20px 28px;padding:24px 32px;justify-content:center}
.intro{grid-column:1/-1;display:flex;gap:18px;align-items:center}
.intro>.eyebrow,.intro>h2,.intro>p,.intro>.legend{display:none}
.player{flex:1;margin:0;padding:12px 20px;background:#242d27;border-color:#c2a57938;display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;border-radius:12px}
.player.active{border-color:#d8b66f;box-shadow:inset 3px 0 #d8b66f,0 4px 15px #0002}
.player-title{color:#f6e8cd}.stats{margin:0;align-items:center}.stats b{display:inline;font-size:18px;color:#ead4a8;margin-right:5px}.status{grid-column:1/-1;border-color:#d9bd8220;color:#bcb6a4;font-size:10px;padding-top:6px}
.board-wrap{background:linear-gradient(125deg,#56311c,#2d1a12 45%,#69452a);padding:17px;border:1px solid #c59a55;border-radius:16px;box-shadow:0 24px 50px #0006,inset 0 0 0 5px #2b1912,inset 0 0 0 6px #9a7540}
.board-top{color:#e1bd7c;margin:1px 5px 12px}.board-bottom{color:#d4b888}.board{border-radius:6px}
.controls{background:linear-gradient(145deg,#2a332c,#202820);border:1px solid #a18b5c55;border-radius:16px;padding:22px;box-shadow:0 12px 28px #0002}
.turn-label{color:#f4e4c4;font-size:25px}.dice-tray{background:radial-gradient(ellipse,#3e5442,#17291e);border:1px solid #a78c4b66;box-shadow:inset 0 4px 20px #0007}
.primary{background:linear-gradient(#e5c384,#b98e49);color:#302319;box-shadow:0 3px 0 #7b5b2d;font-weight:700}.secondary{color:#dac69e;border-color:#baa06a44}.hint{color:#d0c6b0}.banner{background:#141e17;color:#cdbb95;border:1px solid #b99d6133}.roll-token{background:#394133;color:#e3cb98;border-color:#a48a55}.coin-button{box-shadow:0 2px 3px #0006}.caption{color:#b5ab95}footer{color:#817d6d}
dialog{background:#283128;color:#f2dfb9}dialog p{color:#cabea3}
@media(max-width:900px){main{grid-template-columns:1fr;padding:18px;max-width:800px}.controls{display:block}.intro{gap:10px}.player{padding:12px;display:block}.stats{margin-top:10px}.status{margin-top:8px}.dice-tray{float:left;width:40%;margin:12px 20px 15px 0;height:130px}.rolls{clear:both}.coin-picker{grid-template-columns:repeat(12,1fr)}.die{height:95px}}
@media(max-width:680px){main{padding:12px 8px}.board-wrap{max-width:none;padding:12px}.player-title{font-size:12px}.stats{font-size:10px}.stats b{font-size:15px}.board-top{font-size:8px}.controls{padding:18px}.coin-picker{grid-template-columns:repeat(6,1fr)}.coin-button{max-height:44px;aspect-ratio:1}.caption{font-size:10px}.header-right{gap:8px}header{padding:0 16px}.board-bottom{font-size:8px}}
