@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f2f4f1;--ink:#243b3a;--muted:#657871;--purple:#147d80;--line:#d8e2dc;--lime:#c1e478;--pink:#ee9bcc;--gold:#f4cf68;--green:#8bccbc}*{box-sizing:border-box}body{margin:0;background:var(--paper);font:400 1rem/1.5 'DM Sans',Arial,sans-serif;color:var(--ink)}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #147d80;outline-offset:4px}button{border:0;border-radius:7px;padding:.8rem 1rem;background:var(--purple);color:#fff;font-weight:600;font-size:.9rem}button:hover:not(:disabled){filter:brightness(.95)}button.secondary{background:#e3f0ed;color:#215e5c}button.quiet{background:transparent;color:var(--ink);border:1px solid var(--line);font-weight:500}button.danger{background:#fae8e7;color:#a03238}.skip{position:absolute;top:-100px;background:white;padding:12px}.skip:focus{top:8px;z-index:20}.game-header{padding:1.2rem 3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:1.5rem;background:#fff}.home{text-decoration:none;font-size:.95rem}.home span,.game-brand span{display:block;font-size:.75rem;color:var(--muted);font-weight:400;margin-top:.15rem}.game-brand{font-family:Manrope,Arial,sans-serif;font-weight:800;font-size:1rem}.game-brand span{text-align:center;letter-spacing:.09em;text-transform:uppercase}.loading{padding:4rem;text-align:center}#game-root{max-width:1600px;margin:auto;padding:1.6rem 3% 3rem}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:clamp(2.2rem,3.8vw,4rem);line-height:1.08;letter-spacing:-.05em}.eyebrow{font-size:.75rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:600}.small{font-size:.875rem;color:var(--muted)}.welcome{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center;margin:2rem 0}.welcome-art{position:relative;background:#e8eae7;padding:1.5rem;border-radius:16px}.welcome-art img{display:block;width:100%;border-radius:3px}.welcome-copy h1 span{color:var(--purple)}.welcome-copy>p{max-width:29rem}.pill-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0}.pill{background:#e3ede8;border-radius:30px;padding:.4rem .75rem;font-size:.8rem;color:#3d6159}.form-box{padding:1.5rem;border:1px solid var(--line);border-radius:10px;background:white;margin-top:1.5rem}.form-box label,label.field{display:block;font-size:.875rem;font-weight:500;margin-bottom:.4rem}input,select{width:100%;border:1px solid #bacfc6;border-radius:6px;background:white;color:var(--ink);padding:.75rem .8rem;min-height:45px}input[type=checkbox]{width:20px;min-height:20px}input::placeholder{color:#75847e}.form-box .row{display:flex;gap:.7rem;margin:1rem 0 0}.form-box .row input{min-width:0}.form-box .row button{flex-shrink:0}.divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:var(--muted);font-size:.875rem}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}.primary-wide{width:100%;margin-top:1rem}.lobby{max-width:880px;margin:2rem auto}.lobby-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem}.room-code{font-family:Manrope,Arial,sans-serif;font-weight:800;letter-spacing:.1em;font-size:1.4rem}.room-banner{background:var(--purple);color:white;padding:1.2rem 1.5rem;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.5rem 0}.room-banner .small{color:#dbf1ec}.room-banner button{background:white;color:var(--purple)}.seats{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}.seat{background:white;border:1px solid var(--line);padding:1rem;border-radius:8px;display:flex;align-items:center;gap:.8rem;min-height:82px}.seat-name{flex:1}.seat-name strong,.seat-name span{display:block}.seat-name span{font-size:.8rem;color:var(--muted)}.avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--player-color);color:#172133;font-weight:700;border:2px solid #fff;box-shadow:0 0 0 1px #243b3a22}.avatar.dark{color:white}.seat.empty{border-style:dashed;background:transparent;color:var(--muted)}.lobby-actions{display:flex;justify-content:space-between;gap:1rem;margin:1.4rem 0}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.top-bar h1{font-size:1.5rem;margin:0;letter-spacing:-.025em;line-height:1.3}.top-bar .small{margin:0}.room-tools{display:flex;gap:.5rem;align-items:center}.room-tools .room-code{font-size:.875rem}.week-track{height:5px;background:#dce8e1;border-radius:10px;margin-bottom:1.3rem;overflow:hidden}.week-track span{display:block;height:100%;background:var(--purple)}.table-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1.4rem;align-items:start}.board-scroll{overflow:auto;border-radius:9px}.board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));grid-template-rows:repeat(10,minmax(0,1fr));aspect-ratio:1;gap:3px;background:#ccddd4;padding:4px;border-radius:9px;min-width:620px;max-width:980px;position:relative}.tile{background:#fff;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:6px 2px 14px;line-height:1.15;border-radius:2px;border:0;color:var(--ink);font-size:.75rem;text-align:center;font-weight:500;overflow:hidden;cursor:pointer}.tile:before{content:'';height:5px;width:100%;background:var(--stripe,#75b2ac);position:absolute;top:0;left:0}.tile.unit{--stripe:#a4cb66;background:#f4fae9}.tile.payment{--stripe:#d7bf56;background:#fcf8e7}.tile.moment{--stripe:#ce71ae;background:#fbecf6}.tile.go,.tile.university,.tile.insurance,.tile.transport{--stripe:#d9aa2f;background:#f9e6a8}.tile.token{background:#e3ede8;--stripe:#6d9185}.tile.active{box-shadow:inset 0 0 0 3px #236b68}.tile-icon{font-size:1.2rem;line-height:1;margin:3px 0}.tile-label{max-width:100%;overflow-wrap:anywhere;font-size:clamp(.75rem,1vw,.86rem)}.tokens{position:absolute;bottom:2px;display:flex;gap:1px;justify-content:center;flex-wrap:wrap}.pawn{width:14px;height:14px;line-height:12px;border-radius:50%;background:var(--player-color);border:1px solid #17213366;font-size:10px;color:#172133;font-weight:700}.center{grid-area:2 / 2 / 10 / 10;background:#edf3ef;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;text-align:center;position:relative;overflow:hidden}.center .eyebrow{margin-bottom:1.2rem}.center h2{font-size:clamp(1.7rem,3vw,3.2rem);line-height:1.1;letter-spacing:-.045em;margin-bottom:1.1rem}.center .term{font-size:.875rem;color:var(--muted);margin:0}.dice-row{display:flex;justify-content:center;gap:12px;margin:1.4rem 0}.die{font-size:2.3rem;font-weight:700;display:flex;justify-content:center;align-items:center;width:60px;height:60px;border:1px solid #ccd3eb;border-radius:11px;background:white;box-shadow:0 4px 0 #d5dbed;line-height:1}.turn-label{display:flex;gap:.7rem;align-items:center;justify-content:center;margin:1rem 0}.center .current-space{font-size:.9rem;color:var(--muted)}.center .last-card{background:white;border-left:4px solid var(--purple);padding:1rem;max-width:450px;text-align:left;margin-top:1rem}.last-card h3{font-size:1rem;margin:.25rem 0}.last-card p{font-size:.875rem;margin:0;color:var(--muted)}.panel{padding:1.2rem;background:white;border:1px solid var(--line);border-radius:9px;margin-bottom:1rem}.panel h2{font-size:1.1rem;margin-bottom:.8rem}.panel h3{font-size:1rem;margin-bottom:.5rem}.panel p{font-size:.9rem}.panel button{margin:.25rem 0}.panel .button-row{display:flex;flex-wrap:wrap;gap:.4rem}.action-stack{display:flex;flex-direction:column;gap:.45rem}.action-stack button{width:100%}.stats{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0}.stats span{font-size:.75rem;color:var(--muted);display:block}.stats strong{font-size:1.25rem}.player-row{border-top:1px solid var(--line);padding:.8rem 0;display:flex;gap:.65rem;align-items:start}.player-row:first-of-type{border-top:0}.player-row .who{flex:1;min-width:0}.who strong{font-size:.9rem;overflow-wrap:anywhere}.who small{display:block;font-size:.75rem;color:var(--muted)}.money{font-size:.9rem;font-weight:700;white-space:nowrap}.negative{color:#b63848}.scholar-tokens{display:flex;gap:4px;margin-top:5px}.scholar-token{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;background:#e8ebf2;color:#9398ac}.scholar-token.owned{background:#7860bc;color:white}.player-row.active{background:#f2f3fc;margin-left:-.5rem;margin-right:-.5rem;padding-left:.5rem;padding-right:.5rem;border-radius:5px}.log-list{list-style:none;margin:0;padding:0;max-height:290px;overflow:auto}.log-list li{font-size:.875rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.log-list small{font-size:.75rem;color:var(--muted);margin-right:.4rem}.ledger-button{background:none;padding:0;color:var(--purple);font-size:.75rem;text-decoration:underline;margin:0!important}.housing-form{margin-top:.9rem;border-top:1px solid var(--line);padding-top:.9rem}.housing-form label{font-size:.875rem;display:block;margin-bottom:.4rem}.housing-form select{margin-bottom:.7rem}.checkbox-row{display:flex!important;align-items:center;gap:.5rem}.status-label{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:var(--purple);font-weight:700}.notice{position:fixed;bottom:1.3rem;left:50%;transform:translateX(-50%);z-index:20;max-width:calc(100% - 2rem);width:max-content;background:#252c49;color:white;border-radius:8px;padding:.9rem 1.2rem;box-shadow:0 5px 20px #0003;font-size:.9rem}.notice.error{background:#7e2f3d}dialog{border:0;border-radius:12px;padding:1.7rem;max-width:760px;width:calc(100% - 2rem);max-height:85vh;overflow:auto;color:var(--ink);background:#fff}dialog::backdrop{background:#141a3699}.dialog-head{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:1rem;margin-bottom:1.4rem}.dialog-head h2{font-size:1.5rem;margin:0}dialog h3{font-size:1.1rem;margin:1.4rem 0 .5rem}dialog p,dialog li{font-size:1rem}dialog details{border-top:1px solid var(--line);padding:1rem 0}dialog summary{cursor:pointer;font-weight:600}dialog table{width:100%;border-collapse:collapse;font-size:.875rem}dialog th,dialog td{text-align:left;padding:.6rem;border-bottom:1px solid var(--line)}dialog img{width:100%}.card-catalog{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}.catalog-card{padding:1rem;background:#f2f3fa;border-radius:5px}.catalog-card strong{display:block;font-size:.9rem}.catalog-card p{font-size:.875rem;margin:.4rem 0 0}.results{max-width:800px;margin:2rem auto}.result-row{display:flex;align-items:center;gap:1rem;padding:1.1rem;background:white;border:1px solid var(--line);border-radius:8px;margin:.6rem 0}.result-row:first-child{border-color:var(--purple);background:#ececfb}.result-row .name{flex:1}.result-row .rank{font-size:1.4rem;font-weight:700}.results h1{color:var(--purple)}.reconnect{background:#fff0d4;color:#77551e;padding:.7rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.mobile-board-hint{display:none}.finish-note{margin-top:1.5rem}.no-margin{margin:0}@media(min-width:1400px){.table-layout{grid-template-columns:minmax(0,1fr) 360px}}@media(max-width:1080px){.table-layout{grid-template-columns:minmax(0,1fr) 290px;gap:1rem}.center{padding:1.1rem}.center h2{font-size:2rem}}@media(max-width:900px){.table-layout{grid-template-columns:1fr}.board{max-width:800px;margin:auto}.game-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.game-sidebar .panel{margin:0}.game-sidebar .actions{grid-row:span 2}.welcome{gap:2rem}.welcome h1{font-size:2.5rem}.game-header{padding:1rem 4%}.game-brand{font-size:.9rem}.center h2{font-size:2.4rem}}@media(max-width:620px){.game-header{gap:.7rem}.home{font-size:.85rem}.home span{display:none}.game-brand{font-size:.8rem;max-width:130px}.game-brand span{font-size:.65rem}.game-header button{padding:.5rem;font-size:.8rem}.welcome{grid-template-columns:1fr;margin:.8rem 0;gap:1.4rem}.welcome-art{order:2;max-width:430px}.welcome h1{font-size:2.7rem}.form-box{padding:1.2rem}.welcome-copy>p{font-size:1rem}.seats{grid-template-columns:1fr}.lobby-heading{display:block}.room-banner{padding:1rem}.room-code{font-size:1.1rem}.lobby-actions{flex-wrap:wrap}.lobby-actions button{flex:1}.top-bar{align-items:start}.top-bar h1{font-size:1.25rem}.room-tools{flex-wrap:wrap;justify-content:end;max-width:150px}.room-tools button{font-size:.8rem;padding:.5rem}.room-tools .room-code{width:100%;text-align:right}.table-layout{display:flex;flex-direction:column}.game-sidebar{display:flex;flex-direction:column;width:100%}.game-sidebar .actions{order:-1}.board-scroll{width:100%;order:1;max-height:480px}.board{min-width:650px}.mobile-board-hint{display:block;font-size:.875rem;color:var(--muted);margin:0 0 .5rem}.center h2{font-size:2rem}.center .last-card{display:none}.game-sidebar .log-panel{order:3}.card-catalog{grid-template-columns:1fr}dialog{padding:1.2rem}.top-bar .small{font-size:.8rem}.result-row{gap:.6rem}.result-row .money{font-size:1rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.original-card{display:block;width:100%;height:auto;aspect-ratio:117 / 163;max-width:360px;margin:0 auto 1rem}.card-art-button{display:block;width:100%;max-width:220px;padding:0;margin:0 auto 1rem;border:0;border-radius:0;background:transparent;cursor:zoom-in}.card-art-button .original-card{margin:0}.drawn-card{text-align:center}.drawn-card h2{font-size:1.1rem}.drawn-card p{font-size:1rem}.catalog-card .card-art-button{max-width:260px}
.board-scroll{overflow:visible;border-radius:0}

/* Raised decks use the supplied card backs. */
.deck-stack{position:absolute;left:var(--deck-x);top:var(--deck-y);width:11.8%;aspect-ratio:117/163;transform:translate(-50%,-50%) rotate(var(--deck-angle));transform-style:preserve-3d;pointer-events:none}
.deck-layer{position:absolute;inset:0;border:1px solid #fff;border-radius:3px;background:#f1eee6;transform:translateZ(calc(2px + var(--depth)*1.5px));box-shadow:1px 2px 1px #123f3b55;overflow:hidden}
.deck-layer:last-child{background:#20877f;box-shadow:2px 6px 9px #16493b55}
.deck-layer .original-card{width:100%;height:100%;margin:0}
.deck-stack.drawing .deck-layer:last-child{opacity:.35}
.board-scroll{display:grid;grid-template-columns:180px minmax(0,1fr);column-gap:1rem;align-items:start}
.board-scroll>.board-toolbar,.board-scroll>.dice-tray{grid-column:1/-1}
.board-scroll>.table-stage{grid-column:2;grid-row:2;max-width:100%}
.card-dock{width:100%;margin:0;grid-column:1;grid-row:2}
.card-dock:empty{display:none}
.card-dock .drawn-card{animation:none;padding:1rem}
.house-badge{display:block;width:fit-content;border-left:4px solid var(--house-color);border-radius:4px;background:color-mix(in srgb,var(--house-color),white 90%);padding:3px 6px;margin:0 0 5px;color:#243d3c;font-size:.72rem;font-weight:700}
.piece-house{position:absolute;right:-9px;top:-9px;border:1px solid white;border-radius:12px;padding:2px 4px;font-size:9px;color:white;line-height:1.3;white-space:nowrap}
.card-flight-dialog{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:transparent;overflow:hidden;color:var(--ink)}
.card-flight-dialog::backdrop{background:#122f3280;backdrop-filter:blur(3px)}
.card-flight-stage{position:absolute;left:50%;top:4%;width:min(280px,56vw,39dvh);margin-left:calc(min(280px,56vw,39dvh) / -2);perspective:1300px;transform-origin:50% 30%}
.flying-card{position:relative;width:100%;aspect-ratio:117/163;transform-style:preserve-3d}
.flight-back,.flight-front{position:absolute;inset:0;backface-visibility:hidden;border:3px solid #fff;border-radius:10px;overflow:hidden;background:#fff}
.flight-front{transform:rotateY(180deg)}
.flying-card .original-card{width:100%;height:100%;margin:0;max-width:none}
.flight-caption{position:relative;margin:18px -35px 0;background:#fff;border-radius:14px;padding:16px;text-align:center;opacity:0;transition:opacity .2s;box-shadow:0 10px 25px #142b2822}
.flight-caption.visible{opacity:1}
.flight-caption h2{font-size:1.15rem;margin:0 0 8px;letter-spacing:-.02em}
.flight-caption p{font-size:.9rem;margin-bottom:8px}.flight-caption .eyebrow{font-size:.7rem}.flight-caption button{padding:.5rem 1rem}
.table-stage{background:radial-gradient(ellipse at center,#d6dfda,#ecefec 70%)}
@media(max-width:620px){.board-scroll{display:block}.card-dock{max-width:240px;margin:1rem auto}.deck-layer{transform:translateZ(calc(1px + var(--depth)*.8px))}.piece-house{right:-6px;top:-5px;font-size:8px}.flight-caption{margin:12px -20px 0;padding:12px}}
.board-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem}.board-toolbar span,.dice-tray span{display:block;color:var(--muted);font-size:.875rem}.board-toolbar button{font-size:.875rem;padding:.5rem .7rem}
.table-stage{perspective:1500px;padding:1.5rem 1.5rem 2.5rem;background:radial-gradient(ellipse at center,#d6dfda,#ecefec 70%);border-radius:18px;overflow:visible}
.original-board{position:relative;width:100%;aspect-ratio:1;transform:rotateX(22deg);transform-style:preserve-3d;box-shadow:0 8px 0 #9bb6aa,0 12px 0 #6c8f80,0 32px 35px #173e3240;border-radius:4px;transition:transform .5s}
.flat-view .original-board{transform:rotateX(0deg)}.board-art{width:100%;height:100%;display:block;border-radius:4px}
.board-space{position:absolute;display:block;padding:0;border:2px solid transparent;border-radius:0;background:transparent;color:transparent;transform:translateZ(1px)}.board-space:hover:not(:disabled){background:#fff3;border-color:#fff9;filter:none}.board-space.selected-space{border-color:white;box-shadow:inset 0 0 12px #fff9}.board-space:focus-visible{outline:3px solid #fff;outline-offset:-4px}
.piece-anchor{position:absolute;width:38px;height:42px;margin-left:-19px;margin-top:-30px;padding:0;background:none;border:0;overflow:visible;transform-style:preserve-3d;z-index:3;filter:drop-shadow(4px 8px 3px #1119)}.piece-anchor:hover:not(:disabled){filter:drop-shadow(2px 2px 6px white)}.piece-anchor:disabled{opacity:1;cursor:default}.figure-model{position:relative;display:inline-block;width:100%;height:100%;transform-style:preserve-3d;transform:rotateX(-35deg);transition:transform .3s}.figure-layer{position:absolute;inset:0;width:100%;height:100%;transform:translateZ(calc(var(--layer)*1.2px));fill:color-mix(in srgb,var(--piece-color,#d5bd77),#173c32 45%);stroke:#25483e;stroke-width:1.3}.figure-layer:last-of-type{fill:var(--piece-color,#d5bd77);stroke:#fff9;stroke-width:1}.figure-base{position:absolute;bottom:0;left:10%;width:80%;height:18%;border-radius:50%;background:linear-gradient(#fff8,var(--piece-color,#d5bd77));box-shadow:0 3px 0 #30544a;transform:translateZ(2px)}.piece-name{position:absolute;left:50%;top:105%;transform:translateX(-50%);white-space:nowrap;font-size:10px;color:#fff;background:#254d43e8;border-radius:4px;padding:2px 5px;pointer-events:none}.active-piece .figure-base{box-shadow:0 0 0 3px white,0 0 12px 4px #fff9}.active-piece{z-index:5}
.figure-picker{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem;margin:1rem 0 1.8rem}.figure-picker button{background:#fff;color:var(--ink);border:1px solid var(--line);padding:1.2rem .5rem .7rem;perspective:500px}.figure-picker button>span{display:block;width:58px;height:62px;margin:0 auto 1rem}.figure-picker button:hover .figure-model{transform:rotateX(-25deg) rotateY(30deg)}.figure-picker button[aria-pressed=true]{border:2px solid var(--purple);background:#e3f0ed}.figure-picker strong,.figure-picker small{display:block}.figure-picker small{font-weight:400;margin-top:.3rem;font-size:.8rem}.figure-picker button:disabled{cursor:not-allowed;opacity:.35}
.dice-tray{display:flex;align-items:center;justify-content:center;gap:1.5rem;background:white;border:1px solid var(--line);border-radius:12px;padding:1rem;margin:1rem 0}.dice-pair{display:flex;gap:22px;padding:8px}.cube-wrap{width:42px;height:42px;perspective:500px}.dice-cube{width:42px;height:42px;position:relative;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .3s}.cube-face{position:absolute;width:42px;height:42px;background:linear-gradient(130deg,#fff,#e4eeea);border:1px solid #bdcfc6;border-radius:6px;backface-visibility:hidden;box-shadow:inset 0 0 4px #fff;display:grid;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:7px;gap:3px}.face-1{transform:translateZ(21px)}.face-2{transform:rotateY(90deg) translateZ(21px)}.face-3{transform:rotateX(90deg) translateZ(21px)}.face-4{transform:rotateX(-90deg) translateZ(21px)}.face-5{transform:rotateY(-90deg) translateZ(21px)}.face-6{transform:rotateY(180deg) translateZ(21px)}.pip{background:#2c5750;border-radius:50%;width:6px;height:6px;align-self:center;justify-self:center}.face-1 .pip{grid-area:2/2}.face-2 .pip-0,.face-3 .pip-0,.face-4 .pip-0,.face-5 .pip-0,.face-6 .pip-0{grid-area:1/1}.face-2 .pip-1,.face-3 .pip-2,.face-4 .pip-3,.face-5 .pip-4,.face-6 .pip-5{grid-area:3/3}.face-3 .pip-1,.face-5 .pip-2{grid-area:2/2}.face-4 .pip-1,.face-5 .pip-1,.face-6 .pip-1{grid-area:1/3}.face-4 .pip-2,.face-5 .pip-3,.face-6 .pip-4{grid-area:3/1}.face-6 .pip-2{grid-area:2/1}.face-6 .pip-3{grid-area:2/3}
.drawn-card{animation:cardReveal .45s ease-out}.drawn-card .card-art-button{max-width:170px;margin:.25rem auto 1rem}.table-layout{grid-template-columns:minmax(0,1fr) 310px}.game-sidebar .drawn-card{order:0}@keyframes cardReveal{from{opacity:0;transform:rotateY(80deg) translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.table-layout{grid-template-columns:1fr}.game-sidebar{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table-stage{max-width:850px;margin:auto}.board-scroll{width:100%}}@media(max-width:620px){.table-layout{display:flex}.board-scroll{order:0;max-height:none;overflow:visible}.table-stage{padding:.5rem .1rem 1rem}.original-board{transform:rotateX(14deg)}.board-toolbar{align-items:flex-start;font-size:.85rem}.board-toolbar button{font-size:.8rem;padding:.4rem}.piece-anchor{width:26px;height:30px;margin-left:-13px;margin-top:-23px}.piece-name{display:none}.dice-tray{gap:.7rem;padding:.8rem .4rem;flex-wrap:wrap}.dice-tray>div:nth-child(2){font-size:.875rem}.figure-picker{grid-template-columns:repeat(3,1fr)}.game-sidebar{display:flex}.game-sidebar .actions{order:0}.game-sidebar .drawn-card{order:-1}.mobile-board-hint{font-size:.8rem}.board-art{min-width:0}}
@media(prefers-reduced-motion:reduce){.original-board,.figure-model,.dice-cube{transition:none}.drawn-card{animation:none}}

.table-stage{width:min(100%,max(320px,calc(100vh - 370px)));margin:0 auto}.dice-tray{margin-top:.4rem}@media(max-width:620px){.table-stage{width:100%}}
.dice-tray .cube-face{display:grid}.dice-tray .pip{display:block}

.board-fullsize{display:inline-block;font-size:.875rem;margin-right:.7rem;text-underline-offset:3px}.board-toolbar>div:last-child{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.3rem}
.dice-tray{flex-wrap:wrap}.dice-tray:after{content:'Grab the dice, drag onto the board, then release. Faster throws bounce further.';display:block;flex-basis:100%;text-align:center;font-size:.875rem;color:var(--muted)}.dice-tray .dice-pair{cursor:grab;touch-action:none;user-select:none}.dice-tray .dice-held{opacity:.25;cursor:grabbing}.throw-dice{position:fixed;z-index:1000;display:flex;gap:22px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(0 15px 9px #202b2944)}.throw-dice .cube-face{display:grid}.throw-dice .pip{display:block}.aiming-dice,.aiming-dice *{cursor:grabbing!important}.aiming-dice .original-board{outline:3px dashed #4c675b;outline-offset:8px}

.dice-tray .dice-pair{border-radius:14px;padding:14px 16px;transition:transform .18s,background .18s,box-shadow .18s}.dice-tray .dice-pair:hover{transform:translateY(-5px) rotate(-3deg);background:#e0efea;box-shadow:0 10px 15px #174e3922}.dice-tray .dice-held{opacity:.18;transform:none}.throw-strength{position:absolute;top:65px;left:50%;transform:translateX(-50%);white-space:nowrap;background:#205b50;color:white;border-radius:15px;font:12px Arial,sans-serif;padding:6px 10px}.physical-die{position:fixed;left:0;top:0;width:42px;height:42px;z-index:1000;pointer-events:none;filter:drop-shadow(3px 7px 4px #173e3955)}.physical-die .cube-face{display:grid}.physical-die .pip{display:block}.actions button[data-do="roll"]{background:#e3f0ed;color:#215e5c;font-size:.78rem;padding:.5rem}.dice-tray>button[data-do="roll"]{background:transparent;color:#215e5c;border:1px solid #bacfc6;font-size:.75rem;padding:.4rem .6rem}@media(prefers-reduced-motion:reduce){.dice-tray .dice-pair:hover{transform:none}}
