/* One Nexus palette across 3D chrome, 2D workbench, tables and bidding wizard.
   This is intentionally more specific than legacy blue/teal skins and injected
   utility styles. Only presentation is changed; original DOM/actions stay intact. */
body.nexus-atrium-shell{
 --nx-bg:#161b18;--nx-panel:rgba(22,27,25,.78);--nx-panel-solid:#1b221e;--nx-raised:rgba(36,44,39,.88);
 --nx-ink:#f2efe6;--nx-strong:#fbf8f0;--nx-muted:#b5c0b2;--nx-faint:#879484;
 --nx-gold:#e2c692;--nx-gold-text:#f1dab0;--nx-gold-soft:rgba(226,198,146,.11);--nx-line:rgba(218,198,154,.18);--nx-line-strong:rgba(226,198,146,.46);
 --nx-button:linear-gradient(135deg,#ead2a5 0%,#cfa968 100%);--nx-button-solid:#dfc18b;--nx-button-ink:#171d18;--nx-success:#8cd9b3;--nx-shadow:0 24px 64px rgba(4,8,6,.52),inset 0 1px 0 rgba(255,244,218,.14);
 --text:var(--nx-ink);--muted:var(--nx-muted);--stroke:var(--nx-line);--gold:var(--nx-gold);--gold-hi:var(--nx-gold-text);--cyan:var(--nx-success);--cyan-hi:var(--nx-success);--ink:var(--nx-ink);--ink-hi:var(--nx-strong);--dim:var(--nx-faint);--line:var(--nx-line);--accent:var(--nx-gold);--border:var(--nx-line);--bg:var(--nx-bg);
 --sans:Inter,'Segoe UI','PingFang SC','Microsoft YaHei UI','Microsoft YaHei',sans-serif;--serif:var(--sans);
 font-family:var(--sans);color:var(--nx-ink);background:var(--nx-bg);color-scheme:dark;
}
body.nexus-atrium-shell.day{
 --nx-bg:#f2f3ed;--nx-panel:rgba(252,252,248,.82);--nx-panel-solid:#fafaf5;--nx-raised:rgba(239,241,231,.92);
 --nx-ink:#1e2822;--nx-strong:#141d17;--nx-muted:#546356;--nx-faint:#748173;
 --nx-gold:#947134;--nx-gold-text:#7c5b22;--nx-gold-soft:rgba(156,122,58,.09);--nx-line:rgba(116,102,68,.16);--nx-line-strong:rgba(148,113,52,.42);
 --nx-button:linear-gradient(135deg,#8d6d35 0%,#6e5222 100%);--nx-button-solid:#7d6230;--nx-button-ink:#fffdf7;--nx-success:#288058;--nx-shadow:0 20px 52px rgba(32,40,28,.12),inset 0 1px 0 rgba(255,255,255,.75);color-scheme:light;
}
@keyframes nx-live-pulse{
 0%,100%{box-shadow:0 0 0 0 rgba(140,217,179,.55),0 0 8px rgba(140,217,179,.65)}
 50%{box-shadow:0 0 0 5px rgba(140,217,179,0),0 0 12px rgba(140,217,179,.9)}
}
body.nexus-atrium-shell .vignette{
 display:block!important;position:absolute;inset:0;pointer-events:none;z-index:1;
 background:radial-gradient(circle at 42% 48%,transparent 48%,rgba(10,14,12,.38) 100%),linear-gradient(180deg,rgba(12,16,14,.28) 0%,transparent 16%,transparent 82%,rgba(12,16,14,.36) 100%);
}
body.nexus-atrium-shell.day .vignette{
 background:radial-gradient(circle at 42% 48%,transparent 55%,rgba(165,152,120,.16) 100%),linear-gradient(180deg,rgba(255,252,242,.35) 0%,transparent 14%,transparent 85%,rgba(180,172,148,.22) 100%);
}
body.nexus-atrium-shell :is(button,input,textarea,select){font-family:var(--sans)}
body.nexus-atrium-shell :is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--nx-gold);outline-offset:3px}
body.nexus-atrium-shell a{color:var(--nx-gold-text)}
body.nexus-atrium-shell #viewport{background:var(--nx-bg)}
body.nexus-atrium-shell .glass,
body.nexus-atrium-shell :is(.room-heading,.collaboration,.status-strip,.camera-controls,.quote-detail,#message-form,.world-label,.hall-speech,.toast,#phase-strip,#hall-login-cta){
 background:var(--nx-panel)!important;border:1px solid var(--nx-line)!important;color:var(--nx-ink);box-shadow:var(--nx-shadow);backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);
}
/* Hide redundant badges, avatar "博", and scattered bottom banners; consolidate into top-right menu */
body.nexus-atrium-shell .header-tools>.avatar,
body.nexus-atrium-shell .header-tools>.demo-badge,
body.nexus-atrium-shell #hall-mode-banner,
body.nexus-atrium-shell #phase-strip,
body.nexus-atrium-shell .demo-watermark,
body.nexus-atrium-shell .scene-hint{display:none!important}
body.nexus-atrium-shell .nx-menu-item{
 width:100%;text-align:left;padding:8px 10px;border-radius:8px;font-size:12px;color:var(--nx-ink);background:transparent;border:1px solid transparent;cursor:pointer;transition:background .15s,color .15s;
}
body.nexus-atrium-shell .nx-menu-item:hover{background:var(--nx-gold-soft);color:var(--nx-gold-text);border-color:var(--nx-line)}
body.nexus-atrium-shell .room-heading b{color:var(--nx-gold-text);font-weight:600}
body.nexus-atrium-shell .room-heading code{font-family:Consolas,monospace;font-size:11px;padding:1px 4px;border-radius:4px;background:var(--nx-gold-soft);color:var(--nx-gold-text)}
body.nexus-atrium-shell .message-avatar{width:28px!important;height:28px!important;min-width:28px!important;max-width:28px!important;padding:0!important;overflow:hidden!important;display:inline-flex!important;align-items:center;justify-content:center;flex-shrink:0}
body.nexus-atrium-shell .message-avatar img,.wx-ava-img,.wx-cell-img,.wx-seat-img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:cover!important;display:block!important;border-radius:inherit}
/* Prevent 3D loading overlay & floating cards from flashing during 2D workbench boot */
html.boot-2d #build-status,html.boot-2d .room-heading,html.boot-2d .status-strip,html.boot-2d .bottom-bar,html.boot-2d #viewport{display:none!important}
html.boot-2d body:not(.hall2d) .collaboration{opacity:0!important}
body.nexus-atrium-shell .topbar{height:70px;background:var(--nx-panel)!important;border:0!important;border-bottom:1px solid var(--nx-line)!important;box-shadow:0 8px 32px rgba(0,0,0,.12);}
body.nexus-atrium-shell :is(.brand,.brand strong,.panel-heading h2,.member-row strong,.detail-row,.quote-detail h2,.build-status strong){color:var(--nx-ink);font-family:var(--sans)}
body.nexus-atrium-shell .brand strong{font-weight:550;letter-spacing:.025em}
body.nexus-atrium-shell :is(.brand small,.brand-divider,.room-switch button,.tabs button,.camera-controls button,.room-heading p,.room-heading .eyebrow,.panel-heading small,.message-meta em,.message-meta small,.system-message span,.composer-bottom>span,.privacy-note,.member-row small,.detail-row>small,.scene-hint,.demo-watermark,.quote-detail p,.build-status p){color:var(--nx-muted)}
body.nexus-atrium-shell .room-switch{background:var(--nx-gold-soft);border-color:var(--nx-line);padding:4px;gap:4px;border-radius:12px}
body.nexus-atrium-shell .room-switch button{border-radius:8px;font-size:12px;padding:9px 13px;border:1px solid transparent;transition:background .2s,color .2s}
body.nexus-atrium-shell .room-switch button:is(.active,.visual-selected){background:var(--nx-raised);border-color:var(--nx-line-strong);color:var(--nx-gold-text);box-shadow:inset 0 1px 0 #d8c39b0a}
body.nexus-atrium-shell :is(.icon-button,.demo-badge,.avatar){background:var(--nx-gold-soft);border:1px solid var(--nx-line);color:var(--nx-gold-text)}
body.nexus-atrium-shell .icon-button{font-size:11px;padding:7px 10px;border-radius:8px}
body.nexus-atrium-shell .avatar{border-radius:9px}
body.nexus-atrium-shell .atrium-brand{filter:saturate(.78)}
body.nexus-atrium-shell .room-heading{filter:none}
body.nexus-atrium-shell .room-heading h1{font-family:var(--sans);font-size:28px;font-weight:400;color:var(--nx-strong);line-height:1.55;letter-spacing:.025em;text-shadow:0 2px 20px var(--nx-bg)}
body.nexus-atrium-shell .room-heading p{text-shadow:0 2px 12px var(--nx-bg);font-size:12px}
body.nexus-atrium-shell .eyebrow::before{border-color:var(--nx-gold)}
body.nexus-atrium-shell .room-heading .eyebrow span{color:var(--nx-faint)}
body.nexus-atrium-shell .collaboration{border-radius:15px}
body.nexus-atrium-shell .panel-heading{background:none;padding:19px 20px 15px}
body.nexus-atrium-shell .panel-heading h2{font-size:18px;font-weight:500;letter-spacing:.02em}
body.nexus-atrium-shell .panel-heading small{font-size:9px;letter-spacing:.13em}
body.nexus-atrium-shell .connected{color:var(--nx-success);border:1px solid var(--nx-line);background:var(--nx-gold-soft);border-radius:6px;font-size:10px}
body.nexus-atrium-shell .tabs{border-bottom-color:var(--nx-line);padding-bottom:10px}
body.nexus-atrium-shell .tabs button{font-size:12px;background:transparent;border:1px solid transparent;border-radius:7px;padding:8px 6px}
body.nexus-atrium-shell .tabs button.active{background:var(--nx-gold-soft);border-color:var(--nx-line-strong);color:var(--nx-gold-text);box-shadow:none}
body.nexus-atrium-shell .tabs span{color:inherit}
body.nexus-atrium-shell .panel-content{padding:17px 19px;scrollbar-color:var(--nx-line-strong) transparent}
body.nexus-atrium-shell .message{margin-bottom:22px}
body.nexus-atrium-shell .message-meta{font-size:12px;color:var(--nx-strong);gap:7px}
body.nexus-atrium-shell .message-meta em{font-size:10px}
body.nexus-atrium-shell .message-meta small{font-size:10px;font-variant-numeric:tabular-nums}
body.nexus-atrium-shell .message p{color:var(--nx-ink);font-size:13px;line-height:1.85;letter-spacing:.01em;font-weight:400}
body.nexus-atrium-shell .message-avatar{width:25px;height:25px;border:1px solid var(--nx-line);background:var(--nx-gold-soft);color:var(--nx-gold-text);border-radius:7px}
body.nexus-atrium-shell .system-message{background:var(--nx-gold-soft);border-color:var(--nx-line);color:var(--nx-muted);font-size:12px}
body.nexus-atrium-shell .quote{background:linear-gradient(135deg,var(--nx-gold-soft) 0%,rgba(226,198,146,.03) 100%);border:1px solid var(--nx-line-strong);border-left:3px solid var(--nx-gold);box-shadow:0 8px 24px rgba(0,0,0,.1);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
body.nexus-atrium-shell .quote:hover{background:var(--nx-raised);border-color:var(--nx-gold);transform:translateY(-1px);box-shadow:0 12px 28px rgba(0,0,0,.16)}
body.nexus-atrium-shell :is(.quote small,.quote strong,.quote-detail>strong,.quote-detail>small){color:var(--nx-gold-text);font-family:var(--sans)}
body.nexus-atrium-shell .quote strong{font-size:22px;font-weight:600;letter-spacing:.02em;display:block;margin:3px 0}
body.nexus-atrium-shell .quote p{color:var(--nx-muted);font-size:12px}
body.nexus-atrium-shell #message-form{box-shadow:none;border-radius:11px!important;background:var(--nx-raised)!important;padding:10px 11px 9px!important;margin:0 13px 8px}
body.nexus-atrium-shell #message-input{background:transparent!important;border:0;color:var(--nx-ink)!important;font-size:13px;line-height:1.75;min-height:56px!important;box-shadow:none}
body.nexus-atrium-shell #message-input::placeholder{color:var(--nx-faint)!important}
body.nexus-atrium-shell :is(.send-button,.primary,#start-bid){background:var(--nx-button)!important;color:var(--nx-button-ink)!important;box-shadow:0 4px 14px rgba(210,175,110,.25)!important;border:1px solid var(--nx-line-strong);border-radius:8px;font-weight:600;transition:transform .15s ease,filter .15s ease}
body.nexus-atrium-shell :is(.send-button,.primary,#start-bid):hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}
body.nexus-atrium-shell .send-button{width:31px;height:31px}
body.nexus-atrium-shell .primary:disabled{opacity:.42}
body.nexus-atrium-shell .privacy-note{font-size:10px;line-height:1.55}
body.nexus-atrium-shell :is(.member-row,.detail-row){border-bottom-color:var(--nx-line)}
body.nexus-atrium-shell .member-row strong{font-size:13px}
body.nexus-atrium-shell .member-state{color:var(--nx-success)}
body.nexus-atrium-shell .member-state.away{color:var(--nx-gold-text)}
body.nexus-atrium-shell .member-state.offline{color:var(--nx-faint)}
body.nexus-atrium-shell .detail-row{font-size:12px}
body.nexus-atrium-shell #details>a{color:var(--nx-gold-text)!important;line-height:1.7}
body.nexus-atrium-shell .status-strip{border-radius:14px;min-height:72px}
body.nexus-atrium-shell .status-strip small{color:var(--nx-muted);font-size:10px;letter-spacing:.08em}
body.nexus-atrium-shell .status-strip small span,body.nexus-atrium-shell .status-strip em{color:var(--nx-faint)}
body.nexus-atrium-shell .status-strip strong{color:var(--nx-ink);font-size:13px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.nexus-atrium-shell #online-count{color:var(--nx-gold-text);font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}
body.nexus-atrium-shell .status-divider{background:var(--nx-line)}
body.nexus-atrium-shell .live-dot{background:var(--nx-success);width:6px;height:6px;display:inline-block;margin-right:6px;vertical-align:middle;animation:nx-live-pulse 2.4s infinite ease-in-out}
body.nexus-atrium-shell .camera-controls{border-radius:12px;padding:6px;gap:3px}
body.nexus-atrium-shell .camera-controls button{border-radius:8px;font-size:11.5px;box-shadow:none;padding:9px 12px;transition:all .18s ease}
body.nexus-atrium-shell .camera-controls button:is(.active,.visual-selected){color:var(--nx-gold-text);background:var(--nx-gold-soft);box-shadow:inset 0 0 0 1px var(--nx-line-strong);font-weight:600}
body.nexus-atrium-shell .camera-controls button:hover{background:var(--nx-raised);color:var(--nx-gold-text)}
body.nexus-atrium-shell .camera-controls>div{background:var(--nx-line)}
body.nexus-atrium-shell .quote-detail{box-shadow:var(--nx-shadow);border-radius:16px}
body.nexus-atrium-shell :is(#close-quote,.quote-detail p){color:var(--nx-muted)}
body.nexus-atrium-shell .world-label{color:var(--nx-ink);font-size:11px;border-radius:999px;padding:5px 11px;border:1px solid var(--nx-line-strong)!important;box-shadow:0 8px 24px rgba(0,0,0,.22)}
body.nexus-atrium-shell .hall-speech{color:var(--nx-strong);font-size:12px;line-height:1.65;border-radius:10px;border:1px solid var(--nx-gold)!important;box-shadow:0 10px 28px rgba(0,0,0,.28)}
body.nexus-atrium-shell :is(.toast,#hall-mode-banner,#quote-notice,#hall-login-cta){color:var(--nx-muted)!important}
body.nexus-atrium-shell #phase-strip{left:88px!important;bottom:178px!important;border-radius:11px!important;padding:5px 8px!important}
body.nexus-atrium-shell #phase-strip button{color:var(--nx-muted)!important;background:transparent;border:1px solid transparent;transition:all .15s ease}
body.nexus-atrium-shell #phase-strip button:is(:hover,.active){background:var(--nx-gold-soft);color:var(--nx-gold-text)!important;border-color:var(--nx-line-strong);font-weight:600}
body.nexus-atrium-shell :is(#hall-login-cta strong,#hall-login-cta p,#hall-login-cta li){color:var(--nx-ink)}
body.nexus-atrium-shell :is(input,select){color:var(--nx-ink);background:var(--nx-raised);border-color:var(--nx-line-strong)}
body.nexus-atrium-shell table{font-size:13px;color:var(--nx-ink);font-variant-numeric:tabular-nums}
body.nexus-atrium-shell :is(th,td){padding:12px 13px;border-bottom:1px solid var(--nx-line)}
body.nexus-atrium-shell th{background:var(--nx-gold-soft);color:var(--nx-gold-text);font-weight:500}
body.nexus-atrium-shell tbody tr:hover{background:var(--nx-gold-soft)}
body.nexus-atrium-shell .spinner{border-color:var(--nx-line);border-top-color:var(--nx-gold)}
/* Existing injected workbench / wizard tokens are aliases, never another palette. */
body.nexus-atrium-shell.hall2d{
 --h2-bg:var(--nx-bg);--h2-panel:var(--nx-panel-solid);--h2-panel2:var(--nx-raised);--h2-line:var(--nx-line);--h2-line2:var(--nx-line-strong);--h2-text:var(--nx-ink);--h2-strong:var(--nx-strong);--h2-muted:var(--nx-muted);--h2-faint:var(--nx-faint);--h2-accent:var(--nx-gold);--h2-green:var(--nx-success);--h2-green-soft:var(--nx-gold-soft);--h2-amber:var(--nx-gold-text);--h2-amber-soft:var(--nx-gold-soft);--h2-faint-soft:var(--nx-gold-soft);--h2-brand:var(--nx-gold-text);--h2-shadow:var(--nx-shadow);
}
body.nexus-atrium-shell.hall2d #hall2d-shell{grid-template-rows:minmax(0,1fr);min-height:0;overflow:hidden}
body.nexus-atrium-shell.hall2d #hall2d-center{min-height:0;overflow:hidden}
body.nexus-atrium-shell.hall2d .panel-content{min-height:0;max-height:none}
body.nexus-atrium-shell #bid-wizard{
 --wz-panel:var(--nx-panel-solid);--wz-panel2:var(--nx-raised);--wz-line:var(--nx-line);--wz-text:var(--nx-ink);--wz-muted:var(--nx-muted);--wz-strong:var(--nx-strong);--wz-accent:var(--nx-gold);
 background:var(--nx-panel-solid);border-color:var(--nx-line-strong);box-shadow:var(--nx-shadow);font-family:var(--sans);
}
body.nexus-atrium-shell #bid-wizard .wz-steps li.now,body.nexus-atrium-shell #bid-wizard .wz-act{background:var(--nx-button);border-color:var(--nx-line-strong);color:var(--nx-button-ink)}
body.nexus-atrium-shell #bid-wizard .wz-steps li.done{color:var(--nx-success);border-color:var(--nx-line-strong)}
body.nexus-atrium-shell #bid-wizard .wz-roster i.on{background:var(--nx-success);box-shadow:none}
@media(max-width:1200px){body.nexus-atrium-shell .room-switch button{font-size:11px;padding:9px 10px}}
@media(max-width:900px){body.nexus-atrium-shell .room-heading h1{font-size:23px}body.nexus-atrium-shell .camera-controls button{padding:9px 7px;font-size:10px}}
@media(max-width:640px){body.nexus-atrium-shell .topbar{height:64px}body.nexus-atrium-shell .room-heading h1{font-size:19px}body.nexus-atrium-shell .room-switch button{font-size:10px;padding:9px 7px}}
@media(max-width:960px){body.nexus-atrium-shell.hall2d #app{height:100vh;height:100dvh;min-height:0}body.nexus-atrium-shell.hall2d #hall2d-shell{position:fixed;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:76px 8px 8px}body.nexus-atrium-shell.hall2d #hall2d-left{padding:8px;gap:0;overflow:hidden}body.nexus-atrium-shell.hall2d #hall2d-left .wx-left-head{display:none}body.nexus-atrium-shell.hall2d #hall2d-left #wx-room-list{flex-direction:row;flex:none;gap:6px;overflow-x:auto;overflow-y:hidden;padding-bottom:2px}body.nexus-atrium-shell.hall2d #hall2d-left .wx-room-item{flex:0 0 auto;width:188px;padding:8px;gap:8px}body.nexus-atrium-shell.hall2d #hall2d-left .wx-group-av{width:34px;height:34px}body.nexus-atrium-shell.hall2d #hall2d-left .wx-room-sub,body.nexus-atrium-shell.hall2d #hall2d-left .wx-room-tags{display:none}body.nexus-atrium-shell.hall2d #hall2d-center{flex-direction:column}body.nexus-atrium-shell.hall2d .collaboration{height:auto!important;min-height:0;max-height:none!important;transform:none!important;opacity:1!important}body.nexus-atrium-shell.hall2d .panel-heading{padding:10px 14px;min-height:0}body.nexus-atrium-shell.hall2d .panel-heading small{display:none}body.nexus-atrium-shell.hall2d .panel-heading h2{font-size:14px}body.nexus-atrium-shell.hall2d .panel-content{padding:12px;max-height:none}body.nexus-atrium-shell.hall2d #message-form{margin:8px 10px 4px}body.nexus-atrium-shell.hall2d .privacy-note{margin:0 0 calc(6px + env(safe-area-inset-bottom,0px));font-size:9px}body.nexus-atrium-shell.hall2d .wx-msg-main{max-width:88%}body.nexus-atrium-shell.hall2d .wx-biz-card{min-width:0}}
