/* Ozone Archive V3 — simulated institutional operating environment */
:root { --taskbar-h: 34px; --v3-line: rgba(206,214,225,.14); --v3-fill: rgba(4,5,7,.965); --v3-warn: #d3b879; --v3-denied: #c57969; }
.preloader-mark,.preloader > p,.preloader > span { display:none; }

body.workspace-active .archive-workspace { background: rgba(1,2,3,.72); }
.archive-directory { bottom: var(--taskbar-h); }
.os-canvas { bottom: var(--taskbar-h); }
.global-search-button { min-width: 70px; }

/* Taskbar and session menu */
.os-taskbar { position:absolute; z-index:220; left:0; right:0; bottom:0; height:var(--taskbar-h); display:grid; grid-template-columns:190px minmax(0,1fr) auto; border-top:1px solid var(--line-strong); background:rgba(2,2,3,.98); box-shadow:0 -8px 26px rgba(0,0,0,.38); font:6px/1 var(--mono); letter-spacing:.1em; }
.os-taskbar button { min-width:0; height:100%; padding:0 11px; border-right:1px solid var(--line); color:#7c7f83; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.os-taskbar button:hover,.os-taskbar button:focus-visible,.os-taskbar button.active { color:var(--scene-light); background:rgba(179,193,209,.07); outline:0; }
.taskbar-home { display:flex; align-items:center; gap:9px; }
.taskbar-home i,.taskbar-apps button i { width:7px; height:7px; flex:none; border:1px solid currentColor; transform:rotate(45deg); }
.taskbar-apps { min-width:0; display:flex; overflow:hidden; }
.taskbar-apps button { max-width:230px; display:flex; align-items:center; gap:9px; border-left:0; }
.taskbar-apps button.minimized { opacity:.5; }
.taskbar-apps button.active::after { content:""; position:absolute; bottom:0; width:18px; height:1px; background:var(--scene-accent); }
.taskbar-session { display:flex; align-items:center; }
.taskbar-session > span,.taskbar-session > time { display:grid; place-items:center; height:100%; padding:0 10px; border-left:1px solid rgba(206,214,225,.07); color:#575a5e; font:5px/1 var(--mono); white-space:nowrap; }
.taskbar-session button { border-left:1px solid var(--line); border-right:0; }
.system-menu { position:absolute; z-index:300; right:7px; bottom:calc(var(--taskbar-h) + 5px); width:260px; padding:8px; border:1px solid var(--line-strong); background:rgba(3,4,5,.99); box-shadow:0 18px 60px #000; }
.system-menu[hidden] { display:none; }
.system-menu p { padding:9px 9px 6px; color:var(--scene-accent); font:6px/1 var(--mono); letter-spacing:.16em; }
.system-menu button,.system-menu span { display:block; width:100%; height:auto; padding:9px; border:0; border-top:1px solid rgba(206,214,225,.07); color:#888b8f; font:6px/1.3 var(--mono); }
.system-menu button:hover { padding-left:13px; }

/* Window manager */
.os-window.minimized { display:none !important; }
.os-window.maximized { resize:none; }
.os-window.dragging { transition:none !important; user-select:none; box-shadow:0 24px 80px rgba(0,0,0,.85); }
.v3-window { display:grid; grid-template-rows:30px minmax(0,1fr); min-width:300px; min-height:220px; resize:both; transform:translateY(8px) scale(.995); opacity:0; background:var(--v3-fill); }
.v3-window.window-ready { transform:none; opacity:1; }
.v3-window.focused { border-color:rgba(223,231,241,.6); }
.v3-window .app-content { position:relative; min-width:0; min-height:0; overflow:hidden; }
.v3-window .window-bar { cursor:move; }
.v3-window .window-bar button,.window-bar .wm-minimize,.window-bar .wm-maximize { font:10px/1 var(--mono); }
.file-opening-ghost { position:fixed; z-index:500; overflow:hidden; border:1px solid rgba(224,232,241,.55); background:rgba(3,4,6,.97); box-shadow:0 20px 90px #000; pointer-events:none; }
.file-opening-ghost img { width:100%; height:100%; object-fit:cover; filter:saturate(.65) contrast(1.12) brightness(.7); }
.file-opening-ghost span { display:grid; place-items:center; width:100%; height:100%; padding:10px; color:var(--scene-light); font:8px/1.3 var(--mono); }
.file-opening-ghost.ghost-document { clip-path:polygon(0 0,96% 0,100% 5%,100% 100%,0 100%); }
.file-opening-ghost.ghost-audio { box-shadow:0 0 0 1px rgba(179,193,209,.12),0 20px 90px #000; }
.archive-workspace .os-window,.archive-workspace .archive-directory { transition:opacity .32s ease,border-color .2s,box-shadow .2s,transform .6s var(--ease-heavy); }
body.file-opening .archive-workspace .os-window,body.file-opening .archive-workspace .archive-directory { opacity:.16 !important; }
.os-notice { position:absolute; z-index:400; right:18px; bottom:52px; width:min(330px,calc(100% - 36px)); padding:12px 14px; border-left:2px solid var(--scene-accent); background:rgba(3,4,6,.97); box-shadow:0 15px 48px #000; pointer-events:none; }
.os-notice b,.os-notice span { display:block; font:7px/1.35 var(--mono); letter-spacing:.1em; }
.os-notice b { color:var(--scene-light); }.os-notice span { margin-top:5px; color:#777a7e; }
.os-notice.denied { border-color:var(--v3-denied); }.os-notice.denied b { color:#e0a99d; }

/* Explorer */
.explorer-app { height:100%; display:grid; grid-template-rows:38px minmax(0,1fr) 25px; background:rgba(2,3,4,.97); }
.explorer-toolbar { min-width:0; display:grid; grid-template-columns:auto minmax(210px,1fr) minmax(150px,250px) auto; align-items:stretch; border-bottom:1px solid var(--v3-line); }
.explorer-toolbar button,.explorer-breadcrumbs button { color:#777b7f; font:6px/1 var(--mono); letter-spacing:.08em; }
.explorer-toolbar button:hover,.explorer-toolbar button:focus-visible,.explorer-toolbar button.active { color:var(--scene-light); outline:0; background:rgba(179,193,209,.06); }
.explorer-history { display:flex; border-right:1px solid var(--v3-line); }.explorer-history button { width:31px; font-size:11px; }
.explorer-breadcrumbs { min-width:0; display:flex; align-items:center; padding:0 9px; overflow:hidden; }
.explorer-breadcrumbs button { flex:none; padding:7px 4px; }.explorer-breadcrumbs i { color:#393c3f; font:normal 7px/1 var(--mono); }
.explorer-search { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:7px; padding:0 9px; border-left:1px solid var(--v3-line); border-right:1px solid var(--v3-line); color:#4d5053; font:6px/1 var(--mono); letter-spacing:.1em; }
.explorer-search input { width:100%; min-width:0; padding:6px 0; border:0; border-bottom:1px solid rgba(206,214,225,.12); outline:0; background:transparent; color:#bdc0c4; font:7px/1 var(--mono); }
.explorer-layout { min-height:0; display:grid; grid-template-columns:160px minmax(390px,1fr) 205px; }
.explorer-tree { padding:7px 0; overflow:auto; border-right:1px solid var(--v3-line); background:rgba(1,2,3,.48); }
.tree-branch > button, .tree-branch > a, .tree-branch > a { width:100%; display:grid; grid-template-columns:12px 1fr; align-items:center; gap:5px; padding:7px 8px 7px calc(8px + var(--depth) * 10px); color:#66696d; text-align:left; font:6px/1 var(--mono); }
.tree-branch > button, .tree-branch > a, .tree-branch > a i { color:#46494c; font-style:normal; }.tree-branch > button, .tree-branch > a, .tree-branch > a.active,.tree-branch > button, .tree-branch > a, .tree-branch > a:hover { color:var(--scene-light); background:linear-gradient(90deg,rgba(179,193,209,.07),transparent); }
.explorer-list { min-width:0; min-height:0; overflow:auto; outline:0; }
.explorer-list > header,.explorer-row { min-width:660px; display:grid; grid-template-columns:minmax(200px,1.6fr) 72px 65px 68px 74px 92px; align-items:center; }
.explorer-list > header { position:sticky; z-index:2; top:0; height:25px; border-bottom:1px solid var(--v3-line); background:#040507; }
.explorer-list > header button { height:100%; padding:0 8px; border-right:1px solid rgba(206,214,225,.07); color:#4b4e51; text-align:left; font:5px/1 var(--mono); letter-spacing:.08em; }
.explorer-row { width:100%; min-height:31px; border-bottom:1px solid rgba(206,214,225,.055); color:#797d81; text-align:left; font:6px/1.2 var(--mono); }
.explorer-row > span { min-width:0; padding:0 8px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.explorer-row > span:first-child { display:flex; align-items:center; gap:8px; }.explorer-row b { overflow:hidden; text-overflow:ellipsis; color:#a1a4a7; font-weight:400; }
.explorer-row:hover,.explorer-row:focus-visible,.explorer-row.selected { outline:0; background:linear-gradient(90deg,rgba(179,193,209,.1),rgba(179,193,209,.02)); color:#afb2b5; }
.explorer-row.selected { box-shadow:inset 2px 0 var(--scene-accent); }.explorer-row.restricted { opacity:.62; }.explorer-row.restricted b { color:#8a716d; }
.explorer-row i[data-type] { position:relative; width:9px; height:9px; flex:none; border:1px solid #767a7e; }
.explorer-row i[data-type="directory"] { border-radius:50% 50% 1px 1px; }.explorer-row i[data-type="video"] { transform:rotate(45deg); }.explorer-row i[data-type="image"] { border-radius:50%; }.explorer-row i[data-type="audio"] { border-width:0 0 1px 1px; transform:skew(-18deg); }.explorer-row i[data-type="dataset"]::after { content:""; position:absolute; inset:2px; border-top:1px solid; border-bottom:1px solid; }
.empty-directory { padding:26px; color:#4a4d51; font:6px/1 var(--mono); letter-spacing:.12em; }
.explorer-preview { padding:13px; overflow:auto; border-left:1px solid var(--v3-line); background:rgba(3,4,5,.78); }
.explorer-preview > img { width:100%; aspect-ratio:16/10; margin-bottom:12px; object-fit:cover; border:1px solid var(--v3-line); filter:saturate(.65) contrast(1.08) brightness(.72); }
.explorer-preview > p { color:var(--scene-accent); font:5px/1 var(--mono); letter-spacing:.14em; }.explorer-preview h3 { margin:8px 0; color:#d7dadd; font:400 15px/1.05 var(--sans); }.explorer-preview > span { display:block; color:#777a7d; font:7px/1.55 var(--mono); }
.explorer-preview dl { margin-top:13px; border-top:1px solid var(--v3-line); }.explorer-preview dl div { display:grid; grid-template-columns:38% 1fr; gap:5px; padding:6px 0; border-bottom:1px solid rgba(206,214,225,.06); font:5px/1.3 var(--mono); }.explorer-preview dt { color:#4b4e52; }.explorer-preview dd { color:#888b8e; overflow-wrap:anywhere; }
.explorer-preview > button { width:100%; margin-top:12px; padding:9px; border:1px solid var(--line); color:var(--scene-light); font:6px/1 var(--mono); letter-spacing:.12em; }.explorer-preview > button:hover { background:rgba(179,193,209,.08); }
.explorer-status { display:flex; align-items:center; gap:18px; padding:0 9px; border-top:1px solid var(--v3-line); color:#45484c; font:5px/1 var(--mono); letter-spacing:.1em; }

/* Document viewer */
.document-app { height:100%; display:grid; grid-template-columns:54px minmax(0,1fr) 190px; background:#060607; }
.document-sections { padding:12px 8px; border-right:1px solid var(--v3-line); }.document-sections p,.app-sidecar > p { margin-bottom:9px; color:#54575a; font:5px/1 var(--mono); letter-spacing:.12em; }.document-sections button { width:100%; padding:8px 0; border-top:1px solid rgba(206,214,225,.07); color:#75787b; font:6px/1 var(--mono); }.document-sections button:hover { color:var(--scene-light); }
.document-plane { min-width:0; padding:clamp(18px,3vw,38px); overflow:auto; background:linear-gradient(145deg,rgba(15,17,19,.4),rgba(3,3,4,.92)); }
.document-tools { display:flex; align-items:center; justify-content:space-between; gap:12px; }.document-tools input { width:150px; padding:6px; border:1px solid var(--v3-line); background:transparent; color:#aeb1b5; font:6px/1 var(--mono); }.document-tools span { max-width:48%; overflow:hidden; color:#484b4f; text-overflow:ellipsis; white-space:nowrap; font:5px/1 var(--mono); }
.document-class { margin-top:22px; color:var(--scene-accent); font:6px/1 var(--mono); letter-spacing:.15em; }
.document-knowledge { display:inline-flex; gap:8px; margin-top:9px; padding:6px 8px; border:1px solid rgba(179,186,193,.16); background:rgba(113,120,127,.055); color:#6c7074; font:7px/1 var(--mono); letter-spacing:.1em; }
.document-knowledge b { color:#bec1c5; font-weight:500; }
.document-plane h2 { margin:10px 0 24px; color:#e3e4e6; font:300 clamp(25px,3vw,43px)/.92 var(--sans); letter-spacing:-.05em; }
.document-body { border-top:1px solid var(--v3-line); }.document-body section { display:grid; grid-template-columns:28px 1fr; gap:12px; padding:13px 0; border-bottom:1px solid rgba(206,214,225,.08); }.document-body section i { color:#474a4e; font:normal 5px/1.6 var(--mono); }.document-body section p { max-width:72ch; color:#979a9d; font:8px/1.65 var(--mono); }
.document-withheld { display:flex; justify-content:space-between; margin-top:18px; padding:10px 0; border-top:1px solid rgba(211,184,121,.35); border-bottom:1px solid rgba(211,184,121,.35); color:var(--v3-warn); font:6px/1 var(--mono); letter-spacing:.12em; }
.app-sidecar { padding:14px; overflow:auto; border-left:1px solid var(--v3-line); }.app-sidecar dl { border-top:1px solid var(--v3-line); }.app-sidecar dl div { padding:6px 0; border-bottom:1px solid rgba(206,214,225,.06); }.app-sidecar dt,.app-sidecar dd { font:5px/1.4 var(--mono); }.app-sidecar dt { color:#494c4f; }.app-sidecar dd { margin-top:3px; color:#85888b; overflow-wrap:anywhere; }.app-sidecar > p:not(:first-child) { margin-top:20px; }
.related-file { width:100%; display:flex; justify-content:space-between; gap:6px; padding:8px 0; border-top:1px solid rgba(206,214,225,.06); color:#7e8185; text-align:left; font:5px/1.2 var(--mono); }.related-file:hover { color:var(--scene-light); }.related-file small { color:#494c4f; }

/* Image inspector */
.image-app { height:100%; display:grid; grid-template-columns:24px minmax(0,1fr); grid-template-rows:38px 22px minmax(0,1fr); background:#030304; }
.image-toolbar { grid-column:1/3; display:flex; align-items:center; gap:13px; padding:0 10px; border-bottom:1px solid var(--v3-line); overflow:auto; }.image-toolbar label { display:flex; align-items:center; gap:6px; color:#5e6164; font:5px/1 var(--mono); white-space:nowrap; }.image-toolbar input { width:76px; accent-color:var(--scene-accent); }.image-toolbar button { margin-left:auto; padding:7px; border:1px solid var(--v3-line); color:#878a8d; font:5px/1 var(--mono); white-space:nowrap; }
.image-ruler { display:flex; color:#4b4e52; font:5px/1 var(--mono); }.image-ruler-x { grid-column:2; justify-content:space-between; align-items:end; padding:0 6px; }.image-ruler-x span { width:1px; height:4px; background:var(--v3-line); }.image-ruler-y { grid-row:3; flex-direction:column; justify-content:space-between; align-items:end; padding:5px 4px 5px 0; }.image-ruler-y span { width:4px; height:1px; background:var(--v3-line); }
.image-stage { position:relative; min-width:0; min-height:0; overflow:auto; border-left:1px solid var(--v3-line); border-top:1px solid var(--v3-line); background:#000; outline:0; }.image-stage img { width:100%; height:100%; object-fit:contain; transform-origin:center; transition:filter .2s,transform .2s; }.image-selection { position:absolute; left:42%; top:25%; width:28%; height:44%; border:1px solid rgba(225,232,241,.75); }.image-selection::before,.image-selection::after { content:""; position:absolute; background:rgba(225,232,241,.35); }.image-selection::before { left:50%; top:-7px; width:1px; height:calc(100% + 14px); }.image-selection::after { top:50%; left:-7px; width:calc(100% + 14px); height:1px; }.image-selection span { position:absolute; left:5px; top:5px; color:var(--scene-light); font:5px/1 var(--mono); }.image-stage output { position:sticky; left:8px; bottom:8px; padding:5px; background:rgba(2,3,4,.78); color:var(--scene-accent); font:5px/1 var(--mono); }.image-scan { position:absolute; top:0; bottom:0; left:0; width:12%; background:linear-gradient(90deg,transparent,rgba(179,193,209,.1),transparent); animation:v3scan 6s ease-in-out infinite; } @keyframes v3scan { to { transform:translateX(820%); } }

/* Audio analysis */
.audio-app { height:100%; display:grid; grid-template-rows:64px minmax(110px,1.35fr) minmax(62px,.62fr) 38px minmax(96px,.8fr); background:#030304; }
.audio-app > header { min-width:0; display:grid; grid-template-columns:minmax(170px,1fr) auto; align-items:center; gap:16px; padding:10px 13px; border-bottom:1px solid var(--v3-line); background:linear-gradient(90deg,rgba(179,193,209,.035),transparent); }
.audio-app > header p { color:var(--scene-accent); font:5px/1 var(--mono); letter-spacing:.14em; }.audio-app > header h2 { margin-top:6px; color:#dfe1e4; font:400 19px/1 var(--sans); letter-spacing:-.025em; }
.audio-app > header dl { display:flex; align-items:center; gap:17px; }.audio-app > header dl div { min-width:46px; }.audio-app > header dt { color:#474a4e; font:5px/1 var(--mono); }.audio-app > header dd { margin-top:5px; color:#909397; font:6px/1 var(--mono); }
.audio-app > audio { display:none; }
.spectrogram,.waveform { position:relative; min-height:0; overflow:hidden; border-bottom:1px solid var(--v3-line); }.spectrogram canvas,.waveform canvas { width:100%; height:100%; }.spectrogram > span { position:absolute; left:8px; color:#505357; font:5px/1 var(--mono); }.spectrogram > span:first-of-type { bottom:7px; }.spectrogram > span:last-of-type { top:7px; }.audio-playhead { position:absolute; z-index:2; left:0; top:0; bottom:0; width:1px; background:var(--scene-light); box-shadow:0 0 7px var(--scene-accent); }.audio-markers { position:absolute; inset:0; }.audio-markers i { position:absolute; top:0; bottom:0; width:1px; border-left:1px dashed rgba(211,184,121,.48); color:var(--v3-warn); font:5px/1 var(--mono); }
.audio-controls { display:grid; grid-template-columns:52px 48px minmax(100px,1fr) 48px auto auto; align-items:center; border-bottom:1px solid var(--v3-line); }.audio-controls > * { min-width:0; }.audio-controls button,.audio-controls time,.audio-controls label { height:100%; display:flex; align-items:center; justify-content:center; gap:5px; padding:0 8px; border-right:1px solid var(--v3-line); color:#777a7e; font:5px/1 var(--mono); white-space:nowrap; }.audio-controls input { max-width:110px; accent-color:var(--scene-accent); }.audio-controls select { border:0; background:#090b0d; color:#93969a; font:5px var(--mono); }
.audio-lower { min-height:0; display:grid; grid-template-columns:1fr 1.6fr 1fr; overflow:hidden; }.audio-lower section { padding:11px; overflow:auto; border-right:1px solid var(--v3-line); }.audio-lower p { margin-bottom:8px; color:#505357; font:5px/1 var(--mono); letter-spacing:.12em; }.audio-lower section > button { width:100%; padding:6px; color:#6b6e72; text-align:left; font:5px/1 var(--mono); }.audio-lower section > button.active { color:var(--scene-light); background:rgba(179,193,209,.06); }.audio-lower blockquote { color:#8a8d90; font:7px/1.5 var(--mono); }.audio-lower section > span { display:block; margin-top:8px; color:var(--v3-warn); font:5px/1 var(--mono); }

/* Datasets, terminal, logs and damaged carriers */
.dataset-app { height:100%; display:grid; grid-template-rows:58px 36px minmax(0,1fr) 46px 62px; }
.dataset-app > header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:10px 13px; border-bottom:1px solid var(--v3-line); }.dataset-app > header p { color:var(--scene-accent); font:5px/1 var(--mono); letter-spacing:.13em; }.dataset-app > header h2 { margin-top:6px; color:#dee0e3; font:400 18px/1 var(--sans); }.dataset-app > header > div:last-child { display:flex; gap:7px; }.dataset-app > header input,.dataset-app > header button { padding:7px 9px; border:1px solid var(--v3-line); background:transparent; color:#7b7e82; font:5px/1 var(--mono); }
.dataset-summary { display:flex; align-items:stretch; border-bottom:1px solid var(--v3-line); }.dataset-summary span { flex:1; display:flex; align-items:center; justify-content:space-between; padding:0 10px; border-right:1px solid var(--v3-line); color:#515458; font:5px/1 var(--mono); }.dataset-summary b { color:#979a9d; font-weight:400; }.dataset-table { overflow:auto; }.dataset-table table { width:100%; min-width:620px; border-collapse:collapse; }.dataset-table th { position:sticky; top:0; background:#040507; }.dataset-table th,.dataset-table td { padding:8px 10px; border-right:1px solid rgba(206,214,225,.06); border-bottom:1px solid rgba(206,214,225,.06); color:#777a7d; text-align:left; font:6px/1.2 var(--mono); }.dataset-table th button { color:#525559; font:5px var(--mono); }.dataset-table tr:hover td { background:rgba(179,193,209,.04); color:#a7aaad; }.dataset-timeline { position:relative; display:grid; grid-template-columns:repeat(3,1fr); align-items:end; padding:8px 20px; border-top:1px solid var(--v3-line); }.dataset-timeline::before { content:""; position:absolute; left:12%; right:12%; top:17px; height:1px; background:var(--v3-line); }.dataset-timeline i { position:relative; z-index:1; justify-self:center; align-self:start; width:7px; height:7px; border:1px solid var(--scene-accent); border-radius:50%; background:#040507; }.dataset-timeline span { justify-self:center; color:#55585c; font:5px/1 var(--mono); }
.dataset-app > footer { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) 260px; align-items:center; gap:18px; padding:8px 12px; overflow:hidden; border-top:1px solid var(--v3-line); color:#6c6f72; font:6px/1.45 var(--mono); }.dataset-app > footer > div { display:flex; gap:10px; overflow:auto; }.dataset-app > footer .related-file { min-width:120px; }
.terminal-app { height:100%; display:grid; grid-template-rows:minmax(0,1fr) 34px; background:#010203; }.terminal-output { padding:13px; overflow:auto; color:#7f8489; font:7px/1.65 var(--mono); }.terminal-output p { white-space:pre-wrap; }.terminal-output b { color:var(--scene-light); font-weight:400; }.terminal-app form { border-top:1px solid var(--v3-line); }.terminal-app label { height:100%; display:flex; align-items:center; padding:0 11px; color:var(--scene-accent); font:7px/1 var(--mono); }.terminal-app input { flex:1; min-width:0; padding-left:7px; border:0; outline:0; background:transparent; color:#d7d9dc; font:7px/1 var(--mono); }
.log-app { height:100%; display:grid; grid-template-rows:25px minmax(0,1fr); }.log-app > header,.log-entries p { display:grid; grid-template-columns:78px 150px 1fr 54px; }.log-app > header { align-items:center; border-bottom:1px solid var(--v3-line); color:#474a4e; font:5px/1 var(--mono); }.log-app > header span,.log-entries p > * { padding:0 8px; }.log-entries { overflow:auto; }.log-entries p { padding:7px 0; border-bottom:1px solid rgba(206,214,225,.06); color:#777a7e; font:6px/1.25 var(--mono); }.log-entries time { color:#4b4e52; }.log-entries b { color:var(--scene-accent); font-weight:400; }
.hex-app { height:100%; display:grid; grid-template-rows:auto minmax(0,1fr) auto; padding:17px; background:radial-gradient(circle at 70% 20%,rgba(130,78,67,.08),transparent 35%),#030304; }.hex-app h2 { color:#dbdddf; font:300 25px/1 var(--sans); }.hex-app header p { margin-top:8px; max-width:70ch; color:#808386; font:7px/1.5 var(--mono); }.hex-app > div { margin-top:14px; overflow:auto; border-top:1px solid rgba(197,121,105,.2); color:#8e6f68; font:7px/1.6 var(--mono); white-space:pre; }.hex-app footer { padding-top:10px; border-top:1px solid rgba(197,121,105,.2); color:#b68074; font:6px/1 var(--mono); }

/* Player forensic extensions */
.player-controls.v3-controls { position:relative; grid-template-columns:31px 42px minmax(70px,1fr) 42px 32px 32px 40px 44px 52px 34px 42px; }
.player-controls .frame-step,.player-controls .capture-frame,.player-controls .fullscreen-player { font-size:6px; }
.player-controls .playback-rate { width:100%; height:100%; border:0; border-right:1px solid var(--line); background:#040506; color:#7f8489; font:6px/1 var(--mono); text-align:center; }
.player-volume { width:46px; accent-color:var(--scene-accent); }
.player-anomaly-marker { position:absolute; z-index:3; left:63%; bottom:-2px; width:1px; height:5px; background:var(--v3-warn); }

@media (max-width:1050px) and (min-width:761px) {
  .os-taskbar { grid-template-columns:168px minmax(0,1fr) auto; }
  .explorer-layout { grid-template-columns:130px minmax(360px,1fr) 165px; }
  .app-sidecar { display:none; }.document-app { grid-template-columns:54px minmax(0,1fr); }
}

@media (max-width:760px) {
  :root { --taskbar-h:0px; }
  .os-taskbar { display:none; }
  .archive-directory { bottom:48px; }
  .os-canvas { bottom:48px; }
  .mobile-nav { grid-template-columns:repeat(6,1fr); }
  .system-actions .global-search-button,.system-actions .secure-state { display:none; }
  .v3-window { position:absolute !important; inset:7px !important; width:auto !important; height:auto !important; min-width:0; min-height:0; resize:none; display:none !important; }
  .v3-window.mobile-active { display:grid !important; }
  body[data-mobile-panel="explorer"] .app-explorer,
  body[data-mobile-panel="audio"] .app-audio { display:grid !important; }
  body[data-mobile-panel="explorer"] .archive-directory { display:none; }
  .explorer-toolbar { grid-template-columns:auto minmax(0,1fr) auto; }.explorer-search { grid-column:1/4; grid-row:2; min-height:34px; border-top:1px solid var(--v3-line); }.explorer-app { grid-template-rows:72px minmax(0,1fr) 24px; }
  .explorer-layout { grid-template-columns:1fr; }.explorer-tree,.explorer-preview { display:none; }
  /* Fit rows to the phone width so the list scrolls only vertically. The old
     min-width:560px forced horizontal overflow, and a two-axis scroller with
     touch-action:pan-y drops vertical drags that start with any sideways motion —
     the "responsive only halfway" bug. Name column only; meta columns hidden. */
  .explorer-list > header,.explorer-row { min-width:0; grid-template-columns:minmax(0,1fr); }
  .explorer-row > span:not(:first-child),.explorer-list > header button:not(:first-child) { display:none; }
  .document-app { grid-template-columns:1fr; }.document-sections,.app-sidecar { display:none; }.document-plane { padding:22px; }
  .audio-lower { grid-template-columns:1fr; }.audio-lower section:not(:nth-child(2)) { display:none; }.audio-controls { grid-template-columns:46px 43px minmax(70px,1fr) 43px; }.audio-controls label { display:none; }
  .audio-app { grid-template-rows:76px minmax(125px,1.4fr) minmax(68px,.62fr) 38px minmax(100px,.78fr); }.audio-app > header { grid-template-columns:1fr; gap:0; }.audio-app > header dl { display:none; }.audio-app > header h2 { font-size:17px; }
  .dataset-app { grid-template-rows:64px 36px minmax(0,1fr) 46px; }.dataset-app > header { align-items:flex-start; }.dataset-app > header > div:last-child { display:none; }.dataset-app > footer { display:none; }
  .image-toolbar label:nth-of-type(n+2) { display:none; }
  .log-app > header,.log-entries p { grid-template-columns:65px 112px 1fr; }.log-app > header span:last-child,.log-entries p b { display:none; }
  .player-controls.v3-controls { grid-template-columns:31px 38px minmax(48px,1fr) 38px 30px 30px 38px 32px 38px; }.player-controls .playback-rate,.player-volume { display:none; }
  .os-notice { bottom:58px; right:10px; }
}

@media (prefers-reduced-motion:reduce) {
  .v3-window,.v3-window.window-ready { transition:none !important; transform:none !important; }
  .file-opening-ghost,.image-scan { display:none !important; }
  .os-notice { animation:none !important; }
}
