/* kos: desktop shell.
   Identity: a heavy military-industrial chassis (frames, taskbar, boot, lock) carrying a thin intelligence
   layer (reticles, classification tags, telemetry) drawn in a cold steel tone. One warm accent: copper.
   Dark only, by choice: the shell is an operating environment, not a document. */
:root{
  --k-bg:#090a0c; --k-chrome:#111215; --k-chrome-2:#16171b; --k-panel:#141518; --k-panel-2:#1b1c20;
  --k-line:#26272c; --k-line-2:#36373d; --k-fg:#e9e7e3; --k-muted:#8b8a91; --k-dim:#5d5c63;
  --k-accent:#d98650; --k-accent-hi:#f0a26c; --k-accent-fg:#160c05; --k-accent-soft:rgba(217,134,80,.14);
  --k-intel:#86b6c4; --k-intel-soft:rgba(134,182,196,.12);
  --k-good:#41c585; --k-warn:#e8b02e; --k-crit:#f05a5a;
  --k-good-soft:rgba(65,197,133,.13); --k-warn-soft:rgba(232,176,46,.14); --k-crit-soft:rgba(240,90,90,.14);
  --k-display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;
  --k-font:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --k-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --k-bar:50px; --k-title:36px; --k-cut:10px;
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0;overflow:hidden;background:var(--k-bg);color:var(--k-fg);font-family:var(--k-font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--k-accent);outline-offset:2px}
.k-ic{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.k-mono{font-family:var(--k-mono);font-variant-numeric:tabular-nums}
.k-code{font-family:var(--k-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--k-muted)}
.k-hazard{background:repeating-linear-gradient(-45deg,var(--k-accent) 0 6px,transparent 6px 12px)}
.k-cut{clip-path:polygon(0 0,calc(100% - var(--k-cut)) 0,100% var(--k-cut),100% 100%,0 100%)}

/* ---------- root layers ---------- */
.kos{position:fixed;inset:0;display:flex;flex-direction:column;user-select:none}
.kos-desktop{position:relative;flex:1;min-height:0;overflow:hidden}
.kos-wall{position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 70% 40%,rgba(217,134,80,.07),transparent 55%),
    radial-gradient(ellipse at 20% 90%,rgba(134,182,196,.05),transparent 50%),
    linear-gradient(var(--k-bg),var(--k-bg))}
.kos-wall::before{content:"";position:absolute;inset:0;opacity:var(--k-grid,.5);
  background-image:linear-gradient(rgba(134,182,196,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(134,182,196,.05) 1px,transparent 1px);
  background-size:48px 48px;mask:radial-gradient(ellipse at 60% 45%,#000 30%,transparent 80%);-webkit-mask:radial-gradient(ellipse at 60% 45%,#000 30%,transparent 80%)}
.kos-wall-emblem{position:absolute;right:8%;top:50%;transform:translateY(-52%);width:min(40vw,560px);display:flex;flex-direction:column;align-items:center;gap:26px}
.kos-eye.wall{width:100%;height:auto;color:var(--k-accent);opacity:.16;stroke-width:1.1;filter:drop-shadow(0 0 24px rgba(217,134,80,.25))}
.kos-wall-word{text-align:center;line-height:1}
.kos-wall-word b{display:block;font-family:var(--k-display);font-weight:700;font-size:clamp(40px,6vw,88px);letter-spacing:.42em;margin-right:-.42em;color:rgba(233,231,227,.07)}
.kos-wall-word small{display:block;margin-top:12px;font-family:var(--k-mono);font-size:11px;letter-spacing:.6em;margin-right:-.6em;color:rgba(134,182,196,.35)}
.kos-wall-tag{position:absolute;font-family:var(--k-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--k-dim)}
.kos-wall-tag.tl{top:16px;right:20px;text-align:right}
.kos-wall-tag.br{bottom:14px;right:20px;text-align:right}
.kos-wall-tag b{color:var(--k-intel);font-weight:500}


/* desktop icons */
.kos-icons{position:absolute;left:14px;top:14px;bottom:14px;display:flex;flex-direction:column;flex-wrap:wrap;align-content:flex-start;gap:6px}
.kos-dicon{width:92px;padding:10px 4px 8px;border:1px solid transparent;background:none;display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--k-fg);border-radius:2px}
.kos-dicon .glyph{width:46px;height:46px;display:grid;place-items:center;background:var(--k-chrome);border:1px solid var(--k-line-2);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,0 100%)}
.kos-dicon .glyph .k-ic{width:22px;height:22px;color:var(--k-accent)}
.kos-dicon span{font-size:12px;font-weight:600;text-align:center;line-height:1.2;text-shadow:0 1px 2px #000}
.kos-dicon:hover{background:rgba(255,255,255,.04)}
.kos-dicon.is-sel{background:var(--k-accent-soft);border-color:rgba(217,134,80,.45)}

/* ---------- windows ---------- */
.kos-windows{position:absolute;inset:0}
.kos-windows{pointer-events:none}
.kos-win{position:absolute;display:flex;flex-direction:column;background:var(--k-panel);border:1px solid var(--k-line-2);box-shadow:0 18px 50px rgba(0,0,0,.55),0 2px 6px rgba(0,0,0,.4);min-width:320px;min-height:200px;pointer-events:auto;transform-origin:50% 60%}
.kos-win.is-anim{transition:left .26s cubic-bezier(.2,.8,.2,1),top .26s cubic-bezier(.2,.8,.2,1),width .26s cubic-bezier(.2,.8,.2,1),height .26s cubic-bezier(.2,.8,.2,1)}
.kos-win.is-min{visibility:hidden;pointer-events:none}
.kos-scan{position:absolute;left:0;right:0;top:var(--k-title);height:2px;z-index:5;pointer-events:none;background:linear-gradient(90deg,transparent,var(--k-intel) 20%,var(--k-intel) 80%,transparent);box-shadow:0 0 12px var(--k-intel);opacity:0;animation:kos-scan .8s cubic-bezier(.4,0,.2,1) .08s}
@keyframes kos-scan{0%{opacity:.0;transform:translateY(0)}12%{opacity:.75}100%{opacity:0;transform:translateY(calc(var(--h,480px)))}}
.kos-win.is-focus{border-color:#4a4038;box-shadow:0 24px 70px rgba(0,0,0,.65),0 0 0 1px rgba(217,134,80,.18)}
.kos-win.is-max,.kos-win.is-left,.kos-win.is-right{border-radius:0}
.kos-win-bar{height:var(--k-title);flex:none;display:flex;align-items:stretch;background:var(--k-chrome);border-bottom:1px solid var(--k-line);cursor:default;touch-action:none}
.kos-win-ico{width:44px;display:grid;place-items:center;background:var(--k-chrome-2);color:var(--k-muted);clip-path:polygon(0 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%)}
.kos-win.is-focus .kos-win-ico{background:var(--k-accent);color:var(--k-accent-fg)}
.kos-win-ico .k-ic{width:16px;height:16px}
.kos-win-title{display:flex;align-items:center;gap:12px;padding:0 12px;min-width:0;flex:1}
.kos-win-title b{font-family:var(--k-display);font-weight:600;font-size:15.5px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--k-muted)}
.kos-win.is-focus .kos-win-title b{color:var(--k-fg)}
.kos-win-title .k-code{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kos-win.is-focus .kos-win-title .k-code{color:var(--k-intel)}
.kos-win-btns{display:flex}
.kos-win-btns button{width:42px;border:0;background:none;color:var(--k-muted);display:grid;place-items:center}
.kos-win-btns button:hover{background:var(--k-panel-2);color:var(--k-fg)}
.kos-win-btns button.x:hover{background:var(--k-crit);color:#fff}
.kos-win-btns .k-ic{width:14px;height:14px;stroke-width:2}
.kos-win-body{flex:1;min-height:0;overflow:auto;position:relative;user-select:text}
.kos-win.is-loading .kos-win-body{opacity:.55;cursor:progress;transition:opacity .2s .15s}
.kos-win.is-loading .kos-win-bar{background-image:linear-gradient(90deg,transparent,var(--k-accent-soft),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:kos-load 1.1s linear infinite}
@keyframes kos-load{from{background-position:-40% 0}to{background-position:140% 0}}
.kos-win-shield{position:absolute;inset:var(--k-title) 0 0 0;z-index:3}
/* intelligence layer on the focused window */
.kos-ret{position:absolute;width:14px;height:14px;pointer-events:none;opacity:0;transition:opacity .2s}
.kos-win.is-focus .kos-ret{opacity:1}
.kos-ret.tl{left:-5px;top:-5px;border-left:1px solid var(--k-intel);border-top:1px solid var(--k-intel)}
.kos-ret.tr{right:-5px;top:-5px;border-right:1px solid var(--k-intel);border-top:1px solid var(--k-intel)}
.kos-ret.bl{left:-5px;bottom:-5px;border-left:1px solid var(--k-intel);border-bottom:1px solid var(--k-intel)}
.kos-ret.br{right:-5px;bottom:-5px;border-right:1px solid var(--k-intel);border-bottom:1px solid var(--k-intel)}
.kos-win.is-max .kos-ret,.kos-win.is-left .kos-ret,.kos-win.is-right .kos-ret{display:none}
.kos-win-tag{position:absolute;right:10px;top:calc(100% + 4px);font-family:var(--k-mono);font-size:9.5px;letter-spacing:.16em;color:var(--k-intel);opacity:0;pointer-events:none;white-space:nowrap}
.kos-win.is-focus.is-normal .kos-win-tag{opacity:.75}
/* resize handles */
.kos-rz{position:absolute;z-index:4;touch-action:none}
.kos-rz[data-rz="n"]{top:-4px;left:8px;right:8px;height:8px;cursor:ns-resize}
.kos-rz[data-rz="s"]{bottom:-4px;left:8px;right:8px;height:8px;cursor:ns-resize}
.kos-rz[data-rz="e"]{right:-4px;top:8px;bottom:8px;width:8px;cursor:ew-resize}
.kos-rz[data-rz="w"]{left:-4px;top:8px;bottom:8px;width:8px;cursor:ew-resize}
.kos-rz[data-rz="ne"]{right:-5px;top:-5px;width:14px;height:14px;cursor:nesw-resize}
.kos-rz[data-rz="nw"]{left:-5px;top:-5px;width:14px;height:14px;cursor:nwse-resize}
.kos-rz[data-rz="se"]{right:-5px;bottom:-5px;width:14px;height:14px;cursor:nwse-resize}
.kos-rz[data-rz="sw"]{left:-5px;bottom:-5px;width:14px;height:14px;cursor:nesw-resize}
.kos-win.is-max .kos-rz,.kos-win.is-left .kos-rz,.kos-win.is-right .kos-rz{display:none}
/* snap preview */
.kos-snap{position:absolute;z-index:99990;pointer-events:none;border:1px solid var(--k-accent);background:rgba(217,134,80,.08);transition:all .14s ease;opacity:0}
.kos-snap.on{opacity:1}
.kos-snap::after{content:attr(data-label);position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:var(--k-mono);font-size:11px;letter-spacing:.2em;color:var(--k-accent)}
body.kos-dragging,body.kos-dragging *{cursor:grabbing!important}
body.kos-resizing .kos-win-body,body.kos-dragging .kos-win-body{pointer-events:none}

/* ---------- taskbar ---------- */
.kos-taskbar{height:var(--k-bar);flex:none;display:flex;align-items:stretch;background:var(--k-chrome);border-top:1px solid var(--k-line-2);position:relative;z-index:100000}
.kos-taskbar::before{content:"";position:absolute;left:0;top:-1px;width:164px;height:3px}
.kos-start{display:flex;align-items:center;gap:10px;padding:0 18px 0 14px;border:0;background:var(--k-accent);color:var(--k-accent-fg);clip-path:polygon(0 0,100% 0,calc(100% - 14px) 100%,0 100%);padding-right:28px}
.kos-start:hover,.kos-start[aria-expanded="true"]{background:var(--k-accent-hi)}
.kos-start b{font-family:var(--k-display);font-weight:700;font-size:17px;letter-spacing:.18em}
.kos-eye.start{width:30px;height:18px;stroke-width:9}
.kos-tasks{display:flex;align-items:stretch;gap:2px;padding:0 10px;flex:1;min-width:0;overflow:hidden}
.kos-task{position:relative;display:flex;align-items:center;gap:9px;padding:0 12px;border:0;background:none;color:var(--k-muted);max-width:190px;min-width:46px}
.kos-task .k-ic{width:18px;height:18px}
.kos-task span{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kos-task:hover{background:var(--k-chrome-2);color:var(--k-fg)}
.kos-task.is-run{color:var(--k-fg)}
.kos-task.is-run::after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--k-line-2)}
.kos-task.is-active{background:var(--k-chrome-2)}
.kos-task.is-active::after{background:var(--k-accent);left:6px;right:6px}
.kos-task em{font-style:normal;font-family:var(--k-mono);font-size:10px;color:var(--k-accent)}
.kos-task.is-pin:not(.is-run) span{display:none}
.kos-task-sep{width:1px;background:var(--k-line);margin:12px 4px}
.kos-tray{display:flex;align-items:stretch;border-left:1px solid var(--k-line)}
.kos-tele{display:flex;align-items:center;gap:14px;padding:0 14px;font-family:var(--k-mono);font-size:10.5px;letter-spacing:.06em;color:var(--k-muted)}
.kos-tele span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.kos-tele i{width:6px;height:6px;border-radius:50%;background:var(--k-good)}
.kos-tele i.warn{background:var(--k-warn)}.kos-tele i.crit{background:var(--k-crit)}
.kos-tele b{color:var(--k-intel);font-weight:500}
.kos-tray-btn{width:44px;border:0;background:none;color:var(--k-muted);display:grid;place-items:center;position:relative}
.kos-tray-btn:hover,.kos-tray-btn[aria-expanded="true"]{background:var(--k-chrome-2);color:var(--k-fg)}
.kos-tray-btn .n{position:absolute;top:8px;right:7px;min-width:15px;height:15px;padding:0 3px;font-family:var(--k-mono);font-size:9.5px;font-weight:600;background:var(--k-accent);color:var(--k-accent-fg);display:grid;place-items:center}
.kos-clock{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:0 16px;border:0;background:none;color:var(--k-fg);min-width:96px}
.kos-clock:hover{background:var(--k-chrome-2)}
.kos-clock b{font-family:var(--k-display);font-size:19px;font-weight:600;letter-spacing:.06em;line-height:1}
.kos-clock small{font-family:var(--k-mono);font-size:9.5px;letter-spacing:.12em;color:var(--k-muted);margin-top:3px}
.kos-pop{position:absolute;bottom:calc(100% + 6px);background:var(--k-chrome);border:1px solid var(--k-line-2);box-shadow:0 16px 40px rgba(0,0,0,.6);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:220px;z-index:5}
.kos-pop button{display:flex;align-items:center;gap:9px;padding:9px 10px;border:0;background:none;text-align:left;font-weight:600;font-size:13px}
.kos-pop button:hover{background:var(--k-panel-2)}
.kos-pop .k-code{padding:6px 10px 4px}

/* ---------- panels above the taskbar: launcher, notification center ---------- */
.kos-panel{position:absolute;bottom:calc(var(--k-bar) + 8px);z-index:100001;background:var(--k-chrome);border:1px solid var(--k-line-2);box-shadow:0 24px 70px rgba(0,0,0,.7);display:flex;flex-direction:column;max-height:calc(100% - var(--k-bar) - 24px)}
.kos-panel-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--k-line)}
.kos-panel-h h2{margin:0;font-family:var(--k-display);font-weight:600;font-size:17px;letter-spacing:.1em;text-transform:uppercase}
.kos-panel-h .sp{flex:1}
.kos-launch{left:8px;width:min(620px,calc(100vw - 16px))}
.kos-launch .kos-hz{height:4px}
.kos-launch-brand{display:flex;align-items:center;gap:14px;padding:14px 16px 12px;border-bottom:1px solid var(--k-line)}
.kos-eye.menu{width:46px;height:28px;flex:none;color:var(--k-accent);stroke-width:6}
.kos-launch-brand b{display:block;font-family:var(--k-display);font-weight:700;font-size:20px;letter-spacing:.3em;line-height:1}
.kos-launch-brand small{display:block;margin-top:4px;font-family:var(--k-mono);font-size:9.5px;letter-spacing:.4em;color:var(--k-intel)}
.kos-launch-brand .k-code{margin-left:auto;text-align:right}
.kos-search{display:flex;align-items:center;gap:10px;padding:0 16px;border-bottom:1px solid var(--k-line);background:var(--k-panel)}
.kos-search .k-ic{color:var(--k-accent)}
.kos-search input{flex:1;min-width:0;height:52px;background:none;border:0;outline:0;font-size:16px;user-select:text}
.kos-launch-body{overflow-y:auto;padding:10px 12px 14px;display:flex;flex-direction:column;gap:6px;min-height:0}
.kos-launch-sec{padding:10px 6px 6px}
.kos-agrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.kos-app{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 6px 12px;border:1px solid transparent;background:none;text-align:center}
.kos-app .glyph{width:42px;height:42px;display:grid;place-items:center;background:var(--k-panel-2);border:1px solid var(--k-line-2);clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%)}
.kos-app .glyph .k-ic{width:20px;height:20px;color:var(--k-accent)}
.kos-app span{font-size:12.5px;font-weight:600;line-height:1.2}
.kos-app:hover,.kos-app.is-cur{background:var(--k-panel-2);border-color:var(--k-line-2)}
.kos-rows{display:flex;flex-direction:column;gap:1px}
.kos-row{display:flex;align-items:center;gap:11px;padding:8px 10px;border:0;background:none;text-align:left;width:100%}
.kos-row .k-ic{color:var(--k-muted);width:16px;height:16px}
.kos-row b{font-weight:600;font-size:13.5px}
.kos-row small{margin-left:auto;font-family:var(--k-mono);font-size:10.5px;color:var(--k-muted);white-space:nowrap}
.kos-row i.dot{width:7px;height:7px;border-radius:50%;flex:none}
.kos-row:hover,.kos-row.is-cur{background:var(--k-panel-2)}
.kos-row.is-cur{box-shadow:inset 2px 0 0 var(--k-accent)}
.kos-launch-foot{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--k-line);background:var(--k-panel)}
.kos-me{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.kos-avatar{width:32px;height:32px;display:grid;place-items:center;background:var(--k-panel-2);border:1px solid var(--k-line-2);font-family:var(--k-mono);font-size:11px;font-weight:600;clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,0 100%)}
.kos-me b{display:block;font-size:13px}
.kos-me small{color:var(--k-muted);font-size:11.5px}
.kos-ibtn{width:36px;height:36px;border:1px solid var(--k-line);background:var(--k-chrome);display:grid;place-items:center;color:var(--k-muted)}
.kos-ibtn:hover{border-color:var(--k-accent);color:var(--k-fg)}
.kos-ibtn .k-ic{width:16px;height:16px}
.kos-empty{padding:22px 10px;color:var(--k-muted);text-align:center}
.kos-notes{right:8px;width:min(400px,calc(100vw - 16px))}
.kos-note-list{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px;min-height:0}
.kos-note{display:flex;gap:11px;padding:11px 12px;background:var(--k-panel);border:1px solid var(--k-line);border-left:2px solid var(--k-intel);text-align:left;width:100%}
.kos-note.warn{border-left-color:var(--k-warn)}.kos-note.crit{border-left-color:var(--k-crit)}
.kos-note .k-ic{width:16px;height:16px;margin-top:2px;color:var(--k-intel)}
.kos-note.warn .k-ic{color:var(--k-warn)}.kos-note.crit .k-ic{color:var(--k-crit)}
.kos-note b{display:block;font-size:13.5px}
.kos-note p{margin:2px 0 0;color:var(--k-muted);font-size:12.5px}
.kos-note time{margin-left:auto;font-family:var(--k-mono);font-size:10px;color:var(--k-dim);white-space:nowrap;padding-left:8px}
.kos-note.is-new{background:var(--k-panel-2)}
.kos-linkbtn{border:0;background:none;color:var(--k-accent);font-weight:600;font-size:12.5px;padding:4px 6px}
.kos-linkbtn:hover{text-decoration:underline}

/* toasts */
.kos-toasts{position:absolute;right:12px;bottom:calc(var(--k-bar) + 12px);z-index:100002;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none}
.kos-toast{pointer-events:auto;width:340px;max-width:calc(100vw - 24px);background:var(--k-chrome);border:1px solid var(--k-line-2);box-shadow:0 14px 40px rgba(0,0,0,.6);display:flex;flex-direction:column;animation:kos-in .22s ease;cursor:pointer}
.kos-toast .bar{height:3px;background:var(--k-intel)}
.kos-toast.warn .bar{background:var(--k-warn)}.kos-toast.crit .bar{background:repeating-linear-gradient(-45deg,var(--k-crit) 0 6px,transparent 6px 12px)}
.kos-toast .in{display:flex;gap:11px;padding:12px 14px}
.kos-toast .k-ic{color:var(--k-intel);margin-top:2px}
.kos-toast.warn .k-ic{color:var(--k-warn)}.kos-toast.crit .k-ic{color:var(--k-crit)}
.kos-toast b{display:block;font-size:13.5px}
.kos-toast p{margin:2px 0 0;font-size:12.5px;color:var(--k-muted)}
.kos-toast .k-code{display:block;margin-bottom:3px}
.kos-toast.out{animation:kos-out .2s ease forwards}
@keyframes kos-in{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
@keyframes kos-out{to{opacity:0;transform:translateX(16px)}}

/* ---------- full screens: boot, lock, off ---------- */
.kos[data-state="boot"] .kos-desktop,.kos[data-state="boot"] .kos-taskbar{visibility:hidden}
.kos-screen{position:fixed;inset:0;z-index:200000;background:var(--k-bg);display:flex;flex-direction:column;transition:opacity .45s ease}
.kos-screen.out{opacity:0;pointer-events:none}
.kos-scr-top,.kos-scr-bot{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;font-family:var(--k-mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--k-dim);gap:16px}
.kos-scr-top b{color:var(--k-intel);font-weight:500}
.kos-scr-bot{border-top:1px solid var(--k-line)}
.kos-scr-hz{height:6px}
/* boot */
.kos-boot{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px) minmax(0,1fr);gap:24px;padding:0 24px;align-items:center}
.kos-post{align-self:stretch;overflow:hidden;font-family:var(--k-mono);font-size:10.5px;line-height:1.75;color:var(--k-dim);padding-top:20px;mask:linear-gradient(transparent,#000 12%,#000 80%,transparent);-webkit-mask:linear-gradient(transparent,#000 12%,#000 80%,transparent);display:flex;flex-direction:column;justify-content:flex-end}
.kos-post div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kos-post .ok{color:var(--k-intel)}
.kos-boot-core{display:flex;flex-direction:column;gap:26px}
.kos-logo{display:flex;align-items:center;gap:20px}
.kos-boot-screen{z-index:200010}
.kos-eye.boot{width:118px;height:71px;flex:none;color:var(--k-accent);stroke-width:4.2}
.kos-eye.boot .d{stroke-dasharray:100;stroke-dashoffset:100;animation:kos-draw 1s cubic-bezier(.6,0,.2,1) forwards}
.kos-eye.boot .d2{animation-delay:.25s}
.kos-eye.boot .f{opacity:0;animation:kos-fade .45s ease .95s forwards}
.kos-slot{position:relative;height:74px;overflow:hidden;border-top:1px solid var(--k-line);border-bottom:1px solid var(--k-line)}
.kos-cur{position:absolute;inset:0;display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:14px;row-gap:5px;align-content:center;animation:kos-slot-in .32s cubic-bezier(.2,.8,.2,1)}
.kos-cur.out{animation:kos-slot-out .26s ease-in forwards}
.kos-cur .ix{font-family:var(--k-mono);font-size:11px;color:var(--k-intel);letter-spacing:.08em;align-self:center}
.kos-cur .lbl{font-family:var(--k-display);font-size:24px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kos-cur .st{font-family:var(--k-mono);font-size:11px;letter-spacing:.14em;align-self:center;text-align:right}
.kos-cur .st.run{color:var(--k-accent)}
.kos-cur .st.run::after{content:"";display:inline-block;width:6px;height:11px;margin-left:5px;background:var(--k-accent);vertical-align:-1px;animation:kos-blink 1s steps(2) infinite}
.kos-cur .st.ok{color:var(--k-good)}.kos-cur .st.warn{color:var(--k-warn)}.kos-cur .st.fail{color:var(--k-crit)}
.kos-cur .det{grid-column:2 / -1;font-family:var(--k-mono);font-size:11px;color:var(--k-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:1em}
@keyframes kos-slot-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes kos-slot-out{to{opacity:0;transform:translateY(-22px)}}
@keyframes kos-draw{to{stroke-dashoffset:0}}
@keyframes kos-fade{to{opacity:1}}
.kos-word b{display:block;font-family:var(--k-display);font-weight:700;font-size:52px;letter-spacing:.3em;line-height:1;opacity:0;animation:kos-track 1.1s cubic-bezier(.2,.7,.2,1) .4s forwards}
.kos-word small{display:block;margin-top:8px;font-family:var(--k-mono);font-size:10.5px;letter-spacing:.32em;color:var(--k-muted);opacity:0;animation:kos-fade .6s ease 1s forwards}
@keyframes kos-track{from{opacity:0;letter-spacing:.6em}to{opacity:1;letter-spacing:.3em}}
.kos-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.kos-step{display:grid;grid-template-columns:28px minmax(0,1fr) auto 64px;gap:12px;align-items:baseline;padding:5px 0;font-size:13.5px;color:var(--k-dim);transition:color .2s}
.kos-step .ix{font-family:var(--k-mono);font-size:10.5px;color:var(--k-dim)}
.kos-step .lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kos-step .ms{font-family:var(--k-mono);font-size:10.5px;color:var(--k-dim);text-align:right}
.kos-step .st{font-family:var(--k-mono);font-size:10.5px;letter-spacing:.12em;text-align:right}
.kos-step.run{color:var(--k-fg)}
.kos-step.run .st{color:var(--k-accent)}
.kos-step.run .st::after{content:"";display:inline-block;width:6px;height:10px;margin-left:4px;background:var(--k-accent);vertical-align:-1px;animation:kos-blink 1s steps(2) infinite}
.kos-step.ok,.kos-step.warn,.kos-step.fail{color:var(--k-muted)}
.kos-step.ok .st{color:var(--k-good)}.kos-step.warn .st{color:var(--k-warn)}.kos-step.fail .st{color:var(--k-crit)}
.kos-step .det{grid-column:2 / -1;font-family:var(--k-mono);font-size:10.5px;color:var(--k-dim);margin-top:-2px}
@keyframes kos-blink{50%{opacity:0}}
.kos-prog{display:flex;gap:3px;height:8px}
.kos-prog i{flex:1;background:var(--k-line);transition:background .2s}
.kos-prog i.on{background:var(--k-accent)}
.kos-prog-meta{display:flex;justify-content:space-between;font-family:var(--k-mono);font-size:10.5px;letter-spacing:.14em;color:var(--k-muted);margin-top:8px}
.kos-boot-side{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:10px;font-family:var(--k-mono);font-size:10.5px;letter-spacing:.12em;color:var(--k-dim);text-transform:uppercase}
.kos-boot-side b{color:var(--k-intel);font-weight:500}
.kos-skip{border:1px solid var(--k-line-2);background:none;color:var(--k-muted);font-family:var(--k-mono);font-size:10.5px;letter-spacing:.16em;padding:6px 10px;text-transform:uppercase}
.kos-skip:hover{border-color:var(--k-accent);color:var(--k-fg)}
/* lock */
.kos-lock-eye{position:absolute;left:50%;top:50%;width:min(56vw,760px);transform:translate(-50%,-50%);pointer-events:none}
.kos-lock-eye .kos-eye{width:100%;height:auto;color:var(--k-intel);opacity:.07;stroke-width:.8}
.kos-lock-time,.kos-card{position:relative}
.kos-lock{flex:1;min-height:0;position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;padding:0 7vw;gap:40px}
.kos-lock-time b{display:block;font-family:var(--k-display);font-weight:600;font-size:clamp(90px,13vw,180px);line-height:.85;letter-spacing:.02em}
.kos-lock-time small{display:block;margin-top:14px;font-family:var(--k-display);font-size:24px;letter-spacing:.14em;text-transform:uppercase;color:var(--k-muted)}
.kos-lock-time .k-code{display:block;margin-top:26px;color:var(--k-intel)}
.kos-card{background:var(--k-chrome);border:1px solid var(--k-line-2);padding:26px;display:flex;flex-direction:column;gap:18px;max-width:420px;width:100%;justify-self:end;position:relative}
.kos-card::before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:4px}
.kos-card-user{display:flex;align-items:center;gap:14px}
.kos-card-user .kos-avatar{width:54px;height:54px;font-size:15px}
.kos-card-user b{display:block;font-family:var(--k-display);font-size:24px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.kos-card-user small{color:var(--k-muted)}
.kos-card dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 16px;font-size:12.5px}
.kos-card dt{color:var(--k-muted)}
.kos-card dd{margin:0;font-family:var(--k-mono);font-size:11.5px;text-align:right}
.kos-primary{display:flex;align-items:center;justify-content:center;gap:10px;height:46px;border:0;background:var(--k-accent);color:var(--k-accent-fg);font-family:var(--k-display);font-weight:700;font-size:17px;letter-spacing:.16em;text-transform:uppercase;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,0 100%)}
.kos-primary:hover{background:var(--k-accent-hi)}
.kos-hint{font-family:var(--k-mono);font-size:10.5px;letter-spacing:.14em;color:var(--k-dim);text-align:center;text-transform:uppercase}
.kos-off{flex:1;display:grid;place-items:center;text-align:center}
.kos-off b{display:block;font-family:var(--k-display);font-size:28px;letter-spacing:.3em;color:var(--k-muted);margin-bottom:22px}

.kos.reduce-motion *,.kos.reduce-motion *::before,.kos.reduce-motion *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition:none!important}

/* scrollbars */
*{scrollbar-width:thin;scrollbar-color:var(--k-line-2) transparent}
::-webkit-scrollbar{width:9px;height:9px}
::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:transparent}
::-webkit-scrollbar-thumb{background:var(--k-line-2);border:2px solid transparent;background-clip:content-box;border-radius:0}
::-webkit-scrollbar-thumb:hover{background:var(--k-accent);background-clip:content-box}

/* ---------- app kit: menu bar, menus, dialogs, preference forms ---------- */
.kos-win-menu{display:flex;align-items:stretch;height:30px;flex:none;padding:0 6px;background:var(--k-chrome-2);border-bottom:1px solid var(--k-line)}
.kos-win-menu button{border:0;background:none;padding:0 10px;font-size:12.5px;font-weight:600;color:var(--k-muted);position:relative}
.kos-win-menu button:hover,.kos-win-menu button[aria-expanded="true"]{color:var(--k-fg);background:var(--k-panel-2)}
.kos-win-menu button[aria-expanded="true"]::after{content:"";position:absolute;left:6px;right:6px;bottom:0;height:2px;background:var(--k-accent)}
.kos-win.is-focus .kos-win-menu button{color:#b4b3b9}
.kos-menu{position:absolute;z-index:20;min-width:240px;padding:5px;background:var(--k-chrome);border:1px solid var(--k-line-2);box-shadow:0 16px 40px rgba(0,0,0,.6);display:flex;flex-direction:column;gap:1px}
.kos-menu button{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;padding:8px 12px 8px 6px;border:0;background:none;text-align:left;font-size:13px;font-weight:500}
.kos-menu button:hover:not([disabled]),.kos-menu button:focus-visible{background:var(--k-panel-2);outline:0;box-shadow:inset 2px 0 0 var(--k-accent)}
.kos-menu button[disabled]{opacity:.38;cursor:default}
.kos-menu .ck{display:grid;place-items:center;color:var(--k-accent)}
.kos-menu .ck .k-ic{width:13px;height:13px;stroke-width:2.6}
.kos-menu .kb{font-family:var(--k-mono);font-size:10.5px;color:var(--k-dim);padding-left:18px}
.kos-menu .sep{display:block;height:1px;background:var(--k-line);margin:4px 6px}
.kos-dlg-back{position:absolute;inset:calc(var(--k-title) + 1px) 0 0 0;z-index:30;background:rgba(6,7,8,.62);display:grid;place-items:center;padding:16px;overflow:auto}
.kos-dlg{position:relative;background:var(--k-chrome);border:1px solid var(--k-line-2);box-shadow:0 24px 60px rgba(0,0,0,.7);display:flex;flex-direction:column;max-height:100%}
.kos-dlg-hz{height:4px}
.kos-dlg header{padding:16px 20px 12px;border-bottom:1px solid var(--k-line)}
.kos-dlg header h2{margin:4px 0 0;font-family:var(--k-display);font-size:22px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.kos-dlg-body{padding:6px 20px 14px;overflow:auto;min-height:0}
.kos-dlg footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--k-line);background:var(--k-panel)}
.kos-btn{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 14px;border:1px solid var(--k-line-2);background:var(--k-chrome);font-weight:700;font-size:12.5px}
.kos-btn:hover{border-color:var(--k-accent)}
.kos-btn.primary{background:var(--k-accent);border-color:var(--k-accent);color:var(--k-accent-fg);text-transform:uppercase;letter-spacing:.08em;font-size:11.5px;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,0 100%);padding-right:18px}
.kos-btn.danger{color:var(--k-crit)}
.kos-form{display:flex;flex-direction:column}
.kos-row-f{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px 0;border-bottom:1px solid var(--k-line)}
.kos-row-f:last-child{border-bottom:0}
.kos-row-f b{display:block;font-size:13.5px}
.kos-row-f small{display:block;color:var(--k-muted);font-size:12px;margin-top:2px;max-width:46ch}
.kos-seg{display:inline-flex;background:var(--k-panel);border:1px solid var(--k-line);padding:2px;gap:2px;flex-wrap:wrap}
.kos-seg button{border:0;background:none;padding:5px 10px;font-family:var(--k-mono);font-size:11px;font-weight:600;color:var(--k-muted)}
.kos-seg button[aria-checked="true"]{background:var(--k-panel-2);color:var(--k-fg);box-shadow:inset 0 -2px 0 var(--k-accent)}
.kos-sw{width:38px;height:21px;border-radius:99px;background:var(--k-panel-2);border:1px solid var(--k-line-2);position:relative;padding:0}
.kos-sw::after{content:"";position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--k-muted);transition:transform .15s}
.kos-sw[aria-checked="true"]{background:var(--k-accent);border-color:var(--k-accent)}
.kos-sw[aria-checked="true"]::after{transform:translateX(17px);background:var(--k-accent-fg)}
.kos-num{width:90px;height:30px;padding:0 8px;background:var(--k-panel);border:1px solid var(--k-line-2);font-family:var(--k-mono)}
.kos-num:focus{outline:0;border-color:var(--k-accent)}
.kos-about{display:flex;gap:16px;padding:10px 0}
.kos-about>.k-ic{width:40px;height:40px;color:var(--k-accent);flex:none}
.kos-about p{margin:0 0 10px;color:var(--k-muted)}
.kos-about dl,.kos-keys{margin:0;display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:12.5px}
.kos-about dt{color:var(--k-muted)}
.kos-about dd{margin:0;font-family:var(--k-mono)}
.kos-keys{display:flex;flex-direction:column;gap:0}
.kos-keys div{display:flex;justify-content:space-between;gap:14px;padding:7px 0;border-bottom:1px solid var(--k-line)}
.kos-keys dd{margin:0;color:var(--k-muted)}
.kos-keys kbd{font-family:var(--k-mono);font-size:11px;padding:1px 6px;border:1px solid var(--k-line-2);background:var(--k-panel)}
.kos-row.kos-lab b::after{content:"";display:inline-block;width:18px}

.kos-row.kos-mode{background:linear-gradient(90deg,rgba(217,134,80,.12),transparent 70%)}
.kos-row.kos-mode .k-ic{color:var(--k-accent)}
.kos-row.kos-mode small{color:var(--k-accent)}
