@font-face{font-family:Nunito;src:url('/reference/Nunito_wght_.ttf');font-weight:200 1000;font-display:swap;size-adjust:99.5%;ascent-override:86%;descent-override:26%;line-gap-override:0%}
@font-face{font-family:'Yanone Kaffeesatz';src:url('/reference/YanoneKaffeesatz-Regular.ttf');font-weight:400;font-display:swap;ascent-override:86%}
@font-face{font-family:'Yanone Kaffeesatz';src:url('/reference/YanoneKaffeesatz-Bold.ttf');font-weight:700;font-display:swap;ascent-override:86%}
:root{--paper:#130f1d;--surface:#211a30;--ink:#fff;--muted:#a698c8;--line:#ffffff12;--green:#a991f4;--accent:#6647e0;--wash:#29203f;--danger:#f18f9c;color-scheme:dark}
*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:#130f1d linear-gradient(to bottom right,#130f1d,#1a0f1d) fixed;color:var(--ink);font-family:Nunito,'Segoe UI',sans-serif;font-size:16px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none;color:inherit;cursor:pointer}button,a{touch-action:manipulation}button{transition:background .2s,color .2s,opacity .2s,transform .2s}button:active:not(:disabled){scale:.98}button:disabled{cursor:default;opacity:.45;filter:grayscale(.5)}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid #b8a2ff;outline-offset:4px}h1,h2,h3,p{margin:0}h2{font-size:1.25rem;font-weight:700}p{line-height:1.6}input,select{width:100%;min-width:0;border:1px solid transparent;background:#2d2444;border-radius:.5em;padding:.875em 1em;color:#fff;outline:none}input::placeholder{color:#a49aaf}input:focus,select:focus{border-color:#9976e6;box-shadow:0 0 0 2px #9976e620}input[type=checkbox]{width:1rem;height:1rem;accent-color:#8c47e0}label{display:block;font-size:.875rem;margin-bottom:.5em}.ph{font-size:1.25em;vertical-align:middle;line-height:1}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.muted{color:var(--muted)}.label{font-size:.7rem;font-weight:700;color:var(--muted);letter-spacing:.06em}.full{width:100%}.button-row{display:flex;gap:.5rem}.button-row>*{flex:1;min-width:0}
.site-header{height:88px;position:absolute;top:0;left:0;right:0;z-index:3;padding:1.5rem 2.5rem;display:flex;align-items:center;gap:1.5rem;color:#a49ab7}.sound-button{width:2rem;height:2rem;padding:0;display:grid;place-items:center}.sound-button .ph{font-size:1.5rem}.site-header .brand{display:none}.brand img{display:block;width:145px;height:auto}.header-right{margin-left:auto;display:flex;align-items:center;gap:1.75rem}.connection{font-size:.7rem;display:flex;gap:.4rem;align-items:center}.status-dot{display:inline-block;width:6px;height:6px;background:#93c99e;border-radius:50%}.wallet{display:flex;gap:.5rem;align-items:center}.wallet>.ph{color:#b7a9dc}.wallet-caption{font-size:.55rem;letter-spacing:.08em;display:block}.wallet strong{font-size:.95rem;font-weight:700;color:#d3c8ee;font-variant-numeric:tabular-nums}.wallet strong span{display:none}.nav-link{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:.5rem}.nav-link:hover,.sound-button:hover{color:#fff}.avatar{width:2rem;height:2rem;background:#332747;color:#c8bae4;border-radius:50%;font-size:.875rem;font-weight:700}.avatar:hover{background:#584175}.in-room .site-header,.rooms-view .site-header{position:relative;height:72px;padding:1rem 1.5rem}.in-room .site-header .brand,.rooms-view .site-header .brand{display:block}.in-room .sound-button,.rooms-view .sound-button{order:2}.in-room .header-right,.rooms-view .header-right{order:3}.in-room .header-right{gap:1.25rem}.in-room .site-footer{margin-top:1rem}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;background:#6647e0 linear-gradient(to top left,#6647e0,#8c47e0);border:0;border-radius:.25em;padding:.75em 1em;color:white;line-height:1.2;font-size:.9rem;position:relative;overflow:hidden;transition:.2s;min-height:2.5rem}.btn:before{content:'';position:absolute;inset:0;background:white;opacity:0;transition:.15s;pointer-events:none}.btn:hover:not(:disabled):before{opacity:.1}.btn.secondary{background:#4e2f86 linear-gradient(to top left,#4e2f86,#642f86);color:#edeaf3}.btn.locked{background:#326752 linear-gradient(to top left,#326752,#417b66)}.btn.danger-btn{background:#a23e59}.text-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4em;font-size:.8rem;color:#b7a3dc;padding:.4em 0}.text-btn:hover{color:white}
.lobby-hero{min-height:100dvh;padding:10vh 1rem;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;isolation:isolate;box-shadow:0 2.5em 1.5em -3em #000}.lobby-hero:before{content:'';position:absolute;inset:0;background:url('/reference/lobby-art.png') center bottom/60vw auto no-repeat;pointer-events:none;z-index:-1}.lobby-brand{display:flex;flex-direction:column;align-items:center;margin-bottom:10vh}.hero-die{padding:0;border:0;background:none;margin:0 0 .75rem;display:block}.hero-die .z8cEagq4:before{opacity:0}.lobby-brand h1{line-height:1;font-size:2em;margin-top:.75em;font-weight:800}.lobby-brand h1 img{display:block;max-width:85vw;height:clamp(2em,8vh,4em);width:auto}.lobby-brand>p{color:#a698c8;font-weight:400;font-size:clamp(1em,3.5vh,1.5em);margin-top:clamp(.25em,2vh,.75em)}.lobby-actions{display:flex;flex-direction:column;align-items:center}.lobby-actions #play-form{width:231px;display:flex;flex-direction:column;gap:1rem}.lobby-actions input{font-size:1rem;height:46px}.play-button{font-size:2rem;font-weight:700;padding:.65em 1em;gap:.5em;min-height:80px;box-shadow:0 .5em 1em #130f1d}.play-button>.ph{font-size:1.1em}.lobby-buttons{margin-top:4vh;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}.lobby-buttons .btn{font-size:.95rem;min-height:40px}.lobby-credit-note{font-size:.72rem;color:#a698c8;margin-top:1rem}.how-to{max-width:1050px;margin:0 auto;padding:4rem 2rem 5rem}.how-to>h2{color:#a698c8;font-size:1.5rem;margin-bottom:2rem}.how-row{display:flex;align-items:center;justify-content:space-between;gap:3rem;margin:2rem 0}.how-row>div{max-width:620px}.how-row>img{width:300px;max-width:32%;object-fit:contain}.how-row p{font-size:1.15rem;margin:1.5rem 0}.how-row p>.ph{font-size:1.6em;margin-right:.6em}.how-row small{display:block;color:var(--muted);font-size:.9rem;margin:.35rem 0 0 3rem}.how-row h3{font-size:1.45rem;font-weight:600;line-height:1.6}.how-to hr{border:0;height:1px;background:#a698c840;width:12rem;margin:3rem 0}.how-to>h3{font-size:1.35rem;margin-bottom:.75rem}.how-to>p{color:var(--muted);max-width:600px;margin-bottom:1rem}.site-footer{padding:2rem 1rem;display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;color:#91869f;background:#130f1d99;font-size:.875rem;text-align:center}.site-footer button{padding:0;color:inherit;font-weight:600}.site-footer button:hover{color:white}.site-footer small{flex-basis:100%;font-size:.8rem;margin-top:-.75rem}
.rooms-page{max-width:1050px;margin:2rem auto;padding:0 2rem 5rem}.rooms-heading{display:flex;align-items:center;gap:1rem}.rooms-heading h1{font-size:1.75rem;margin-right:auto}.lobby-rooms{margin:2rem 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.section-heading h2{font-size:1.25rem}.section-heading>span{color:var(--muted);font-size:.8rem}.section-heading h2>span{display:none}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.public-room{background:#29203f;padding:1.25rem;border-radius:.5rem}.room-card-top,.room-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem}.room-card-top{margin-bottom:.75rem}.table-visual{font-size:1.5rem;color:#b9a0f0}.room-card-bottom{margin-top:1rem}.room-card-bottom>div>span{display:block;font-size:.75rem;color:var(--muted)}.room-card-bottom strong{font-size:1.4rem}.room-card-bottom small{font-size:.7rem;font-weight:400;color:var(--muted)}.empty-rooms{padding:2rem;background:#211a30;border-radius:.5rem;display:flex;align-items:center;gap:1.25rem}.empty-room-icon{font-size:2rem;color:#a698c8}.empty-rooms h3{font-size:1rem}.empty-rooms p{color:var(--muted);font-size:.875rem;margin-top:.5rem}.outline-tag{display:none}.join-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.join-form label{flex-basis:100%;margin:0;color:var(--muted)}.join-form input{width:200px;text-transform:uppercase}.join-divider{text-align:center;color:var(--muted);font-size:.8rem;margin:1.5rem 0 .75rem}
.game-layout{display:grid;grid-template-columns:220px minmax(0,916px) 275px;gap:1rem;max-width:1480px;margin:1rem auto 2rem;padding:0 1rem;align-items:start}.board-section{min-width:0}.board-wrap{container-type:inline-size;position:relative}.board{width:100%;aspect-ratio:1;display:grid;grid-template-columns:1.53fr repeat(9,1fr) 1.53fr;grid-template-rows:1.53fr repeat(9,1fr) 1.53fr;gap:.25em;position:relative;font-size:1.75cqw}.tile{background:#262a4c linear-gradient(to bottom right,#262a4c,#2f264c);border-radius:.5em;position:relative;display:flex;flex-direction:column;align-items:stretch;min-width:0;min-height:0;padding:0;overflow:hidden;line-height:1}.tile:before{content:'';position:absolute;inset:0;border-radius:inherit;background:#fff;opacity:0;pointer-events:none}.tile:hover:before{opacity:.075}.tile:focus-visible{outline-offset:-2px}.tile-selected{box-shadow:inset 0 0 0 2px #ad92f5}.tile-inner{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:.4em;min-width:0;min-height:0;padding:.4em .125em}.country-flag{width:1.6em;height:1.6em;object-fit:cover;border-radius:100%;flex-shrink:0;box-shadow:0 0 .35em #0003}.tile-name{font-family:'Yanone Kaffeesatz','Segoe UI',sans-serif;font-size:1.125em;font-weight:400;text-align:center;line-height:1.1;overflow-wrap:anywhere;max-width:100%}.tile-price{color:#d3cfe2;opacity:.75;font-size:.78em;line-height:1;white-space:nowrap}.color-band{min-height:.4em;flex-shrink:0;background:var(--group);display:flex;align-items:center;justify-content:center;gap:.05em;color:#fff}.color-band .ph{font-size:.7em}.side-top{flex-direction:column-reverse}.side-top .tile-inner{flex-direction:column-reverse}.side-right .tile-inner,.side-left .tile-inner{position:absolute;width:calc(100% * 1.53);height:calc(100% / 1.53);left:50%;top:50%;transform:translate(-50%,-50%) rotate(-90deg);padding:.2em}.side-left .tile-inner{transform:translate(-50%,-50%) rotate(90deg)}.side-right .color-band,.side-left .color-band{position:absolute;width:.4em;top:0;bottom:0;right:0}.side-left .color-band{right:auto;left:0}.side-right .country-flag,.side-left .country-flag{width:1.3em;height:1.3em}.special .tile-inner>.ph{font-size:2em;color:#d2b7ef}.type-chance .tile-inner>.ph{font-size:2.5em;color:#f58ab1;text-shadow:0 0 .6em #ed78a04d}.type-community .tile-inner>.ph{color:#f6bc52;text-shadow:0 0 .5em #e8ab444d}.type-station .tile-inner>.ph{color:#bedde4}.type-utility .tile-inner>.ph{color:#f6da42}.type-tax .tile-inner>.ph{color:#d4a1bc}.corner .tile-inner{position:static;transform:none;width:auto;height:auto;padding:.6em}.corner .tile-inner>.ph{font-size:2.6em}.corner .tile-name{font:700 .875em Nunito,sans-serif}.corner .tile-price{font-size:.55em}.type-go{background:#2d6154 radial-gradient(transparent 30%,#0003)}.type-go .tile-name{font-weight:900;font-style:italic;font-size:1.6em;color:#e8f1ad;order:-1}.type-go .tile-inner>.ph{color:#ecf0bf}.type-jail{background:#566773 linear-gradient(135deg,#536f7c,#41485b)}.type-parking{background:#26384b}.type-parking .tile-inner>.ph{color:#b5d7ae}.type-gojail{background:#47344b}.type-gojail .tile-inner>.ph{color:#dba2bb}.mortgaged{opacity:.5}.ownership{position:absolute;inset:0;border:2px solid var(--owner);border-radius:inherit;pointer-events:none}.board-center{grid-column:2 / 11;grid-row:2 / 11;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2em 1em 3em;min-width:0;min-height:0}.board-logo{width:40%;height:auto;margin-bottom:2em;opacity:.85}.center-lobby{display:flex;flex-direction:column;align-items:center;gap:1em}.center-lobby h2{font-size:1.5em}.center-lobby>p{font-size:1em;color:#a698c8;line-height:1.6}.board .btn{font-size:1em;min-height:0}.center-dice{display:flex;align-items:center;justify-content:center;gap:1em;min-height:9rem;margin:.25em 0}.board .center-dice{transform:scale(.75);margin:-.75rem 0}.board-tools{position:absolute;bottom:.7em;display:flex;gap:.75em;color:#a698c8}.board-tools button{border-radius:50%;height:2em;width:2em;display:grid;place-items:center;background:#29203f;font-size:1em;padding:0}.board-tools button:hover{color:#fff;background:#4b376c}.board-pawns{position:absolute;inset:0;pointer-events:none}.pawn{position:absolute;display:flex;align-items:center;justify-content:center;width:2em;height:2em;font-size:1em;color:var(--player);background:#211a30;border:.15em solid var(--player);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 .2em .5em #0006;z-index:2}.pawn>.ph{font-size:1.2em}.active-pawn{box-shadow:0 0 0 .22em color-mix(in srgb,var(--player) 20%,transparent),0 .2em .6em #0006}.center-game{width:100%;max-width:85%;display:flex;flex-direction:column;align-items:center;gap:.5em}.turn-label{font-size:1.4em;font-weight:700}.center-game>p{font-size:1em;color:#a698c8;max-width:26em}.center-game .action-area{width:100%;max-width:24em;margin:.5em auto 0}.turn-timer{font-size:.75em;background:#29203f;border-radius:.25em;padding:.35em .65em;color:#c8b3ed;font-variant-numeric:tabular-nums}.center-winner>.ph{font-size:4em;color:#edbc59}.center-winner h3{font-size:2em;margin:.75em 0}.center-winner p{color:#b9a3dc;font-size:1em}
.roster-panel{min-width:0;padding:.5rem 0}.players-heading{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem}.players-heading h2{font-size:1.1rem}.players-heading h2 span{font-size:.8rem;color:var(--muted);font-weight:400;margin-left:.4em}.player-list{display:flex;flex-direction:column;gap:.5rem}.player-row{display:flex;align-items:center;gap:.6rem;padding:.75rem .6rem;border-radius:.5rem;min-width:0;flex-wrap:wrap}.player-avatar{display:inline-flex;width:2.25rem;height:2.25rem;border-radius:50%;align-items:center;justify-content:center;flex-shrink:0;color:var(--player);background:color-mix(in srgb,var(--player) 20%,#29203f);border:2px solid color-mix(in srgb,var(--player) 50%,transparent);font-size:1rem;font-weight:800}.player-avatar.large{width:4rem;height:4rem;font-size:2rem}.player-identity{flex:1;min-width:0}.player-identity strong{display:block;font-weight:700;font-size:.9rem;overflow-wrap:anywhere}.player-identity>span{display:block;font-size:.65rem;color:var(--muted);margin-top:.15rem}.you-tag{font-size:.5rem;color:#a698c8;font-weight:400;margin-left:.25rem}.player-amount{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:.2rem}.player-amount strong{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums}.player-amount>span{font-size:.6rem;color:#a698c8}.player-amount .locked-label{color:#92d3af}.locked-label>.ph{font-size:1rem}.current-player{background:#29203f;box-shadow:0 .75rem 2rem #0000002e}.out-player{opacity:.4}.empty-seat{display:flex;align-items:center;gap:.8rem;padding:.75rem .6rem;color:#8d7da8;font-size:.8rem;text-align:left}.empty-seat>span:first-child{width:2.25rem;height:2.25rem;border:1px dashed #665279;border-radius:50%;display:grid;place-items:center}.empty-seat:hover{color:#d8c3f4;background:#211a3080;border-radius:.5rem}.empty-seat small{display:none}.table-code{display:flex;align-items:center;gap:.6rem;background:#29203f;border-radius:.3rem;padding:.6em .8em;color:#c8b2e7;font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.roster-panel>.table-code{margin:1.25rem .5rem .75rem}.roster-help{font-size:.75rem;line-height:1.6;color:#9c8ab5;padding:0 .6rem}.roster-actions{display:flex;flex-direction:column;gap:.5rem;margin:1rem .5rem}.right-pane{display:flex;flex-direction:column;gap:1rem;min-width:0}.table-panel{background:#211a30;border-radius:.5rem;padding:1.1rem;min-width:0}.panel-topline{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;color:#b9a7d4}.panel-topline h2{font-size:1rem;color:#d9d0e8}.panel-topline>.ph{font-size:1.15rem}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.8rem 0;border-block:1px solid var(--line);font-size:.8rem;color:#bfb0d5}.setting-row>span:first-child{display:flex;align-items:center;gap:.5rem}.setting-toggle{width:2rem;height:1.1rem;background:#3b3150;border-radius:1rem;position:relative}.setting-toggle:before{content:'';position:absolute;left:3px;top:3px;width:.725rem;height:.725rem;border-radius:50%;background:#aaa0b8}.setting-toggle.on{background:#6647e0}.setting-toggle.on:before{left:auto;right:3px;background:white}.field-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:1rem}.field-heading label{font-size:.8rem;margin:0}.demo-tag{font-size:.55rem;font-weight:700;padding:.3em .5em;background:#38294c;border-radius:.2em;color:#bba4d9;white-space:nowrap}.wager-number{display:flex;align-items:center;gap:.5rem;margin:.9rem 0 .75rem}.credit-symbol{color:#c7a5f2}.credit-symbol>.ph{font-size:1.5rem}.wager-number strong{font-size:2.15rem;line-height:1.1;font-weight:700;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.wager-number>span:last-child{font-size:.6rem;color:#a698c8;margin-left:auto;align-self:flex-end;padding-bottom:.25rem}.wager-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.step-pair{display:flex;flex-direction:column;gap:.2rem}.step-btn{font-size:.75rem;font-weight:700;background:#39294f;border-radius:.25rem;padding:.7rem 0;color:#decaf8}.step-btn:hover:not(:disabled){background:#5a3c7a}.step-minus{font-size:.65rem;color:#ac96c3;padding:.4rem 0}.step-minus:hover:not(:disabled){color:white;background:#39294f;border-radius:.25rem}.wager-limits{display:flex;justify-content:space-between;gap:.25rem;font-size:.5rem;color:#9985b3;margin-top:.3rem}.wager-limits button{font-size:.6rem;padding:0}.pot-summary{display:flex;justify-content:space-between;gap:.5rem;margin:1.2rem 0;padding-top:1rem;border-top:1px solid var(--line);font-size:.75rem;color:#bcacd0}.pot-summary small{display:block;font-size:.6rem;color:#9683ad;margin-top:.3rem}.pot-summary strong{font-size:1rem;text-align:right;color:#dac5f4}.pot-summary strong small{font-weight:400}.room-panel>.btn+.btn{margin-top:.5rem}.escrow-note{font-size:.65rem;text-align:center;color:#9b87b4;margin-top:.8rem;line-height:1.5}.leave-btn{display:block;font-size:.7rem;text-align:center;color:#a18bb9;margin:.9rem auto 0;padding:.3rem}.leave-btn:hover{color:#ebacc8}.waiting-note{font-size:.75rem;color:#a698c8;text-align:center;margin:.8rem 0}.pot-display{text-align:center;padding:.5rem 0 1rem}.pot-display>span{display:block;font-size:.6rem;color:#ac96c3;font-weight:700;letter-spacing:.08em}.pot-display>strong{display:block;font-size:2rem;font-weight:800;color:#d2b3f5;letter-spacing:-.04em;margin:.5rem 0}.pot-display>strong>.ph{font-size:.7em;color:#edbf6a}.pot-display>small{color:#a18bb9;font-size:.65rem}.room-facts{border-top:1px solid var(--line);padding-top:.75rem;font-size:.75rem;color:#ac96c3;display:flex;flex-direction:column;gap:.5rem}.room-facts>span{display:flex;justify-content:space-between}.room-facts strong{color:#d4c2e7;font-weight:600}.your-turn-heading{display:flex;justify-content:space-between;align-items:center;gap:.5em;margin-bottom:.7em}.board .your-turn-heading .label{font-size:.6em}.board .your-turn-heading .turn-timer{font-size:.75em}.board .action-area .full{width:100%}.board .action-area .btn{font-size:1.125em;padding:.75em 1em}.board .action-area .btn+.btn{margin-top:.5em}.manage-row{display:flex;justify-content:center;gap:1em;margin-top:.7em}.board .text-btn{font-size:.75em}.waiting-turn{display:flex;align-items:center;justify-content:center;gap:.7em}.waiting-turn h3{font-size:1.1em}.waiting-turn p{display:none}.waiting-turn .player-avatar{width:2em;height:2em;font-size:1em}.waiting-turn .turn-timer{font-size:.75em}.buy-callout{display:flex;gap:.7em;align-items:center;text-align:left;margin:.5em 0 1em;background:#29203f;border-radius:.5em;padding:.75em}.buy-callout>span{width:.35em;align-self:stretch;border-radius:.2em}.buy-callout>div{flex:1;min-width:0}.buy-callout strong{font-size:1em}.buy-callout small{display:block;font-size:.75em;color:#a698c8;margin-top:.2em}.buy-callout>strong{margin-left:auto}.action-area>p{font-size:.9em;color:#a698c8;margin:.5em 0}.debt-title{font-size:1.2em;color:#f0acc0}.danger{color:var(--danger)}.spectating>h3{font-size:1.2em}.spectating>p{font-size:.85em}.trade-request{text-align:left}.trade-request>h3{font-size:1.1em;margin:.5em 0}.trade-request p,.trade-request small{font-size:.8em;color:#b9a5d2}.trade-request .button-row{margin-top:1em}
.game-details{background:#211a30;border-radius:.5rem;overflow:hidden;min-width:0}.detail-tabs{display:flex;align-items:stretch;border-bottom:1px solid var(--line);padding:0 .65rem;gap:.6rem}.detail-tabs>button{position:relative;display:flex;align-items:center;gap:.25rem;flex:1;justify-content:center;padding:.9rem 0;font-size:.65rem;color:#a698c8;white-space:nowrap}.detail-tabs>button .ph{font-size:1rem}.detail-tabs>button.active{color:#e0c9fb}.detail-tabs>button.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#a583e8}.detail-tabs>button>span{background:#39294f;padding:.1em .3em;border-radius:.2em;font-size:.6rem}.detail-content{padding:.9rem}.activity-log{max-height:350px;overflow:auto;scrollbar-width:thin;scrollbar-color:#58436c transparent}.log-entry{display:flex;align-items:flex-start;gap:.5rem;font-size:.7rem;line-height:1.5;padding:.5rem 0;color:#c0acd6}.log-icon{color:#8c76a5;flex-shrink:0}.log-entry time{display:none}.log-entry.money{color:#a9c6ab}.log-entry.win{color:#e4c48d}.log-entry.danger{color:#e8a5bd}.chat-log{height:240px;overflow:auto;scrollbar-width:thin;scrollbar-color:#58436c transparent}.chat-message{font-size:.75rem;margin:0 0 .8rem}.chat-message strong{font-size:.7rem}.chat-message p{overflow-wrap:anywhere;color:#c8b4de;line-height:1.5;margin:.15rem 0}.chat-empty{font-size:.75rem;color:#8e799f;text-align:center;padding:2rem .5rem}#chat-form{display:flex;gap:.4rem;margin-top:.75rem}#chat-form input{font-size:.75rem;padding:.75em;min-width:0}#chat-form button{font-size:.8rem;min-height:0;padding:.7em}.portfolio-grid{display:flex;flex-direction:column;gap:.4rem}.portfolio-property{display:flex;align-items:center;gap:.5rem;background:#2b223c;border-radius:.3rem;padding:.75rem;text-align:left}.portfolio-property>span{width:4px;height:2rem;flex-shrink:0;border-radius:2px}.portfolio-property>div{flex:1;min-width:0}.portfolio-property strong{font-size:.75rem}.portfolio-property small{display:block;color:var(--muted);font-size:.65rem;margin-top:.3rem}.portfolio-property>.ph{font-size:.9rem;color:var(--muted)}.no-properties{text-align:center;color:#9c85b3;padding:1.5rem .25rem}.no-properties>.ph{font-size:1.75rem}.no-properties h3{font-size:.85rem;margin:.75rem 0}.no-properties p{font-size:.7rem}
dialog{border:0;border-radius:.5rem;background:#211a30;color:white;padding:0;width:min(470px,calc(100% - 32px));max-height:calc(100dvh - 48px);box-shadow:0 1rem 4rem #0008;overflow:auto}dialog::backdrop{background:#090611b3;backdrop-filter:blur(3px)}#dialog-content{position:relative}.dialog-close{position:absolute;right:.75rem;top:.75rem;width:2rem;height:2rem;display:grid;place-items:center;background:#332447cc;border-radius:50%;color:#dac7ef;z-index:2}.dialog-close:hover{background:#62427d}.dialog-close .ph{font-size:1rem}.deed-band{min-height:90px;padding:1.5rem 3.5rem 1.5rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;color:#172019}.deed-band>.ph{font-size:2.5rem}.deed-band>span{font-size:.75rem;font-weight:800}.deed-content,.rules-content,.trade-content,.profile-content,.confirm-content{padding:2rem}.deed-content h2{font-size:2rem;margin:.6rem 0 1rem;font-weight:700}.deed-price{font-size:1.6rem;font-weight:700;display:flex;align-items:center;gap:1rem}.deed-price>span{font-size:.75rem;color:var(--muted);font-weight:400}.deed-owner{display:flex;align-items:center;gap:.75rem;background:#2d2340;padding:.75rem;border-radius:.5rem;margin:1.25rem 0;font-size:.8rem}.deed-owner>.ph{color:#b69ad4;font-size:1.5rem}.deed-owner .player-avatar{width:1.75rem;height:1.75rem;font-size:.8rem}.rent-table>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:.8rem;padding:.65rem 0;border-bottom:1px solid var(--line)}.rent-table strong{font-weight:700}.deed-costs{display:flex;justify-content:space-between;gap:1rem;margin:1.5rem 0 0}.deed-costs>span{font-size:.7rem;color:var(--muted)}.deed-costs strong{display:block;font-size:1rem;color:#e4cfff;margin-top:.4rem}.deed-actions{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.25rem}.deed-actions>p{font-size:.8rem;color:var(--muted);margin-bottom:1rem}.deed-actions .full{margin-top:.75rem}.space-rule,.utility-rules{font-size:.9rem;color:#bda8d4;line-height:1.8}.rules-content h2,.trade-content h2,.profile-content h2,.confirm-content h2{font-size:1.8rem;margin:.75rem 0 1.5rem;line-height:1.2}.rules-item{display:flex;gap:1rem;margin:1.5rem 0}.rules-item>span{color:#a585cb;font-size:.9rem}.rules-item h3,.rules-small h3{font-size:1rem;margin-bottom:.5rem}.rules-item p,.rules-small p{font-size:.8rem;color:#b7a2ce;line-height:1.8}.rules-small p{margin:.75rem 0}.rules-content>.btn{margin-top:1rem}.profile-content input{margin-bottom:1rem}.profile-content>p,.confirm-content>p{font-size:.85rem;color:#b7a2ce;margin:1rem 0}.confirm-content>.ph{font-size:2.5rem;color:#d29ab5}.confirm-content .button-row{margin-top:1.5rem}.trade-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.25rem 0}.trade-columns h3{font-size:.85rem;margin-bottom:.75rem}.trade-title{display:flex;align-items:center;gap:.4rem;font-size:.75rem;margin:.5rem 0}.trade-title>span{width:4px;height:1.25rem;border-radius:2px}.trade-title input{flex-shrink:0}.input-help{color:var(--muted);font-size:.7rem;margin:.5rem 0 1rem}.create-panel{background:transparent;padding:2rem}.create-panel .panel-topline{display:none}.create-panel h2{font-size:1.75rem;padding-right:1rem}.panel-intro{color:var(--muted);font-size:.8rem;margin:.75rem 0 1.25rem}.input-icon{position:relative}.input-icon>.ph{position:absolute;left:1rem;top:1rem;color:#9d84b8}.input-icon input{padding-left:2.5rem}.seat-picker{display:flex;gap:.5rem;margin:.75rem 0 1rem}.seat-picker button{flex:1;background:#322442;border-radius:.25rem;padding:.65rem}.seat-picker button.chosen{background:#6647e0}.checkbox-row{display:flex;align-items:center;gap:.5rem;margin:1rem 0;color:#c8b4de}.checkbox-row>.ph{margin-left:auto}.seats-heading>span{font-size:.7rem;color:var(--muted)}.create-panel .join-form input{flex:1}.finish-panel{text-align:center}.finish-trophy{font-size:3rem;color:#e9bc67;margin:.5rem 0 1rem}.finish-panel h2{font-size:1.8rem;line-height:1.2;margin:1rem 0}.finish-panel>.player-avatar{margin:.5rem 0}.winning-amount{font-size:2.5rem;font-weight:800;color:#d1b1f3;margin:1rem 0}.winning-amount>span{display:block;font-size:.7rem;color:var(--muted);font-weight:400}.finish-receipt{display:flex;flex-direction:column;gap:.75rem;text-align:left;margin:1rem 0;padding:1rem 0;border-block:1px solid var(--line)}.finish-receipt>span{display:flex;justify-content:space-between;gap:.5rem;font-size:.7rem;color:var(--muted)}.finish-receipt strong{color:#d6bde9}.finish-panel>p{font-size:.75rem;color:var(--muted);margin:1rem 0}
#toast{position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%,12px);background:#493263;color:#fff;padding:.9rem 1.25rem;border-radius:.5rem;box-shadow:0 .5rem 2rem #0005;font-size:.85rem;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;max-width:min(90vw,540px);z-index:20;line-height:1.5}#toast.visible{opacity:1;transform:translate(-50%,0)}#toast.error{background:#853c56}.pending #app [data-action]:not([data-action=tile]):not([data-action=tab]):not([data-action=rules]):not([data-action=close]),.pending #app button[type=submit]{pointer-events:none}.offline #app .btn.primary,.offline #app .step-btn,.offline #app .step-minus{pointer-events:none;opacity:.5}.connection.offline{color:#ed9bac}.connection-error{min-height:80dvh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:1.5rem;padding:2rem}.connection-error>p{color:var(--muted)}.loading-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.9rem}.skeleton{display:none}.noscript{text-align:center;padding:2rem}
@media(max-width:1400px){.lobby-hero:before{background-size:auto 100vh}.game-layout{grid-template-columns:190px minmax(0,916px) 250px;gap:.75rem}.player-amount{flex-basis:100%;margin-left:2.85rem;text-align:left}.player-row{gap:.5rem}.player-amount>span{font-size:.65rem}}
@media(max-width:1100px){.game-layout{grid-template-columns:minmax(0,1fr) 260px;max-width:1100px}.roster-panel{grid-column:1 / -1;display:flex;align-items:center;gap:1rem;padding:0 0 .5rem}.roster-panel .players-heading{display:none}.roster-panel .player-list{flex-direction:row;flex-wrap:wrap;flex:1;gap:.5rem}.roster-panel .player-row{padding:.5rem .75rem;gap:.5rem}.roster-panel .player-amount{flex-basis:auto;margin-left:.25rem}.roster-panel .player-identity>span{display:none}.roster-panel .empty-seat{padding:.5rem}.roster-panel .empty-seat>span:last-child{display:none}.roster-panel>.table-code{margin:0}.roster-help,.roster-actions{display:none}.board .board-logo{margin-bottom:1em}.board .center-dice{transform:scale(.6);margin:-1.5rem 0}.board-center{padding:1em 1em 3em}.center-game{max-width:90%}.board .action-area .btn{font-size:1em}.center-game .manage-row{display:none}.site-header .connection{display:none}}
@media(max-width:800px){.site-header{padding:1rem 1.25rem;height:72px}.header-right{gap:1rem}.site-header .nav-link{display:none}.lobby-hero{padding-top:12vh}.lobby-brand{margin-bottom:8vh}.lobby-brand h1 img{height:clamp(2em,7vh,3em)}.lobby-buttons{margin-top:3vh}.how-to{padding:3rem 1.5rem}.how-row{gap:1rem}.how-row>img{display:none}.how-row p{font-size:1rem}.how-row small{font-size:.8rem}.game-layout{display:flex;flex-direction:column;gap:1rem;max-width:800px;padding:0 .75rem;margin:.5rem auto 1.5rem}.board-section{width:100%;order:1}.roster-panel{width:100%;order:0;gap:.5rem}.roster-panel .player-list{gap:.25rem}.roster-panel .player-row{padding:.5rem;gap:.4rem}.roster-panel .player-avatar{width:1.75rem;height:1.75rem;font-size:.75rem}.roster-panel .player-identity strong{font-size:.75rem}.roster-panel .player-amount{margin-left:0}.roster-panel .player-amount strong{font-size:.85rem}.roster-panel .player-amount>span{font-size:.55rem}.roster-panel .empty-seat{display:none}.roster-panel>.table-code{font-size:.65rem;padding:.5rem;white-space:nowrap}.right-pane{order:2;display:grid;grid-template-columns:1fr 1fr;width:100%;gap:1rem}.table-panel{padding:1.25rem}.board .board-logo{margin-bottom:2em}.board .center-dice{transform:scale(.8);margin:-.5rem 0}.center-game .manage-row{display:flex}.board .action-area .btn{font-size:1.125em}.board-center{padding:2em 1em 3em}.game-details{align-self:start}.in-room .site-header,.rooms-view .site-header{padding:.75rem 1rem;gap:.75rem}.in-room .header-right,.rooms-view .header-right{gap:.9rem}.brand img{width:115px}.rooms-page{padding:0 1rem 3rem}.room-grid{grid-template-columns:1fr}.rooms-heading{flex-wrap:wrap}.rooms-heading h1{font-size:1.4rem}.rooms-heading .btn{font-size:.75rem}.section-heading h2{font-size:1.15rem}.room-card-bottom .btn{font-size:.75rem}}
@media(max-width:500px){.site-header{padding:.75rem 1rem}.site-header .connection{display:none}.wallet-caption{font-size:.5rem}.wallet strong{font-size:.8rem}.wallet>.ph{font-size:1rem}.header-right{gap:.75rem}.lobby-hero{padding-top:12vh;min-height:100svh}.lobby-brand{margin-bottom:8vh}.lobby-brand h1{margin-top:.5em}.lobby-brand h1 img{height:auto;width:min(80vw,350px)}.lobby-brand>p{font-size:1.25rem}.hero-die{transform:scale(.8);margin-bottom:-.5rem}.lobby-buttons{gap:.3rem;margin-top:3vh}.lobby-buttons .btn{font-size:.8rem;padding:.75em .85em}.lobby-credit-note{font-size:.6rem;max-width:270px}.how-to{padding:2rem 1.25rem}.how-to>h2{font-size:1.25rem}.how-row small{margin-left:0}.site-footer{font-size:.7rem;gap:1rem}.site-footer small{font-size:.65rem;margin-top:0}.game-layout{padding:0 .4rem;gap:.75rem}.roster-panel{padding:0 .25rem;align-items:flex-start}.roster-panel .player-row{gap:.3rem;padding:.4rem}.roster-panel .player-avatar{width:1.5rem;height:1.5rem;font-size:.65rem}.roster-panel .you-tag{display:none}.roster-panel .player-amount{flex-basis:100%;margin-left:1.8rem}.roster-panel .player-amount>span{font-size:.55rem}.roster-panel .player-identity strong{font-size:.7rem;max-width:90px}.right-pane{grid-template-columns:1fr;gap:.75rem;padding:0 .4rem}.table-panel{padding:1.25rem}.board-center{padding:1em 1em 3em}.board .board-logo{margin-bottom:1em;width:45%}.board .center-dice{transform:scale(.45);margin:-2.25rem 0;min-height:9rem}.center-game{max-width:95%;gap:.4em}.center-game>p{font-size:.85em}.center-game .manage-row{display:none}.board .action-area .btn{font-size:1em;padding:.8em .6em}.center-lobby{gap:.75em}.center-lobby .center-dice{margin:-2rem 0}.center-lobby h2{font-size:1.3em}.center-lobby>p{font-size:.9em}.center-lobby .btn{padding:.75em}.board-tools{bottom:.5em;gap:1em}.pawn{font-size:.8em}.board-pawns{font-size:1.75cqw}.detail-tabs>button{font-size:.75rem}.detail-content{padding:1rem}.activity-log{max-height:220px}.log-entry{font-size:.8rem}.chat-message{font-size:.85rem}.chat-message strong{font-size:.8rem}.finish-panel h2{font-size:1.75rem}.brand img{width:105px}.in-room .site-header,.rooms-view .site-header{height:60px;padding:.75rem}.in-room .header-right,.rooms-view .header-right{gap:.65rem}.in-room .sound-button,.rooms-view .sound-button{display:none}.avatar{width:1.75rem;height:1.75rem}.in-room .wallet-caption{font-size:.45rem}.in-room .wallet strong{font-size:.75rem}.rooms-heading .text-btn{flex-basis:100%;justify-content:flex-start}.rooms-heading h1{margin:0 auto 0 0}.empty-rooms{padding:1.25rem}.empty-room-icon{display:none}.empty-rooms h3{font-size:.9rem}.empty-rooms p{font-size:.75rem}.join-form input{width:160px}.deed-content,.rules-content,.trade-content,.profile-content,.confirm-content{padding:1.5rem}.create-panel{padding:1.5rem}}
/* Dice retain the reference's true 3D geometry; zoom also scales their layout box. */
.compact-game-tools{display:none}
dialog:has(.deed-content){width:min(360px,calc(100% - 32px));background:#262a4c linear-gradient(to bottom right,#262a4c,#36315b)}
.deed-band{min-height:65px;padding:1rem 3.5rem 1rem 1.5rem;color:#d6d1ef;border-bottom:1px solid #ffffff15;gap:.75rem;justify-content:flex-start}
.deed-band>.ph{font-size:1.5rem}.deed-flag{width:2rem;height:2rem;object-fit:cover;border-radius:50%}.deed-band>span{font-size:.8rem;font-weight:600}.deed-content{padding:1.25rem 1.5rem 1.5rem}.deed-content>.label{display:none}.deed-content h2{font:400 1.8rem 'Yanone Kaffeesatz',sans-serif;text-align:center;margin:0 0 1rem}.deed-owner{background:#ffffff0d}.rent-table>div:nth-child(even){background:#ffffff08}.rent-table>div{padding:.6rem .4rem;border:0}.deed-price{font-size:1.3rem}.deed-content .deed-actions .btn{font-size:.75rem}.deed-content .deed-costs{gap:.5rem}.deed-content .deed-costs>span{font-size:.65rem}
.lobby-brand h1 img{height:clamp(1em,8vh,2em)}
.board .center-dice{transform:none;zoom:.75;margin:.5em 0;min-height:9rem}
.board-pawns{font-size:1.75cqw}
.detail-tabs{gap:.35rem}.detail-tabs>button{min-width:0;white-space:normal;text-align:center}
@media(max-width:1400px){.lobby-hero:before{background-size:100vh auto}}
@media(max-width:1100px){.board .center-dice{zoom:.55;margin:.4em 0}.compact-game-tools{display:flex;gap:.5rem;justify-content:center;margin-top:.75rem}.compact-game-tools .btn{font-size:.8rem}}
@media(max-width:800px){.board .center-dice{zoom:.65;margin:.4em 0}}
@media(max-width:500px){.lobby-brand h1 img{height:auto}.roster-panel{display:block}.roster-panel .player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.roster-panel .player-row{flex-wrap:nowrap;gap:.35rem}.roster-panel .player-amount{flex-basis:auto;margin-left:auto}.roster-panel .player-amount>span{display:none}.roster-panel .player-amount strong{font-size:.75rem}.roster-panel>.table-code{margin:.4rem 0 0 auto;font-size:.6rem;padding:.35rem .5rem}.board-center{font-size:clamp(9px,1.75cqw,16px)}.board .center-dice{zoom:.35;margin:.5em 0;min-height:9rem}.center-game{gap:.3em}.center-game .action-area{margin:.25em auto 0}.center-game>p{line-height:1.4}.board .board-logo{margin-bottom:1em;width:45%}.board-tools{font-size:.8em}.detail-tabs>button{font-size:.7rem;gap:.25rem}.detail-tabs>button .ph{font-size:.9rem}}
.lobby-hub{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:8rem 1.5rem;position:relative;isolation:isolate;text-align:center}
.lobby-hub:before{content:'';position:absolute;inset:0;background:url('/reference/lobby-art.png') center bottom/min(800px,95vw) auto no-repeat;opacity:.35;z-index:-1;pointer-events:none}
.hub-content{width:100%;max-width:680px;margin-top:-4rem}.hub-logo{width:250px;max-width:65vw;height:auto;margin-bottom:3.5rem}.hub-content h1{font-size:2rem;font-weight:800;letter-spacing:-.035em;line-height:1.2}.hub-content>p{font-size:1rem;color:#a698c8;margin:1rem 0 2.25rem}.hub-buttons{display:flex;justify-content:center;gap:1rem}.hub-buttons .btn{font-size:1.2rem;font-weight:700;width:225px;min-height:75px;padding:1em;gap:.75em;box-shadow:0 .5rem 2rem #0d091c55}.hub-buttons .ph{font-size:1.5em}.hub-note{display:block;color:#9380af;font-size:.75rem;margin-top:1.5rem}.hub-view .site-footer{display:none}
.rooms-view .site-header,.rooms-view .site-footer{display:none}.room-directory{max-width:1100px;margin:0 auto;padding:2.5rem 2rem 4rem;min-height:100dvh}.directory-back{font-size:.9rem;gap:.6rem;min-height:44px;margin-bottom:1.75rem;padding:.5rem .75rem .5rem 0}.room-directory-list{display:flex;flex-direction:column;gap:.75rem}.directory-room{display:grid;grid-template-columns:48px minmax(0,1fr) 95px 70px 130px 110px;align-items:center;gap:1rem;background:#241c34;border-radius:.5rem;padding:1.25rem 1.5rem;box-shadow:0 .4rem 1.5rem #0d091c22}.directory-icon{height:45px;width:45px;display:grid;place-items:center;background:#342549;border-radius:.4rem;color:#b9a0e5;font-size:1.5rem}.directory-info{min-width:0}.directory-info h2{font-size:1rem;font-weight:700;overflow-wrap:anywhere}.directory-info p{font-size:.7rem;color:#9e89b7;margin-top:.35rem}.directory-info p span{margin:0 .35rem}.room-status{font-size:.75rem;color:#b4a1cd;white-space:nowrap;display:flex;gap:.4rem;align-items:center}.room-status.playing{color:#c8acef}.room-status.playing .status-dot{background:#b48bef}.room-status.lobby .status-dot{background:#88cba1}.directory-players{font-size:.8rem;color:#b9a7d2;display:flex;align-items:center;gap:.4rem;white-space:nowrap}.directory-bet{font-size:1.1rem;font-weight:700;color:#e5d8f7;font-variant-numeric:tabular-nums}.directory-bet small{font-size:.6rem;font-weight:400;color:#9b86b4;display:block;margin-top:.15rem}.directory-room .btn{font-size:.8rem;padding:.8em;gap:.4em}.directory-empty{min-height:55vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b2a0c9;gap:.75rem;text-align:center}.directory-empty>.ph{font-size:2.75rem;color:#68517f;margin-bottom:.75rem}.directory-empty p{font-size:1.1rem}.directory-empty small{color:#8e79a6;font-size:.8rem}
.settings-open{width:100%;padding:0;text-align:left;cursor:pointer}.settings-open:hover{color:#e0c6ff}.settings-open:hover .ph{transform:rotate(30deg)}.settings-open .ph{transition:transform .2s}.setting-row .text-btn{font-size:.7rem}.apply-wager{font-size:.65rem;min-height:1.8rem;padding:.5em .85em;margin-bottom:.65rem}.wager-number input{font-size:2rem;font-weight:750;letter-spacing:-.05em;line-height:1.1;min-width:0;width:100%;padding:0 .1em .1em;border:0;border-bottom:1px solid #a68ab85c;border-radius:0;background:transparent;color:white;appearance:textfield;font-variant-numeric:tabular-nums}.wager-number input::-webkit-inner-spin-button{appearance:none}.wager-number input:focus{box-shadow:none;border-color:#b894f0}.wager-number>span:last-child{flex-shrink:0}.wager-number:has(input){gap:.4rem;margin-bottom:.5rem}
dialog:has(.settings-content){width:min(680px,calc(100% - 24px))}.settings-content{padding:2rem}.settings-content>h2{font-size:1.6rem;line-height:1.2;margin-bottom:.75rem}.settings-intro{color:#a996c0;font-size:.8rem;line-height:1.6;margin:0 1rem 1rem 0}.rule-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-bottom:1px solid #ffffff0b;padding:1rem 0;margin:0}.rule-row>span,.rule-row>label{flex:1;min-width:0;margin:0}.rule-row strong{display:block;font-weight:600;font-size:.9rem;color:#e3d7ef;line-height:1.4}.rule-row small{display:block;font-size:.7rem;color:#9d87b5;line-height:1.5;margin-top:.3rem;max-width:400px}.rule-row select{width:auto;max-width:185px;padding:.65em .85em;font-size:.8rem;border-radius:.3rem;background:#322541}.rule-row .rule-switch{appearance:none;position:relative;display:block;flex-shrink:0;width:42px;height:24px;border:0;border-radius:20px;padding:0;background:#493b5d;cursor:pointer;transition:background .2s}.rule-switch:before{content:'';position:absolute;left:3px;top:3px;width:18px;height:18px;background:#c7bacf;border-radius:50%;transition:transform .2s}.rule-row .rule-switch:checked{background:#8052df}.rule-switch:checked:before{transform:translateX(18px);background:white}.rule-switch:disabled{opacity:.45;cursor:default}.rule-switch:focus-visible{outline:2px solid #c7a9ff;outline-offset:4px}.public-rule>.ph{color:#a689c7;font-size:1.25rem}.settings-content h3{font-size:.8rem;font-weight:700;letter-spacing:.03em;color:#9e86bc;margin:1.5rem 0 .25rem}.settings-footer{position:sticky;bottom:-2rem;background:#211a30;padding:1rem 0 0;margin-top:1rem;text-align:right;box-shadow:0 -.5rem 1.5rem #211a30}.settings-footer .btn{min-width:145px}
.board{grid-template-columns:1.53fr repeat(var(--edge-count,9),1fr) 1.53fr;grid-template-rows:1.53fr repeat(var(--edge-count,9),1fr) 1.53fr;font-size:var(--board-font,1.75cqw)}.board-center{grid-column:2 / var(--board-line,11);grid-row:2 / var(--board-line,11)}.board-pawns{font-size:var(--board-font,1.75cqw)}.tile-photo{object-fit:cover;object-position:center 25%}.corner-photo{width:3.5em;height:3.5em;border-radius:.4em}.type-jail .tile-inner{gap:.5em}.type-jail .tile-name{font-size:.9em}.tile-photo.country-flag{width:2em;height:2em}.deed-flag{object-position:center 25%}.spectator-banner{display:flex;align-items:center;gap:.5rem;color:#d0b1f5;font-size:.8rem;padding:.5rem .75rem;background:#2c203d;border-radius:.4rem;margin-bottom:.5rem}.spectator-banner>span{margin-left:auto;font-size:.65rem;color:#a58cba}.spectator-note{font-size:.75rem;color:#b79dcd;text-align:center;margin:.75rem 0}.auction-panel>h3{font-size:1.1em}.auction-panel>p{font-size:.8em}.auction-panel form{display:flex;gap:.5em;margin:.75em 0 0}.auction-panel input{font-size:1em;padding:.5em;min-width:0}.board .auction-panel .btn{font-size:1em}
@media(max-width:900px){.directory-room{grid-template-columns:40px minmax(0,1fr) 75px 100px 95px;gap:.75rem;padding:1rem}.directory-players{grid-column:2;grid-row:2}.directory-info{grid-column:2;grid-row:1}.directory-icon{grid-column:1;grid-row:1 / span 2;width:40px;height:40px}.room-status{grid-column:3;grid-row:1 / span 2}.directory-bet{grid-column:4;grid-row:1 / span 2}.directory-room>.btn{grid-column:5;grid-row:1 / span 2}}
@media(max-width:600px){.hub-content{margin-top:-2rem}.hub-logo{width:210px;margin-bottom:2.5rem}.hub-content h1{font-size:1.6rem}.hub-content>p{font-size:.9rem;max-width:300px;margin:1rem auto 1.75rem}.hub-buttons{flex-direction:column;align-items:center;gap:.75rem}.hub-buttons .btn{width:min(290px,100%);min-height:68px;font-size:1.125rem}.hub-note{font-size:.65rem}.room-directory{padding:1rem .9rem 3rem}.directory-back{margin-bottom:1rem}.directory-room{grid-template-columns:minmax(0,1fr) auto;gap:.65rem 1rem;padding:1.1rem}.directory-icon{display:none}.directory-info{grid-column:1;grid-row:1}.directory-info h2{font-size:.9rem}.directory-info p{font-size:.65rem}.room-status{grid-column:2;grid-row:1;font-size:.65rem;justify-self:end}.directory-players{grid-column:1;grid-row:2;font-size:.7rem}.directory-bet{grid-column:1;grid-row:3;font-size:1.15rem}.directory-bet small{display:inline;font-size:.6rem;margin-left:.5rem}.directory-room>.btn{grid-column:2;grid-row:2 / span 2;font-size:.75rem;min-width:90px}.settings-content{padding:1.5rem}.settings-intro{font-size:.75rem}.rule-row{gap:1rem}.rule-row strong{font-size:.8rem}.rule-row small{font-size:.65rem}.rule-row select{max-width:140px;font-size:.75rem;padding:.65em .6em}.settings-footer{bottom:-1.5rem}.spectator-banner>span{font-size:.55rem}.corner-photo{width:3em;height:3em}.type-jail .tile-inner{padding:.25em}}
.settings-footer{bottom:0;padding:1rem 0 .75rem}
.player-avatar{background:transparent;border:0;color:var(--player);position:relative;box-shadow:none}
.player-avatar svg,.pawn>svg,.avatar>svg,.preview-character>svg{display:block;width:100%;height:100%;flex-shrink:0}
.player-character-button{padding:0;display:flex;border-radius:50%;flex-shrink:0}.player-character-button:hover{filter:drop-shadow(0 0 .4rem #ffffff3b)}
.player-row .appearance-change{font-size:.65rem;flex-basis:100%;justify-content:flex-start;margin-left:2.85rem;padding:.2rem 0}
.pawn{border:0;background:transparent;width:2em;height:2em;color:var(--player);box-shadow:none;filter:drop-shadow(0 .15em .15em #0006);will-change:transform}
.active-pawn{box-shadow:none;filter:drop-shadow(0 0 .25em var(--player)) drop-shadow(0 .15em .15em #0006)}
.avatar{background:none;padding:0}.avatar:hover{background:none;filter:drop-shadow(0 0 .35rem currentColor)}
.chat-sender{display:flex;align-items:center;gap:.4rem}.chat-sender .player-avatar{width:1rem;height:1rem}.chat-message p{margin-left:1.4rem}
.token-moving .roster-actions,.token-moving .compact-game-tools,.token-moving .deed-actions{visibility:hidden;pointer-events:none}
.movement-status{min-height:5em;display:flex;align-items:center;justify-content:center;gap:1em;color:var(--muted)}.movement-status>p{font-size:.9em}
.customization-view .site-header{position:relative;max-width:1050px;margin:0 auto;height:88px;padding:1.5rem 1.5rem}.customization-view .site-header .brand{display:block}.customization-view .site-header .sound-button,.customization-view .site-header .connection,.customization-view .site-header .nav-link{display:none}.customization-view .site-footer{display:none}.customization-view .brand img{width:190px}
.customization-page{max-width:1050px;margin:0 auto;padding:0 1.5rem 4rem;min-height:calc(100dvh - 88px)}.customization-back{margin:0 0 1.1rem;gap:.5rem;min-height:36px;font-size:.8rem}.customization-page>h1{font-size:2rem;font-weight:700;line-height:1.25;margin:0 0 2rem}.customization-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:1.5rem}.customization-nav{padding-top:.35rem}.customization-nav>span{font-size:.75rem;color:#736583;letter-spacing:.03em;display:block;margin:0 0 1.6rem}.customization-nav>a{display:flex;align-items:center;gap:1rem;padding:.9rem 1rem;background:#ffffff19;border-radius:.5rem;font-size:.9rem;color:#f4eff9;min-height:46px}.customization-nav>a .ph{font-size:1.1rem}.appearance-section{max-width:600px}.appearance-section>h2{font-size:1.2rem;font-weight:700;margin:0 0 1.5rem}.appearance-preview{display:flex;flex-direction:column;align-items:center;padding:2rem 1rem 1.5rem;gap:.5rem}.preview-character{display:block;width:80px;height:80px;color:var(--player);margin-bottom:.75rem;filter:drop-shadow(0 .75rem 1.25rem #0003)}.appearance-preview>strong{font-size:1rem;font-weight:600;overflow-wrap:anywhere;max-width:100%}.appearance-preview>span:last-child{font-size:.75rem;color:var(--muted)}.appearance-picker-panel{display:flex;flex-direction:column;align-items:center;background:#29203f;border-radius:.5rem;padding:1.5rem 1rem 1.1rem}.appearance-picker-panel>p:first-child{font-size:.875rem;color:#cec6e1}.appearance-palette{display:grid;grid-template:repeat(3,1fr)/repeat(4,1fr);gap:.75em;margin:1em;font-size:16px}.appearance-option{padding:0;border:0;background:transparent;width:3em;height:3em;border-radius:3em;transition:.2s;position:relative;cursor:pointer;transform:scale(.75)}.appearance-option-character{display:flex;width:100%;height:100%;transition:opacity .2s}.appearance-option svg{width:100%;height:100%;flex-shrink:0}.appearance-option svg [data-show-on-selected]{transition:.2s}.appearance-option.taken:not(:hover) svg [data-show-on-selected],.appearance-option:not(.selected):not(:hover):not(:focus-visible) svg [data-show-on-selected]{opacity:0}.appearance-option.taken{transform:scale(.5);opacity:.5;cursor:not-allowed;filter:none}.appearance-option.selected{cursor:default;transform:scale(1);z-index:1;filter:drop-shadow(0 0 .5em #130f1d) drop-shadow(0 0 1.5em)}.appearance-option:disabled:not(.taken){opacity:.55;filter:none}.appearance-option.selected:disabled{opacity:1}.appearance-feedback{font-size:.7rem;color:#a698c8;text-align:center;min-height:1.5em;margin-top:.5rem;max-width:260px}.edit-name{display:flex;font-size:.8rem;gap:.5rem;margin:1.25rem auto 0}
@media(max-width:1100px){.player-row .appearance-change{margin-left:0;font-size:.6rem}}
@media(max-width:600px){.customization-view .site-header{height:76px;padding:1rem 1.25rem}.customization-view .brand img{width:135px}.customization-view .header-right{gap:.85rem}.customization-page{padding:0 1.25rem 3rem;min-height:calc(100dvh - 76px)}.customization-page>h1{font-size:1.6rem;margin-bottom:1.5rem}.customization-layout{grid-template-columns:1fr;gap:1.5rem}.customization-nav{display:none}.appearance-section{width:100%;max-width:450px;margin:0 auto}.appearance-section>h2{font-size:1rem;margin-bottom:0}.appearance-preview{padding-top:1rem}.preview-character{width:72px;height:72px}.appearance-picker-panel{padding:1.25rem .5rem 1rem}.appearance-palette{margin:1.25em .5em}.player-row .appearance-change{margin:0;flex-basis:auto;width:100%;font-size:.6rem}.roster-panel .player-row:has(.appearance-change){flex-wrap:wrap}.roster-panel .player-row:has(.appearance-change) .player-identity{flex-basis:35%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
