/* ============================================================ SHELL */
.app{position:relative;z-index:1;height:100dvh;display:grid;grid-template-rows:var(--rail) 1fr;grid-template-columns:minmax(0,1fr) minmax(460px,46%);grid-template-areas:"rail rail" "stage panel"}

.rail{grid-area:rail;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:0;background:transparent;backdrop-filter:blur(8px)}
.brand{display:flex;align-items:baseline;gap:10px;user-select:none}
.brand b{font-weight:700;letter-spacing:.32em;font-size:11px;}
.brand i{font-family:var(--voice);font-style:italic;font-size:15px;color:var(--brass-2);}
.brand small{font-family:var(--data);font-size:10px;color:var(--ink-4)}
.tabs{display:flex;align-items:center;gap:14px}
.tabs .seg button{padding:5px 16px;letter-spacing:.01em;font-size:11px;position:relative;display:inline-flex;align-items:center;gap:8px}
.tabs .seg button[aria-disabled="true"]{color:var(--ink-4);cursor:default}
.tab-dot{width:6px;height:6px;border-radius:50%;background:var(--brass);box-shadow:0 0 8px var(--brass);display:none}
.tab-dot.on{display:inline-block}
.sitting{display:none;align-items:center;gap:8px;font-size:11px;letter-spacing:.06em;color:var(--ink-2)}
.sitting .led{width:6px;height:6px;border-radius:50%;background:var(--brass);box-shadow:0 0 8px var(--brass);animation:blink 1s infinite}
.sitting .mono{color:var(--ink-4)}
.app[data-state="council"] .sitting{display:inline-flex}
.app[data-state="council"] .tabs .seg{opacity:.5;pointer-events:none}
.rail-actions{display:flex;align-items:center;gap:6px}
.icon-btn{height:32px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;color:var(--ink-3);font-size:11px;font-weight:600;letter-spacing:.06em;transition:.2s}
.icon-btn:hover{color:var(--ink);background:rgba(20,20,25,.054)}
.icon-btn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lang-toggle .lz,.lang-toggle .en{font-family:var(--data);font-size:10px}
.lang-toggle .sep{color:var(--ink-4)}
[data-lang="zh"] .lang-toggle .lz,[data-lang="en"] .lang-toggle .en{color:var(--accent-2)}
