/* AURORA / shared visual layer. Existing auth, charts, forms and controls retain their contracts. */
:root{color-scheme:dark;--bg:#08060e;--bg-deep:#050309;--surface:#120e1c;--surface-raised:#1a1329;--surface-soft:#0e0a16;--border:#3a2855;--border-soft:#2a1d3c;--text:#f5eefc;--text-soft:#d9cce8;--muted:#b1a0c6;--accent:#bc83fa;--accent-soft:#b379ec18;--cyan:#d4b0fc;--cyan-soft:#d4b0fc12;--blue:#bb8df0;--blue-soft:#a878e514;--green:#a2dfc3;--red:#f1a1b6;--radius:20px;background:#08060e;color:#f5eefc}
body{background:radial-gradient(ellipse at 80% 0,#28103d70,transparent 45%),#08060e;color:var(--text)}
body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 8% 70%,#24103540,transparent 40%)}
::selection{background:#8f4ed480;color:#fff}:focus-visible{outline-color:#d8adff}
a:hover{color:#e0bbff}input,select,textarea{accent-color:#b985f4}input:focus,select:focus{border-color:#bb80f4}
.topbar{background:#0c0813ee;border-bottom-color:#352347}.sidebar{background:linear-gradient(180deg,#100b19,#08060e);border-right-color:#2a1d3c}
.side-nav a{border:1px solid transparent}.side-nav a[aria-current=page]{background:linear-gradient(90deg,#8c42d62a,#8c42d608);border-color:#a965f329;color:#e1baff;box-shadow:inset 3px 0 #bb80f4}
.brand-mark,.mobile-brand{background:linear-gradient(135deg,#dcabff,#8141c1);box-shadow:0 0 28px #a557ed25;color:#170b28}.brand-symbol,.brand-period{color:#be8df5}
.source-strip{background:#110c19aa}.account-view-hint{border-bottom-color:#2a1d3c}.account-view-picker select{background:#160e23;border-color:#493060}
.mobile-dock{background:#100b18f5;border-color:#39244e}.mobile-dock a[aria-current=page]{background:#a05cea18;color:#d7afff}.mobile-owner-popover{background:#1a1028;border-color:#593770}
.panel,.report-card,.progress-panel,.kpi,.metric{background:linear-gradient(145deg,#191122,#100c18);border-color:#38244e;box-shadow:0 10px 30px #00000015}
.panel-heading h3,.section-heading h2{color:#f2e8fc}.eyebrow{color:#b899d1}.banner{background:#161021}.empty-state{background:#130d1d;border-color:#493359}
.button,.icon-button{background:#20162e;border-color:#51346b;color:#e3d5f0}.button:hover:not(:disabled),.icon-button:hover:not(:disabled){background:#332044;border-color:#af72e3}
.button--primary{background:linear-gradient(135deg,#bb82f2,#8f50d0);color:#10091a;border-color:#c591f4;box-shadow:0 4px 20px #974edd22}
.button--primary:hover:not(:disabled){background:linear-gradient(135deg,#d3a0ff,#b57ae9);color:#10091a;border-color:#e7c5ff}.button--danger{background:#3b14221f;color:#f4afc0;border-color:#754456}
.button--quiet{background:transparent}.trading-controls{background:#130d1e}.trading-switch-card{background:#1c1228;border-color:#443053}.account-monogram{color:#cf9ffc;background:#a264db15;border-color:#975ac43d}
.kpi--primary{background:radial-gradient(circle at 90% 20%,#8c45bf45,transparent 80%),linear-gradient(130deg,#3a1c56,#1a1028);border-color:#8550aa;color:#f3e7ff}.kpi--primary>strong{color:#f8efff}.kpi--primary span,.kpi--primary small,.kpi--primary .ui-icon{color:#d7bae9}
.kpi{min-height:130px}.kpi-heading{margin-bottom:1.1rem}.kpi>strong{letter-spacing:-.04em}.kpi-grid{margin:1.1rem 0}
.overview-hero{min-height:0;margin:0 0 1.5rem}.overview-hero h2{font-size:clamp(2rem,3.6vw,3.45rem)}.overview-hero h2 span{color:#c48ff3}.overview-hero .hero-art{display:none}.hero-copy{width:100%;max-width:none}.overview-hero .hero-actions{margin-top:1rem}.hero-capabilities{color:#b29ac5}.hero-capabilities span:before{background:#b57be7}
.analytics-plot,.chart-container{background:#0b0712}.analytics-plot svg path{stroke:#c187f5}.analytics-label{color:#c1a4d8}.payoff-metric{background:#150d20}.analytics-outcomes{color:#d3b4ea}
.city-terminal,.council-room{overflow:hidden;border:1px solid #593573;border-radius:24px;background:radial-gradient(ellipse at 50% 0,#42225b55,transparent 65%),#0c0813;box-shadow:0 18px 65px #0004,inset 0 1px #dfb1ff0d;margin-bottom:1.5rem}
.city-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.55rem 1.6rem .2rem}.city-heading h3{font-size:clamp(1.45rem,2vw,2rem);font-weight:500;letter-spacing:-.045em;margin:0}.city-heading .eyebrow{color:#bc82e7;font-size:.62rem;letter-spacing:.21em;margin:0 0 .4rem}
.city-lab-link{font-size:.78rem;color:#dcc0f1;text-decoration:none;border:1px solid #533665;border-radius:25px;padding:.65rem .9rem;min-height:44px;display:flex;align-items:center;white-space:nowrap;background:#21132d}
.city-source{margin:0;padding:.35rem 1.6rem 1rem;color:#b199c4;font:11px/1.7 Consolas,ui-monospace,monospace;letter-spacing:.025em;overflow-wrap:anywhere}
.city-layout,.council-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;border-top:1px solid #2c1a3d;border-bottom:1px solid #2c1a3d}
.city-world,.council-world{position:relative;min-width:0;background:#080510}.aurora-scene{height:480px;width:100%;min-width:0;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#311447,#080510 75%)}
.aurora-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}.aurora-canvas:active{cursor:grabbing}.scene-fallback{position:absolute;inset:25% 10%;display:grid;place-items:center;text-align:center;font-size:.85rem;line-height:1.9;color:#d2b3e6;pointer-events:none}
.city-building-labels,.city-label-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.city-label-connectors{overflow:hidden}.city-label-connectors line{stroke:#c28aff;stroke-width:1;stroke-opacity:.6}.city-label-connectors circle{fill:#e5b7ff;filter:drop-shadow(0 0 4px #c56bff)}
.city-building-label{position:absolute;width:154px;min-height:44px;display:grid;gap:3px;text-align:left;padding:10px 12px;border:1px solid #8b58b9;background:linear-gradient(140deg,#29163dee,#100a1aef);color:#f1dfff;border-radius:12px;box-shadow:0 8px 22px #0006,inset 0 1px #dfb3ff25;pointer-events:auto;cursor:pointer;backdrop-filter:blur(10px);font-variant-numeric:tabular-nums;line-height:1.35}
.city-building-label:hover,.city-building-label[aria-pressed=true]{border-color:#e0abff;background:linear-gradient(130deg,#452454f2,#1b1026f5);box-shadow:0 0 24px #b564ee30,0 8px 22px #0007}.city-building-label:focus-visible{outline:2px solid #f1d3ff;outline-offset:3px}.city-building-label--hq{border-color:#b886da}.building-name{font-size:12px;font-weight:650;letter-spacing:.055em;overflow-wrap:anywhere}.building-period{color:#c1a2d8;font-size:9px}.building-result{font-size:18px;font-weight:550;letter-spacing:-.035em;overflow-wrap:anywhere}.building-positions{font-size:9px;color:#bea6d0;border-top:1px solid #734a914d;padding-top:5px;overflow-wrap:anywhere}.building-positions.has-open-positions{color:#f2d4ff}.building-positions.has-open-positions:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#db9dff;box-shadow:0 0 8px #ba60fa;margin:0 5px 1px 0}.city-label-overflow{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);border:1px solid #57306f;border-radius:20px;padding:5px 10px;color:#d9b6ed;background:#160b24eb;font-size:10px;max-width:95%;white-space:nowrap;pointer-events:none}
.city-building-label[hidden],.city-label-overflow[hidden]{display:none!important}.aurora-scene:not([data-scene-state=ready]) .city-building-labels,.aurora-scene:not([data-scene-state=ready]) .city-label-connectors,.aurora-scene:not([data-scene-state=ready]) .city-label-overflow{visibility:hidden}
.city-positions{border-bottom:1px solid #362044;padding:1.3rem 1.5rem;background:linear-gradient(120deg,#1e112855,#100a19)}.city-positions-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.city-positions-heading .eyebrow{font-size:9px;letter-spacing:.18em;color:#b98bd6;margin:0 0 .4rem}.city-positions-heading h4{font-size:1.05rem;font-weight:500;letter-spacing:-.025em;margin:0}.city-positions-heading a{font-size:11px;white-space:nowrap;min-height:44px;display:flex;align-items:center}.city-positions-status{font-size:11px;line-height:1.7;color:#bca2ce;margin:.7rem 0}.city-position-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:.8rem}.city-position-card{padding:1rem;background:linear-gradient(135deg,#251632,#100b19);border:1px solid #543467;border-radius:14px;min-width:0}.city-position-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem}.city-position-top>strong{font-size:.9rem;letter-spacing:.04em;overflow-wrap:anywhere}.city-position-side{padding:3px 8px;border:1px solid #79518d65;border-radius:6px;font:10px/1.5 Consolas,monospace}.city-position-result{display:flex;justify-content:space-between;align-items:center;gap:.6rem;padding:.8rem 0;border-bottom:1px solid #48305b}.city-position-result>span{font-size:11px;color:#bda3d0}.city-position-result>strong{font-size:1.35rem;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.city-position-levels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem .5rem;margin:.85rem 0 0}.city-position-levels dt{color:#ae90c2;font-size:10px}.city-position-levels dd{margin:.25rem 0 0;color:#e1cbea;font:11px/1.4 Consolas,monospace;overflow-wrap:anywhere}.city-position-card>small{display:block;color:#b79aca;font-size:10px;margin-top:.7rem;overflow-wrap:anywhere}
@media(max-width:540px){#trading-city-scene{height:450px}.city-building-label{width:126px;padding:8px 9px;border-radius:10px;gap:2px}.building-name{font-size:11px}.building-result{font-size:16px}.building-period,.building-positions{font-size:8px}.city-positions{padding:1rem}.city-positions-heading h4{font-size:.95rem}.city-position-cards{grid-template-columns:1fr}.city-position-card{padding:.85rem}}
.scene-controls{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:center;position:relative;margin:.1rem .8rem .4rem}.scene-controls button{min-height:44px;min-width:44px;display:grid;place-items:center;padding:.5rem .75rem;color:#dbc0f0;background:#22132d;border:1px solid #49305e;border-radius:8px;font-size:.83rem}.scene-controls button:hover{background:#41214f;border-color:#af74d5}
/* Name-only pins: small visible pill, full 44px touch target. No money on roofs. */
.city-building-label{width:auto;max-width:140px;min-height:44px;padding:10px 8px;display:flex;align-items:center;gap:6px;border:0;border-radius:20px;background:transparent;box-shadow:none;backdrop-filter:none;isolation:isolate}
.city-building-label:before{content:"";position:absolute;inset:8px 0;border:1px solid #9261b8;background:#1a1029ed;border-radius:20px;box-shadow:0 3px 12px #0007;z-index:-1}
.city-building-label:hover,.city-building-label[aria-pressed=true]{background:transparent;box-shadow:none;border:0}
.city-building-label:hover:before,.city-building-label[aria-pressed=true]:before{background:#3b1f53;border-color:#e4b7ff;box-shadow:0 0 14px #b56dea44}
.city-building-label .building-name{font-size:10px;line-height:1.2;letter-spacing:.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.building-dot{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:#deb3ff;box-shadow:0 0 7px #c27aff}
.scene-hint{color:#ad8cbf;text-align:center;font-size:11px;margin:.4rem 1rem 1rem;line-height:1.7}
.city-detail{min-width:0;padding:2.2rem 1.4rem;background:linear-gradient(160deg,#21142de8,#110b19);border-left:1px solid #362145;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.city-detail .eyebrow{color:#be8ae7;font-size:.63rem;letter-spacing:.15em;overflow-wrap:anywhere}.city-detail h4{margin:0 0 1.8rem;font-weight:500;font-size:1.35rem;letter-spacing:-.035em;overflow-wrap:anywhere}
.city-detail>span{font-size:.75rem;color:#b7a0c7}.city-detail>strong{display:block;font-size:clamp(1.7rem,2.4vw,2.7rem);font-weight:500;color:#f5e5ff;letter-spacing:-.05em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%}
.city-detail dl{width:100%;margin:1.3rem 0 .4rem}.city-detail dl>div{display:grid;gap:.15rem;padding:.75rem 0;border-top:1px solid #432753}.city-detail dt{font-size:.68rem;color:#b6a0c7}.city-detail dd{margin:0;font-size:1rem;color:#e8d3f7;font-variant-numeric:tabular-nums}.city-detail>p:not(.eyebrow){font-size:.73rem;line-height:1.8;color:#bda6cf;overflow-wrap:anywhere;margin:1rem 0}.city-detail .button{margin-top:.8rem;width:100%}.city-detail .text-link{font-size:.73rem}
.city-market-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:.55rem;padding:1.2rem 1.5rem .6rem}.city-market{min-width:0;text-align:left;display:grid;gap:.25rem;padding:.75rem;border:1px solid #3d294d;background:#160e20;color:#cdb6de;border-radius:10px;min-height:60px;font-size:.74rem;transition:border-color .15s,background .15s}.city-market[aria-pressed=true]{border-color:#c084ed;background:#392048;color:#efdaff}.city-market:hover{background:#2b163a;border-color:#b378d7}.city-market strong{font-size:.89rem;font-weight:500;font-variant-numeric:tabular-nums}.city-positive{color:#a4ddbe}.city-negative{color:#f1a1b6}.city-caption{font-size:11px;color:#b09abc;line-height:1.8;margin:.55rem 1.5rem 1.3rem}
.aurora-scene--council{height:380px}.council-seats{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:.2rem 1.2rem 1rem}.council-seats button{display:flex;align-items:center;gap:.75rem;text-align:left;padding:.8rem;border:1px solid #4f3262;border-radius:12px;background:#1c1028;color:#dec5ee}.council-seats button[aria-pressed=true]{border-color:#ce93ff;background:#442156}.seat-symbol{display:grid;place-items:center;flex:0 0 34px;height:38px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(135deg,#f0c5ff,#8745bb);color:#1c0e27;font-weight:600}.council-seats small{display:block;color:#bfa6cf;font-size:11px;margin-top:.2rem}.council-detail h4{margin-bottom:.5rem}.council-detail .council-role-status{color:#d3acd9;margin:.5rem 0 1.4rem}.council-detail>strong{font-size:3.5rem}.council-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:1.5rem;gap:1rem}.council-metrics>div{display:grid;gap:.4rem;border-right:1px solid #40284f}.council-metrics>div:last-child{border-right:0}.council-metrics span{font-size:.71rem;color:#bda4cd}.council-metrics strong{font-size:1.9rem;font-weight:500;color:#e5cbfb}.council-services{display:flex;gap:.65rem 1.5rem;flex-wrap:wrap;padding:1rem 1.5rem;border-top:1px solid #372244;color:#ac95bf;font-size:11px}.council-services strong{color:#dac1ec;font-weight:500}
.council-evidence{padding:1rem 0 2rem}.council-evidence h3{margin:.3rem 0 .6rem;font-size:1.6rem;letter-spacing:-.045em;font-weight:500}.council-evidence>.muted{font-size:.8rem;max-width:900px}.council-findings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.council-finding{padding:1.5rem;border:1px solid #462958;border-radius:16px;background:linear-gradient(150deg,#21112e,#130c1d);min-width:0}.council-finding .eyebrow{font-size:.6rem;line-height:1.7;color:#c490e7}.council-finding h4{font-weight:500;font-size:1.2rem;letter-spacing:-.03em;margin:.5rem 0 .8rem}.council-finding>p:not(.eyebrow){font-size:.76rem;line-height:1.85;color:#c0a6d0}.council-finding a{color:#d0a4ec}
.access{background:radial-gradient(ellipse at 15% 40%,#3d155449,transparent 65%),#08060e}.access-header{border-color:#39214c}.access-card{background:linear-gradient(145deg,#231530ee,#130d1ef5);border-color:#68417d;box-shadow:0 25px 90px #0006,inset 0 1px #efcaff15}.access h1 span{color:#ce9afa;background:linear-gradient(100deg,#deb4ff,#a963e4);background-clip:text;-webkit-text-fill-color:transparent}.access-art{display:none}.access .hero-description{color:#bfa8d0}.access input{background:#110b19;border-color:#513063;color:#f4eaff}.access input:focus{border-color:#c590f4;outline-color:#d9acff}.access form button{background:linear-gradient(135deg,#c594f2,#9653ca);color:#190d24;border-color:#c58ced;box-shadow:0 8px 30px #a85bca25}.access form button:hover{background:#d6a5f8}.access .hero-footnote{color:#a98abf;font-size:10px}.aurora-scene--login{height:325px;border-radius:20px;border:1px solid #462852;margin:1.5rem 0 .8rem;max-width:580px}.access-shell{gap:clamp(2rem,5vw,5rem)}
.access-footer,.workspace-footer{border-color:#362146;color:#a187b5}.access .portal-label{color:#cbb0de}.member-header{background:#100919}.member-main .panel,.member-main article{border-color:#432652}.member-brand{color:#d7aff6}
@media(min-width:1200px){#main-content{padding:2rem 2.2rem 4rem}.sidebar{width:235px}.content-shell{margin-left:235px}.overview-hero .hero-copy{display:grid;grid-template-columns:1fr auto;align-items:center}.overview-hero .eyebrow,.overview-hero h2{grid-column:1}.overview-hero .hero-copy>p:not(.eyebrow){display:none}.overview-hero .hero-actions{grid-column:2;grid-row:1/4;margin:0}.overview-hero .hero-capabilities{display:none}.city-layout{grid-template-columns:minmax(0,1fr) 290px}.aurora-scene{height:510px}.aurora-scene--council{height:420px}.aurora-scene--login{height:325px}}
@media(max-width:900px){.city-layout,.council-layout{grid-template-columns:1fr}.city-detail{border-left:0;border-top:1px solid #40274e;display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1.2rem;padding:1.3rem}.city-detail .eyebrow,.city-detail h4,.city-detail>p,.city-detail>span,.city-detail>strong{grid-column:1}.city-detail h4{margin:0 0 .7rem}.city-detail dl{grid-column:2;grid-row:1/6;margin:0}.city-detail>.button{grid-column:2;grid-row:6;margin:0}.city-detail>.text-link{grid-column:2;grid-row:7}.city-detail>p:not(.eyebrow){margin:.5rem 0}.city-detail>strong{font-size:2rem}.council-detail>strong{font-size:3rem}.council-detail #council-role-purpose,.council-detail #council-role-extra{grid-column:2}.council-detail #council-role-purpose{grid-row:1/4}.council-detail #council-role-extra{grid-row:4/7}.council-findings{grid-template-columns:1fr}.city-heading{padding:1.2rem 1.2rem .2rem}.city-source{padding-left:1.2rem;padding-right:1.2rem}.city-lab-link{white-space:normal;max-width:145px;text-align:center;line-height:1.4}.aurora-scene{height:430px}.aurora-scene--council{height:350px}.aurora-scene--login{height:280px}}
@media(max-width:540px){#main-content{padding:1.25rem .75rem 110px}.city-heading{align-items:flex-start;gap:.6rem}.city-heading h3{font-size:1.4rem}.city-heading .badge{max-width:115px;font-size:10px}.city-lab-link{font-size:11px;max-width:110px;padding:.55rem}.city-source{font-size:10px}.city-terminal,.council-room{border-radius:18px}.aurora-scene{height:380px}.aurora-scene--council{height:300px}.city-detail{padding:1.1rem;gap:.2rem .8rem}.city-detail h4{font-size:1.15rem}.city-detail>strong{font-size:1.6rem}.city-detail dd{font-size:.92rem}.city-detail>.button{font-size:.7rem;padding:.6rem}.city-market-list{padding:.9rem;gap:.5rem;grid-template-columns:repeat(2,minmax(0,1fr))}.city-market{min-height:60px}.city-caption{margin:.5rem 1rem 1.1rem}.council-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:1.1rem;gap:1rem}.council-metrics>div:nth-child(2){border-right:0}.council-seats{padding:0 .8rem .8rem;gap:.5rem}.council-seats button{padding:.65rem;gap:.5rem;font-size:.84rem}.council-seats small{font-size:10px}.seat-symbol{flex-basis:27px;height:31px}.council-detail>strong{font-size:2.8rem}.council-services{padding:1rem}.council-finding{padding:1.2rem}.access .access-shell{padding-top:1.5rem}.access h1{font-size:2.3rem}.aurora-scene--login{height:230px}.access-header{padding:1.1rem}.hero-description{font-size:.85rem}.access .hero-footnote{font-size:9px}.overview-hero .hero-actions{gap:.6rem}.overview-hero h2{font-size:2.1rem}.kpi-grid{gap:.55rem}.kpi{padding:.9rem}.kpi>strong{font-size:1.45rem}}
.scene-fallback[hidden]{display:none!important}.aurora-scene[data-scene-state=unavailable] .aurora-canvas{visibility:hidden}.aurora-scene[data-scene-state=unavailable] .scene-fallback:before{content:"3D auf diesem Gerät nicht verfügbar. ";display:block;color:#d5b2ed}.access .eyebrow,.access label,.access .portal-label,.access .brand-wordmark small{color:#c6a2df}.access .muted,.access .fine,.access .hero-description{color:#bda8cc}.logo{background:#ba85ef;color:#160a22}.metrics article{background:#160e22;border-color:#422855}.metrics article:first-child{background:#332046;color:#f2deff}.metrics article:first-child span,.metrics article:first-child small{color:#d0b1e5}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Full responsibility table. Static numbered seats, not simulated activity. */
.council-seat-labels{position:absolute;inset:0;pointer-events:none}
.council-seat-pin{position:absolute;display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #785291;border-radius:50%;background:#1c102bef;color:#dfc7ef;font:600 12px/1 Consolas,monospace;pointer-events:auto;cursor:pointer;box-shadow:0 3px 12px #0008}
.council-seat-pin[data-evidence=saved]{border-color:#bb80e9;background:#422452;color:#f7e7ff}
.council-seat-pin[aria-pressed=true]{border:2px solid #f1c3ff;box-shadow:0 0 18px #b775f360;background:#65307e}
.council-seat-pin:focus-visible,.council-seats button:focus-visible{outline:2px solid #f5d7ff;outline-offset:3px}
.council-seat-pin[hidden]{display:none!important}.aurora-scene:not([data-scene-state=ready]) .council-seat-labels{visibility:hidden}
.council-seats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}
.council-seats button{min-width:0;min-height:70px;gap:.6rem;padding:.7rem;font-size:.75rem;line-height:1.45}
.council-seats .seat-name{min-width:0;overflow-wrap:anywhere}.council-seats small{font-size:10px}
.council-seats .seat-symbol{flex-basis:27px;height:31px;font-size:11px;background:#412951;color:#d6bde7}
.council-seats [data-evidence=saved] .seat-symbol{background:linear-gradient(135deg,#f0c5ff,#8745bb);color:#1c0e27}
.council-detail{justify-content:flex-start;padding-top:2rem}.council-detail #council-open-notes{white-space:normal;line-height:1.5;min-height:44px}
@media(max-width:1100px){.council-seats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.council-detail{display:flex;gap:0}.council-detail #council-role-extra{margin-bottom:.5rem}.council-detail #council-role-purpose{margin:.8rem 0}.council-detail>strong{font-size:2.4rem}}
@media(max-width:540px){.aurora-scene--council{height:340px}.council-seats button{font-size:.7rem;padding:.6rem;gap:.4rem}.council-seats .seat-symbol{flex-basis:23px;height:27px}.council-seats small{font-size:9px}.council-detail #council-open-notes{width:100%;font-size:.8rem}}
/* City explorer R47. The scene stays quiet until a market is opened. */
.city-layout.city-layout--explore{grid-template-columns:minmax(0,1fr)}
.city-market-picker{border-bottom:1px solid #342043;padding:.3rem 1.2rem}
.city-market-picker>summary{min-height:44px;align-content:center;cursor:pointer;color:#d6b5ef;font-size:.78rem}
.city-market-picker .city-market-list{padding:.4rem 0 1rem;grid-template-columns:repeat(auto-fit,minmax(85px,1fr))}
.city-market-picker .city-market{min-height:44px;place-items:center;padding:.5rem;font-size:.75rem}
.city-dialog-open{overflow:hidden}
.city-market-dialog{width:min(880px,calc(100vw - 40px));max-width:880px;max-height:88vh;max-height:88dvh;padding:0;border:1px solid #8054a0;border-radius:24px;background:#100b19;color:#f3e8fc;box-shadow:0 35px 120px #000b;overscroll-behavior:contain}
.city-market-dialog:not([open]){display:none}
.city-market-dialog::backdrop{background:#06020cd1;backdrop-filter:blur(7px)}
.city-dialog-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 1.5rem;background:#1b1028f5;border-bottom:1px solid #513367}
.city-dialog-header .eyebrow{margin:0 0 .3rem;font-size:10px;color:#be93de}
.city-dialog-header h3{margin:0;font-size:1.65rem;font-weight:550;letter-spacing:-.035em;overflow-wrap:anywhere}
.city-dialog-actions{display:flex;align-items:center;gap:.65rem}.city-dialog-actions .icon-button{font-size:1.6rem;min-width:44px;min-height:44px}
.city-dialog-body{padding:1.5rem;display:grid;gap:1.3rem}
.city-market-summary{border:1px solid #4a2d60;border-radius:16px;padding:1.25rem;background:radial-gradient(ellipse at 0 0,#56277945,transparent 80%),#1b1126}
.city-detail-main{display:grid;gap:.35rem}.city-detail-main>span{font-size:.75rem;color:#c3acd6}.city-detail-main>strong{font-size:clamp(1.7rem,4vw,2.7rem);font-weight:550;letter-spacing:-.04em;overflow-wrap:anywhere}
.city-market-summary dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.2rem 0}
.city-market-summary dt,.city-statistics-grid dt{font-size:11px;color:#bca4cd;line-height:1.5}
.city-market-summary dd,.city-statistics-grid dd{margin:.3rem 0 0;font-size:1.05rem;font-variant-numeric:tabular-nums;color:#f0e0fb;overflow-wrap:anywhere}
.city-market-summary>p,.city-statistics>p{font-size:11px;color:#bda5cd;line-height:1.7;margin:.75rem 0 0}
.city-statistics h4{font-size:1rem;margin:0;font-weight:500}.city-statistics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:1rem 0 0}
.city-statistics-grid>div{min-width:0;padding:1rem;border:1px solid #3e294f;border-radius:12px;background:#1a1025}
.city-statistics-grid>div:nth-child(-n+2){background:#2b1840;border-color:#70508c}.city-statistics-grid>div:nth-child(-n+2) dd{font-size:1.45rem}
.city-market-dialog .city-positions{padding:1.1rem;border:1px solid #3e294f;border-radius:14px}.city-detail-links{display:flex;gap:.65rem;flex-wrap:wrap}.city-detail-links .button{min-height:44px}
@media(max-width:540px){.city-building-label{max-width:110px;padding:10px 7px;gap:5px;border-radius:20px}.city-building-label .building-name{font-size:9px}.city-market-dialog{width:100%;max-width:100%;margin:auto 0 0;max-height:90vh;max-height:90dvh;border-radius:22px 22px 0 0;border-bottom:0}.city-dialog-header{padding:1rem}.city-dialog-header h3{font-size:1.35rem}.city-dialog-body{padding:1rem 1rem max(1rem,env(safe-area-inset-bottom));gap:1rem}.city-market-summary{padding:1rem}.city-market-summary dl{gap:.5rem}.city-market-summary dd{font-size:.85rem}.city-statistics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.city-statistics-grid>div{padding:.8rem}.city-statistics-grid>div:nth-child(-n+2) dd{font-size:1.2rem}.city-detail-links .button{flex:1;text-align:center;font-size:.75rem}.city-dialog-actions{gap:.4rem}}
