/* Avenue UI: shadcn's semantic token and component-state conventions,
   adapted to the existing vanilla app. Game art keeps its own palette. */
:root{
  color-scheme:dark;
  --background:#171b20;--foreground:#f1eee7;--card:#20262c;--card-foreground:var(--foreground);
  --primary:#d7b978;--primary-foreground:#242015;--secondary:#2a323b;
  --muted-foreground:#adb5bf;--border:#3a434d;--input:#53606d;--ring:#e6c887;
  --destructive:#ff9a88;--radius:6px;--font-sans:"Space Grotesk",Arial,sans-serif;
  --font-ui:var(--font-sans);--paper:var(--background);--paper-2:var(--card);--paper-3:var(--secondary);
  --ink-p:var(--foreground);--ink-soft:var(--muted-foreground);--rule:var(--border);
  --red:var(--destructive);--blue:#c5d8e9;--gold-line:var(--border);--gold-1:var(--primary);--gold-2:#bca064;
  --side-w:340px;
}
html{overflow:clip}
body{height:100dvh;min-height:0;overflow:hidden;font-size:13px;line-height:1.5;background:var(--background);color:var(--foreground)}
button,a,input,select,textarea{touch-action:manipulation}
:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ring);outline-offset:3px}
button{transition:background-color .15s,border-color .15s,color .15s}
button:disabled{opacity:.45}
::selection{background:#d7b97855;color:#fff}
.environment-banner{background:#233641;color:#c8e0eb;border-bottom:1px solid #385565;font:11px/1.5 var(--font-sans);padding:5px 12px}
.topbar{min-height:64px;padding:12px 20px;gap:24px;background:#20262c;border-bottom:1px solid var(--border);color:var(--foreground)}
.logo{font-size:12px;line-height:1.7;white-space:normal;max-width:380px;color:var(--primary);text-shadow:none}
.tagline{color:var(--muted-foreground);font-size:11px;font-weight:400;gap:8px}
.sold-badge{background:#2b3030;color:var(--primary);border:1px solid #4b4d40;box-shadow:none;transform:none;border-radius:var(--radius);padding:7px 10px;gap:8px;white-space:nowrap}
.sold-badge small{font-size:9px;font-weight:500}.sold-badge .of{color:var(--muted-foreground)}
.navstrip{background:var(--background);padding:7px 14px;gap:3px;border-bottom:1px solid var(--border);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;flex:none}
.navstrip a{flex:none;padding:8px 11px;border:0;border-radius:var(--radius);font:500 12px/1.4 var(--font-sans);color:var(--muted-foreground);white-space:nowrap}
.navstrip a:hover,.navstrip a.active{background:var(--secondary);color:var(--foreground);text-decoration:none}
.navstrip a[data-nav=room]{color:var(--primary)}
.side{border-right:1px solid var(--border)}
#panelHome{overflow:auto;display:block;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.about{padding:20px 20px 16px;border:0}.about h2{font-size:11px;color:var(--primary);letter-spacing:.1em;margin-bottom:8px}.about p{font-size:12px;line-height:1.65}
.world-invite{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:18px;margin:0 14px 18px;box-shadow:none;color:var(--foreground)}
.world-invite h3{font-size:22px;line-height:1.2;letter-spacing:-.04em;margin:0 0 10px;font-weight:500}.world-invite p{font-size:12px;color:var(--muted-foreground);line-height:1.6}
.world-invite .btn-ghost{background:transparent;color:var(--foreground)}
:is(.btn-claim,.btn-buy,.btn-ghost,.community-button,.community-filter){min-height:36px;padding:8px 13px;border:1px solid var(--border);border-radius:var(--radius);font:500 12px/1.4 var(--font-sans);box-shadow:none;transform:none;text-decoration:none}
:is(.btn-claim,.btn-buy,.community-button-primary){background:var(--primary);color:var(--primary-foreground);border-color:var(--primary);font-weight:700}
:is(.btn-claim,.btn-buy,.community-button-primary):hover:not(:disabled){background:#e5c98e;border-color:#e5c98e;filter:none}
:is(.btn-claim,.btn-buy):active{transform:none;box-shadow:none}
:is(.btn-ghost,.community-button,.community-filter){background:var(--card);color:var(--foreground)}
:is(.btn-ghost,.community-button,.community-filter):hover:not(:disabled){background:var(--secondary);border-color:#66717c;color:var(--foreground);filter:none}
.community-button-primary{background:var(--primary);color:var(--primary-foreground);border-color:var(--primary)}
.plaque{padding:16px 20px;background:transparent;border-top:1px solid var(--border)}
.plaque h2{font:500 10px var(--font-mono);letter-spacing:.1em}.plaque-stats{gap:10px 14px;margin-bottom:16px}.plaque-stats div{border-bottom:0}.plaque-stats dt{font-size:11px}.plaque-stats dd{font-size:12px}
.plaque .btn-claim{background:var(--secondary);border-color:var(--border);color:var(--foreground)}
.deed{padding:11px 20px;font-size:11px;background:var(--card)}
.tabs{padding:4px;margin:12px 14px 6px;gap:3px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}
.tabs button{border:0;border-radius:3px;padding:7px 5px;min-height:30px;font:500 11px var(--font-sans);text-decoration:none;color:var(--muted-foreground)}
.tabs button[aria-selected=true]{background:var(--secondary);color:var(--foreground);box-shadow:0 1px 3px #0003}
.board{background:transparent;overflow:visible}.row{padding:12px 16px;grid-template-columns:22px 32px 1fr auto;gap:8px}.row:nth-child(even){background:transparent}.row:hover,.row.hi{background:var(--secondary)}.row .thumb{border-radius:4px}.row h3{font-size:12px}.row .meta{font-size:10px;margin-top:4px;display:block}.row .val{color:var(--primary)}
.side-foot{background:transparent;padding:4px 10px;gap:4px}.side-foot .linkish{font:500 11px var(--font-sans);text-decoration:none;border:0;color:var(--muted-foreground);min-height:36px;border-radius:var(--radius)}.side-foot .linkish:hover{color:var(--foreground);background:var(--secondary)}
.panel-bar{background:var(--card);padding:10px 14px;border-bottom:1px solid var(--border)}.panel-bar h2{color:var(--foreground);font-size:12px;letter-spacing:.03em;text-transform:none}
.icon-btn{width:34px;height:34px;flex:none;border-radius:var(--radius);background:var(--secondary);color:var(--foreground);border:1px solid var(--border)}.icon-btn:hover{background:#36404a;border-color:#697681}
.card,.facts{background:var(--card);border-radius:var(--radius);border-color:var(--border)}.plot-id .badge,.imgprev{background:var(--secondary);border-color:var(--border);border-radius:var(--radius)}.price{color:var(--primary)}.field label{font-size:12px;color:var(--foreground)}
.field input[type=text],.field input[type=url],.field input[type=datetime-local],.field select,.field textarea,.events-toolbar input,.arcade-shell select,.arcade-shell input,.mini-scoreboard input{min-height:38px;padding:9px 11px;background:#161c22;color:var(--foreground);border:1px solid var(--input);border-radius:var(--radius);font:13px/1.5 var(--font-sans);width:100%}
.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline:2px solid var(--ring);outline-offset:2px;border-color:var(--ring)}
input::placeholder,textarea::placeholder{color:#909daa;opacity:1}.field input[type=range]{accent-color:var(--primary)}.note{border-left-color:var(--primary)}.err{color:var(--destructive)}
.view-toggle{border-radius:var(--radius);padding:3px;gap:3px;background:#20262cf0;border-color:var(--border)}.view-toggle button{border-radius:3px;padding:7px 12px;font:500 12px var(--font-sans);color:#c0c8cc}.view-toggle button[aria-selected=true]{background:var(--primary);color:var(--primary-foreground)}
.live{border-radius:var(--radius);background:#20262cf0;border-color:var(--border);padding:9px 12px;font-size:10px}.rail{gap:7px}.rail .icon-btn{width:36px;height:36px;background:#20262cf0;border-color:#515c64;color:#e4e9e4}
.foot{background:var(--background);color:var(--muted-foreground);border-color:var(--border);font-size:10px;padding:7px 20px}
.modal{background:#080c13c9;padding:24px}.modal-box{border:1px solid var(--border);border-radius:10px;box-shadow:0 24px 80px #0008;overflow:hidden;max-height:calc(100dvh - 48px);background:var(--background)}.modal-body{padding:26px;line-height:1.65;font-size:13px}.modal-body h3{font-size:15px;margin-top:22px}.modal-body p{margin-bottom:12px}.modal-box>.panel-bar{padding:10px 16px;min-height:52px}.modal-box>.panel-bar h2{font-size:13px}
.list li{padding:14px 0;line-height:1.6}.list li span:last-child{color:var(--primary)}
.community-hero{padding:24px 0 22px;border:0;border-bottom:1px solid var(--border);background:transparent}.community-hero::after{display:none}.community .community-title{font-weight:500;letter-spacing:-.04em;font-size:34px}.community-eyebrow{color:var(--primary)}.community .community-intro{color:var(--muted-foreground)}
.community-uses{gap:0;border-bottom:1px solid var(--border);margin-bottom:26px}.community-use{background:transparent;border:0;border-right:1px solid var(--border);padding:20px}.community-use:last-child{border-right:0}.community-symbol{color:var(--primary)}.community-use p{font-size:12px}.community-text-button{color:var(--primary);font-size:12px}
.community-card{background:var(--card);border-radius:8px;overflow:hidden}.community-card-art{height:90px}.community-card-body{padding:20px}.community-kind{color:#bec5cd}.community-event{background:var(--secondary)}.community-filter[aria-pressed=true]{background:var(--secondary);border-color:var(--primary);color:var(--primary)}.community-empty{background:var(--card);border-radius:var(--radius)}
.events-shell h2,.mini-games-shell h2,.arcade-shell h2{font:500 clamp(26px,4vw,36px)/1.2 var(--font-sans);letter-spacing:-.04em;margin:8px 0 14px}.events-eyebrow,.mini-eyebrow,.arcade-eyebrow{font:500 10px var(--font-mono);color:var(--primary);letter-spacing:.1em}.events-intro,.mini-intro,.arcade-intro{color:var(--muted-foreground);font-size:13px}
.events-hero{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;padding:18px 20px;margin:20px 0;color:var(--foreground)}.events-hero>div{font-size:16px;font-weight:500}.events-hero>span{font-size:28px;color:var(--primary)}.events-filters [aria-pressed=true]{background:var(--secondary);border-color:var(--primary);color:var(--primary)}
.event-card{background:var(--card);border-radius:var(--radius);border-left-width:3px;padding:22px}.event-date{background:var(--secondary);border-radius:var(--radius);color:var(--primary);font-family:var(--font-mono)}.event-date strong{font-weight:500}.event-badge{color:#b9d6c8;font-size:10px}.event-content h3{font-size:19px;letter-spacing:-.02em}.event-content p{font-size:13px}.event-actions button,.event-actions a{font-size:12px}.event-actions .btn-claim{width:auto}.events-note,.event-meta{font-size:12px}
.mini-catalog{gap:6px;margin:20px 0 26px;padding:6px;background:var(--card);border:1px solid var(--border);border-radius:8px}.mini-cabinet{background:transparent;border-color:transparent;padding:12px;border-radius:4px;gap:8px;transition:background .15s}.mini-cabinet:hover{background:var(--secondary);transform:none}.mini-cabinet[aria-pressed=true]{background:var(--secondary);border-color:var(--primary);box-shadow:none}.mini-cabinet>span:last-child{color:var(--muted-foreground);font-size:11px}.mini-cabinet-icon{background:#3b4140;color:var(--primary);border-radius:4px}.mini-cabinet strong{font-size:13px}.mini-play h3{font-weight:500;letter-spacing:-.02em}.mini-rules{font-size:13px;color:var(--muted-foreground)}.mini-metrics{font:500 12px var(--font-mono);color:var(--primary);padding:9px 0}.mini-scoreboard,.arcade-results{border-radius:var(--radius);background:var(--card);padding:20px}.mini-scoreboard h3,.arcade-results h3{font-size:13px;font-weight:500}.mini-scoreboard ol{color:var(--muted-foreground)}.mini-note,.arcade-note,.arcade-legend{font-size:12px}.mini-api,.arcade-connect{font-size:12px;color:var(--muted-foreground)}
.mini-api summary,.arcade-connect summary{min-height:36px;color:var(--foreground)}
.events-notice:empty,.mini-note:empty{display:none}
.modal-body>.mini-games-shell .mini-catalog{margin:16px 0 20px}
.modal-body>.mini-games-shell .mini-cabinet{display:grid;grid-template-columns:28px 1fr;align-items:center;align-content:start;gap:6px;padding:10px}
.modal-body>.mini-games-shell .mini-cabinet-icon{min-width:28px;width:28px;height:28px;font-size:12px}
.modal-body>.mini-games-shell .mini-cabinet>span:last-child{grid-column:1/-1}
.modal-body>.mini-games-shell .mini-board{max-width:360px}
.modal-body>.mini-games-shell .mini-rules{margin-bottom:8px;min-height:0}
.room-game-window :is(.btn-claim,.btn-ghost){min-height:32px;font-size:12px}
.social-room .room-primary{background:var(--primary);color:var(--primary-foreground);border:1px solid var(--primary);border-radius:4px}
.social-room .room-primary:hover:not(:disabled){background:#e5c98e;border-color:#e5c98e}
.modal-box:has(.social-room)>.panel-bar .icon-btn{width:28px;height:28px;min-width:28px}
@media(max-width:1100px){.tagline{display:none}.topbar{justify-content:space-between}}
@media(max-width:820px){
  body{min-height:0}.topbar{padding:10px 12px;gap:12px;min-height:62px}.logo{font-size:10px;max-width:240px}.sold-badge{padding:6px 8px;flex:none;flex-direction:column;align-items:flex-end;gap:0}.sold-badge small{display:block;font-size:8px}
  .navstrip{padding:5px 8px;justify-content:flex-start}.navstrip a{padding:9px 12px;min-height:36px;font-size:12px;flex:none}
  .side{border-top:1px solid var(--border);border-radius:10px 10px 0 0;overflow:hidden}.sheet-handle{background:var(--card);border-color:var(--border)}.sheet-handle strong{color:var(--primary)}
  #panelHome{height:calc(100% - 52px)}.panel-bar{flex:none}.view-toggle{top:12px}.live{left:auto;right:12px;transform:none;padding:10px 8px;gap:5px}
  .modal{padding:10px}.modal-box{max-height:calc(100dvh - 20px)}.modal-body{padding:20px 16px}.modal-box>.panel-bar{padding:8px 12px;min-height:48px}
  .community .community-title{font-size:28px}.community-use{padding:16px 10px}.community-card-body{padding:16px}
}
@media(max-width:560px){
  .events-hero{display:none}.events-toolbar{margin-top:20px}
  .community-use{border-right:0;border-bottom:1px solid var(--border)}.community-use:last-child{border-bottom:0}.community .community-title{font-size:26px}.community-uses{margin-top:4px}.community-hero{padding-top:8px}
  .event-card{grid-template-columns:52px minmax(0,1fr);padding:14px;gap:14px}.event-date strong{font-size:26px}.event-date span{font-size:10px}.event-content h3{font-size:18px}.event-actions{gap:6px}.event-actions>*{flex:1 1 100px;min-width:0}
  .mini-catalog{gap:4px;padding:4px}.mini-cabinet{padding:10px}.mini-cabinet>span:last-child{display:none}.mini-scoreboard,.arcade-results{padding:16px}
  .modal-body>.mini-games-shell .mini-board{max-width:100%}
  :is(.btn-claim,.btn-buy,.btn-ghost,.community-button,.community-filter){min-height:40px}.events-toolbar input,.arcade-shell select,.arcade-shell input,.mini-scoreboard input,.field input[type=text],.field input[type=url],.field input[type=datetime-local],.field select,.field textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){button{transition:none}.mini-cabinet{transition:none}}
