:root{color-scheme:dark;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#e5edf6;background:#0c121a}
#reading-snapshot-notice{margin:0;padding:5px 12px;background:#19342f;border-bottom:1px solid #3e786d;color:#c8eee6;font-size:12px;line-height:1.4}#reading-snapshot-notice[hidden]{display:none}
body{display:flex;flex-direction:column;height:100dvh;min-height:420px;overflow:hidden;background:#0c121a;color:#e5edf6;font-size:14px}
button,input,select,summary,.open-button{font:inherit}button,select,input[type=search],.open-button{border:1px solid #41566e;border-radius:6px;color:inherit;background:#1a293b;padding:7px 10px;min-height:36px}
button,.open-button,summary,select{cursor:pointer}button:hover:not(:disabled),.open-button:hover{background:#294765}button:disabled,select:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,select:focus-visible{outline:2px solid #82c8ff;outline-offset:2px}a{color:#a5d8ff}small,.muted{color:#b8c6d5;font-size:12px}p{margin:8px 0}
#reading-header{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:8px 12px;border-bottom:1px solid #2c3f53;background:#111e2c}#reading-header strong{font-size:18px;white-space:nowrap}#reading-header strong small{font-size:12px;margin-left:8px}#reading-file{min-width:80px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.open-button{display:inline-flex;align-items:center;position:relative;overflow:hidden}.open-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.open-button:focus-within{outline:2px solid #82c8ff}.open-button:has(input:disabled){opacity:.45}
#reading-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:7px 12px;background:#121c28}#reading-toolbar label{white-space:nowrap}#reading-search-form{display:flex;gap:5px;margin-left:auto}#reading-search{width:clamp(160px,19vw,340px)}#reading-filters{position:relative}#reading-filters summary{padding:8px;border:1px solid #41566e;border-radius:6px}#reading-filters>div{position:absolute;top:100%;right:0;z-index:30;min-width:140px;padding:12px;background:#1a293b;border:1px solid #41566e;box-shadow:0 4px 12px #0008}#reading-filters label{display:block;padding:5px}
#contract-status{margin:0;padding:5px 12px;min-height:29px;font-size:12px;color:#bed6eb;border-bottom:1px solid #314358;overflow-wrap:anywhere}#reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;flex:1;min-height:0;gap:0}#reading-layout.info-hidden{grid-template-columns:minmax(0,1fr)}#reading-layout.info-hidden #contract-info{display:none}#viewer-root{width:100%;height:100%;min-width:0;min-height:0;position:relative;overflow:hidden}#viewer-canvas{display:block;width:100%;height:100%;outline:none}#contract-info{position:relative;overflow:auto;padding:12px 14px;background:#14202d;border-left:1px solid #41566d;line-height:1.5;overflow-wrap:anywhere}#contract-info h2{font-size:18px;margin:8px 0}#contract-info h3{font-size:14px;margin:16px 0 8px;color:#d3e9ff}#contract-info section{border-bottom:1px solid #35475a;padding-bottom:12px;margin-bottom:12px}#contract-info pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;border:1px solid #41566e;padding:8px;border-radius:5px;max-height:420px;overflow:auto}#contract-info details{margin:10px 0}#contract-info summary{color:#bee2ff;padding:6px 0}#contract-info .notice{border-left:3px solid #e5b864;padding:4px 0 4px 9px;color:#edce97;font-size:12px}#contract-info strong{color:#bdcddd}.connection-row{display:flex;gap:8px;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #2b3c4c}.connection-row span{flex:1}.connection-row button{flex-shrink:0}.part-link{display:block;width:100%;text-align:left;overflow-wrap:anywhere;margin:5px 0;font-size:12px}.result-button{display:block;width:100%;text-align:left;margin:5px 0}.result-button[aria-current=true]{border-color:#7bcaff;background:#204469}.result-button small{display:block;overflow-wrap:anywhere}#reading-result-pages{display:flex;align-items:center;gap:8px}#reading-hint{font-size:11px;color:#b6c8da;padding:5px 12px;margin:0;border-top:1px solid #314358}
/* Frame/filter state belongs to the reading controls above. Preserve DOM roles for renderer compatibility. */
#viewer-leftdock,#viewer-back,#doc-caption,#viewer-mini-ad{display:none!important}#viewer-rightdock{transform:scale(.85);transform-origin:right bottom}#viewer-hud{pointer-events:none}
@media(max-width:950px){#reading-layout{grid-template-columns:minmax(0,1fr) 300px}#reading-search-form{margin-left:0}#reading-header strong small{display:none}}@media(max-width:650px){#reading-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(220px,1fr) minmax(140px,.7fr)}#contract-info{border-left:0;border-top:1px solid #41566e}#reading-layout.info-hidden{grid-template-rows:minmax(0,1fr)}#reading-toolbar{padding:5px;gap:4px}#reading-toolbar button,#reading-toolbar select{padding:5px;min-height:32px}#reading-hint{display:none}#reading-header{padding:6px}#reading-file{max-width:150px}}

/* Keep legacy canvas stacking inside the new two-pane layout. */
#viewer-root{z-index:0;inset:auto}#reading-toolbar{position:relative;z-index:2}#reading-header{position:relative;z-index:3}#contract-info{z-index:1}

/* Discoverable controls stay above the canvas; the legacy dock remains hidden. */
#reading-controls{position:relative;z-index:2;display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;padding:6px 12px;background:#152231;border-top:1px solid #293c50;border-bottom:1px solid #314358}
.reading-control-group{display:flex;align-items:center;gap:4px;min-width:0}.reading-control-label{color:#c0d9f0;font-size:12px;margin-right:3px}.reading-control-state{color:#a8cfec;font-size:11px;white-space:nowrap}#reading-controls button,#reading-controls select{padding:5px 8px;min-height:32px}#reading-frame-slider{width:clamp(80px,8vw,150px);min-width:70px;accent-color:#91cfff}#reading-frame{width:60px}#reading-preset{max-width:130px}#reading-controls button[aria-pressed=true]{background:#295478;border-color:#8ad2ff}
.reading-popup{position:relative}.reading-popup summary{padding:7px 9px;border:1px solid #41566e;border-radius:6px;white-space:nowrap}.reading-popup>div{position:absolute;right:0;top:calc(100% + 6px);z-index:40;max-width:calc(100vw - 24px);max-height:min(75vh,650px);overflow:auto;padding:14px;background:#1a293b;border:1px solid #57728e;border-radius:7px;box-shadow:0 8px 24px #000a}#reading-help>div{width:470px;line-height:1.55}#reading-help h2{font-size:17px;margin:0 0 8px}#reading-help table{border-collapse:collapse;width:100%;font-size:12px}#reading-help td,#reading-help th{padding:6px;border:1px solid #48617c;text-align:left}#reading-help p{font-size:12px}#reading-filters>div{min-width:250px}#reading-filters fieldset{margin:0 0 10px;border:1px solid #48617c}#reading-filters label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px}#reading-filters label:has(input[type=checkbox]){justify-content:flex-start}#reading-filters select{max-width:125px}#reading-filters legend{font-size:12px;color:#bdd9ef}
@media(max-width:900px){#reading-controls{gap:6px;padding:5px}#reading-controls .reading-control-state{display:none}#reading-frame-slider{width:80px}#reading-help>div{right:-5px}}@media(max-width:600px){#reading-controls{max-height:155px;overflow-y:auto}#reading-controls .reading-popup>div{position:fixed;right:10px;top:130px}#reading-help>div{position:fixed;right:10px;top:65px}#reading-controls button,#reading-controls select{padding:4px 6px}#reading-frame-slider{width:70px}}

#reading-notices{display:flex;align-items:center;gap:10px;padding:5px 12px;background:#2a261c;border-bottom:1px solid #705b35;color:#f0d2a0;font-size:12px}#reading-notices[hidden]{display:none}#reading-notice{font-size:12px;padding:4px 8px;min-height:29px;white-space:nowrap;background:#3a3022;border-color:#8d7045}#reading-notice-summary{display:block;line-height:1.4;overflow-wrap:anywhere}
