/* The panel screens as living scenes: the rules are the panel's own, kept only
   where a scene uses them, with every length tied to --r so a scene scales with
   the frame around it. The frame gives .screen its width; the scene takes its
   own scale from that width, so 393 css px of screen render the phone exactly
   as the panel does at a 15px root, and 1600 the desk at the scale it starts at. */

@property --r { syntax: "<length>"; inherits: true; initial-value: 15px; }
@property --rem { syntax: "<length>"; inherits: true; initial-value: 15px; }

.screen {
    position: relative;
    overflow: hidden;
    contain: paint;
    container-type: inline-size;
}

.screen > .shell { font-size: 3.8168cqw; --r: 1em; --rem: 1em; }
.screen > .deskshell { font-size: 1.125cqw; --r: calc(1em / 1.2); --rem: 1em; }

.screen > .shell, .screen > .deskshell {
    position: relative;
    font-variant-numeric: tabular-nums;
    font-family: var(--sans);
    line-height: 1.42;
    color: var(--ink);
    background: var(--void);
    -webkit-font-smoothing: antialiased;
    box-sizing: border-box;
    text-align: left;
}

.screen > .shell, .screen > .deskshell{--void: #06070f;--deep: #080a14;--surface: rgba(var(--tint), .12);--surface-2: rgba(var(--tint), .18);--surface-3: rgba(var(--tint), .24);--line: rgba(var(--tint), .16);--tint: 255, 255, 255;--hair: .5px;--glass: linear-gradient(160deg, rgba(var(--tint), .11), rgba(var(--tint), .05) 62%);--glass-2: linear-gradient(160deg, rgba(var(--tint), .16), rgba(var(--tint), .07) 62%);--blur: blur(calc(32 * var(--r) / 15)) saturate(200%) brightness(1.04);--edge: rgba(var(--tint), .14);--drop: 0 calc(10 * var(--r) / 15) calc(26 * var(--r) / 15) rgba(14, 12, 44, .34);--gloss: inset 0 calc(1 * var(--r) / 15) 0 rgba(var(--tint), .16);--glow: 0 0 calc(18 * var(--r) / 15) calc(-8 * var(--r) / 15) color-mix(in srgb, var(--accent) 45%, transparent);--hairline: inset 0 0 0 var(--hair) rgba(var(--tint), .03);--r-card: calc(6 * var(--r) / 15);--r-small: calc(3 * var(--r) / 15);--r-pill: calc(4 * var(--r) / 15);--r-sheet: calc(16 * var(--r) / 15);--r-bubble: calc(10 * var(--r) / 15);--bg: var(--void);--top-bg: linear-gradient(180deg, rgba(6, 7, 15, .78), rgba(6, 7, 15, .4));--chips-bg: linear-gradient(180deg, rgba(6, 7, 15, .86), rgba(6, 7, 15, .66));--nav-bg: linear-gradient(180deg, rgba(var(--tint), .04), rgba(var(--tint), .02));--sheet-bg: linear-gradient(180deg, rgba(34, 38, 66, .92), rgba(10, 12, 26, .97));--toast-bg: linear-gradient(180deg, rgba(30, 34, 62, .97), rgba(12, 14, 30, .98));--toast-drop: 0 calc(14 * var(--r) / 15) calc(34 * var(--r) / 15) rgba(0, 0, 0, .55);--code-bg: rgba(0, 0, 0, .35);--strip-bg: rgba(0, 0, 0, .26);--on-accent: #060a1a;--me-bg: color-mix(in srgb, var(--accent) 18%, transparent);--neb: radial-gradient(74% 32% at 10% -6%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 70%), radial-gradient(56% 26% at 106% 2%, rgba(143, 157, 255, .24), transparent 72%), radial-gradient(64% 28% at 92% 44%, rgba(90, 110, 220, .18), transparent 74%), radial-gradient(86% 32% at 2% 68%, rgba(127, 227, 212, .12), transparent 74%), radial-gradient(130% 40% at 50% 108%, rgba(99, 168, 255, .16), transparent 72%);--ink: #eef1ff;--ink-dim: #bcc4e8;--ink-faint: #8189b3;--accent: #63a8ff;--accent-2: #7fe3d4;--accent-bg: linear-gradient(160deg, color-mix(in srgb, var(--accent) 34%, transparent), color-mix(in srgb, var(--accent) 16%, transparent) 62%);--ok: #7fe3d4;--warn: #9fc9f0;--crit: #b98cff;--wait: #e3c97a;--ctx-1: #7fe3d4;--ctx-2: #63a8ff;--ctx-3: #8f9dff;--ctx-4: #b98cff;--cat-messages: #63a8ff;--cat-memory: #f0a36b;--cat-skills: #e8cf6a;--cat-mcp: #7fe3d4;--cat-agents: #b98cff;--cat-tools: #8f9dff;--cat-system: #8189b3;--cat-other: #bcc4e8;--ok-bg: rgba(127, 227, 212, .14);--warn-bg: rgba(159, 201, 240, .16);--crit-bg: rgba(185, 140, 255, .16);--t-xs: calc(.74 * var(--rem));--t-sm: calc(.84 * var(--rem));--t-md: calc(.92 * var(--rem));--t-base: calc(1 * var(--rem));--t-lg: calc(1.13 * var(--rem));--t-xl: calc(1.27 * var(--rem));--t-2xl: calc(1.53 * var(--rem));--t-3xl: calc(2 * var(--rem));--s1: calc(.25 * var(--rem));--s2: calc(.4 * var(--rem));--s3: calc(.8 * var(--rem));--s4: calc(1.4 * var(--rem));--i-sm: calc(1 * var(--rem));--i-md: calc(1.2 * var(--rem));--i-lg: calc(1.47 * var(--rem));--sans: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, "SF Mono", "Roboto Mono", monospace;--code: "JetBrains Mono", ui-monospace, "SF Mono", "Roboto Mono", monospace;color-scheme:dark}
:is(.screen,.desk) *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
:is(.screen,.desk) .shell{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);overflow:hidden}
:is(.screen,.desk) .shell::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0;background:var(--neb)}
:is(.screen,.desk) .shell > *{position:relative;z-index:1}
:is(.screen,.desk) .top{flex:none;display:flex;flex-direction:column;padding:env(safe-area-inset-top) calc(2 * var(--r) / 15) 0 calc(4 * var(--r) / 15);background:var(--top-bg);backdrop-filter:blur(calc(18 * var(--r) / 15)) saturate(140%);-webkit-backdrop-filter:blur(calc(18 * var(--r) / 15)) saturate(140%);-webkit-mask-image:linear-gradient(180deg,#000 calc(100% - calc(6 * var(--r) / 15)),transparent);mask-image:linear-gradient(180deg,#000 calc(100% - calc(6 * var(--r) / 15)),transparent)}
:is(.screen,.desk) .top > .hostbar{margin:0 calc(calc(1 * var(--rem)) - calc(2 * var(--r) / 15)) calc(.6 * var(--rem)) calc(calc(1 * var(--rem)) - calc(4 * var(--r) / 15));width:auto}
:is(.screen,.desk) .titlerow{height:calc(48 * var(--r) / 15);display:flex;align-items:center;gap:calc(2 * var(--r) / 15);white-space:nowrap}
:is(.screen,.desk) .titlerow .host{flex:0 1 auto;min-width:0;height:calc(44 * var(--r) / 15);padding:0 calc(5 * var(--r) / 15) 0 calc(8 * var(--r) / 15);gap:calc(4 * var(--r) / 15);font-size:var(--t-base);font-weight:800;letter-spacing:.04em}
:is(.screen,.desk) .titlerow .hname{min-width:0;overflow:hidden;text-overflow:ellipsis}
:is(.screen,.desk) .titlerow .caret{flex:none}
:is(.screen,.desk) .conn{flex:none;min-width:calc(44 * var(--r) / 15);height:calc(44 * var(--r) / 15);display:flex;align-items:center;padding:0;border:0;background:none;font:inherit;color:var(--ink-dim);cursor:pointer}
:is(.screen,.desk) .conn .cbox{min-width:0;max-width:calc(163 * var(--r) / 15);height:calc(28 * var(--r) / 15);box-sizing:border-box;display:flex;align-items:center;gap:calc(6 * var(--r) / 15);padding:0 calc(9 * var(--r) / 15);border-radius:var(--r-card);box-shadow:inset 0 0 0 var(--hair) var(--edge);font-family:var(--mono);font-size:var(--t-xs)}
:is(.screen,.desk) .conn .cword{min-width:0;overflow:hidden;text-overflow:ellipsis;font-style:normal}
:is(.screen,.desk) .cdot{flex:none;width:calc(7 * var(--r) / 15);height:calc(7 * var(--r) / 15);border-radius:50%;background:var(--ok)}
:is(.screen,.desk) .titlerow .icons{flex:none;margin-left:auto;display:flex}
:is(.screen,.desk) .iconbtn{position:relative;flex:0 0 auto;width:calc(42 * var(--r) / 15);height:calc(42 * var(--r) / 15);border:0;border-radius:var(--r-small);background:none;box-shadow:inset 0 0 0 var(--hair) var(--edge);color:var(--ink-dim);display:grid;place-items:center;cursor:pointer}
:is(.screen,.desk) .iconbtn:active{background:var(--glass);color:var(--ink)}
:is(.screen,.desk) .iconbtn:disabled{opacity:.4}
:is(.screen,.desk) .iconbtn svg{width:var(--i-lg);height:var(--i-lg)}
:is(.screen,.desk) .iconbtn.danger{color:var(--crit)}
:is(.screen,.desk) .iconbtn.danger:active{background:var(--crit-bg)}
:is(.screen,.desk) .iconbtn.accent{color:var(--accent)}
:is(.screen,.desk) .iconbtn.accent:active{background:var(--accent-bg)}
:is(.screen,.desk) .icons .iconbtn{width:calc(44 * var(--r) / 15);height:calc(44 * var(--r) / 15);box-shadow:none}
:is(.screen,.desk) .icons .iconbtn svg{width:var(--i-md);height:var(--i-md)}
:is(.screen,.desk) .icons .badge{top:calc(6 * var(--r) / 15);right:calc(5 * var(--r) / 15)}
:is(.screen,.desk) .badge{position:absolute;min-width:calc(17 * var(--r) / 15);height:calc(17 * var(--r) / 15);border-radius:var(--r-small);background:var(--crit);color:#14061a;font-family:var(--mono);font-size:var(--t-xs);display:grid;place-items:center;padding:0 calc(4 * var(--r) / 15);border:calc(2 * var(--r) / 15) solid var(--surface)}
:is(.screen,.desk) .badge{top:calc(3 * var(--r) / 15);right:calc(3 * var(--r) / 15)}
:is(.screen,.desk) .search{width:100%;border:0;border-radius:var(--r-card);background:none;box-shadow:inset 0 0 0 var(--hair) var(--edge);color:var(--ink);font:inherit;padding:calc(.45 * var(--rem)) calc(.7 * var(--rem))}
:is(.screen,.desk) .search::placeholder{color:var(--ink-faint)}
:is(.screen,.desk) .ok{color:var(--ok)}
:is(.screen,.desk) .warn{color:var(--warn)}
:is(.screen,.desk) .crit{color:var(--crit)}
:is(.screen,.desk) .hostbar{display:flex;align-items:flex-start;gap:calc(.6 * var(--rem))}
:is(.screen,.desk) .hstats{flex:1;min-width:0;display:grid;grid-template-columns:repeat(3,1fr);gap:calc(.7 * var(--rem))}
:is(.screen,.desk) .hstat{min-width:0;display:flex;flex-direction:column}
:is(.screen,.desk) .hstat-title{font-size:var(--t-xs);color:var(--ink-faint)}
:is(.screen,.desk) .hstat-value{font-size:var(--t-lg);font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
:is(.screen,.desk) .hstat .bar{margin-top:calc(.3 * var(--rem))}
:is(.screen,.desk) .bar.blank{background:none}
:is(.screen,.desk) .hstat .bar{flex:none}
:is(.screen,.desk) .hdetails{flex:none;align-self:flex-start;display:inline-flex;align-items:center;gap:calc(.2 * var(--rem));padding:calc(.3 * var(--rem)) calc(.5 * var(--rem));border:0;border-radius:var(--r-small);box-shadow:inset 0 0 0 var(--hair) var(--edge);background:none;color:var(--ink-dim);font:inherit;font-size:var(--t-xs);cursor:pointer}
:is(.screen,.desk) .hdetails .chev{display:inline-flex}
:is(.screen,.desk) .hdetails svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .status{display:flex;align-items:center;gap:calc(.5 * var(--rem));min-width:0;text-align:right;color:var(--ink-dim)}
:is(.screen,.desk) .ghost{border:0;border-radius:var(--r-small);box-shadow:inset 0 0 0 var(--hair) var(--edge);background:transparent;color:var(--ink-dim);font:inherit;font-size:var(--t-xs);padding:calc(3 * var(--r) / 15) calc(8 * var(--r) / 15);cursor:pointer}
:is(.screen,.desk) .chips{flex:none;display:flex;gap:calc(.4 * var(--rem));overflow-x:auto;scrollbar-width:none;padding:calc(.35 * var(--rem)) calc(1 * var(--rem));background:var(--chips-bg);backdrop-filter:blur(calc(16 * var(--r) / 15)) saturate(140%);-webkit-backdrop-filter:blur(calc(16 * var(--r) / 15)) saturate(140%);border-bottom:var(--hair) solid var(--line)}
:is(.screen,.desk) .chips::-webkit-scrollbar{display:none}
:is(.screen,.desk) .chip{flex:none;border:0;border-radius:var(--r-pill);padding:calc(.36 * var(--rem)) calc(.8 * var(--rem));font:inherit;font-size:var(--t-sm);font-weight:500;background:none;box-shadow:inset 0 0 0 var(--hair) var(--edge);color:var(--ink-dim);white-space:nowrap;cursor:pointer}
:is(.screen,.desk) .chip[aria-pressed="true"]{background:var(--accent-bg);color:var(--accent);box-shadow:inset 0 0 0 var(--hair) color-mix(in srgb,var(--accent) 45%,transparent)}
:is(.screen,.desk) .chip .n{font-size:.82em;opacity:.65;margin-left:.3em}
:is(.screen,.desk) .body{flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;--body-inline: calc(1.1 * var(--rem));padding:calc(.4 * var(--rem)) var(--body-inline) calc(1.6 * var(--rem));display:flex;flex-direction:column;--body-gap: calc(.32 * var(--rem));gap:var(--body-gap)}
:is(.screen,.desk) .body::-webkit-scrollbar{display:none}
:is(.screen,.desk) *{scrollbar-width:none;-ms-overflow-style:none}
:is(.screen,.desk) ::-webkit-scrollbar{width:0;height:0;display:none}
:is(.screen,.desk) .body > *{flex:none}
:is(.screen,.desk) .hint{color:var(--ink-faint);font-size:var(--t-xs);margin:calc(.15 * var(--rem)) 0}
:is(.screen,.desk) .card{background:none;border:0;border-radius:var(--r-card);box-shadow:inset 0 0 0 var(--hair) var(--edge);padding:calc(.6 * var(--rem)) calc(.8 * var(--rem))}
:is(.screen,.desk) .stack{position:relative;background:none;border:0;border-radius:var(--r-card);box-shadow:inset 0 0 0 var(--hair) var(--edge);overflow:hidden;transition:box-shadow .18s ease}
:is(.screen,.desk) .stack[data-open="1"]{box-shadow:inset 0 0 0 var(--hair) color-mix(in srgb,var(--accent) 45%,transparent)}
:is(.screen,.desk) .stack[data-open="1"] .stackname{color:var(--ink)}
:is(.screen,.desk) .stack[data-kind="off"]{opacity:.62}
@media (prefers-reduced-motion: reduce){:is(.screen,.desk) .stack{transition:none}}
:is(.screen,.desk) .stackhead{display:flex;align-items:center;gap:calc(.2 * var(--rem));padding-right:calc(.35 * var(--rem))}
:is(.screen,.desk) .stackacts{flex:none;display:flex;justify-content:flex-end;gap:calc(.2 * var(--rem));min-width:calc(72 * var(--r) / 15)}
:is(.screen,.desk) .stackhead .iconbtn{width:calc(34 * var(--r) / 15);height:calc(34 * var(--r) / 15);border-radius:var(--r-small)}
:is(.screen,.desk) .stackhead .iconbtn svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .stackhead .iconbtn{background:none;box-shadow:none;color:var(--ink-faint)}
:is(.screen,.desk) .stackhead .iconbtn.danger:active{background:none;color:var(--crit)}
:is(.screen,.desk) .stackhead .iconbtn.accent:active{background:none;color:var(--accent)}
:is(.screen,.desk) .stackhead .iconbtn:disabled{opacity:.35}
:is(.screen,.desk) .stacktoggle{flex:1;min-width:0;border:0;background:none;color:inherit;font:inherit;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:calc(.5 * var(--rem));padding:calc(.55 * var(--rem)) calc(.7 * var(--rem)) calc(.45 * var(--rem));text-align:left;cursor:pointer}
:is(.screen,.desk) .stacktoggle:active{background:var(--glass)}
:is(.screen,.desk) .stacktoggle:disabled{cursor:default}
:is(.screen,.desk) .stacktoggle:disabled .chev{opacity:.3}
:is(.screen,.desk) .stackcol{min-width:0;display:flex;flex-direction:column;gap:calc(.08 * var(--rem))}
:is(.screen,.desk) .stackname{font-weight:600;font-size:var(--t-md)}
:is(.screen,.desk) .stackuse{font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-faint);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.screen,.desk) .chev{color:var(--ink-faint);display:grid;place-items:center;transition:transform .18s ease}
:is(.screen,.desk) .chev svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .stacktoggle .chev{display:none}
:is(.screen,.desk) .rows{display:none;border-top:var(--hair) solid var(--line)}
:is(.screen,.desk) .stack[data-open="1"] .rows{display:block}
:is(.screen,.desk) .crow{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:calc(.1 * var(--rem)) calc(.6 * var(--rem));width:100%;padding:calc(.5 * var(--rem)) calc(.7 * var(--rem)) calc(.5 * var(--rem)) calc(.85 * var(--rem));font:inherit;color:inherit;text-align:left;background:none;border:0;border-bottom:var(--hair) solid var(--line);cursor:pointer}
:is(.screen,.desk) .crow:active{background:var(--glass)}
:is(.screen,.desk) .crow:last-child{border-bottom:0}
:is(.screen,.desk) .crow > .dot{grid-column:1;grid-row:1 / 3}
:is(.screen,.desk) .crow .cname{grid-column:2;font-size:var(--t-md);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.screen,.desk) .crow .cmeta{grid-column:2;font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-faint);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.screen,.desk) .dot{width:calc(8 * var(--r) / 15);height:calc(8 * var(--r) / 15);border-radius:50%;flex:none}
:is(.screen,.desk) .dot.ok{background:var(--ok);box-shadow:0 0 calc(8 * var(--r) / 15) var(--ok)}
:is(.screen,.desk) .dot.warn{background:var(--warn);box-shadow:0 0 calc(8 * var(--r) / 15) var(--warn)}
:is(.screen,.desk) .dot.crit{background:var(--crit);box-shadow:0 0 calc(8 * var(--r) / 15) var(--crit)}
:is(.screen,.desk) .dot.off{background:var(--ink-faint)}
:is(.screen,.desk) .tile{background:none;border:0;box-shadow:inset 0 0 0 var(--hair) var(--edge);border-radius:var(--r-card);padding:calc(.55 * var(--rem)) calc(.75 * var(--rem));display:flex;flex-direction:column;gap:calc(.2 * var(--rem))}
:is(.screen,.desk) .kv{display:flex;justify-content:space-between;gap:calc(1 * var(--rem));padding:calc(.26 * var(--rem)) 0;border-bottom:var(--hair) solid var(--line);font-size:var(--t-sm)}
:is(.screen,.desk) .kv .k{color:var(--ink-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.screen,.desk) .kv .v{font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}
:is(.screen,.desk) .tile{padding:calc(.55 * var(--rem)) calc(.7 * var(--rem))}
:is(.screen,.desk) .tile .cardhead{width:100%;display:flex;align-items:center;gap:calc(.3 * var(--rem));padding:0;border:0;background:none;cursor:pointer}
:is(.screen,.desk) .tile .cardhead .tname{flex:1;min-width:0}
:is(.screen,.desk) .tile .cardhead .tname > span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.screen,.desk) .tname{display:flex;align-items:center;gap:calc(.3 * var(--rem));font-size:var(--t-sm);font-weight:500;color:var(--ink-faint)}
:is(.screen,.desk) .bar{height:calc(3 * var(--r) / 15);margin-top:calc(.5 * var(--rem));border-radius:var(--r-small);background:var(--line);overflow:hidden}
:is(.screen,.desk) .bar i{display:block;height:100%;background:var(--accent)}
:is(.screen,.desk) nav.tabs{flex:none;display:grid;grid-template-columns:repeat(5,1fr);background:var(--nav-bg);backdrop-filter:blur(calc(22 * var(--r) / 15)) saturate(160%);-webkit-backdrop-filter:blur(calc(22 * var(--r) / 15)) saturate(160%);border-top:var(--hair) solid var(--line);padding:calc(.35 * var(--rem)) calc(.35 * var(--rem)) calc(calc(.45 * var(--rem)) + env(safe-area-inset-bottom))}
:is(.screen,.desk) nav.tabs button{position:relative;border:0;background:none;color:var(--ink-faint);font:inherit;font-size:var(--t-xs);font-weight:500;display:flex;flex-direction:column;align-items:center;gap:calc(.18 * var(--rem));padding:calc(.2 * var(--rem)) 0;cursor:pointer}
:is(.screen,.desk) nav.tabs button svg{width:var(--i-lg);height:var(--i-lg)}
:is(.screen,.desk) nav.tabs button[aria-current="true"]{color:var(--accent);font-weight:600}
:is(.screen,.desk) .homeslot{display:flex;align-items:center;justify-content:center}
:is(.screen,.desk) nav.tabs .homeslot .homebtn{width:calc(46 * var(--r) / 15);height:calc(46 * var(--r) / 15);border-radius:calc(999 * var(--r) / 15);border:0;padding:0;display:grid;place-items:center;background:none;color:var(--ink-dim);box-shadow:inset 0 0 0 var(--hair) var(--edge);cursor:pointer}
:is(.screen,.desk) nav.tabs .homeslot .homebtn svg{width:var(--i-lg);height:var(--i-lg)}
:is(.screen,.desk) nav.tabs .homeslot .homebtn.live{background:var(--accent-bg);color:var(--accent);box-shadow:inset 0 0 0 var(--hair) color-mix(in srgb,var(--accent) 50%,transparent)}
:is(.screen,.desk) nav.tabs .homeslot .homebtn{transition:transform .16s ease,box-shadow .2s ease}
:is(.screen,.desk) nav.tabs .homeslot .homebtn:active{transform:scale(.9)}
@media (prefers-reduced-motion: reduce){:is(.screen,.desk) nav.tabs .homeslot .homebtn{transition:none}}
:is(.screen,.desk) .scrim{position:fixed;inset:0;z-index:10;background:#03040ab8;backdrop-filter:blur(calc(4 * var(--r) / 15));-webkit-backdrop-filter:blur(calc(4 * var(--r) / 15));opacity:0;pointer-events:none;transition:opacity .2s ease}
:is(.screen,.desk) .scrim.on{opacity:1;pointer-events:auto}
:is(.screen,.desk) .sheetclose{position:absolute;top:calc(.45 * var(--rem));right:calc(.5 * var(--rem));width:calc(34 * var(--r) / 15);height:calc(34 * var(--r) / 15);border:0;border-radius:50%;background:none;color:var(--ink-faint);display:grid;place-items:center;cursor:pointer;z-index:1}
:is(.screen,.desk) .sheetclose:active{background:#ffffff14}
:is(.screen,.desk) .sheetclose svg{width:var(--i-md);height:var(--i-md)}
:is(.screen,.desk) .sheet .shead{padding-right:calc(2.2 * var(--rem))}
:is(.screen,.desk) .sheet{position:fixed;left:0;right:0;bottom:0;z-index:11;background:var(--sheet-bg);backdrop-filter:blur(calc(26 * var(--r) / 15)) saturate(160%);-webkit-backdrop-filter:blur(calc(26 * var(--r) / 15)) saturate(160%);border-top:0;border-radius:var(--r-sheet) var(--r-sheet) 0 0;box-shadow:var(--gloss);padding:calc(.6 * var(--rem)) calc(.9 * var(--rem)) calc(calc(1.4 * var(--rem)) + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .28s cubic-bezier(.22,1,.36,1);display:flex;flex-direction:column;max-height:88cqh}
:is(.screen,.desk) .sheetbody{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;min-height:0}
:is(.screen,.desk) .sheetbody::-webkit-scrollbar{display:none}
:is(.screen,.desk) .sheet.inner{bottom:calc(var(--nav-clear) + env(safe-area-inset-bottom));max-height:calc(88cqh - var(--nav-clear));padding-bottom:calc(.8 * var(--rem));border-radius:var(--r-card)}
:is(.screen,.desk) .scrim.inner{bottom:calc(var(--nav-clear) + env(safe-area-inset-bottom))}
:is(.screen,.desk) .shell:has(.sheet.on) .body{z-index:3}
:is(.screen,.desk) .sheet.draggable{height:auto;max-height:54%}
:is(.screen,.desk) .sheet.draggable.inner{max-height:calc(54% - var(--nav-clear) / 2)}
:is(.screen,.desk) .sheet .grab{flex:none;padding:calc(20 * var(--r) / 15) 0;margin:calc(-10 * var(--r) / 15) 0 calc(-2 * var(--r) / 15);cursor:grab}
:is(.screen,.desk) .sheet.draggable{touch-action:none}
:is(.screen,.desk) .sheet.draggable .sheetbody{touch-action:pan-y}
:is(.screen,.desk) .shell.no-nav .sheet.inner:not(.doc){bottom:0;max-height:88cqh;padding-bottom:calc(calc(.8 * var(--rem)) + env(safe-area-inset-bottom))}
:is(.screen,.desk) .shell.no-nav .scrim.inner{bottom:0}
:is(.screen,.desk) .sheethead{display:flex;align-items:flex-start;gap:calc(.7 * var(--rem));padding:calc(.1 * var(--rem)) calc(2.2 * var(--rem)) calc(.5 * var(--rem)) 0;margin-bottom:calc(.3 * var(--rem))}
:is(.screen,.desk) .sheethead h2{margin:0;font-size:var(--t-lg);font-weight:800;letter-spacing:-.01em}
:is(.screen,.desk) .sheet.on{transform:translateY(0)}
:is(.screen,.desk) .grip{width:calc(36 * var(--r) / 15);height:calc(3 * var(--r) / 15);border-radius:calc(2 * var(--r) / 15);background:var(--ink-faint);opacity:.6;margin:0 auto}
:is(.screen,.desk) .shead{display:flex;align-items:center;gap:calc(.55 * var(--rem));margin-bottom:calc(.7 * var(--rem))}
:is(.screen,.desk) .stitle{font-weight:700;font-size:var(--t-base)}
:is(.screen,.desk) .ssub{font-size:var(--t-xs);color:var(--ink-dim)}
:is(.screen,.desk) .warnline{font-size:var(--t-sm);color:var(--warn);background:var(--warn-bg);border-radius:var(--r-small);padding:calc(.55 * var(--rem)) calc(.7 * var(--rem))}
:is(.screen,.desk) .btnrow{display:flex;gap:calc(.4 * var(--rem));margin-top:calc(.8 * var(--rem))}
:is(.screen,.desk) .btnrow > .btn{flex:1}
:is(.screen,.desk) .btn{border:var(--hair) solid var(--line);border-radius:var(--r-small);padding:calc(.5 * var(--rem)) calc(.7 * var(--rem));background:var(--glass-2);color:var(--ink);font:inherit;font-weight:600;font-size:var(--t-sm);cursor:pointer}
:is(.screen,.desk) .btn:disabled{opacity:.55}
:is(.screen,.desk) .btn.primary{background:var(--accent-bg);border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--ink);box-shadow:var(--gloss),var(--glow)}
:is(.screen,.desk) .btn.danger{color:var(--crit);border-color:#ff6f5c4d}
:is(.screen,.desk) .sheet .item{width:100%;margin-top:calc(.5 * var(--rem));border:0;border-radius:var(--r-card);background:none;color:var(--ink);font:inherit;font-weight:500;text-align:left;padding:calc(.7 * var(--rem)) calc(.5 * var(--rem));cursor:pointer}
:is(.screen,.desk) .sheet .item:active{background:var(--glass-2)}
.screen:has(> .deskshell) .sheet.win{inset:0;margin:auto;width:min(calc(560 * var(--r) / 15),72cqw);height:fit-content;max-height:min(80cqh,calc(760 * var(--r) / 15));padding:calc(1 * var(--rem)) calc(1.15 * var(--rem)) calc(1.15 * var(--rem));border:var(--hair) solid var(--edge);border-radius:var(--r-card);box-shadow:var(--drop);transform:none;transition:opacity .16s ease,transform .16s ease}
.screen:has(> .deskshell) .scrim.side.on{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
:is(.screen,.desk) .chart{width:100%;overflow:hidden}
@media (prefers-reduced-motion: reduce){:is(.screen,.desk) .scrim, :is(.screen,.desk) .sheet, :is(.screen,.desk) .chev{transition:none}}
.screen > .shell, .screen > .deskshell{--nav-h: calc(62 * var(--r) / 15)}
.screen > .shell, .screen > .deskshell{--nav-clear: calc(var(--nav-h) + calc(10 * var(--r) / 15))}
.screen > .shell, .screen > .deskshell{--nav-clear: calc(0 * var(--r) / 15)}
:is(.screen,.desk) .pown{display:flex;flex-wrap:wrap;gap:calc(.25 * var(--rem))}
:is(.screen,.desk) .chathead{flex:none;padding:0}
:is(.screen,.desk) .chathead h2{display:flex;align-items:center;gap:calc(.45 * var(--rem));margin:0;font-size:var(--t-lg);font-weight:800;letter-spacing:-.01em;line-height:1.15;overflow-wrap:anywhere}
:is(.screen,.desk) .talkdot{flex:0 0 auto;width:calc(7 * var(--r) / 15);height:calc(7 * var(--r) / 15);border-radius:50%;background:var(--ink-faint)}
:is(.screen,.desk) .talkdot[data-tone="busy"]{background:var(--accent);box-shadow:0 0 calc(9 * var(--r) / 15) var(--accent)}
:is(.screen,.desk) .talkdot[data-tone="waiting"]{background:var(--wait);box-shadow:0 0 calc(9 * var(--r) / 15) var(--wait)}
:is(.screen,.desk) .talkdot[data-tone="idle"]{background:var(--ok);box-shadow:0 0 calc(9 * var(--r) / 15) var(--ok)}
:is(.screen,.desk) .talkword[data-tone="waiting"]{color:var(--wait)}
:is(.screen,.desk) .midname{display:flex;min-width:0;overflow:hidden;white-space:nowrap}
:is(.screen,.desk) .midhead{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
:is(.screen,.desk) .chatsub{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 calc(.5 * var(--rem));margin-top:0;line-height:1.2;font-size:var(--t-xs);color:var(--ink-faint)}
:is(.screen,.desk) .chatsub .sep{color:#96aaff4d;margin:0 calc(.35 * var(--rem))}
:is(.screen,.desk) .chatpath{flex:1 1 0;min-width:0;direction:rtl;text-align:left;font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.screen,.desk) .phead.talk .chatsub .sep{margin:0}
:is(.screen,.desk) .chatpct{font-size:var(--t-md);font-weight:700;font-variant-numeric:tabular-nums}
:is(.screen,.desk) .chatpct .u{font-size:.78em;font-weight:600;margin-left:.05em}
:is(.screen,.desk) .ctxbar{flex:none;height:calc(3 * var(--r) / 15);background:rgba(var(--tint),.12);overflow:hidden}
:is(.screen,.desk) .ctxbar.edge{position:absolute;left:0;right:0;top:0}
:is(.screen,.desk) .ctxbar.head{margin-top:calc(.25 * var(--rem));border-radius:calc(2 * var(--r) / 15)}
:is(.screen,.desk) .ctxbar i{display:block;height:100%;border-radius:calc(2 * var(--r) / 15);background:var(--ctx-1);box-shadow:0 0 calc(10 * var(--r) / 15) color-mix(in srgb,var(--ctx-1) 60%,transparent);transition:width .4s ease,background .4s ease}
:is(.screen,.desk) .ctxbar.s2 i{background:var(--ctx-2);box-shadow:0 0 calc(10 * var(--r) / 15) color-mix(in srgb,var(--ctx-2) 60%,transparent)}
:is(.screen,.desk) .ctxbar.s4 i{background:var(--ctx-4);box-shadow:0 0 calc(12 * var(--r) / 15) color-mix(in srgb,var(--ctx-4) 70%,transparent)}
:is(.screen,.desk) .segbar{position:absolute;left:0;right:0;top:0;height:calc(3 * var(--r) / 15);background:rgba(var(--tint),.12);--seg-w: calc(100% / var(--seg, 1));--seg-gap: clamp(calc(1 * var(--r) / 15), calc(var(--seg-w) * .16), calc(2 * var(--r) / 15));-webkit-mask-image:repeating-linear-gradient(90deg,#000 0,#000 calc(var(--seg-w) - var(--seg-gap)),transparent calc(var(--seg-w) - var(--seg-gap)),transparent var(--seg-w));mask-image:repeating-linear-gradient(90deg,#000 0,#000 calc(var(--seg-w) - var(--seg-gap)),transparent calc(var(--seg-w) - var(--seg-gap)),transparent var(--seg-w))}
:is(.screen,.desk) .segbar i{display:block;height:100%;background:color-mix(in srgb,var(--ok) 50%,transparent);box-shadow:0 0 calc(10 * var(--r) / 15) color-mix(in srgb,var(--ok) 30%,transparent);transition:width .4s ease,background .4s ease}
:is(.screen,.desk) .segbar.warn i{background:color-mix(in srgb,var(--warn) 50%,transparent);box-shadow:0 0 calc(10 * var(--r) / 15) color-mix(in srgb,var(--warn) 30%,transparent)}
:is(.screen,.desk) .segbar.crit i{background:color-mix(in srgb,var(--crit) 50%,transparent);box-shadow:0 0 calc(12 * var(--r) / 15) color-mix(in srgb,var(--crit) 35%,transparent)}
:is(.screen,.desk) .segbar.off i{background:var(--ink-faint);box-shadow:none}
:is(.screen,.desk) .lastreq{flex:none;margin:calc(.5 * var(--rem)) 0 0;font-size:var(--t-xs);color:var(--ink-faint);text-align:center}
:is(.screen,.desk) .chatpct .u{font-family:var(--sans);font-size:var(--t-xs);color:var(--ink-faint);margin-left:calc(.1 * var(--rem))}
:is(.screen,.desk) .chatfeed{display:flex;flex-direction:column;gap:calc(.5 * var(--rem));overflow-y:auto;overflow-anchor:auto;flex:1 1 auto;min-height:0;padding-bottom:calc(.5 * var(--rem));overflow-x:hidden}
:is(.screen,.desk) .chatfeed > *{flex:0 0 auto}
:is(.screen,.desk) .feedjump{--feedjump-size: calc(36 * var(--r) / 15);position:sticky;bottom:calc(.5 * var(--rem));align-self:flex-end;z-index:2;width:var(--feedjump-size);height:var(--feedjump-size);margin-top:calc(-1 * (var(--feedjump-size) + calc(.5 * var(--rem))));padding:0;border:0;border-radius:var(--r-small);background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--hairline),var(--drop),var(--gloss);color:var(--ink-dim);opacity:.88;display:grid;place-items:center;overflow-anchor:none;cursor:pointer;animation:feedjump-in .18s ease-out}
:is(.screen,.desk) .feedjump svg{width:var(--i-md);height:var(--i-md);transform:rotate(90deg)}
:is(.screen,.desk) .feedjump:active{background:var(--glass-2);color:var(--ink)}
@media (prefers-reduced-motion: reduce){:is(.screen,.desk) .feedjump{animation:none}}
:is(.screen,.desk) .chatnone{display:none}
.screen:has(> .deskshell) :is(.chatfeed, .composerbox, .deck){--chat-measure: calc(1.25 * var(--rem));padding-inline:var(--chat-measure)}
.screen:has(> .deskshell) .dkchatname{min-width:0}
.screen:has(> .deskshell) .dkhead .ctxbar.head{position:absolute;left:0;right:0;bottom:calc(-1 * var(--r) / 15);height:calc(2 * var(--r) / 15);margin-top:0;border-radius:0}
.screen:has(> .deskshell) .lastreq{display:none}
.screen:has(> .deskshell) .chatnone{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:calc(.45 * var(--rem));color:var(--ink-faint)}
.screen:has(> .deskshell) .chatnoneicon{display:block;width:calc(28 * var(--r) / 15);height:calc(28 * var(--r) / 15);opacity:.45}
.screen:has(> .deskshell) .chatnoneicon svg{width:100%;height:100%}
.screen:has(> .deskshell) .chatnonesay{margin:0;font-size:var(--t-md);color:var(--ink-dim)}
.screen:has(> .deskshell) .chatnonesub{margin:0;font-size:var(--t-xs)}
:is(.screen,.desk) .viewbtn{display:grid;place-items:center;width:calc(1.7 * var(--rem));height:calc(1.55 * var(--rem));padding:0;color:var(--ink-faint);background:none;border:0;border-radius:calc(var(--r-small) - calc(1 * var(--r) / 15));cursor:pointer}
:is(.screen,.desk) .viewbtn svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .viewbtn.on{color:var(--ink);background:var(--glass-2)}
:is(.screen,.desk) .viewbtn:disabled{opacity:.35;cursor:default}
:is(.screen,.desk) .askhead{display:flex;align-items:baseline;gap:calc(.5 * var(--rem));margin-bottom:calc(.5 * var(--rem))}
:is(.screen,.desk) .asklabel{color:var(--ink-faint);font-size:var(--t-xs);font-weight:500}
:is(.screen,.desk) .asktext{margin:0 0 calc(.1 * var(--rem));font-size:var(--t-lg);font-weight:600;line-height:1.35;letter-spacing:-.01em;text-wrap:pretty}
:is(.screen,.desk) .askopts{display:flex;flex-direction:column;gap:calc(.35 * var(--rem));margin-top:calc(.7 * var(--rem))}
:is(.screen,.desk) .askopt{display:flex;align-items:stretch;background:none;border:var(--hair) solid var(--line);border-radius:var(--r-card);transition:background .14s,border-color .14s}
:is(.screen,.desk) .askopt:hover{background:var(--glass)}
:is(.screen,.desk) .askopt.on{background:var(--accent-bg);border-color:color-mix(in srgb,var(--accent) 50%,transparent)}
:is(.screen,.desk) .askpick{display:flex;align-items:flex-start;gap:calc(.6 * var(--rem));flex:1;min-width:0;min-height:calc(44 * var(--r) / 15);padding:calc(.55 * var(--rem)) calc(.65 * var(--rem));font:inherit;text-align:left;color:var(--ink-dim);background:none;border:0;border-radius:var(--r-card);cursor:pointer}
:is(.screen,.desk) .askpick:disabled{cursor:default}
:is(.screen,.desk) .asktick{flex:0 0 auto;width:calc(16 * var(--r) / 15);height:calc(16 * var(--r) / 15);margin-top:calc(2 * var(--r) / 15);display:grid;place-items:center;font-size:var(--t-xs);color:var(--on-accent);border:calc(1 * var(--r) / 15) solid color-mix(in srgb,var(--ink-faint) 70%,transparent);border-radius:50%}
:is(.screen,.desk) .askopt.on .asktick{background:var(--accent);border-color:var(--accent)}
:is(.screen,.desk) .askopt.on .asktick:empty::after{content:"\2713";font-weight:800}
:is(.screen,.desk) .askbody{min-width:0}
:is(.screen,.desk) .askname{display:block;font-size:var(--t-base);font-weight:600;color:var(--ink);line-height:1.3}
:is(.screen,.desk) .askdesc{display:block;margin-top:calc(.1 * var(--rem));color:var(--ink-faint);font-size:var(--t-sm);line-height:1.35}
:is(.screen,.desk) .askown{border-color:transparent;background:rgba(var(--tint),.04)}
:is(.screen,.desk) .askown .asktick{border-style:dashed}
:is(.screen,.desk) .askdrop{display:flex;flex-direction:column;gap:calc(.1 * var(--rem));width:100%;min-height:calc(44 * var(--r) / 15);margin-top:calc(.6 * var(--rem));padding:calc(.5 * var(--rem)) 0;font:inherit;text-align:left;color:var(--ink-dim);background:none;border:0;border-radius:var(--r-card);cursor:pointer}
:is(.screen,.desk) .askdrop:hover .askdropname{color:var(--ink)}
:is(.screen,.desk) .askdrop:disabled{opacity:.5;cursor:default}
:is(.screen,.desk) .askdropname{font-size:var(--t-sm);font-weight:600}
:is(.screen,.desk) .askdropwhy{color:var(--ink-faint);font-size:var(--t-xs);line-height:1.3}
:is(.screen,.desk) .body:has(> .deck){--deck-gap: calc(.8 * var(--rem));padding-bottom:var(--deck-gap)}
:is(.screen,.desk) .deck{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:flex-end;gap:calc(.4 * var(--rem));margin-top:calc(var(--deck-gap) - var(--body-gap))}
:is(.screen,.desk) .deck > .wchips{flex:0 1 auto;min-width:0}
:is(.screen,.desk) .deckuse{flex:none;align-self:center;margin-right:auto;border:0;background:none;font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:calc(.45 * var(--rem));height:calc(30 * var(--r) / 15);padding:0 calc(.45 * var(--rem));border-radius:var(--r-pill);box-shadow:inset 0 0 0 var(--hair) var(--edge);font-family:var(--mono);font-size:var(--t-sm);font-variant-numeric:tabular-nums;color:var(--ink-dim);white-space:nowrap}
:is(.screen,.desk) .deckuse:active{background:var(--glass)}
:is(.screen,.desk) .deckuse i{font-style:normal;margin-right:calc(.1 * var(--rem));opacity:.7}
:is(.screen,.desk) .deckin{color:var(--accent)}
:is(.screen,.desk) .deckout{color:var(--accent-2)}
:is(.screen,.desk) .wchips{display:flex;align-items:center;flex-wrap:nowrap;gap:calc(.35 * var(--rem))}
:is(.screen,.desk) .deckright{flex:none;display:flex;align-items:center;gap:calc(.35 * var(--rem))}
:is(.screen,.desk) .workbar{flex:0 0 auto;margin-top:calc(.5 * var(--rem));margin-bottom:0;background:var(--glass);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border-radius:var(--r-card);box-shadow:var(--hairline),var(--drop),var(--gloss);overflow:hidden}
:is(.screen,.desk) .wchip{flex:0 0 auto;display:inline-flex;align-items:center;gap:calc(.3 * var(--rem));height:calc(30 * var(--r) / 15);padding:0 calc(.5 * var(--rem));border:0;border-radius:var(--r-small);background:none;box-shadow:inset 0 0 0 var(--hair) var(--edge);color:var(--ink-dim);font:inherit;font-size:var(--t-sm);cursor:pointer}
:is(.screen,.desk) .wchip svg{width:var(--i-sm);height:var(--i-sm);opacity:.8}
:is(.screen,.desk) .wchip .wnum{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent);min-width:1.2ch;text-align:center}
:is(.screen,.desk) .wchip:active{background:rgba(var(--tint),.12)}
:is(.screen,.desk) .wchip.idle{color:var(--ink-faint)}
:is(.screen,.desk) .wchip.idle svg{opacity:.55}
:is(.screen,.desk) .composerbox{flex:0 0 auto;display:flex;flex-direction:column}
:is(.screen,.desk) .workbar.status{margin-top:0;margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0}
:is(.screen,.desk) .workbar.status + .composer{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}
.screen > .shell, .screen > .deskshell{--tm-blue: #63a8ff;--tm-green: #57d9c0;--tm-cyan: #59c8e8;--tm-purple: #b48bff;--tm-pink: #e07bd8;--tm-red: #ff7ba8;--tm-yellow: #d9c27e;--tm-orange: #e0a06f}
:is(.screen,.desk) .composer{flex:0 0 auto;display:flex;align-items:center;gap:calc(.15 * var(--rem));margin-top:calc(.5 * var(--rem));padding:calc(.25 * var(--rem)) calc(.3 * var(--rem)) calc(.25 * var(--rem)) calc(.75 * var(--rem));background:rgba(var(--tint),.06);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);border:0;border-radius:var(--r-card);box-shadow:inset 0 0 0 var(--hair) var(--edge),var(--gloss)}
:is(.screen,.desk) .composer:focus-within{box-shadow:inset 0 0 0 var(--hair) color-mix(in srgb,var(--accent) 45%,transparent),var(--gloss),var(--glow)}
:is(.screen,.desk) .composer textarea{flex:1;max-height:calc(7 * var(--rem));resize:none;border:0;background:none;color:var(--ink);font:inherit;font-size:var(--t-base);line-height:1.45;padding:calc(.45 * var(--rem)) 0;outline:none;caret-color:var(--accent)}
:is(.screen,.desk) .composer .iconbtn{width:calc(38 * var(--r) / 15);height:calc(38 * var(--r) / 15);background:none;box-shadow:none}
:is(.screen,.desk) .composer .iconbtn svg{width:var(--i-md);height:var(--i-md)}
:is(.screen,.desk) .composer .pickfile{color:var(--ink-faint)}
:is(.screen,.desk) .composer .iconbtn.accent:active, :is(.screen,.desk) .composer .pickfile:active{background:var(--glass)}
:is(.screen,.desk) .composer .iconbtn.sendbtn{align-self:flex-start;margin:calc(.2 * var(--rem)) 0;border-radius:var(--r-small)}
:is(.screen,.desk) .composer .iconbtn.sendbtn{background:var(--accent);color:var(--on-accent)}
:is(.screen,.desk) .composer .iconbtn.sendbtn:active{background:color-mix(in srgb,var(--accent) 82%,var(--on-accent))}
:is(.screen,.desk) .composer .iconbtn.sendbtn:disabled{opacity:1;background:none;color:var(--ink-faint);box-shadow:inset 0 0 0 var(--hair) var(--edge)}
:is(.screen,.desk) .composer .iconbtn.accent{touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}
:is(.screen,.desk) .composer textarea::placeholder{color:var(--ink-faint)}
:is(.screen,.desk) .composer textarea:disabled{color:var(--ink-faint)}
:is(.screen,.desk) .pickfile{cursor:pointer}
:is(.screen,.desk) .composer{flex-wrap:wrap}
:is(.screen,.desk) .slashbox{flex:1 0 100%;min-width:0;position:relative;margin-bottom:calc(.2 * var(--rem))}
:is(.screen,.desk) .slashlist{display:flex;flex-direction:column;max-height:calc(11 * var(--rem));overflow-y:auto}
:is(.screen,.desk) .slashitem{display:flex;align-items:baseline;gap:calc(.5 * var(--rem));width:100%;min-height:calc(34 * var(--r) / 15);padding:calc(.3 * var(--rem)) calc(.5 * var(--rem));border:0;border-radius:var(--r-small);background:none;color:var(--ink);font:inherit;font-size:var(--t-sm);text-align:left;cursor:pointer}
:is(.screen,.desk) .slashitem:active{background:var(--glass-2)}
:is(.screen,.desk) .slashname{flex:none;color:var(--accent)}
:is(.screen,.desk) .slashtag{flex:none;padding:0 calc(.3 * var(--rem));border-radius:var(--r-small);box-shadow:inset 0 0 0 var(--hair) var(--edge);color:var(--ink-faint);font-size:var(--t-xs)}
:is(.screen,.desk) .slashhint{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-faint);font-size:var(--t-xs)}
:is(.screen,.desk) .slashbox.theirs .slashlist{max-height:calc(16 * var(--rem))}
:is(.screen,.desk) .slashbox.theirs .slashitem{flex-wrap:wrap;row-gap:0}
:is(.screen,.desk) .slashbox.theirs .slashhint{flex:1 0 100%}
@media (hover: hover) and (pointer: fine){:is(.screen,.desk) .slashitem.hot{background:var(--glass-2)}}
.screen:has(> .deskshell) .slashbox.theirs .slashlist{width:min(calc(19 * var(--rem)),100%);max-height:calc(22 * var(--rem))}
:is(.screen,.desk) .wchip.wants{position:relative}
:is(.screen,.desk) .wchip.wants::after{content:"";position:absolute;top:calc(3 * var(--r) / 15);right:calc(3 * var(--r) / 15);width:calc(6 * var(--r) / 15);height:calc(6 * var(--r) / 15);border-radius:50%;background:var(--accent);box-shadow:0 0 0 calc(2 * var(--r) / 15) var(--bg)}
:is(.screen,.desk) .nowbar{flex:1 1 auto;display:flex;flex-direction:column;gap:calc(.3 * var(--rem));padding:calc(.5 * var(--rem)) calc(.7 * var(--rem)) calc(.55 * var(--rem));min-width:0;text-align:left}
:is(.screen,.desk) .nowtop{display:flex;align-items:center;gap:calc(.45 * var(--rem));min-width:0;font-size:var(--t-sm)}
:is(.screen,.desk) .nowdot{flex:none;width:calc(6 * var(--r) / 15);height:calc(6 * var(--r) / 15);border-radius:50%;background:var(--accent);box-shadow:0 0 calc(8 * var(--r) / 15) var(--accent);animation:pulse 1.6s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){:is(.screen,.desk) .nowdot{animation:none}}
:is(.screen,.desk) .nowword{font-weight:800;color:var(--accent)}
:is(.screen,.desk) .nowname{flex:0 1 auto;min-width:calc(2.5 * var(--rem));font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.screen,.desk) .nowel{flex:none;margin-left:auto;display:flex;align-items:baseline;gap:calc(.3 * var(--rem));font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-lg);color:var(--ink)}
:is(.screen,.desk) .nowel span{font-family:var(--sans);font-size:var(--t-xs);color:var(--ink-faint)}
:is(.screen,.desk) .nowrow{display:flex;align-items:center;gap:calc(.6 * var(--rem));min-width:0}
:is(.screen,.desk) .nowargbox{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;gap:calc(.4 * var(--rem))}
:is(.screen,.desk) .nowchips{flex:none;display:flex;align-items:center;gap:calc(.3 * var(--rem))}
:is(.screen,.desk) .msg{font-family:var(--serif);font-size:var(--t-base);line-height:1.55;letter-spacing:.002em;color:var(--ink-dim);overflow-wrap:anywhere}
:is(.screen,.desk) .msg.ai b{color:var(--ink)}
:is(.screen,.desk) .mstamp{align-self:flex-end;margin-top:calc(-.28 * var(--rem));padding-right:calc(.2 * var(--rem));font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-faint);letter-spacing:.04em}
:is(.screen,.desk) .msg.me{align-self:flex-end;max-width:84%;font-size:var(--t-base);color:var(--ink);background:color-mix(in srgb,var(--accent) 24%,transparent);border:0;border-radius:var(--r-bubble) var(--r-bubble) var(--r-small) var(--r-bubble);padding:calc(.5 * var(--rem)) calc(.75 * var(--rem))}
:is(.screen,.desk) .mfiles{display:flex;flex-direction:column;align-items:flex-start;gap:calc(.3 * var(--rem));margin-top:calc(.5 * var(--rem))}
:is(.screen,.desk) .mflist{width:100%;display:flex;flex-direction:column;border-radius:var(--r-card);overflow:hidden}
:is(.screen,.desk) .mfile{display:grid;grid-template-columns:calc(16 * var(--r) / 15) minmax(0,1fr) auto;align-items:center;gap:calc(.5 * var(--rem));padding:calc(.32 * var(--rem)) calc(.5 * var(--rem));border:0;border-radius:var(--r-card);background:var(--glass);box-shadow:var(--hairline);color:inherit;text-align:left;font:inherit;cursor:pointer}
:is(.screen,.desk) .mfile:active{background:var(--glass-2)}
:is(.screen,.desk) .mflist .mfile{border-radius:0}
:is(.screen,.desk) .mfile + .mfile{box-shadow:var(--hairline),inset 0 var(--hair) 0 var(--line)}
:is(.screen,.desk) .mfico{width:calc(16 * var(--r) / 15);height:calc(16 * var(--r) / 15);color:var(--accent)}
:is(.screen,.desk) .mfico svg{width:100%;height:100%;display:block}
:is(.screen,.desk) .mfname{min-width:0;font-size:var(--t-sm);font-weight:600;color:var(--ink);overflow-wrap:anywhere}
:is(.screen,.desk) .mfsize{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--t-xs);color:var(--ink-faint);white-space:nowrap}
:is(.screen,.desk) .sent{align-self:stretch;display:flex;flex-direction:column;gap:calc(.4 * var(--rem));padding:calc(.6 * var(--rem)) calc(.8 * var(--rem)) calc(.65 * var(--rem)) calc(.7 * var(--rem));border-radius:var(--r-card);background:var(--glass);box-shadow:var(--hairline);overflow-wrap:anywhere}
:is(.screen,.desk) .senthead{display:flex;align-items:center;gap:calc(.4 * var(--rem));font-size:var(--t-xs);color:var(--ink-faint)}
:is(.screen,.desk) .sentico{display:flex;width:calc(15 * var(--r) / 15);height:calc(15 * var(--r) / 15);color:var(--accent);flex:none}
:is(.screen,.desk) .sentico svg{width:100%;height:100%}
:is(.screen,.desk) .sentlabel{font-family:var(--mono);font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);flex:none}
:is(.screen,.desk) .sentat{margin-left:auto;font-size:var(--t-xs);flex:none}
:is(.screen,.desk) .sentcap{font-size:var(--t-md);line-height:1.45;color:var(--ink)}
:is(.screen,.desk) .sentcap p{margin:0 0 calc(.5 * var(--rem))}
:is(.screen,.desk) .sentcap p:last-child{margin-bottom:0}
:is(.screen,.desk) .sent .mflist{background:var(--glass-2)}
:is(.screen,.desk) .mfile.tagged{grid-template-columns:auto minmax(0,1fr) auto;padding:calc(.45 * var(--rem)) calc(.55 * var(--rem))}
:is(.screen,.desk) .mftag{padding:calc(.1 * var(--rem)) calc(.35 * var(--rem));border-radius:var(--r-small);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-family:var(--mono);font-size:var(--t-xs);font-weight:500;letter-spacing:.06em;line-height:1.3}
:is(.screen,.desk) .mtools{align-self:flex-start;display:flex;align-items:center;gap:calc(.3 * var(--rem));padding:calc(.2 * var(--rem)) calc(.5 * var(--rem)) calc(.2 * var(--rem)) calc(.4 * var(--rem));border:0;border-radius:var(--r-pill);background:none;box-shadow:inset 0 0 0 var(--hair) var(--edge);color:var(--ink-dim);font-size:var(--t-xs);cursor:pointer}
:is(.screen,.desk) .mtools:active{background:var(--glass)}
:is(.screen,.desk) .mtools:active{border-color:var(--edge);color:var(--ink)}
:is(.screen,.desk) .mticon{display:flex;width:calc(15 * var(--r) / 15);height:calc(15 * var(--r) / 15)}
:is(.screen,.desk) .mticon svg{width:100%;height:100%}
:is(.screen,.desk) .cnmark.k-bash{color:var(--accent)}
:is(.screen,.desk) .cnmark.k-time, :is(.screen,.desk) .cnmark.k-mcp{color:var(--ink-dim)}
:is(.screen,.desk) .mtnum{font-variant-numeric:tabular-nums;font-weight:600}
:is(.screen,.desk) .mthink{color:var(--ink-faint)}
:is(.screen,.desk) .mthink .mtnum{color:var(--ink-dim);font-weight:600}
:is(.screen,.desk) .mmtag{margin:0 0 var(--s1);font-family:var(--mono);font-size:var(--t-xs);line-height:1.3;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint)}
:is(.screen,.desk) .mshell{align-self:stretch;display:flex;align-items:baseline;gap:calc(.5 * var(--rem));padding:calc(.45 * var(--rem)) calc(.7 * var(--rem));border-radius:var(--r-card);background:rgba(var(--tint),.04);box-shadow:inset calc(2 * var(--r) / 15) 0 color-mix(in srgb,var(--accent) 65%,transparent);font-family:var(--code);font-size:var(--t-sm);color:var(--ink);overflow-wrap:anywhere}
:is(.screen,.desk) .mshellmark{flex:none;color:var(--accent);font-weight:600}
:is(.screen,.desk) .mshellcmd{flex:1 1 auto;min-width:0;white-space:pre-wrap}
:is(.screen,.desk) .mshellout{align-self:stretch;margin:calc(-.25 * var(--rem)) 0 0;padding:calc(.5 * var(--rem)) calc(.7 * var(--rem));border-radius:var(--r-card);background:var(--code-bg);box-shadow:inset 0 0 0 var(--hair) var(--line);font-family:var(--code);font-size:var(--t-xs);line-height:1.5;color:var(--ink-dim);white-space:pre-wrap;overflow-wrap:anywhere}
:is(.screen,.desk) .feedgrid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) calc(44 * var(--r) / 15);align-items:start;padding-top:var(--s2)}
:is(.screen,.desk) .feedcol{display:flex;flex-direction:column;gap:var(--s3);min-width:0}
:is(.screen,.desk) .feedrow{display:flex;flex-direction:column;gap:var(--s2);min-width:0}
:is(.screen,.desk) .feedrow.r-me{margin-top:calc(var(--s4) - var(--s3))}
:is(.screen,.desk) .feedcol > .feedrow:first-child{margin-top:0}
:is(.screen,.desk) .feedrow .mstamp{margin-top:calc(-1 * var(--s1))}
:is(.screen,.desk) .feedcol .msg p{margin:0 0 var(--s3)}
:is(.screen,.desk) .feedcol .msg > :last-child, :is(.screen,.desk) .feedcol .msg > :last-child > :last-child{margin-bottom:0}
:is(.screen,.desk) .feedrow.r-mind{padding-left:var(--s3);box-shadow:inset calc(1 * var(--r) / 15) 0 color-mix(in srgb,var(--ink-faint) 55%,transparent)}
:is(.screen,.desk) .rail{position:relative;align-self:stretch}
:is(.screen,.desk) .rail::before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:var(--hair) solid var(--line)}
:is(.screen,.desk) .railstack{position:absolute;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--badge-gap)}
:is(.screen,.desk) .railbadge{position:relative;flex:0 0 var(--badge-h);min-width:calc(40 * var(--r) / 15);display:flex;align-items:center;justify-content:center;gap:calc(3 * var(--r) / 15);padding:0 calc(4 * var(--r) / 15);border:0;border-radius:var(--r-pill);background:var(--glass),var(--void);box-shadow:var(--hairline),inset 0 0 0 var(--hair) var(--edge);color:var(--ink-dim);font:inherit;cursor:pointer}
:is(.screen,.desk) .railbadge::after{content:"";position:absolute;inset:calc(var(--badge-gap) / -2) calc(-2 * var(--r) / 15)}
:is(.screen,.desk) .railbadge:active{background:var(--glass-2),var(--void)}
:is(.screen,.desk) .rbicon{display:flex;width:calc(13 * var(--r) / 15);height:calc(13 * var(--r) / 15);flex:none}
:is(.screen,.desk) .rbicon svg{width:100%;height:100%}
:is(.screen,.desk) .rbnum{font-size:var(--t-xs);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink-dim)}
:is(.screen,.desk) .railbadge.failed{box-shadow:var(--hairline),inset 0 0 0 calc(1 * var(--r) / 15) var(--crit)}
:is(.screen,.desk) .railbadge.failed .rbnum{color:var(--crit)}
:is(.screen,.desk) :is(.railbadge, .tlcall).k-bash :is(.rbicon, .tlicon){color:var(--accent)}
:is(.screen,.desk) :is(.railbadge, .tlcall).k-files :is(.rbicon, .tlicon){color:var(--accent-2)}
:is(.screen,.desk) :is(.railbadge, .tlcall):is(.k-agents, .k-skill) :is(.rbicon, .tlicon){color:var(--ctx-3)}
:is(.screen,.desk) :is(.railbadge, .tlcall):is(.k-mcp, .k-other, .k-time, .k-hook) :is(.rbicon, .tlicon){color:var(--ink-dim)}
:is(.screen,.desk) .railbadge:is(.k-think, .k-turn) .rbicon{color:var(--ink-faint)}
.screen:has(> .deskshell) .feedgrid.desk{grid-template-columns:minmax(0,1fr) calc(16.5 * var(--rem));column-gap:calc(1.6 * var(--rem))}
:is(.screen,.desk) .tline{position:relative;align-self:stretch;border-left:var(--hair) solid var(--line)}
:is(.screen,.desk) .tlentry{position:absolute;left:0;right:0;display:flex;flex-direction:column;gap:calc(.12 * var(--rem));padding:0 0 0 calc(.9 * var(--rem));border:0;background:none;color:var(--ink-dim);font:inherit;text-align:left;cursor:pointer}
:is(.screen,.desk) .tlentry::before{content:"";position:absolute;left:calc(-3.5 * var(--r) / 15);top:calc(.42 * var(--rem));width:calc(7 * var(--r) / 15);height:calc(7 * var(--r) / 15);border-radius:50%;background:var(--ink-faint);box-shadow:0 0 0 calc(3 * var(--r) / 15) var(--void)}
:is(.screen,.desk) .tlentry.k-bash::before{background:var(--accent)}
:is(.screen,.desk) .tlentry.k-files::before{background:var(--accent-2)}
:is(.screen,.desk) .tlentry:is(.k-agents, .k-skill)::before{background:var(--ctx-3)}
:is(.screen,.desk) .tlentry.failed::before{background:var(--crit)}
:is(.screen,.desk) .tlhead{display:flex;align-items:baseline;gap:calc(.5 * var(--rem));min-width:0;font-size:var(--t-xs);line-height:1.5;white-space:nowrap}
:is(.screen,.desk) .tltime{flex:none;font-family:var(--mono);color:var(--ink-faint)}
:is(.screen,.desk) .tlsum{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--ink);font-weight:600}
:is(.screen,.desk) .tldur{flex:none;font-family:var(--mono);color:var(--ink-faint)}
:is(.screen,.desk) .tlcall{display:flex;align-items:center;gap:calc(.4 * var(--rem));min-width:0;font-family:var(--mono);font-size:var(--t-xs);line-height:1.5;color:var(--ink-dim);white-space:nowrap}
:is(.screen,.desk) .tlcall.failed .tlarg{color:var(--crit)}
:is(.screen,.desk) .tlicon{flex:none;display:flex;width:calc(.8 * var(--rem));height:calc(.8 * var(--rem))}
:is(.screen,.desk) .tlicon svg{width:100%;height:100%}
:is(.screen,.desk) .tlarg{min-width:0;overflow:hidden;text-overflow:ellipsis}
:is(.screen,.desk) .tlmore{padding-left:calc(1.2 * var(--rem));font-size:var(--t-xs);line-height:1.5;color:var(--ink-faint)}
:is(.screen,.desk) .tlfiles{display:flex;gap:calc(.3 * var(--rem));min-width:0;overflow:hidden;margin-top:calc(.15 * var(--rem))}
:is(.screen,.desk) .tlfile{flex:none;padding:calc(.05 * var(--rem)) calc(.35 * var(--rem));border-radius:var(--r-small);background:var(--glass);box-shadow:var(--hairline);font-family:var(--mono);font-size:var(--t-xs);line-height:1.45;color:var(--ink-faint);white-space:nowrap}
:is(.screen,.desk) .tlfile.wrote{color:var(--accent-2)}
:is(.screen,.desk) .tlentry:active .tlsum{color:var(--accent)}
:is(.screen,.desk) .tlentry.k-think .tlsum{color:var(--ink-faint);font-weight:400}
:is(.screen,.desk) .tlentry.k-think::before{width:calc(5 * var(--r) / 15);height:calc(5 * var(--r) / 15);left:calc(-2.5 * var(--r) / 15);top:calc(.5 * var(--rem))}
:is(.screen,.desk) .sent .senthead{min-width:0}
:is(.screen,.desk) .sentat{padding-left:var(--s2)}
:is(.screen,.desk) .mletterwho{margin-top:calc(-1 * var(--s1));font-size:var(--t-sm);font-weight:600;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
:is(.screen,.desk) .mletterbody.closed{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
:is(.screen,.desk) .mletterbody.closed p{margin:0}
:is(.screen,.desk) .mletter.out .sentico{color:var(--ink-dim)}
:is(.screen,.desk) .mlettermore .mfico{color:var(--ink-faint)}
:is(.screen,.desk) .mlettermore .mfname{font-weight:500;color:var(--ink-dim)}
:is(.screen,.desk) .mtask{width:100%}
:is(.screen,.desk) .mtask .mftag{display:grid;place-items:center;width:calc(1.5 * var(--rem));height:calc(1.5 * var(--rem));padding:0;font-size:var(--t-md);font-weight:700;letter-spacing:0;line-height:1}
:is(.screen,.desk) .mtasks .sentlabel{flex:0 1 auto;min-width:0}
:is(.screen,.desk) .mtask .mfname{line-height:1.35}
:is(.screen,.desk) .mtask .crgo{width:calc(12 * var(--r) / 15);height:calc(12 * var(--r) / 15)}
:is(.screen,.desk) :is(.mtask, .askedrow).s-ok .mftag{color:var(--ok);background:color-mix(in srgb,var(--ok) 15%,transparent)}
:is(.screen,.desk) :is(.mtask, .askedrow).s-faint .mftag{color:var(--ink-faint);background:var(--glass-2)}
:is(.screen,.desk) .askedrow{display:flex;flex-direction:column;align-items:flex-start;gap:calc(.25 * var(--rem));padding:calc(.5 * var(--rem)) calc(.6 * var(--rem)) calc(.55 * var(--rem));cursor:default}
:is(.screen,.desk) .askedrow:active{background:var(--glass)}
:is(.screen,.desk) .askedrow .mftag{text-transform:uppercase}
:is(.screen,.desk) .askedq{font-size:var(--t-sm);line-height:1.4;color:var(--ink-dim)}
:is(.screen,.desk) .askedsubj{font-family:var(--code);font-size:var(--t-xs);line-height:1.5;color:var(--ink-dim)}
:is(.screen,.desk) .askeda{font-size:var(--t-sm);font-weight:600;line-height:1.35;color:var(--ink)}
:is(.screen,.desk) .mflist > .artifact{align-self:auto;gap:calc(.55 * var(--rem));padding:calc(.5 * var(--rem)) calc(.6 * var(--rem));border-radius:0;background:var(--glass);box-shadow:var(--hairline)}
:is(.screen,.desk) .mflist > .artifact:active{background:var(--glass-2)}
:is(.screen,.desk) .mflist > .artifact .arico{font-size:var(--t-lg)}
:is(.screen,.desk) .mflist > .artifact .artitle{font-size:var(--t-sm);line-height:1.35}
:is(.screen,.desk) .mflist > .artifact .ardesc{font-size:var(--t-xs)}
:is(.screen,.desk) .mflist > .artifact .brico{width:calc(16 * var(--r) / 15);height:calc(16 * var(--r) / 15)}
:is(.screen,.desk) .mflist > .artifact .crgo{width:calc(12 * var(--r) / 15);height:calc(12 * var(--r) / 15)}
:is(.screen,.desk) .mletter.k-wake .sentico{color:var(--ink-dim)}
:is(.screen,.desk) .workbar.status.checklisted{flex-direction:column;align-items:stretch}
:is(.screen,.desk) .ckline{display:flex;align-items:center;gap:calc(.5 * var(--rem));width:100%;min-width:0;padding:calc(.5 * var(--rem)) calc(.7 * var(--rem)) calc(.45 * var(--rem));border:0;background:none;color:inherit;font:inherit;font-size:var(--t-sm);text-align:left;cursor:pointer}
:is(.screen,.desk) .ckline:not(:last-child){border-bottom:var(--hair) solid var(--line)}
:is(.screen,.desk) .ckline:active{background:rgba(var(--tint),.06)}
:is(.screen,.desk) .ckword{flex:none;font-weight:800;color:var(--accent-2)}
:is(.screen,.desk) .cknum{flex:none;font-size:var(--t-xs);color:var(--ink-faint);font-variant-numeric:tabular-nums}
:is(.screen,.desk) .ckstep{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
:is(.screen,.desk) .ckchev{flex:none;display:flex;width:calc(.85 * var(--rem));height:calc(.85 * var(--rem));color:var(--ink-faint)}
:is(.screen,.desk) .ckchev svg{width:100%;height:100%}
:is(.screen,.desk) .ckticks{flex:none;margin-left:auto;display:flex;gap:calc(3 * var(--r) / 15);width:min(calc(var(--n) * calc(12 * var(--r) / 15)),calc(6 * var(--rem)))}
:is(.screen,.desk) .ckticks i{flex:1 1 0;min-width:calc(1 * var(--r) / 15);height:calc(3 * var(--r) / 15);border-radius:calc(2 * var(--r) / 15);background:rgba(var(--tint),.16)}
:is(.screen,.desk) .ckticks i.t-done{background:var(--accent-2)}
:is(.screen,.desk) .ckticks i.t-active{background:var(--accent);box-shadow:0 0 calc(6 * var(--r) / 15) var(--accent)}
:is(.screen,.desk) .cklist{list-style:none;margin:0;padding:0 0 calc(1.5 * var(--rem))}
:is(.screen,.desk) .ckitem{display:flex;align-items:flex-start;gap:calc(.6 * var(--rem));padding:calc(.5 * var(--rem)) 0;border-top:var(--hair) solid var(--line);font-size:var(--t-sm);line-height:1.4}
:is(.screen,.desk) .ckitem:first-child{border-top:0}
:is(.screen,.desk) .ckmark{flex:none;display:grid;place-items:center;width:calc(1 * var(--rem));height:calc(1 * var(--rem));margin-top:.1em;border-radius:50%;box-shadow:inset 0 0 0 calc(1 * var(--r) / 15) var(--ink-faint);color:var(--ink-faint)}
:is(.screen,.desk) .ckmark svg{width:70%;height:70%}
:is(.screen,.desk) .ckitem.s-done .ckmark{box-shadow:none;background:color-mix(in srgb,var(--accent-2) 26%,transparent);color:var(--accent-2)}
:is(.screen,.desk) .ckitem.s-active .ckmark{box-shadow:0 0 calc(8 * var(--r) / 15) var(--accent);background:var(--accent)}
:is(.screen,.desk) .cktext{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;color:var(--ink-faint)}
:is(.screen,.desk) .ckitem.s-done .cktext{color:var(--ink-dim)}
:is(.screen,.desk) .ckitem.now .cktext{color:var(--ink);font-weight:600}
:is(.screen,.desk) .ckat{flex:none;font-size:var(--t-xs);line-height:1.7;color:var(--ink-faint);font-variant-numeric:tabular-nums}
:is(.screen,.desk) .ckitem.now .ckat{color:var(--accent)}
:is(.screen,.desk) .ckcol{position:sticky;top:0;z-index:2;margin:0 0 var(--s3) calc(-1 * var(--s2));padding:calc(.5 * var(--rem)) calc(.7 * var(--rem));border-radius:var(--r-card);background:var(--glass),var(--void);box-shadow:var(--hairline),inset 0 0 0 var(--hair) var(--edge),var(--drop)}
:is(.screen,.desk) .ckhead{display:flex;align-items:center;gap:calc(.5 * var(--rem));width:100%;min-width:0;padding:0;border:0;background:none;color:inherit;font:inherit;font-size:var(--t-sm);text-align:left;cursor:pointer}
:is(.screen,.desk) .ckfold{flex:none;margin-left:auto;display:flex;width:calc(.85 * var(--rem));height:calc(.85 * var(--rem));color:var(--ink-faint);transform:rotate(-90deg)}
:is(.screen,.desk) .ckfold svg{width:100%;height:100%}
:is(.screen,.desk) .ckhead:hover .ckfold{color:var(--ink)}
:is(.screen,.desk) .ckcol .cklist{margin-top:calc(.3 * var(--rem));padding:0;max-height:50cqh;overflow-y:auto}
:is(.screen,.desk) .ckcol .ckitem{gap:calc(.5 * var(--rem));padding:calc(.3 * var(--rem)) 0;font-size:var(--t-xs)}
:is(.screen,.desk) .ckcol .ckmark{width:calc(.8 * var(--rem));height:calc(.8 * var(--rem))}
:is(.screen,.desk) .ckcol .ckat{line-height:1.4}
:is(.screen,.desk) .artifact{align-self:stretch;display:flex;align-items:center;gap:calc(.6 * var(--rem));padding:calc(.6 * var(--rem)) calc(.8 * var(--rem));border-radius:var(--r-card);background:var(--glass);box-shadow:inset 0 0 0 var(--hair) var(--edge),var(--gloss);color:inherit;text-decoration:none;overflow-wrap:anywhere}
:is(.screen,.desk) .artifact:active{background:var(--glass-2)}
:is(.screen,.desk) .arico{font-size:var(--t-xl);line-height:1;flex:none}
:is(.screen,.desk) .arbody{min-width:0;display:flex;flex-direction:column;gap:calc(.1 * var(--rem));flex:1 1 auto}
:is(.screen,.desk) .artitle{font-weight:600;font-size:var(--t-md);color:var(--ink)}
:is(.screen,.desk) .ardesc{font-size:var(--t-sm);color:var(--ink-dim)}
:is(.screen,.desk) .armeta{display:flex;align-items:center;gap:calc(.4 * var(--rem));font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-faint)}
:is(.screen,.desk) .artifact.arbrief{width:100%;border:0;font:inherit;text-align:left;cursor:pointer}
:is(.screen,.desk) .brico{display:flex;width:calc(20 * var(--r) / 15);height:calc(20 * var(--r) / 15);flex:none;color:var(--accent)}
:is(.screen,.desk) .brico svg{width:100%;height:100%}
:is(.screen,.desk) .pkchip{padding:calc(.2 * var(--rem)) calc(.5 * var(--rem));border:0;border-radius:var(--r-small);background:none;font:inherit;font-size:var(--t-sm);color:var(--ink-dim);cursor:pointer}
:is(.screen,.desk) .pkchip:hover{background:var(--surface);color:var(--ink)}
:is(.screen,.desk) .pkchip:disabled{background:none;color:var(--ink-dim);cursor:default}
:is(.screen,.desk) .composer:has(.cstrip){flex-wrap:wrap;row-gap:0}
:is(.screen,.desk) .cstrip{flex:0 0 auto;width:calc(100% + calc(1.05 * var(--rem)));display:flex;align-items:center;gap:calc(.4 * var(--rem));margin:calc(.3 * var(--rem)) calc(-.3 * var(--rem)) calc(-.25 * var(--rem)) calc(-.75 * var(--rem));padding:calc(.1 * var(--rem)) calc(.3 * var(--rem));background:var(--strip-bg);border-top:var(--hair) solid var(--edge);border-radius:0 0 var(--r-card) var(--r-card)}
:is(.screen,.desk) .cstrip .pkchip{display:flex;align-items:center;gap:calc(.35 * var(--rem));min-height:calc(2.5 * var(--rem));padding:0 calc(.55 * var(--rem));font-size:var(--t-sm);color:var(--ink-dim)}
:is(.screen,.desk) .cstrip .pkchip svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .cstrip .pickfile{width:calc(2.5 * var(--rem));height:calc(2.5 * var(--rem))}
:is(.screen,.desk) .pkcmds{display:flex;align-items:center;justify-content:center;min-width:calc(2.5 * var(--rem));min-height:calc(2.5 * var(--rem));padding:0;border:0;border-radius:var(--r-small);background:none;color:var(--ink-dim);cursor:pointer}
:is(.screen,.desk) .pkcmds:hover{background:var(--surface);color:var(--ink)}
:is(.screen,.desk) .pkcmds svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .calltime{position:relative;display:flex;flex-direction:column;gap:calc(.1 * var(--rem));overflow-y:auto;padding-bottom:calc(1 * var(--rem))}
:is(.screen,.desk) .calltime > *{flex:0 0 auto}
:is(.screen,.desk) .calltime::before{content:"";position:absolute;left:calc(15 * var(--r) / 15);top:calc(18 * var(--r) / 15);bottom:calc(calc(1 * var(--rem)) + calc(18 * var(--r) / 15));width:calc(1 * var(--r) / 15);background:var(--surface-3)}
:is(.screen,.desk) .callnode{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:calc(.55 * var(--rem));width:100%;padding:calc(.4 * var(--rem)) calc(.5 * var(--rem)) calc(.4 * var(--rem)) 0;border:0;border-radius:var(--r-card);background:none;text-align:left;cursor:pointer}
:is(.screen,.desk) .callnode:active{background:var(--glass)}
:is(.screen,.desk) .cnmark{width:calc(30 * var(--r) / 15);height:calc(30 * var(--r) / 15);display:grid;place-items:center;border-radius:var(--r-small);background:var(--glass-2);box-shadow:var(--hairline);color:var(--accent);flex:none}
:is(.screen,.desk) .cnmark svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .cnbody{min-width:0;display:flex;flex-direction:column;gap:calc(.05 * var(--rem))}
:is(.screen,.desk) .cnname{font-size:var(--t-xs);color:var(--ink);overflow-wrap:anywhere}
:is(.screen,.desk) .cnarg{font-size:var(--t-xs);color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.screen,.desk) .crgo{display:flex;width:calc(14 * var(--r) / 15);height:calc(14 * var(--r) / 15);color:var(--ink-faint)}
:is(.screen,.desk) .crgo svg{width:100%;height:100%}
:is(.screen,.desk) .cdcm{color:var(--ink-dim);font-style:italic}
:is(.screen,.desk) .cdkw{color:var(--accent)}
:is(.screen,.desk) .artifact.arhere{width:100%;border:0;font:inherit;text-align:left;cursor:pointer}
:is(.screen,.desk) .msg.withdrawn{opacity:.45}
:is(.screen,.desk) .msg.ai{color:var(--ink)}
:is(.screen,.desk) .msg p{margin:0 0 calc(.8 * var(--rem))}
:is(.screen,.desk) .msg p:last-child{margin-bottom:0}
:is(.screen,.desk) .msg code{font-family:var(--code);font-size:.82em;color:var(--accent-2);background:#96aaff1a;border-radius:var(--r-small);padding:.06em .3em;overflow-wrap:anywhere}
:is(.screen,.desk) .mdcode code{background:none;padding:0;border-radius:0}
:is(.screen,.desk) .msg b{font-weight:700}
:is(.screen,.desk) code.copyable{cursor:copy;transition:background-color .2s}
:is(.screen,.desk) .mdcode{position:relative;margin:var(--s2) 0 var(--s3);border-radius:var(--r-card);background:var(--code-bg);box-shadow:inset 0 0 0 var(--hair) var(--line);overflow:hidden}
:is(.screen,.desk) .mdcode pre{margin:0;padding:calc(.6 * var(--rem)) calc(.8 * var(--rem));overflow-x:auto;tab-size:4}
:is(.screen,.desk) .mdcode code{font-size:var(--t-sm);line-height:1.55;color:var(--ink-dim);white-space:pre}
:is(.screen,.desk) .mdcopy{flex:0 0 auto;width:calc(1.9 * var(--rem));height:calc(1.4 * var(--rem));padding:0;display:grid;place-items:center;border:0;border-radius:var(--r-small);background:none;color:var(--ink-faint);cursor:pointer}
:is(.screen,.desk) .mdcopy svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .mdcopy:active{background:rgba(var(--tint),.12);color:var(--ink)}
:is(.screen,.desk) :is(.mdcode, .mdtab) > .mdcopy{position:absolute;top:calc(.3 * var(--rem));right:calc(.3 * var(--rem));z-index:1;height:calc(1.9 * var(--rem));background:color-mix(in srgb,var(--void) 62%,transparent);-webkit-backdrop-filter:blur(calc(6 * var(--r) / 15));backdrop-filter:blur(calc(6 * var(--r) / 15));box-shadow:inset 0 0 0 var(--hair) var(--line);color:var(--ink-dim);opacity:.78}
:is(.screen,.desk) :is(.mdcode, .mdtab) > .mdcopy:active{opacity:1;color:var(--ink);background:var(--glass-2)}
:is(.screen,.desk) :is(.mdcode, .mdtab) > .mdcopy svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .cdstrip{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:calc(6 * var(--r) / 15);padding:calc(8 * var(--r) / 15) calc(12 * var(--r) / 15);background:var(--chips-bg);backdrop-filter:var(--blur);border-bottom:var(--hair) solid var(--line)}
:is(.screen,.desk) .cdbase b{color:var(--ink);font-weight:500}
:is(.screen,.desk) .cdhunk{margin:calc(10 * var(--r) / 15) calc(12 * var(--r) / 15);border:var(--hair) solid var(--line);border-radius:var(--r-card);background:var(--surface);overflow:hidden}
:is(.screen,.desk) .cdhead{display:flex;align-items:center;gap:calc(8 * var(--r) / 15);padding:calc(6 * var(--r) / 15) calc(10 * var(--r) / 15);border-bottom:var(--hair) solid var(--line);background:var(--glass);font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-faint)}
:is(.screen,.desk) .cdpath{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.screen,.desk) .cdtag{flex:none;padding:calc(2 * var(--r) / 15) calc(6 * var(--r) / 15);border-radius:var(--r-pill);white-space:nowrap}
:is(.screen,.desk) .cdtag.wt{background:var(--warn-bg);color:var(--warn)}
:is(.screen,.desk) .cdtag.done{background:var(--surface-2);color:var(--ink-dim)}
:is(.screen,.desk) .cdlines{font-family:var(--code);font-size:var(--t-sm);line-height:1.7;background:var(--code-bg);content-visibility:auto;contain-intrinsic-size:auto calc(1200 * var(--r) / 15)}
:is(.screen,.desk) .cdln{display:flex;border-left:calc(2 * var(--r) / 15) solid transparent}
:is(.screen,.desk) .cdgut{display:flex;gap:calc(3 * var(--r) / 15);flex:none;width:3.4em;padding:0 .4em 0 .2em;border:0;background:none;color:var(--ink-faint);font:inherit;text-align:right;font-variant-numeric:tabular-nums;cursor:pointer;touch-action:pan-y;user-select:none}
:is(.screen,.desk) .cdno{flex:1}
:is(.screen,.desk) .cdsign{width:.7em;text-align:center}
:is(.screen,.desk) .cdsrc{flex:1;min-width:0;overflow-x:auto;padding-right:.8em;white-space:pre;color:var(--ink);scrollbar-width:none;overscroll-behavior-x:contain}
:is(.screen,.desk) .cdsrc::-webkit-scrollbar{display:none}
:is(.screen,.desk) .cdln.add{background:var(--ok-bg);border-left-color:var(--ok)}
:is(.screen,.desk) .cdln.add .cdgut{color:var(--ok)}
:is(.screen,.desk) .cdln.del{background:var(--crit-bg);border-left-color:var(--crit)}
:is(.screen,.desk) .cdln.del .cdgut{color:var(--crit)}
:is(.screen,.desk) .cdln.noted .cdgut::after{content:"\25cf";color:var(--accent);font-size:.6em}
:is(.screen,.desk) .cdfn{color:var(--ctx-3)}
.screen:has(> .deskshell) .cdwide{display:grid;grid-template-columns:minmax(0,1fr) clamp(calc(240 * var(--r) / 15),22cqw,calc(340 * var(--r) / 15));flex:1 1 auto;min-height:0}
.screen:has(> .deskshell) .cdmain{display:flex;flex-direction:column;min-width:0;min-height:0}
.screen:has(> .deskshell) .cdscroll{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.screen:has(> .deskshell) .cdtabs{display:flex;flex:none;align-items:stretch;gap:calc(2 * var(--r) / 15);padding:calc(4 * var(--r) / 15) calc(6 * var(--r) / 15) 0;overflow-x:auto;scrollbar-width:none;background:var(--glass);border-bottom:var(--hair) solid var(--line)}
.screen:has(> .deskshell) .cdtabs::-webkit-scrollbar{display:none}
.screen:has(> .deskshell) .cdtab{display:flex;align-items:center;flex:none;max-width:calc(14 * var(--rem));border:var(--hair) solid transparent;border-bottom:0;border-radius:var(--r-card) var(--r-card) 0 0;background:none;color:var(--ink-dim);font-family:var(--mono);font-size:var(--t-xs);cursor:pointer}
.screen:has(> .deskshell) .cdtab.on{background:var(--surface);border-color:var(--line);color:var(--ink)}
.screen:has(> .deskshell) .cdtabpick{border:0;background:none;color:inherit;font:inherit;padding:calc(6 * var(--r) / 15) calc(4 * var(--r) / 15) calc(6 * var(--r) / 15) calc(10 * var(--r) / 15);min-width:0;cursor:pointer}
.screen:has(> .deskshell) .cdtab > .cdtabname{padding:calc(6 * var(--r) / 15) calc(10 * var(--r) / 15)}
.screen:has(> .deskshell) .cdtabname{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.screen:has(> .deskshell) .cdtabx{flex:none;border:0;padding:0 calc(8 * var(--r) / 15) 0 calc(4 * var(--r) / 15);background:none;color:var(--ink-faint);font-size:var(--t-sm);line-height:1;cursor:pointer}
.screen:has(> .deskshell) .cdtabx:hover{color:var(--crit)}
.screen:has(> .deskshell) .cdside{display:flex;flex-direction:column;min-height:0;border-left:var(--hair) solid var(--line);background:var(--surface)}
.screen:has(> .deskshell) .cdsidetabs{display:flex;flex:none;gap:calc(6 * var(--r) / 15);padding:calc(8 * var(--r) / 15) calc(10 * var(--r) / 15);border-bottom:var(--hair) solid var(--line);background:var(--glass)}
.screen:has(> .deskshell) .cdsidebody{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.screen:has(> .deskshell) .cdsplitpick{margin-left:calc(8 * var(--r) / 15)}
:is(.screen,.desk) .cdnotes{display:flex;flex-direction:column;gap:calc(8 * var(--r) / 15);padding:calc(10 * var(--r) / 15) calc(12 * var(--r) / 15);font-size:var(--t-sm)}
:is(.screen,.desk) .cdnhead{display:flex;align-items:baseline;gap:calc(8 * var(--r) / 15)}
:is(.screen,.desk) .cdncount{color:var(--ink);font-weight:600}
:is(.screen,.desk) .cdnstate{color:var(--ink-faint);font-size:var(--t-xs)}
:is(.screen,.desk) .cdnlist{display:flex;flex-direction:column;gap:calc(6 * var(--r) / 15)}
:is(.screen,.desk) .cdnrow{display:flex;align-items:flex-start;gap:calc(2 * var(--r) / 15);border:var(--hair) solid var(--line);border-radius:var(--r-card);background:var(--surface)}
:is(.screen,.desk) .cdnat{display:flex;flex:1;min-width:0;flex-direction:column;gap:calc(3 * var(--r) / 15);padding:calc(8 * var(--r) / 15) calc(10 * var(--r) / 15);border:0;background:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
:is(.screen,.desk) .cdnwhere{font-family:var(--mono);font-size:var(--t-xs);color:var(--accent)}
:is(.screen,.desk) .cdnline{color:var(--ink-faint)}
:is(.screen,.desk) .cdnquote{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--code);font-size:var(--t-xs);color:var(--ink-faint)}
:is(.screen,.desk) .cdntext{font-size:var(--t-sm);white-space:pre-wrap;overflow-wrap:anywhere}
:is(.screen,.desk) .cdnx{display:flex;flex:none;padding:calc(8 * var(--r) / 15);border:0;background:none;color:var(--ink-faint);cursor:pointer}
:is(.screen,.desk) .cdnx svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .cdnx:hover{color:var(--crit)}
:is(.screen,.desk) .cdnfoot{position:sticky;bottom:0;padding-top:calc(6 * var(--r) / 15);background:var(--chips-bg)}
:is(.screen,.desk) .cdnsend{display:flex;align-items:center;justify-content:center;gap:calc(6 * var(--r) / 15);width:100%;padding:calc(9 * var(--r) / 15);border:var(--hair) solid transparent;border-radius:var(--r-small);background:var(--accent);color:var(--on-accent);font:inherit;font-size:var(--t-sm);font-weight:600;cursor:pointer}
:is(.screen,.desk) .cdnsend:disabled{background:var(--glass);border-color:var(--edge);color:var(--ink-faint);cursor:default}
:is(.screen,.desk) .cdnsend svg{width:var(--i-sm);height:var(--i-sm)}
:is(.screen,.desk) .cdnotetab b{color:var(--accent);font-weight:600}
:is(.screen,.desk) .blcard{position:relative;display:flex;flex-direction:column;gap:calc(6 * var(--r) / 15);margin:calc(6 * var(--r) / 15) calc(8 * var(--r) / 15);padding:calc(8 * var(--r) / 15) calc(2.2 * var(--rem)) calc(8 * var(--r) / 15) calc(10 * var(--r) / 15);border:var(--hair) solid var(--edge);border-radius:var(--r-card);background:var(--glass);font-family:var(--sans);font-size:var(--t-sm);line-height:1.45}
:is(.screen,.desk) .blhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:calc(.5 * var(--rem))}
:is(.screen,.desk) .blsha{font-family:var(--code);font-size:var(--t-xs);color:var(--accent)}
:is(.screen,.desk) .blby{font-weight:600;color:var(--ink)}
:is(.screen,.desk) .blat{color:var(--ink-faint);font-size:var(--t-xs)}
:is(.screen,.desk) .blsubj{margin:0;color:var(--ink);overflow-wrap:anywhere}
:is(.screen,.desk) .blopen{align-self:flex-start;display:inline-flex;align-items:baseline;gap:calc(.5 * var(--rem))}
:is(.screen,.desk) .blstate{font-size:var(--t-xs);color:var(--ink-faint)}
:is(.screen,.desk) .blclose{position:absolute;top:calc(4 * var(--r) / 15);right:calc(4 * var(--r) / 15);width:calc(1.8 * var(--rem));height:calc(1.8 * var(--rem));border:0;border-radius:var(--r-small);background:none;color:var(--ink-faint);font-size:var(--t-lg);line-height:1;cursor:pointer}
:is(.screen,.desk) .chev.back{transform:rotate(180deg)}
:is(.screen,.desk) .phead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:0 calc(.5 * var(--rem));margin:calc(.3 * var(--rem)) 0 calc(.4 * var(--rem))}
:is(.screen,.desk) .pback{grid-row:1;align-self:stretch;min-height:calc(34 * var(--r) / 15);width:calc(34 * var(--r) / 15);display:grid;place-items:center;padding:0;border:0;border-radius:var(--r-card);background:var(--glass);box-shadow:var(--hairline);color:var(--accent);cursor:pointer}
:is(.screen,.desk) .pback:active{background:var(--glass-2)}
:is(.screen,.desk) .pback .chev{width:calc(16 * var(--r) / 15);height:calc(16 * var(--r) / 15);color:inherit}
:is(.screen,.desk) .pheadbody{grid-row:1;min-width:0;display:flex;flex-direction:column;gap:calc(.2 * var(--rem));justify-content:center}
:is(.screen,.desk) .pheadbody h2{margin:0;font-size:var(--t-xl);font-weight:600;letter-spacing:-.01em}
:is(.screen,.desk) .pheadtools{grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:calc(.3 * var(--rem));min-width:calc(4.4 * var(--rem))}
:is(.screen,.desk) .phead.talk{align-items:center}
:is(.screen,.desk) .phead.talk .pback{align-self:center;width:calc(44 * var(--r) / 15);min-height:calc(44 * var(--r) / 15)}
:is(.screen,.desk) .phead.talk .pheadtools{min-width:0}
:is(.screen,.desk) .pmore{display:grid;place-items:center;width:calc(44 * var(--r) / 15);height:calc(44 * var(--r) / 15);padding:0;border:0;border-radius:var(--r-card);background:var(--glass);box-shadow:var(--hairline);color:var(--ink-dim);cursor:pointer}
:is(.screen,.desk) .pmore:active{background:var(--glass-2)}
:is(.screen,.desk) .pmore svg{width:var(--i-md);height:var(--i-md)}
:is(.screen,.desk) .phead > .ctxbar{grid-column:1 / -1}
:is(.screen,.desk) .where{font-size:var(--t-xs);color:var(--ink-faint)}
.screen:has(> .deskshell) .pback{background:none;box-shadow:none;color:var(--ink-faint)}
.screen:has(> .deskshell) .pback:hover{color:var(--ink);background:var(--glass)}
:is(.screen,.desk) .chart.spark{margin-top:calc(.3 * var(--rem))}
:is(.screen,.desk) .gate{min-height:100cqh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:calc(.6 * var(--rem));padding:calc(calc(2 * var(--rem)) + env(safe-area-inset-top)) calc(1.5 * var(--rem)) calc(calc(2 * var(--rem)) + env(safe-area-inset-bottom));background:var(--deep);text-align:center}
:is(.screen,.desk) .gate > *{width:min(100%,calc(340 * var(--r) / 15))}
:is(.screen,.desk) .gate-logo{width:calc(64 * var(--r) / 15);height:calc(64 * var(--r) / 15);margin-bottom:calc(.4 * var(--rem));border-radius:var(--r-card)}
:is(.screen,.desk) .gate h1{margin:0;font-size:var(--t-3xl);font-weight:600;letter-spacing:-.01em}
:is(.screen,.desk) .gate-sub{margin:0 0 calc(1.2 * var(--rem));color:var(--ink-dim);font-size:var(--t-md)}
:is(.screen,.desk) .gate .ghost{border:0;box-shadow:none;background:none;color:var(--ink-dim);font-size:var(--t-sm);padding:calc(.6 * var(--rem))}
:is(.screen,.desk) .gate .ghost:active{color:var(--ink)}
:is(.screen,.desk) .gate-enroll{text-align:left}
:is(.screen,.desk) .btn.big{padding:calc(.8 * var(--rem));font-size:var(--t-md)}
:is(.screen,.desk) .gate-enroll{display:flex;flex-direction:column;gap:calc(.5 * var(--rem));padding:calc(.8 * var(--rem));border:0;border-radius:var(--r-card);box-shadow:inset 0 0 0 var(--hair) var(--edge)}
:is(.screen,.desk) .gate-enroll code{font-family:var(--mono);font-size:.95em;color:var(--ink-dim)}
:is(.screen,.desk) .host{display:flex;align-items:center;gap:calc(.35 * var(--rem));flex:none;border:0;padding:0;background:none;color:var(--ink);font:inherit;font-size:var(--t-xl);font-weight:600;letter-spacing:-.01em;cursor:pointer}
:is(.screen,.desk) .caret{color:var(--ink-faint);font-size:.6em}
:is(.screen,.desk) .cardhead{width:100%;border:0;background:none;color:inherit;font:inherit;display:flex;align-items:center;gap:calc(.5 * var(--rem));padding:0 0 calc(.1 * var(--rem));text-align:left;cursor:pointer}
:is(.screen,.desk) .pffield{display:flex;flex-direction:column;gap:calc(.25 * var(--rem));margin-top:calc(.65 * var(--rem))}
:is(.screen,.desk) .pflabel{font-size:var(--t-xs);font-weight:500;color:var(--ink-faint)}
:is(.screen,.desk) .pfhelp{font-size:var(--t-xs);color:var(--ink-faint)}
:is(.screen,.desk) .pffield input:disabled{opacity:.55}
:is(.screen,.desk) .pfsub{display:flex;align-items:center;gap:calc(.5 * var(--rem));margin:calc(.9 * var(--rem)) 0 calc(.1 * var(--rem));font-size:var(--t-sm);font-weight:600;color:var(--ink-faint)}
:is(.screen,.desk) .pfsub::after{content:"";flex:1;height:var(--hair);background:var(--line)}
:is(.screen,.desk) .pzdraft{font-size:var(--t-xs);font-weight:500;color:var(--wait);margin-left:calc(.35 * var(--rem))}
:is(.screen,.desk) .pzhelp{font-size:var(--t-xs);color:var(--ink-faint)}
:is(.screen,.desk) .pzopts{display:flex;flex-wrap:wrap;gap:calc(.35 * var(--rem));align-items:center}
:is(.screen,.desk) .pzopt{font:inherit;font-size:var(--t-sm);font-weight:500;padding:calc(.38 * var(--rem)) calc(.75 * var(--rem));border:0;border-radius:var(--r-pill);background:none;color:var(--ink-dim);box-shadow:inset 0 0 0 var(--hair) var(--edge);cursor:pointer}
:is(.screen,.desk) .pzopt[aria-pressed="true"]{background:var(--accent-bg);color:var(--accent);box-shadow:inset 0 0 0 calc(1 * var(--r) / 15) color-mix(in srgb,var(--accent) 55%,transparent)}
:is(.screen,.desk) .pzadd{font:inherit;font-size:var(--t-sm);color:var(--accent);background:none;border:0;padding:calc(.2 * var(--rem)) 0;cursor:pointer;align-self:flex-start}
:is(.screen,.desk) .pzdanger{display:flex;flex-direction:column;gap:calc(.4 * var(--rem));align-items:flex-start;margin-top:calc(1.4 * var(--rem));padding:calc(.75 * var(--rem));border-radius:var(--r-card);box-shadow:inset 0 0 0 var(--hair) color-mix(in srgb,var(--crit) 45%,transparent);background:color-mix(in srgb,var(--crit) 6%,transparent)}
:is(.screen,.desk) .pzdangertitle{font-size:var(--t-sm);font-weight:600;color:var(--crit)}
:is(.screen,.desk) .pzbar{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;flex-wrap:wrap;gap:calc(.45 * var(--rem)) calc(.5 * var(--rem));margin:calc(1 * var(--rem)) calc(-.2 * var(--rem)) 0;padding:calc(.6 * var(--rem)) calc(.6 * var(--rem)) calc(calc(.6 * var(--rem)) + env(safe-area-inset-bottom,calc(0 * var(--r) / 15)));border-radius:var(--r-card);background:var(--toast-bg);backdrop-filter:var(--blur);-webkit-backdrop-filter:var(--blur);box-shadow:var(--drop),inset 0 0 0 var(--hair) var(--edge)}
:is(.screen,.desk) .pzbarsay{flex:1 1 calc(8 * var(--rem));min-width:0;font-size:var(--t-sm);color:var(--ink)}
:is(.screen,.desk) .pzbar .btn{flex:none}
:is(.screen,.desk) .pzgroups{display:flex;flex-direction:column;margin-top:calc(.3 * var(--rem))}
:is(.screen,.desk) .pzgroup{display:flex;align-items:center;gap:calc(.2 * var(--rem));border-bottom:var(--hair) solid var(--line)}
:is(.screen,.desk) .pzgroup[data-dragging="1"]{position:relative;z-index:2;background:var(--toast-bg);box-shadow:var(--drop);border-radius:var(--r-card)}
:is(.screen,.desk) .pzhandle{flex:none;width:calc(2.2 * var(--rem));align-self:stretch;display:grid;place-content:center;gap:calc(3 * var(--r) / 15);border:0;background:none;cursor:grab;touch-action:none}
:is(.screen,.desk) .pzhandle span{display:block;width:calc(.9 * var(--rem));height:calc(1.5 * var(--r) / 15);background:var(--ink-faint);border-radius:calc(1 * var(--r) / 15)}
:is(.screen,.desk) .pzgroupmain{flex:1;min-width:0;display:flex;align-items:center;gap:calc(.5 * var(--rem));font:inherit;color:var(--ink);text-align:left;padding:calc(.65 * var(--rem)) calc(.2 * var(--rem));border:0;background:none;cursor:pointer}
:is(.screen,.desk) .pzgroupname{flex:1;min-width:0;font-size:var(--t-sm);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:is(.screen,.desk) .pzgroupfoot{display:flex;align-items:center;justify-content:flex-end;gap:calc(.6 * var(--rem));padding-top:calc(.3 * var(--rem))}
:is(.screen,.desk) .pzgroupfoot .pzdraft{margin:0 auto 0 0}
:is(.screen,.desk) .pzsummary{margin:calc(.3 * var(--rem)) 0 calc(.5 * var(--rem));color:var(--ink-dim)}
:is(.screen,.desk) .pzgroupmain .pown{flex:0 1 auto;justify-content:flex-end;min-width:0}
:is(.screen,.desk) .pznear{display:flex;flex-direction:column;gap:calc(.2 * var(--rem));padding:calc(.55 * var(--rem)) 0;border-bottom:var(--hair) solid var(--line)}
:is(.screen,.desk) .pznearpath{font-family:var(--code);font-size:var(--t-xs);color:var(--ink);overflow-wrap:anywhere}
:is(.screen,.desk) .pzneardo{display:flex;gap:calc(.4 * var(--rem));justify-content:flex-end}
.screen:has(> .deskshell) .deskshell{position:fixed;inset:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);color:var(--ink);--tipbg: #12162a;--ok: #6b9c83;--accent: #7d99bd;--accent-bg: rgba(125, 153, 189, .16);--warn: #cbab7f;--crit: #cb9490;--ctx-1: #6b9c83;--ctx-2: #6b9c83;--ctx-3: #cbab7f;--ctx-4: #cb9490}
.screen:has(> .deskshell) .dktop{display:flex;align-items:center;gap:calc(.5 * var(--rem));height:calc(2.9 * var(--rem));flex:none;padding:0 calc(.6 * var(--rem));border-bottom:var(--hair) solid var(--line);background:var(--top-bg)}
.screen:has(> .deskshell) .dkbrand{display:inline-flex;align-items:center;gap:calc(.2 * var(--rem));padding:calc(.2 * var(--rem)) calc(.3 * var(--rem));border:0;border-radius:var(--r-small);background:none;font:700 var(--t-md)/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim);cursor:pointer}
.screen:has(> .deskshell) .dklogo{position:relative;display:grid;place-items:center;width:calc(2 * var(--rem));height:calc(2 * var(--rem));margin-right:calc(.2 * var(--rem));border:0;border-radius:var(--r-small);background:transparent;color:var(--accent);cursor:pointer}
.screen:has(> .deskshell) .dklogo svg{width:var(--i-lg);height:var(--i-lg)}
.screen:has(> .deskshell) .dklogo.on{background:var(--accent-bg)}
.screen:has(> .deskshell) .dkibs{display:flex;align-items:center;gap:calc(.15 * var(--rem))}
.screen:has(> .deskshell) .dksep{width:var(--hair);height:calc(1.5 * var(--rem));background:var(--line);margin:0 calc(.3 * var(--rem))}
.screen:has(> .deskshell) .dktopright{display:flex;align-items:center;gap:calc(.3 * var(--rem))}
.screen:has(> .deskshell) .dkload{display:flex;align-items:center;gap:calc(1.05 * var(--rem));margin-inline:auto;padding:calc(.25 * var(--rem)) calc(.5 * var(--rem));border:0;border-radius:var(--r-small);background:transparent;color:var(--ink-faint);font:inherit;cursor:pointer}
.screen:has(> .deskshell) .dkload:hover{background:var(--surface-2)}
.screen:has(> .deskshell) .dkgauge{display:flex;align-items:baseline;gap:calc(.4 * var(--rem));padding:calc(.16 * var(--rem)) calc(.45 * var(--rem));border-radius:var(--r-small);background:linear-gradient(90deg,var(--gauge-ink) 0 var(--fill, 0%),var(--surface-2) var(--fill, 0%) 100%);box-shadow:inset 0 0 0 var(--hair) var(--edge);--gauge-ink: color-mix(in srgb, var(--accent) 62%, var(--bg));font-family:var(--mono);font-size:var(--t-sm);line-height:1.35}
.screen:has(> .deskshell) .dkgauge-n{color:var(--ink-dim)}
.screen:has(> .deskshell) .dkgauge-v{color:var(--ink);font-variant-numeric:tabular-nums}
.screen:has(> .deskshell) .dkib{position:relative;display:grid;place-items:center;width:calc(2.2 * var(--rem));height:calc(2.2 * var(--rem));border:0;border-radius:var(--r-small);background:transparent;color:var(--ink-faint);cursor:pointer}
.screen:has(> .deskshell) .dkib svg{width:var(--i-md);height:var(--i-md)}
.screen:has(> .deskshell) .dkib.on{color:var(--accent);background:var(--accent-bg)}
.screen:has(> .deskshell) .dkibnum{position:absolute;top:0;right:0;min-width:calc(1.15 * var(--rem));height:calc(1.15 * var(--rem));padding:0 calc(.2 * var(--rem));border-radius:var(--r-pill);background:var(--warn);color:var(--void);font-size:var(--t-xs);font-weight:600;line-height:calc(1.15 * var(--rem));text-align:center}
.screen:has(> .deskshell) .dktip{position:fixed;top:0;left:0;z-index:60;width:max-content;max-width:min(calc(26 * var(--rem)),calc(100cqw - calc(16 * var(--r) / 15)));padding:calc(.22 * var(--rem)) calc(.45 * var(--rem));border-radius:var(--r-small);background:var(--tipbg);border:var(--hair) solid var(--edge);box-shadow:var(--drop);font-family:var(--sans);font-size:var(--t-sm);font-weight:500;line-height:1.35;letter-spacing:0;text-transform:none;color:var(--ink);visibility:hidden;pointer-events:none}
.screen:has(> .deskshell) .dkroute{font:600 var(--t-sm)/1 var(--sans);color:var(--ink-dim);background:transparent;border:var(--hair) solid var(--edge);border-radius:var(--r-pill);padding:calc(.3 * var(--rem)) calc(.5 * var(--rem));cursor:pointer}
.screen:has(> .deskshell) .dkzoom{display:flex;align-items:center;gap:calc(.1 * var(--rem));padding:0 calc(.15 * var(--rem));border:var(--hair) solid var(--edge);border-radius:var(--r-pill)}
.screen:has(> .deskshell) .dkzoombtn{display:grid;place-items:center;width:calc(1.6 * var(--rem));height:calc(1.6 * var(--rem));padding:0;border:0;border-radius:var(--r-small);background:none;color:var(--ink-dim);font:600 var(--t-md)/1 var(--sans);cursor:pointer}
.screen:has(> .deskshell) .dkzoombtn:disabled{opacity:.35;cursor:default}
.screen:has(> .deskshell) .dkzoomnum{min-width:calc(2.7 * var(--rem));text-align:center;font-size:var(--t-xs);font-variant-numeric:tabular-nums;color:var(--ink-faint)}
.screen:has(> .deskshell) .dkbody{flex:1;min-height:0;display:grid;grid-template-columns:calc(19.5 * var(--rem)) minmax(0,1fr)}
.screen:has(> .deskshell) .dkbody.full{grid-template-columns:minmax(0,1fr)}
.screen:has(> .deskshell) .dkleft{display:flex;flex-direction:column;min-height:0;border-right:var(--hair) solid var(--line)}
.screen:has(> .deskshell) .dkscroll{flex:1;min-height:0;overflow-y:auto}
.screen:has(> .deskshell) .dkpick{position:relative;flex:none;border-bottom:var(--hair) solid var(--line)}
.screen:has(> .deskshell) .dkpickbtn{display:flex;align-items:center;gap:calc(.4 * var(--rem));width:100%;height:calc(2.2 * var(--rem));padding:0 calc(.55 * var(--rem));border:0;background:transparent;color:var(--ink);cursor:pointer}
.screen:has(> .deskshell) .dkpicklabel{font-size:var(--t-xs);color:var(--ink-faint)}
.screen:has(> .deskshell) .dkpickvalue{font-size:var(--t-md);color:var(--ink)}
.screen:has(> .deskshell) .dkpickchev{margin-left:auto;display:grid;place-items:center;color:var(--ink-faint)}
.screen:has(> .deskshell) .dkpickchev svg{width:var(--i-sm);height:var(--i-sm);transform:rotate(90deg)}
.screen:has(> .deskshell) .dkcontour{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:calc(.45 * var(--rem));padding:calc(.35 * var(--rem)) calc(.55 * var(--rem)) calc(.3 * var(--rem));background:var(--bg);border-top:var(--hair) solid var(--line);border-bottom:var(--hair) solid var(--line)}
.screen:has(> .deskshell) section:first-child > .dkcontour{border-top:0}
.screen:has(> .deskshell) .dkcontourname{min-width:0;font-size:var(--t-sm);font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.screen:has(> .deskshell) .dksess{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:0 calc(.45 * var(--rem));width:100%;padding:calc(.4 * var(--rem)) calc(.55 * var(--rem)) calc(.45 * var(--rem));border:0;border-bottom:var(--hair) solid var(--line);background:none;color:var(--ink);text-align:left;cursor:pointer}
.screen:has(> .deskshell) .dksess.on{background:var(--accent-bg)}
.screen:has(> .deskshell) .dksessmain{display:flex;align-items:center;gap:calc(.4 * var(--rem))}
.screen:has(> .deskshell) .dksessbar{grid-column:2 / -1;height:calc(3 * var(--r) / 15);margin-top:calc(.3 * var(--rem));border-radius:var(--r-small);background:var(--line);overflow:hidden}
.screen:has(> .deskshell) .dksessbar i{display:block;height:100%;background:var(--ctx-1)}
.screen:has(> .deskshell) .dksessbar.s2 i{background:var(--ctx-2)}
.screen:has(> .deskshell) .dksessbar.s3 i{background:var(--ctx-3)}
.screen:has(> .deskshell) .dksessbar.s4 i{background:var(--ctx-4)}
.screen:has(> .deskshell) .dksess.dklive{grid-template-columns:calc(.8 * var(--rem)) minmax(0,1fr) auto;align-items:center;gap:calc(.1 * var(--rem)) calc(.45 * var(--rem));padding:calc(.4 * var(--rem)) calc(.45 * var(--rem)) calc(.5 * var(--rem)) calc(.55 * var(--rem))}
.screen:has(> .deskshell) .dklive > .dkkey{grid-column:1;grid-row:1}
.screen:has(> .deskshell) .dklive > .dksessmain{grid-column:2;grid-row:1}
.screen:has(> .deskshell) .dklive > .dksay{grid-column:2 / -1;grid-row:2}
.screen:has(> .deskshell) .dksess.dklive[data-tone="wait"]{box-shadow:inset calc(2 * var(--r) / 15) 0 0 var(--wait)}
.screen:has(> .deskshell) .dkkey{font-family:var(--mono);font-size:var(--t-xs);color:var(--ink-faint)}
.screen:has(> .deskshell) .dklive .dksessmain{gap:calc(.35 * var(--rem));min-width:0}
.screen:has(> .deskshell) .dklive .dkname{flex:0 1 auto;font-weight:500}
.screen:has(> .deskshell) .dkhome{flex:none;font-size:var(--t-xs);color:var(--ink-faint)}
.screen:has(> .deskshell) .dkmark{flex:none;display:inline-flex;align-items:center;gap:calc(.2 * var(--rem));padding:calc(.1 * var(--rem)) calc(.3 * var(--rem));border:var(--hair) solid var(--line);border-radius:var(--r-pill);font-family:var(--mono);font-size:var(--t-xs);line-height:1;color:var(--ink-dim)}
.screen:has(> .deskshell) .dkmark svg{width:var(--i-sm);height:var(--i-sm)}
.screen:has(> .deskshell) .dksay{display:flex;align-items:center;gap:calc(.4 * var(--rem));min-width:0;overflow:hidden;white-space:nowrap;font-size:var(--t-sm);font-weight:500;color:var(--ink-faint)}
.screen:has(> .deskshell) .dksaytext{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.screen:has(> .deskshell) .dksaysince{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;font-weight:400;opacity:.85}
.screen:has(> .deskshell) .dklive[data-tone="wait"] .dksay{font-weight:600;color:var(--wait)}
.screen:has(> .deskshell) .dklive[data-tone="wait"] .dksay .dkdot{background:var(--wait);box-shadow:0 0 calc(9 * var(--r) / 15) var(--wait)}
.screen:has(> .deskshell) .dklive .dksay .dkdot.dkidle{opacity:.8}
.screen:has(> .deskshell) .dkdetail{grid-column:2 / -1;grid-row:3;display:flex;flex-wrap:wrap;min-width:0;max-height:1.4em;overflow:hidden;font-size:var(--t-xs);line-height:1.4;color:var(--ink-faint)}
.screen:has(> .deskshell) .dkdetail > span{flex:none;white-space:nowrap}
.screen:has(> .deskshell) .dkdetail > span:first-child{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.screen:has(> .deskshell) .dkdetail > span + span::before{content:"\b7";margin:0 .35em;font-weight:400;color:var(--ink-faint)}
.screen:has(> .deskshell) .dkdetail > [data-level="warn"]{font-weight:600;color:var(--warn)}
.screen:has(> .deskshell) .dklive > .dkrowacts{grid-column:3;grid-row:1;justify-self:end;margin:0}
.screen:has(> .deskshell) .dklive > .dkrowacts .dkact{width:calc(1.7 * var(--rem));height:calc(1.1 * var(--rem));justify-content:end}
.screen:has(> .deskshell) .dklive > .dkrowacts .dkact svg{width:var(--i-sm);height:var(--i-sm)}
.screen:has(> .deskshell) .dksess.dklive > .dksessbar{position:absolute;left:0;right:0;bottom:0;height:calc(2 * var(--r) / 15);margin:0;border-radius:0;background:none}
.screen:has(> .deskshell) .dkwaitn{flex:none;display:inline-flex;align-items:center;gap:calc(.25 * var(--rem));font-size:var(--t-xs);font-weight:600;color:var(--wait)}
.screen:has(> .deskshell) .dkwaitn i{width:calc(.45 * var(--rem));height:calc(.45 * var(--rem));border-radius:50%;background:currentColor;box-shadow:0 0 calc(8 * var(--r) / 15) currentColor}
.screen:has(> .deskshell) .dknewctl{flex:none;display:flex;margin-left:auto}
.screen:has(> .deskshell) .dknewctl + .dkringsctl{margin-left:0}
.screen:has(> .deskshell) .dknew{display:grid;place-items:center;width:calc(1.6 * var(--rem));height:calc(1.6 * var(--rem));border:0;border-radius:var(--r-small);background:none;color:var(--ink-faint);cursor:pointer}
.screen:has(> .deskshell) .dknew svg{width:var(--i-sm);height:var(--i-sm)}
.screen:has(> .deskshell) .dkshelf{margin-top:calc(.9 * var(--rem));border-top:var(--hair) solid var(--line)}
.screen:has(> .deskshell) .dkshelfhead{display:flex;align-items:center;gap:calc(.4 * var(--rem));padding:calc(.5 * var(--rem)) calc(.55 * var(--rem)) calc(.35 * var(--rem))}
.screen:has(> .deskshell) .dkshelftitle{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}
.screen:has(> .deskshell) .dkshelfall{margin-left:auto;display:inline-flex;align-items:center;gap:calc(.15 * var(--rem));padding:calc(.1 * var(--rem)) calc(.2 * var(--rem));border:0;border-radius:var(--r-small);background:none;color:var(--ink-faint);font:inherit;font-size:var(--t-xs);cursor:pointer}
.screen:has(> .deskshell) .dkshelfall svg{width:var(--i-sm);height:var(--i-sm)}
.screen:has(> .deskshell) .dkclosed{display:flex;flex-direction:column;gap:calc(.05 * var(--rem));padding:calc(.3 * var(--rem)) calc(.55 * var(--rem)) calc(.35 * var(--rem)) calc(1.7 * var(--rem));cursor:pointer}
.screen:has(> .deskshell) .dkcltop{display:flex;align-items:center;gap:calc(.4 * var(--rem));min-width:0;min-height:calc(1.35 * var(--rem))}
.screen:has(> .deskshell) .dkclname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-sm);color:var(--ink-dim)}
.screen:has(> .deskshell) .dkclcontour{flex:none;font-size:var(--t-xs);color:var(--ink-faint)}
.screen:has(> .deskshell) .dkclwhen{flex:none;margin-left:auto;font-size:var(--t-xs);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-faint)}
.screen:has(> .deskshell) .dkclsub{display:flex;align-items:center;gap:calc(.5 * var(--rem));min-width:0}
.screen:has(> .deskshell) .dkclsub .dkabout{flex:1 1 auto}
.screen:has(> .deskshell) .dkresume{flex:none;margin-left:auto;display:inline-flex;align-items:center;height:calc(1.25 * var(--rem));padding:0 calc(.5 * var(--rem));border:var(--hair) solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:var(--r-pill);background:none;color:var(--accent);font:inherit;font-size:var(--t-xs);font-weight:600;cursor:pointer}
.screen:has(> .deskshell) .dkabout{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-xs);color:var(--ink-faint)}
.screen:has(> .deskshell) .dkname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-md);font-weight:400}
.screen:has(> .deskshell) .dknum{flex:none;min-width:calc(3.1 * var(--rem));text-align:right;font-size:var(--t-xs);font-variant-numeric:tabular-nums;color:var(--ink-faint)}
.screen:has(> .deskshell) .dkdot{display:block;flex:none;width:calc(.45 * var(--rem));height:calc(.45 * var(--rem));border-radius:50%;background:var(--ink-faint)}
.screen:has(> .deskshell) .dkdot.dkwaiting{background:var(--warn);box-shadow:0 0 calc(.35 * var(--rem)) var(--warn)}
.screen:has(> .deskshell) .dkdot.dkidle{background:var(--ok)}
.screen:has(> .deskshell) .dkempty{padding:calc(.5 * var(--rem)) calc(.55 * var(--rem));font-size:var(--t-sm);color:var(--ink-faint)}
.screen:has(> .deskshell) .dkcontour.dklimhead{padding:calc(.3 * var(--rem)) calc(.45 * var(--rem)) calc(.3 * var(--rem)) calc(.55 * var(--rem))}
.screen:has(> .deskshell) .dkcontour.dklimhead{background:var(--glass-2),var(--bg)}
.screen:has(> .deskshell) .dklimhead .dkcontourname{font-size:var(--t-base)}
.screen:has(> .deskshell) .dkringsctl{position:relative;flex:none;margin-left:auto;display:flex}
.screen:has(> .deskshell) .dkrings{display:flex;align-items:center;gap:calc(.55 * var(--rem));padding:calc(.1 * var(--rem)) calc(.2 * var(--rem));border:0;border-radius:var(--r-small);background:none;color:inherit;font:inherit;cursor:pointer}
.screen:has(> .deskshell) .dkrings:hover{background:var(--glass)}
.screen:has(> .deskshell) .dkring{display:flex;align-items:center;gap:calc(.25 * var(--rem))}
.screen:has(> .deskshell) .dkringdial{--ring: var(--accent);position:relative;display:grid;place-items:center;width:calc(2.1 * var(--rem));height:calc(2.1 * var(--rem))}
.screen:has(> .deskshell) .dkringdial::before{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(var(--ring) calc(var(--share) * 1%),var(--line) 0);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - calc(3 * var(--r) / 15)),#000 calc(100% - calc(2.5 * var(--r) / 15)));mask:radial-gradient(farthest-side,transparent calc(100% - calc(3 * var(--r) / 15)),#000 calc(100% - calc(2.5 * var(--r) / 15)))}
.screen:has(> .deskshell) .dkring.dkwarn .dkringdial{--ring: var(--warn)}
.screen:has(> .deskshell) .dkringdial b{position:relative;font-size:var(--t-xs);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink-dim)}
.screen:has(> .deskshell) .dkring.dkwarn b{color:var(--warn)}
.screen:has(> .deskshell) .dkringlabel{min-width:2.1em;font-size:var(--t-xs);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink-faint)}
.screen:has(> .deskshell) .dkcenter{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}
.screen:has(> .deskshell) .dkchat{padding:0 0 calc(1 * var(--rem));gap:calc(.4 * var(--rem))}
.screen:has(> .deskshell) .dkchat > .chatfeed{flex:1 1 auto;min-height:0}
.screen:has(> .deskshell) .dkhead{flex:none;position:relative;padding:calc(.45 * var(--rem)) calc(.8 * var(--rem)) calc(.5 * var(--rem));border-bottom:var(--hair) solid var(--line)}
.screen:has(> .deskshell) .dkheadtop{display:flex;align-items:center;gap:calc(.5 * var(--rem));min-width:0;min-height:calc(2.4 * var(--rem))}
.screen:has(> .deskshell) .dkheadtop > *{flex:none}
.screen:has(> .deskshell) .dkheadtop .dkheadpath{flex:1 1 0;min-width:0}
.screen:has(> .deskshell) .dkheadtop .dkheadname{flex:0 1 auto;min-width:0}
.screen:has(> .deskshell) .dkheadtop > .dkwho{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:calc(.05 * var(--rem))}
.screen:has(> .deskshell) .dkwhoname{display:flex;align-items:center;gap:calc(.45 * var(--rem));min-width:0}
.screen:has(> .deskshell) .dkwhosub{display:flex;align-items:baseline;gap:calc(.35 * var(--rem));min-width:0;padding-left:calc(.9 * var(--rem));line-height:1.25;overflow:hidden;white-space:nowrap}
.screen:has(> .deskshell) .dkwhosub > *{flex:none}
.screen:has(> .deskshell) .dkwhosub .dkheadpath{flex:1 1 0;min-width:0;font-size:var(--t-xs)}
.screen:has(> .deskshell) .dkwhosub .dkword, .screen:has(> .deskshell) .dkwhosub .dkpct{font-size:var(--t-xs)}
.screen:has(> .deskshell) .dkheadsep{font-size:var(--t-xs);color:var(--ink-faint);opacity:.6}
.screen:has(> .deskshell) .dkheadname{font-size:var(--t-base);font-weight:600}
.screen:has(> .deskshell) .dkword{font-size:var(--t-sm);color:var(--ink-faint)}
.screen:has(> .deskshell) .dkword[data-tone="waiting"]{color:var(--wait)}
.screen:has(> .deskshell) .dkpct{font-size:var(--t-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ctx-1)}
.screen:has(> .deskshell) .dkpct[data-fill="s2"]{color:var(--ctx-2)}
.screen:has(> .deskshell) .dkheadpath{direction:rtl;text-align:left;font-family:var(--mono);font-size:var(--t-sm);color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.screen:has(> .deskshell) .dktabs{display:flex;gap:calc(2 * var(--r) / 15);padding:calc(2 * var(--r) / 15);border:var(--hair) solid var(--line);border-radius:var(--r-small)}
.screen:has(> .deskshell) .dktab{display:flex;align-items:center;gap:calc(.25 * var(--rem));height:calc(1.9 * var(--rem));padding:0 calc(.75 * var(--rem));border:0;border-radius:calc(var(--r-small) - calc(2 * var(--r) / 15));background:none;color:var(--ink-dim);font:inherit;font-size:var(--t-sm);cursor:pointer}
.screen:has(> .deskshell) .dktab:hover{color:var(--ink);background:var(--glass)}
.screen:has(> .deskshell) .dktab.on{color:var(--ink);background:var(--accent-bg);box-shadow:inset 0 0 0 var(--hair) var(--edge)}
.screen:has(> .deskshell) .dksessctl{position:relative;margin-left:calc(.3 * var(--rem));padding-left:calc(.6 * var(--rem));border-left:var(--hair) solid var(--line)}
.screen:has(> .deskshell) .dkplace{display:flex;align-items:center;gap:calc(.4 * var(--rem));height:calc(2.1 * var(--rem));padding:0 calc(.6 * var(--rem));border:var(--hair) solid var(--line);border-radius:var(--r-small);background:none;color:var(--ink);font:inherit;font-size:var(--t-sm);cursor:pointer}
.screen:has(> .deskshell) .dkplace:hover{background:var(--glass)}
.screen:has(> .deskshell) .dkplaceicon, .screen:has(> .deskshell) .dkplacechev{display:flex;width:var(--i-sm);height:var(--i-sm);color:var(--ink-dim)}
.screen:has(> .deskshell) .dkplaceicon svg, .screen:has(> .deskshell) .dkplacechev svg{width:100%;height:100%}
.screen:has(> .deskshell) .dkplacechev{transform:rotate(90deg)}
.screen:has(> .deskshell) .dkrc{flex:none;display:flex;align-items:center;gap:calc(.25 * var(--rem));padding:0 calc(.35 * var(--rem));border-radius:var(--r-small);font-size:var(--t-xs);font-weight:600;color:var(--ok);background:color-mix(in srgb,var(--ok) 14%,transparent)}
.screen:has(> .deskshell) .dkrc::before{content:"";width:calc(6 * var(--r) / 15);height:calc(6 * var(--r) / 15);border-radius:50%;background:var(--ok)}
.screen:has(> .deskshell) .dkact{display:grid;place-items:center;width:calc(2 * var(--rem));height:calc(2 * var(--rem));padding:0;color:var(--ink-faint);background:none;border:0;border-radius:var(--r-small);cursor:pointer}
.screen:has(> .deskshell) .dkact svg{width:var(--i-md);height:var(--i-md)}
.screen:has(> .deskshell) .dkgrid{flex:1;min-height:0;overflow-y:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:minmax(calc(8.5 * var(--rem)),1fr);gap:calc(.7 * var(--rem));padding:calc(.8 * var(--rem))}
.screen:has(> .deskshell) .dkgrid > .w3{grid-column:span 3}
.screen:has(> .deskshell) .dkgrid > .w4{grid-column:span 4}
.screen:has(> .deskshell) .dkgrid > .w6{grid-column:span 6}
.screen:has(> .deskshell) .dkgrid > .w8{grid-column:span 8}
.screen:has(> .deskshell) .dkgrid > .h1{grid-row:span 1}
.screen:has(> .deskshell) .dkgrid > .h2{grid-row:span 2}
.screen:has(> .deskshell) .dkclose{margin-left:auto;display:grid;place-items:center;width:calc(1.9 * var(--rem));height:calc(1.9 * var(--rem));color:var(--ink-faint);background:transparent;border:0;border-radius:var(--r-small);cursor:pointer}
.screen:has(> .deskshell) .dkclose svg{width:var(--i-sm);height:var(--i-sm)}
.screen:has(> .deskshell) .dkrowacts{flex:none;display:flex;gap:calc(.25 * var(--rem));margin-left:calc(.1 * var(--rem))}
.screen:has(> .deskshell) .dkwidget{min-width:0;min-height:0;border-radius:var(--r-card);box-shadow:inset 0 0 0 var(--hair) var(--edge);overflow:hidden}
.screen:has(> .deskshell) .dkjumps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.screen:has(> .deskshell) .dkjump{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;align-content:center;align-items:center;gap:calc(.15 * var(--rem)) calc(.7 * var(--rem));padding:calc(1 * var(--rem)) calc(1.1 * var(--rem));border:0;border-left:var(--hair) solid var(--line);background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.screen:has(> .deskshell) .dkjump:first-child{border-left:0}
.screen:has(> .deskshell) .dkjumpicon{grid-row:1 / span 3;display:grid;place-items:center;width:calc(2.4 * var(--rem));height:calc(2.4 * var(--rem));color:var(--ink-faint)}
.screen:has(> .deskshell) .dkjumpicon svg{width:var(--i-lg);height:var(--i-lg)}
.screen:has(> .deskshell) .dkjumpvalue{font-size:var(--t-2xl);font-weight:600;font-variant-numeric:tabular-nums;line-height:1.1}
.screen:has(> .deskshell) .dkjumplabel{grid-column:2;font-size:var(--t-md);color:var(--ink-dim)}
.screen:has(> .deskshell) .dkjumpsub{grid-column:2;font-size:var(--t-sm);line-height:1.35;color:var(--ink-faint);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.screen:has(> .deskshell) .dkjump.hot .dkjumpicon, .screen:has(> .deskshell) .dkjump.hot .dkjumpsub{color:var(--warn)}
.screen:has(> .deskshell) .dkscrim{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:calc(2 * var(--rem));background:#04060c9e;backdrop-filter:blur(calc(2 * var(--r) / 15))}
.screen:has(> .deskshell) .dklogo:hover{background:var(--glass)}
.screen:has(> .deskshell) .dkbrand:hover, .screen:has(> .deskshell) .dkib:hover{color:var(--ink);background:var(--glass)}
.screen:has(> .deskshell) .dksess:not(.on):not(.dkghost):hover{background:var(--glass)}
.screen:has(> .deskshell) .dkclosed:not(.on):hover{background:var(--glass)}
.screen:has(> .deskshell) .dknew:hover, .screen:has(> .deskshell) .dkshelfall:hover{color:var(--ink);background:var(--glass)}
.screen:has(> .deskshell) .dkresume:not(.off):hover{background:color-mix(in srgb,var(--accent) 16%,transparent)}
.screen:has(> .deskshell) .dkact:hover{color:var(--ink)}
.screen:has(> .deskshell) .dkact.danger:hover{color:var(--crit)}
.screen:has(> .deskshell) .dkclose:hover{color:var(--ink);background:var(--glass)}
.screen:has(> .deskshell) .dkjump:hover{background:var(--glass)}
.screen:has(> .deskshell) .feedjump:hover{color:var(--ink);background:var(--glass-2)}
.screen:has(> .deskshell) .deskshell .dkscroll, .screen:has(> .deskshell) .deskshell .chatfeed{scrollbar-width:thin;scrollbar-color:var(--edge) transparent}
.screen:has(> .deskshell) .deskshell .dkscroll:hover, .screen:has(> .deskshell) .deskshell .chatfeed:hover{scrollbar-color:var(--ink-faint) transparent}
.screen:has(> .deskshell) .deskshell .dkscroll::-webkit-scrollbar{width:calc(8 * var(--r) / 15);height:calc(8 * var(--r) / 15);display:block}
.screen:has(> .deskshell) .deskshell .dkscroll::-webkit-scrollbar-thumb{border-radius:calc(4 * var(--r) / 15);background:var(--edge)}
.screen:has(> .deskshell) .deskshell .dkscroll:hover::-webkit-scrollbar-thumb{background:var(--ink-faint)}
.screen:has(> .deskshell) .uwg{position:relative;display:flex;flex-direction:column;gap:calc(.35 * var(--rem));padding:calc(.6 * var(--rem)) calc(.7 * var(--rem))}
.screen:has(> .deskshell) .uwg.open{cursor:pointer}
.screen:has(> .deskshell) .uwg.open:focus-visible{outline:calc(2 * var(--r) / 15) solid var(--accent);outline-offset:calc(-2 * var(--r) / 15)}
.screen:has(> .deskshell) .uwghead{flex:none;display:flex;align-items:baseline;gap:calc(.5 * var(--rem));min-width:0}
.screen:has(> .deskshell) .uwgtitle{flex:none;font-size:var(--t-sm);font-weight:600}
.screen:has(> .deskshell) .uwgnote{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:calc(.5 * var(--rem));font-size:var(--t-xs);color:var(--ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.screen:has(> .deskshell) .uwgacts{flex:none;margin-left:auto;display:flex;align-items:center;gap:calc(.3 * var(--rem))}
.screen:has(> .deskshell) .uwgacts .dkact{width:calc(1.7 * var(--rem));height:calc(1.7 * var(--rem))}
.screen:has(> .deskshell) .uwgacts .dkact svg{width:var(--i-sm);height:var(--i-sm)}
.screen:has(> .deskshell) .uwgbody{flex:1;min-height:0;display:flex;flex-direction:column;gap:calc(.3 * var(--rem))}
.screen:has(> .deskshell) .uwgbig{margin:0;display:flex;align-items:baseline;gap:calc(.4 * var(--rem));min-width:0;font-size:var(--t-2xl);font-weight:600;line-height:1.1}
.screen:has(> .deskshell) .uwgunit{min-width:0;font-size:var(--t-xs);font-weight:500;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.screen:has(> .deskshell) .uwgsub{margin:0;font-size:var(--t-sm);color:var(--ink-dim)}
.screen:has(> .deskshell) .uwg .chart.spark{--chart-h: 30;flex:none}
.screen:has(> .deskshell) .usharebar{flex:none;height:calc(8 * var(--r) / 15);border-radius:var(--r-pill);background:rgba(var(--tint),.12);overflow:hidden}
.screen:has(> .deskshell) .uleg{margin:calc(.3 * var(--rem)) 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:calc(.2 * var(--rem)) calc(.8 * var(--rem));font-size:var(--t-xs)}
.screen:has(> .deskshell) .uleg li{display:flex;align-items:center;gap:calc(.3 * var(--rem));min-width:0}
.screen:has(> .deskshell) .uleg i{flex:none;width:calc(.55 * var(--rem));height:calc(.55 * var(--rem));border-radius:calc(1 * var(--r) / 15);display:inline-block}
.screen:has(> .deskshell) .ulegname{min-width:0;max-width:calc(11 * var(--rem));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-dim)}
.screen:has(> .deskshell) .ulegval{flex:none;font-weight:600}
.screen:has(> .deskshell) .useg{display:flex;flex-direction:column}
.screen:has(> .deskshell) .useg + .useg{margin-top:calc(.45 * var(--rem))}
.screen:has(> .deskshell) .ukey{display:inline-flex;align-items:center;gap:calc(.3 * var(--rem))}
.screen:has(> .deskshell) .ukey i{width:calc(.55 * var(--rem));height:calc(.55 * var(--rem));border-radius:calc(1 * var(--r) / 15)}
.screen:has(> .deskshell) .uslist{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}
.screen:has(> .deskshell) .usrow{display:block;width:100%;padding:calc(.22 * var(--rem)) 0;border:0;background:none;color:inherit;font:inherit;text-align:left}
.screen:has(> .deskshell) .usrow.open{cursor:pointer}
.screen:has(> .deskshell) .usrow.open:hover{background:var(--glass)}
.screen:has(> .deskshell) .usrline{display:flex;align-items:baseline;gap:calc(.4 * var(--rem));min-width:0}
.screen:has(> .deskshell) .usrname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--t-sm)}
.screen:has(> .deskshell) .usrsub{flex:none;font-size:var(--t-xs);color:var(--ink-faint)}
.screen:has(> .deskshell) .usrsub .crit{color:var(--crit)}
.screen:has(> .deskshell) .usrval{flex:none;margin-left:auto;font-size:var(--t-sm);font-weight:600;font-variant-numeric:tabular-nums}
.screen:has(> .deskshell) .usrbar{display:block;height:calc(3 * var(--r) / 15);margin-top:calc(.15 * var(--rem));border-radius:var(--r-pill);background:rgba(var(--tint),.1);overflow:hidden}
.screen:has(> .deskshell) .usrbar i{display:block;height:100%;background:var(--accent)}
.screen:has(> .deskshell) .usrbar i.warn{background:var(--warn)}
.screen:has(> .deskshell) .uchips{display:flex;gap:calc(.2 * var(--rem))}
.screen:has(> .deskshell) .uchip{padding:calc(.1 * var(--rem)) calc(.4 * var(--rem));border:var(--hair) solid transparent;border-radius:var(--r-pill);background:none;color:var(--ink-faint);font:inherit;font-size:var(--t-xs);cursor:pointer}
.screen:has(> .deskshell) .uchip:hover{color:var(--ink)}
.screen:has(> .deskshell) .uchip.on{border-color:var(--edge);color:var(--ink)}
.screen:has(> .deskshell) .uwgchart{flex:1;min-height:0;display:flex;overflow:hidden}
.screen:has(> .deskshell) .uwgchart > .chart{flex:1;min-width:0}
.screen:has(> .deskshell) .dkcolscrim{padding:calc(1 * var(--rem));place-items:stretch}
.screen:has(> .deskshell) .dkcols{display:grid;grid-template-columns:calc(15 * var(--rem)) minmax(0,1fr) minmax(0,1fr);gap:0;width:min(calc(96 * var(--rem)),100%);height:100%;margin:0 auto;border:var(--hair) solid var(--edge);border-radius:var(--r-card);background:var(--tipbg);box-shadow:var(--drop);overflow:hidden;position:relative}
.screen:has(> .deskshell) .dkcolsclose{position:absolute;top:calc(.5 * var(--rem));right:calc(.6 * var(--rem));z-index:3}
.screen:has(> .deskshell) .dkcols > .dkcol:last-of-type{padding-right:calc(2.9 * var(--rem))}
.screen:has(> .deskshell) .dkcoltree, .screen:has(> .deskshell) .dkcol{min-height:0;overflow-y:auto;padding:calc(.4 * var(--rem)) calc(.9 * var(--rem)) calc(.9 * var(--rem))}
.screen:has(> .deskshell) .dkcol{border-left:var(--hair) solid var(--line);position:relative}
.screen:has(> .deskshell) .dkcoltree{padding:calc(.4 * var(--rem)) calc(.5 * var(--rem));display:flex;flex-direction:column;gap:calc(.1 * var(--rem))}
.screen:has(> .deskshell) .dkcoltreehead{display:flex;align-items:center;gap:calc(.5 * var(--rem));padding:calc(.3 * var(--rem)) calc(.4 * var(--rem)) calc(.5 * var(--rem));font-weight:600}
.screen:has(> .deskshell) .dktreecontour{display:flex;flex-direction:column;margin-bottom:calc(.4 * var(--rem))}
.screen:has(> .deskshell) .dktreeitem{display:flex;align-items:center;gap:calc(.4 * var(--rem));font:inherit;font-size:var(--t-sm);text-align:left;color:var(--ink-dim);padding:calc(.35 * var(--rem)) calc(.5 * var(--rem));border:0;border-radius:var(--r-small);background:none;cursor:pointer}
.screen:has(> .deskshell) .dktreeitem:first-child{color:var(--ink);font-weight:600}
.screen:has(> .deskshell) .dktreegroup{padding-left:calc(1.2 * var(--rem))}
.screen:has(> .deskshell) .dktreeitem[aria-pressed="true"]{background:var(--accent-bg);color:var(--accent)}
.screen:has(> .deskshell) .dktreeitem:hover{background:var(--glass)}
.screen:has(> .deskshell) .dktreename{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.screen:has(> .deskshell) .dktreefind{height:calc(1.9 * var(--rem));margin:0 calc(.1 * var(--rem)) calc(.4 * var(--rem));padding:0 calc(.5 * var(--rem));border:0;border-radius:var(--r-small);background:none;box-shadow:inset 0 0 0 var(--hair) var(--edge);color:var(--ink);font:inherit;font-size:var(--t-sm)}
.screen:has(> .deskshell) .dktreeadd{display:flex;align-items:center;gap:calc(.4 * var(--rem));margin-top:calc(.2 * var(--rem));font:inherit;font-size:var(--t-sm);text-align:left;color:var(--accent);padding:calc(.4 * var(--rem)) calc(.5 * var(--rem));border:0;border-top:var(--hair) solid var(--line);background:none;cursor:pointer}
.screen:has(> .deskshell) .dktreeadd:hover{background:var(--glass)}
.screen:has(> .deskshell) .dktreeadd svg{width:var(--i-sm);height:var(--i-sm)}
.screen:has(> .deskshell) .dkcolhint{margin-top:calc(3 * var(--rem));text-align:center}
.screen:has(> .deskshell) .dkcol .pzbar{margin-left:0;margin-right:0}
.screen:has(> .deskshell) .pzanchor{position:relative}
:is(.screen,.desk) .shead + .warnline{margin-bottom:calc(.6 * var(--rem))}
:is(.screen,.desk) .termwrap{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:calc(.5 * var(--rem));--termbg: #05060b;--termink: #cfd8ee;--term-cursor: #7d99bd;--term-sel: rgba(125, 153, 189, .32);--term-black: #1c2333;--term-red: #cb9490;--term-green: #6b9c83;--term-yellow: #cbab7f;--term-blue: #7d99bd;--term-magenta: #a68cc4;--term-cyan: #79a8ad;--term-white: #b6c0d4;--term-bright-black: #7c88a0;--term-bright-red: #e3aca7;--term-bright-green: #8bbca2;--term-bright-yellow: #e5c79a;--term-bright-blue: #9ab6da;--term-bright-magenta: #c1a8dd;--term-bright-cyan: #95c4c8;--term-bright-white: #e6ecf8}
:is(.screen,.desk) .termscreen{flex:1 1 auto;min-height:0;padding:calc(.5 * var(--rem)) calc(.6 * var(--rem));border:0;border-radius:var(--r-card);background:var(--termbg);box-shadow:inset 0 0 0 var(--hair) var(--edge);overflow:hidden;touch-action:none}
:is(.screen,.desk) .termkeys{flex:0 0 auto;display:flex;align-items:center;gap:calc(.28 * var(--rem));flex-wrap:nowrap}
:is(.screen,.desk) .termkey{flex:0 0 auto;display:grid;place-items:center;min-width:calc(2.16 * var(--rem));min-height:calc(32 * var(--r) / 15);padding:0 calc(.4 * var(--rem));border:0;border-radius:var(--r-small);background:none;box-shadow:inset 0 0 0 var(--hair) var(--edge);color:var(--ink-dim);font-family:var(--mono);font-size:var(--t-sm);line-height:1;touch-action:manipulation;user-select:none;-webkit-user-select:none;cursor:pointer}
:is(.screen,.desk) .termkey:active{background:var(--glass);color:var(--ink)}
:is(.screen,.desk) .termkey.danger{margin-right:auto;color:var(--crit)}
:is(.screen,.desk) .termkey.danger:active{background:var(--crit-bg);color:var(--crit)}

@keyframes pulse { 
  0%, 100% {opacity: 1}
  50% {opacity: 0.25}
}
@keyframes feedjump-in { 
  0% {opacity: 0;transform: translateY(calc(6 * var(--r) / 15))}
}
/* ---- the scenes themselves: what moves, and when ---- */
/* One timeline per scene, ten seconds long: every moving part is placed on it by
   percentage, so nothing has to be timed against anything else. The base styles
   are the end of the loop, which is also what a still scene shows. */

.screen [class*="sa-"], .desk [class*="sa-"],
.sa-tick::after, .sa-draw .scline, .sa-draw .scfill, .sa-draw .scmax {
    animation-duration: var(--cyc, 10s);
    animation-iteration-count: infinite;
    animation-timing-function: cubic-bezier(.22, .61, .36, 1);
    animation-delay: calc(var(--i, 0) * .18s);
    animation-play-state: paused;
}

/* A scene waits until the page says it is being looked at: the chapter it stands
   in goes live, or the frame is marked seen. Until then every loop holds still. */
.seen [class*="sa-"], .seen .sa-tick::after,
.seen .sa-draw .scline, .seen .sa-draw .scfill, .seen .sa-draw .scmax,
.chapter.live [class*="sa-"], .chapter.live .sa-tick::after,
.chapter.live .sa-draw .scline, .chapter.live .sa-draw .scfill, .chapter.live .sa-draw .scmax {
    animation-play-state: running;
}

@media (prefers-reduced-motion: reduce) {
    .screen [class*="sa-"], .desk [class*="sa-"],
    .sa-tick::after, .sa-draw .scline, .sa-draw .scfill, .sa-draw .scmax {
        animation: none !important;
    }
}

/* what arrives */
.sa-in, .sa-card { animation-name: scIn; }
.sa-answer { animation-name: scAnswer; }

@keyframes scIn {
    0% { opacity: 0; transform: translateY(.7em); }
    8%, 100% { opacity: 1; transform: none; }
}

@keyframes scAnswer {
    0%, 76% { opacity: 0; transform: translateY(.6em); }
    86%, 100% { opacity: 1; transform: none; }
}

/* the sheet and the scrim under it */
.sa-sheet { animation-name: scSheet; }
.sa-scrim { animation-name: scScrim; }

@keyframes scSheet {
    0%, 3% { transform: translateY(103%); }
    12%, 78% { transform: none; }
    88%, 100% { transform: translateY(103%); }
}

@keyframes scScrim {
    0%, 3% { opacity: 0; }
    12%, 78% { opacity: 1; }
    88%, 100% { opacity: 0; }
}

/* the second sheet: the gate that names the consequence */
/* the gate opens inside the loop and is closed again at the end of it, so a
   still scene shows the sheet it stands over */
.sa-gate { animation-name: scGate; }
.sa-gatescrim { animation-name: scGateScrim; }
.sheet.on.sa-gate { transform: translateY(103%); }
.scrim.on.sa-gatescrim { opacity: 0; }

@keyframes scGate {
    0%, 44% { transform: translateY(103%); }
    54%, 92% { transform: none; }
    100% { transform: translateY(103%); }
}

@keyframes scGateScrim {
    0%, 44% { opacity: 0; }
    54%, 92% { opacity: 1; }
    100% { opacity: 0; }
}

/* the option that lights up, and its tick */
.sa-pick { animation-name: scPick; }
.sa-tick { animation-name: scTick; }
.sa-tick::after { animation-name: scTickMark; }
.sa-press2 { animation-name: scPick2; }

@keyframes scPick {
    0%, 34% { background: none; border-color: var(--line); }
    40%, 100% { background: var(--accent-bg);
                border-color: color-mix(in srgb, var(--accent) 50%, transparent); }
}

@keyframes scPick2 {
    0%, 40% { background: none; border-color: var(--line); }
    44% { background: var(--accent-bg); transform: scale(.985); }
    50%, 100% { background: var(--accent-bg); transform: none;
                border-color: color-mix(in srgb, var(--accent) 50%, transparent); }
}

@keyframes scTick {
    0%, 34% { background: transparent;
              border-color: color-mix(in srgb, var(--ink-faint) 70%, transparent); }
    40%, 100% { background: var(--accent); border-color: var(--accent); }
}

@keyframes scTickMark {
    0%, 34% { opacity: 0; transform: scale(.4); }
    42%, 100% { opacity: 1; transform: none; }
}

/* a tap */
.sa-press { animation-name: scPress; }
.sa-send { animation-name: scSend; }

@keyframes scPress {
    0%, 35% { transform: none; }
    37% { transform: scale(.96); }
    44%, 100% { transform: none; }
}

@keyframes scSend {
    0%, 52% { transform: none; }
    55% { transform: scale(.92); }
    62%, 100% { transform: none; }
}

/* bars and charts */
.sa-grow { animation-name: scGrow; transform-origin: left center; }
.sa-draw .scline, .sa-draw .scmax { stroke-dasharray: 620; animation-name: scDraw; }
.sa-draw .scfill { animation-name: scFill; }

@keyframes scGrow {
    0%, 4% { transform: scaleX(0); }
    30%, 100% { transform: none; }
}

@keyframes scDraw {
    0%, 4% { stroke-dashoffset: 620; }
    38%, 100% { stroke-dashoffset: 0; }
}

@keyframes scFill {
    0%, 10% { opacity: 0; }
    40%, 100% { opacity: 1; }
}

/* a stack unrolls */
.sa-rows { overflow: hidden; animation-name: scRows; }

@keyframes scRows {
    0%, 16% { max-height: 0; }
    38%, 100% { max-height: 40em; }
}

/* the log slides in over the list */
.sa-logbar { animation-name: scLog; }

@keyframes scLog {
    0%, 46% { transform: translateY(112%); }
    58%, 94% { transform: none; }
    100% { transform: translateY(112%); }
}

/* the terminal: the caret blinks, a key is pressed */
.sa-caret { animation-name: scBlink; animation-duration: 1.06s;
            animation-timing-function: steps(1, end); animation-delay: 0s; }
.sa-key { animation-name: scKey; }
.sa-keyhit { animation-name: scKeyHit; }

@keyframes scBlink {
    0%, 49% { opacity: 1; }
    50%, 100% { opacity: 0; }
}

@keyframes scKey {
    0%, 62% { background: none; color: var(--ink-dim); }
    64% { background: var(--glass); color: var(--ink); }
    70%, 100% { background: none; color: var(--ink-dim); }
}

@keyframes scKeyHit {
    0%, 70% { background: none; color: var(--ink-dim); }
    73% { background: var(--glass); color: var(--ink); transform: scale(.96); }
    80%, 100% { background: none; color: var(--ink-dim); transform: none; }
}

/* what the scenes draw instead of a canvas: the same shapes, as vectors */
/* width 0 with a full-width minimum keeps the drawing from setting the width of
   the box it lies in, the way the panel keeps its own wide boxes in line */
.sc-spark, .sc-graph, .sc-peaks { display: block; width: 0; min-width: 100%; }
.sc-spark { height: calc(38 * var(--r) / 15); }
.sc-graph { height: calc(116 * var(--r) / 15); }
.sc-peaks { height: calc(78 * var(--r) / 15); }
.sctick { fill: var(--ink-faint); font-family: var(--mono);
          font-size: calc(9 * var(--r) / 15); text-anchor: middle; }
.sctick.first { text-anchor: start; }
.sctick.last { text-anchor: end; }

/* the session terminal: xterm paints its rows into a canvas, a scene writes them */
.scterm { font-family: var(--code); font-size: calc(13 * var(--r) / 15); line-height: 1.32;
          color: var(--termink); white-space: pre; }
.scterm .tdim { color: var(--term-bright-black); }
.scterm .tsay { color: var(--term-green); }
.scterm .tink { color: var(--term-bright-black); }
.scterm .tink2 { color: var(--termink); }
/* the console draws its input box out of box-drawing glyphs; a page that ships a
   latin font subset draws the same box with a border instead */
.scterm .tframe { margin: calc(.2 * var(--r)) 0; padding: calc(.22 * var(--r)) calc(.4 * var(--r));
                  border: 1px solid var(--term-bright-black); border-radius: calc(6 * var(--r) / 15);
                  white-space: pre-wrap; }
.scterm .tframe .tink { color: var(--term-bright-black); }
.scterm .tcaret { color: var(--term-blue); }
.scterm .tstatus { color: var(--term-bright-black); }

/* ── what the snapshots did not carry ────────────────────────────────────── */

/* The home session on the bar, as the panel draws it: filled while it works,
   breathing while it is busy. */
:is(.screen,.desk) nav.tabs .homeslot .homebtn.live {
    background: var(--accent-bg);
    color: var(--accent);
    box-shadow: inset 0 0 0 var(--hair) color-mix(in srgb, var(--accent) 50%, transparent);
}
@keyframes scHomeBreathe {
    0%, 100% { box-shadow: inset 0 0 0 var(--hair) color-mix(in srgb, var(--accent) 50%, transparent), var(--glow); }
    50% { box-shadow: inset 0 0 0 var(--hair) color-mix(in srgb, var(--accent) 50%, transparent), 0 0 calc(22 * var(--r) / 15) calc(-2 * var(--r) / 15) color-mix(in srgb, var(--accent) 70%, transparent); }
}
:is(.screen,.desk) nav.tabs .homeslot .homebtn.busy { animation: scHomeBreathe 2.4s ease-in-out infinite; }

/* A letter arrives closed and unfolds on the timeline. */
:is(.screen,.desk) .mmbody.sa-unfold { overflow: hidden; }
.sa-unfold { animation-name: scUnfold; }
@keyframes scUnfold {
    0%, 14% { max-height: 0; opacity: 0; padding-top: 0; padding-bottom: 0; }
    26%, 100% { max-height: 14em; opacity: 1; }
}

/* The terminal sits on its status line, as a terminal does. */
:is(.screen,.desk) .termscreen { display: flex; flex-direction: column; }
:is(.screen,.desk) .termscreen > .scterm { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: flex-end; }

/* A chart the panel paints into a canvas stands in a scene as the same shape
   drawn in svg, in the box the canvas had. */
:is(.screen,.desk) .sc-chartbox { display: block; max-width: 100%; }
:is(.screen,.desk) .sc-chartbox > .sc-chart { display: block; width: 100%; height: 100%; overflow: visible; }
