/* Restores the original Xigu pearl-glass visual system and its blue/lime semantics. */
:root { color-scheme:light; color:var(--color-fg-primary); background:var(--color-bg-canvas); --mint:var(--color-primary); --muted:var(--color-fg-muted); --accent:var(--color-primary); --line:var(--color-border-default); }
:root.dark { color-scheme:dark; }
body { background:var(--color-bg-canvas); color:var(--color-fg-primary); font-family:Inter,"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif; font-size:13px; line-height:1.5; -webkit-font-smoothing:antialiased; }
* { scrollbar-color:var(--color-border-strong) transparent; scrollbar-width:thin; }
button,input,select,textarea { font:inherit; color:inherit; }
button:hover { background:var(--color-bg-hover); color:var(--color-fg-primary); }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
a { color:var(--color-primary-label); text-underline-offset:3px; }
header { height:60px; padding:0 22px; gap:28px; background:var(--rail-bg); border-color:var(--color-border-default); box-shadow:var(--edge); backdrop-filter:blur(16px); position:relative; z-index:5; }
.brand { font-size:14px; font-weight:650; letter-spacing:0; gap:10px; color:var(--color-fg-primary); }
.brand small { font:9px var(--font-mono); color:var(--color-fg-muted); letter-spacing:1.8px; margin-top:2px; }
.brand img { display:block; }
.studio-nav button,.account-actions button { min-height:36px; padding:8px 13px; border-radius:10px; color:var(--color-fg-secondary); }
.studio-nav button[aria-current="page"] { background:var(--color-primary-subtle); color:var(--color-primary-label); font-weight:600; }
.account-actions #logout { color:var(--color-fg-muted); font-size:12px; }
.account-actions #theme-toggle { font-size:20px; width:36px; padding:0; }
.edition { font:10px var(--font-mono); padding:5px 9px; border-radius:6px; border-color:var(--color-border-default); color:var(--color-fg-muted); }
#viewer { grid-template-columns:260px minmax(340px,1fr) 286px; height:calc(100dvh - 90px); min-height:600px; padding:10px; gap:10px; }
#viewer aside { background:var(--surface); border:1px solid var(--color-border-default); border-radius:16px; box-shadow:var(--edge),0 2px 8px rgba(46,58,62,.025); }
#viewer .left-panel,#viewer .right-panel { padding:18px 16px; }
.panel-heading h1,.panel-heading h2 { font-size:17px; margin:6px 0; letter-spacing:-.4px; font-weight:650; }
.panel-heading p { margin-bottom:16px; font-size:12px; }
.eyebrow { font:9px var(--font-mono); letter-spacing:1.5px; color:var(--color-fg-muted); }
#viewer :is(p,small,label,legend,summary,button,select,input,output,span) { color:var(--color-fg-secondary); }
#viewer :is(h1,h2,h3,strong,b),#viewer .layer-name { color:var(--color-fg-primary); }
#viewer :is(.layer-name small,.chevron,.endpoints,.parameter-note,.source-note,.canvas-help,#detail-en) { color:var(--color-fg-muted); }
.tabs { border:0; background:var(--groove-bg); box-shadow:var(--groove-inset); border-radius:10px; padding:3px; margin-bottom:16px; }
.tabs button { border-radius:8px; font-size:12px; }
.tabs button.active { background:var(--surface); color:var(--color-primary-label)!important; box-shadow:0 1px 4px rgba(46,58,62,.08); }
.list-top { font-size:11px; color:var(--color-fg-muted); }
.list-top button { color:var(--color-primary-label)!important; }
.layer { background:var(--surface-solid); border-color:var(--color-border-default); border-radius:10px; margin-bottom:6px; box-shadow:var(--edge); }
.layer-head { padding:9px 10px; gap:8px; }
.layer-name { font-size:12px; }
.layer-name small { font-size:10px; margin-top:2px; }
.switch { background:var(--color-border-strong); }
.switch:after { background:var(--color-bg-panel); }
.switch:checked { background:var(--color-success); }
.switch:checked:after { background:var(--color-bg-panel); }
.atlas-children,.layer-children,.detail-card { border-color:var(--color-border-default); }
.region-tree summary { font-size:11px; }
.structure-row { border-color:var(--color-border-subtle); }
.structure-row:hover,.structure-row.selected { background:var(--color-primary-subtle); }
.structure-row input,.checkline input { accent-color:var(--color-primary); }
.structure-row button { background:transparent; }
.search-box { background:var(--input-bg); border-color:var(--color-border-default); border-radius:10px; box-shadow:var(--edge); }
.search-box input { background:transparent; color:var(--color-fg-primary)!important; }
.search-box input::placeholder { color:var(--color-fg-muted); }
.scope-note,.layer-tip { color:var(--color-fg-muted); }
.scope-note,.layer-tip p { font-size:10px; }
.left-bottom { padding-top:16px; margin-top:16px; border-color:var(--color-border-default); }
input[type=range] { background:var(--color-border-strong); accent-color:var(--color-primary); }
input[type=range]::-webkit-slider-thumb { background:var(--color-primary); box-shadow:0 0 0 3px var(--color-primary-subtle); }
.outline,.studio-btn { background:var(--pill-bg); border:1px solid var(--color-border-default); border-radius:10px; padding:9px 12px; min-height:36px; color:var(--color-fg-secondary); box-shadow:var(--edge),var(--pill-inset); font-size:12px; }
#viewer .viewport { background:var(--stage-shared-bg-gradient); border:1px solid var(--color-border-default); border-radius:18px; min-height:560px; box-shadow:inset 0 1px 0 var(--glass-line); }
.viewport:before { background-image:linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px); background-size:38px 38px; opacity:.65; }
.view-top { top:20px; left:22px; right:22px; }
.view-top h2 { font-size:18px; letter-spacing:-.5px; font-weight:600; margin:6px 0; }
.model-status { background:var(--surface); border-color:var(--color-border-default); border-radius:16px; font-size:10px; }
.model-status span { background:var(--color-success); }
.height-scale i { border-color:var(--tick); background:repeating-linear-gradient(0deg,transparent 0,transparent 24px,var(--tick) 24px,var(--tick) 25px); }
.orientation,.view-modes,.tools { background:var(--float-bg); backdrop-filter:blur(12px); border:1px solid var(--glass-line); box-shadow:var(--float-inset),0 6px 16px rgba(46,58,62,.08); border-radius:12px; }
.orientation button { border-radius:8px; }
.orientation button.active,.view-modes button.active,.tools button.active { background:var(--color-primary-subtle); color:var(--color-primary-label)!important; border-radius:8px; }
.view-modes button,.tools button { min-height:36px; }
.view-bottom { bottom:45px; left:18px; right:18px; }
.canvas-help { bottom:15px; font-size:10px; }
.sex-control button { background:var(--pill-bg); border-color:var(--color-border-default); border-radius:10px; font-size:11px; }
.sex-control button.active { color:var(--color-primary-label)!important; background:var(--color-primary-subtle); border-color:var(--color-primary-border); }
.sex-control { margin-bottom:18px; }
.param { margin-bottom:14px; }
.number-wrap { background:var(--input-bg); border-color:var(--color-border-default); border-radius:8px; }
.number-wrap input { color:var(--color-fg-primary)!important; font:13px var(--font-mono); }
.number-wrap span { font:10px var(--font-mono); }
.metric { background:var(--groove-bg); border-color:var(--color-border-default); border-radius:12px; padding:12px; }
.metric strong { color:var(--color-fg-primary); font:24px var(--font-mono); }
.metric small { color:var(--color-fg-muted); }
.parameter-note { font-size:10px; }
.detail-card { padding-top:16px; margin-top:16px; }
.detail-title h3 { font-size:17px; font-weight:600; }
#detail-text { font-size:12px; line-height:1.7; }
#detail-meta { background:var(--groove-bg); border-radius:10px; padding:8px 10px; font-size:11px; }
.source-note { font-size:10px; }
.source-note a,#viewer .text-button { color:var(--color-primary-label); }
select { background:var(--input-bg); color:var(--color-fg-primary); border-color:var(--color-border-default); border-radius:8px; font-size:12px; }
.annotation { background:var(--color-pin-bg); border-color:var(--color-pin-border); color:var(--color-fg-primary); border-radius:8px; box-shadow:0 2px 12px rgba(46,58,62,.08); }
.learning-actions { gap:6px; margin:12px 0; }
footer { height:30px; background:var(--plate-bg); color:var(--plate-soft); border-color:var(--plate-line); font:10px var(--font-mono); padding:0 18px; }
footer .footer-cross { color:var(--plate-lime); font-size:14px; }
#mesh-status { color:var(--plate-ink); }
dialog { color:var(--color-fg-primary); background:var(--surface-solid); border:1px solid var(--glass-line); border-radius:20px; padding:28px; box-shadow:0 24px 90px rgba(46,58,62,.18); }
dialog::backdrop { background:var(--color-bg-overlay); backdrop-filter:blur(9px); }
dialog h1 { margin:8px 0 12px; font-size:25px; font-weight:650; letter-spacing:-1px; }
dialog p { color:var(--color-fg-secondary); }
#auth-dialog { width:min(1080px,calc(100% - 40px)); padding:0; border-radius:24px; }
.auth-layout { display:grid; grid-template-columns:1fr 1fr; min-height:640px; }
.auth-showcase { display:flex; flex-direction:column; justify-content:space-between; padding:32px; background:var(--stage-shared-bg-gradient); border-right:1px solid var(--color-border-default); }
.auth-showcase-brand { display:flex; align-items:center; gap:10px; font-size:14px; font-weight:600; }
.auth-model { display:grid; place-items:center; min-height:240px; }
.auth-model img { max-width:220px; max-height:280px; filter:drop-shadow(0 18px 25px rgba(46,58,62,.14)); }
.auth-showcase-copy h2 { font-size:28px; line-height:1.3; letter-spacing:-1px; margin:10px 0; font-weight:650; }
.auth-showcase-copy p { margin:10px 0; font-size:12px; }
.auth-data { display:flex; gap:28px; margin-top:20px; font:18px var(--font-mono); }
.auth-data small { display:block; font:10px Inter,"Microsoft YaHei",sans-serif; color:var(--color-fg-muted); margin-top:4px; }
.auth-form-side { display:flex; flex-direction:column; justify-content:center; padding:42px; }
.auth-brand { color:var(--color-fg-muted); font:9px var(--font-mono); letter-spacing:1.5px; }
.auth-form-side>p { font-size:12px; margin:0 0 18px; }
.auth-form-side>p.error { margin-bottom:10px; }
.auth-form-side>p.muted { margin-top:22px; font-size:10px; }
.auth-form-side .studio-links { margin-top:18px; font-size:11px; }
.signed-out>header .studio-nav,.signed-out>header .account-actions,.signed-out>footer { visibility:hidden; }
.studio-form label { color:var(--color-fg-secondary); font-size:12px; }
.studio-form input,.studio-form textarea,.studio-form select { min-height:40px; border-color:var(--color-border-default); background:var(--input-bg); border-radius:10px; color:var(--color-fg-primary); box-shadow:var(--edge); }
.studio-form button { border-color:var(--color-border-default); border-radius:10px; min-height:40px; }
.studio-form .primary,.studio-btn.primary { color:#fff; background:var(--color-primary-solid); border-color:var(--color-primary-solid); box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 4px 10px var(--color-primary-subtle); }
.studio-form .primary:hover,.studio-btn.primary:hover { background:var(--color-primary-solid-hover); }
.error { color:var(--color-danger-label)!important; }
.success { color:var(--color-success-label)!important; }
.muted { color:var(--color-fg-muted); font-size:12px; }
.studio-links button { color:var(--color-primary-label); }
#workspace-page { max-width:1160px; padding:36px 28px 70px; min-height:calc(100dvh - 90px); }
.page-heading { margin-bottom:28px; }
.page-heading h1 { margin:8px 0; font-size:25px; font-weight:650; letter-spacing:-1px; }
.page-heading p { margin:0; }
.workspace-tabs { width:fit-content; gap:4px; margin:20px 0; padding:4px; background:var(--groove-bg); border-radius:12px; box-shadow:var(--groove-inset); }
.workspace-tabs button { padding:9px 18px; min-height:36px; border:0; border-radius:9px; color:var(--color-fg-secondary); font-size:12px; }
.workspace-tabs button.active { background:var(--surface); color:var(--color-primary-label); box-shadow:0 1px 5px rgba(46,58,62,.08); font-weight:600; }
.cards { gap:18px; margin-top:20px; }
.studio-card { padding:24px; background:var(--surface); border-color:var(--color-border-default); border-radius:16px; box-shadow:var(--edge),0 4px 14px rgba(46,58,62,.03); }
.studio-card h2 { font-size:17px; font-weight:600; margin:0 0 14px; }
.status { font:10px var(--font-mono); border-radius:7px; background:var(--groove-bg); color:var(--color-fg-secondary); padding:5px 9px; border:1px solid var(--color-border-subtle); }
.images img { background:var(--groove-bg); border:1px solid var(--color-border-default); border-radius:9px; }
.table-wrap { background:var(--surface-solid); border:1px solid var(--color-border-default); border-radius:16px; box-shadow:var(--edge); }
table { font-size:12px; }
th,td { padding:15px 18px; border-color:var(--color-border-default); }
th { background:var(--groove-bg); color:var(--color-fg-muted); font-size:11px; font-weight:500; }
tr:last-child td { border:0; }
#create-user { grid-template-columns:1fr 1fr; align-items:end; margin-top:20px; }
#create-user h2,#create-user p { grid-column:1/-1; margin:0; }
#create-user button { justify-self:start; }
#toast { bottom:46px; background:var(--color-bg-toast); color:var(--color-fg-primary); border-color:var(--glass-line); border-radius:12px; box-shadow:0 8px 32px rgba(46,58,62,.14); backdrop-filter:blur(14px); }
.empty { background:var(--surface); border:1px solid var(--color-border-default); border-radius:16px; color:var(--color-fg-muted); }
@media(max-width:1100px) { header { gap:14px; padding:0 14px; } .edition { display:none; } #viewer { grid-template-columns:230px minmax(300px,1fr) 250px; gap:8px; padding:8px; } #viewer .left-panel,#viewer .right-panel { padding:15px 12px; } }
@media(max-width:900px) { header { height:auto; min-height:60px; padding:12px 16px; } #viewer { height:auto; grid-template-columns:220px 1fr; min-height:0; } #viewer .right-panel { grid-column:1/-1; } #viewer .viewport { min-height:650px; } .auth-layout { min-height:600px; } .auth-showcase,.auth-form-side { padding:26px; } .auth-model img { max-width:180px; } }
@media(max-width:600px) { .auth-layout { display:block; min-height:0; } .auth-showcase { display:none; } .auth-form-side { padding:30px 24px; } #auth-dialog { width:calc(100% - 24px); } #viewer { display:flex; flex-direction:column; } #viewer .viewport { min-height:570px; order:0; } #viewer .left-panel { order:1; } #viewer .right-panel { display:block; order:2; } #workspace-page { padding:26px 16px 60px; } #create-user { grid-template-columns:1fr; } .workspace-tabs { width:100%; } .workspace-tabs button { flex:1; padding:9px; } }
