/* The window remains a room. Only the instrument surface changes opacity. */
[data-place-scene="bridge"] .place-scene{min-width:1400px;min-height:700px}
.bridge-screen-ready .place-title{top:18px}
.bridge-screen-ready .place-title h1{font-size:26px;margin:5px 0}
.bridge-screen-ready .place-title p{display:none}
.bridge-screen-expanded{min-height:900px!important}
.bridge-screen-host{--screen-alpha:.7;--screen-ink:#f4f1e8;--screen-dim:#d2dedc;--screen-line:#c2d8d63d;--screen-accent:#e8ce94;position:absolute;z-index:6;top:88px;left:var(--view-left,0px);width:var(--view-width,100%);height:clamp(470px,62vh,570px);padding:0 clamp(14px,3.5vw,64px);box-sizing:border-box;pointer-events:none;color:var(--screen-ink);font:13px/1.6 var(--sans,system-ui,sans-serif)}
.screen-glass{height:100%;display:flex;flex-direction:column;min-height:0;overflow:hidden;background:rgba(9,25,34,var(--screen-alpha));border:1px solid #d1dbbd88;border-radius:22px 22px 12px 12px;box-shadow:0 12px 46px #0005,inset 0 1px #edf7eb30;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);pointer-events:auto}
.screen-solid .screen-glass{backdrop-filter:none;-webkit-backdrop-filter:none}
.bridge-screen-host *{box-sizing:border-box}
.bridge-screen-host [hidden]{display:none!important}
.bridge-screen-host button,.bridge-screen-host select{font:inherit;font-size:11px;line-height:1.4;color:var(--screen-ink);background:#102c36b8;border:1px solid #c2d8d657;border-radius:6px;padding:9px 12px;min-height:38px;cursor:pointer;touch-action:manipulation}
.bridge-screen-host button:hover,.bridge-screen-host select:hover{background:#33545c;border-color:var(--screen-accent)}
.bridge-screen-host button:disabled{opacity:.5;cursor:default}
.bridge-screen-host :is(button,a,input,select,[tabindex]):focus-visible{outline:3px solid #f8dc9b;outline-offset:2px}
.bridge-screen-host a{color:#b8eeeb;text-underline-offset:3px;overflow-wrap:anywhere}
.bridge-screen-host h2,.bridge-screen-host h3,.bridge-screen-host h4{color:var(--screen-ink);line-height:1.3;font-weight:500}
.bridge-screen-host h2{font-family:var(--serif,Georgia,serif);font-size:26px;margin:7px 0 11px;letter-spacing:-.02em}
.bridge-screen-host h3{font-size:18px;margin:7px 0 12px}
.bridge-screen-host p{font-size:12px;line-height:1.75;color:var(--screen-dim);margin:0 0 14px;overflow-wrap:anywhere}
.bridge-screen-host .eyebrow,.screen-route{font-size:9px;color:var(--screen-accent);letter-spacing:.12em;line-height:1.6;text-transform:uppercase}
.screen-topbar{padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--screen-line);flex:none}
.screen-topbar>div:first-child{min-width:0}
.screen-plaque{font-size:8px;letter-spacing:.2em;color:var(--screen-accent);display:block}
.screen-topbar strong{display:block;font-size:15px;font-weight:500;line-height:1.3;max-width:42vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.screen-window-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.screen-window-actions button{padding:7px 10px;font-size:10px;min-height:34px}
.screen-tabs-row{display:flex;gap:6px;align-items:center;padding:8px 14px 0;flex:none;border-bottom:1px solid var(--screen-line)}
.screen-tabs{display:flex;gap:4px;overflow-x:auto;min-width:0;flex:1;scrollbar-width:thin;scrollbar-color:#8cafa8 transparent}
.screen-tabs button{white-space:nowrap;border-radius:7px 7px 0 0;border:1px solid transparent;border-bottom:3px solid transparent;background:transparent;color:var(--screen-dim);padding:9px 13px}
.screen-tabs button[aria-selected="true"]{color:var(--screen-accent);border-bottom-color:var(--screen-accent);background:#e7e8c30f}
#screen-close-tab{border:0;background:transparent;font-size:22px;line-height:1;min-width:36px;padding:5px 10px;margin-bottom:5px}
.screen-settingsbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;padding:9px 18px;border-bottom:1px solid var(--screen-line);flex:none}
.screen-add-label{min-width:120px;max-width:220px;flex:1}
.screen-add-label select{width:100%;font-size:11px;min-height:36px;max-width:100%}
.screen-add-label option{background:#142b34;color:var(--screen-ink)}
.screen-area-label{display:flex;flex-direction:column;gap:3px;flex:1 1 230px;min-width:0;font-size:9px;color:var(--screen-dim)}.screen-area-label select{width:100%;max-width:100%;min-height:40px;font-size:11px}.screen-area-label option{background:#142b34;color:var(--screen-ink)}
.screen-opacity{display:grid;grid-template-columns:1fr auto;gap:0 8px;align-items:center;font-size:10px;line-height:1.5;min-width:140px;flex:1;max-width:260px;color:var(--screen-dim)}
.screen-opacity output{font-variant-numeric:tabular-nums;color:var(--screen-accent)}
.screen-opacity input{grid-column:1/-1;width:100%;height:22px;accent-color:var(--screen-accent);cursor:pointer;margin:0}
.screen-settingsbar>button{font-size:10px;padding:6px 9px;min-height:34px}
.screen-panes{min-height:0;flex:1;overflow:hidden;position:relative}
.bridge-screen-pane{height:100%;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#aec5bc7a transparent;padding:20px 24px}
.screen-pane-heading{max-width:830px;margin-bottom:20px}
.screen-doors{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:16px;border-top:1px solid var(--screen-line)}
.screen-statusbar{flex:none;display:flex;justify-content:space-between;gap:6px 20px;flex-wrap:wrap;padding:8px 18px;border-top:1px solid var(--screen-line);font-size:9px;line-height:1.5;color:var(--screen-dim)}
.screen-statusbar span:last-child{color:#e8d7ad}
.screen-collapsed{height:auto}
.screen-collapsed .screen-glass{height:auto}
.screen-collapsed :is(.screen-tabs-row,.screen-settingsbar,.screen-panes,.screen-statusbar){display:none}
.screen-wide{height:calc(100% - 155px)}
.screen-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.screen-game-grid,.screen-frontier-grid,.screen-concept-grid,.screen-window-shelf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.screen-game-grid article,.screen-frontier-grid article,.screen-concept-grid article,.screen-window-shelf article{border:1px solid var(--screen-line);border-radius:10px;overflow:hidden;background:#102f3b30;padding:18px}
.screen-game-grid article{display:grid;grid-template-columns:minmax(100px,34%) 1fr;gap:18px;align-items:center;padding:12px}
.screen-game-cover{border-radius:7px;overflow:hidden;line-height:0}
.screen-game-cover svg{width:100%;height:auto;max-height:200px;display:block}
.screen-level-strip{display:flex;gap:5px;margin:8px 0 16px}
.screen-level-strip span{display:grid;place-items:center;width:24px;height:24px;border:1px solid #bdd3cb75;border-radius:5px;font-size:10px;color:var(--screen-dim)}
.screen-level-strip .earned{background:#d2c087;color:#142c31;border-color:#d2c087}
.screen-trophies{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.screen-trophies button{display:flex;gap:12px;align-items:center;text-align:left;padding:16px}
.screen-trophies svg{width:55px;height:65px;flex:none}
.screen-trophies :is(b,small,em){display:block;font-size:12px;margin:3px 0}
.screen-trophies small,.screen-trophies em{font-size:10px;color:var(--screen-dim);font-style:normal}
.screen-empty-case{display:flex;gap:24px;align-items:center;max-width:700px}
.screen-empty-case>svg{width:145px;flex:none}
.screen-frontier-grid details,.screen-concept-grid details,.screen-mechanisms details{border-top:1px solid var(--screen-line);margin:12px 0;padding-top:10px;font-size:12px}
.bridge-screen-host summary{cursor:pointer;color:var(--screen-accent);font-size:12px;line-height:1.6}
.bridge-screen-host details p:first-of-type{margin-top:12px}
.screen-frontier-grid button,.screen-concept-grid button{margin-top:8px;text-align:left}
.screen-primary-links{display:grid;gap:8px;font-size:10px;margin:12px 0}
.screen-section-title{margin-top:30px!important;padding-top:15px;border-top:1px solid var(--screen-line)}
.screen-research-list{display:grid;gap:8px}
.screen-research-list>details{padding:12px 16px;border:1px solid var(--screen-line);border-radius:8px}
.screen-mechanisms{display:grid;gap:16px}
.screen-mechanisms article{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:18px 0;border-bottom:1px solid var(--screen-line)}
.screen-window-shelf h3{font-size:16px}
.screen-window-shelf article.chosen{border-color:var(--screen-accent)}
.screen-window-shelf article>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:11px}
.screen-atlas-toolbar{display:flex;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding:0 0 10px;font-size:10px;color:var(--screen-dim)}
.bridge-screen-pane[data-screen-pane="atlas"]{display:flex;flex-direction:column;padding:12px}
.screen-atlas-frame{width:100%;flex:1;min-height:450px;border:1px solid var(--screen-line);border-radius:8px;background:transparent}
.bridge-screen-window{position:absolute;z-index:4;left:calc(var(--view-left,0px) + 10px);top:75px;width:calc(var(--view-width,100%) - 20px);height:calc(68% - 40px);border-radius:35px 35px 16px 16px;overflow:hidden;background:#09222a;box-shadow:0 0 0 2px #ccdec56b}
.bridge-screen-window :is(img,iframe,video){display:block;width:100%;height:100%;border:0;object-fit:cover}
.screen-window-rest{height:100%;display:flex;align-items:center;justify-content:center;gap:16px;flex-direction:column;color:#f1e9d4;font-size:14px;background:linear-gradient(145deg,#173c4a,#0c202b)}
.screen-window-rest button,.screen-window-rest a{background:#163842;border:1px solid #a5c6bf;color:#f2e6c7;padding:10px 14px;font-size:12px;border-radius:6px}
/* Existing source renderers inherit the glass instead of painting a paper card. */
.bridge-screen-pane .bridge-display-heading{gap:16px;margin-bottom:12px}
.bridge-screen-pane .bridge-display-heading h3{font:26px/1.2 var(--serif,Georgia,serif);margin:5px 0 12px}
.bridge-screen-pane .bridge-display-heading p,.bridge-screen-pane :is(.bridge-provenance,.bridge-area,.bridge-context,.bridge-empty,.bridge-records small,.bridge-metrics span,.bridge-portals p){color:var(--screen-dim)}
.bridge-screen-pane .bridge-source-state{color:var(--screen-accent);font-size:9px;margin:14px 0 8px}
.bridge-screen-pane :is(.bridge-provenance,.bridge-records>article){border-color:var(--screen-line)}
.bridge-screen-pane .bridge-records{max-height:none;overflow:visible}
.bridge-screen-pane .bridge-metrics{padding:18px 0;gap:12px}
.bridge-screen-pane .bridge-metrics b{font-size:28px;font-weight:400}
.bridge-screen-pane .bridge-portals{gap:10px}
.bridge-screen-pane .bridge-portals article{background:#14333d38;border-color:var(--screen-line);padding:14px}
.bridge-screen-pane .bridge-record-tags span{background:#d4dfcc1a;color:#d8e3d4;border:1px solid #d4dfcc22}
.bridge-screen-pane .bridge-error{background:#deb66b1a;color:#ffe2b2}
.bridge-screen-pane .button,.bridge-screen-pane .button.ghost{font-size:11px;background:#173b46ab;color:var(--screen-ink);border:1px solid #cad7bc80;border-radius:6px;padding:9px 12px;letter-spacing:0;text-transform:none;min-height:38px}
@media(max-width:900px){.screen-game-grid article{grid-template-columns:1fr}.screen-game-cover svg{max-height:150px}.screen-trophies{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-atlas-frame{min-height:490px}.screen-mechanisms article{gap:16px}}
@media(max-width:650px){.bridge-screen-host{top:82px;padding:0 12px;height:510px}.screen-wide{height:calc(100% - 145px)}.screen-collapsed{height:auto}.bridge-screen-ready .place-title{left:calc(18px + var(--view-left,0px))}.bridge-screen-ready .place-title h1{font-size:23px}.screen-topbar{padding:10px 12px;align-items:flex-start;gap:8px}.screen-topbar strong{font-size:12px;max-width:35vw}.screen-plaque{font-size:6px;letter-spacing:.14em}.screen-window-actions{gap:5px;max-width:58%}.screen-window-actions button{font-size:9px;padding:6px 8px;min-height:32px}.screen-window-actions button:first-child{flex-basis:100%}.screen-tabs-row{padding:5px 8px 0}.screen-tabs button{font-size:10px;padding:8px 10px}.screen-settingsbar{gap:6px 10px;padding:8px 12px}.screen-add-label{flex:1;max-width:none;min-width:150px}.screen-opacity{min-width:125px;max-width:none;flex:1}.screen-settingsbar>button{min-height:30px}.bridge-screen-pane{padding:16px}.screen-statusbar{padding:6px 12px;font-size:8px;gap:2px}.screen-statusbar>span{display:block;width:100%}.bridge-screen-host h2{font-size:23px}.screen-game-grid,.screen-frontier-grid,.screen-concept-grid,.screen-window-shelf,.screen-mechanisms article{grid-template-columns:1fr}.screen-game-grid article{grid-template-columns:minmax(85px,32%) 1fr;gap:12px}.screen-game-grid h3{font-size:16px}.screen-game-grid p{font-size:10px}.screen-trophies{grid-template-columns:1fr}.screen-empty-case{gap:14px;align-items:flex-start}.screen-empty-case>svg{width:90px}.screen-level-strip{gap:4px}.screen-level-strip span{width:21px;height:23px}.screen-mechanisms article{gap:8px}.bridge-screen-pane .bridge-display-heading{display:block}.bridge-screen-pane .bridge-display-heading>a{margin-top:10px}.bridge-screen-pane .bridge-portals{grid-template-columns:1fr}.bridge-screen-pane .bridge-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-atlas-frame{min-height:490px}.bridge-screen-pane[data-screen-pane="atlas"]{padding:8px}.screen-atlas-toolbar{font-size:9px}.bridge-screen-window{top:76px;border-radius:20px}}
@media(prefers-reduced-transparency:reduce){.screen-glass{backdrop-filter:none;-webkit-backdrop-filter:none}.bridge-screen-host:not(.screen-solid) .screen-topbar{background:#0a202a}}
@media(prefers-reduced-motion:reduce){.bridge-screen-host *{scroll-behavior:auto;transition:none}}
