/* ============================================================
   eXopera OS — shell styling + light/dark theming
   Theme tokens live here; brand.css supplies fonts + blue/orange scales.
   [data-theme="dark"] (default) · [data-theme="light"]
   ============================================================ */

:root, [data-theme="dark"]{
  --bg:#060a18; --bg-2:#080d20;
  --wall-1:rgba(46,99,224,.26); --wall-2:rgba(240,138,28,.10); --wall-3:rgba(27,70,176,.16);
  --win:rgba(13,21,52,.86); --win-solid:#0c1330;
  --win-bar:rgba(255,255,255,.035);
  --content:rgba(9,14,34,.6); --content-solid:#0a1024;
  --line:rgba(140,164,235,.14); --line-2:rgba(140,164,235,.24);
  --text:#eaf0ff; --text-soft:#c3cdec; --muted:#8492bd; --muted-2:#5d6a93;
  --good:#36c98b; --bad:#ff6b6b; --warn:#ffc24b;
  --surface:rgba(255,255,255,.04); --surface-2:rgba(255,255,255,.025);
  --grid-line:rgba(140,164,235,.10);
  --shadow:0 40px 100px -34px rgba(0,0,0,.92);
  --blur:18px;
}
[data-theme="light"]{
  --bg:#eef2fb; --bg-2:#e6ecf8;
  --wall-1:rgba(46,99,224,.16); --wall-2:rgba(240,138,28,.10); --wall-3:rgba(46,99,224,.08);
  --win:rgba(255,255,255,.82); --win-solid:#ffffff;
  --win-bar:rgba(20,40,90,.04);
  --content:rgba(255,255,255,.7); --content-solid:#ffffff;
  --line:rgba(30,60,130,.13); --line-2:rgba(30,60,130,.22);
  --text:#11203f; --text-soft:#33446b; --muted:#5e6e92; --muted-2:#8694b4;
  --good:#13a06a; --bad:#e0413f; --warn:#d98a14;
  --surface:rgba(20,50,120,.05); --surface-2:rgba(20,50,120,.03);
  --grid-line:rgba(30,60,130,.07);
  --shadow:0 40px 90px -38px rgba(20,40,90,.45);
  --blur:18px;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  background:var(--bg); color:var(--text);
  font-family:var(--font-body); font-size:15px; line-height:1.55;
  -webkit-font-smoothing:antialiased; overflow:hidden; user-select:none;
  transition:background .4s var(--ease), color .4s var(--ease);
}
img{display:block;max-width:100%}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
a{color:inherit;text-decoration:none}
.mono{font-family:var(--font-mono)}

/* ---------- wallpaper ---------- */
#wall{position:fixed;inset:0;z-index:0;overflow:hidden}
#wall::before{content:'';position:absolute;inset:0;
  background:
    radial-gradient(1200px 820px at 16% -8%, var(--wall-1), transparent 60%),
    radial-gradient(1000px 760px at 100% 110%, var(--wall-2), transparent 58%),
    radial-gradient(900px 720px at 60% 48%, var(--wall-3), transparent 62%);}
#wallnet{position:absolute;inset:0;opacity:.9}
.wp-mark{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:min(38vw,340px);opacity:.05;filter:blur(.3px)}

/* ---------- menubar ---------- */
.menubar{position:fixed;top:0;left:0;right:0;height:46px;z-index:500;display:flex;align-items:center;gap:16px;padding:0 14px;
  background:var(--win);backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid var(--line)}
.mb-brand{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:600;font-size:14px}
.mb-brand img{height:21px}
[data-theme="light"] .mb-brand img{filter:none}
.mb-brand .os{color:var(--muted);font-weight:500}
.mb-menus{display:flex;gap:1px}
.mb-menu{font-size:13px;color:var(--text-soft);padding:5px 10px;border-radius:7px;transition:.15s}
.mb-menu:hover{background:var(--surface);color:var(--text)}
.mb-sp{flex:1}
.mb-cmd{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:6px 11px;min-width:210px;font-family:var(--font-mono);transition:.2s}
.mb-cmd:hover{border-color:var(--line-2);color:var(--text-soft)}
.mb-cmd svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8}
.mb-cmd .kbd{margin-left:auto;font-size:11px;border:1px solid var(--line-2);border-radius:5px;padding:1px 6px}
.mb-right{display:flex;align-items:center;gap:12px}
.mb-status{display:flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;color:var(--muted)}
.mb-status .d{width:7px;height:7px;border-radius:50%;background:var(--good)}
@media (prefers-reduced-motion:no-preference){.mb-status .d{animation:opx 2.4s infinite}}
@keyframes opx{0%,100%{opacity:1}50%{opacity:.4}}
.mb-clock{font-family:var(--font-mono);font-size:12px;color:var(--text-soft);min-width:50px;text-align:right}
.iconbtn{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;color:var(--text-soft);transition:.2s}
.iconbtn:hover{background:var(--surface)}
.iconbtn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8}
.langt{display:inline-flex;gap:2px;border:1px solid var(--line);border-radius:8px;padding:2px;background:var(--surface-2)}
.langt button{font-family:var(--font-mono);font-size:11px;color:var(--muted);padding:3px 8px;border-radius:6px;transition:.2s}
.langt button.active{background:var(--blue-500);color:#fff;font-weight:600}

/* ---------- maximized tab strip ---------- */
.worktabs{position:fixed;top:46px;left:0;right:0;height:40px;z-index:480;display:none;align-items:flex-end;gap:4px;padding:0 12px;
  background:var(--bg-2);border-bottom:1px solid var(--line)}
.wtab{display:flex;align-items:center;gap:8px;height:32px;padding:0 11px;border-radius:9px 9px 0 0;font-size:12.5px;color:var(--muted);
  background:var(--surface-2);border:1px solid var(--line);border-bottom:none;max-width:230px;transition:.15s}
.wtab.active{background:var(--win-solid);color:var(--text);box-shadow:0 -2px 0 var(--blue-500) inset}
.wtab:hover{color:var(--text)}
.wtab-ico{width:15px;height:15px;display:grid;place-items:center}
.wtab-ico svg{width:15px;height:15px}
.wtab-t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wtab-x{width:16px;height:16px;border-radius:5px;display:grid;place-items:center;font-size:10px;opacity:.5}
.wtab-x:hover{opacity:1;background:var(--surface)}

/* ---------- desktop ---------- */
#desktop{position:fixed;inset:0;z-index:10}

/* ---------- windows ---------- */
.win{position:absolute;display:flex;flex-direction:column;min-width:320px;min-height:200px;
  background:var(--win);backdrop-filter:blur(var(--blur)) saturate(1.2);
  border:1px solid var(--line-2);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);
  transition:opacity .2s var(--ease), transform .2s var(--ease)}
.win.focused{box-shadow:var(--shadow),0 0 0 1px rgba(77,134,255,.28)}
.win.opening{transform:scale(.97)}
.win.closing{opacity:0;transform:scale(.97)}
.win.minimized{opacity:0;transform:scale(.9) translateY(40px);pointer-events:none}
.win.maximized{border-radius:0;border:none}
.win.max-hidden{opacity:0;pointer-events:none}

.titlebar{height:42px;flex:none;display:flex;align-items:center;gap:11px;padding:0 12px;cursor:default;
  background:var(--win-bar);border-bottom:1px solid var(--line)}
.traffic{display:flex;gap:8px}
.tl{width:13px;height:13px;border-radius:50%;position:relative;transition:.15s}
.tl.close{background:#ff5f57}.tl.min{background:#febc2e}.tl.max{background:#28c840}
.traffic:hover .tl::after{content:'';position:absolute;inset:0;display:grid;place-items:center}
.tl::before{content:'';position:absolute;inset:0;opacity:0;transition:.15s;background:no-repeat center/8px}
.traffic:hover .tl.close::before{opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1 1l6 6M7 1L1 7' stroke='%23600' stroke-width='1.4'/%3E%3C/svg%3E")}
.traffic:hover .tl.min::before{opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1 4h6' stroke='%23730' stroke-width='1.4'/%3E%3C/svg%3E")}
.traffic:hover .tl.max::before{opacity:.55;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M2 2h4v4' stroke='%23040' stroke-width='1.2' fill='none'/%3E%3C/svg%3E")}
.wtitle{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:13.5px;color:var(--text-soft);flex:1;min-width:0}
.wtitle .wi{width:16px;height:16px;display:grid;place-items:center;flex:none}
.wtitle .wi svg{width:16px;height:16px;stroke:var(--blue-400);fill:none;stroke-width:1.8}
.wt-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wactions{display:flex;align-items:center;gap:6px}
.wcontent{flex:1;overflow:auto;position:relative;background:var(--content);user-select:text;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}
.wcontent::-webkit-scrollbar{width:9px;height:9px}.wcontent::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:5px}

/* resize handles */
.rz{position:absolute;z-index:5}
.rz-n{top:-3px;left:8px;right:8px;height:7px;cursor:ns-resize}
.rz-s{bottom:-3px;left:8px;right:8px;height:7px;cursor:ns-resize}
.rz-e{right:-3px;top:8px;bottom:8px;width:7px;cursor:ew-resize}
.rz-w{left:-3px;top:8px;bottom:8px;width:7px;cursor:ew-resize}
.rz-ne{top:-4px;right:-4px;width:14px;height:14px;cursor:nesw-resize}
.rz-nw{top:-4px;left:-4px;width:14px;height:14px;cursor:nwse-resize}
.rz-se{bottom:-4px;right:-4px;width:14px;height:14px;cursor:nwse-resize}
.rz-sw{bottom:-4px;left:-4px;width:14px;height:14px;cursor:nesw-resize}
.win.maximized .rz{display:none}

/* ---------- dock ---------- */
.dock{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:490;display:flex;align-items:flex-end;gap:8px;padding:9px 11px;
  background:var(--win);border:1px solid var(--line-2);border-radius:19px;backdrop-filter:blur(20px) saturate(1.3);box-shadow:0 24px 60px -24px rgba(0,0,0,.55)}
.dock-app{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer}
.dock-ico{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;
  background:linear-gradient(180deg,rgba(46,99,224,.22),rgba(46,99,224,.05));border:1px solid var(--line-2);
  transition:transform .2s var(--ease),box-shadow .2s}
.dock-app:hover .dock-ico{transform:translateY(-8px) scale(1.08);box-shadow:0 16px 30px -12px rgba(46,99,224,.5)}
.dock-ico svg{width:25px;height:25px;stroke:var(--blue-400);fill:none;stroke-width:1.7}
.dock-ico img{width:26px;height:26px}
.dock-app.warm .dock-ico{background:linear-gradient(180deg,rgba(240,138,28,.24),rgba(240,138,28,.06))}
.dock-app.warm .dock-ico svg{stroke:var(--orange-500)}
.dock-run{width:4px;height:4px;border-radius:50%;background:var(--blue-400);margin-top:5px;opacity:0;transition:.2s}
.dock-app.running .dock-run{opacity:1}
.dock-tip{position:absolute;bottom:72px;left:50%;transform:translateX(-50%) translateY(6px);font-family:var(--font-mono);font-size:11px;white-space:nowrap;
  background:var(--win-solid);border:1px solid var(--line-2);padding:5px 10px;border-radius:7px;opacity:0;pointer-events:none;transition:.18s;color:var(--text-soft);box-shadow:var(--shadow)}
.dock-app:hover .dock-tip{opacity:1;transform:translateX(-50%) translateY(0)}
.dock-sep{width:1px;height:40px;background:var(--line-2);margin:0 3px;align-self:center}
.dock-min{display:flex;align-items:center;gap:8px;height:48px;padding:0 13px;border-radius:13px;background:var(--surface);border:1px solid var(--line-2);color:var(--text-soft);max-width:170px;transition:transform .18s var(--ease),background .18s}
.dock-min:hover{background:var(--surface-2);transform:translateY(-6px);color:var(--text)}
.dm-ico{width:18px;height:18px;display:grid;place-items:center;flex:none}
.dm-ico svg{width:18px;height:18px;stroke:var(--blue-400);fill:none;stroke-width:1.7}
.dm-t{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-display);font-weight:600}

/* ---------- generic content atoms (used by app bodies) ---------- */
.pad{padding:22px 24px}
.kick{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue-400);display:inline-flex;align-items:center;gap:9px;margin-bottom:14px}
.kick::before{content:'';width:18px;height:1px;background:linear-gradient(90deg,var(--blue-400),transparent)}
.kick.warm{color:var(--orange-500)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;font-size:14px;padding:11px 17px;border-radius:11px;transition:transform .2s,box-shadow .2s,background .2s}
.btn .arr{transition:transform .25s}.btn:hover .arr{transform:translateX(3px)}
.btn-warm{background:var(--grad-warm);color:#1a0d00;box-shadow:0 12px 28px -14px rgba(240,138,28,.6)}
.btn-warm:hover{transform:translateY(-2px)}
.btn-blue{background:var(--grad-blue);color:#fff;box-shadow:0 12px 28px -14px rgba(46,99,224,.7)}
.btn-blue:hover{transform:translateY(-2px)}
.btn-ghost{background:var(--surface);border:1px solid var(--line-2);color:var(--text)}
.btn-ghost:hover{background:var(--surface-2)}

/* ---------- command palette ---------- */
.cmd-back{position:fixed;inset:0;z-index:900;background:rgba(4,7,18,.5);backdrop-filter:blur(5px);display:none;opacity:0;transition:opacity .2s}
[data-theme="light"] .cmd-back{background:rgba(40,60,110,.32)}
.cmd-back.open{display:block}.cmd-back.shown{opacity:1}
.cmd{position:absolute;top:15vh;left:50%;transform:translateX(-50%) scale(.97);width:min(620px,92vw);
  background:var(--win-solid);border:1px solid var(--line-2);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s var(--ease)}
.cmd-back.shown .cmd{transform:translateX(-50%) scale(1)}
.cmd-in{display:flex;align-items:center;gap:13px;padding:17px 19px;border-bottom:1px solid var(--line)}
.cmd-in svg{width:20px;height:20px;stroke:var(--blue-400);fill:none;stroke-width:1.8;flex:none}
.cmd-in input{flex:1;background:none;border:none;outline:none;color:var(--text);font-family:var(--font-body);font-size:17px}
.cmd-in input::placeholder{color:var(--muted-2)}
.cmd-in .esc{font-family:var(--font-mono);font-size:11px;border:1px solid var(--line-2);border-radius:6px;padding:3px 8px;color:var(--muted)}
.cmd-list{max-height:46vh;overflow-y:auto;padding:8px}
.cmd-sec{font-family:var(--font-mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted-2);padding:10px 12px 6px}
.cmd-item{display:flex;align-items:center;gap:13px;padding:10px 12px;border-radius:11px;cursor:pointer}
.cmd-item.sel{background:rgba(46,99,224,.16)}
.cmd-item .ci{width:34px;height:34px;border-radius:9px;flex:none;display:grid;place-items:center;background:rgba(46,99,224,.14);border:1px solid var(--line-2)}
.cmd-item .ci svg{width:18px;height:18px;stroke:var(--blue-400);fill:none;stroke-width:1.7}
.cmd-item .ct{flex:1;min-width:0}
.cmd-item .ct b{font-family:var(--font-display);font-weight:600;font-size:15px;display:block}
.cmd-item .ct span{font-size:12.5px;color:var(--muted)}
.cmd-item .ck{font-family:var(--font-mono);font-size:11px;color:var(--muted-2)}
.cmd-ai{padding:13px 16px;border-top:1px solid var(--line);display:flex;align-items:center;gap:11px;font-size:13px;color:var(--text-soft)}
.cmd-ai .sp{width:8px;height:8px;border-radius:50%;background:var(--orange-500);flex:none}

/* ---------- notifications ---------- */
.notis{position:fixed;right:14px;bottom:14px;z-index:600;display:flex;flex-direction:column;gap:10px;width:min(330px,86vw)}
.noti{display:flex;gap:12px;padding:13px 14px;border-radius:14px;background:var(--win);border:1px solid var(--line-2);backdrop-filter:blur(var(--blur));box-shadow:var(--shadow);
  transform:translateX(120%);transition:transform .4s var(--ease)}
.noti.in{transform:none}
.noti .nico{width:34px;height:34px;border-radius:10px;flex:none;display:grid;place-items:center;background:rgba(240,138,28,.16);border:1px solid var(--line-2)}
.noti .nico img{width:20px;height:20px}
.noti .nbody{flex:1;min-width:0}
.noti .nt{font-family:var(--font-display);font-weight:600;font-size:13.5px}
.noti .nm{font-size:12.5px;color:var(--muted);margin-top:2px;line-height:1.45}
.noti .nactions{display:flex;gap:8px;margin-top:9px}
.noti .nbtn{font-size:12px;font-family:var(--font-display);font-weight:600;padding:6px 11px;border-radius:8px;background:var(--grad-warm);color:#1a0d00}
.noti .nbtn.ghost{background:var(--surface);border:1px solid var(--line-2);color:var(--text-soft)}
.noti .nx{position:absolute;top:8px;right:9px;font-size:12px;color:var(--muted-2);width:18px;height:18px;border-radius:5px}
.noti .nx:hover{background:var(--surface);color:var(--text)}

@media(max-width:680px){
  .mb-menus,.mb-status{display:none}
  .mb-cmd{min-width:0;flex:1}
}

/* ---------- light theme: recolor the white brain-mark where it sits on light surfaces ---------- */
[data-theme="light"] img[src*="mark-white"]{
  filter:brightness(0) invert(26%) sepia(96%) saturate(1700%) hue-rotate(213deg) brightness(95%) contrast(92%);
}
/* keep it white where it sits on a blue/dark chip */
[data-theme="light"] .cm .ava img,
[data-theme="light"] .card.back img,
[data-theme="light"] .game-win .gw img,
[data-theme="light"] .noti .nico img{ filter:none; }
[data-theme="light"] .wp-mark{opacity:.07}

/* ============================================================
   AGENTS app — eXopera green, agent-ready panel
   ============================================================ */
:root{ --exbright2:#8ed64a; }
.agents{padding:24px 24px 30px;background:linear-gradient(180deg,#0a1430,#070d20);min-height:100%;color:var(--text)}
.ag-hero{margin-bottom:20px}
.agents h2{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,3vw,30px);letter-spacing:-.02em;line-height:1.1;margin-top:10px}
.agents h2 .exx2{background:linear-gradient(122deg,#9fe35a,#5fae33 55%,#3f9128);-webkit-background-clip:text;background-clip:text;color:transparent}
.ag-lead{color:var(--text-soft);font-size:14.5px;line-height:1.6;margin-top:12px;max-width:54ch}
.ag-lead b{color:#fff}
.ag-ep{border:1px solid rgba(120,200,80,.3);border-radius:16px;background:linear-gradient(180deg,rgba(95,174,51,.1),rgba(46,99,224,.03));overflow:hidden}
.ag-ep-row{display:flex;align-items:center;gap:13px;padding:16px 18px}
.ag-dot{width:9px;height:9px;border-radius:50%;background:#8ed64a;box-shadow:0 0 0 4px rgba(95,174,51,.18);flex:none}
@media (prefers-reduced-motion:no-preference){.ag-dot{animation:agp 2s infinite}}
@keyframes agp{0%,100%{opacity:1}50%{opacity:.4}}
.ag-ep-l{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--exbright2)}
.ag-ep-url{font-family:var(--font-mono);font-size:15px;color:#fff;font-weight:600}
.ag-ep-url:hover{text-decoration:underline}
.ag-copy{margin-left:auto;font-family:var(--font-display);font-weight:600;font-size:12.5px;padding:8px 14px;border-radius:9px;background:linear-gradient(180deg,#8ec63f,#3f9128);color:#06210a;flex:none;transition:.15s}
.ag-copy:hover{transform:translateY(-1px)}
.ag-copy.done{background:rgba(54,201,139,.2);color:var(--good)}
.ag-copy.small{margin-left:0;position:absolute;top:10px;right:10px;padding:5px 10px;font-size:11px}
.ag-connect{border-top:1px solid rgba(120,200,80,.18);padding:14px 18px}
.ag-connect-h{font-size:12.5px;color:var(--muted);margin-bottom:9px}
.ag-code{position:relative;background:#05101f;border:1px solid var(--line);border-radius:11px;padding:13px 15px;overflow-x:auto;font-family:var(--font-mono);font-size:12.5px;color:#bfe39a;line-height:1.55}
.ag-code code{white-space:pre}
.ag-sec{margin-top:22px}
.ag-sec h3{font-family:var(--font-display);font-weight:600;font-size:16px}
.ag-hint{font-size:12.5px;color:var(--muted);margin:3px 0 13px}
.ag-caps{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 9px;margin-top:14px}
@media(max-width:520px){.ag-caps{grid-template-columns:1fr}}
.ag-cap{display:flex;flex-direction:column;gap:3px;padding:17px 14px 13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);transition:.2s;position:relative}
.ag-cap:hover{border-color:rgba(120,200,80,.4);background:rgba(95,174,51,.06)}
.ag-cap-s{position:absolute;top:0;left:13px;transform:translateY(-50%);margin:0;padding:3px 9px;border-radius:100px;border:1px solid var(--line-2);
  font-family:var(--font-mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;background:#0b1430}
[data-theme="light"] .ag-cap-s{background:#eef5e8}
.ag-cap-n{color:var(--exbright2,#8ed64a)}
.ag-cap.cap-demo .ag-cap-s{color:var(--exbright2,#8ed64a);border-color:rgba(120,200,80,.5);background:linear-gradient(#0e2118,#0e2118) padding-box}
[data-theme="light"] .ag-cap.cap-demo .ag-cap-s{background:#e6f4dc}
.ag-cap.cap-client .ag-cap-s{color:var(--blue-300);border-color:rgba(77,134,255,.45)}
[data-theme="light"] .ag-cap.cap-client .ag-cap-s{color:var(--blue-500)}
.ag-cap:hover{border-color:rgba(120,200,80,.4);background:rgba(95,174,51,.06)}
.ag-cap-n{font-size:12.5px;color:var(--exbright2);font-weight:600}
.ag-cap-d{font-size:12.5px;color:var(--text-soft)}
.ag-checks{display:flex;flex-direction:column;gap:9px}
.ag-check{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.022)}
.ag-ck{width:24px;height:24px;flex:none;border-radius:7px;display:grid;place-items:center;font-size:13px;font-weight:700}
.ag-check.ok .ag-ck{background:rgba(54,201,139,.16);color:var(--good)}
.ag-check.soon .ag-ck{background:rgba(255,194,75,.16);color:var(--warn)}
.ag-ck-t{font-family:var(--font-display);font-weight:600;font-size:14px}
.ag-ck-d{font-size:12.5px;color:var(--muted);margin-top:2px}
.ag-foot{margin-top:18px;font-family:var(--font-mono);font-size:11.5px;color:var(--muted-2);text-align:center}
[data-theme="light"] .agents{background:linear-gradient(180deg,#f4faef,#eaf2fb);color:#0d1c3f}
[data-theme="light"] .agents h2{color:#0d1c3f}
[data-theme="light"] .ag-lead{color:#3a4a6b}[data-theme="light"] .ag-lead b{color:#0d1c3f}
[data-theme="light"] .ag-ep-url{color:#0d1c3f}
[data-theme="light"] .ag-code{background:#0a1430}
[data-theme="light"] .ag-cap-d,[data-theme="light"] .ag-ck-t{color:#0d1c3f}

/* ============================================================
   PHONE MODE (≤720px) — windows go fullscreen, no drag/resize,
   the tab strip becomes the app-switcher, dock is the launcher.
   ============================================================ */
@media (max-width:720px){
  .mb-clock{display:none}
  .mb-brand .os{display:none}
  .menubar{gap:10px;padding:0 11px}
  .mb-cmd .kbd{display:none}

  /* every window fills the work area; focused one (highest z) sits on top */
  body.phone .win{
    left:0 !important; top:46px !important; right:0 !important; bottom:74px !important;
    width:100vw !important; height:auto !important; transform:none !important;
    border-radius:0; border:none; box-shadow:none;
  }
  body.phone.has-tabs .win{ top:86px !important; }   /* 46 menubar + 40 tab strip */
  body.phone .win.minimized{ transform:translateY(40px) scale(.96) !important; }
  body.phone .win .rz{ display:none; }
  body.phone .win .titlebar{ cursor:default; }
  body.phone .win .tl.max{ display:none; }           /* maximize is meaningless fullscreen */
  body.phone .win .titlebar{ height:46px; }

  .worktabs{ top:46px; height:40px; overflow-x:auto; scrollbar-width:none; }
  .worktabs::-webkit-scrollbar{ display:none; }
  .wtab{ flex:0 0 auto; max-width:46vw; }

  /* dock as a launcher: scrollable, left-aligned, no hover tips */
  body.phone .dock{ left:8px; right:8px; transform:none; bottom:8px; max-width:none;
    justify-content:flex-start; overflow-x:auto; scrollbar-width:none; border-radius:16px; padding:8px 10px; }
  body.phone .dock::-webkit-scrollbar{ display:none; }
  body.phone .dock-ico{ width:44px; height:44px; }
  body.phone .dock-app:hover .dock-ico{ transform:none; box-shadow:none; }
  body.phone .dock-tip{ display:none; }
  body.phone .dock-min{ display:none; }              /* minimized handled via tabs */

  .cookie-banner{ bottom:80px; }
  .notis{ bottom:80px; }
}
