:root{color-scheme:dark;--bg:#090f18;--rail:#0c1420;--surface:#101b29;--panel:#121f2d;--panel2:#172633;--line:#27384a;--line-gold:#5e513d;--gold:#cfad70;--gold-strong:#edce98;--text:#f0eadf;--muted:#a0abbb;--dim:#6d8194;--green:#74ba9a;--red:#d98585;--radius:12px;--serif:Georgia,'Times New Roman',serif;--sans:Inter,'SF Pro Text',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:14px/1.5 var(--sans);background:var(--bg);color:var(--text)}button,input{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold-strong);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}.ico{flex-shrink:0;display:inline-block;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{letter-spacing:-.035em}h2{letter-spacing:-.02em}small{font-size:11px}.shell{min-height:100vh;display:grid;grid-template-columns:234px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:radial-gradient(circle at 0 42%,#15253a 0,transparent 55%),linear-gradient(180deg,#0d1624,#0b131f);border-right:1px solid #29394a;padding:23px 15px 15px;z-index:12}.brand{display:flex;align-items:center;gap:13px;width:100%;border:0;background:transparent;color:var(--text);text-align:left;padding:0 5px}.brand-emblem{display:grid;place-items:center;color:var(--gold-strong);width:43px;height:43px;border:1px solid #9e865b;transform:rotate(45deg);flex:none}.brand-emblem svg{transform:rotate(-45deg)}.brand-text{display:flex;flex-direction:column;gap:3px}.brand-text strong{font-family:var(--serif);font-size:15px;letter-spacing:.09em}.brand-text small{font-size:9px;color:#8499b0;letter-spacing:.19em}.ornament-divider{display:flex;align-items:center;gap:10px;color:var(--gold);margin:31px 7px 21px;font-size:12px}.ornament-divider span{height:1px;background:#34404c;flex:1}.side-label,.eyebrow{font-size:9px;color:var(--gold);letter-spacing:.23em;font-weight:700}.side-label{color:#8e9fb1;margin:0 8px 12px}.primary-nav{display:grid;gap:5px}.nav-room{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);padding:10px}.nav-room.selected{background:linear-gradient(90deg,rgba(208,170,105,.13),rgba(207,170,104,.025));border-color:#67583d;box-shadow:inset 3px 0 var(--gold)}.nav-room:hover:not(.selected){background:#182839;color:var(--text)}.nav-icon{display:grid;place-items:center;width:23px;color:#b2a079}.nav-room.selected .nav-icon,.nav-room.selected strong{color:var(--gold-strong)}.nav-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.nav-copy strong{font-size:12px;font-weight:600;color:#dbe2e9}.nav-copy small{font-size:10px;color:#7e91a5}.side-lower{margin-top:auto;padding:20px 8px 4px}.side-flourish{border-top:1px solid #293b4b;padding-top:17px;color:#bda472;font:italic 12px var(--serif)}.side-flourish i{margin-left:5px;color:#9aaabd}.side-version{margin-top:36px;display:flex;gap:4px;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.14em;color:#d6bf93}.side-version span{font-size:10px;letter-spacing:normal;color:#7b8da2}.sidebar-shade{display:none}.main{min-width:0}.topbar{height:64px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:0 clamp(20px,3vw,56px);border-bottom:1px solid #1d2b3b;background:#09111d}.breadcrumbs,.topbar-actions{display:flex;align-items:center;gap:13px}.breadcrumbs{font-size:10px;letter-spacing:.16em;font-weight:700;color:#d9bf8f}.crumb{font:inherit;letter-spacing:inherit;border:0;background:transparent;color:#8fa2b6;padding:4px 0}.slash{color:#5f7082}.topbar-actions{gap:22px}.connection{font-size:9px;letter-spacing:.15em;color:#c8c1ae;font-weight:700;white-space:nowrap}.status-led{display:inline-block;width:7px;height:7px;border-radius:50%;background:#b8955a;box-shadow:0 0 0 3px #322b20;margin-right:7px}.connection.good .status-led{background:var(--green);box-shadow:0 0 0 3px #223d35}.portkey{display:flex;align-items:center;gap:11px;color:#e4e0d8;background:#111c2b;border:1px solid #364457;border-radius:7px;padding:9px 12px;font-size:11px}.portkey:hover{border-color:var(--gold)}kbd{border:1px solid #4b5968;border-radius:4px;padding:2px 5px;color:#9bacc0;font:10px var(--sans)}.mobile-menu{display:none}.content{max-width:1630px;margin:auto;padding:28px clamp(20px,3vw,56px) 20px}.hero{position:relative;overflow:hidden;background:linear-gradient(97deg,#172434 0%,#122032 48%,#102034 100%);border:1px solid #3b4651;border-radius:13px;min-height:290px;padding:42px 46px 39px;margin-bottom:17px;box-shadow:0 18px 42px #0002}.hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 79% 56%,rgba(211,167,91,.13),transparent 47%),repeating-linear-gradient(0deg,transparent 0 47px,#c6b28a07 48px 49px)}.hero-copy{position:relative;z-index:2;max-width:640px}.eyebrow{display:block}.small-star{font-size:12px;padding-right:6px}.overline-dash{color:#73849b;padding:0 6px}.hero h1{font-size:clamp(33px,3.5vw,52px);line-height:1.16;margin:15px 0 12px;color:#fbf0da}.hero h1 em{font-weight:400;font-style:italic;color:#d8b67c}.hero-copy>p{color:#b7c4d0;max-width:530px;font-size:13px;line-height:1.8}.hero-buttons{display:flex;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}.primary-btn,.quiet-btn,.soft-btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:37px;border-radius:6px;font-size:12px;font-weight:650;white-space:nowrap;padding:10px 14px}.primary-btn{border:1px solid #b6945c;background:#c8a46b;color:#14212c;box-shadow:inset 0 1px #efd7a0}.primary-btn:hover{background:#e0bd81}.quiet-btn{background:transparent;border:1px solid #59616a;color:#e2d7c4}.quiet-btn:hover{background:#ffffff12}.soft-btn{border:1px solid #43556a;background:#18293a;color:#dce7ed}.soft-btn:hover{border-color:var(--gold)}.castle-linework{position:absolute;right:30px;bottom:0;height:94%;width:46%;opacity:.95}.hero-bottom{display:flex;justify-content:space-between;position:absolute;left:46px;right:35px;bottom:11px;font-size:9px;letter-spacing:.25em;color:#8294aa}.hero-sparkle{color:var(--gold)}.metrics-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:19px}.metric{min-width:0;display:flex;flex-direction:column;background:linear-gradient(140deg,#162535,#101b28);border:1px solid #273c4b;border-radius:10px;min-height:125px;padding:18px 19px 15px}.metric-head{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.16em;color:#a5b6c5;font-weight:700}.metric-head svg{color:#c4a571}.metric-value{font-family:var(--serif);font-size:32px;color:#f2e6d2;line-height:1.2;margin-top:12px}.metric-value.healthy-text{color:#a7d7bc}.metric-sub{margin-top:3px;color:#8596aa;font-size:10px}.hall-body{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(310px,.82fr);gap:17px;align-items:stretch}.doors-panel,.watch-panel,.links-panel,.room-panel{border-radius:11px;border:1px solid #293b49;background:linear-gradient(150deg,#111d2a,#0d1724);padding:19px 21px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:17px}.section-heading h2{font-size:26px;line-height:1.1;margin:5px 0 0;color:#eee5d8}.section-heading h2 span,.room-banner h1 span{color:var(--gold)}.section-note{font-size:10px;color:#7e90a3;white-space:nowrap}.portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.portal-card{position:relative;overflow:hidden;min-height:92px;display:flex;align-items:center;gap:10px;padding:11px 11px;background:linear-gradient(130deg,#172637,#111f2e);border:1px solid #314256;border-radius:9px;text-align:left;color:var(--text);transition:transform .17s ease,border-color .17s,background .17s}.portal-card.feature{min-height:137px;background:radial-gradient(circle at 18% 80%,#22394a,#162637 64%)}.portal-card:hover{transform:translateY(-2px);border-color:#9d8052;background-color:#203548}.portal-card:active{transform:translateY(0)}.portal-card:before{content:"";position:absolute;inset:auto 0 0;height:2px;background:linear-gradient(90deg,transparent,#a78b5b,transparent);opacity:0;transition:opacity .2s}.portal-card:hover:before{opacity:1}.portal-art{display:block;width:90px;min-width:90px;height:70px;overflow:hidden;position:relative}.feature .portal-art{width:123px;min-width:123px;height:114px}.portal-illustration{position:absolute;width:100%;height:100%;inset:0;filter:drop-shadow(0 0 10px #c9a76e1c)}.portal-info{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.portal-info strong{font:19px var(--serif);color:#f1e3ce}.portal-info small{font-size:10px;color:#98abb9}.portal-info>span{display:flex;align-items:center;gap:7px;font-size:10px;color:#c9aa77;margin-top:6px}.feature .portal-info>span{margin-top:13px}.flame-flame{transform-origin:50% 93%;animation:flicker 3.5s ease-in-out infinite}.flame-flame.second{animation-delay:.8s;animation-duration:3s}@keyframes flicker{0%,100%{transform:scaleX(1) rotate(0deg);opacity:.68}50%{transform:scaleX(.95) rotate(2deg);opacity:.94}}.watch-panel{display:flex;flex-direction:column}.watch-panel .section-heading{margin-bottom:15px}.section-heading.compact h2{font-size:25px}.text-link{background:none;border:0;padding:5px;color:#c4a574;font-size:11px;white-space:nowrap;display:flex;align-items:center;gap:5px}.text-link:hover{text-decoration:underline}.watch-summary{font-size:11px;color:#a4b9c3;background:#122434;border:1px solid #2b4854;border-radius:5px;padding:10px;margin-bottom:13px}.watch-summary strong{color:var(--text)}.watch-summary small{color:#7f92a6}.watch-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:7px}.guest-row{display:flex;align-items:center;gap:9px;padding:13px 2px;border-bottom:1px solid #29394b}.guest-row .guest-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.guest-type{font-size:10px;color:#d3b27d;border:1px solid #5f523e;border-radius:4px;padding:3px 6px;white-space:nowrap}.guest-state{font-size:10px;border-radius:20px;padding:3px 7px;white-space:nowrap;text-transform:capitalize}.guest-state.running{background:#173b33;color:#9ad6bc}.guest-state.stopped{background:#3b2b30;color:#e1a8a9}.watch-empty{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;flex:1;padding:20px 7px 26px}.watch-empty>svg{color:#d0ae75;margin-bottom:10px}.watch-empty h3{font-size:20px;margin:0;color:#e5d8c2}.watch-empty p{font-size:12px;line-height:1.7;color:#93a5b8}.watch-empty .soft-btn{margin-top:10px}.watch-footer{margin-top:auto;display:flex;justify-content:space-between;gap:7px;border-top:1px solid #283949;padding-top:12px;font-size:10px;color:#8f9eb1}.watch-footer>span:first-child{display:flex;gap:6px;align-items:center}.watch-footer svg{color:var(--gold)}.links-panel{margin-top:18px}.link-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.service-shortcut{min-width:0;display:flex;gap:10px;align-items:center;padding:12px 10px;background:#162434;border:1px solid #26394a;border-radius:7px;transition:border-color .2s}.service-shortcut:hover{border-color:var(--gold)}.service-shortcut>span:first-child{color:#c5aa79}.service-shortcut>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.service-shortcut strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-shortcut small{font-size:9px;color:#91a0b1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-shortcut>svg{color:#7890a6}.site-footer{display:flex;justify-content:space-between;gap:20px;padding:24px 3px 6px;font:italic 12px var(--serif);color:#9d855f}.site-footer span:last-child{font:10px var(--sans);color:#778a9c}.room-banner{position:relative;overflow:hidden;background:linear-gradient(110deg,#172537,#101b29);border:1px solid #2c4050;border-radius:11px;padding:26px 30px 16px;margin-bottom:18px}.room-title-row{display:flex;align-items:center;justify-content:space-between}.room-title-row h1{margin:6px 0 8px;font-size:clamp(30px,4vw,46px)}.room-title-row p{margin-bottom:15px;line-height:1.7;color:#a6b7c7;max-width:650px}.room-emblem{color:#bda072;margin:0 25px}.room-trail{display:flex;align-items:center;gap:10px;border-top:1px solid #304052;padding-top:12px;font-size:10px;color:#91a3b4}.room-trail button{padding:0;border:0;background:none;color:#d0b17b}.room-trail strong{color:#e7d4ad}.trail-end{margin-left:auto;color:#74899d;letter-spacing:.09em}.room-actions{display:flex;gap:10px;align-items:center;margin-bottom:15px;flex-wrap:wrap}.read-only{font-size:11px;color:#8fa3b7;margin-left:auto;display:flex;align-items:center;gap:7px}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.guest-detail{padding:14px 3px;border-bottom:1px solid #2a3a4d}.guest-top{display:flex;align-items:center;gap:10px}.guest-top strong{font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis}.guest-metrics{display:flex;gap:21px;margin:11px 0 0 4px;font-size:11px;color:#9fb0c0}.guest-metrics span{display:flex;align-items:center;gap:6px}.guest-metrics svg{color:var(--gold)}.muted-copy{color:#91a4b7;font-size:12px}.offline-panel{padding:35px;max-width:760px}.offline-panel .offline-mark{color:#c9aa74}.offline-panel h2{margin:14px 0 9px;font-size:26px}.offline-panel p{max-width:600px;color:#a5b3c5;line-height:1.8}.offline-panel .primary-btn{margin-top:10px}.section-alert{display:flex;align-items:center;gap:13px;padding:13px 17px;border:1px solid #625338;background:#2b271e;border-radius:8px;margin-bottom:15px;color:#d8cbae;font-size:11px}.section-alert svg{flex:none;color:#dbb675}.network-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,.8fr);gap:15px}.network-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.device-card{display:flex;align-items:center;gap:11px;border-radius:8px;padding:13px 10px;text-align:left;color:var(--text);border:1px solid #314154;background:#172635}.device-card:hover,.device-card.chosen{border-color:var(--gold)}.device-icon{color:#d8ba86}.device-card>span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.device-card strong{font-size:12px}.device-card small{font-size:10px;color:#a0b0bf}.device-card code{font:10px ui-monospace,SFMono-Regular,Consolas,monospace;color:#93a6b9}.device-card>svg{color:#8196a8}.inspector{min-height:330px}.inspector h2{font-size:29px;margin:20px 0 0}.inspector .kind{color:#d6b584;margin-bottom:22px}.inspector p{line-height:1.8;color:#a7b6c7;font-size:12px}.inspector-ip{display:flex;flex-direction:column;gap:7px;padding:15px;margin:18px 0 24px;background:#14283b;border:1px solid #314658;border-radius:7px}.inspector-ip span{font-size:10px;letter-spacing:.13em;color:#8aa3b7}.inspector-ip strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.inspector-caution{display:block;font-size:10px;color:#8799aa;margin-top:14px}.inspector-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px 5px 25px}.inspector-empty svg{width:175px;height:118px;position:relative}.inspector-empty .portal-illustration{position:relative}.inspector-empty h3{font-size:23px;margin:0 0 8px}.inspector-empty p{max-width:250px}.destination-panel{display:flex;align-items:center;gap:30px;min-height:270px}.destination-emblem{width:100px;height:100px;flex:none;display:grid;place-items:center;border-radius:50%;border:1px solid #695b42;background:#24313f;color:#d4b47e}.destination-panel h2{font-size:32px;margin:10px 0}.destination-panel p{color:#a5b7c6;line-height:1.8;max-width:640px}.destination-actions{margin-top:22px}.palette-overlay{position:fixed;inset:0;z-index:100;display:flex;justify-content:center;align-items:flex-start;background:#02060ac4;backdrop-filter:blur(5px);padding:15vh 20px 30px}.palette-sheet{width:min(570px,100%);max-height:70vh;display:flex;flex-direction:column;border:1px solid #806c4e;background:#111e2d;box-shadow:0 35px 100px #000b;border-radius:12px;overflow:hidden}.palette-search{display:flex;align-items:center;gap:11px;padding:14px 18px;border-bottom:1px solid #304155;color:#d2b582}.palette-search input{background:transparent;border:0;outline:0;flex:1;min-width:0;color:#eff2f4}.palette-search button{display:grid;place-items:center;border:0;background:transparent;color:#9caebe}.palette-list{overflow:auto;padding:8px}.palette-result{width:100%;display:flex;align-items:center;gap:13px;color:#eae5d9;padding:10px;border-radius:6px;border:0;text-align:left;background:none}.palette-result:hover,.palette-result:focus-visible{background:#25384b}.palette-result>span:first-child{color:var(--gold)}.palette-result>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:2px}.palette-result strong{font-size:12px}.palette-result small{font-size:11px;color:#95a6b8}.palette-result>svg{color:#8b9cae}.palette-none{padding:20px;color:#9eacba}.palette-sheet footer{padding:12px 18px;border-top:1px solid #344154;display:flex;justify-content:space-between;font-size:10px;color:#a58d62}.passage-screen{position:fixed;z-index:110;inset:0;background:#07111bea;display:grid;place-items:center;animation:passage-in .34s both;pointer-events:none}.passage-door{display:flex;flex-direction:column;align-items:center;justify-content:center}.passage-door .passage-mark{position:relative;width:210px;height:155px;overflow:hidden}.passage-door .portal-illustration{position:absolute}.passage-door>span{letter-spacing:.3em;font-size:10px;color:#bba17a;margin-top:12px}.passage-door>strong{font:31px var(--serif);color:#f0dfc1;margin-top:6px}@keyframes passage-in{0%{opacity:0}32%{opacity:1}72%{opacity:1}100%{opacity:0}}@media(max-width:1300px){.shell{grid-template-columns:210px minmax(0,1fr)}.portal-art{min-width:75px;width:75px}.feature .portal-art{min-width:100px;width:100px}.portal-info strong{font-size:17px}.hall-body{grid-template-columns:minmax(0,1.5fr) minmax(270px,.9fr)}.link-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.device-card code{display:none}}@media(max-width:1080px){.hall-body{grid-template-columns:1fr}.portal-art{min-width:110px;width:110px}.feature .portal-art{min-width:135px;width:135px}.metrics-row{grid-template-columns:repeat(2,minmax(0,1fr))}.watch-empty{min-height:190px}.network-layout{grid-template-columns:1fr}.link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.device-card code{display:block}}@media(max-width:780px){.shell{display:block}.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .23s;width:250px;z-index:40}.rail-open .sidebar{transform:translateX(0)}.rail-open .sidebar-shade{display:block;position:fixed;inset:0;background:#000a;z-index:35}.mobile-menu{display:grid;place-items:center;color:var(--gold);border:0;background:transparent;padding:3px}.topbar{padding:0 19px;height:58px}.content{padding:17px}.breadcrumbs{gap:8px}.connection{display:none}.hero{padding:29px 25px 42px;min-height:265px}.hero h1{font-size:36px}.hero-bottom{left:25px;right:25px}.castle-linework{right:-40px;opacity:.35;width:65%}.portal-info strong{font-size:18px}.room-banner{padding:23px}.read-only{margin-left:0}.site-footer{flex-direction:column;gap:5px}}@media(max-width:530px){.topbar{gap:4px}.portkey kbd{display:none}.portkey{padding:9px}.hero h1{font-size:32px}.hero-copy>p{font-size:12px}.hero-buttons .primary-btn,.hero-buttons .quiet-btn{font-size:11px}.hero-bottom span:last-child{display:none}.metrics-row{gap:9px}.metric{padding:14px;min-height:114px}.metric-value{font-size:27px}.metric-head{font-size:8px;letter-spacing:.12em}.portal-grid{gap:9px}.portal-card,.portal-card.feature{min-height:106px;flex-direction:column;align-items:flex-start;padding:9px}.portal-art,.feature .portal-art{height:59px;width:90px;min-width:90px}.portal-info strong{font-size:16px}.portal-info small{font-size:9px}.portal-info>span,.feature .portal-info>span{margin-top:4px;font-size:9px}.doors-panel,.links-panel,.watch-panel,.room-panel{padding:15px}.section-heading h2{font-size:23px}.link-grid{grid-template-columns:1fr}.network-grid{grid-template-columns:1fr}.device-card code{display:block}.destination-panel{display:block}.destination-emblem{width:64px;height:64px;margin-bottom:24px}.trail-end{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}.portal-card:hover{transform:none}}
/* v0.4 — A genuinely simple arrival screen. No sidebar, charts, or extra panels.
   The useful detailed dashboards remain inside the castle rooms. */
.entrance-shell{min-height:100vh;display:flex;flex-direction:column;isolation:isolate;background:radial-gradient(ellipse at 50% 44%,#1c2d3f 0%,#111d2c 31%,#09121f 70%,#070e18 100%);position:relative;overflow:hidden}
.entrance-shell:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 116px,#c3a47406 117px 118px),radial-gradient(circle at 50% 27%,#d3ab6418,transparent 33%);pointer-events:none;z-index:-1}
.entrance-header{height:92px;padding:20px clamp(24px,5vw,84px);display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;position:relative;z-index:2}
.entrance-brand{display:flex;align-items:center;gap:15px;padding:0;border:0;background:transparent;color:#f0dfc1;text-align:left}
.entrance-emblem{display:grid;place-items:center;border:1px solid #a28758;transform:rotate(45deg);width:46px;height:46px;color:#e1bb77}
.entrance-emblem svg{transform:rotate(-45deg)}
.entrance-brand>span:last-child{display:flex;flex-direction:column;gap:2px}
.entrance-brand strong{font:17px/1.1 var(--serif);letter-spacing:.17em}
.entrance-brand small{font:9px/1.4 var(--sans);letter-spacing:.25em;color:#9aa7b4}
.entrance-actions{display:flex;align-items:center;gap:20px}
.entrance-indicator{font-size:10px;letter-spacing:.12em;color:#b3bbc6;white-space:nowrap}
.entrance-indicator .status-led{background:#bb965b;box-shadow:0 0 0 3px #3b3127}
.entrance-indicator.good .status-led{background:#78b49c;box-shadow:0 0 0 3px #253c34}
.entrance-main{width:min(1300px,100%);margin:0 auto;flex:1;display:flex;flex-direction:column;padding:0 36px}
.entrance-stage{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:54px 0 16px}
.entrance-atmosphere{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.entrance-atmosphere:before,.entrance-atmosphere:after{content:"";position:absolute;top:13%;width:210px;height:540px;border:1px solid #8e7a5434;border-radius:120px 120px 6px 6px;box-shadow:inset 0 0 0 12px #09172632, 0 0 90px #bd9c3912;opacity:.57}
.entrance-atmosphere:before{left:0;transform:translateX(-37%)}
.entrance-atmosphere:after{right:0;transform:translateX(37%)}
.entrance-atmosphere .castle-linework{position:absolute;top:-18px;left:50%;transform:translateX(-50%);width:min(850px,95vw);height:250px;opacity:.34;filter:drop-shadow(0 0 24px #d6a55b19)}
.entrance-orb{position:absolute;top:26%;width:3px;height:36px;border-radius:5px;background:linear-gradient(180deg,transparent,#cca7678a,transparent);filter:blur(1px);opacity:.6}
.orb-left{left:8%}.orb-right{right:8%}
.entrance-title{text-align:center;position:relative;margin-bottom:45px}
.entrance-title .eyebrow{font-size:10px;letter-spacing:.34em;color:#b89b6b}
.entrance-title h1{font-size:clamp(43px,5vw,69px);line-height:1.12;letter-spacing:-.035em;margin:15px 0 13px;color:#f4e8d2;text-wrap:balance}
.entrance-title h1 em{font-style:italic;color:#d8b67b;font-weight:400}
.entrance-title p{color:#b1becc;font:16px/1.7 var(--sans);margin:0}
.entrance-doors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;max-width:1110px;position:relative}
.entrance-door{min-width:0;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;isolation:isolate;padding:18px 14px 18px;min-height:250px;border:1px solid #52607571;border-radius:12px;background:linear-gradient(170deg,#1b2b3ca8,#101c2aa8 65%,#172435c9);color:#f3e4c9;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 12px 36px #02060a35}
.entrance-door:before{content:"";position:absolute;inset:6px;border-radius:7px;border:1px solid #9e82522e;pointer-events:none}
.entrance-door:hover,.entrance-door:focus-visible{border-color:#d1aa6f;transform:translateY(-3px);background:linear-gradient(170deg,#25384ca8,#142638ae 75%,#1a2c3ec9);box-shadow:0 17px 43px #03080d77,0 0 30px #cda36d16}
.entrance-door:active{transform:translateY(-1px)}
.entrance-door-art{position:relative;height:137px;width:165px;max-width:100%;display:block;margin:4px auto 3px;filter:drop-shadow(0 3px 11px #0006)}
.entrance-door-art .portal-illustration{inset:0;width:100%;height:100%;object-fit:contain}
.entrance-door-copy{display:flex;flex-direction:column;gap:4px;align-items:center;margin-top:3px}
.entrance-door-copy strong{font:24px/1.15 var(--serif);color:#f3e6cd}
.entrance-door-copy small{font:11px/1.6 var(--sans);color:#a8b5c3;letter-spacing:.01em}
.entrance-door-arrow{position:absolute;right:12px;bottom:10px;color:#be9f69;opacity:0;transform:translateX(-7px);transition:opacity .2s,transform .2s}
.entrance-door:hover .entrance-door-arrow,.entrance-door:focus-visible .entrance-door-arrow{opacity:1;transform:translateX(0)}
.entrance-secondary{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 22px;margin:33px auto 6px;color:#afbdc9}
.entrance-secondary>span{font:9px/1.4 var(--sans);letter-spacing:.22em;color:#917c5e;margin-right:2px}
.entrance-secondary button{border:0;background:none;color:#aebac6;display:flex;gap:8px;align-items:center;font-size:12px;padding:7px 4px;transition:color .2s}
.entrance-secondary button:hover{color:#edd3a0}.entrance-secondary svg{color:#c6a46f}
.entrance-status{margin:6px auto 0;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;color:#91a5b8;max-width:100%;flex-wrap:wrap}
.entrance-status>svg{color:#b89b6a}
.entrance-status button{background:none;border:0;color:#d0ae78;display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:4px}
.entrance-status button:hover{color:#f3daac}
.entrance-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#8e7858;font:italic 12px var(--serif);padding:24px 8px 25px}
.entrance-footer span:last-child{font:10px var(--sans);color:#677f94}
@media(max-width:1000px){.entrance-doors{grid-template-columns:repeat(2,minmax(0,1fr));max-width:750px}.entrance-stage{justify-content:flex-start;padding-top:50px}.entrance-door{min-height:210px}.entrance-door-art{height:113px}.entrance-title{margin-bottom:30px}}
@media(max-width:600px){.entrance-header{height:76px;padding:13px 20px}.entrance-brand strong{font-size:14px}.entrance-brand small{font-size:8px}.entrance-emblem{width:34px;height:34px}.entrance-emblem svg{width:20px}.entrance-indicator{display:none}.entrance-actions .portkey kbd{display:none}.entrance-main{padding:0 18px}.entrance-stage{padding-top:43px}.entrance-title{margin-bottom:25px}.entrance-title h1{font-size:clamp(34px,8vw,47px)}.entrance-title p{font-size:13px}.entrance-title .eyebrow{font-size:8px}.entrance-doors{gap:11px}.entrance-door{padding:9px 4px 14px;min-height:184px;border-radius:9px}.entrance-door-art{height:100px;width:100%;margin:4px auto 0}.entrance-door-copy strong{font-size:18px}.entrance-door-copy small{font-size:9px;max-width:145px}.entrance-secondary{gap:5px 14px;margin-top:21px}.entrance-secondary>span{flex-basis:100%;text-align:center;margin-bottom:4px}.entrance-secondary button{font-size:10px}.entrance-footer span:last-child{display:none}.entrance-atmosphere .castle-linework{top:-15px;height:175px}}
@media(prefers-reduced-motion:reduce){.entrance-door,.entrance-door-arrow{transition:none!important}.entrance-door:hover{transform:none!important}}

/* v0.5 — Four Houses, one map. Primary landing interactions are large, real buttons. */
.command-shell{min-height:100vh;display:flex;flex-direction:column;position:relative;isolation:isolate;overflow:hidden;color:#ede9e3;background:radial-gradient(ellipse 65% 45% at 50% 25%,#1b2a3b 0%,#0d1727 65%,#070e18 100%)}
.command-shell:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.33;background:repeating-linear-gradient(90deg,transparent 0 145px,#b2a27f12 146px,#b2a27f07 148px,transparent 149px 165px),radial-gradient(ellipse at 50% 100%,#b6935219,transparent 48%)}
.command-header{width:min(1500px,100%);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px clamp(22px,4vw,68px);position:relative;z-index:2}
.command-mark{display:flex;gap:13px;align-items:center;color:#d7c4a0}.command-mark>svg{color:#d3b787}.command-mark span{display:flex;flex-direction:column;gap:4px}.command-mark strong{font:19px/1 var(--serif);letter-spacing:.2em}.command-mark small{font:10px/1.2 var(--sans);letter-spacing:.29em;color:#aab6c5}
.command-search{display:flex;align-items:center;gap:12px;background:#0a1422aa;border:1px solid #6673837e;border-radius:9px;color:#cad3dd;padding:13px 16px;min-width:258px;font-size:14px;text-align:left}.command-search:hover,.command-search:focus-visible{border-color:#d0b07c;color:#fff}.command-search>span{flex:1}.command-search kbd{font-size:11px;color:#a9b0bb;border:1px solid #6572836b;padding:4px 6px;border-radius:4px}
.command-main{display:flex;flex:1;min-height:0}.command-stage{width:min(1370px,100%);margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px clamp(20px,3.5vw,58px) 0}
.command-title{text-align:center;margin:0 0 27px}.command-title h1{font:normal clamp(46px,5vw,77px)/.99 var(--serif);color:#f0e0c3;letter-spacing:.19em;text-transform:uppercase;margin:14px 0 13px;text-shadow:0 6px 28px #03070aaa}.command-title p{font:11px/1.4 var(--sans);letter-spacing:.43em;color:#c4b28d;margin:0}.map-phrase{font:italic clamp(15px,1.7vw,20px)/1.4 var(--serif);color:#d4be9a;opacity:0;animation:ink-arrives .9s .1s forwards}
@keyframes ink-arrives{from{opacity:0;filter:blur(3px);transform:translateY(5px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
.arrival-instruction{font:11px/1.4 var(--sans);letter-spacing:.29em;color:#8799ae;margin:10px 0 18px}
.house-entrances{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(11px,1.7vw,22px);width:100%}
.house-door{--house:#d3b67e;min-width:0;display:flex;flex-direction:column;align-items:stretch;background:#101c2b;border:1px solid #3e5063;border-radius:160px 160px 12px 12px;padding:6px 6px 14px;color:#f2e6d2;overflow:hidden;position:relative;text-align:center;box-shadow:0 16px 48px #02050a5c;transition:transform .2s,border-color .2s,box-shadow .2s}
.house-door.house-floo{--house:#5ab98f}.house-door.house-engine{--house:#cb8a6e}.house-door.house-pensieve{--house:#84ace5}.house-door.house-owlery{--house:#d1b570}
.house-door:hover,.house-door:focus-visible{outline:0;transform:translateY(-4px);border-color:var(--house);box-shadow:0 19px 48px #02050a8a,0 0 0 2px #f2eddc1f}
.house-arch{height:clamp(184px,25vh,265px);position:relative;overflow:hidden;border-radius:150px 150px 6px 6px;background:#1b2937;display:block;border:1px solid #9c805f50}
.house-scene{position:absolute;inset:0;background-position:center center;background-size:cover;filter:brightness(.84) saturate(.94);transition:transform .45s ease,filter .3s}
.house-floo .house-scene{background-image:url('/marauders-demo/assets/slytherin.webp')}.house-engine .house-scene{background-image:url('/marauders-demo/assets/gryffindor.webp')}.house-pensieve .house-scene{background-image:url('/marauders-demo/assets/ravenclaw.webp')}.house-owlery .house-scene{background-image:url('/marauders-demo/assets/hufflepuff.webp')}
.house-door:hover .house-scene,.house-door:focus-visible .house-scene{transform:scale(1.045);filter:brightness(1.08)}
.house-gradient{position:absolute;inset:0;background:linear-gradient(0deg,#091523bf,transparent 43%,#04091525)}
.house-glyph{position:absolute;top:16px;left:50%;transform:translateX(-50%);display:grid;place-items:center;width:39px;height:39px;border:1px solid #bda077a3;background:#0c1523bc;border-radius:50%;color:var(--house);font-size:27px;z-index:2}
.house-information{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 8px 0}.house-information strong{font:normal clamp(22px,2vw,33px)/1.12 var(--serif);color:#f2e6d2;letter-spacing:.015em}.house-room{font:15px/1.4 var(--serif);color:var(--house)}.house-information small{font:13px/1.5 var(--sans);color:#afbbc8}.house-cta{display:flex;align-items:center;gap:9px;margin-top:12px;font:12px/1 var(--sans);color:#e1cda8;border-top:1px solid #4354666b;padding-top:12px}
.map-altar{width:min(720px,100%);height:155px;position:relative;display:flex;justify-content:center;align-items:center;flex-direction:column;margin:17px auto 0;opacity:.78;pointer-events:none}.map-etching{width:100%;max-height:135px;filter:drop-shadow(0 0 15px #c2a6770b)}.map-caption{position:absolute;bottom:0;font:9px/1.2 var(--sans);letter-spacing:.24em;color:#8c9aab}
.command-footer{display:flex;justify-content:space-between;align-items:center;padding:0 40px 18px;color:#8b9bab;font:italic 12px var(--serif);width:min(1500px,100%);margin:0 auto}.command-footer span{font:10px var(--sans);letter-spacing:.05em;color:#72869b}
.closing-map{position:fixed;inset:0;z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:#080f1af4;color:#f5dbac;animation:close-show .2s ease both}.closing-map strong{font:italic clamp(32px,5vw,65px) var(--serif);font-weight:400}.closing-map small{font:12px var(--sans);letter-spacing:.09em;color:#8fa0b1}.closing-ornament{font-size:18px;color:#c0a67b;letter-spacing:1.1em}@keyframes close-show{from{opacity:0}to{opacity:1}}
.room-trail button{display:inline-flex;align-items:center;gap:8px}.room-trail button svg{transform:rotate(180deg)}
@media(max-height:800px) and (min-width:1000px){.command-header{padding-top:13px;padding-bottom:13px}.command-title{margin-bottom:10px}.command-title h1{font-size:56px;margin:7px 0}.arrival-instruction{margin:3px 0 11px}.house-arch{height:180px}.map-altar{height:116px;margin-top:6px}.map-etching{height:100px}.house-cta{margin-top:6px;padding-top:8px}.house-information{padding-top:8px}}
@media(max-width:900px){.house-entrances{grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px}.command-stage{justify-content:flex-start}.house-arch{height:240px}.command-header{padding:20px}.command-title h1{font-size:52px}.map-altar{height:110px}.map-etching{height:95px}}
@media(max-width:530px){.command-header{padding:17px 19px;gap:8px}.command-mark strong{font-size:14px;letter-spacing:.11em}.command-mark small{font-size:8px;letter-spacing:.13em}.command-mark>svg{width:21px}.command-search{min-width:auto;padding:10px}.command-search span,.command-search kbd{display:none}.command-stage{padding:12px 13px 0}.command-title{margin-bottom:20px}.command-title h1{font-size:42px;margin:15px 0 10px;letter-spacing:.1em}.command-title p{font-size:9px;letter-spacing:.28em}.map-phrase{font-size:16px;padding:0 4px}.arrival-instruction{font-size:10px;margin-bottom:14px}.house-entrances{gap:11px}.house-door{padding:4px 4px 10px}.house-arch{height:150px}.house-glyph{top:10px;width:31px;height:31px;font-size:20px}.house-information{padding:10px 2px 0}.house-information strong{font-size:22px}.house-room{font-size:14px}.house-information small{font-size:11px;line-height:1.4}.house-cta{margin-top:10px;font-size:10px;gap:4px;padding-top:9px}.house-cta svg{width:12px}.map-altar{height:90px;margin:6px auto 0}.map-etching{max-height:80px}.map-caption{font-size:7px;letter-spacing:.12em}.command-footer{padding:8px 17px 20px;font-size:10px}.command-footer span{display:none}}
@media(prefers-reduced-motion:reduce){.map-phrase{animation:none;opacity:1}.house-door,.house-scene,.closing-map{transition:none!important;animation:none!important}.house-door:hover{transform:none}}

.house-glyph{font-family:var(--serif);font-size:21px;letter-spacing:0;text-shadow:0 1px 11px #0009}


/* Marauders v0.6 — connected Great Hall architecture; real clickable thresholds, not UI cards. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.command-shell{background:radial-gradient(ellipse 65% 25% at 48% 7%,#202c3a 0%,#0a1420 68%,#050b12 100%);overflow-x:clip}
.command-shell:before{opacity:.14;background:linear-gradient(90deg,#080e17 0%,transparent 17%,transparent 83%,#080e17 100%),repeating-linear-gradient(90deg,transparent 0px,transparent 123px,#b7a1771a 124px,#b7a17708 127px)}
.command-header{width:min(1590px,100%);padding:18px clamp(20px,3.2vw,58px)}
.command-mark strong{font-size:18px;letter-spacing:.12em}.command-mark small{font-size:10px;letter-spacing:.22em}
.command-search{min-width:min(330px,40vw);font-size:14px}
.command-main{align-items:stretch;min-width:0}
.castle-stage{width:min(1590px,100%);margin:auto;display:flex;flex-direction:column;align-items:center;padding:0 clamp(12px,3vw,52px) 20px;isolation:isolate}
.castle-attic{width:100%;min-height:98px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2;background:linear-gradient(90deg,transparent,#23303d24 20%,#27323a26 80%,transparent)}
.castle-incantation{font:italic clamp(19px,2vw,25px)/1.4 var(--serif);letter-spacing:.012em;text-align:center;color:#e4ceb0;margin:15px 8px 25px;text-shadow:0 3px 15px #000d;animation:ink-arrives .5s ease-out both}
.castle-facade{position:relative;width:100%;padding:0 22px 0;min-height:570px;background:linear-gradient(90deg,#17202a 0%,#293038 2%,#1a2029 2.4%,#171f29 47%,#293039 98%,#121923 100%);box-shadow:0 30px 85px #000b,inset 0 9px 24px #0009;border-left:2px solid #82705875;border-right:2px solid #82705875}
.castle-lintel{height:18px;margin:0 -22px;background:linear-gradient(180deg,#1b232e 0%,#806e586b 47%,#292e33 58%,#121821 100%);border-top:1px solid #94847182;border-bottom:2px solid #6b58478a}
.castle-entrances{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;position:relative;z-index:1;gap:0;min-height:530px;background:linear-gradient(#151b24,#101922)}
.castle-entrance{--house:#caa873;position:relative;display:flex;flex-direction:column;min-width:0;text-decoration:none!important;color:#f1e6d3;isolation:isolate;align-items:center;justify-content:flex-end;background:linear-gradient(100deg,#22232b 0%,#38332b 6%,#262a2e 10%,transparent 12%,transparent 88%,#282d31 90%,#4b4032 94%,#1f242a 100%);border-right:4px ridge #6d6152b3;box-shadow:inset -10px 0 10px #0005,inset 10px 0 10px #0006;outline-offset:-7px;transition:filter .18s ease}
.castle-entrance:first-child{border-left:4px ridge #766550bd}
.castle-floo{--house:#9ad5b5}.castle-engine{--house:#e2a393}.castle-pensieve{--house:#a4c7ff}.castle-owlery{--house:#f2d289}
.entrance-banner{display:flex;align-items:center;flex-direction:column;justify-content:center;text-align:center;gap:4px;flex:0 0 217px;z-index:2;width:calc(100% - 25px);min-height:210px;padding:15px 8px 18px;position:relative;background:linear-gradient(90deg,#080a0c80,#0000 15%,#0000 85%,#07090b80),linear-gradient(180deg,color-mix(in srgb,var(--house) 27%,#081524) 0%,#121923 100%);border:1px solid #9b805485;border-bottom:5px solid #bb98667a;box-shadow:inset 0 2px 30px #0007,0 12px 25px #0007;clip-path:polygon(50% 0,100% 19%,100% 97%,92% 100%,8% 100%,0 97%,0 19%)}
.entrance-banner:before{content:"";position:absolute;inset:4px 7px;border:1px solid #d2b27a42;clip-path:inherit;pointer-events:none}
.house-crest{font:34px var(--serif);color:var(--house);line-height:1;margin-bottom:7px;text-shadow:0 3px 12px #000a}
.entrance-house{font:normal clamp(20px,2.05vw,33px)/1.12 var(--serif);color:#f9e7c7;text-shadow:0 3px 13px #000;white-space:nowrap}
.entrance-room{font:19px/1.3 var(--serif);color:var(--house)}
.entrance-purpose{font:clamp(12px,1.03vw,15px)/1.4 var(--sans);color:#f1e6d5;max-width:260px;text-shadow:0 2px 8px #000}
.arch-photo{display:block;position:relative;z-index:1;width:calc(100% - 18px);height:295px;overflow:hidden;border:8px ridge #766958;background:#0b141c;box-shadow:0 0 0 4px #121923,inset 0 20px 30px #0009;clip-path:polygon(50% 0,75% 5%,90% 15%,98% 29%,100% 40%,100% 100%,0 100%,0 40%,2% 29%,10% 15%,25% 5%)}
.arch-photo img{width:100%;height:100%;object-fit:cover;object-position:center 56%;display:block;filter:saturate(.92) brightness(.8);transition:filter .18s ease}
.arch-shadow{position:absolute;inset:0;background:linear-gradient(180deg,#0009,transparent 37%,transparent 55%,#0406089a);pointer-events:none}
.entrance-action{z-index:3;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:-52px;margin-bottom:23px;min-height:37px;padding:8px 15px;border-radius:999px;color:#f7e4c0;border:1px solid #bfa37a9c;background:#111923e8;box-shadow:0 3px 18px #000b;font:13px var(--sans);transition:background .18s,border-color .18s;white-space:nowrap}
.castle-entrance:hover .arch-photo img,.castle-entrance:focus-visible .arch-photo img{filter:saturate(1.05) brightness(1.05)}
.castle-entrance:hover .entrance-action,.castle-entrance:focus-visible .entrance-action{background:#2d3134;border-color:var(--house)}
.castle-entrance:hover .entrance-banner,.castle-entrance:focus-visible .entrance-banner{filter:brightness(1.12)}
.castle-entrance:focus-visible{outline:4px solid #fff1b8!important;outline-offset:-5px;z-index:5}
.castle-base{height:34px;margin:0 -22px;border-top:5px ridge #897661;border-bottom:3px ridge #897661;background:linear-gradient(180deg,#493b30,#151c25);box-shadow:0 10px 26px #0009}
.castle-whisper{font:italic 13px var(--serif);color:#9eabbb;text-align:center;margin:18px 0 4px}
.command-footer{padding:0 32px 19px}
.return-toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);z-index:95;display:flex;flex-direction:column;gap:3px;align-items:center;min-width:230px;border:1px solid #baa57f9a;border-radius:9px;background:#0b1424ef;box-shadow:0 15px 30px #0009;color:#f4ddb4;padding:15px 24px;pointer-events:none;animation:ink-arrives .23s ease-out both}
.return-toast strong{font:italic 23px var(--serif)}.return-toast small{font:12px var(--sans);color:#bbc8d7}
@media(max-width:1100px){.castle-facade{padding:0 12px}.castle-lintel,.castle-base{margin:0 -12px}.entrance-banner{flex-basis:200px;width:calc(100% - 12px)}.arch-photo{height:235px;width:calc(100% - 12px)}.castle-entrances{min-height:480px}.entrance-house{font-size:25px}.entrance-room{font-size:17px}}
@media(max-width:850px){.castle-stage{padding:0 16px 20px}.castle-attic{min-height:86px}.castle-facade{min-height:0}.castle-entrances{grid-template-columns:repeat(2,minmax(0,1fr));min-height:0}.castle-entrance{min-height:420px;border-bottom:6px ridge #766550}.entrance-banner{flex-basis:182px}.arch-photo{height:225px}.command-search{min-width:0}}
@media(max-width:530px){.command-header{padding:15px 18px}.command-search{min-width:46px}.castle-incantation{font-size:17px;line-height:1.35}.castle-stage{padding:0 12px 12px}.castle-attic{min-height:75px}.castle-facade{padding:0 7px}.castle-lintel,.castle-base{margin:0 -7px}.castle-entrances{grid-template-columns:1fr}.castle-entrance{min-height:232px;display:grid;grid-template-columns:39% 61%;align-items:stretch;gap:0;border-left:4px ridge #766550}.entrance-banner{z-index:3;grid-column:2;grid-row:1;width:100%;height:100%;min-height:230px;min-width:0;clip-path:none;border:0;background:linear-gradient(90deg,#0b1725de,#0c1525 30%,#111a29);justify-content:center;flex-basis:auto;padding:12px 8px;box-shadow:none}.entrance-banner:before{display:none}.house-crest{font-size:27px;margin-bottom:0}.entrance-house{font-size:clamp(23px,6vw,29px)}.entrance-room{font-size:16px}.entrance-purpose{font-size:12px}.arch-photo{z-index:1;grid-column:1;grid-row:1;width:100%;height:100%;border:0;clip-path:none;box-shadow:none}.arch-photo img{object-position:center}.entrance-action{position:absolute;grid-column:2;bottom:4px;right:16px;min-height:31px;margin:0;padding:6px 10px;font-size:11px;z-index:4}.castle-whisper{font-size:12px;margin-top:14px}.command-footer{padding:0 15px 15px;font-size:11px}}
@media(max-height:780px) and (min-width:851px){.castle-attic{min-height:58px}.castle-incantation{font-size:18px;margin:4px 0 10px}.entrance-banner{flex-basis:178px;min-height:172px;padding:9px 8px}.house-crest{font-size:27px;margin-bottom:0}.entrance-house{font-size:26px}.entrance-room{font-size:16px}.entrance-purpose{font-size:12px}.arch-photo{height:225px}.castle-entrances{min-height:420px}.castle-facade{min-height:0}.castle-whisper{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.castle-incantation,.return-toast{animation:none!important;opacity:1!important}.castle-entrance,.arch-photo img,.entrance-action{transition:none!important}}

/* Material detailing, preserving a continuous castle wall across entrances. */
.castle-facade{background:linear-gradient(#20242a6f,#181e25bd),#28262b;box-shadow:0 28px 90px #000b,0 0 0 1px #6f655b78}
.castle-lintel{background-image:linear-gradient(180deg,#0c0f1488,#1519235e),url('/marauders-demo/assets/stone-lintel.webp');background-size:100% 100%,cover;background-position:center;border-bottom:4px ridge #9c8567a8;border-top:2px solid #bead8669}
.castle-entrances{background:#1c2228}
.castle-entrance{border-right:0;box-shadow:none;background:linear-gradient(90deg,#352f2a,#221e20 13%,#23232a 87%,#352f2a)}
.castle-entrance:first-child{border-left:0}
.castle-entrance:before{content:"";position:absolute;z-index:5;left:0;top:0;bottom:0;width:18px;pointer-events:none;background-image:linear-gradient(90deg,#0005,transparent 35%,#eed5ae15 67%,#0009),url('/marauders-demo/assets/stone-column.webp');background-size:100% 100%,cover;background-position:center;box-shadow:6px 0 11px #0007}
.castle-entrance:last-child:after{content:"";position:absolute;z-index:5;right:0;top:0;bottom:0;width:18px;pointer-events:none;background-image:linear-gradient(90deg,#0005,#dfbb7730,#0006),url('/marauders-demo/assets/stone-column.webp');background-size:100% 100%,cover}
.entrance-banner{width:calc(100% - 34px);min-height:216px;clip-path:polygon(50% 0,100% 16%,100% 100%,0 100%,0 16%);background:linear-gradient(90deg,#0006,transparent 12%,transparent 85%,#0006),linear-gradient(180deg,color-mix(in srgb,var(--house) 28%,#091624) 0%,#10121a 100%);box-shadow:inset 0 3px 15px #000b,0 14px 20px #0009;border:1px solid #ae8f608e;border-bottom:2px solid #ad946383}
.entrance-banner:before{display:none}
.house-crest{width:75px;height:65px;display:block;overflow:hidden;border:0;margin:0 0 2px;border-radius:50% 50% 40% 40%;background:#19232d;box-shadow:0 0 0 1px #dfc38870,0 0 15px #0008}
.house-crest img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.99) saturate(.94)}
.entrance-house{margin-top:0}.entrance-room{margin-top:1px}
.arch-photo{border:6px ridge #ae94759c;width:calc(100% - 36px);box-shadow:inset 0 15px 22px #000a,0 0 0 2px #271e1b}
.castle-base{height:55px;background-image:linear-gradient(180deg,#18181b44,#161a20b3),url('/marauders-demo/assets/stone-floor.webp');background-size:cover;background-position:center 63%;border-top:5px ridge #92816b;border-bottom:0;box-shadow:0 12px 35px #000c}
@media(max-width:850px){.entrance-banner{width:calc(100% - 20px)}.arch-photo{width:calc(100% - 20px)}}
@media(max-width:530px){.castle-entrance:before,.castle-entrance:last-child:after{width:5px}.entrance-banner{width:100%;min-height:0;clip-path:none;border:0;border-bottom:0;box-shadow:none;background:linear-gradient(90deg,#0e1929ef,#0d1624 56%,#111c2e)}.house-crest{height:46px;width:52px}.arch-photo{width:100%;border:0}.castle-base{height:28px}}

/* Panoramic Great Hall: one continuous illustrated structure, no floating cards.
   The image is only decor. All visible route labels/buttons are actual HTML links. */
.panorama-hall{display:block;position:relative;width:100%;overflow:hidden;aspect-ratio:1672/707;background:#111920;box-shadow:0 22px 55px #0009}
.panorama-backdrop{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.panorama-entrances{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;padding:0 2.5%}
.panorama-entry{--glow:#e7c88c;position:relative;min-width:0;display:block;text-align:center;color:#fff0dc;text-decoration:none!important;border-radius:14px 14px 40px 40px;outline-offset:-4px;transition:box-shadow .18s,background .18s}
.panorama-floo{--glow:#89d3a9}.panorama-engine{--glow:#f2b49b}.panorama-pensieve{--glow:#9dc9ff}.panorama-owlery{--glow:#f2d48e}
.panorama-label{position:absolute;top:29.5%;left:8%;right:8%;min-height:18%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-shadow:0 2px 10px #000,0 1px 2px #000}
.panorama-label strong{font:normal clamp(22px,2.1vw,35px)/1.12 var(--serif);color:#f8e9cd}
.panorama-label span{font:clamp(15px,1.28vw,21px)/1.1 var(--serif);color:#fff3df}
.panorama-label small{font:clamp(11px,.97vw,16px)/1.3 var(--sans);color:#fff0db;margin-top:7px}
.panorama-action{position:absolute;left:50%;bottom:15%;transform:translateX(-50%);display:inline-flex;align-items:center;justify-content:center;gap:8px;font:clamp(12px,1vw,15px) var(--sans);white-space:nowrap;border-radius:999px;border:1px solid #d7b681ba;background:#0a1423dc;min-height:35px;padding:9px 14px;color:#f3dfba;box-shadow:0 3px 11px #000a;transition:background .18s,box-shadow .18s}
.panorama-entry:hover,.panorama-entry:focus-visible{background:linear-gradient(180deg,transparent 0%,#fff0 49%,color-mix(in srgb,var(--glow) 19%,transparent) 80%,transparent)}
.panorama-entry:hover .panorama-action,.panorama-entry:focus-visible .panorama-action{background:#263447;box-shadow:0 0 0 2px var(--glow),0 10px 25px #0009}
.panorama-entry:focus-visible{outline:4px solid #ffffff!important}
@media(min-width:1101px){.castle-facade{display:none}}
@media(max-width:1100px){.panorama-hall{display:none}}
@media(prefers-reduced-motion:reduce){.panorama-entry,.panorama-action{transition:none!important}}


/* v0.6.1 — restrained ambient warmth, without adding interface chrome.
   All effects are decorative; the links and labels work without them. */
.panorama-entry::before {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  left: 6%; right: 6%; bottom: 5%; height: 34%;
  background: radial-gradient(ellipse at 50% 78%, color-mix(in srgb,var(--glow) 32%,transparent), transparent 64%);
  opacity: .055;
  animation: castle-lamplight 9s ease-in-out infinite;
  transition: opacity .18s ease;
}
.panorama-entry:nth-child(2)::before { animation-delay: -2.2s; }
.panorama-entry:nth-child(3)::before { animation-delay: -4.4s; }
.panorama-entry:nth-child(4)::before { animation-delay: -6.6s; }
.panorama-entry:hover::before,
.panorama-entry:focus-visible::before {opacity:.19;animation-play-state:paused}
.panorama-label,.panorama-action {z-index: 1}
@keyframes castle-lamplight {
  0%,100% {opacity:.035}
  50% {opacity:.075}
}
@media (prefers-reduced-motion: reduce) {
  .panorama-entry::before {animation:none!important;transition:none!important;opacity:.04}
  .panorama-entry:hover::before,.panorama-entry:focus-visible::before{opacity:.19}
  .map-phrase,.castle-incantation {animation:none!important;opacity:1!important}
}

/* v0.6.2 — Full-viewport Great Hall correction.
   Four real navigation links remain in the uninterrupted architectural panorama. */
.command-incantation{display:none;margin:0}
@media (min-width:1101px){
  .command-shell{min-height:100dvh;background:#0d1117;overflow-x:clip}
  .command-shell::before{display:none}
  .command-header{width:100%;max-width:none;height:76px;flex:none;margin:0;
    padding:0 clamp(24px,3.1vw,56px);position:relative;
    display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
    border-bottom:1px solid #75664d7a;background:linear-gradient(180deg,#171d24 0%,#16191d 100%);
    box-shadow:0 5px 20px #0007;}
  .command-mark{grid-column:1;justify-self:start;z-index:2}
  .command-mark strong{font-size:clamp(19px,1.42vw,24px);letter-spacing:.085em}
  .command-mark small{font-size:10px}
  .command-incantation{display:block;grid-column:2;justify-self:center;z-index:1;
    font:italic clamp(17px,1.5vw,25px)/1.4 var(--serif);white-space:nowrap;
    color:#e6cda5;text-align:center;text-shadow:0 1px 8px #0009;}
  .command-search{grid-column:3;justify-self:end;z-index:2;
    min-width:250px;padding:10px 14px;border-radius:7px;
    background:#0b1320c7;font-size:13px}
  .command-main{display:flex;flex:1;min-height:calc(100dvh - 76px);align-items:stretch}
  .castle-stage{width:100%;max-width:none;margin:0;min-height:calc(100dvh - 76px);
    padding:0;display:flex;flex-direction:column;align-items:stretch}
  .castle-stage::after{content:"";display:block;flex:1;min-height:68px;width:100%;
    background-image:linear-gradient(180deg,#03050919,#07101ad9 91%),url('/marauders-demo/assets/stone-floor.webp');
    background-position:center top;background-size:100% 100%,100% 100%;
    box-shadow:inset 0 10px 24px #04070b53;pointer-events:none;}
  .castle-attic,.castle-whisper{display:none}
  .panorama-hall{width:100%;max-width:none;flex:none;aspect-ratio:1672 / 707;
    overflow:hidden;box-shadow:none;border:0;background:#10151c}
  .panorama-backdrop{object-fit:fill}
  .panorama-entrances{padding:0 2.3%}
  .panorama-label{top:29%;gap:4px;left:5%;right:5%;min-height:18%}
  .panorama-label strong{font-size:clamp(29px,2.2vw,45px);line-height:1.1}
  .panorama-label span{font-size:clamp(19px,1.5vw,27px)}
  .panorama-label small{font-size:clamp(13px,.95vw,18px);margin-top:4px}
  .panorama-action{min-height:42px;font-size:clamp(13px,1vw,17px);
    bottom:12.5%;padding:10px 17px}
}
@media (min-width:1101px) and (max-width:1450px){
  .command-header{grid-template-columns:auto 1fr auto;gap:12px}
  .command-incantation{font-size:17px}
  .command-search{min-width:220px}
}
@media (max-width:1100px){
  .command-incantation{display:none}
  .command-shell{justify-content:flex-start}
  .command-main{flex:1}
  .castle-stage{margin:0 auto;width:100%}
  .command-footer{display:none}
  .castle-whisper{margin:10px 0 12px}
}
@media (prefers-reduced-motion:reduce){
  .panorama-entry,.panorama-action{transition:none!important}
}
/* v0.7 — The four common rooms. Great Hall styles remain untouched. */
.chamber-shell{--house:#bca074;--house-glow:rgba(190,160,116,.18);min-height:100vh;background:radial-gradient(ellipse at 50% 0%,#23313c,#0b121c 56%,#080e17);color:#f1e8d9;position:relative;display:flex;flex-direction:column;isolation:isolate}
.chamber-theme-floo{--house:#5eb892;--house-glow:rgba(67,158,109,.18)}
.chamber-theme-engine{--house:#e2a379;--house-glow:rgba(190,86,67,.2)}
.chamber-theme-pensieve{--house:#84aad9;--house-glow:rgba(78,120,204,.19)}
.chamber-theme-owlery{--house:#d8b46f;--house-glow:rgba(216,165,67,.16)}
.chamber-shell:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 159px,rgba(171,146,100,.027) 160px 161px);pointer-events:none;z-index:-1}
.chamber-header{background:#0c141ef5;border-bottom:1px solid #66563b66;z-index:5;position:relative}
.chamber-header-top{min-height:70px;padding:10px clamp(18px,3vw,55px);display:flex;align-items:center;gap:20px;border-bottom:1px solid #b5975220}
.chamber-brand{border:0;background:none;color:#eedabd;display:flex;align-items:center;gap:11px;padding:0;text-align:left;min-width:185px}
.chamber-brand svg{color:#d5b579}.chamber-brand>span{display:flex;flex-direction:column;gap:1px}.chamber-brand strong{font:16px/1.2 Georgia,serif;letter-spacing:.12em}.chamber-brand small{font:9px/1.2 var(--sans);letter-spacing:.2em;color:#9eaebc}
.chamber-home{margin:0 auto;border:1px solid #6e644d7d;border-radius:99px;background:#141e29;color:#d9c39e;padding:9px 14px;display:flex;align-items:center;gap:9px;white-space:nowrap;font:13px var(--serif)}.chamber-home svg{transform:rotate(180deg)}.chamber-home small{font:11px var(--sans);color:#b8c0c8}.chamber-home:hover{background:#24313d;border-color:#d6b985}
.chamber-search{color:#e3e6e7;border:1px solid #42566c;border-radius:9px;background:#111e2c;display:flex;align-items:center;gap:10px;padding:10px 13px;font-size:12px;min-width:220px;justify-content:space-between}.chamber-search svg{color:#dec08b}.chamber-search kbd{font-size:10px;color:#a1afbf;border:1px solid #37485c;padding:3px 5px;border-radius:4px}.chamber-search:hover{border-color:#c0a879}
.chamber-tabs{display:flex;gap:7px;align-items:stretch;justify-content:center;max-width:1240px;margin:auto;padding:7px 16px;min-height:66px}
.chamber-tab{background:transparent;border:1px solid transparent;color:#c3cbd2;border-radius:8px;padding:6px 15px;display:flex;align-items:center;gap:10px;min-width:160px;text-align:left;transition:background .16s,border-color .16s}
.chamber-tab:hover{background:#263444}.chamber-tab.active{background:#27303b;border-color:#877453;box-shadow:inset 0 -2px var(--house)}.chamber-tab-icon{display:grid;place-items:center;width:35px;height:35px;flex:none}.chamber-tab-icon img{width:34px;height:34px;object-fit:contain}.chamber-tab>span:last-child{display:flex;flex-direction:column;gap:2px}.chamber-tab strong{font:16px var(--serif);color:#f2e6d3}.chamber-tab small{font:10px var(--sans);color:#9bacb9}
.chamber-more{position:relative;margin-left:10px;align-self:center}.chamber-more summary{list-style:none;cursor:pointer;padding:10px 12px;border-radius:8px;color:#b9c5ce;display:flex;align-items:center;gap:9px;font-size:12px}.chamber-more summary::-webkit-details-marker{display:none}.chamber-more[open] summary,.chamber-more summary:hover{background:#24303d;color:#fff}.chamber-more-menu{position:absolute;right:0;top:100%;width:240px;z-index:15;border:1px solid #726044;background:#101c29;padding:7px;box-shadow:0 15px 42px #0009;border-radius:9px}.chamber-more-menu button{background:transparent;border:0;border-radius:5px;text-align:left;color:#e6e0d5;width:100%;padding:12px 10px;font-size:12px}.chamber-more-menu button:hover{background:#29384a}
.chamber-hero{height:325px;position:relative;overflow:hidden;border-bottom:3px solid #796447;isolation:isolate;box-shadow:0 16px 30px #03060966;background:#111d29}
.chamber-hero-art{position:absolute;inset:-25px;background-image:url('/marauders-demo/assets/common-ravenclaw.webp');background-size:cover;background-position:center 42%;filter:blur(22px) saturate(.85) brightness(.5);transform:scale(1.04);z-index:-3}
.chamber-floo .chamber-hero-art{background-image:url('/marauders-demo/assets/common-slytherin.webp')}
.chamber-engine .chamber-hero-art{background-image:url('/marauders-demo/assets/common-gryffindor.webp')}
.chamber-owlery .chamber-hero-art{background-image:url('/marauders-demo/assets/common-hufflepuff.webp')}
.chamber-hero-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#08111ff2 1%,#101a28e8 28%,#19232dd9 54%,#1420301e 86%),radial-gradient(ellipse at 60% 40%,var(--house-glow),transparent 64%)}
.chamber-hero-content{height:100%;width:min(1380px,100%);margin:auto;padding:34px clamp(23px,5vw,80px);position:relative;z-index:2;display:flex;align-items:center;gap:30px}
.chamber-hero-mark{align-self:center;flex:none;width:95px;height:115px;display:grid;place-items:center}.chamber-hero-mark img{max-width:95px;max-height:100px;filter:drop-shadow(0 5px 15px #0009)}
.chamber-hero-copy{max-width:770px}.chamber-overline{font:11px/1.4 var(--sans);letter-spacing:.2em;color:var(--house);text-transform:uppercase;font-weight:700}.chamber-hero h1{font:normal clamp(39px,4vw,68px)/1.06 Georgia,serif;color:#f6e9d4;letter-spacing:-.02em;margin:8px 0 7px;text-shadow:0 5px 19px #000}
.chamber-purpose{font:18px var(--sans);color:#eee7dd;margin:0 0 15px;font-weight:550}.chamber-intro{font-size:13px;line-height:1.6;max-width:620px;color:#bac8d3;margin:0 0 13px}
.chamber-hero-meta{font:10px var(--sans);letter-spacing:.13em;color:#cebca4;display:flex;align-items:center;gap:7px}.chamber-hero-meta svg{color:var(--house)}
.chamber-image-window{position:absolute;right:3.8%;top:-40px;width:min(31vw,440px);height:395px;z-index:-1;border-left:9px ridge #806b4c;border-right:9px ridge #806b4c;border-top:10px ridge #897651;border-radius:210px 210px 0 0;overflow:hidden;box-shadow:inset 0 0 27px #0008,0 0 0 13px #3a352b5e;mask-image:linear-gradient(to bottom,#000 70%,transparent 100%)}.chamber-image-window img{width:100%;height:100%;object-fit:cover;filter:brightness(.8) saturate(1.04)}
.chamber-main-content{width:min(1240px,calc(100% - 56px));margin:0 auto;padding:35px 0 85px;flex:1}.chamber-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:20px}.chamber-heading h2{font:normal 30px/1.2 Georgia,serif;color:#f2e5d1;margin:0}.chamber-heading>span{font:10px var(--sans);color:#9aa7b7;letter-spacing:.14em;white-space:nowrap}
.chamber-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.chamber-source{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:#e2d7c6}.chamber-source-led{width:9px;height:9px;border-radius:50%;background:#bd8a55;box-shadow:0 0 0 3px #bd8a5526}.chamber-source.connected .chamber-source-led{background:#68b89d;box-shadow:0 0 0 3px #68b89d22}.chamber-source strong{font-size:13px;font-weight:550}.chamber-source small{color:#a9b4c3;font-size:11px}.chamber-toolbar-actions{display:flex;gap:7px}.chamber-small-button{border:1px solid #576578;border-radius:8px;background:#1a2b3b;padding:10px 13px;display:inline-flex;gap:8px;align-items:center;color:#f0e8da;font-size:12px}.chamber-small-button:hover{border-color:#be9b61;background:#283949}
.chamber-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 24px}.chamber-stat{border:1px solid #5f665d73;background:linear-gradient(145deg,#203140b8,#13202cda);padding:19px 22px 17px;display:flex;flex-direction:column;gap:6px;border-radius:9px;min-height:130px}.chamber-stat>span{font:10px var(--sans);color:#adbbc8;letter-spacing:.12em}.chamber-stat>strong{font:normal 40px/1.1 Georgia,serif;color:#f2e6d3}.chamber-stat>small{font-size:11px;color:#b3c0ca}
.chamber-content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.chamber-content-grid.network{grid-template-columns:minmax(0,1.35fr) minmax(290px,.85fr);align-items:start}
.chamber-paper{border:1px solid #6c675973;border-radius:10px;background:linear-gradient(160deg,#1c2937ee,#101a27f5);padding:22px;min-width:0;box-shadow:0 10px 30px #0003}.chamber-paper .chamber-heading h2{font-size:24px}.chamber-paper .chamber-heading{margin-bottom:16px}.chamber-muted{color:#b1bfcc;font-size:13px;margin:10px 0 0}
.chamber-guest{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 10px;padding:14px 4px;border-top:1px solid #6470803b}.chamber-guest-name{display:flex;align-items:center;gap:9px;min-width:0;flex-wrap:wrap}.chamber-guest-name strong{font-size:14px;font-weight:600}.chamber-id{font:10px var(--sans);letter-spacing:.1em;color:#c2d0df;background:#34414d;padding:5px 7px;border-radius:5px}.chamber-guest-state{font:11px var(--sans);text-transform:capitalize;color:#c6bec0;padding:4px 8px;border:1px solid #726a6a;background:#31272a;border-radius:20px}.chamber-guest-state.running{color:#9be1c2;background:#143d32;border-color:#286e58}.chamber-guest-state.stopped{color:#dfb39b;background:#422c28;border-color:#815348}.chamber-guest-metrics{grid-column:1/-1;display:flex;gap:16px;color:#b9c5d0;font-size:11px}
.chamber-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}.chamber-link{display:flex;align-items:center;gap:13px;background:#1d2d3b;border:1px solid #576676;border-radius:10px;padding:17px;color:#e9e1d5;min-width:0;transition:border-color .14s,background .14s}.chamber-link:hover{border-color:var(--house);background:#293b4b}.chamber-link-primary{border-color:#8d7a59;background:linear-gradient(115deg,#303a3c,#1e2d3a)}.chamber-link .chamber-link-icon{color:var(--house);flex:none}.chamber-link>span:nth-child(2){min-width:0;display:flex;flex:1;flex-direction:column;gap:2px}.chamber-link strong{font-size:15px}.chamber-link small{color:#adbdca;font-size:11px}.chamber-link>svg{color:#c5b296}
.chamber-note{display:flex;align-items:flex-start;gap:13px;padding:17px 19px;border:1px solid #675d4879;background:#302a216b;border-radius:9px;margin:17px 0 21px}.chamber-note>svg{color:#d4b37b;flex:none;margin-top:2px}.chamber-note strong{font-size:13px;color:#eedbc1}.chamber-note p{font-size:12px;line-height:1.55;color:#b7bfca;margin:2px 0 0}
.chamber-devgroup h3{font:17px Georgia,serif;color:#e6d4b7;margin:16px 0 8px}.chamber-devgroup h3 span{font:11px var(--sans);color:#a7b3c0;margin-left:7px}.chamber-device-list{border-top:1px solid #596a7c4a}.chamber-device{display:flex;align-items:center;gap:13px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #596a7c4a;padding:13px 9px;color:#eff1ef}.chamber-device:hover,.chamber-device.selected{background:#3543368a}.chamber-device.selected{box-shadow:inset 3px 0 var(--house)}.chamber-device-icon{color:var(--house)}.chamber-device-text{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.chamber-device-text strong{font-size:14px}.chamber-device-text small{font-size:11px;color:#adbcca}.chamber-device>svg{color:#a6b8c9}
.chamber-inspector{position:sticky;top:15px}.chamber-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#9baebb;gap:8px}.chamber-empty svg{color:var(--house)}.chamber-empty h3{font:25px Georgia,serif;color:#e9dbc5;margin:7px 0 0}.chamber-empty p{font-size:12px;max-width:260px}.chamber-inspector-detail .chamber-device-badge{color:var(--house)}.chamber-inspector-detail h3{font-size:29px;margin:12px 0 2px}.chamber-device-kind{color:#dabf8b;font-size:13px;margin:0 0 17px}.chamber-inspector-detail>p{font-size:13px;color:#b9c5d0;line-height:1.7}.chamber-address{border-top:1px solid #53616c;padding:16px 0;display:flex;justify-content:space-between;gap:10px}.chamber-address small{font-size:10px;color:#a1b0bc}.chamber-address code{font-size:13px;color:#e9d7b2}.chamber-inspector-disclaimer{font-size:11px;color:#a1acb7;display:flex;gap:7px;align-items:center;margin:16px 0}
.chamber-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.chamber-feature{border:1px solid #6d665b8c;border-radius:11px;background:linear-gradient(165deg,#273240ec,#131e2afb);padding:29px;min-height:280px}.chamber-feature.primary{background:radial-gradient(ellipse at 90% 0%,var(--house-glow),transparent 67%),linear-gradient(160deg,#2b3742ec,#121e2a)}.chamber-feature-top{display:flex;align-items:center;justify-content:space-between;color:var(--house);margin-bottom:15px}.chamber-feature-top span{font-size:10px;letter-spacing:.16em;color:#aebac5}.chamber-feature h3{font-size:32px;color:#f0e4cd;margin:0 0 10px}.chamber-feature p{font-size:14px;color:#bbc8d2;line-height:1.7;max-width:510px;min-height:83px}.chamber-feature .chamber-link{margin-top:19px}.chamber-inline-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.chamber-inline-actions button{display:inline-flex;gap:8px;align-items:center;border:1px solid #657587;border-radius:8px;background:#243443;padding:12px 15px;color:#e4e8e7;font-size:12px}.chamber-inline-actions button:hover{border-color:var(--house)}
.chamber-footer{margin-top:auto;color:#8295a5;border-top:1px solid #36455378;padding:17px 26px;display:flex;justify-content:space-between;gap:12px;font-size:10px;letter-spacing:.06em}
@media(max-width:1040px){.chamber-header-top{gap:10px}.chamber-brand{min-width:145px}.chamber-home small{display:none}.chamber-search{min-width:190px}.chamber-tab{min-width:0;padding:7px 10px}.chamber-image-window{right:-3%;width:39vw;opacity:.65}.chamber-hero-overlay{background:linear-gradient(90deg,#08111ff2,#101a28eb 38%,#19232d9c 79%,#14203069)}}
@media(max-width:760px){.chamber-header-top{min-height:58px;padding:9px 15px}.chamber-brand{min-width:0}.chamber-brand strong{font-size:14px}.chamber-brand small{font-size:8px}.chamber-home{margin-left:auto;margin-right:0}.chamber-home small{display:none}.chamber-home span{display:none}.chamber-search{min-width:0;gap:0;padding:9px}.chamber-search span,.chamber-search kbd{display:none}.chamber-tabs{justify-content:flex-start;overflow-x:auto;padding:7px 12px}.chamber-tab{flex:none;min-width:115px;gap:5px}.chamber-tab-icon{width:30px;height:30px}.chamber-tab-icon img{width:27px;height:27px}.chamber-tab strong{font-size:13px}.chamber-tab small{font-size:9px}.chamber-more{margin:0;flex:none}.chamber-hero{height:290px}.chamber-hero-content{padding:25px}.chamber-hero-mark{width:60px;height:88px}.chamber-hero-mark img{max-width:58px}.chamber-hero h1{font-size:44px}.chamber-image-window{width:45vw;right:-8%;opacity:.38}.chamber-main-content{width:calc(100% - 32px);padding:26px 0 65px}.chamber-heading h2{font-size:24px}.chamber-stat-grid{gap:8px}.chamber-stat{padding:15px}.chamber-stat strong{font-size:31px}.chamber-content-grid,.chamber-content-grid.network,.chamber-feature-grid{grid-template-columns:1fr}.chamber-inspector{position:relative;top:auto}.chamber-quick-links{grid-template-columns:1fr}}
@media(max-width:470px){.chamber-home{padding:9px}.chamber-hero{height:300px}.chamber-image-window{display:none}.chamber-hero-overlay{background:linear-gradient(90deg,#0b1523ee,#0e1828da)}.chamber-hero-content{padding:23px;gap:13px;align-items:center}.chamber-hero-mark{width:48px}.chamber-hero-mark img{max-width:48px}.chamber-hero h1{font-size:39px}.chamber-overline{font-size:9px}.chamber-purpose{font-size:15px}.chamber-intro{font-size:12px}.chamber-heading{align-items:start;flex-direction:column;gap:4px}.chamber-heading h2{font-size:24px}.chamber-toolbar{align-items:start;flex-direction:column}.chamber-stat{padding:13px;min-height:95px}.chamber-stat-grid{gap:7px}.chamber-stat strong{font-size:25px}.chamber-stat span{font-size:9px}.chamber-stat small{font-size:9px}.chamber-paper,.chamber-feature{padding:17px}.chamber-feature p{min-height:0}.chamber-footer span:last-child{display:none}.chamber-hero-meta{font-size:9px}}
@media(prefers-reduced-motion:reduce){.chamber-tab,.chamber-link,.chamber-device{animation:none!important;transition:none!important}}

/* Phone navigation: four houses remain visible without hidden sideways scrolling. */
@media(max-width:520px){
 .chamber-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;overflow:visible;min-height:0;padding:8px 12px}
 .chamber-tab{min-width:0;width:100%;padding:7px 9px}
 .chamber-more{grid-column:1/-1;justify-self:end;margin:0}
 .chamber-more summary{padding:6px 9px}
 .chamber-hero{height:242px}
 .chamber-hero-content{padding:13px 20px}
 .chamber-hero h1{font-size:37px}
 .chamber-intro{margin-bottom:7px;line-height:1.45}
}

/* v0.7.1 — common room interaction polish. Great Hall intentionally unchanged. */
@keyframes chamber-arrive{from{opacity:.45;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes tiny-refresh{to{transform:rotate(360deg)}}
.chamber-main-content{animation:chamber-arrive .28s ease-out both}
.chamber-hero-content{animation:chamber-arrive .33s ease-out both}
.chamber-header button:focus-visible,.chamber-main-content button:focus-visible,.chamber-main-content a:focus-visible,.chamber-more summary:focus-visible,.palette-sheet button:focus-visible {outline:3px solid #f7d394;outline-offset:3px;box-shadow:0 0 0 6px #0a172bd9}
.chamber-tab{position:relative;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}
.chamber-tab:after{content:"";position:absolute;bottom:0;left:19%;right:19%;height:2px;border-radius:2px;background:var(--house);opacity:0;transform:scaleX(.5);transition:opacity .18s,transform .18s}
.chamber-tab:is(:hover,:focus-visible):after,.chamber-tab.active:after{opacity:1;transform:scaleX(1)}
.chamber-tab.active{background:linear-gradient(175deg,#334151,#212d3b);border-color:#a38b64;box-shadow:inset 0 1px #ffdda52c}
.chamber-tab.active strong{color:#fff1d8}
.chamber-paper,.chamber-feature,.chamber-stat{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}
.chamber-paper:hover,.chamber-feature:hover{border-color:#b4a17a9c;box-shadow:0 10px 28px #02071155}
.chamber-stat:hover{border-color:#baa57989}
.chamber-device{border-radius:6px;transition:background .15s ease,box-shadow .15s ease}
.chamber-device:is(:hover,:focus-visible){background:#33473f8c;box-shadow:inset 3px 0 #9fbd9f}
.chamber-device.selected{background:#38533f8c;box-shadow:inset 3px 0 var(--house);color:#fff}
.chamber-inspector-detail{animation:chamber-arrive .23s ease-out both}
.chamber-link{transition:background .17s ease,border-color .17s ease,transform .17s ease,box-shadow .17s ease}
.chamber-link:is(:hover,:focus-visible){transform:translateY(-2px);box-shadow:0 8px 21px #050c1899;border-color:var(--house)}
.chamber-small-button,.chamber-inline-actions button,.chamber-home{transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.chamber-small-button:disabled{opacity:.7;cursor:progress}
.chamber-small-button[aria-busy="true"] .ico{animation:tiny-refresh .9s linear infinite;transform-origin:center}
.chamber-home:hover{box-shadow:0 0 0 1px #b99b6744}
.chamber-hero-mark{filter:drop-shadow(0 3px 9px #0007)}
.chamber-source-led{transition:background-color .2s,box-shadow .2s}
@media(prefers-reduced-motion:reduce){.chamber-main-content,.chamber-hero-content,.chamber-inspector-detail{animation:none!important}.chamber-tab,.chamber-tab:after,.chamber-paper,.chamber-feature,.chamber-stat,.chamber-device,.chamber-link,.chamber-small-button,.chamber-inline-actions button,.chamber-home,.chamber-source-led{transition:none!important}.chamber-link:hover{transform:none}.chamber-small-button[aria-busy="true"] .ico{animation:none!important}}


/* v0.7.2 — audited interior simplification. Great Hall deliberately unchanged. */
.chamber-header{position:sticky;top:0;z-index:20;background:#0d1824f8;backdrop-filter:blur(10px)}
.chamber-navline{display:flex;align-items:center;gap:clamp(8px,1.6vw,24px);min-height:72px;padding:8px clamp(14px,2.3vw,34px);max-width:1600px;margin:0 auto}
.chamber-brand{min-width:145px;flex:none}.chamber-brand strong{font-size:16px}.chamber-brand small{font-size:9px;letter-spacing:.1em}
.chamber-tabs{flex:1;max-width:none;justify-content:center;min-height:0;padding:0;gap:3px;margin:0}
.chamber-tab{min-width:0;padding:7px 10px;gap:7px;flex:1;max-width:180px}
.chamber-tab-icon,.chamber-tab-icon img{width:27px;height:27px}.chamber-tab strong{font-size:15px}.chamber-tab small{font-size:12px;color:#c0c9d3}
.chamber-more{margin:0;flex:none}.chamber-search{min-width:0;flex:none;white-space:nowrap;padding:9px 11px}
.chamber-hero{height:122px;min-height:122px;border-bottom:1px solid #86714e70;box-shadow:none}
.chamber-hero-art{inset:0;filter:blur(2px) saturate(.75) brightness(.5);transform:none;background-position:center 58%}
.chamber-hero-overlay{background:linear-gradient(90deg,#0b1724f2 0%,#0e1926ee 48%,#0f1d2b8f 82%,#13253880 100%)}
.chamber-hero-content{max-width:1400px;padding:13px clamp(18px,3vw,45px);align-items:center;gap:0}
.chamber-hero h1{font-size:clamp(25px,2.6vw,35px);margin:2px 0 3px;line-height:1.1;letter-spacing:0}
.chamber-overline{letter-spacing:.08em;font-size:11px}
.chamber-purpose{font-size:14px;margin:0;font-weight:500;color:#e3ded6}
.chamber-image-window,.chamber-intro,.chamber-hero-meta{display:none!important}
.chamber-main-content{width:min(1340px,calc(100% - 42px));padding:19px 0 45px;animation:none}
.chamber-operational>.chamber-heading{margin-bottom:10px}
.chamber-toolbar{margin:0 0 12px}.chamber-source small{font-size:12px;color:#c5d0d9}
.chamber-stat-grid{gap:10px;margin:12px 0 15px}
.chamber-stat{min-height:96px;padding:13px 16px;gap:4px;box-shadow:none}
.chamber-stat>strong{font-size:34px}.chamber-stat>span{font-size:11px;letter-spacing:.05em}
.chamber-stat>small{font-size:12px}
.chamber-paper{padding:15px 17px;box-shadow:none}.chamber-paper .chamber-heading{margin-bottom:7px}
.chamber-paper .chamber-heading h2{font-size:21px}.chamber-heading>span{font-size:11px;letter-spacing:0}
.chamber-guest{padding:10px 3px}.chamber-guest-metrics{font-size:12px}
.chamber-quick-links{gap:10px;margin-bottom:12px}
.chamber-link{padding:11px 13px;border-radius:8px}.chamber-link small{font-size:12px}
.chamber-content-grid,.chamber-content-grid.network{gap:12px}
.chamber-devgroup h3{margin:13px 0 5px}.chamber-device{padding:10px}.chamber-device-text small{font-size:12px;color:#bbc8d5}.chamber-device-text code{font-size:12px}
.network-summary{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:0 0 11px;font-size:14px;color:#e9e4d9}
.inventory-qualifier{color:#e1be82;font-size:12px;border:1px solid #9d78466d;border-radius:6px;padding:5px 9px;background:#3e312327}
.network-list{max-width:1100px}.chamber-device-entry{min-width:0}
.chamber-inline-inspector{padding:6px 16px 13px 46px;background:#24324690;border-bottom:1px solid #53657573}
.chamber-inline-inspector p{margin:3px 0 9px;font-size:13px;line-height:1.4;color:#d1dce5}
.chamber-inline-inspector a{font-size:13px;color:#ead09a;display:inline-flex;align-items:center;gap:7px}
.chamber-simple-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.chamber-simple-tools>.chamber-link{min-width:min(410px,100%)}.chamber-simple-tools .chamber-inline-actions{margin:0}
.chamber-footer{display:none}
.chamber-link:hover{transform:none;box-shadow:none}
.chamber-paper:hover,.chamber-feature:hover{border-color:#6c675973;box-shadow:none}
.chamber-main-content,.chamber-hero-content,.chamber-inspector-detail{animation:none!important}
@media(max-width:1080px){.chamber-navline{flex-wrap:wrap;justify-content:space-between;gap:8px}.chamber-tabs{order:3;flex-basis:100%;justify-content:stretch}.chamber-tab{max-width:none}.chamber-hero{height:110px;min-height:110px}}
@media(max-width:760px){.chamber-navline{padding:9px 12px;gap:7px}.chamber-brand{min-width:0}.chamber-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;overflow:visible;min-height:0;padding:0;gap:4px;order:3}.chamber-tab{min-width:0;width:100%;padding:8px 4px;gap:3px;justify-content:center}.chamber-tab-icon{display:none}.chamber-tab>span:last-child{text-align:center}.chamber-tab strong{font-size:12px}.chamber-tab small{font-size:11px}.chamber-search{min-width:0;padding:9px}.chamber-search span,.chamber-search kbd{display:none}.chamber-more{margin-left:auto;order:2}.chamber-hero{height:94px;min-height:94px}.chamber-hero-content{padding:12px 18px}.chamber-hero h1{font-size:29px}.chamber-main-content{width:calc(100% - 28px);padding:15px 0 33px}.chamber-toolbar{align-items:flex-start;flex-direction:column}.chamber-quick-links{grid-template-columns:1fr 1fr}.chamber-content-grid{grid-template-columns:1fr}.chamber-stat{min-height:85px;padding:10px}.chamber-stat>strong{font-size:28px}}
@media(max-width:470px){.chamber-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.chamber-tab{justify-content:flex-start;padding:7px 10px}.chamber-tab>span:last-child{text-align:left}.chamber-quick-links{grid-template-columns:1fr}.chamber-stat-grid{gap:6px}.chamber-stat{padding:10px 8px}.chamber-stat>strong{font-size:24px}.chamber-stat>span{font-size:10px}.chamber-stat>small{font-size:10px}.chamber-source small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.chamber-tab,.chamber-hero,.chamber-source-led,.chamber-link{transition:none!important}}

/* Compact two-column documented equipment list; do not duplicate Pi-hole in both inventory and services. */
.network-list{max-width:none}.network-device-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.network-device-columns>.chamber-devgroup{min-width:0}
@media(max-width:760px){.network-device-columns{grid-template-columns:1fr;gap:3px}}
/* Marauders v0.8: distinctive functional workspaces; Great Hall selectors untouched. */
.chamber-hero{height:104px;min-height:104px}
.chamber-hero-art{filter:blur(1px) saturate(.85) brightness(.6)}
.chamber-hero-overlay{background:linear-gradient(90deg,#0b1724 1%,#0d1924e9 43%,#0d1924a8 85%)}
.chamber-hero h1{font-size:clamp(27px,2.5vw,34px)}
.chamber-hero-content{padding:10px clamp(17px,3vw,46px)}
.chamber-main-content{max-width:1360px}

/* Gryffindor: host readings adjacent to guest records, not another generic card grid. */
.room-content-compute{--room-emphasis:#dba180}
.compute-command{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 15px;flex-wrap:wrap}
.compute-origin{display:flex;flex-direction:column;gap:4px}
.compute-origin>small{color:#b0c1ce;font-size:12px}
.compute-state{display:inline-flex;align-items:center;gap:9px;color:#f5e3cf;font-weight:700;font-size:14px}
.compute-state-dot{height:8px;width:8px;border-radius:50%;background:#b5a5a0;flex:none;display:inline-block}
.compute-state.live .compute-state-dot,.compute-guest-status.running .compute-state-dot{background:#80c8a6;box-shadow:0 0 0 3px #80c8a625}
.compute-state.stale .compute-state-dot{background:#e7bc79}
.compute-actions{display:flex;align-items:center;gap:8px}
.compute-workspace{display:grid;grid-template-columns:minmax(235px,.34fr) minmax(0,1fr);gap:16px;align-items:start}
.compute-host{background:linear-gradient(166deg,#3423229c,#161a27 74%);border:1px solid #76554d78;border-radius:10px;overflow:hidden}
.compute-section-id{font-size:11px;letter-spacing:.12em;font-weight:750;color:#d3b4a6;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid #a07b674d}
.compute-section-id span{font-family:var(--serif);font-size:15px;letter-spacing:.025em;color:#efdbc3;font-weight:400}
.compute-reading{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:1px 10px;margin:0 17px;padding:15px 0;border-bottom:1px solid #9b8a7840}
.compute-reading:last-child{border-bottom:none}
.compute-reading>span{font-size:11px;letter-spacing:.07em;color:#c2b6b3}
.compute-reading>strong{font-size:29px;font-weight:500;font-variant-numeric:tabular-nums;color:#f6e9db;line-height:1.2}
.compute-reading>small{grid-column:1/-1;color:#a9b6c3;font-size:12px}
.compute-total{font-size:19px;color:#b6a6a1}
.compute-guest-inventory{background:#121c2a;border:1px solid #364455;border-radius:10px;overflow:hidden}
.compute-guest-inventory>.compute-section-id{color:#d7cbb9;background:#192534;border-color:#354759}
.compute-guest-inventory>.compute-section-id span{font-family:var(--sans);font-size:11px;color:#b6c4d1}
.compute-group+.compute-group{border-top:1px solid #425062}
.compute-group-title{display:flex;justify-content:space-between;align-items:center;padding:12px 16px 6px}
.compute-group-title h2{font-size:22px;margin:0;color:#f2e2cc}
.compute-group-title span{font-size:11px;color:#b2becb}
.compute-guest-row{padding:12px 16px;display:grid;grid-template-columns:80px minmax(130px,1fr) 94px 110px 88px;align-items:center;gap:9px;font-size:13px}
.compute-guest-row+.compute-guest-row{border-top:1px solid #3d4a5c63}
.compute-guest-row strong{font-size:14px;overflow-wrap:anywhere}
.compute-guest-number{border-radius:4px;background:#2a394b;color:#d9c6ac;font-size:11px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;padding:4px 5px;width:max-content}
.compute-guest-stat{font-variant-numeric:tabular-nums;color:#b8cad6;font-size:12px}
.compute-guest-status{display:inline-flex;align-items:center;gap:6px;justify-self:end;text-transform:capitalize;color:#d6c9bb;font-size:12px}
.compute-guest-status.stopped .compute-state-dot{background:#cc8875}
.compute-offline{display:flex;align-items:start;gap:13px;padding:20px;color:#d4c6bd}
.compute-offline p{margin:4px 0 0;font-size:13px;color:#adc0ce}
.compute-empty{padding:12px 16px 19px;color:#bdc6cf}

/* Slytherin: a quiet equipment explorer; group names are not topology claims. */
.network-workspace{display:grid;grid-template-columns:minmax(245px,.32fr) minmax(0,1fr);gap:15px;align-items:start}
.net-rail{background:linear-gradient(160deg,#18312e,#121e2c 65%);border:1px solid #476458;border-radius:10px;padding:18px;display:grid;gap:10px}
.net-rail-heading{display:grid;grid-template-columns:auto 1fr;gap:0 9px;align-items:center;margin-bottom:10px}
.net-rail-heading strong{font-family:var(--serif);font-weight:400;font-size:22px;color:#e8e4d8}
.net-rail-heading small{grid-column:2;color:#b2c4bd;font-size:12px}
.net-led{height:9px;width:9px;border:1px solid #8daaa2;border-radius:50%;box-shadow:0 0 0 4px #56776a25}
.net-search-label,.net-rail-title{font-size:11px;font-weight:700;letter-spacing:.09em;color:#c3d3cc}
.net-search-box{display:flex;align-items:center;gap:9px;background:#0a1b22;border:1px solid #5c796f;border-radius:7px;padding:9px 11px;color:#a7bcb7}
.net-search-box:focus-within{outline:2px solid #e7d3ad;outline-offset:2px}
.net-search-box input{border:0;outline:0;background:transparent;color:#f0ede4;min-width:0;flex:1;font-size:14px}
.net-search-box input::placeholder{color:#9bafa9}
.net-inventory-note{margin:2px 0 13px;background:#0f2424a8;padding:12px;border-left:2px solid #81ab98}
.net-inventory-note strong{font-size:14px}
.net-inventory-note p{margin:3px 0 0;color:#b4c9c5;font-size:12px;line-height:1.45}
.net-rail-title{padding-top:12px;border-top:1px solid #50706155}
.net-admin-link{display:flex;align-items:center;gap:9px;padding:10px 7px;color:#f1e9db;border-radius:6px}
.net-admin-link:hover,.net-admin-link:focus-visible{background:#4b75643a}
.net-admin-link>span{flex:1;display:flex;flex-direction:column}
.net-admin-link strong{font-size:14px}.net-admin-link small{font-size:12px;color:#aec8bb}
.net-inventory{min-width:0;border:1px solid #34495a;background:#111d2a;border-radius:10px;padding:17px 18px 20px}
.net-inventory-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #364b54;padding-bottom:10px}
.net-inventory-head h2{font-size:27px;margin:0;line-height:1.15}.net-inventory-head small{color:#b3c0c9;font-size:12px}
.net-overline{color:#91bdaa;letter-spacing:.14em;font-size:10px;font-weight:700}
.net-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 20px}
.net-group{margin-top:12px;min-width:0}.net-group[hidden]{display:none}
.net-group-heading{display:flex;justify-content:space-between;align-items:center;padding:0 6px 8px;color:#e6e1cf}
.net-group-heading h2{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.01em;margin:0}
.net-group-count{color:#b3c5bd;font-size:12px}
.network-device-entry[hidden]{display:none}
.net-device-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid transparent;border-bottom-color:#344957;background:transparent;color:#ecf0e9;padding:10px 5px;border-radius:4px;min-height:57px}
.net-device-row:is(:hover,:focus-visible),.net-device-row.selected{background:#416a5c4d;border-color:#577865}
.net-device-role{color:#89baaa;flex:none}.net-device-label{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.net-device-label strong{font-size:14px}.net-device-label small{font-size:12px;color:#b9c9cb}
.net-device-row code{font-size:12px;color:#d8e0d2;white-space:nowrap}
.net-device-row>.ico:last-child{transition:transform .16s;opacity:.8}.net-device-row[aria-expanded=true]>.ico:last-child{transform:rotate(90deg)}
.net-device-details{padding:11px 14px 14px;margin:0 1px 9px;background:#21362f;color:#d4e0d8;border-left:2px solid #91b8a4}
.net-device-details[hidden]{display:none}
.net-device-details p{font-size:13px;margin:0 0 8px}.net-device-details a{display:inline-flex;gap:6px;align-items:center;color:#f4d7a5;font-size:13px}
.net-no-results{margin:25px 0 0;color:#d2dacf}.net-no-results[hidden]{display:none}

/* Ravenclaw: a quiet investigation desk rather than a fabricated event feed. */
.room-content-pensieve{max-width:1270px}
.archive-workspace{display:grid;grid-template-columns:minmax(260px,.36fr) minmax(0,1fr);min-height:390px;border:1px solid #43566d;border-radius:12px;overflow:hidden;background:#111e2f}
.archive-scene{background:linear-gradient(0deg,#0a1a2d77,#0a1a2d33),url('/marauders-demo/assets/common-ravenclaw.webp') center center/cover;position:relative}
.archive-scene-label{position:absolute;bottom:16px;left:19px;font-size:10px;letter-spacing:.14em;color:#e1d0ad;background:#0c1a2bcc;padding:7px 10px}
.archive-desk{padding:clamp(22px,4vw,50px);display:flex;flex-direction:column;align-items:start;background:radial-gradient(circle at 90% 10%,#32466377,transparent 38%),repeating-linear-gradient(0deg,transparent 0 42px,#9fa8af0a 42px 43px)}
.archive-kicker{color:#abcaec;font-size:11px;letter-spacing:.13em;font-weight:750;margin-bottom:10px}
.archive-desk h2{font-size:clamp(28px,3vw,40px);line-height:1.16;margin:0 0 13px;color:#f2e6cf}
.archive-desk>p{color:#c6d1dd;font-size:15px;max-width:560px;line-height:1.7;margin:0 0 23px}
.archive-primary{display:inline-flex;align-items:center;gap:12px;min-height:47px;padding:11px 17px;background:#294865;border:1px solid #7599b7;border-radius:7px;font-weight:700;color:#fff3e2}
.archive-primary:hover{background:#395a78}
.archive-provenance{display:flex;align-items:start;gap:10px;padding-top:19px;margin-top:auto;width:100%;border-top:1px solid #53637a6e;color:#dbdfdc}
.archive-provenance>div{display:flex;flex-direction:column;gap:3px}.archive-provenance strong{font-size:13px}.archive-provenance small{font-size:12px;line-height:1.5;color:#b7c7d9}
.archive-dot{height:9px;width:9px;margin-top:5px;background:#a4b6cf;border-radius:50%}

/* Hufflepuff: status-first, calm, and deliberately honest about integration gaps. */
.room-content-owlery{max-width:1270px}
.owlery-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(235px,.39fr);min-height:390px;overflow:hidden;border:1px solid #6b6246;border-radius:12px;background:linear-gradient(135deg,#23261f,#15212b 72%)}
.owlery-status{padding:clamp(22px,4vw,52px);display:flex;flex-direction:column;align-items:start}
.owlery-label{font-size:11px;letter-spacing:.13em;color:#edcd90;font-weight:750}
.owlery-symbol{width:62px;height:62px;border:1px solid #bfa87878;border-radius:50%;display:grid;place-items:center;color:#ecd6a5;margin:22px 0 13px;background:#544b2f55}
.owlery-status h2{font-size:clamp(27px,3vw,39px);line-height:1.18;color:#f6eacf;margin:0 0 13px}
.owlery-status>p{font-size:15px;color:#d3d3c6;line-height:1.65;max-width:560px;margin:0 0 23px}
.owlery-primary{display:inline-flex;align-items:center;gap:13px;padding:12px 17px;min-height:47px;border-radius:7px;background:#786135;border:1px solid #d5b472;color:#fff3dd;font-weight:700}
.owlery-primary:hover{background:#957740}
.owlery-source{margin-top:auto;padding-top:22px;display:flex;align-items:center;gap:9px;font-size:13px;color:#cfccb9}
.owlery-state-mark{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;background:#a8a9a9}
.owlery-scene{background:linear-gradient(90deg,#28282233,#12201a44),url('/marauders-demo/assets/common-hufflepuff.webp') center center/cover;position:relative}
.owlery-scene span{position:absolute;bottom:16px;right:16px;font-size:10px;letter-spacing:.13em;color:#e8d3a7;background:#222319b8;padding:7px 10px}
@media (max-width:1020px){.compute-workspace,.network-workspace{grid-template-columns:1fr}.compute-host{display:grid;grid-template-columns:repeat(3,1fr)}.compute-host>.compute-section-id{grid-column:1/-1}.compute-reading{margin:0 11px;padding:14px 8px}.compute-reading:not(:last-child){border-bottom:0;border-right:1px solid #9b8a7840}.net-rail{grid-template-columns:1fr 1fr;align-items:start}.net-rail-heading,.net-inventory-note{grid-column:1/-1}.net-rail-title{grid-column:1/-1}.net-search-label{grid-column:1/-1}.net-search-box{grid-column:1/-1}.net-admin-link{border:1px solid #53736366;padding:8px}.net-inventory{width:100%}}
@media (max-width:730px){.compute-guest-row{grid-template-columns:65px minmax(0,1fr) auto;gap:7px;padding:11px 12px}.compute-guest-stat{display:none}.compute-guest-status{font-size:11px}.compute-reading strong{font-size:25px}.net-groups{grid-template-columns:1fr}.archive-workspace,.owlery-workspace{grid-template-columns:1fr;min-height:0}.archive-scene{min-height:145px;background-position:center 53%}.owlery-scene{min-height:145px;order:-1}.archive-desk,.owlery-status{padding:22px}.archive-provenance{margin-top:35px}.owlery-source{margin-top:30px}}
@media (max-width:460px){.compute-host{grid-template-columns:1fr}.compute-reading{border:0!important;border-bottom:1px solid #9b8a7840!important;padding:12px 3px;margin:0 16px;grid-template-columns:1fr auto}.compute-reading:last-child{border:0!important}.compute-section-id{padding:11px 16px}.compute-command{align-items:start}.compute-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.net-rail{grid-template-columns:1fr}.net-search-label,.net-search-box,.net-rail-title,.net-rail-heading,.net-inventory-note{grid-column:auto}.net-inventory{padding:14px}.net-device-row code{font-size:10px}.net-device-label small{font-size:11px}.archive-scene,.owlery-scene{min-height:115px}}
@media (prefers-reduced-motion:reduce){.net-device-row>.ico:last-child{transition:none!important}}

/* Portfolio demo additions */
#demo-banner{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:9999;display:flex;gap:14px;align-items:center;
  padding:8px 14px;border-radius:999px;background:rgba(9,17,29,.92);border:1px solid rgba(232,200,140,.45);color:#f1e6d0;
  font:600 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;box-shadow:0 8px 30px rgba(0,0,0,.5);backdrop-filter:blur(6px)}
#demo-banner b{color:#f5c56b}
#demo-banner a{color:#f1e6d0;text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
#demo-toast{position:fixed;left:50%;bottom:64px;transform:translate(-50%,10px);opacity:0;pointer-events:none;z-index:9999;max-width:min(520px,90vw);
  padding:10px 16px;border-radius:10px;background:#1b2536;border:1px solid rgba(232,200,140,.4);color:#f1e6d0;font:500 13px/1.4 system-ui,sans-serif;
  transition:opacity .2s,transform .2s}
#demo-toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:560px){#demo-banner{flex-direction:column;gap:4px;border-radius:14px;text-align:center;width:calc(100vw - 24px)}}
