/* Fresh revision 31b. Layout belongs to the shell; native scene coordinates and
   semantic masks remain untouched. Material artwork supplies its own lighting. */
@font-face{font-family:'Sanctuary Cinzel';src:url('/assets/fa6e0842895789d9e075ca37.woff') format('woff');font-display:swap}
@font-face{font-family:'Sanctuary Lancelot';src:url('/assets/119fc2078219f58b3a84d0dd.woff') format('woff');font-display:swap}
#sanctuary-view[data-room-hub]{--hub-bar:76px;--hub-ink:#f8ead3;--hub-muted:#dcc6a3;--hub-accent:#e9c77e;--hub-line:#957956;--hub-base:#21160f;--hub-surface:#38271d;--hub-heading:'Sanctuary Cinzel',Georgia,serif;--hub-body:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--san-title:var(--hub-heading);--san-ink:var(--hub-ink);--san-muted:var(--hub-muted);--san-accent:var(--hub-accent);--san-line:var(--hub-line);--san-bg:var(--hub-base);--san-panel:var(--hub-surface);position:fixed;inset:0;z-index:200;display:block;width:100%;height:100dvh;min-height:0;max-width:none;margin:0;padding:0;overflow:hidden;background:#08090b;color:var(--hub-ink);font:16px/1.6 var(--hub-body);color-scheme:dark}
#sanctuary-view[data-room-hub][hidden]{display:none!important}
#sanctuary-view[data-room-hub][data-scene=agandar]{--hub-ink:#f7e4df;--hub-muted:#d9b9b5;--hub-accent:#f5a39a;--hub-line:#8e514e;--hub-base:#151518;--hub-surface:#262326;--hub-heading:ui-monospace,SFMono-Regular,Consolas,monospace;--hub-body:ui-monospace,SFMono-Regular,Consolas,monospace}
#sanctuary-view[data-room-hub][data-scene=cyber]{--hub-ink:#fbe7f1;--hub-muted:#dec0d1;--hub-accent:#f4b1d1;--hub-line:#a57490;--hub-base:#17141e;--hub-surface:#2c2233;--hub-heading:ui-monospace,SFMono-Regular,Consolas,monospace;--hub-body:ui-monospace,SFMono-Regular,Consolas,monospace}
#sanctuary-view[data-room-hub][data-scene=auriela]{--hub-ink:#ffe5ef;--hub-muted:#e2bed0;--hub-accent:#f4c8df;--hub-line:#ad7c96;--hub-base:#261922;--hub-surface:#392731;--hub-heading:'Sanctuary Lancelot',Georgia,serif}
#sanctuary-view[data-room-hub][data-scene=chapel],#sanctuary-view[data-room-hub][data-scene=default]{--hub-ink:#fff0d7;--hub-muted:#eadcc5;--hub-accent:#e9cd93;--hub-base:#27221a;--hub-surface:#383026}
#sanctuary-view[data-room-hub][data-scene=youth]{--hub-ink:#fff9df;--hub-muted:#ebefcf;--hub-accent:#fff0ae;--hub-line:#a9c58b;--hub-base:#183b31;--hub-surface:#294a39;--hub-heading:ui-rounded,'Trebuchet MS',sans-serif;--hub-body:ui-rounded,'Trebuchet MS',sans-serif;color-scheme:dark}
#sanctuary-view[data-room-hub] [hidden]{display:none!important}
/* Retire the old side-cabinet presentation without destroying controller nodes. */
#sanctuary-view[data-room-hub] :is(.sanctuary-room-runner,.sanctuary-side-library,.sanctuary-resource-cabinet,.sanctuary-topline,.sanctuary-bottom,.sanctuary-footer,.sanctuary-furniture-mobile,.sanctuary-edge-toggle,.sanctuary-hud-finish,.sanctuary-hud-mark){display:none!important}
#sanctuary-view[data-room-hub] .sanctuary-frame{position:absolute;inset:var(--hub-bar) 0 0;display:block;width:100%;height:auto;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:0;background:#08090b;box-shadow:none;overflow:hidden}
#sanctuary-view[data-room-hub] .sanctuary-room-viewport{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:0;margin:0;padding:0;background:#08090b;overflow:hidden}
#sanctuary-view[data-room-hub] #sanctuary-scene-bounds{flex:none;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;box-shadow:none}
#sanctuary-view[data-room-hub] .sanctuary-scene-image{object-fit:contain}
/* Live SVG turbulence adds no authored detail and allocates a full-plane raster. */
@layer sanctuary-authored-texture{#sanctuary-view .sanctuary-scene::after,#sanctuary-window-view .sanctuary-window-plane::after{background-image:none!important}}
#sanctuary-view[data-room-hub] .room-hub-toolbar{box-sizing:border-box;position:absolute;inset:0 0 auto;z-index:50;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(48px,1fr);align-items:center;gap:8px;width:100%;height:var(--hub-bar);padding:6px 20px;background:var(--hub-base);color:var(--hub-ink);isolation:isolate}
#sanctuary-view[data-room-hub] :is(.room-hub-start,.room-hub-primary,.room-hub-end){position:relative;display:flex;align-items:center;gap:6px;min-width:0;height:100%}
#sanctuary-view[data-room-hub] .room-hub-end{justify-content:flex-end}
#sanctuary-view[data-room-hub] .room-hub-primary{justify-content:center}
#sanctuary-view[data-room-hub] .room-hub-icon{display:block;flex:none;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#sanctuary-view[data-room-hub] :is(.room-hub-action,.room-hub-more,.room-hub-utility,.room-hub-restore,.room-hub-move,.room-hub-center,.room-hub-close,.room-hub-home){box-sizing:border-box;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:44px;margin:0;padding:10px 12px;border:0;border-radius:6px;background:none;color:var(--hub-ink);box-shadow:none;font:600 16px/1.25 var(--hub-body);text-decoration:none;text-align:center;cursor:pointer;isolation:isolate}
#sanctuary-view[data-room-hub] .room-hub-action{flex:none;flex-direction:column;gap:3px;width:112px;height:64px;padding:7px 12px 6px;font:500 15px/1.15 var(--hub-heading);letter-spacing:.01em}
#sanctuary-view[data-room-hub] .room-hub-action .room-hub-label{position:relative;max-width:100%;white-space:nowrap}
#sanctuary-view[data-room-hub] .room-hub-more{width:48px;padding:10px}
#sanctuary-view[data-room-hub] .room-hub-more>.room-hub-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#sanctuary-view[data-room-hub] .room-hub-action[aria-expanded=true]{color:var(--hub-accent)}
#sanctuary-view[data-room-hub] .room-hub-action[data-playing=true] .room-hub-icon{color:var(--hub-accent)}
#sanctuary-view[data-room-hub] #sanctuary-return{display:grid;place-items:center;flex:none;width:44px;min-width:44px;min-height:44px;padding:6px;border:0;background:none;color:var(--hub-ink)}
#sanctuary-view[data-room-hub] #sanctuary-scene-choice{display:block;flex:1;min-width:0;max-width:none;margin:0;padding:0;border:0;background:none;color:var(--hub-ink);font:16px/1.3 var(--hub-heading)}
#sanctuary-view[data-room-hub] #sanctuary-scene-choice .sanctuary-room-caption{display:none}
#sanctuary-view[data-room-hub] .sanctuary-home-toggle{display:block;box-sizing:border-box;width:100%;max-width:none;min-height:48px;margin:0;padding:8px 10px;border:0;border-radius:0;background:none;color:var(--hub-ink);box-shadow:none;font:16px/1.4 var(--hub-heading);text-transform:none;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
#sanctuary-view[data-room-hub] #sanctuary-scene-select{max-width:100%;min-height:44px;font:16px var(--hub-body)}
#sanctuary-view[data-room-hub] #sanctuary-scene-choice[data-enhanced=true] #sanctuary-scene-select{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;clip:rect(0,0,0,0);overflow:hidden}
#sanctuary-view[data-room-hub] :is(.room-hub-options,.sanctuary-home-menu){box-sizing:border-box;position:fixed;right:auto;z-index:90;padding:12px;border:1px solid var(--hub-line);border-radius:8px;background:var(--hub-base);color:var(--hub-ink);overflow:auto;overscroll-behavior:contain;font:16px/1.5 var(--hub-body)}
#sanctuary-view[data-room-hub] .room-hub-native-controls{display:flex;flex-wrap:wrap;gap:8px}
#sanctuary-view[data-room-hub] .room-hub-options :is(button,a,select){min-height:48px;max-width:100%;color:var(--hub-ink);background:none;font:16px/1.4 var(--hub-body)}
#sanctuary-view[data-room-hub] .room-hub-options .room-hub-action{width:auto;min-width:100px;flex-direction:row}
#sanctuary-view[data-room-hub] .sanctuary-home-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px;border:0;border-radius:4px;background:none;color:var(--hub-ink);font:16px/1.45 var(--hub-body);text-align:left;white-space:normal}
#sanctuary-view[data-room-hub] .sanctuary-home-menu button>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
#sanctuary-view[data-room-hub] .sanctuary-home-menu button[aria-checked=true]{background:var(--hub-surface)}
#sanctuary-view[data-room-hub] .sanctuary-home-menu .hub-theme-check{flex:none;margin-left:auto;font:13px var(--hub-body);color:var(--hub-muted)}
#sanctuary-view[data-room-hub] .sanctuary-home-menu button[aria-disabled=true]{opacity:1;color:var(--hub-muted)}
/* Transparent illustration layers never receive pointer events or CSS filters. */
#sanctuary-view[data-room-hub] .room-hub-material-art{position:absolute;inset:0;z-index:-1;display:block;width:100%;height:100%;overflow:hidden;pointer-events:none;user-select:none}
#sanctuary-view[data-room-hub] .room-hub-floor-bag{position:absolute;left:31%;top:82%;z-index:6;display:block;width:8%;min-width:48px;max-width:104px;height:auto;min-height:44px;aspect-ratio:1.4;transform:translate(-50%,-50%);padding:0;border:0;background:none;color:var(--hub-ink);cursor:pointer}
#sanctuary-view[data-room-hub][data-scene=agandar] .room-hub-floor-bag{left:20%;top:83%}
#sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-floor-bag{left:22%;top:80%}
#sanctuary-view[data-room-hub][data-scene=auriela] .room-hub-floor-bag{left:65%;top:87%}
#sanctuary-view[data-room-hub] .room-hub-floor-bag img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
#sanctuary-view[data-room-hub] .room-hub-floor-label{position:absolute;left:50%;bottom:100%;transform:translateX(-50%);padding:5px 10px;border-radius:5px;background:var(--hub-base);color:var(--hub-ink);font:14px/1.4 var(--hub-body);opacity:0;pointer-events:none}
#sanctuary-view[data-room-hub] .room-hub-floor-bag:is(:hover,:focus-visible) .room-hub-floor-label{opacity:1}
/* One live native shell, with content-first height and a scrollable inner sheet. */
#sanctuary-view[data-room-hub] :is(#sanctuary-backpack-dock,#sanctuary-side-companion-r27).room-hub-workspace{--san-bg:var(--hub-base);--san-panel:var(--hub-surface);--san-title:var(--hub-heading);--san-ink:var(--hub-ink);--san-muted:var(--hub-muted);--san-line:var(--hub-line);--san-accent:var(--hub-accent);--san-button:var(--hub-surface);box-sizing:border-box;position:fixed;inset:auto;z-index:60;display:flex;flex-direction:column;width:min(560px,calc(100% - 16px));height:auto;min-width:0;min-height:0;max-width:none;max-height:calc(100dvh - var(--hub-bar) - 16px);margin:0;padding:0 24px 26px;border:0;border-radius:0;background:transparent;color:var(--hub-ink);box-shadow:none;overflow:hidden;isolation:isolate;font:16px/1.6 var(--hub-body)}
#sanctuary-view[data-room-hub] .room-hub-workspace>.room-hub-material-art{z-index:-1}
#sanctuary-view[data-room-hub] .room-hub-workspace>.sanctuary-dialog-shell{position:relative;display:flex;flex-direction:column;min-height:0;height:auto;max-height:inherit;overflow:hidden}
#sanctuary-view[data-room-hub] :is(.sanctuary-dialog-head,.room-hub-conversation-head){box-sizing:border-box;display:flex;align-items:center;gap:8px;flex:none;min-height:76px;padding:12px 8px;border:0;background:none;color:var(--hub-ink);box-shadow:none;touch-action:none;cursor:grab;user-select:none}
#sanctuary-view[data-room-hub] .sanctuary-dialog-head>div:first-child{min-width:0;flex:1;padding:0;background:none}
#sanctuary-view[data-room-hub] :is(.sanctuary-dialog-head h2,.room-hub-conversation-head h2){min-width:0;flex:1;margin:0;color:var(--hub-accent);font:500 23px/1.2 var(--hub-heading);letter-spacing:.01em;overflow-wrap:break-word}
#sanctuary-view[data-room-hub][data-scene=auriela] :is(.sanctuary-dialog-head h2,.room-hub-conversation-head h2){font-size:30px}
#sanctuary-view[data-room-hub] .sanctuary-dialog-head p{display:none}
#sanctuary-view[data-room-hub] .room-hub-conversation-head h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
#sanctuary-view[data-room-hub] .room-hub-position{display:flex;align-items:center;gap:2px;flex:none}
#sanctuary-view[data-room-hub] :is(.room-hub-move,.room-hub-center){min-width:44px;min-height:44px;padding:8px 6px;color:var(--hub-muted);font:14px/1.2 var(--hub-body);white-space:nowrap}
#sanctuary-view[data-room-hub] .room-hub-move .room-hub-icon{width:21px;height:21px}
#sanctuary-view[data-room-hub] :is(.sanctuary-dialog-close,.room-hub-close){display:grid;place-items:center;flex:none;width:44px;min-width:44px;height:44px;min-height:44px;padding:8px;border:0;border-radius:4px;background:none;color:var(--hub-ink);box-shadow:none}
#sanctuary-view[data-room-hub] :is(.sanctuary-dialog-close,.room-hub-close) .room-hub-icon{width:24px;height:24px}
#sanctuary-view[data-room-hub] .sanctuary-backpack-body{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;overflow:hidden;background:none}
#sanctuary-view[data-room-hub] .sanctuary-tabs{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;gap:10px;flex:none;min-width:0;margin:0 12px;padding:0;border:0;border-bottom:1px solid var(--hub-line);background:none;box-shadow:none;overflow-x:auto;scrollbar-width:thin}
#sanctuary-view[data-room-hub] .sanctuary-tab{box-sizing:border-box;display:block;flex:1 0 100px;min-width:0;min-height:52px;padding:10px 8px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;color:var(--hub-muted);box-shadow:none;clip-path:none;font:650 16px/1.3 var(--hub-body);text-align:center;white-space:normal;overflow-wrap:normal;word-break:normal}
#sanctuary-view[data-room-hub] .sanctuary-tab::before,#sanctuary-view[data-room-hub] .sanctuary-tab::after{content:none!important}
#sanctuary-view[data-room-hub] .sanctuary-tab[aria-selected=true]{color:var(--hub-ink);background:none;border-bottom-color:var(--hub-accent)}
#sanctuary-view[data-room-hub] .sanctuary-panel{box-sizing:border-box;flex:1;min-height:0;min-width:0;max-height:480px;margin:0;padding:22px 20px 28px;border:0;border-radius:0;background:none;color:var(--hub-ink);box-shadow:none;font:16px/1.65 var(--hub-body);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:22px;scrollbar-color:var(--hub-line) var(--hub-base)}
#sanctuary-view[data-room-hub] .sanctuary-panel :is(h3,h4){color:var(--hub-ink);font-family:var(--hub-heading)}
#sanctuary-view[data-room-hub] .sanctuary-panel h3{font-size:25px;line-height:1.3;margin:0 0 14px}
#sanctuary-view[data-room-hub] .sanctuary-panel :is(p,li,label,small){color:var(--hub-muted);font-size:16px;line-height:1.65}
#sanctuary-view[data-room-hub] .sanctuary-panel :is(button,a,input,select,textarea,summary){font-family:var(--hub-body);font-size:16px}
#sanctuary-view[data-room-hub] .sanctuary-panel :is(button,a.sanctuary-button,input:not([type=checkbox]),select,textarea){box-sizing:border-box;min-height:44px;border-radius:5px;box-shadow:none}
#sanctuary-view[data-room-hub] .sanctuary-panel :is(.sanctuary-data-row,.sanctuary-companion-card,.sanctuary-metric,.sanctuary-import-preview,.sanctuary-status){background:transparent;border-color:var(--hub-line);color:var(--hub-ink)}
#sanctuary-view[data-room-hub] .sanctuary-data-row{display:flex;flex-wrap:wrap;gap:12px}
#sanctuary-view[data-room-hub] .sanctuary-data-row>div:not(.sanctuary-music-disc){flex:1 1 18rem;min-width:0}
#sanctuary-view[data-room-hub] .sanctuary-data-row>.sanctuary-button{flex:0 0 auto;min-width:8ch;max-width:100%;white-space:normal;overflow-wrap:normal;word-break:normal}
#sanctuary-view[data-room-hub] .sanctuary-data-row :is(strong,p){font-size:16px;overflow-wrap:anywhere}
#sanctuary-view[data-room-hub] .sanctuary-button{color:var(--hub-ink);background:var(--hub-surface);border-color:var(--hub-line)}
#sanctuary-view[data-room-hub] .sanctuary-button.primary{color:var(--hub-base);background:var(--hub-accent)}
#sanctuary-view[data-room-hub] .room-hub-conversation>[data-sanctuary-docked]{display:flex;flex-direction:column;flex:1;min-height:0;max-height:none;margin:0;padding:0;overflow:hidden;color:var(--hub-ink);background:none;border:0;box-shadow:none}
#sanctuary-view[data-room-hub] .room-hub-conversation>[data-sanctuary-docked]>:not(.room-hub-conversation-head){flex:1;min-height:0;max-height:480px;margin:0;padding:16px 20px 24px;overflow:auto}
#sanctuary-view[data-room-hub] .room-hub-workspace[data-dragging=true] :is(.sanctuary-dialog-head,.room-hub-conversation-head){cursor:grabbing}
/* First-visit advice keeps native modal semantics and does not become draggable. */
#sanctuary-view[data-room-hub] dialog.room-hub-welcome{--san-bg:var(--hub-base);--san-panel:var(--hub-surface);--san-title:var(--hub-heading);--san-ink:var(--hub-ink);--san-muted:var(--hub-muted);--san-line:var(--hub-line);--san-accent:var(--hub-accent);background:var(--hub-base);color:var(--hub-ink);border-color:var(--hub-line)}
#sanctuary-view[data-room-hub] dialog[data-welcome=true] .sanctuary-dialog-head{cursor:auto;touch-action:auto;padding:18px 24px}
#sanctuary-view[data-room-hub] dialog[data-welcome=true] .sanctuary-tabs{display:none!important}
#sanctuary-view[data-room-hub] dialog[data-welcome=true] .sanctuary-panel{max-height:calc(100dvh - 120px)}
#sanctuary-view[data-room-hub] .room-hub-restore{position:fixed;top:16px;right:16px;z-index:95;min-height:48px;padding:10px 16px;background:var(--hub-base);border:1px solid var(--hub-line)}
#sanctuary-view[data-room-hub][data-hud-hidden=true] :is(.room-hub-toolbar,.room-hub-floor-bag,.sanctuary-scene button,.sanctuary-scene-note){visibility:hidden!important;pointer-events:none!important}
/* Immersive close-up layout. Native controller owns fullscreen, contain geometry,
   the three-second idle timer, interactions and return focus. */
#sanctuary-view[data-room-hub][data-window-open=true] #sanctuary-window-view{position:fixed!important;inset:0!important;width:100%;height:100%;max-width:none;max-height:none;min-height:0;margin:0;padding:0;z-index:100;display:block;overflow:hidden;background:#08090b}
#sanctuary-view[data-room-hub][data-window-open=true]>:is(.room-hub-toolbar,.room-hub-workspace,.room-hub-options,.room-hub-restore){visibility:hidden!important;pointer-events:none!important}
#sanctuary-view[data-room-hub] #sanctuary-window-view .sanctuary-window-viewport{position:absolute;inset:0;width:100%;height:100%;min-height:0;overflow:hidden;background:#08090b}
#sanctuary-view[data-room-hub] #sanctuary-window-view .sanctuary-window-plane{flex:none;max-width:100%;max-height:100%;border:0;box-shadow:none}
#sanctuary-view[data-room-hub] #sanctuary-window-view .sanctuary-window-head{position:absolute;inset:12px 12px auto;z-index:8;display:flex;align-items:center;gap:12px;min-height:54px;padding:8px 12px;border:1px solid var(--hub-line);border-radius:6px;background:var(--hub-base);color:var(--hub-ink);box-shadow:none}
#sanctuary-view[data-room-hub] #sanctuary-window-view .sanctuary-window-head button{min-height:44px;padding:8px 12px;background:var(--hub-surface);border:1px solid var(--hub-line);color:var(--hub-ink);font:16px/1.3 var(--hub-body)}
#sanctuary-view[data-room-hub] #sanctuary-window-view .sanctuary-window-head h2{color:var(--hub-ink);font:500 20px/1.3 var(--hub-heading)}
#sanctuary-view[data-room-hub] #sanctuary-window-view .sanctuary-window-foot{position:absolute;inset:auto 12px 12px;z-index:8;padding:0;border:0;background:none;pointer-events:none}
#sanctuary-view[data-room-hub] #sanctuary-window-view .sanctuary-window-foot p{display:table;margin:3px auto;padding:6px 12px;border-radius:6px;background:var(--hub-base);color:var(--hub-ink);font:14px/1.5 var(--hub-body)}
#sanctuary-view[data-room-hub] #sanctuary-window-view[data-controls-hidden=true] :is(.sanctuary-window-head,.sanctuary-window-foot,#sanctuary-window-spots,.sanctuary-resident-target,.azeroth-object-r29){opacity:0!important;visibility:hidden!important;pointer-events:none!important}
#sanctuary-view[data-room-hub] #sanctuary-window-view[data-controls-hidden=true]{cursor:none}
#sanctuary-view[data-room-hub] :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--hub-accent);outline-offset:-3px}
@media(max-width:1279px){#sanctuary-view[data-room-hub] .room-hub-toolbar{grid-template-columns:minmax(240px,1fr) auto 48px;gap:5px;padding-inline:12px}}
@media(max-width:999px){#sanctuary-view[data-room-hub] .room-hub-toolbar{grid-template-columns:44px 1fr 48px;gap:4px;padding-inline:8px}#sanctuary-view[data-room-hub] .room-hub-action{width:104px;font-size:14px}#sanctuary-view[data-room-hub] .room-hub-options #sanctuary-scene-choice{padding:0 0 8px}#sanctuary-view[data-room-hub] .room-hub-options .sanctuary-home-toggle{white-space:normal}}
@media(max-width:599px){#sanctuary-view[data-room-hub]{--hub-bar:64px}#sanctuary-view[data-room-hub] .room-hub-toolbar{padding:4px 8px}#sanctuary-view[data-room-hub] .room-hub-action{width:64px;min-width:48px;height:56px;padding:10px 12px}#sanctuary-view[data-room-hub] .room-hub-primary .room-hub-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#sanctuary-view[data-room-hub] .room-hub-icon{width:30px;height:30px}#sanctuary-view[data-room-hub] .room-hub-primary{gap:5px}#sanctuary-view[data-room-hub] .room-hub-workspace{padding-inline:16px!important;padding-bottom:20px!important}#sanctuary-view[data-room-hub] :is(.sanctuary-dialog-head,.room-hub-conversation-head){min-height:66px;padding:8px 6px;gap:4px}#sanctuary-view[data-room-hub] :is(.sanctuary-dialog-head h2,.room-hub-conversation-head h2){font-size:21px}#sanctuary-view[data-room-hub] .room-hub-move .room-hub-label{display:none}#sanctuary-view[data-room-hub] .room-hub-center{font-size:13px;padding-inline:4px}#sanctuary-view[data-room-hub] .sanctuary-tabs{gap:4px;margin-inline:8px}#sanctuary-view[data-room-hub] .sanctuary-tab{flex:1 0 80px;font-size:14px;padding:10px 5px}#sanctuary-view[data-room-hub] .sanctuary-panel{padding:18px 16px 24px}#sanctuary-view[data-room-hub] #sanctuary-window-view .sanctuary-window-head>div:not(.sanctuary-window-controls){display:none}#sanctuary-view[data-room-hub] #sanctuary-window-view .sanctuary-window-head{flex-wrap:wrap;gap:6px}#sanctuary-view[data-room-hub] .sanctuary-window-controls{width:auto;flex:1;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#sanctuary-view[data-room-hub] :is(.room-hub-action,.room-hub-workspace,.room-hub-floor-bag){animation:none;transition:none}}
html[data-reading-contrast=high] #sanctuary-view[data-room-hub][data-scene],body[data-reading-contrast=high] #sanctuary-view[data-room-hub][data-scene]{--hub-ink:#fff;--hub-muted:#eee;--hub-accent:#ffdf68;--hub-line:#eee;--hub-base:#080808;--hub-surface:#181818}
html[data-reading-contrast=high] #sanctuary-view[data-room-hub] .room-hub-material-art,body[data-reading-contrast=high] #sanctuary-view[data-room-hub] .room-hub-material-art{display:none}
html[data-reading-contrast=high] #sanctuary-view[data-room-hub] .room-hub-workspace,body[data-reading-contrast=high] #sanctuary-view[data-room-hub] .room-hub-workspace{background:var(--hub-base)!important;border:1px solid var(--hub-line)!important}
@media(forced-colors:active){#sanctuary-view[data-room-hub][data-scene]{--hub-ink:CanvasText!important;--hub-muted:CanvasText!important;--hub-accent:Highlight!important;--hub-line:ButtonText!important;--hub-base:Canvas!important;--hub-surface:Canvas!important}#sanctuary-view[data-room-hub] .room-hub-material-art{display:none!important}#sanctuary-view[data-room-hub] :is(.room-hub-workspace,.room-hub-toolbar,.room-hub-options){background:Canvas!important;border:1px solid ButtonText!important;color:CanvasText!important}#sanctuary-view[data-room-hub] :is(button,a,input,select,textarea){border:1px solid ButtonText!important}#sanctuary-view[data-room-hub] [aria-selected=true]{outline:2px solid Highlight!important}}

#sanctuary-view[data-room-hub] .room-hub-bag-art{display:block;width:38px;height:28px;object-fit:contain;pointer-events:none}
#sanctuary-view[data-room-hub] .room-hub-action[data-has-art=true]>.room-hub-icon{display:none}
/* A bag needs a measured floor placement. Contained fallback art uses the toolbar
   until the geometry bridge supplies that registration. */
#sanctuary-view[data-room-hub]:not([data-expanded-geometry=true]) .room-hub-floor-bag{display:none}
#sanctuary-view[data-room-hub] .room-hub-conversation :is(button,input){font:600 16px/1.4 var(--hub-body);min-height:44px}

/* Functional content stays opaque if a decorative material is unavailable. The
   fallback is removed only after that source actually loads successfully. */
#sanctuary-view[data-room-hub] :is(#sanctuary-backpack-dock,#sanctuary-side-companion-r27).room-hub-workspace:not([data-material-state=ready]){background:var(--hub-base);border:1px solid var(--hub-line);border-radius:8px}
#sanctuary-view[data-room-hub] .room-hub-options .room-hub-material-art{display:none}

/* r33 issue20: the taskbar overlays, never resizes, Azeroth's single art plane. */
#sanctuary-view[data-room-hub][data-scene=cyber] .sanctuary-frame{inset:0!important}
#sanctuary-view[data-room-hub][data-scene=cyber] .sanctuary-room-viewport{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
/* r33 issue21: tactile rose-metal controls, not floating labels. */
#sanctuary-view[data-room-hub][data-scene=cyber] [data-hub-action=window]{display:none!important}
#sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-toolbar{gap:14px;padding-left:48px;padding-right:20px}
#sanctuary-view[data-room-hub][data-scene=cyber] :is(.room-hub-start,.room-hub-primary,.room-hub-end){gap:10px}
#sanctuary-view[data-room-hub][data-scene=cyber] :is(.room-hub-action,.room-hub-more,#sanctuary-return,.sanctuary-home-toggle,.room-hub-utility,.room-hub-home,.room-hub-restore){border:1px solid #98647e!important;border-radius:11px!important;background:linear-gradient(150deg,#47283ac9,#170f1d 60%,#291423)!important;box-shadow:inset 0 1px 0 #ffdfed65,inset 0 -2px 3px #000a,0 3px 5px #0008!important;transition:background-color .16s,box-shadow .16s,color .16s,transform .16s;color:#fbe7f1!important;text-shadow:0 1px 2px #000}
#sanctuary-view[data-room-hub][data-scene=cyber] :is(.room-hub-action,.room-hub-more,#sanctuary-return,.sanctuary-home-toggle,.room-hub-utility,.room-hub-home,.room-hub-restore):hover{background:linear-gradient(150deg,#694057e8,#291327 65%,#47233a)!important;box-shadow:inset 0 1px 0 #ffe4f180,0 0 13px #d851962e,0 3px 5px #0008!important;color:#fff4fa!important}
#sanctuary-view[data-room-hub][data-scene=cyber] :is(.room-hub-action,.room-hub-more,#sanctuary-return,.sanctuary-home-toggle,.room-hub-utility,.room-hub-home,.room-hub-restore):is(:active,[aria-expanded=true],[aria-pressed=true]){background:linear-gradient(150deg,#250e20,#4b2440)!important;box-shadow:inset 0 2px 6px #000b,inset 0 0 0 1px #f099c34d!important;color:#ffc6e4!important}
#sanctuary-view[data-room-hub][data-scene=cyber] :is(.room-hub-action,.room-hub-more,#sanctuary-return,.sanctuary-home-toggle,.room-hub-utility,.room-hub-home,.room-hub-restore):focus-visible{outline:2px solid #ffd4ee!important;outline-offset:3px!important}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-return{height:48px;width:48px}
#sanctuary-view[data-room-hub][data-scene=cyber] .sanctuary-home-toggle{padding:9px 16px}
#sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-action{width:106px;height:60px}
#sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-more{height:48px}
/* Keep status semantics without ambient chat bubbles. Intentional dialogue untouched. */
#sanctuary-view[data-scene=cyber] :is(.sanctuary-scene-note,#sanctuary-window-caption,#sanctuary-window-help){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;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
@media(max-width:700px){#sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-toolbar{gap:5px;padding-left:48px;padding-right:8px}#sanctuary-view[data-room-hub][data-scene=cyber] :is(.room-hub-start,.room-hub-primary,.room-hub-end){gap:5px}#sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-action{width:70px;font-size:12px}#sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-action .room-hub-icon{width:23px;height:23px}}
/* The physical monitor is scene art, not a HUD label: hiding controls must not blank it. */
#sanctuary-view[data-room-hub][data-hud-hidden=true][data-scene=cyber] .sanctuary-scene button.azeroth-monitor-screen32{visibility:visible!important;pointer-events:none!important}

/* r34 issues4/5: keep controls clear of the 42px illustrated end-cap,
   and size the dorm selector to its reference instead of filling the rail. */
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-scene-choice{flex:0 1 164px;width:164px;max-width:100%}
@media(max-width:999px){#sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-toolbar{grid-template-columns:48px minmax(0,1fr) 48px}}

/* r34 issues13/14/16: one authored rose-metal family across both cameras.
   Header overlays never participate in the room/camera sizing calculation. */
#sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-toolbar{padding-right:48px;grid-template-columns:minmax(228px,1fr) auto minmax(106px,1fr)}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-sound{position:relative;display:grid;place-items:center;isolation:isolate;flex:none;width:48px;height:48px;min-width:44px;min-height:44px;margin:0;padding:10px;border:0;border-radius:11px;background:#24121d;color:#fbe7f1;cursor:pointer}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-sound>svg:not(.room-hub-material-art){width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#sanctuary-view[data-room-hub][data-scene=cyber] :is(#sanctuary-return,.sanctuary-home-toggle,.room-hub-more,#sanctuary-sound)[data-material-state=ready]{background:#28101e!important;border-color:transparent!important;box-shadow:0 3px 6px #0007!important;color:#ffe8f5!important;text-shadow:0 1px 2px #150511!important}
#sanctuary-view[data-room-hub][data-scene=cyber] .sanctuary-home-toggle :is(span,small){color:inherit!important;text-shadow:inherit!important}
#sanctuary-view[data-room-hub][data-scene=cyber] :is(#sanctuary-return,.sanctuary-home-toggle,.room-hub-more,#sanctuary-sound):hover>.room-hub-material-art{filter:brightness(1.12)}
#sanctuary-view[data-room-hub][data-scene=cyber] :is(#sanctuary-return,.sanctuary-home-toggle,.room-hub-more,#sanctuary-sound):active>.room-hub-material-art{filter:brightness(.86)}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-sound:focus-visible{outline:2px solid #ffd4ee;outline-offset:3px}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head{box-sizing:border-box;position:absolute;inset:0 0 auto;display:grid;grid-template-columns:minmax(172px,1fr) auto minmax(268px,1fr);align-items:center;gap:14px;height:76px;min-height:76px;padding:6px 48px;border:0;border-radius:0;background:transparent;isolation:isolate;color:#ffe8f5}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head>div:not(.sanctuary-window-controls){text-align:center;min-width:0}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head h2{margin:0;color:#f8c9e5;font:500 clamp(15px,1.35vw,21px)/1.2 var(--hub-heading);letter-spacing:.045em;text-shadow:0 1px 2px #180713,0 0 12px #df64a12c;white-space:nowrap}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head p{margin:0 0 4px;color:#c796b2;font:10px/1 var(--hub-heading);letter-spacing:.17em}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-controls{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-width:0}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head button{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;flex:none;min-height:52px;height:52px;min-width:52px;max-width:none;margin:0;padding:10px 18px;border:0;border-radius:10px;background:#28101e;color:#ffe8f5;font:500 14px/1.15 var(--hub-heading);letter-spacing:.02em;white-space:nowrap;text-shadow:0 1px 2px #150511;box-shadow:0 3px 6px #0007;cursor:pointer}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-back{justify-self:start}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head button:hover>.room-hub-material-art{filter:brightness(1.12)}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head button:active>.room-hub-material-art{filter:brightness(.86)}
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head button:focus-visible{outline:2px solid #ffd4ee;outline-offset:2px}
@media(max-width:999px){
 #sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-toolbar{grid-template-columns:48px minmax(0,1fr) 106px}
 #sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head{grid-template-columns:160px minmax(0,1fr) 240px;gap:8px;padding-inline:42px}
 #sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head h2{font-size:15px;white-space:normal}
 #sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head button{font-size:12px;padding-inline:12px}
}
@media(max-width:700px){
 #sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-toolbar{padding-right:48px;grid-template-columns:48px minmax(0,1fr) 101px}
 #sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head{grid-template-columns:auto 1fr;height:76px;padding-inline:42px}
 #sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head>div:not(.sanctuary-window-controls){display:none}
 #sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-controls{gap:5px}
}
@media(max-width:430px){
 #sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-toolbar{padding-inline:42px;grid-template-columns:44px minmax(0,1fr) 92px;gap:4px}
 #sanctuary-view[data-room-hub][data-scene=cyber] :is(.room-hub-start,.room-hub-primary,.room-hub-end){gap:4px}
 #sanctuary-view[data-room-hub][data-scene=cyber] :is(#sanctuary-return,.room-hub-more,#sanctuary-sound){width:44px;min-width:44px;padding-inline:6px}
 #sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-toolbar .room-hub-action{width:44px;min-width:44px;padding-inline:6px}
 #sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head{padding-inline:30px;gap:4px}
 #sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head button{min-width:44px;min-height:48px;height:48px;font-size:11px;padding-inline:8px}
 #sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-back{max-width:88px!important;white-space:normal!important}
}
@media(forced-colors:active){#sanctuary-view[data-room-hub][data-scene=cyber] :is(#sanctuary-sound,.sanctuary-window-head,.sanctuary-window-head button){background:Canvas!important;color:ButtonText!important;border:1px solid ButtonText!important}}

#sanctuary-view[data-room-hub][data-scene=cyber] .sanctuary-home-toggle{position:relative;isolation:isolate}

/* Keep the taskbar above the authored camera's night-shade/spill layers. */
#sanctuary-view[data-room-hub][data-scene=cyber] #sanctuary-window-view .sanctuary-window-head{z-index:80}

/* Moved options retain full labelled wells, even when the rail is icon-only. */
#sanctuary-view[data-room-hub][data-scene=cyber] .room-hub-options .room-hub-action{width:auto;min-width:100px;padding:10px 12px}


/* r37 STAGED CANDIDATE: five room identities, not an Azeroth recolor.
   Only decorative surfaces and presentation sizing change. Native controls,
   overflow/selection/focus ownership and availability remain authoritative. */
#sanctuary-view[data-room-hub][data-scene=solomon]{--hub-ink:#fff0dd;--hub-muted:#e2cbb6;--hub-accent:#efca91;--hub-line:#aa825b;--hub-base:#271a16;--hub-surface:#42282a}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(#sanctuary-return,.sanctuary-home-toggle,#sanctuary-sound,#sanctuary-fullscreen){position:relative;isolation:isolate;box-sizing:border-box;min-height:44px;border-radius:8px;color:var(--hub-ink);background:var(--hub-surface)}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-return{height:48px}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(#sanctuary-sound,#sanctuary-fullscreen){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:44px;margin:0;padding:10px 12px;border:0;font:600 16px/1.25 var(--hub-body);cursor:pointer}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(#sanctuary-sound,#sanctuary-fullscreen)>svg:not(.room-hub-material-art){width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(.room-hub-action,.room-hub-more,.room-hub-utility,.room-hub-home,.room-hub-restore,#sanctuary-return,.sanctuary-home-toggle,#sanctuary-sound,#sanctuary-fullscreen){background-color:var(--hub-surface);text-shadow:0 1px 2px #0009}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(.room-hub-action,.room-hub-more,.room-hub-utility,.room-hub-home,.room-hub-restore,#sanctuary-return,.sanctuary-home-toggle,#sanctuary-sound,#sanctuary-fullscreen)[data-material-state=ready]{border-color:transparent;background-color:var(--hub-base);box-shadow:0 2px 4px #0005}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .sanctuary-home-toggle :is(span,small){color:inherit;text-shadow:inherit}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(.room-hub-action,.room-hub-more,.room-hub-utility,.room-hub-home,.room-hub-restore,#sanctuary-return,.sanctuary-home-toggle,#sanctuary-sound,#sanctuary-fullscreen):hover{color:var(--hub-accent);box-shadow:0 0 0 1px var(--hub-line),0 2px 5px #0006}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(.room-hub-action,.room-hub-more,.room-hub-utility,.room-hub-home,.room-hub-restore,#sanctuary-return,.sanctuary-home-toggle,#sanctuary-sound,#sanctuary-fullscreen):is(:active,[aria-expanded=true],[aria-pressed=true]){color:var(--hub-accent);box-shadow:inset 0 0 0 2px var(--hub-accent)}
/* Expanding parts have their own complete themed backing. The opaque base
   remains underneath even during loading, failure, scrolling and family swaps. */
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(.room-hub-options,.sanctuary-home-menu){isolation:isolate;padding:16px;border:0;border-radius:12px;background:var(--hub-base);box-shadow:0 8px 28px #0006}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .room-hub-options .room-hub-material-art{display:block}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .room-hub-options :is(button,a,select){min-height:48px}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .room-hub-options .room-hub-action{width:auto;min-width:100px;padding:10px 12px}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .room-hub-options .room-hub-action .room-hub-label{white-space:normal}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .sanctuary-home-menu [role=menuitemradio]{position:relative;border:1px solid transparent}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .sanctuary-home-menu [role=menuitemradio]:hover{background:var(--hub-surface);border-color:var(--hub-line)}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .sanctuary-home-menu [role=menuitemradio][aria-checked=true]{background:var(--hub-surface);border-color:var(--hub-accent)}
/* Close-view rail is content-sized, so wrapped controls never escape the
   material. ResizeObserver redraws its nine-slice at the actual host size. */
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-head{box-sizing:border-box;inset:0 0 auto;isolation:isolate;display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-height:76px;height:auto;padding:10px 42px;border:0;border-radius:0;background:var(--hub-base);color:var(--hub-ink)}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-head>div:not(.sanctuary-window-controls){flex:1 1 160px;min-width:0;text-align:center}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-head h2{margin:0;color:var(--hub-ink);font:500 clamp(18px,1.5vw,23px)/1.2 var(--hub-heading);overflow-wrap:anywhere;text-shadow:0 1px 2px #0009}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-head p{margin:0 0 3px;color:var(--hub-muted)}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-controls{display:flex;flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;width:auto;max-width:100%;min-width:0}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-head button{box-sizing:border-box;position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;flex:0 1 auto;min-width:44px;min-height:48px;height:auto;max-width:100%;margin:0;padding:10px 14px;border:0;border-radius:8px;background:var(--hub-base);color:var(--hub-ink);font:500 15px/1.25 var(--hub-body);white-space:normal;overflow-wrap:anywhere;text-shadow:0 1px 2px #0009;box-shadow:0 2px 4px #0005;cursor:pointer}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-head button:is(:hover,[aria-pressed=true]){color:var(--hub-accent);box-shadow:inset 0 0 0 2px var(--hub-accent)}
#sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(button,a,select):focus-visible{outline:3px solid var(--hub-accent);outline-offset:-3px}
/* Preserve the established breakpoints and native moves into More, but let the
   five primary wells shrink rather than overflow between 600px and 659px. */
@media(min-width:600px) and (max-width:999px){
 #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .room-hub-toolbar{grid-template-columns:44px minmax(0,1fr) 48px}
 #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .room-hub-primary .room-hub-action{flex:1 1 0;min-width:44px;width:auto;max-width:104px;padding-inline:6px}
}
@media(max-width:599px){
 #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-head{padding:8px 16px;gap:8px}
 #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-head>div:not(.sanctuary-window-controls){display:none}
 #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-controls{flex:1 1 172px;gap:6px}
 #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) #sanctuary-window-view .sanctuary-window-head button{font-size:14px;padding:10px}
}
/* High-contrast modes never depend on downloaded art or decorative shading. */
html[data-reading-contrast=high] #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .room-hub-material-art,body[data-reading-contrast=high] #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .room-hub-material-art{display:none!important}
html[data-reading-contrast=high] #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(.room-hub-toolbar,.room-hub-options,.sanctuary-home-menu,.sanctuary-window-head),body[data-reading-contrast=high] #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(.room-hub-toolbar,.room-hub-options,.sanctuary-home-menu,.sanctuary-window-head){background:var(--hub-base)!important;border:1px solid var(--hub-line)!important}
@media(forced-colors:active){
 #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) .room-hub-material-art{display:none!important}
 #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(.room-hub-toolbar,.room-hub-options,.sanctuary-home-menu,.sanctuary-window-head){background:Canvas!important;color:CanvasText!important;border:1px solid ButtonText!important;box-shadow:none!important}
 #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(button,a,select){background:ButtonFace!important;color:ButtonText!important;border:1px solid ButtonText!important;box-shadow:none!important;text-shadow:none!important}
 #sanctuary-view[data-room-hub]:is([data-scene=default],[data-scene=chapel],[data-scene=youth],[data-scene=solomon],[data-scene=auriela],[data-scene=agandar]) :is(button,a,select):focus-visible{outline:3px solid Highlight!important}
}


/* r42 issue20: only Agandar's existing Conversation panel follows the approved
   scuffed runner. Geometry, native content, scrolling and control targets stay. */
#sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27.room-hub-conversation{--hub-ink:#ece8e5;--hub-muted:#bfbab8;--hub-accent:#ed252b;--hub-line:#a71d23;--hub-base:#111214;--hub-surface:#17181b;--san-button:#17181b}
#sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27 .room-hub-conversation-head h2{color:var(--hub-ink)}
#sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27 .ar-agandar-bubble :is(button,input){position:relative;isolation:isolate;background:#17181b;color:var(--hub-ink);border-color:#a71d23;box-shadow:inset 0 0 0 1px #08090a,0 1px 3px #0008}
#sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27[data-conversation-well=ready] .ar-agandar-bubble button::before{content:'';position:absolute;inset:-1px;z-index:-1;border:1px solid transparent;border-image:url('/assets/sanctuary/hud-r40/agandar-well-v2.webp') 24 fill / 4px / 0 stretch;clip-path:inset(0 round 6px);filter:brightness(.72);pointer-events:none}
#sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27 .ar-agandar-bubble button:hover{color:#fff;outline:1px solid #e1282e;outline-offset:-2px;box-shadow:inset 0 0 12px #b300001f}
#sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27 .ar-agandar-bubble button:active{color:#fff;outline:2px solid #ed252b;outline-offset:-3px;box-shadow:inset 0 0 16px #c6000033}
#sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27 a{color:var(--hub-ink);text-decoration-color:#ed252b;text-underline-offset:.18em}
#sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27 :is(button,a,input,summary,[tabindex]):focus-visible{outline:2px solid #f0e7e3;outline-offset:-2px;box-shadow:0 0 0 2px #df2028}
/* A real load/decode failure has a deliberate matching opaque fallback, not a
   hidden dialogue, a stale room skin, or the former salmon fill. */
#sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27.room-hub-conversation:not([data-material-state=ready]){background:#111214;border-color:#85161c;box-shadow:inset 0 0 0 3px #222326,inset 0 0 0 4px #090a0b}
html[data-reading-contrast=high] #sanctuary-view[data-scene=agandar] #sanctuary-side-companion-r27.room-hub-conversation,body[data-reading-contrast=high] #sanctuary-view[data-scene=agandar] #sanctuary-side-companion-r27.room-hub-conversation{--hub-ink:#fff;--hub-muted:#eee;--hub-accent:#ffdf68;--hub-line:#eee;--hub-base:#080808;--hub-surface:#181818}
html[data-reading-contrast=high] #sanctuary-view[data-scene=agandar] #sanctuary-side-companion-r27 .ar-agandar-bubble button,body[data-reading-contrast=high] #sanctuary-view[data-scene=agandar] #sanctuary-side-companion-r27 .ar-agandar-bubble button{border-image:none;border-color:#eee;background:#181818;color:#fff;box-shadow:none}
html[data-reading-contrast=high] #sanctuary-view[data-scene=agandar] #sanctuary-side-companion-r27 .ar-agandar-bubble button::before,body[data-reading-contrast=high] #sanctuary-view[data-scene=agandar] #sanctuary-side-companion-r27 .ar-agandar-bubble button::before{display:none!important}
@media(forced-colors:active){
 #sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27 .ar-agandar-bubble button::before{display:none!important}
 #sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27.room-hub-conversation{--hub-ink:CanvasText;--hub-muted:CanvasText;--hub-accent:Highlight;--hub-line:ButtonText;background:Canvas!important;color:CanvasText!important;border-color:ButtonText!important;box-shadow:none!important}
 #sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27 .ar-agandar-bubble :is(button,input){border-image:none!important;background:ButtonFace!important;color:ButtonText!important;border-color:ButtonText!important;box-shadow:none!important}
 #sanctuary-view[data-room-hub][data-scene=agandar] #sanctuary-side-companion-r27 :is(button,a,input,summary,[tabindex]):focus-visible{outline-color:Highlight!important;box-shadow:none!important}
}
