/* @deprecated The site shell is rebuilt on Sidebar and the component kit in Phase 5 P1, and this
   file is deleted in P5. It still dresses the pages that have not moved, so it is loaded until then;
   nothing new may add a rule here. */
.site-brand img { flex-shrink:0; object-fit:contain; }
.site-mobile-brand { display:none; }
.site-brand > span { display:flex; align-items:baseline; gap:6px; min-width:0; white-space:nowrap; font-size:var(--ui-text-title); line-height:1.2; font-weight:500; letter-spacing:-.01em; color:var(--ui-fg-2); }
.site-brand strong { font-weight:650; color:var(--ui-fg-1); }
.site-nav-link small { display:block; font-size:var(--ui-text-label); font-weight:400; margin-top:4px; }
body:is([data-page="resources"],[data-page="enemy-editor"],[data-page="room-editor"],[data-page="audio"],[data-page="account"],[data-page="community"],[data-page="admin"]) { min-height:100dvh; height:auto; overflow:auto; }

/* 动作行与主按钮：填充与文字分别用现有的主操作令牌，浅色主题不写死文字色。 */
.forge-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; }
.forge-actions a { color:var(--ui-accent-ink); text-underline-offset:4px; line-height:1.5; }
.forge-actions .forge-primary,.forge-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:12px 20px; min-height:var(--ui-touch); border:1px solid transparent; border-radius:var(--ui-radius-control); background:var(--ui-accent); color:var(--ui-accent-contrast); text-decoration:none; font-weight:600; }
.forge-primary:hover { background:var(--ui-accent-hover); }
.forge-primary:disabled { opacity:.65; cursor:not-allowed; }

@media(max-width:760px) {
 .site-mobile-brand { display:inline-flex; flex-shrink:0; align-items:center; }
 .site-page .site-header { gap:12px; }
}
.site-preferences { margin-left:auto; display:flex; align-items:center; gap:8px; flex-shrink:0; }

.forge-icon-button,.forge-icon-label,.forge-lucide-label { display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.forge-icon-button svg,.forge-icon-label svg { width:18px; height:18px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.forge-lucide-icon { display:inline-flex; align-items:center; justify-content:center; width:18px; height:18px; flex:0 0 18px; }
.forge-lucide-icon>svg { display:block; width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.forge-inline-icon { display:inline-flex; vertical-align:middle; margin-inline-start:8px; }
.site-page .forge-icon-button,.community-dialog .forge-icon-button { width:var(--ui-control-h); min-width:var(--ui-control-h); height:var(--ui-control-h); min-height:var(--ui-control-h); padding:0; box-sizing:border-box; }
.forge-icon-button:focus-visible { outline:2px solid var(--ui-accent-ink); outline-offset:-2px; }

.forge-map { padding:clamp(24px,6vw,64px); }
.forge-map-state { max-width:480px; margin:32px auto; padding:32px; background:var(--ui-bg-raised); border:1px solid var(--ui-line-strong); border-radius:var(--ui-radius-overlay); text-align:center; box-shadow:var(--ui-shadow-e1); }
.forge-map-state h2 { font-size:var(--ui-text-title); margin:16px 0 8px; }
.forge-map-state p { color:var(--ui-fg-2); margin:0 0 24px; }
.forge-map-icon svg { width:32px; height:32px; fill:none; stroke:var(--ui-accent-ink); stroke-width:1.5; }
@media(pointer:coarse) { .site-page .forge-icon-button,.community-dialog .forge-icon-button { width:var(--ui-touch); height:var(--ui-touch); min-width:var(--ui-touch); min-height:var(--ui-touch); } }

