
@font-face{font-family:DefDisplay;src:url("def-display.woff2");font-display:swap}
:root{--refresh-ink:#0c1117;--refresh-line:#ffffff1c;--refresh-paper:#f5f0e6}
button{transition:background .16s,border-color .16s,transform .16s;box-shadow:none}
button:hover:not(:disabled){transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #efc477;outline-offset:4px}
button:disabled{cursor:default}dialog{box-shadow:0 28px 100px #000b}dialog::backdrop{backdrop-filter:blur(8px)}
input,select,textarea{color-scheme:dark}button.primary,.primary{border-radius:7px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

:root{--bg:#0d1818;--paper:#f6efde;--muted:#9eafa8;--line:#d7dfd91d}
body{background:radial-gradient(ellipse at 30% 20%,#25423c,transparent 70%),#0b1515;color:#f5f0e5}
header{background:#0b1515;border-bottom:1px solid #b7b99524;padding:0 24px}.brand{font-family:DefDisplay,Impact,sans-serif;letter-spacing:1.2px}.brand-light{color:#d8c28c}.brand small{color:#a6b5ad}header button{font-size:10px;padding:9px 12px;border-radius:6px}
.board-shell{border-radius:11px;box-shadow:0 0 0 1px #ead6a56b,0 4px 0 #695637,0 20px 55px #0007;filter:none}
.board-center{inset:15.5%;background:radial-gradient(ellipse,#23554766,transparent 75%);border:1px solid #d8c59138;border-radius:5px}
.watermark{width:60%;opacity:.035}.center-logo{filter:drop-shadow(0 4px 3px #0005)}
.board-center h1,.turn-person h2,#resultTitle,#resultAmount,#winnerWorth{font-family:DefDisplay,Impact,sans-serif}
.board-center h1{letter-spacing:1px}.board-center h1 span{color:#ddca98}.edition,.turn-kicker{color:#c1c9af;letter-spacing:2px}
.join-code{background:#f4ead4;color:#162c25;border:0;border-radius:5px;font-size:clamp(18px,5.8cqw,42px);box-shadow:0 4px 0 #b3a17c}
.board-center p{color:#e0e7dc;font-size:clamp(12px,3.6cqw,25px);line-height:1.4}.turn-person h2{font-size:clamp(23px,7.8cqw,56px)}
.hero-avatar{border-color:#f0d8a3;box-shadow:0 0 0 4px #061e1477}.board-center section{padding:2% 6%}
#resultTitle{font-size:clamp(20px,6.4cqw,44px);color:#f4e9cc}#resultAmount{font-size:clamp(40px,17cqw,116px)}#resultBody{max-width:94%}
#propertyCard{padding:14px 18px 14px 26px;background:#f8f0df;border:1px solid #d2bd96;box-shadow:0 4px 0 #111f1c88;border-radius:5px}#propertyStripe{width:10px}
.board-center[data-tone=loss] #resultAmount{color:#ff9b8a}.board-center[data-tone=gain] #resultAmount{color:#a4edbe}#nextPlayer{color:#a9b8a6}
.session-card{background:#142522;border:1px solid #9aa9932c;border-radius:10px;padding:14px 18px}.session-top{color:#c1cbbf}.session-top #helpButton{padding:2px 8px;background:transparent}
.clock-display{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:10px 0 12px}.clock-display small{display:block;font-size:9px;letter-spacing:1.4px;color:#afbdaf}.clock-display b{font:45px/1.05 DefDisplay,Impact,sans-serif;display:block;font-variant-numeric:tabular-nums;margin-top:4px;color:#f6dfac}.clock-display button{font-size:8px;padding:8px;background:transparent;border-color:#ffffff26}
.leader-line{margin:10px 0 7px}.leader-line strong{font-family:DefDisplay,Impact,sans-serif;font-size:27px}.leader-line small{color:#a1b4a3}
.session-stats{padding-top:7px}.session-stats small{color:#a0b0a5;font-size:9px}.session-stats b{font-family:DefDisplay,Impact,sans-serif;font-size:24px}#activityFeed{display:none}.bot-indicator{padding-top:8px;color:#91a699}
.players-panel{padding:8px 2px}.panel-heading h2{color:#b9c6b8;font-size:11px}.player-info strong{font-size:14px}.player-cash{font-family:DefDisplay,Impact,sans-serif;font-size:25px}.player-row.active{background:#c4ad7912;box-shadow:inset 3px 0 #dbbe7e}.player-info small{font-size:9px;color:#93a99c}
#cameraSpace{background:transparent}.right-rail{background:none}.roster-tabs button[aria-pressed=true]{border-color:#e7cd92;color:#f2e7ce}
footer{background:#0b1515;border-top:1px solid #b7b99524;padding:10px 24px}.game-controls{gap:9px}.game-controls button{font-size:11px;border-radius:6px;padding:12px 18px}#playButton{background:#eddbad;color:#152a24;min-width:190px;border:0;box-shadow:0 3px 0 #a38c5a}#playButton:hover{background:#ffedc6}#footerNotice{color:#b6c5b6}.command-hint b{color:#efdcab}
#dealView .deal-title{font-family:DefDisplay,Impact,sans-serif;font-size:10cqw}.deal-players article{background:#f3ecd9;color:#18332a;border-color:#ddc992}.deal-name{font-family:DefDisplay,Impact,sans-serif}.accept-status{color:#5b6558}.deal-players article.confirmed{border-color:#a6e4b5;background:#dcebdc}.accept-status.yes{color:#216a43}#dealReason{color:#c5d3c4}
dialog,#cameraPanel{background:#142522;border-color:#657867}input,select{background:#0e1b19;border-color:#425b4d}.setup-tabs button[aria-pressed=true]{border-color:#e1ca94}
@media(max-height:830px){.clock-display{padding:5px 0 7px}.clock-display b{font-size:32px}.clock-display small{font-size:8px}.leader-line .avatar{width:30px;height:30px}.leader-line strong{font-size:22px}.session-stats b{font-size:20px}.session-stats small{font-size:8px}.bot-indicator{font-size:6px}.session-card{padding:9px 12px}}
@media(max-width:900px){.game-controls button{font-size:9px;padding:10px}.game-controls #playButton{min-width:130px}}
@media(max-width:600px){header{padding:0 9px}header button{font-size:7px;padding:8px 5px}.board-center{inset:15.5%}.game-controls button{padding:10px 6px;font-size:8px}.game-controls #playButton{min-width:125px}footer{padding:8px 12px}}

/* Ownership is marked on every deed, separate from its set stripe. */
.board-shell{background:#1d3630;border:3px solid #375749;box-shadow:0 0 0 1px #a3b4a2,0 5px 0 #091e19,0 22px 50px #0008;border-radius:12px}
.board-center{inset:15.55%;border:1px solid #d8c59138}.board-center[data-phase=build] #resultTitle{font-size:clamp(19px,5cqw,35px)}
.board-center[data-phase=build] #resultBody{font-size:clamp(13px,3.1cqw,22px);line-height:1.45}
.deal-players .offer-cash{color:#275b40}.deal-players .offer-label{color:#53665b}

/* Keep owned-property counts visible in the table and full standings. */
.player-info small{display:block;color:#b8c6bc;font-size:11px;line-height:1.1;margin-top:3px}
.standing-player{min-width:0}.standing-player strong,.standing-player small{display:block}.standing-player small{color:#b8c6bc;font-size:11px;margin-top:3px}

/* Three completed events sit beside the board, newest first. */
.game-area{grid-template-columns:clamp(170px,14vw,248px) minmax(0,1fr);gap:18px;align-items:center}
.recent-panel{min-width:0;align-self:center}.recent-panel h2{font-size:11px;letter-spacing:1.7px;font-weight:700;margin:0 0 14px;color:#b9c6b8}
.recent-panel #activityFeed{display:grid;gap:10px;margin:0;overflow:visible;min-height:0}
.recent-event{background:#142522;border:1px solid #a0b49c28;border-left:3px solid #97cfac;border-radius:0 7px 7px 0;padding:14px 13px}
.recent-event[data-tone=loss]{border-left-color:#ec9c8e}.recent-event[data-tone=gold]{border-left-color:#dfc18a}
.recent-meta{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;letter-spacing:1.1px;color:#b9c6b8}.recent-meta b{font-weight:700}.recent-meta span{color:#93a596;letter-spacing:0;font-variant-numeric:tabular-nums}
.recent-event p{font-size:clamp(13px,1.05vw,18px);line-height:1.45;margin:8px 0 0;color:#f0eadb;overflow-wrap:anywhere}
.recent-event:first-child{background:#1c322c;border-top-color:#a0b49c46;border-right-color:#a0b49c46;border-bottom-color:#a0b49c46}
.recent-empty{color:#a9b8a6;font-size:14px;line-height:1.5;margin:0;padding:16px 0;border-top:1px solid #a0b49c28}
@media(max-width:1100px){.game-area{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto;gap:10px}.recent-panel{grid-row:2}.recent-panel h2{font-size:9px;margin-bottom:7px}.recent-panel #activityFeed{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.recent-event{padding:9px 8px}.recent-event p{font-size:12px;margin-top:5px;line-height:1.3}.recent-meta{font-size:8px;letter-spacing:.5px}.board-shell{width:min(100%,calc(100dvh - 290px))}.recent-empty{grid-column:1/-1;padding:6px 0;font-size:12px}}
@media(max-width:600px){.board-shell{width:min(100%,calc(100dvh - 340px))}.recent-event{padding:7px 6px}.recent-event p{font-size:11px}.recent-meta span{display:none}}
