/* Stable, independent Reference and Browser hosts. No world visibility rules live here. */
.atlas-browser{height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;gap:12px;padding:16px;color:var(--atlas-text);background:var(--atlas-bg);font:13px/1.6 var(--atlas-font);overflow:hidden}
:is(.atlas-browser,.ab-external-controls) [hidden],.atlas-browser[hidden]{display:none!important}
.ab-external-controls{font:13px/1.5 var(--atlas-font);min-width:0;color:var(--atlas-text)}
:is(.atlas-browser,.ab-external-controls) :is(button,input,textarea,select){font:inherit;color:var(--atlas-text);border:1px solid var(--atlas-border);border-radius:var(--atlas-control-radius,8px);background:var(--atlas-panel);padding:7px 10px}
:is(.atlas-browser,.ab-external-controls) button{cursor:pointer}
:is(.atlas-browser,.ab-external-controls) button:disabled{opacity:.45;cursor:default}
:is(.atlas-browser,.ab-external-controls) button:hover:not(:disabled){border-color:var(--atlas-hover-border);box-shadow:var(--atlas-hover-shadow)}
:is(.atlas-browser,.ab-external-controls) :is(button,input,textarea,select,a):focus-visible{outline:2px solid var(--atlas-accent-cyan);outline-offset:2px}
.atlas-browser a{color:var(--atlas-text);text-underline-offset:4px;overflow-wrap:anywhere}
.atlas-browser .ab-heading{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.atlas-browser h1{font:400 28px/1.3 var(--atlas-font-display,"Caudex","Noto Sans JP",sans-serif);margin:0 auto 0 0}
.atlas-browser h2{font:400 20px/1.5 var(--atlas-font-display,"Caudex","Noto Sans JP",sans-serif);margin:0;overflow-wrap:anywhere}
.ab-tabs{display:flex;gap:6px;overflow-x:auto;flex:0 0 auto;padding:2px;min-width:0}
.ab-tab{display:flex;align-items:center;max-width:250px;flex:0 0 auto}
.ab-tab>[role=tab]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;border-radius:8px 0 0 8px}
.ab-tab>[aria-selected=true]{background:var(--atlas-active-surface);border-bottom-color:var(--atlas-accent-cyan)}
.ab-tab .ab-tab-close{border-left:0;border-radius:0 8px 8px 0;flex-shrink:0}
.ab-tab-status,.ab-live-status{font:10px/1.4 var(--atlas-font);letter-spacing:.06em;color:var(--atlas-text-muted);padding:2px 4px}
.ab-tab-status:empty{display:none}
.ab-live-status{align-self:flex-start;border:1px solid var(--atlas-border);border-radius:4px}
.ab-toolbar,.ab-source-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ab-navigation{display:flex;align-items:center;gap:10px;min-width:0;flex-wrap:wrap}
.ab-address{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;flex:1;min-width:180px}
.ab-address input{width:100%;min-width:0;box-sizing:border-box}
.atlas-browser :is(.ab-feedback,.ab-history-help,.ab-place,.ab-url,.ab-explanation,.ab-empty){margin:0;color:var(--atlas-text-muted);font-size:12px;overflow-wrap:anywhere}
.atlas-browser .ab-feedback:empty{display:none}
.atlas-browser .ab-feedback{color:var(--atlas-text)}
.atlas-browser .ab-content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.atlas-browser .ab-view{display:flex;flex-direction:column;gap:10px;min-height:100%;padding:14px;box-sizing:border-box;border:1px solid var(--atlas-border);border-radius:var(--atlas-radius,14px);background:var(--atlas-panel)}
.atlas-browser .ab-frame{display:flex;flex:1;min-height:300px;border:1px solid var(--atlas-border);border-radius:8px;overflow:hidden;background:var(--atlas-bg);width:100%;box-sizing:border-box;align-self:center}
.atlas-browser iframe{width:100%;height:100%;min-height:340px;flex:1;border:0;background:var(--atlas-bg);color-scheme:dark}
.atlas-browser,.atlas-browser .ab-views,.atlas-browser .ab-view,.atlas-browser .ab-frame{scrollbar-color:var(--atlas-text-muted) var(--atlas-bg);scrollbar-width:thin}
/* Both monitor sizes share a dark surround. The non-interactive strip tones
   down native scrollbars inside opaque-origin pages without reading them. */
.atlas-browser .ab-frame:has(>iframe[data-desktop-fit]){background:#070b10;isolation:isolate}
.atlas-browser .ab-frame:has(>iframe[data-desktop-fit])::after{content:'';position:absolute;z-index:2;top:0;right:0;bottom:0;width:var(--monitor-scrollbar-width,0px);pointer-events:none;backdrop-filter:brightness(.3);-webkit-backdrop-filter:brightness(.3)}
.atlas-browser .ab-note{display:flex;flex-direction:column;gap:6px;margin-top:8px;color:var(--atlas-text-muted);font-size:12px}
.atlas-browser textarea{resize:vertical;min-height:75px}
.atlas-browser .ab-pdf-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.atlas-browser .ab-pdf-help{flex-basis:100%;color:var(--atlas-text-muted);font-size:12px}
.atlas-browser .ab-frame[data-paper=portrait]{aspect-ratio:210/297;max-width:680px;flex:none;min-height:0}
.atlas-browser .ab-frame[data-paper=landscape]{aspect-ratio:297/210;max-width:960px;flex:none;min-height:0}
.atlas-browser .ab-frame[data-paper=portrait][data-fit=page]{width:min(100%,48vh)}
.atlas-browser .ab-frame[data-paper=landscape][data-fit=page]{width:min(100%,96vh)}
.atlas-browser .ab-frame[data-paper]:not([data-paper='']) iframe{min-height:0;position:absolute;inset:0}
.atlas-browser .ab-frame[data-paper]:not([data-paper='']){position:relative}
.atlas-browser[data-surface=reference]{padding:8px;gap:8px;height:auto;min-height:340px;max-height:100%;background:transparent}
.atlas-browser[data-surface=reference] h1{font-size:20px}
.atlas-browser[data-surface=reference] .ab-heading{align-items:flex-start}
.atlas-browser[data-surface=reference] .ab-heading button{font-size:11px;padding:5px}
.atlas-browser[data-surface=reference] .ab-address{grid-template-columns:minmax(0,1fr) auto;flex-basis:100%}
.atlas-browser[data-surface=reference] .ab-address label{grid-column:1/-1}
.atlas-browser[data-surface=reference] .ab-view{padding:10px}
.atlas-browser[data-surface=reference] .ab-content{min-height:220px}
.atlas-browser[data-surface=reference] .ab-frame{min-height:230px}
.atlas-browser[data-surface=reference] iframe{min-height:280px}
@media(max-width:700px){.atlas-browser{gap:8px;padding:12px}.atlas-browser h1{font-size:24px}.ab-address{grid-template-columns:minmax(0,1fr) auto}.ab-address label{grid-column:1/-1}.atlas-browser .ab-view{padding:12px}.ab-tab{max-width:190px}.atlas-browser .ab-frame{min-height:240px}}
