/* Kyntrix OS Mk 1 web shell.
   Visual language from master plan §16.2 and the native Mk 1 desktop:
   layered translucent glass, fine linework, blueprint grid, restrained glow,
   corner brackets, a clock tab under the top bar. Every instrument shows real
   state (§16.1); colour is never the only signal. */
:root{
  color-scheme:dark;
  --abyss:#020a11;--abyss-2:#04121c;--glass:#061b28;--glass-a:rgba(6,27,40,.82);--glass-strong:rgba(4,20,30,.95);
  --line:#1b5d74;--line-hi:#2aa9cf;--cyan:#3ccff2;--ice:#bdf1ff;--text:#cfe9f1;--muted:#93b9c6;--slate:#7895a2;
  --amber:#f2b44c;--amber-dim:#8a6a2c;--grid:rgba(60,207,242,.055);--grid-major:rgba(60,207,242,.1);
  --ui:'Rajdhani','Share Tech Mono',system-ui,sans-serif;--mono:'Share Tech Mono',ui-monospace,monospace;
  --topbar:64px;--dock:96px;--bracket:14px;--ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{font-size:16px;-webkit-text-size-adjust:100%}
body[data-text="large"]{font-size:18px}
body{margin:0;min-height:100vh;min-height:100dvh;overflow:hidden;background:var(--abyss);color:var(--text);font-family:var(--ui);font-size:1rem;line-height:1.45}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(ellipse 70% 60% at 38% 45%,rgba(18,82,112,.38),transparent 70%),
    linear-gradient(var(--grid-major) 1px,transparent 1px) 0 0/128px 128px,
    linear-gradient(90deg,var(--grid-major) 1px,transparent 1px) 0 0/128px 128px,
    linear-gradient(var(--grid) 1px,transparent 1px) 0 0/32px 32px,
    linear-gradient(90deg,var(--grid) 1px,transparent 1px) 0 0/32px 32px}
body[data-contrast="high"]::before{background:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--cyan)}
:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.skip-link{position:fixed;left:12px;top:-60px;z-index:200;padding:10px 14px;background:var(--abyss);border:1px solid var(--cyan);color:var(--ice);text-decoration:none;font-family:var(--mono)}
.skip-link:focus{top:12px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Corner brackets: the native frame device, drawn with gradients (no extra markup). */
.bracketed{--bc:var(--line-hi);
  background:
    linear-gradient(var(--bc),var(--bc)) top left/var(--bracket) 2px no-repeat,
    linear-gradient(var(--bc),var(--bc)) top left/2px var(--bracket) no-repeat,
    linear-gradient(var(--bc),var(--bc)) top right/var(--bracket) 2px no-repeat,
    linear-gradient(var(--bc),var(--bc)) top right/2px var(--bracket) no-repeat,
    linear-gradient(var(--bc),var(--bc)) bottom left/var(--bracket) 2px no-repeat,
    linear-gradient(var(--bc),var(--bc)) bottom left/2px var(--bracket) no-repeat,
    linear-gradient(var(--bc),var(--bc)) bottom right/var(--bracket) 2px no-repeat,
    linear-gradient(var(--bc),var(--bc)) bottom right/2px var(--bracket) no-repeat,
    var(--glass-a)}

/* ---------- top bar ---------- */
.topbar{position:fixed;inset:0 0 auto;height:var(--topbar);z-index:40;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 22px;
  background:linear-gradient(rgba(5,24,35,.96),rgba(3,15,23,.9));border-bottom:1px solid var(--line)}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:4px;pointer-events:none;
  background:repeating-linear-gradient(90deg,var(--line) 0 1px,transparent 1px 24px)}
.wordmark{display:flex;align-items:baseline;gap:12px;min-width:0;color:var(--ice);text-decoration:none;font-weight:600;font-size:1.9rem;letter-spacing:.2em;line-height:1;text-shadow:0 0 14px rgba(60,207,242,.45)}
.wordmark .kyntrix-brand-mark{width:36px;height:36px;flex:none;align-self:center;margin-right:-2px;filter:drop-shadow(0 0 8px rgba(60,207,242,.35))}
.boot-title .kyntrix-brand-mark{width:64px;height:64px;flex:none;align-self:center;filter:drop-shadow(0 0 14px rgba(60,207,242,.45))}
.wordmark small{font-family:var(--mono);font-size:.8rem;font-weight:400;letter-spacing:.08em;color:var(--muted);text-shadow:none;white-space:nowrap}
.clock{display:flex;flex-direction:column;align-items:center;line-height:1}
.clock time{font-family:var(--mono);font-size:2.6rem;letter-spacing:.06em;color:var(--cyan);text-shadow:0 0 16px rgba(60,207,242,.5)}
.clock-tab{position:absolute;top:calc(var(--topbar) - 1px);left:50%;transform:translateX(-50%);padding:5px 18px 6px;font-family:var(--mono);font-size:.8rem;letter-spacing:.08em;color:var(--muted);white-space:nowrap;
  background:var(--abyss-2);border:1px solid var(--line);border-top:0;clip-path:polygon(0 0,100% 0,calc(100% - 12px) 100%,12px 100%)}
.chips{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 12px;border:1px solid var(--line-hi);background:rgba(6,27,40,.6);color:var(--cyan);font-family:var(--mono);font-size:.82rem;letter-spacing:.06em;text-decoration:none;white-space:nowrap}
.chip[data-state="attention"]{border-color:var(--amber);color:var(--amber)}
.chip[data-state="off"]{border-color:var(--line);color:var(--muted)}
button.chip:hover{background:rgba(20,80,108,.55)}
.chip svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6}

/* ---------- home ---------- */
.home{position:fixed;left:0;right:0;top:calc(var(--topbar) + 30px);bottom:calc(var(--dock) + 8px);z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"core cards" "command cards";gap:10px 28px;padding:0 28px 6px;transition:opacity .25s var(--ease),filter .25s var(--ease)}
body.has-window .home{opacity:.32;filter:saturate(.7)}
.core{grid-area:core;position:relative;min-height:0;display:flex;align-items:center;justify-content:center}
.core-stage{position:relative;width:min(100%,980px,calc((100vh - var(--topbar) - var(--dock) - 150px) * 1.4643));aspect-ratio:820/560}
.core-stage svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.core-callout{position:absolute;transform:translate(0,-50%);display:flex;flex-direction:column;gap:2px;padding:6px 8px;border:0;background:none;text-align:left;min-width:120px}
.core-callout[data-side="left"]{transform:translate(-100%,-50%);text-align:right;align-items:flex-end}
.core-callout strong{font-family:var(--mono);font-weight:400;font-size:.95rem;letter-spacing:.08em;color:var(--text)}
.core-callout span{font-family:var(--mono);font-size:.82rem;letter-spacing:.05em;color:var(--cyan)}
.core-callout[data-state="attention"] span{color:var(--amber)}
.core-callout[data-state="standby"] span{color:var(--slate)}
.core-callout:hover strong,.core-callout:focus-visible strong{color:var(--ice)}
.core-callout:hover{background:rgba(60,207,242,.06)}
.ring-ticks line{stroke:var(--line-hi);stroke-width:1;opacity:.55}
.ring-ticks line.major{opacity:.95;stroke-width:1.4}
.sector{cursor:pointer;transition:opacity .2s}
.sector path.fill{fill:rgba(60,207,242,.16);stroke:var(--cyan);stroke-width:1.2}
.sector path.hatch{stroke:rgba(60,207,242,.35);stroke-width:1;fill:none}
.sector[data-state="attention"] path.fill{fill:rgba(242,180,76,.18);stroke:var(--amber)}
.sector[data-state="attention"] path.hatch{stroke:rgba(242,180,76,.4)}
.sector[data-state="standby"] path.fill{fill:rgba(120,149,162,.08);stroke:#3c5867}
.sector[data-state="standby"] path.hatch{stroke:rgba(120,149,162,.18)}
.sector:hover path.fill{fill:rgba(60,207,242,.28)}
.leader{fill:none;stroke:var(--line-hi);stroke-width:1;opacity:.75}
.leader-dot{fill:var(--cyan)}
.core-ring{fill:none;stroke:var(--line);stroke-width:1}
.core-ring.bright{stroke:var(--line-hi);opacity:.8}
.sweep{transform-origin:410px 280px;animation:sweep 9s linear infinite}
.sweep path{fill:none;stroke:var(--cyan);stroke-width:5;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(60,207,242,.8))}
@keyframes sweep{to{transform:rotate(360deg)}}
.core-count{font-family:var(--mono);fill:var(--ice);font-size:66px;letter-spacing:4px;text-anchor:middle;paint-order:stroke;stroke:#03121b;stroke-width:6px}
.core-caption{font-family:var(--mono);fill:var(--cyan);font-size:15px;letter-spacing:4px;text-anchor:middle;paint-order:stroke;stroke:#03121b;stroke-width:4px}
.core-sub{font-family:var(--mono);fill:var(--muted);font-size:12.5px;letter-spacing:3px;text-anchor:middle}
.orb-edge{stroke:var(--cyan);stroke-width:1}
.orb-node{fill:var(--ice)}
.orb-node.attention{fill:var(--amber)}
.orb-node.standby{fill:var(--slate)}
.orb-hit{fill:transparent;cursor:pointer}
.core-list{display:none}

/* cluster cards */
.cards{grid-area:cards;display:flex;flex-direction:column;gap:10px;min-height:0;margin-top:-24px;overflow:auto;padding:2px 4px 4px 2px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.card{position:relative;flex:none;padding:9px 15px 11px}
.card h2{margin:0 0 6px;padding-bottom:5px;font-size:1.02rem;font-weight:600;letter-spacing:.14em;color:var(--ice);border-bottom:1px solid var(--line)}
.card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:1px 12px;font-family:var(--mono);font-size:.8rem;letter-spacing:.02em;line-height:1.38}
.card dt{color:var(--muted)}
.card dd{margin:0;color:var(--text);overflow-wrap:anywhere}
.card dd[data-state="ready"]{color:var(--cyan)}
.card dd[data-state="attention"]{color:var(--amber)}
.card dd[data-state="standby"]{color:var(--slate)}
.card-note{margin:6px 0 0;font-size:.82rem;color:var(--muted)}
.card-action{margin-top:8px;display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:4px 12px;border:1px solid var(--line-hi);background:rgba(10,45,64,.55);color:var(--ice);font-weight:600;letter-spacing:.08em;font-size:.92rem}
.card-action:hover{background:rgba(24,90,122,.6)}
.feed{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.feed button{width:100%;display:grid;grid-template-columns:12px 1fr;gap:10px;align-items:baseline;padding:4px 4px;border:0;background:none;text-align:left;font-family:var(--mono);font-size:.8rem;line-height:1.38;color:var(--text)}
.feed button::before{content:"";width:8px;height:8px;margin-top:4px;background:var(--cyan);clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%)}
.feed button[data-state="attention"]::before{background:var(--amber)}
.feed button[data-state="standby"]::before{background:var(--slate)}
.feed button:hover{background:rgba(60,207,242,.07);color:var(--ice)}
.feed b{font-weight:400;color:var(--cyan)}
.feed button[data-state="attention"] b{color:var(--amber)}
.feed button[data-state="standby"] b{color:var(--slate)}

/* command bar */
.command{grid-area:command;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:6px 12px;max-width:900px;width:100%;margin:0 auto}
.command-line{grid-column:1/-1;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 16px;border:1px solid var(--line-hi);background:var(--glass-a);clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%)}
.command-line label{font-family:var(--mono);font-size:.9rem;letter-spacing:.08em;color:var(--muted);white-space:nowrap}
.command-line input{flex:1;min-width:0;height:40px;border:0;background:none;outline:0;font-family:var(--mono);font-size:1rem;letter-spacing:.05em;color:var(--ice);caret-color:var(--cyan)}
.command-line input::placeholder{color:#5f8292}
.command-line:focus-within{border-color:var(--cyan);box-shadow:0 0 18px rgba(60,207,242,.18)}
.command-output{grid-column:1/-1;min-height:1.3em;margin:0;font-family:var(--mono);font-size:.84rem;letter-spacing:.04em;color:var(--muted);text-align:center}
.command-output[data-state="attention"]{color:var(--amber)}
.hints{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;margin:0}
.hints span{font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--slate)}
.legal{display:flex;flex:none;gap:14px;flex-wrap:wrap;margin:0;padding:2px 4px;font-family:var(--mono);font-size:.76rem;color:var(--slate)}
.legal a{color:var(--muted);text-decoration:none}
.legal a:hover{color:var(--ice);text-decoration:underline}

/* ---------- dock ---------- */
.dock{position:fixed;left:0;right:0;bottom:0;z-index:45;height:var(--dock);display:flex;justify-content:center;align-items:center;padding:0 16px;background:linear-gradient(transparent,rgba(2,10,17,.92) 34%)}
.dock-track{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:6px 8px}
.dock-track::-webkit-scrollbar{display:none}
.dock-app{--tile:var(--line);position:relative;flex:0 0 auto;width:84px;height:74px;padding:1px;border:0;background:var(--tile);clip-path:polygon(12px 0,calc(100% - 12px) 0,100% 12px,100% calc(100% - 12px),calc(100% - 12px) 100%,12px 100%,0 calc(100% - 12px),0 12px)}
.dock-app>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;height:100%;background:rgba(4,20,30,.95);clip-path:inherit;color:var(--cyan)}
.dock-app svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dock-app b{font-family:var(--mono);font-weight:400;font-size:.7rem;letter-spacing:.03em;color:var(--muted);text-transform:uppercase;white-space:nowrap}
.dock-app:hover,.dock-app:focus-visible{--tile:var(--line-hi)}
.dock-app:hover>span{background:rgba(10,42,60,.96)}
.dock-app:focus-visible{outline:none;--tile:var(--ice)}
.dock-app.running b{color:var(--ice)}
.dock-app.running::after{content:"";position:absolute;left:50%;bottom:5px;width:18px;height:2px;margin-left:-9px;background:var(--cyan);box-shadow:0 0 6px var(--cyan)}
.dock-app.active{--tile:var(--cyan)}
.dock-app.active>span{background:rgba(12,52,72,.97)}

/* ---------- windows ---------- */
#window-layer{position:fixed;inset:calc(var(--topbar) + 30px) 0 var(--dock);z-index:30;pointer-events:none}
.dim{position:fixed;inset:var(--topbar) 0 0;z-index:20;background:rgba(1,8,13,.35)}
.panel{--bc:var(--line-hi);position:absolute;display:flex;flex-direction:column;min-width:300px;min-height:220px;pointer-events:auto;border:1px solid var(--line);-webkit-backdrop-filter:blur(16px) saturate(.8);backdrop-filter:blur(16px) saturate(.8);box-shadow:0 18px 60px rgba(0,0,0,.55),0 0 0 1px rgba(60,207,242,.05) inset;
  background:
    linear-gradient(var(--bc),var(--bc)) top left/var(--bracket) 2px no-repeat,
    linear-gradient(var(--bc),var(--bc)) top left/2px var(--bracket) no-repeat,
    linear-gradient(var(--bc),var(--bc)) top right/var(--bracket) 2px no-repeat,
    linear-gradient(var(--bc),var(--bc)) top right/2px var(--bracket) no-repeat,
    linear-gradient(var(--bc),var(--bc)) bottom left/var(--bracket) 2px no-repeat,
    linear-gradient(var(--bc),var(--bc)) bottom left/2px var(--bracket) no-repeat,
    linear-gradient(var(--bc),var(--bc)) bottom right/var(--bracket) 2px no-repeat,
    linear-gradient(var(--bc),var(--bc)) bottom right/2px var(--bracket) no-repeat,
    var(--glass-strong)}
.panel.active{--bc:var(--cyan);border-color:var(--line-hi)}
.panel.maximized{left:10px!important;top:10px!important;width:calc(100% - 20px)!important;height:calc(100% - 20px)!important}
.panel.unfolding{animation:unfold .26s var(--ease)}
@keyframes unfold{from{opacity:0;transform:scale(.18)}to{opacity:1;transform:none}}
.panel-bar{display:flex;align-items:center;gap:12px;min-height:46px;padding:6px 8px 6px 16px;cursor:grab;user-select:none;touch-action:none}
.panel-bar:active{cursor:grabbing}
.panel-bar svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--cyan);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.panel-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.2rem;font-weight:600;letter-spacing:.14em;color:var(--ice);text-transform:uppercase}
.panel-title::after{content:"";display:block;height:1px;margin-top:3px;background:linear-gradient(90deg,var(--line-hi),transparent)}
.panel-controls{display:flex;gap:6px}
.panel-controls button{width:36px;height:32px;display:grid;place-items:center;border:1px solid var(--line);background:rgba(4,22,32,.8);color:var(--muted);font-family:var(--mono);font-size:1rem}
.panel-controls button:hover{border-color:var(--line-hi);color:var(--ice)}
.panel-controls .panel-close:hover{border-color:var(--amber);color:var(--amber)}
.panel-body{position:relative;flex:1;min-height:0;margin:0 10px 10px;border-top:1px solid var(--line);overflow:auto}
.panel-body iframe{display:block;width:100%;height:100%;border:0;background:var(--abyss)}
body.dragging,body.dragging iframe{user-select:none;pointer-events:none}
body.dragging .panel-bar{pointer-events:auto}

/* native apps inside panels */
.app-pad{padding:18px 20px 22px}
.app-pad h2{margin:0 0 6px;font-size:1.5rem;font-weight:600;letter-spacing:.06em;color:var(--ice)}
.app-pad p{margin:0 0 12px;max-width:68ch;color:var(--muted)}
.monitor{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr);gap:20px;height:100%;padding:16px}
.monitor-map{position:relative;aspect-ratio:1/1;max-height:100%;align-self:center;width:100%;max-width:470px;justify-self:center}
.monitor-map svg{position:absolute;inset:0;width:100%;height:100%}
.monitor-node{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;padding:4px;font-family:var(--mono);font-size:.82rem;letter-spacing:.06em;color:var(--cyan)}
.monitor-node i{width:42px;height:42px;border-radius:50%;border:2px solid var(--cyan);background:radial-gradient(circle,#0c3a52 55%,#062534);box-shadow:0 0 12px rgba(60,207,242,.35)}
.monitor-node[data-state="attention"]{color:var(--amber)}
.monitor-node[data-state="attention"] i{border-color:var(--amber);box-shadow:0 0 12px rgba(242,180,76,.3)}
.monitor-node[data-state="standby"]{color:var(--slate)}
.monitor-node[data-state="standby"] i{border-color:var(--slate);box-shadow:none}
.monitor-node.center i{width:72px;height:72px;border-width:3px}
.monitor-node.center{color:var(--ice)}
.monitor-node[aria-pressed="true"] i{outline:2px solid var(--ice);outline-offset:6px}
.monitor-link{stroke:var(--line-hi);stroke-width:1;opacity:.7}
.monitor-facts{border-left:1px solid var(--line);padding:4px 0 4px 18px;min-width:0}
.monitor-facts h3{margin:0 0 10px;font-size:1.35rem;font-weight:600;letter-spacing:.12em;color:var(--ice)}
.monitor-facts dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-family:var(--mono);font-size:.88rem}
.monitor-facts dt{color:var(--muted)}
.monitor-facts dd{margin:0;color:var(--text);overflow-wrap:anywhere}
.monitor-facts p{margin:14px 0 0;font-size:.88rem;color:var(--muted)}
.settings-grid{display:grid;gap:16px;max-width:720px}
.setting{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:12px;align-items:center;padding:12px 14px;border:1px solid var(--line);background:rgba(6,27,40,.6)}
.setting h3{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:.1em;color:var(--ice)}
.setting p{grid-column:2;margin:0;font-size:.88rem;color:var(--muted)}
.segmented{display:flex;flex-wrap:wrap;gap:6px}
.segmented button{min-height:38px;padding:6px 14px;border:1px solid var(--line);background:rgba(4,22,32,.85);color:var(--muted);font-weight:600;letter-spacing:.08em}
.segmented button[aria-pressed="true"]{border-color:var(--cyan);color:var(--ice);background:rgba(16,70,95,.75)}
.settings-status{font-family:var(--mono);font-size:.86rem;color:var(--cyan);min-height:1.3em}
.settings-status[data-state="attention"]{color:var(--amber)}
.button-line{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}
.hud-button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px;border:1px solid var(--line-hi);background:rgba(10,45,64,.6);color:var(--ice);font-weight:600;letter-spacing:.08em;text-decoration:none}
.hud-button:hover{background:rgba(24,90,122,.65)}
.hud-button.quiet{border-color:var(--line);color:var(--muted)}
.captures{display:flex;flex-direction:column;height:100%}
.captures nav{display:flex;gap:6px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--line)}
.captures nav button{min-height:34px;padding:4px 12px;border:1px solid var(--line);background:rgba(4,22,32,.85);color:var(--muted);font-weight:600;letter-spacing:.08em}
.captures nav button[aria-pressed="true"]{border-color:var(--cyan);color:var(--ice);background:rgba(16,70,95,.75)}
.captures figure{flex:1;min-height:0;margin:0;display:flex;flex-direction:column}
.captures .shot{flex:1;min-height:0;display:grid;place-items:center;padding:12px;background:#01070c}
.captures img{max-width:100%;max-height:100%;width:auto;height:auto;border:1px solid var(--line)}
.captures figcaption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 14px;font-family:var(--mono);font-size:.8rem;color:var(--muted);border-top:1px solid var(--line)}
.files-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:.86rem}
.files-table th{text-align:left;font-weight:400;color:var(--muted);letter-spacing:.06em;padding:8px 10px;border-bottom:1px solid var(--line)}
.files-table td{padding:0;border-bottom:1px solid rgba(27,93,116,.45)}
.files-table td>*{display:block;padding:9px 10px}
.files-table button{width:100%;border:0;background:none;text-align:left;color:var(--ice)}
.files-table button:hover{background:rgba(60,207,242,.07)}
.files-table .file-name{display:flex;gap:10px;align-items:center}
.files-table svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--cyan);stroke-width:1.5}

/* notifications (Mk 1 §6.2) */
.notices{position:fixed;top:calc(var(--topbar) + 40px);right:22px;z-index:60;display:grid;gap:10px;width:min(380px,calc(100vw - 24px))}
.notice{position:relative;padding:12px 44px 12px 16px;border:1px solid var(--line-hi)}
.notice.bracketed{--bc:var(--cyan);--glass-a:rgba(4,22,33,.96)}
.notice h2{margin:0 0 4px;font-size:1.02rem;font-weight:600;letter-spacing:.12em;color:var(--ice)}
.notice p{margin:0;font-size:.92rem;color:var(--text)}
.notice .notice-close{position:absolute;top:8px;right:8px;width:30px;height:30px;border:1px solid var(--line);background:none;color:var(--muted)}
.notice .hud-button{margin-top:10px;min-height:34px;padding:4px 12px;font-size:.88rem}
.notice.entering{animation:notice .3s var(--ease)}
@keyframes notice{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}

/* ---------- boot ---------- */
.boot{width:min(720px,calc(100vw - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:0;border:1px solid var(--line-hi);color:var(--text);overflow:auto}
.boot.bracketed{--bc:var(--cyan);--bracket:22px;--glass-a:rgba(4,20,30,.97)}
.boot::backdrop{background:radial-gradient(ellipse at 50% 40%,rgba(10,50,70,.6),rgba(1,6,10,.97) 70%)}
.boot-inner{padding:30px 34px 26px}
.boot-title{margin:0;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;font-size:3rem;font-weight:600;letter-spacing:.28em;line-height:1;color:var(--ice);text-shadow:0 0 22px rgba(60,207,242,.55)}
.boot-title small{font-family:var(--mono);font-size:.95rem;font-weight:400;letter-spacing:.1em;color:var(--muted);text-shadow:none}
.boot-lead{margin:14px 0 18px;max-width:60ch;color:var(--muted)}
.boot-checks{list-style:none;margin:0 0 22px;padding:12px 14px;border:1px solid var(--line);background:rgba(2,12,19,.7);font-family:var(--mono);font-size:.9rem;display:grid;gap:5px}
.boot-checks li{display:grid;grid-template-columns:11ch 1fr auto;gap:12px;opacity:1}
.boot-checks li.pending{opacity:0}
.boot-checks span:first-child{color:var(--muted)}
.boot-checks b{font-weight:400;color:var(--cyan)}
.boot-checks li[data-state="attention"] b{color:var(--amber)}
.boot-checks li[data-state="standby"] b{color:var(--slate)}
.boot-actions{display:flex;gap:12px;flex-wrap:wrap}
.boot-enter{min-height:52px;padding:10px 26px;border:1px solid var(--cyan);background:rgba(16,70,95,.7);color:var(--ice);font-size:1.15rem;font-weight:600;letter-spacing:.16em;box-shadow:0 0 22px rgba(60,207,242,.22)}
.boot-enter:hover{background:rgba(26,100,134,.8)}
.boot-quiet{min-height:52px;padding:10px 20px;border:1px solid var(--line);background:none;color:var(--muted);font-size:1.05rem;font-weight:600;letter-spacing:.12em}
.boot-quiet:hover{color:var(--ice);border-color:var(--line-hi)}
.boot-note{margin:18px 0 0;font-size:.86rem;color:var(--slate)}

/* noscript fallback */
.no-script{position:fixed;inset:var(--topbar) 0 0;z-index:70;padding:40px;background:var(--abyss)}
.no-script a{display:block;margin:8px 0;font-size:1.2rem}

/* ---------- preferences ---------- */
body[data-motion="reduced"] .sweep,body[data-motion="reduced"] .panel.unfolding,body[data-motion="reduced"] .notice.entering{animation:none}
.click-feedback{position:fixed;z-index:300;width:30px;height:30px;margin:-15px 0 0 -15px;border:1px solid var(--cyan);border-radius:50%;pointer-events:none;animation:click-ring .45s var(--ease) forwards}
@keyframes click-ring{from{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.4)}}
body[data-motion="reduced"] .click-feedback{display:none}
body[data-contrast="high"]{--glass-a:#020a11;--glass-strong:#01060a;--muted:#c4dde6;--slate:#a6bcc6;--line:#4a9cb8;--text:#ffffff}
body[data-contrast="high"] .sweep path,body[data-contrast="high"] .wordmark,body[data-contrast="high"] .clock time{filter:none;text-shadow:none}

/* ---------- smaller screens ---------- */
@media (max-width:1180px){
  .home{grid-template-columns:minmax(0,1fr) 320px;gap:8px 18px;padding:0 18px 6px}
  .core-callout strong{font-size:.86rem}.core-callout span{font-size:.76rem}
  .chips{gap:6px}.chip{min-height:28px;padding:3px 8px;font-size:.72rem}
  .wordmark{font-size:1.6rem}
  .dock-track{gap:6px}.dock-app{width:72px;height:66px}.dock-app b{font-size:.64rem;letter-spacing:.01em}.dock-app svg{width:24px;height:24px}
}
@media (max-width:980px){
  body{overflow:auto}
  .home{position:relative;inset:auto;top:auto;bottom:auto;margin-top:calc(var(--topbar) + 34px);padding:0 16px 16px;display:flex;flex-direction:column}
  .core{order:1}.command{order:2}.cards{order:3}
  .core-stage{width:min(100%,640px)}
  .cards{overflow:visible;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0;padding-bottom:calc(var(--dock) + 8px)}
  .legal{grid-column:1/-1;justify-content:center;padding:8px 0}
  body.has-window{overflow:hidden}
}
@media (max-width:760px){
  :root{--topbar:56px;--dock:78px}
  .topbar{grid-template-columns:auto 1fr;padding:0 12px;gap:8px}
  .wordmark{font-size:1.35rem;letter-spacing:.16em;gap:9px}
  .wordmark .kyntrix-brand-mark{width:28px;height:28px}
  .boot-title .kyntrix-brand-mark{width:46px;height:46px}
  .wordmark small{display:none}
  .clock{align-items:flex-end}
  .clock time{font-size:1.5rem}
  .clock-tab{display:none}
  .chips{display:none}
  .home{margin-top:calc(var(--topbar) + 12px);padding:0 12px 12px;gap:12px}
  .mobile-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
  .core-stage{aspect-ratio:1/1;width:min(100%,420px);margin:0 auto}
  .core-callout,.leader,.leader-dot{display:none}
  .core-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:min(100%,420px);list-style:none;margin:6px auto 0;padding:0}
  .core-list button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:48px;padding:6px 10px;border:1px solid var(--line);background:rgba(6,27,40,.6);text-align:left}
  .core-list strong{font-family:var(--mono);font-weight:400;font-size:.8rem;letter-spacing:.06em;color:var(--text)}
  .core-list span{font-family:var(--mono);font-size:.76rem;color:var(--cyan)}
  .core-list button[data-state="attention"] span{color:var(--amber)}
  .core-list button[data-state="standby"] span{color:var(--slate)}
  .core{flex-direction:column}
  .cards{grid-template-columns:1fr}
  .hints{display:none}
  .dock{justify-content:flex-start;padding:0 4px;background:rgba(2,10,17,.97);border-top:1px solid var(--line)}
  .dock::after{content:"";position:absolute;right:0;top:0;bottom:0;width:28px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(2,10,17,.95))}
  .dock-track{padding:6px 4px}
  .dock-app{width:70px;height:62px}
  .dock-app svg{width:22px;height:22px}
  .dock-app b{font-size:.62rem}
  #window-layer{inset:var(--topbar) 0 var(--dock)}
  .panel{left:0!important;top:0!important;width:100%!important;height:100%!important;min-width:0}
  .panel-bar{cursor:default}
  .panel .panel-maximize{display:none}
  .monitor{grid-template-columns:1fr;height:auto}
  .monitor-facts{border-left:0;border-top:1px solid var(--line);padding:14px 0 0}
  .setting{grid-template-columns:1fr}.setting p{grid-column:1}
  .notices{top:auto;bottom:calc(var(--dock) + 10px);right:12px}
  #window-layer{inset:var(--topbar) 0 var(--dock)}
  .boot-inner{padding:22px 18px 18px}
  .boot-title{font-size:2.1rem}
  .boot-checks li{grid-template-columns:9ch 1fr auto;font-size:.82rem}
}
@media (min-width:761px){.mobile-chips{display:none}}
