:root{
  --bg:#08080a;--panel:#111114;--cream:#f0e2c8;--red:#ef332a;--yellow:#ffd62a;
  --green:#45c269;--line:#3b3430;--text:#f4ead8;--muted:#bbb0a0
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif}
button,input,select{font:inherit}button{background:#17171a;color:var(--text);border:1px solid #514943;padding:9px 10px;font-weight:800;cursor:pointer;border-radius:4px}
button:disabled{opacity:.35}.primary{background:var(--red);border-color:#ff7169}.back{color:#d3c8b8;text-decoration:none;font-size:.78rem}
header{height:58px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:6px 14px;border-bottom:1px solid var(--line);background:#08080af2;z-index:20}
header>div{justify-self:end;display:flex;gap:6px}header strong{letter-spacing:.08em}
main{
  height:calc(100vh - 58px);
  display:grid;
  grid-template-columns:220px minmax(0,1fr) 330px;
  gap:10px;
  padding:10px;
  max-width:1900px;
  margin:auto;
  overflow:hidden
}
.panel{background:var(--panel);border:1px solid var(--line);padding:12px;min-height:0;overflow:hidden}
.eyebrow{color:var(--yellow);font-size:.68rem;letter-spacing:.12em;font-weight:900}
.panel h1{font-size:1.95rem;margin:7px 0;font-weight:900}
.dice{display:flex;gap:8px;margin:9px 0}.dice b{width:52px;height:52px;display:grid;place-items:center;background:var(--cream);color:#111;font-size:1.55rem;border:3px solid white}
.panel>button{width:100%;margin:4px 0}
.cash{font-size:1.9rem;font-weight:900;color:var(--green);margin:7px 0}
.row{display:flex;justify-content:space-between;gap:8px;border-top:1px solid #302b29;padding:7px 0;font-size:.72rem}
.player{display:grid;grid-template-columns:22px 1fr auto;gap:7px;align-items:center;padding:7px 0;border-top:1px solid #302b29;font-size:.7rem}
.dot{width:18px;height:18px;border-radius:50%;border:2px solid #111}.active{color:var(--yellow)}
#notice{font-size:.7rem;color:#ff928b;min-height:18px;margin-top:6px}

.board-wrap{min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden}
.board{
  width:min(calc(100vh - 78px),100%);
  max-width:100%;
  aspect-ratio:1;
  display:grid;
  grid-template-columns:repeat(11,1fr);
  grid-template-rows:repeat(11,1fr);
  background:#d8c9aa;
  border:4px solid #aa9369
}
.space{position:relative;background:#ecdfc5;color:#111;border:1px solid #5a4e3c;padding:3px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;font-family:Arial,Helvetica,sans-serif}
.space .band{height:11px;margin:-3px -3px 3px;background:#ddd}.space h3{font-size:clamp(.36rem,.47vw,.55rem);line-height:1.02;margin:0;font-weight:900}.space small{font-size:.4rem}.tokens{display:flex;gap:1px;flex-wrap:wrap}.token{width:14px;height:14px;border-radius:50%;border:2px solid #111}.houses{font-size:.48rem;font-weight:900}.mortgaged{filter:grayscale(1);opacity:.62}.corner h3{font-size:.56rem}
.center{grid-row:2/11;grid-column:2/11;background:#190605;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;border:3px solid #b89c68;padding:14px}
.center span{color:var(--yellow);font-size:.65rem;letter-spacing:.18em}.center h2{font-size:clamp(3rem,5vw,6rem);line-height:.76;margin:10px;color:#f3e4ca;font-weight:1000;letter-spacing:-.03em}.center p{color:#cfc1ad;font-size:.74rem;line-height:1.45}.center div{margin-top:14px;background:var(--yellow);color:#111;padding:7px 10px;font-weight:900;font-size:.7rem}

.right{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:10px;height:100%}
.right hr{display:none}
.right>.eyebrow:first-child{display:block}
#log{height:100%;min-height:0;overflow-y:auto;padding-right:5px}
.log{padding:9px 0;border-bottom:1px solid #302b29;font-size:.74rem;line-height:1.42;color:#e4d8c8}
#portfolio{max-height:185px;overflow:auto;padding-top:5px}.prop{border:1px solid #3b3430;padding:7px;margin:6px 0;font-size:.68rem}.prop b{color:var(--yellow)}

dialog{padding:0;border:0;background:transparent;color:#111}
dialog::backdrop{background:#000d;backdrop-filter:blur(2px)}
.modal{position:relative;width:min(620px,calc(100vw - 20px));background:var(--cream);border:5px solid #111;padding:28px;box-shadow:10px 10px 0 var(--red);font-family:Arial,Helvetica,sans-serif}
.modal.wide{width:min(850px,calc(100vw - 20px))}
.modal .eyebrow{color:#99170f}.modal h2{font-size:2rem;margin:8px 0 13px;font-weight:1000}.modal p,.modal li{font-size:.94rem;line-height:1.5}.modal-info{background:#fff8e9;border:2px solid #111;padding:12px;margin:12px 0;line-height:1.45}.modal-art{width:100%;max-height:220px;object-fit:cover;border:3px solid #111;margin:7px 0 12px;background:#ddd}.x{position:absolute;right:7px;top:6px;background:transparent;color:#111;border:0;font-size:1.8rem}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.actions button{color:#111;background:var(--yellow);border:3px solid #111}
.asset{display:grid;grid-template-columns:1.6fr .7fr 1fr;gap:8px;align-items:center;border-top:2px solid #b9aa90;padding:10px 0;font-size:.78rem}.asset-actions{display:flex;gap:5px;flex-wrap:wrap}.asset-actions button{font-size:.68rem;padding:6px;color:#111;background:#fff;border:2px solid #111}
.trade-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.trade-box{border:2px solid #111;padding:10px}.trade-box label{display:block;font-size:.75rem;margin:6px 0}.trade-box input,.trade-box select{width:100%;padding:7px}.trade-props{max-height:200px;overflow:auto}.trade-props label{display:flex;gap:7px}

@media(max-width:1250px){
  main{grid-template-columns:205px minmax(0,1fr) 285px}
}
@media(max-width:980px){
  html,body{overflow:auto}
  main{height:auto;grid-template-columns:1fr;padding:6px;overflow:visible}
  .board-wrap{grid-row:1;overflow:auto}.board{width:760px;min-width:760px}
  .panel{overflow:visible}.right{height:auto;grid-template-rows:auto auto}#log{height:420px}
}
