html:has(.desk),body.desk{height:100%;overflow:hidden}
.desk{display:flex;flex-direction:column;height:100vh;background:#fff;color:var(--ink);overflow:hidden}
.desk .desk-shell{display:flex;flex:1;min-height:0}
.desk .chat-pane{flex:0 0 320px;width:320px;display:flex;flex-direction:column;min-height:0;padding:16px 16px 14px;border-left:1px solid #111;background:#fff}
.desk .chat-pane[hidden]{display:none!important}
.desk .chat-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;flex-shrink:0}
.desk .chat-head .kicker,.desk .chat-head .app-from{margin:0}
.desk .chat-head .app-from{margin-top:4px}
.desk .chat-thread{flex:1;min-height:0;overflow-y:auto;padding-right:4px}
.desk .chat-msg{margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid #eee}
.desk .chat-msg p{margin:0;font:13px/1.45 Georgia,'Times New Roman',serif;white-space:pre-line}
.desk .chat-msg .chat-who{margin:0 0 4px;color:#777;font:9px var(--mono);letter-spacing:.08em}
.desk .chat-msg.is-user .chat-who{color:#111}
.desk .chat-msg.is-pending p{color:#777;font-style:italic}
.desk .chat-response-actions{display:flex;justify-content:flex-end;margin-top:5px}
.desk .chat-read{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:#555;font:13px/1 sans-serif;cursor:pointer}
.desk .chat-read:hover,.desk .chat-read:focus-visible{background:#f0f0f0;color:#111}
.desk .chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.desk .chat-chip{display:inline-block;padding:3px 7px;border:1px solid #111;color:#111;font:9px var(--mono);letter-spacing:.04em}
.desk .chat-chip.is-bad{border-color:#a11;color:#a11}
.desk .chat-status{margin:8px 0;color:#888;font:9px var(--mono);letter-spacing:.06em;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-shrink:0}
.desk .chat-status .textish{font:9px var(--mono);letter-spacing:.06em}
.desk .chat-form{display:grid;gap:8px;margin-top:4px;flex-shrink:0;position:relative}
.desk .slash-menu{position:absolute;left:0;right:0;bottom:calc(100% + 6px);max-height:260px;overflow:auto;border:1px solid #111;background:#fff;z-index:6}
.desk .slash-menu[hidden]{display:none!important}
.desk .slash-group{padding:8px 10px 2px;color:#888;font:9px var(--mono);letter-spacing:.08em}
.desk .slash-item{display:grid;grid-template-columns:72px 1fr;gap:2px 10px;width:100%;margin:0;padding:8px 10px;border:0;border-bottom:1px solid #eee;background:#fff;color:#111;text-align:left;cursor:pointer}
.desk .slash-item:last-child{border-bottom:0}
.desk .slash-item kbd{font:11px var(--mono);color:#111}
.desk .slash-item span{font:12px Georgia,serif}
.desk .slash-item small{grid-column:2;color:#777;font:11px Georgia,serif}
.desk .slash-item.is-active,.desk .slash-item:hover{background:#f4f4f4}
.desk .chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;border:1px solid #111}
.desk .chat-composer textarea{height:56px;margin:0;border:0;resize:none}
.desk .chat-dictate{display:grid;place-items:center;width:39px;border:0;border-left:1px solid #111;background:#fff;color:#111;cursor:pointer}
.desk .chat-dictate svg{width:18px;height:18px;fill:currentColor}
.desk .chat-dictate:hover,.desk .chat-dictate:focus-visible{background:#f4f4f4}
.desk .chat-dictate[aria-pressed="true"]{background:#111;color:#ff4b4b}
.desk .chat-form .dark{width:max-content}
.desk header{flex:0 0 44px;height:44px;padding:0 18px;background:#fff;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;border-bottom:1px solid #111}
.desk .brand{font:600 22px/1 var(--pixel);letter-spacing:.02em}
.desk .chrome{margin:0;min-width:0;color:#555;font:10px var(--mono);letter-spacing:.06em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desk .chrome:empty{visibility:hidden}
.desk header>div{position:relative}
.desk header>div>button{color:#111;font:10px var(--mono);letter-spacing:.08em;text-decoration:none;border:1px solid #111;border-radius:0;background:#fff;box-shadow:none;padding:5px 10px;margin-left:0;cursor:pointer}
.desk header>div>button:hover{background:#f4f4f4}
.desk .menu{top:36px;right:0;width:210px;border:1px solid #111;box-shadow:none;z-index:5}
.desk .menu button,.desk .menu a{display:block;width:100%;padding:8px 10px;border:0;border-bottom:1px solid #eee;background:#fff;color:#111;font:12px Georgia,serif;text-align:left;text-decoration:none;cursor:pointer}
.desk .menu [hidden]{display:none!important}
.desk .menu .menu-rule{display:block;height:1px;margin:4px 0;background:#111;opacity:.12}
.desk .menu button.is-open{background:#f4f4f4}
.desk .menu a:last-child,.desk .menu button:last-child{border-bottom:0}
.desk .menu a:hover,.desk .menu button:hover{background:#f4f4f4}
.desk .settings-submenu{position:relative}
.desk .settings-submenu>#settingsBtn{display:flex;align-items:center;justify-content:space-between}
.desk .settings-submenu>#settingsBtn span{font:18px/0 Georgia,serif}
.desk .settings-menu{position:absolute;right:calc(100% + 6px);top:0;width:235px;border:1px solid #111;background:#fff;box-shadow:none;z-index:6}
.desk .settings-menu[hidden]{display:none!important}
.desk .settings-menu button,.desk .settings-menu a{display:block;width:100%;padding:8px 10px;border:0;border-bottom:1px solid #eee;background:#fff;color:#111;font:12px Georgia,serif;text-align:left;text-decoration:none;cursor:pointer}
.desk .settings-menu button:last-child{border-bottom:0}
.desk .settings-menu button:hover,.desk .settings-menu a:hover{background:#f4f4f4}
.desk .mascot-view{display:block;width:min(180px,100%);height:auto;margin:0 auto 16px;border:1px solid #111;background:#f6f6f6;image-rendering:auto}
.desk .mascot-view[hidden]{display:none}
.desk .grid{display:flex;flex:1;min-height:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
.desk .pane{flex:0 0 auto;display:flex;flex-direction:column;height:100%;min-height:0;padding:18px;border-right:1px solid var(--line);overflow-x:hidden;overflow-y:auto}
.desk .pane[hidden]{display:none!important}
.desk .pane-company{position:sticky;left:0;z-index:2;width:240px;background:#fff;border-right:1px solid #111;overflow-x:hidden;overflow-y:auto}
.desk .pane-empty,.desk .pane-record{width:360px}
.desk .pane-briefing{width:390px;background:#f8fbff}
.desk .pane-constraint{width:440px}
.desk .pane-work{width:400px}
.desk .pane-docs{width:480px}
.desk .pane-pipeline{width:300px}
.desk .pane-memory{width:320px}
.desk .pane-ops{width:360px}
.desk .pane-apps{width:400px}
.desk .pane-dispatch{width:460px}
.desk .pane-website{width:min(980px,92vw)}
.desk .ops-block{margin:0 0 14px;padding-bottom:12px;border-bottom:1px solid #eee}
.desk .ops-block h3{margin:0 0 6px;font:13px Georgia,'Times New Roman',serif}
.desk .ops-block p{margin:0 0 6px;font:13px/1.4 Georgia,'Times New Roman',serif}
.desk .ops-row{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.desk .ops-row span{min-width:0}
.desk .ops-row small{flex:0 0 auto;color:#666;font:8px var(--mono);letter-spacing:.04em}
.desk .ops-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.desk .ops-approval{margin:0 0 8px;padding-bottom:8px;border-bottom:1px solid #eee}
.desk .ops-ingest{display:grid;gap:6px;margin-top:12px}
.desk .ops-ingest button,.desk .ops-approval button{
  border:1px solid #111;border-radius:0;background:#fff;box-shadow:none;color:#111;font:10px var(--mono);letter-spacing:.04em;padding:6px 10px;cursor:pointer
}
.desk #opsHint:empty{display:none}
.desk .pane-memo{width:340px;padding:18px 16px}
.desk .kicker,.desk .memo-label{margin:0 0 12px;color:#555;font:10px var(--mono);letter-spacing:.12em}
.desk .company-card{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}
.desk .mark{
  position:relative;display:block;flex:0 0 40px;width:40px;height:40px;
  border:1px solid #111;overflow:hidden;background:#fff;color:transparent;
  font:0/0 a;text-shadow:none
}
.desk .pixel-sq{
  position:absolute;left:10px;top:10px;width:20px;height:20px;
  image-rendering:pixelated;display:block;
  animation:pixel-idle 4.8s steps(1,end) infinite
}
.desk .pixel-bit{
  position:absolute;width:4px;height:4px;background:var(--blue);
  image-rendering:pixelated;opacity:0;pointer-events:none
}
.desk .pixel-bit:nth-of-type(1){left:4px;top:6px;animation:pixel-orbit-a 5.7s steps(1,end) infinite}
.desk .pixel-bit:nth-of-type(2){right:5px;bottom:6px;animation:pixel-orbit-b 4.3s steps(1,end) infinite}
.desk .pixel-bit:nth-of-type(3){left:18px;bottom:3px;animation:pixel-orbit-c 6.4s steps(1,end) infinite}
.desk.is-thinking .pixel-sq{animation:pixel-think .48s steps(4) infinite}
.desk.is-thinking .pixel-bit{opacity:1}
.desk.is-thinking .pixel-bit:nth-of-type(1){animation:pixel-bit-a .4s steps(4) infinite}
.desk.is-thinking .pixel-bit:nth-of-type(2){animation:pixel-bit-b .52s steps(4) infinite}
@keyframes pixel-idle{
  0%,12%{transform:translate(0,0)}
  18%{transform:translate(2px,-2px)}
  26%,42%{transform:translate(2px,1px)}
  48%{transform:translate(-2px,1px)}
  56%,72%{transform:translate(-2px,-1px)}
  80%{transform:translate(1px,-3px)}
  88%,100%{transform:translate(0,0)}
}
@keyframes pixel-orbit-a{
  0%,18%,100%{transform:translate(0,0);opacity:0}
  24%,34%{transform:translate(18px,-3px);opacity:1}
  40%,50%{transform:translate(25px,12px);opacity:.72}
  56%{transform:translate(11px,25px);opacity:.4}
}
@keyframes pixel-orbit-b{
  0%,10%,100%{transform:translate(0,0);opacity:0}
  16%,26%{transform:translate(-15px,-12px);opacity:.85}
  32%,42%{transform:translate(-21px,3px);opacity:1}
  48%,58%{transform:translate(-8px,14px);opacity:.45}
}
@keyframes pixel-orbit-c{
  0%,35%,100%{transform:translate(0,0);opacity:0}
  41%,48%{transform:translate(9px,-18px);opacity:.5}
  54%,62%{transform:translate(-13px,-22px);opacity:1}
  68%,76%{transform:translate(-17px,-6px);opacity:.6}
}
@keyframes pixel-think{
  0%{transform:translate(0,0)}
  25%{transform:translate(4px,-4px)}
  50%{transform:translate(-3px,3px)}
  75%{transform:translate(3px,2px)}
  100%{transform:translate(0,0)}
}
@keyframes pixel-bit-a{
  0%{transform:translate(0,0)}
  25%{transform:translate(18px,8px)}
  50%{transform:translate(8px,20px)}
  75%{transform:translate(22px,4px)}
  100%{transform:translate(0,0)}
}
@keyframes pixel-bit-b{
  0%{transform:translate(0,0)}
  25%{transform:translate(-16px,-8px)}
  50%{transform:translate(-6px,-18px)}
  75%{transform:translate(-20px,-2px)}
  100%{transform:translate(0,0)}
}
@media(prefers-reduced-motion:reduce){
  .desk .pixel-sq,.desk .pixel-bit{animation:none}
}
.desk .company-card h1{margin:0 0 4px;font:22px/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.03em}
.desk .company-card p{color:#555;font:10px var(--mono);letter-spacing:.04em}
.desk .company-card p:empty{display:none}
.desk .metrics{margin-bottom:18px;padding-top:12px;border-top:1px solid #111}
.desk .metric-hero{display:flex;flex-direction:column;gap:2px;margin:0 0 12px}
.desk .metric-hero span{color:#777;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.desk .metric-hero b{font:20px/1.15 Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-.02em}
.desk .metric-quiet{margin:0 0 5px;color:#666;font:10px var(--mono)}
.desk .metric-quiet b{font-weight:normal;color:#111}
.desk .metrics h2,.desk .links h2,.desk .section-head h2,.desk .agent-board h2,.desk .loop-history h2,.desk .memo h2,.desk .work-docs h2{
  font:18px/1.15 Georgia,'Times New Roman',serif;letter-spacing:-.02em;font-weight:normal;border-bottom-color:#111
}
.desk .section-head{flex:0 0 auto;align-items:baseline}
.desk .section-head span{font:9px var(--mono);letter-spacing:.1em}
.desk .links{display:grid;margin-top:auto}
.desk .links a{color:#777;font:14px Georgia,'Times New Roman',serif;letter-spacing:0;border-bottom:1px solid #eee;padding:7px 0;text-decoration:none}
.desk .links a:hover,.desk .links a.is-active{color:#111;border-bottom-color:#111}
.desk .footnote{margin-top:auto;position:static;font:9px var(--mono);letter-spacing:.04em}
.desk label{font:10px var(--mono);letter-spacing:.04em}
.desk .empty,.desk .inbox p,.desk .memo li,.desk .answer,.desk .planner-result p,.desk .agent-row,.desk .history-row,.desk .pipeline-item,.desk .task-copy b,.desk .doc button{
  font-family:Georgia,'Times New Roman',serif
}
.desk #plannerGate:empty{display:none}
.desk .constraint-card{margin:0 0 14px;padding:12px;border:1px solid #111;background:#fff;box-shadow:3px 3px 0 #4d90f4}
.desk .constraint-card .kicker{margin:0 0 4px}
.desk .constraint-card h3{margin:0 0 4px;font:600 18px/1.2 Georgia,'Times New Roman',serif;color:#111}
.desk .constraint-card .constraint-priority{margin:0 0 10px;color:#374151}
.desk .constraint-card[data-state="none"] h3{color:#6b7280}
.desk .constraint-facts{display:grid;gap:6px}
.desk .constraint-facts p{display:grid;grid-template-columns:86px minmax(0,1fr);gap:8px;margin:0;font-size:13px;line-height:1.35}
.desk .constraint-facts p b{font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#6b7280;padding-top:2px}
.desk .constraint-bar{position:relative;height:18px;border:1px solid #c9d3e3;background:#f3f8ff;margin-bottom:2px}
.desk .constraint-bar span{position:absolute;inset:0 auto 0 0;background:#9cc4ff}
.desk .constraint-bar.is-work span{background:#bfe0cc}
.desk .constraint-bar small{position:relative;display:block;padding:2px 6px;font:10px var(--mono);color:#111}
.desk .constraint-ask{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.desk .constraint-ask button{padding:5px 9px;border:1px solid #c9d3e3;background:#fff;color:#111;font:12px Georgia,serif;cursor:pointer}
.desk .constraint-ask button:hover,.desk .constraint-ask button:focus-visible{border-color:#111;box-shadow:2px 2px 0 #4d90f4}
.desk .constraint-inputs{margin:0 0 6px}
.desk .cycle-review{display:grid;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid #111}
.desk .cycle-review[hidden]{display:none!important}
.desk .cycle-review .kicker{margin:0}
.desk .cycle-review .dark{width:max-content;min-width:200px;justify-self:start}
.desk .task-error{margin:0;color:#8a1f11;font:10px var(--mono)}
.desk .pane-work .task-evidence select{width:100%;height:auto;padding:8px;border:1px solid #bbb}
.desk .field-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.desk .pane-constraint .planner-metrics{grid-template-columns:1fr 1fr}
.desk .constraint-side{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}
.desk .planner{border-top:0;padding-top:0}
.desk .planner-result,.desk .agent-board,.desk .loop-history{margin-top:10px;padding-top:8px}
.desk .dark,.desk .empty-actions .dark,.desk form>.dark,form#companyForm .dark,form#plannerForm .dark,form#memoryForm .dark{
  border:0;border-radius:0;background:#111;box-shadow:none;color:#fff;padding:11px 16px;font:600 13px/1 var(--pixel);letter-spacing:.08em;text-shadow:none;text-decoration:none;cursor:pointer
}
.desk #plannerForm>.dark,.desk #memoryForm>.dark,.desk #cycleReview>.dark,.desk .empty-actions .dark{width:max-content;min-width:200px;justify-self:start}
.desk .dark:hover,.desk .empty-actions .dark:hover{transform:none;background:#222;box-shadow:none}
.desk .ghost-link{border:1px solid #111;border-radius:0;box-shadow:none;padding:10px 16px;color:#111;font:600 13px/1 var(--pixel);letter-spacing:.08em;text-decoration:none}
.desk .ghost-link:hover{transform:none;background:#f4f4f4}
.desk .brief-foot{flex-wrap:wrap;align-items:center}
.desk .record-health{margin:0 0 16px;padding:10px 12px;border-left:3px solid var(--blue);background:#f8fbff;color:#333;font:12px/1.45 Georgia,'Times New Roman',serif}
.desk .chips button{border:1px solid #bbb;border-radius:0;background:#fff;box-shadow:none;padding:5px 8px;font:10px var(--mono);letter-spacing:.04em}
.desk .chips button.selected{background:#111;color:#fff;text-shadow:none;border-color:#111}
.desk .planner-exec,.desk .textish,.desk .memory-toggle{
  border:0;background:none;box-shadow:none;color:#111;padding:0;font:12px Georgia,serif;text-decoration:underline;text-align:left;cursor:pointer
}
.desk .task-evidence button,.desk .pipeline-form button,.desk .pipeline-item button,.desk .ask button,.desk #memorySearch button{
  border:1px solid #111;border-radius:0;background:#fff;box-shadow:none;color:#111;font:10px var(--mono);letter-spacing:.04em;padding:6px 10px;cursor:pointer
}
.desk .ask button,.desk #memorySearch button{padding:0 12px}
.desk .task small,.desk .task-result,.desk .pipeline-item small,.desk .doc span,.desk .inbox small,.desk .agent-row span{font:8px var(--mono);letter-spacing:.04em}
.desk .inbox{border:0;background:transparent;min-height:0;padding:0}
.desk .inbox-item{border-bottom:1px solid #eee;padding:8px 0}
.desk .inbox-item p:first-child b{font:13px Georgia,serif;letter-spacing:0}
.desk textarea,.desk input,.desk select{border:1px solid #bbb;border-radius:0}
.desk textarea{height:64px}
.desk textarea:focus,.desk input:focus,.desk select:focus{border-color:#111;box-shadow:none;outline:1px solid #111}
.desk .memo{font-size:13px;line-height:1.45}
.desk .memo h2{border-bottom:0;padding-bottom:0;margin:14px 0 6px}
.desk .memo-inbox{margin-top:16px;padding-top:12px;border-top:1px solid #111}
.desk .memo-inbox h2 span{float:right;color:#777;font:9px var(--mono)}
.desk .ask{margin-top:16px}
.desk .ask input,.desk #memorySearch input{border-right:1px solid #bbb}
.desk .memory-toggle{margin-top:16px}
.desk .memory-panel{margin-top:12px;padding-top:12px;border-top:1px solid #eee}
.desk .memory-panel[hidden]{display:none!important}
.desk .empty-actions{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px}
.desk .pane-work .task-list{display:flex;flex-direction:column;gap:10px;overflow:visible}
.desk .pane-work .task{display:flex;flex-direction:column;gap:8px;height:auto;padding:12px 0;grid-template-columns:none;border:0;border-bottom:1px solid #ddd;background:transparent;box-shadow:none}
.desk .pane-work .task-copy b{font-size:15px;font-weight:normal}
.desk .pane-work .task-evidence,.desk .pane-work .task-result,.desk .pane-work .textish{grid-column:auto}
.desk .pane-work .task-evidence{display:flex;flex-direction:column;gap:6px}
.desk .pane-work .task input,.desk .pane-work .task-evidence input{appearance:auto;width:100%;height:auto;margin:0;padding:8px;border:1px solid #bbb}
.desk .extra-close{margin:0;font-size:11px}
.desk .pane-memo .section-head .memo-label{margin:0}
.desk .doc{border-bottom:1px solid #eee}
.desk #refreshDocsBtn{margin-right:12px;font-size:11px}
.desk #refreshDocsBtn:disabled{color:#999;cursor:wait;text-decoration:none}
.desk .document-viewer{margin-top:18px;padding-top:14px;border-top:1px solid #111}
.desk .document-viewer h3{margin:0 0 12px;font:20px/1.15 Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-.02em}
.desk .document-viewer pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:#222;font:14px/1.55 Georgia,'Times New Roman',serif}
.desk .document-improve{margin-top:14px;font-size:12px}
.desk .briefing-content{display:grid;gap:14px}
.desk .briefing-state{margin:0;color:#295eac;font:10px var(--mono);letter-spacing:.09em}
.desk .briefing-content h3{margin:0;font:22px/1.1 Georgia,'Times New Roman',serif;font-weight:normal;letter-spacing:-.025em}
.desk .briefing-content p{margin:0;font:14px/1.5 Georgia,'Times New Roman',serif}
.desk .briefing-proof{padding:11px 12px;border-left:3px solid var(--blue);background:#fff}
.desk .briefing-proof small{display:block;margin-bottom:4px;color:#666;font:9px var(--mono);letter-spacing:.06em}
.desk .briefing-content ul{margin:0;padding-left:18px;font:13px/1.5 Georgia,'Times New Roman',serif}
.desk .briefing-actions{display:grid;gap:10px;margin-top:auto;padding-top:18px}
.desk .briefing-actions .dark{width:max-content;min-width:0}
.desk .pipeline-form{margin-top:auto}
.desk .app-layer{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:#1117}
.desk .app-layer[hidden],.desk .app-layer [hidden]{display:none!important}
.desk .app-card{width:min(440px,100%);padding:22px 22px 20px;border:1px solid #111;background:#fff;box-shadow:none}
.desk .app-from{margin:0 0 10px;color:#777;font:9px var(--mono);letter-spacing:.08em}
.desk .app-card h2{margin:0 0 12px;font:600 22px/.95 var(--pixel);letter-spacing:.03em}
.desk .app-card p:not(.kicker):not(.app-from){margin:0 0 18px;color:#444;font:14px Georgia,serif;line-height:1.45}
.desk .app-layer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.desk .app-layer.is-wide .app-card{width:min(520px,100%);max-height:calc(100vh - 48px);overflow-y:auto}
.desk .identity-picker{margin:0 0 18px}
.desk .identity-picker .kicker{margin:14px 0 6px}
.desk .identity-preview{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #111;box-shadow:3px 3px 0 #4d90f4}
.desk .identity-preview .pixel-sq{position:static;flex:0 0 auto;animation:none}
.desk .identity-preview b{font:600 18px/1.1 var(--pixel);letter-spacing:.03em;color:#111}
.desk .identity-mascots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.desk .identity-mascots button{display:grid;justify-items:center;gap:4px;padding:8px 6px;border:1px solid #ddd;background:#fff;cursor:pointer}
.desk .identity-mascots button:hover{border-color:#111}
.desk .identity-mascots button.is-on{border-color:#111;box-shadow:2px 2px 0 #4d90f4}
.desk .identity-mascots img{width:64px;height:64px;object-fit:contain}
.desk .identity-mascots span{display:grid;place-items:center;width:64px;height:64px;color:#999;font:20px var(--mono)}
.desk .identity-mascots small{font:10px var(--mono);letter-spacing:.04em;color:#111}
.desk .identity-picker .icon-swatches button{width:24px;height:24px}
.desk .identity-picker .icon-variants .pixel-sq{width:24px;height:24px}
.desk .app-layer-actions .ghost-link{padding:10px 14px}
.desk .desk-mascot{position:fixed;right:22px;bottom:18px;z-index:20;width:162px;touch-action:none;cursor:grab;filter:drop-shadow(0 10px 10px #0049b533)}
.desk .desk-mascot[data-size="small"]{width:112px}.desk .desk-mascot[data-size="large"]{width:212px}
.desk .desk-mascot[data-reminder="true"]::after{content:'!';position:absolute;right:8px;top:4px;display:grid;place-items:center;width:19px;height:19px;border:1px solid #111;border-radius:50%;background:#ffdf00;color:#111;font:700 12px var(--mono);pointer-events:none}
.desk .mascot-context{position:fixed;z-index:24;border:1px solid #111;background:#fff;box-shadow:3px 3px 0 #1d6bff}.desk .mascot-context[hidden]{display:none!important}.desk .mascot-context button{display:block;border:0;background:#fff;padding:9px 12px;color:#111;font:11px var(--mono);cursor:pointer}.desk .mascot-context button:hover{background:#f4f4f4}
.desk .desk-mascot.is-dragging{cursor:grabbing}
.desk .desk-mascot-button{display:block;width:100%;margin:0;padding:0;border:0;background:transparent;cursor:inherit}
.desk .desk-mascot-button img{display:block;width:100%;height:auto;animation:mascot-float 3.8s ease-in-out infinite;user-select:none;-webkit-user-drag:none}
.desk .desk-mascot.is-dragging img{animation:none}
@keyframes mascot-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
.desk .mascot-chat{position:fixed;right:28px;bottom:172px;z-index:21;width:min(310px,calc(100vw - 32px));border:1px solid #111;background:#fff;box-shadow:5px 5px 0 #1d6bff}
.desk .mascot-chat[hidden]{display:none!important}
.desk .mascot-chat header{height:auto;min-height:54px;padding:10px 12px;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #111}
.desk .mascot-chat header .kicker{margin:0 0 3px;font-size:9px}
.desk .mascot-chat header h2{margin:0;font:600 17px/1 var(--pixel)}
.desk .mascot-chat header .textish{width:auto;margin:3px 0 0;font-size:9px}
.desk .mascot-reminder{margin:0;padding:8px 12px;border-bottom:1px solid #111;background:#fff8cb;color:#513d00;font:10px/1.35 var(--mono)}
.desk .mascot-chat-messages{max-height:170px;overflow:auto;padding:12px;font:12px/1.4 Georgia,serif}
.desk .mascot-chat-messages p{margin:0 0 9px}
.desk .mascot-chat-messages p:last-child{margin-bottom:0}
.desk .mascot-chat-messages .is-user{padding-left:18px;color:#175cd3}
.desk .mascot-chat form{display:grid;grid-template-columns:1fr auto;gap:0;border-top:1px solid #111}
.desk .mascot-chat input{margin:0;border:0;border-right:1px solid #111;padding:9px;min-width:0}
.desk .mascot-chat form button{border:0;background:#111;color:#fff;padding:0 12px;font:10px var(--mono);cursor:pointer}
@media(max-width:900px){
  html:has(.desk),body.desk{height:auto;overflow:auto}
  .desk{height:auto;overflow:visible}
  .desk header{position:sticky;top:0;z-index:4}
  .desk .desk-shell{flex-direction:column}
  .desk .chat-pane{position:sticky;top:44px;z-index:3;order:-1;flex:none;width:100%;height:min(52vh,420px);border-left:0;border-bottom:1px solid #111}
  .desk .grid{flex-direction:column;overflow:visible;scroll-snap-type:none;scroll-padding-left:0}
  .desk .pane,.desk .pane-company,.desk .pane-empty,.desk .pane-record,.desk .pane-constraint,.desk .pane-work,.desk .pane-docs,.desk .pane-pipeline,.desk .pane-memo,.desk .pane-memory,.desk .pane-ops,.desk .pane-apps,.desk .pane-dispatch,.desk .pane-website{width:100%;height:auto;overflow:visible;border-right:0;border-bottom:1px solid var(--line)}
  .desk .pane-company{position:static}
  .desk .footnote{display:none}
}
@media(max-width:680px){
  .desk header{grid-template-columns:auto 1fr auto;gap:8px}
  .desk .chrome{display:none}
  .desk .company-card h1{font-size:20px}
  .desk .dark,.desk .ghost-link{font-size:12px}
  .desk .desk-mascot{width:126px;right:10px;bottom:10px}
  .desk .mascot-chat{right:12px;bottom:132px}
}
@media(prefers-reduced-motion:reduce){.desk .desk-mascot-button img{animation:none}}
.desk .mark-wrap{position:relative;flex:0 0 40px}
.desk button.mark{padding:0;cursor:pointer;appearance:none}
.desk button.mark:disabled{cursor:default}
.desk button.mark:not(:disabled):hover,.desk button.mark:focus-visible{outline:2px solid var(--icon-accent,var(--blue));outline-offset:2px}
.desk .mark .pixel-bit{background:var(--icon-accent,var(--blue))}
.desk .icon-picker{position:absolute;left:0;top:48px;z-index:20;width:200px;padding:10px;border:1px solid #111;background:#fff;box-shadow:3px 3px 0 #111}
.desk .icon-picker .kicker{margin-bottom:8px}
.desk .icon-variants{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-bottom:10px}
.desk .icon-variants button{display:grid;place-items:center;aspect-ratio:1;padding:0;border:1px solid #ddd;background:#fff;cursor:pointer}
.desk .icon-variants .pixel-sq{position:static;width:20px;height:20px;animation:none}
.desk .icon-variants button.is-on,.desk .icon-variants button:hover{border-color:#111}
.desk .icon-swatches{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}
.desk .icon-swatches button{width:18px;height:18px;padding:0;border:1px solid #111;background:var(--swatch);cursor:pointer}
.desk .icon-swatches button.is-on{box-shadow:0 0 0 2px #fff,0 0 0 3px #111}
.desk .icon-actions{display:flex;justify-content:space-between}
.desk .chat-response-actions{gap:6px;align-items:center}
.desk .chat-improve{border:1px solid #ccc;background:#fff;color:#555;padding:3px 8px;font:10px var(--mono);letter-spacing:.04em;cursor:pointer}
.desk .chat-improve:hover,.desk .chat-improve:focus-visible{border-color:#111;color:#111}
.desk .memory-recent h2{display:flex;justify-content:space-between;align-items:baseline}
.desk .memory-filter{display:flex;gap:8px}
.desk .memory-filter .is-on{color:#111;text-decoration:underline}
.desk .memory-recent small{margin-left:6px;color:#888;font:9px var(--mono)}
.desk .memory-forget{margin-left:6px;font-size:9px}
.desk .goal-target{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:8px}
.desk .goal-target select{display:block;width:100%;margin-top:4px;padding:6px;border:1px solid var(--line);background:#fff;font:11px Georgia,serif}
.desk #goalPace[data-status="behind"],.desk #goalPace[data-status="missed"]{color:#b3261e}
.desk #goalPace[data-status="on pace"],.desk #goalPace[data-status="hit"]{color:#1c7a45}
.desk #goalPace[data-status="none"]{color:#999;font-size:14px}
.desk .commitments{display:grid;gap:8px;margin-top:6px;padding-top:14px;border-top:1px solid #dbe5f5}
.desk .goal-line{margin:0 0 6px;padding:9px 11px;background:#fff;border-left:3px solid #999;font:13px/1.45 Georgia,serif}
.desk .goal-line.is-on-pace,.desk .goal-line.is-hit{border-left-color:#1c7a45}
.desk .goal-line.is-behind,.desk .goal-line.is-missed{border-left-color:#b3261e}
.desk .commitments ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.desk .commit{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;background:#fff;border:1px solid #e3e8f0;font:12px/1.4 Georgia,serif}
.desk .commit small{display:block;margin-top:2px;color:#777;font:9px var(--mono);letter-spacing:.04em}
.desk .commit.is-overdue{border-color:#e7b4ae}
.desk .commit.is-overdue small{color:#b3261e}
.desk .commit.is-due small{color:#a15c00}
.desk .commit-actions{display:flex;gap:8px;align-items:flex-start;white-space:nowrap}
@media(max-width:700px){.desk .goal-target{grid-template-columns:1fr}}
/* Chat v2: bubbles, typing, suggestions, inline composer */
.desk .chat-pane{flex:0 0 clamp(340px,30vw,440px);width:clamp(340px,30vw,440px);background:#f7f9fc;padding:14px 14px 10px}
.desk .chat-head{padding-bottom:10px;border-bottom:1px solid #e1e5ec}
.desk .chat-thread{display:flex;flex-direction:column;gap:14px;padding:12px 4px 12px 0;scroll-behavior:smooth}
.desk .chat-msg{display:flex;align-items:flex-start;gap:8px;margin:0;padding:0;border:0}
.desk .chat-msg.is-user{justify-content:flex-end}
.desk .chat-avatar{flex:0 0 26px;width:26px;height:26px;padding:2px;border:1px solid #111;background:#fff}
.desk .chat-avatar svg{display:block;width:100%;height:100%;image-rendering:pixelated}
.desk .chat-bubble{min-width:0;max-width:88%;padding:9px 12px 10px;border:1px solid #e1e5ec;background:#fff;box-shadow:2px 2px 0 rgba(17,17,17,.06)}
.desk .chat-msg.is-user .chat-bubble{background:#111;border-color:#111;color:#fff;box-shadow:2px 2px 0 #4d90f4}
.desk .chat-msg.is-nudge .chat-bubble{border-left:3px solid #e8a33d;background:#fffaf1}
.desk .chat-msg.is-failed .chat-bubble{border-color:#e7b4ae;background:#fff7f6}
.desk .chat-msg .chat-who{display:flex;justify-content:space-between;gap:12px;margin:0 0 4px;color:#6b7280;font:9px var(--mono);letter-spacing:.08em;text-transform:uppercase}
.desk .chat-msg.is-user .chat-who{color:#9ca3af}
.desk .chat-who time{color:#9ca3af;letter-spacing:.02em;text-transform:none}
.desk .chat-msg .chat-text{margin:0;font:14px/1.5 Georgia,'Times New Roman',serif;white-space:pre-line;overflow-wrap:anywhere}
.desk .chat-msg.is-user .chat-text{color:#fff}
.desk .chat-typing{display:flex;align-items:center;gap:4px;margin:2px 0;color:#6b7280;font:italic 13px Georgia,serif}
.desk .chat-typing i{width:5px;height:5px;background:#4d90f4;animation:chat-dot 1s steps(2,end) infinite}
.desk .chat-typing i:nth-child(2){animation-delay:.15s}
.desk .chat-typing i:nth-child(3){animation-delay:.3s}
.desk .chat-typing span{margin-left:6px}
@keyframes chat-dot{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-3px);opacity:1}}
.desk .chat-response-actions{display:flex;justify-content:flex-start;flex-wrap:wrap;gap:10px;margin-top:8px}
.desk .chat-tool,.desk .chat-tool.chat-read,.desk .chat-improve{width:auto;height:auto;padding:0;border:0;border-radius:0;background:none;color:#6b7280;font:10px var(--mono);letter-spacing:.04em;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.desk .chat-tool:hover,.desk .chat-tool:focus-visible{color:#111;background:none}
.desk .chat-tool.is-retry{padding:4px 10px;border:1px solid #111;color:#111;text-decoration:none}
.desk .advisor-avatar{display:inline-grid;place-items:center;flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--tone,#555);color:#fff;font:600 13px Georgia,serif}
.desk .chat-msg .advisor-avatar{margin-top:2px}
.desk .advisor-card .advisor-avatar{width:38px;height:38px;font-size:16px}
.desk .advisor-inspired{margin:0 0 4px!important;color:#777;font:11px var(--mono)!important}
.desk .advisor-seats{display:flex}
.desk .advisor-seats .advisor-avatar{width:26px;height:26px;margin-right:-6px;border:2px solid #fff;font-size:11px}
.desk .advisor-board em{margin-left:6px}
.desk .apps-dispatch.advisor-board{grid-template-columns:auto 1fr auto;gap:14px}
.desk .advisor-card .apps-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.desk .advisor-contrarian{margin:8px 0 0;padding:8px 10px;border-left:3px solid #c2410c;background:#fff6ef;font:13px/1.45 Georgia,serif}
.desk .advisor-contrarian span,.desk .board-advice span{display:block;margin-bottom:2px;color:#9a3412;font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.desk .board-turns{display:grid;gap:8px}
.desk .board-turn{display:flex;gap:8px;align-items:flex-start}
.desk .board-turn .advisor-avatar{width:24px;height:24px;font-size:11px}
.desk .board-turn p{margin:0;font:13px/1.45 Georgia,serif}
.desk .board-advice{margin-top:10px;padding:10px 12px;border:1px solid #111;background:#fafafa}
.desk .board-advice p{margin:0 0 6px;font:13px/1.45 Georgia,serif}
.desk .board-advice p:last-child{margin-bottom:0}
.desk .board-advice span{color:#111}
.desk .chat-learned{margin:10px 0 0;padding:10px 12px;border:1px solid #c9b8f5;border-left:3px solid #7c3aed;background:#f7f3ff;font:13px/1.45 Georgia,serif;animation:learnedIn .25s ease-out}
.desk .chat-learned p{margin:0 0 6px}
.desk .chat-learned-head{color:#5b21b6;font:600 10px var(--mono)!important;letter-spacing:.12em;text-transform:uppercase}
.desk .chat-learned-note{color:#666;font-size:11px}
.desk .chat-learned-actions{display:flex;gap:6px}
.desk .chat-learned.is-done{padding:6px 10px;color:#5b21b6;font:11px var(--mono);animation:none}
.desk .chat-learned.is-done button{margin-left:6px;font:11px var(--mono)}
@keyframes learnedIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.desk .chat-learned{animation:none}}
.desk .chat-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.desk .chat-chip{display:inline-block;padding:3px 7px;border:1px solid #bfe0cc;background:#f1faf4;color:#1c6b3e;font:10px var(--mono);letter-spacing:.02em;text-align:left}
.desk button.chat-chip{cursor:pointer}
.desk button.chat-chip:hover{border-color:#1c6b3e}
.desk .chat-chip.is-bad{border-color:#f0c2bd;background:#fff5f4;color:#a11}
.desk .chat-suggest{display:flex;flex-wrap:nowrap;gap:6px;padding:8px 0 10px;flex-shrink:0;overflow-x:auto;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 88%,transparent)}
.desk .chat-suggest::-webkit-scrollbar{display:none}
.desk .chat-suggest button{flex:0 0 auto;max-width:260px}
.desk .chat-suggest[hidden]{display:none}
.desk .chat-suggest button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 9px;border:1px solid #c9d3e3;background:#fff;color:#111;font:12px Georgia,serif;cursor:pointer}
.desk .chat-suggest button:hover,.desk .chat-suggest button:focus-visible{border-color:#111;box-shadow:2px 2px 0 #4d90f4}
.desk .chat-suggest{align-items:center}
.desk .chat-suggest-label{flex:0 0 auto;font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#6b7280;padding-right:2px}
.desk .chat-suggest button.is-ai{border-color:#9cc4ff;background:#f3f8ff}
.desk .chat-suggest button.is-fill::after{content:' …';color:#6b7280}
.desk .chat-goal{display:flex;align-items:center;gap:8px;padding:7px 10px;margin:0 0 8px;border:1px solid #111;background:#fff;flex-shrink:0;min-width:0}
.desk .chat-goal[hidden]{display:none}
.desk .chat-goal-label{flex:0 0 auto;font:10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#6b7280}
.desk .chat-goal-text{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:13px Georgia,serif;color:#111}
.desk .chat-goal-pace{flex:0 0 auto;padding:3px 7px;border:1px solid #c9d3e3;background:#f3f8ff;color:#111;font:10px var(--mono);letter-spacing:.02em;cursor:pointer}
.desk .chat-goal-pace:hover,.desk .chat-goal-pace:focus-visible{border-color:#111;box-shadow:2px 2px 0 #4d90f4}
.desk .chat-goal[data-status="behind"] .chat-goal-pace,.desk .chat-goal[data-status="missed"] .chat-goal-pace{border-color:#f0c2bd;background:#fff5f4;color:#a11}
.desk .chat-goal[data-status="on pace"] .chat-goal-pace,.desk .chat-goal[data-status="hit"] .chat-goal-pace{border-color:#bfe0cc;background:#f1faf4;color:#1c6b3e}
.desk .chat-goal[data-status="none"] .chat-goal-pace{border-style:dashed}
.desk .chat-form{margin:0}
.desk .chat-composer{grid-template-columns:minmax(0,1fr) auto auto;align-items:end;border:1px solid #111;background:#fff}
.desk .chat-composer:focus-within{box-shadow:3px 3px 0 #4d90f4}
.desk .chat-composer textarea{min-height:46px;max-height:160px;height:46px;padding:12px;border:0;box-shadow:none;font:14px/1.4 Georgia,serif;resize:none;overflow-y:auto}
.desk .chat-composer textarea:focus{box-shadow:none}
.desk .chat-dictate{height:46px;border-left:0}
.desk .chat-send{display:grid;place-items:center;width:46px;height:46px;border:0;background:#111;color:#fff;cursor:pointer}
.desk .chat-send svg{width:18px;height:18px;fill:currentColor}
.desk .chat-send:hover,.desk .chat-send:focus-visible{background:#2a62c9}
.desk .chat-status{margin:8px 0 0}
.desk .chat-online::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;background:#bbb;vertical-align:1px}
.desk .chat-online[data-state="on"]::before{background:#1c9a55}
.desk .chat-online[data-state="off"]::before{background:#c0392b}
.desk .chat-hint{margin-left:auto;color:#aaa}
@media(max-width:900px){
  .desk .chat-pane{width:100%;flex:none}
  .desk .chat-hint{display:none}
  .desk .chat-bubble{max-width:92%}
}
@media(prefers-reduced-motion:reduce){.desk .chat-typing i{animation:none}}

/* Applications */
.desk .apps-filter{display:flex;gap:0;margin:4px 0 14px;border:1px solid #111;width:max-content}
.desk .apps-filter button{padding:6px 12px;border:0;border-right:1px solid #111;background:#fff;color:#111;font:10px var(--mono);letter-spacing:.06em;cursor:pointer}
.desk .apps-filter button:last-child{border-right:0}
.desk .apps-filter button.is-on{background:#111;color:#fff}
.desk .apps-list{display:grid;gap:8px}
.desk .apps-group{margin:10px 0 2px;font:600 14px/1 var(--pixel);letter-spacing:.04em}
.desk .apps-sub{margin:8px 0 0;color:#777;font:9px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.desk .apps-card{display:grid;grid-template-columns:34px 1fr;gap:10px;padding:10px 12px;border:1px solid #e1e5ec;background:#fff}
.desk .apps-card.is-on{border-color:#bfe0cc}
.desk .apps-card.is-soon{background:#fafafa}
.desk .apps-tile{display:grid;place-items:center;width:34px;height:34px;background:var(--tone);color:#fff;font:600 16px/1 var(--pixel);box-shadow:2px 2px 0 #111}
.desk .apps-body p{margin:0 0 4px;font:12px/1.45 Georgia,serif;color:#333}
.desk .apps-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.desk .apps-top b{font:14px Georgia,serif;color:#111}
.desk .apps-status{flex:0 0 auto;color:#777;font:9px var(--mono);letter-spacing:.04em;text-align:right}
.desk .apps-status::before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;background:#bbb;vertical-align:1px}
.desk .apps-status[data-state="on"]{color:#1c7a45}
.desk .apps-status[data-state="on"]::before{background:#1c9a55}
.desk .apps-status[data-state="wait"]{color:#a15c00}
.desk .apps-status[data-state="wait"]::before{background:#e8a33d}
.desk .apps-status[data-state="off"]{color:#b3261e}
.desk .apps-status[data-state="off"]::before{background:#c0392b}
.desk .apps-status[data-state="soon"]::before{background:transparent;border:1px solid #999;width:4px;height:4px}
.desk .apps-body .apps-gain{color:#1d4f9e}
.desk .apps-body .apps-gain::before{content:"→ "}
.desk .apps-actions{margin-top:6px!important}
.desk .apps-request{padding:5px 10px;border:1px solid #111;background:#fff;color:#111;font:10px var(--mono);letter-spacing:.04em;cursor:pointer}
.desk .apps-request:hover,.desk .apps-request:focus-visible{background:#111;color:#fff}
.desk .apps-thanks{color:#1c7a45;font:10px var(--mono)}
.desk .apps-body .ig-note{color:#777;font:11px/1.4 Georgia,serif}
.desk .apps-body .ig-error{color:#b3261e;font:11px/1.4 Georgia,serif}
.desk .ig-report{margin-top:8px;padding-top:8px;border-top:1px solid #e1e5ec}
.desk .apps-body .ig-period{margin:0 0 6px;color:#777;font:9px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.desk .ig-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;margin-bottom:10px}
.desk .ig-stat{display:grid;gap:2px;padding:7px 8px;border:1px solid #e1e5ec;background:#fafafa}
.desk .ig-stat b{font:600 16px/1 var(--pixel);color:#111}
.desk .ig-stat small{color:#666;font:9px var(--mono);letter-spacing:.04em}
.desk .ig-posts{display:grid;gap:6px;margin:0;padding-left:18px;font:12px/1.4 Georgia,serif;color:#333}
.desk .ig-posts a{color:#111}
.desk .ig-posts small{display:block;color:#777;font:9px var(--mono);letter-spacing:.04em}
.desk .apps-tile svg{width:20px;height:20px;fill:#fff;image-rendering:pixelated}
.desk .apps-card:hover .apps-tile{transform:translate(-1px,-1px);box-shadow:3px 3px 0 #111}
.desk .apps-tile{transition:transform .1s steps(2),box-shadow .1s steps(2)}

/* Living pixel mark: a 10x10 layer that animates per task */
.desk .mark .mark-fx{position:absolute;inset:0;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(10,1fr);pointer-events:none;z-index:2}
.desk .mark .mark-fx i{display:block}
.desk .mark .mark-fx i[data-v="1"]{background:var(--icon-accent,#4d90f4);opacity:.45}
.desk .mark .mark-fx i[data-v="2"]{background:var(--icon-accent,#4d90f4)}
.desk .mark[data-task="done"] .mark-fx i[data-v="2"]{background:#1c9a55}
.desk .mark.has-fx .pixel-sq{opacity:.28;animation:none}
.desk .mark.has-fx .pixel-bit{display:none}
.desk .mark[data-task="sending"]{box-shadow:2px 0 0 var(--icon-accent,#4d90f4)}
.desk .mark-activity{margin:4px 0 0;color:#1d4f9e!important;font:10px var(--mono);letter-spacing:.04em}
.desk .mark-activity::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;background:var(--icon-accent,#4d90f4);vertical-align:1px;animation:chat-dot 1s steps(2,end) infinite}
.desk .mark-activity[hidden]{display:none}

/* Dispatch */
.desk .dispatch-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 14px}
.desk .dispatch-tile{position:relative;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px;border:1px solid #111;background:#fff;text-align:left;cursor:pointer}
.desk .dispatch-tile:hover,.desk .dispatch-tile:focus-visible{box-shadow:3px 3px 0 #4d90f4}
.desk .dispatch-tile.is-on{background:#111;color:#fff}
.desk .dispatch-tile .dispatch-icon{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;background:#4d90f4}
.desk .dispatch-tile.is-on .dispatch-icon{background:#fff}
.desk .dispatch-icon svg{width:20px;height:20px;fill:#fff}
.desk .dispatch-tile.is-on .dispatch-icon svg{fill:#111}
.desk .dispatch-tile b{font:14px Georgia,serif}
.desk .dispatch-tile small{color:#666;font:10px/1.35 Georgia,serif}
.desk .dispatch-tile.is-on small{color:#bbb}
.desk .dispatch-tile em{position:absolute;top:6px;right:8px;font:600 11px var(--pixel);font-style:normal;color:#4d90f4}
.desk .dispatch-busy{margin:0 0 10px;padding:8px 10px;background:#eef4ff;border-left:3px solid #4d90f4;font:11px var(--mono)}
.desk .dispatch-error{margin:0 0 10px;padding:8px 10px;background:#fff5f4;border-left:3px solid #c0392b;color:#8a1c14;font:12px Georgia,serif}
.desk .dispatch-view.is-busy{opacity:.6;pointer-events:none}
.desk .dispatch-form{display:grid;gap:10px;margin-bottom:14px}
.desk .dispatch-form .dark{justify-self:start;min-width:180px}
.desk .dispatch-inline{grid-template-columns:1fr 1fr}
.desk .dispatch-form select{display:block;width:100%;margin-top:4px;padding:6px;border:1px solid var(--line);background:#fff}
.desk .dispatch-channels{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0;padding:8px 10px;border:1px solid var(--line)}
.desk .dispatch-channels legend{padding:0 4px;font-size:10px}
.desk .dispatch-channels label{display:flex;align-items:center;gap:5px;font-size:12px}
.desk .dispatch-channels input{width:auto;margin:0}
.desk .dispatch-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;font:10px var(--mono);color:#555}
.desk .dispatch-bar .dark{padding:8px 12px}
.desk .dispatch-list{display:grid;gap:8px}
.desk .dispatch-lead,.desk .dispatch-draft,.desk .dispatch-result,.desk .dispatch-campaign{padding:10px 12px;border:1px solid #e1e5ec;background:#fff}
.desk .dispatch-lead{display:grid;grid-template-columns:22px 1fr;gap:8px}
.desk .dispatch-lead.is-done,.desk .dispatch-draft.is-done{background:#f6fbf8;border-color:#bfe0cc}
.desk .dispatch-pick input{width:16px;height:16px;margin:2px 0 0}
.desk .dispatch-lead p,.desk .dispatch-draft p,.desk .dispatch-result p,.desk .dispatch-campaign p{margin:0 0 4px}
.desk .dispatch-name{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.desk .dispatch-name b{font:14px Georgia,serif}
.desk .dispatch-ok,.desk .dispatch-warn{padding:1px 5px;font:9px var(--mono);letter-spacing:.04em}
.desk .dispatch-ok{background:#e8f6ee;color:#1c6b3e}
.desk .dispatch-warn{background:#fff4e0;color:#8a5a00}
.desk .dispatch-meta{color:#555;font:11px/1.4 var(--mono);overflow-wrap:anywhere}
.desk .dispatch-meta a{color:#1d4f9e}
.desk .dispatch-why{color:#333;font:12px/1.45 Georgia,serif}
.desk .dispatch-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:6px!important}
.desk .dispatch-actions .dark{padding:8px 14px}
.desk .dispatch-draft label{display:block;margin-bottom:6px}
.desk .dispatch-draft textarea{height:auto;min-height:130px;font:13px/1.45 Georgia,serif}
.desk .dispatch-note{margin:0 0 12px;padding:8px 10px;background:#fffaf1;border-left:3px solid #e8a33d;font:12px/1.45 Georgia,serif}
.desk .dispatch-note.is-on{background:#f1faf4;border-left-color:#1c9a55}
.desk .dispatch-steps{display:grid;gap:8px;margin:10px 0 0;padding:0;list-style:none}
.desk .dispatch-steps li{padding:8px 10px;border:1px solid #e1e5ec;background:#fafbfd}
.desk .dispatch-steps li.is-done{opacity:.6}
.desk .dispatch-step-head{display:flex;justify-content:space-between;align-items:center;font:11px var(--mono);text-transform:capitalize}
.desk .dispatch-step-head label{display:flex;align-items:center;gap:6px}
.desk .dispatch-step-head input{width:auto;margin:0}
.desk .dispatch-step-head small{color:#888}
.desk .dispatch-steps pre{margin:6px 0 0;padding:8px;background:#fff;border:1px dashed #cfd6e2;white-space:pre-wrap;font:12px/1.45 Georgia,serif}
.desk .dispatch-tiles .dispatch-tile:nth-child(odd):last-child{grid-column:1/-1}
.desk .dispatch-draft pre{margin:6px 0 8px;padding:8px;max-height:260px;overflow:auto;background:#fff;border:1px dashed #cfd6e2;white-space:pre-wrap;word-break:break-word;font:12px/1.45 Georgia,serif}
.desk .dispatch-note b{word-break:break-all}
.desk .dispatch-compose{margin-top:14px}
.desk .menu-count{display:inline-block;min-width:16px;margin-left:4px;padding:0 4px;background:#e8a33d;color:#111;border-radius:8px;font:600 10px/16px var(--mono);text-align:center}
.desk .menu-count[hidden]{display:none}
.desk .dispatch-compose summary{cursor:pointer;font:12px var(--mono)}
.desk .dispatch-compose textarea{min-height:120px;font:13px/1.45 Georgia,serif}
.desk .apps-dispatch{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;width:100%;margin-bottom:6px;padding:12px;border:1px solid #111;background:#111;color:#fff;text-align:left;cursor:pointer}
.desk .apps-dispatch:hover{box-shadow:3px 3px 0 #4d90f4}
.desk .apps-dispatch b{display:block;font:15px Georgia,serif}
.desk .apps-dispatch small{color:#bbb;font:11px/1.35 Georgia,serif}
.desk .apps-dispatch em{font-style:normal;font:600 18px var(--pixel)}
.desk .apps-dispatch .apps-tile{background:#4d90f4;box-shadow:none}
@media(max-width:700px){.desk .dispatch-tiles,.desk .dispatch-inline{grid-template-columns:1fr}}
.desk .mission-panel{flex-shrink:0;margin:0 0 8px;padding:10px 12px;border:1px solid #111;background:#fff;box-shadow:3px 3px 0 #4d90f4;max-height:42vh;overflow-y:auto}
.desk .mission-panel[hidden]{display:none}
.desk .mission-panel[data-status="waiting"]{box-shadow:3px 3px 0 #f08a24}
.desk .mission-panel[data-status="paused"]{box-shadow:3px 3px 0 #999}
.desk .mission-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.desk .mission-head .kicker{margin:0}
.desk .mission-title{margin:4px 0 8px;font:600 15px/1.25 Georgia,serif;color:#111}
.desk .mission-bar{position:relative;height:16px;border:1px solid #c9d3e3;background:#f3f8ff}
.desk .mission-bar span{position:absolute;inset:0 auto 0 0;background:#9cc4ff;transition:width .3s}
.desk .mission-bar small{position:relative;display:block;padding:1px 6px;font:10px var(--mono);color:#111}
.desk .mission-steps{display:grid;gap:6px;margin:10px 0 0;padding:0;list-style:none}
.desk .mission-steps[hidden]{display:none}
.desk .mission-steps li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:6px;font:13px/1.3 Georgia,serif;color:#111}
.desk .mission-steps li b{font:12px var(--mono);color:#6b7280}
.desk .mission-steps li small{display:block;margin-top:2px;font:10px/1.35 var(--mono);color:#6b7280}
.desk .mission-steps li.is-done b{color:#1c6b3e}
.desk .mission-steps li.is-done span{color:#555}
.desk .mission-steps li.is-running b{color:#2a62c9;animation:chat-dot 1s infinite}
.desk .mission-steps li.is-waiting b,.desk .mission-steps li.is-waiting small{color:#b35a0c}
.desk .mission-steps li.is-failed b,.desk .mission-steps li.is-failed small{color:#a11}
.desk .mission-steps li.is-skipped span{text-decoration:line-through;color:#999}
.desk .mission-actions{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0}
.desk .mission-actions button{padding:5px 10px;border:1px solid #111;background:#111;color:#fff;font:12px Georgia,serif;cursor:pointer}
.desk .mission-actions button:not(:first-child){background:#fff;color:#111;border-color:#c9d3e3}
.desk .mission-actions button:hover{box-shadow:2px 2px 0 #4d90f4}
.desk .mission-actions button.is-quiet{margin-left:auto;border-color:transparent;color:#6b7280;text-decoration:underline}
/* Website studio: live preview on the left, controls on the right. */
.desk .pane-website{--site-line:#dfe4ec;--site-soft:#f6f8fb}
.desk .site-studio{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}
.desk .site-stage{position:sticky;top:0;display:grid;gap:10px}
.desk .site-topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.desk .site-status{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:5px 10px 5px 5px;border:1px solid var(--site-line);border-radius:999px;background:#fff;font:12px var(--mono);color:#555}
.desk .site-status b{padding:3px 8px;border-radius:999px;background:#e5e7eb;color:#374151;font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase}
.desk .site-status[data-live="true"] b{background:#dcf5e5;color:#1c6b3e}
.desk .site-status[data-live="true"] b:before{content:'';display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#22a55a;vertical-align:1px;box-shadow:0 0 0 3px #22a55a33}
.desk .site-status a{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#111}
.desk .site-status .textish{height:auto;width:auto;padding:0;border:0;background:none}
.desk .site-device{display:inline-flex;padding:3px;border:1px solid var(--site-line);border-radius:999px;background:var(--site-soft)}
.desk .site-device button{padding:5px 12px;border:0;border-radius:999px;background:transparent;color:#555;font:11px var(--mono);cursor:pointer}
.desk .site-device button.is-on{background:#111;color:#fff}
.desk .site-frame{position:relative;display:grid;justify-items:center;padding:14px;border:1px solid var(--site-line);border-radius:14px;background:linear-gradient(180deg,#eef2f8,#e6ebf3)}
.desk .site-browser{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;border:1px solid var(--site-line);border-bottom:0;border-radius:10px 10px 0 0;background:#fff}
.desk .site-browser i{width:9px;height:9px;border-radius:50%;background:#e2e5ea}
.desk .site-browser i:nth-child(1){background:#ff8a80}.desk .site-browser i:nth-child(2){background:#ffd180}.desk .site-browser i:nth-child(3){background:#a5e3b5}
.desk .site-browser span{flex:1;margin-left:8px;padding:3px 10px;border-radius:6px;background:var(--site-soft);color:#6b7280;font:11px var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desk .site-frame iframe{display:block;width:100%;height:min(66vh,620px);border:1px solid var(--site-line);border-radius:0 0 10px 10px;background:#fff;box-shadow:0 18px 40px #1b2a4a1f}
.desk .site-frame[data-device="mobile"] .site-browser,.desk .site-frame[data-device="mobile"] iframe{width:390px;max-width:100%}
.desk .site-frame[data-device="mobile"] iframe{height:min(70vh,700px)}
.desk .site-working{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#111;color:#fff;font:12px var(--mono);box-shadow:0 8px 24px #0003}
.desk .site-working span{width:10px;height:10px;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;animation:site-spin .8s linear infinite}
@keyframes site-spin{to{transform:rotate(360deg)}}
.desk .site-actions{display:flex;flex-wrap:wrap;gap:6px}
.desk .site-actions button{padding:7px 12px;border:1px solid var(--site-line);border-radius:8px;background:#fff;color:#111;font:12px Georgia,serif;cursor:pointer}
.desk .site-actions button:hover:not(:disabled){border-color:#111}
.desk .site-actions button:disabled{opacity:.4;cursor:default}
.desk .site-actions button:last-child{margin-left:auto}
.desk .site-panel{display:grid;gap:12px;min-width:0}
.desk .site-card{display:grid;gap:10px;margin:0;padding:14px;border:1px solid var(--site-line);border-radius:12px;background:#fff}
.desk .site-card-title{margin:0;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#111}
.desk .site-hint{margin:0;color:#6b7280;font:13px/1.45 Georgia,serif}
.desk .site-biti{background:linear-gradient(180deg,#f5f9ff,#fff);border-color:#c9dcff}
.desk .site-spark{color:#4d90f4}
.desk .site-ask{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin:0}
.desk .site-ask input{min-width:0;padding:10px 12px;border:1px solid var(--site-line);border-radius:8px;font:13px Georgia,serif;background:#fff}
.desk .site-ask input:focus{outline:0;border-color:#4d90f4;box-shadow:0 0 0 3px #4d90f433}
.desk .site-ask button{padding:0 14px;border:0;border-radius:8px;background:#111;color:#fff;font:12px Georgia,serif;cursor:pointer}
.desk .site-ask button:disabled{opacity:.5}
.desk .site-quick{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.desk .site-quick button{padding:5px 10px;border:1px solid #c9dcff;border-radius:999px;background:#fff;color:#1f3b73;font:12px Georgia,serif;cursor:pointer}
.desk .site-quick button:hover:not(:disabled){background:#eaf2ff;border-color:#4d90f4}
.desk .site-quick button:disabled{opacity:.5}
.desk .site-tabs{display:flex;gap:2px;padding:3px;border:1px solid var(--site-line);border-radius:10px;background:var(--site-soft);overflow-x:auto;scrollbar-width:none}
.desk .site-tabs::-webkit-scrollbar{display:none}
.desk .site-tabs button{flex:1 0 auto;padding:7px 10px;border:0;border-radius:7px;background:transparent;color:#555;font:12px Georgia,serif;cursor:pointer;white-space:nowrap}
.desk .site-tabs button.is-on{background:#fff;color:#111;box-shadow:0 1px 3px #0000001f}
.desk .site-tab{display:grid;gap:12px}
.desk .site-layouts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.desk .site-layouts button,.desk .site-fonts button{display:grid;gap:3px;padding:8px;border:1px solid var(--site-line);border-radius:10px;background:#fff;text-align:left;cursor:pointer}
.desk .site-layouts button:hover,.desk .site-fonts button:hover{border-color:#9aa5b8}
.desk .site-layouts button.is-on,.desk .site-fonts button.is-on{border-color:#111;box-shadow:0 0 0 2px #4d90f4}
.desk .site-layouts b,.desk .site-fonts small{font:600 12px Georgia,serif;color:#111}
.desk .site-layouts small{font:11px/1.3 Georgia,serif;color:#6b7280}
.desk .site-thumb{display:grid;gap:4px;height:58px;margin-bottom:4px;padding:8px;border-radius:6px;background:#fff;border:1px solid #edf0f4}
.desk .site-thumb i{display:block;height:6px;border-radius:3px;background:#d7dde7}
.desk .site-thumb i:first-child{width:70%;height:9px;background:#9aa5b8}.desk .site-thumb i:nth-child(2){width:90%}.desk .site-thumb i:nth-child(3){width:34%;height:10px;background:#4d90f4}
.desk .site-thumb[data-thumb="bold"]{background:#eaf2ff;border-radius:0;border-color:#111;box-shadow:2px 2px 0 #111}
.desk .site-thumb[data-thumb="bold"] i{border-radius:0}
.desk .site-thumb[data-thumb="minimal"]{justify-items:center;align-content:center}
.desk .site-thumb[data-thumb="dark"]{background:#0e1116;border-color:#0e1116}
.desk .site-thumb[data-thumb="dark"] i{background:#2b313c}.desk .site-thumb[data-thumb="dark"] i:first-child{background:#aab3c2}.desk .site-thumb[data-thumb="dark"] i:nth-child(3){background:#4d90f4;box-shadow:0 0 8px #4d90f4}
.desk .site-fonts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.desk .site-fonts button{justify-items:center;text-align:center}
.desk .site-fonts b{font-size:24px;line-height:1.1;color:#111}
.desk .site-accents{display:flex;flex-wrap:wrap;gap:8px}
.desk .site-accents button{width:30px;height:30px;padding:0;border:2px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 1px var(--site-line);cursor:pointer}
.desk .site-accents button.is-on{box-shadow:0 0 0 2px #111}
.desk .site-fields{display:grid;gap:10px;margin:0}
.desk .site-content{gap:12px}
.desk .site-fields fieldset{display:grid;gap:8px;margin:0;padding:14px;border:1px solid var(--site-line);border-radius:12px;background:#fff}
.desk .site-card.site-fields fieldset{padding:0;border:0}
.desk .site-fields legend{padding:0 6px;font:600 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#111}
.desk .site-fields legend small{color:#9aa5b8;font-weight:400}
.desk .site-content>label{padding:0 2px}
.desk .site-fields label{display:grid;gap:4px;font:11px var(--mono);letter-spacing:.02em;color:#6b7280}
.desk .site-fields label small{letter-spacing:0}
.desk .site-fields input,.desk .site-fields textarea{width:100%;padding:9px 10px;border:1px solid var(--site-line);border-radius:8px;background:var(--site-soft);color:#111;font:13px/1.45 Georgia,serif;resize:vertical}
.desk .site-fields input:focus,.desk .site-fields textarea:focus{outline:0;background:#fff;border-color:#4d90f4;box-shadow:0 0 0 3px #4d90f433}
.desk .site-row{display:grid;gap:6px;padding:10px;border:1px dashed var(--site-line);border-radius:10px}
.desk .site-row .textish,.desk .site-list>.textish{justify-self:start;width:auto;height:auto;padding:0;border:0;background:none;font:11px var(--mono)}
.desk .site-row .textish{color:#a11}
.desk .site-save{position:sticky;bottom:0;margin:0;padding:10px 0 2px;background:linear-gradient(transparent,#fff 35%)}
.desk .site-save button,.desk .site-publish button{padding:10px 18px;border:0;border-radius:8px;background:#111;color:#fff;font:13px Georgia,serif;cursor:pointer}
.desk .site-publish{margin:0}
.desk .site-publish button[data-site="unpublish"]{background:#fff;color:#a11;border:1px solid #f0c2bd}
.desk .site-sections{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.desk .site-sections li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 10px;border:1px solid var(--site-line);border-radius:10px;background:#fff;font:13px Georgia,serif}
.desk .site-sections li.is-off{background:var(--site-soft);color:#9aa5b8}
.desk .site-sections label{display:flex;align-items:center;gap:8px;font:13px Georgia,serif;color:inherit;cursor:pointer}
.desk .site-sections span{display:flex;gap:4px}
.desk .site-sections button{width:28px;height:28px;padding:0;border:1px solid var(--site-line);border-radius:7px;background:#fff;cursor:pointer}
.desk .site-sections button:disabled{opacity:.3;cursor:default}
.desk .site-versions{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.desk .site-versions li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border:1px solid var(--site-line);border-radius:10px}
.desk .site-versions span{display:grid;min-width:0}
.desk .site-versions b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:13px Georgia,serif}
.desk .site-versions small{color:#6b7280;font:11px var(--mono)}
.desk .site-versions .textish{width:auto;height:auto;padding:0;border:0;background:none}
.desk .site-foot{margin:0;text-align:center}
.desk .site-foot .textish{width:auto;height:auto;border:0;background:none}
/* Full screen studio */
.desk .pane-website.is-studio{position:fixed;inset:0;z-index:40;width:auto;height:auto;max-width:none;overflow:auto;padding:18px 22px;background:#f7f9fc}
.desk .pane-website.is-studio .site-studio{grid-template-columns:minmax(0,1fr) 400px;max-width:1500px;margin:0 auto}
.desk .pane-website.is-studio .site-frame iframe{height:calc(100vh - 190px)}
.desk .pane-website.is-studio .site-panel{max-height:calc(100vh - 110px);overflow-y:auto;padding-right:4px}
@media(max-width:900px){
  .desk .site-studio,.desk .pane-website.is-studio .site-studio{grid-template-columns:1fr}
  .desk .site-stage{position:static}
  .desk .site-frame iframe{height:60vh}
  .desk .pane-website.is-studio .site-panel{max-height:none}
}
.desk .site-card-title small{font:400 10px var(--mono);letter-spacing:0;text-transform:none;color:#9aa5b8}
.desk .site-favicons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.desk .site-favicons button{display:grid;justify-items:center;gap:6px;padding:10px 6px;border:1px solid var(--site-line);border-radius:10px;background:#fff;cursor:pointer}
.desk .site-favicons button.is-on{border-color:#111;box-shadow:0 0 0 2px #4d90f4}
.desk .site-favicons img{width:32px;height:32px;border-radius:7px;image-rendering:pixelated}
.desk .site-favicons small{font:600 12px Georgia,serif;color:#111}
.desk .site-favicon-text{display:grid;gap:4px;font:11px var(--mono);color:#6b7280}
.desk .site-favicon-text input{width:90px;padding:8px 10px;border:1px solid var(--site-line);border-radius:8px;font:600 14px var(--mono);text-transform:uppercase}
.desk .site-tabpreview{padding:8px 8px 0;border-radius:10px 10px 0 0;background:#e6ebf3}
.desk .site-tabpreview span{display:inline-flex;align-items:center;gap:8px;max-width:100%;padding:7px 14px;border-radius:9px 9px 0 0;background:#fff;font:12px system-ui,sans-serif;color:#333;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.desk .site-tabpreview img{image-rendering:pixelated}

/* Simpler first screen: one idea per column, details on demand. */
.desk .links,.desk .metric-hero:has(#stage),.desk #briefingStamp,.desk .briefing-proof,.desk .briefing-content>ul{display:none}
.desk .briefing-content h3{margin:6px 0 10px;font-size:24px;line-height:1.2}
.desk .briefing-content>p:not(.briefing-state){color:#333}
.desk .simple-fold{margin-top:14px;border-top:1px solid #e3e3e3}
.desk .simple-fold>summary{padding:12px 0;cursor:pointer;list-style:none;font:12px var(--mono);letter-spacing:.04em;color:#333}
.desk .simple-fold>summary::-webkit-details-marker{display:none}
.desk .simple-fold>summary::before{content:"+";display:inline-block;width:16px;color:#888}
.desk .simple-fold[open]>summary::before{content:"−"}
.desk .simple-fold[open]>summary{color:#111}
.desk .pane-work .task-evidence{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:6px;align-items:stretch}
.desk .pane-work .task-evidence select,.desk .pane-work .task-evidence input,.desk .pane-work .task-evidence button{width:auto;min-width:0;margin:0;height:34px}
.desk .pane-work .task-evidence .task-error{grid-column:1/-1}
.desk .pane-work .task{padding:16px 0}
@media(max-width:700px){.desk .pane-work .task-evidence{grid-template-columns:1fr auto}.desk .pane-work .task-evidence input{grid-column:1/-1;grid-row:1}}

.desk .ig-uri{display:inline-block;margin-top:4px;padding:2px 6px;background:#f4f4f4;border:1px solid #e1e1e1;font:11px var(--mono);word-break:break-all}

.desk .dispatch-emails{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:3px}
.desk .dispatch-emails li{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font:12px Georgia,serif}
.desk .dispatch-emails small{color:#777;font:11px var(--mono)}

.desk .dispatch-tg{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin:0 0 12px;padding:10px 12px;border:1px solid #cfe3f5;background:#f3f9ff}
.desk .dispatch-tg.is-on{border-color:#bfe0cc;background:#f1faf4}
.desk .dispatch-tg p{margin:0;font:13px/1.4 Georgia,serif}
.desk .dispatch-tg small{display:block;color:#555;font-size:12px}
.desk .dispatch-tg-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#229ed9;color:#fff;font-size:15px}
@media(max-width:600px){.desk .dispatch-tg{grid-template-columns:auto 1fr}.desk .dispatch-tg button{grid-column:1/-1}}

.desk .dispatch-tg-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.desk .dispatch-tg-setup{display:block}
.desk .dispatch-tg-setup>summary{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;cursor:pointer;list-style:none}
.desk .dispatch-tg-setup>summary::-webkit-details-marker{display:none}
.desk .dispatch-tg-setup>summary span{font:13px/1.4 Georgia,serif}
.desk .dispatch-tg-setup>summary small{display:block;color:#555;font-size:12px}
.desk .dispatch-tg-steps{margin:10px 0 8px 18px;padding:0;font:13px/1.5 Georgia,serif}
.desk .dispatch-tg-steps code,.desk .dispatch-tg-note code{padding:0 4px;background:#fff;border:1px solid #dde6f0;font:11px var(--mono)}
.desk .dispatch-tg-note{margin:6px 0 0;color:#666;font:11px/1.4 var(--mono)}
.desk #dispatchTelegramForm{grid-template-columns:1fr auto;align-items:end}

.desk .advisor-avatar{overflow:hidden}
.desk .advisor-avatar svg{display:block;width:100%;height:100%}

.desk .apps-agents{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;margin:14px 0 6px;padding:12px;border:1px solid #111;background:#fff;color:#111;text-align:left;cursor:pointer}
.desk .apps-agents:hover{box-shadow:3px 3px 0 #4d90f4}
.desk .apps-agents.is-open{background:#111;color:#fff}
.desk .apps-agents b{display:block;font:15px Georgia,serif}
.desk .apps-agents small{color:#666;font:11px/1.35 Georgia,serif}
.desk .apps-agents.is-open small{color:#bbb}
.desk .apps-agents em{font-style:normal;font:600 20px var(--pixel)}
.desk .apps-agents .advisor-seats .advisor-avatar{width:28px;height:28px;margin-right:-6px;border:2px solid #fff}
.desk .apps-agents-list{display:grid;gap:8px;margin-bottom:10px}
.desk .apps-agents-list .empty{margin:4px 0 0}

.desk .chat-changes{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0;padding:6px 8px;border:1px dashed #b9c7e0;background:#f6f9ff;color:#33415c;font:11px/1.4 var(--mono)}
.desk .chat-changes span{color:#005cfd;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.desk .chat-changes .chat-tool{margin-left:auto}
.desk .chat-changes.is-undone{border-style:solid;border-color:#e2e2e2;background:#fafafa;color:#888}

.desk .chat-text.is-streaming::after{content:"▍";margin-left:1px;color:#005cfd;animation:chat-caret 1s steps(1) infinite}
@keyframes chat-caret{50%{opacity:0}}
@media(prefers-reduced-motion:reduce){.desk .chat-text.is-streaming::after{animation:none}}

.desk .chat-composer{grid-template-columns:auto minmax(0,1fr) auto auto}
.desk .chat-attach{display:grid;place-items:center;width:38px;align-self:stretch;border:0;border-right:1px solid #e5e5e5;background:#fff;color:#555;cursor:pointer}
.desk .chat-attach:hover{color:#005cfd}
.desk .chat-attach svg{width:18px;height:18px}
.desk .chat-attachments{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.desk .chat-file{display:inline-flex;align-items:center;gap:6px;max-width:220px;padding:4px 6px;border:1px solid #cfd9ee;background:#f6f9ff;font:11px var(--mono)}
.desk .chat-file img{width:34px;height:34px;object-fit:cover;border:1px solid #ddd}
.desk .chat-file b{padding:2px 4px;background:#005cfd;color:#fff;font:600 9px var(--mono)}
.desk .chat-file small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.desk .chat-file button{border:0;background:none;color:#888;font-size:14px;cursor:pointer}
.desk .chat-msg-files{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.desk .chat-msg-files img{max-width:160px;max-height:120px;border:1px solid rgba(0,0,0,.12);border-radius:6px;background:#fff}
.desk .chat-file.is-sent{background:rgba(255,255,255,.85)}
.desk #chatPane.is-dropping{outline:2px dashed #005cfd;outline-offset:-6px}
.desk #chatFile{display:none!important}

.desk .work-card{display:grid;gap:8px}
.desk .work-title{margin:0;font:600 14px Georgia,serif}
.desk .work-title span{display:block;margin-bottom:2px;color:#005cfd;font:600 10px var(--mono);letter-spacing:.12em}
.desk .work-steps{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.desk .work-steps li{display:grid;grid-template-columns:18px 1fr;gap:6px;font:12px/1.4 Georgia,serif}
.desk .work-steps li>span{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#e8eefb;color:#005cfd;font:600 10px var(--mono)}
.desk .work-steps li.is-done>span{background:#1c9a55;color:#fff}
.desk .work-steps li.is-failed>span{background:#a11;color:#fff}
.desk .work-steps li.is-running>span{animation:work-pulse 1s ease-in-out infinite}
.desk .work-steps p{margin:0}
.desk .work-steps small{display:block;color:#666;font-size:11px}
@keyframes work-pulse{50%{opacity:.35}}
.desk .work-items{display:grid;gap:6px}
.desk .work-item{padding:8px 10px;border:1px solid #d9e2f2;background:#fff}
.desk .work-item.is-done{opacity:.65}
.desk .work-item p{margin:0 0 4px}
.desk .work-item-head{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font:13px Georgia,serif}
.desk .work-item-head small{color:#666;font:11px var(--mono)}
.desk .work-item-sub{color:#33415c;font:600 12px Georgia,serif}
.desk .work-item-body{color:#444;font:12px/1.45 Georgia,serif}
.desk .work-item-state{color:#1c9a55;font:11px var(--mono)}
.desk .work-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px!important}
.desk .chat-tool.is-primary{background:#005cfd;border-color:#005cfd;color:#fff}
.desk .work-note{margin:0;color:#666;font:11px var(--mono)}
.desk .work-note.is-running{color:#005cfd}
.desk .work-note.is-failed{color:#a11}
@media(prefers-reduced-motion:reduce){.desk .work-steps li.is-running>span{animation:none}}

.desk .board-thinking{display:grid;gap:8px}
.desk .board-thinking-head{margin:0;color:#005cfd;font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}
.desk .seat-thinking{display:flex;align-items:center;gap:8px}
.desk .seat-thinking .advisor-avatar{width:26px;height:26px;animation:seat-bob 1.6s ease-in-out var(--delay,0s) infinite}
.desk .seat-thinking p{margin:0;color:#444;font:13px Georgia,serif}
.desk .seat-dots{display:inline-flex;gap:3px;margin-left:5px;vertical-align:middle}
.desk .seat-dots i{width:4px;height:4px;border-radius:50%;background:#005cfd;opacity:.25;animation:seat-dot 1.2s ease-in-out var(--delay,0s) infinite}
.desk .seat-dots i:nth-child(2){animation-delay:calc(var(--delay,0s) + .2s)}
.desk .seat-dots i:nth-child(3){animation-delay:calc(var(--delay,0s) + .4s)}
@keyframes seat-dot{30%{opacity:1;transform:translateY(-2px)}60%{opacity:.25;transform:none}}
@keyframes seat-bob{50%{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.desk .seat-thinking .advisor-avatar,.desk .seat-dots i{animation:none;opacity:.7}}
.desk .chat-msg.is-pending .board-thinking,.desk .chat-msg.is-pending .board-thinking *{font-style:normal}
/* Plans: Free / GPT switch (Starter) and Menu → Businesses */
.desk .chat-status-tools{display:flex;gap:10px;align-items:center}
.desk .chat-engine{padding:2px 6px!important;border:1px solid #ccc!important;color:#555}
.desk .chat-engine.is-gpt{border-color:#111!important;color:#111}
.desk .biz-list{list-style:none;margin:0 0 14px;padding:0;border-top:1px solid #e5e5e5}
.desk .biz-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #e5e5e5;font:12px var(--mono)}
.desk .biz-row span{display:grid;gap:2px}
.desk .biz-row small{color:#888;font-size:10px}
.desk .biz-row em{font-style:normal;color:#1c9a55;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.desk .biz-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px!important}
.desk .biz-actions a{text-decoration:none}
.desk .biz-note{font:12px var(--mono)!important}
.desk .dispatch-bar-actions{display:flex;align-items:center;gap:12px}
/* Menu → Settings → Biti AI */
.desk .ai-settings h3{margin:18px 0 8px;font:600 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#111;border-top:1px solid #e5e5e5;padding-top:14px}
.desk .ai-settings h3:first-child{margin-top:0;border-top:0;padding-top:0}
.desk .ai-settings .ai-label{margin:10px 0 6px!important;font:10px var(--mono)!important;color:#666!important;letter-spacing:.04em}
.desk .ai-toggle{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;cursor:pointer}
.desk .ai-toggle input{margin-top:2px;accent-color:#111}
.desk .ai-toggle span{display:grid;gap:2px;font:12px var(--mono)}
.desk .ai-toggle b{font-weight:500}
.desk .ai-toggle small{color:#888;font-size:10px}
.desk .ai-field{display:grid;gap:5px;margin:0 0 10px;font:10px var(--mono);color:#666}
.desk .ai-field select{font:12px var(--mono);padding:6px;border:1px solid #ccc;background:#fff}
.desk .ai-field input[type=range]{accent-color:#111}
.desk .ai-field output{color:#111}
.desk .ai-choice{display:flex;border:1px solid #111;width:max-content;max-width:100%}
.desk .ai-choice label{cursor:pointer}
.desk .ai-choice input{position:absolute;opacity:0;pointer-events:none}
.desk .ai-choice span{display:block;padding:6px 12px;font:11px var(--mono);border-right:1px solid #111}
.desk .ai-choice label:last-child span{border-right:0}
.desk .ai-choice input:checked+span{background:#111;color:#fff}
.desk .ai-choice input:focus-visible+span{outline:2px solid #4a90e2;outline-offset:-3px}
.desk .ai-settings .ai-memory{max-height:140px;overflow-y:auto;white-space:pre-wrap;padding:8px 10px;border:1px dashed #ccc;font:11px/1.5 var(--mono)!important;color:#444!important;margin:0 0 8px!important}
.desk .ai-settings .ai-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px!important}
.desk .ai-settings .ai-note{font:11px var(--mono)!important}
.desk .ai-settings .ai-toggle input[type=checkbox]{width:16px!important;height:16px;min-width:16px;flex:0 0 16px;padding:0;margin:2px 0 0}
.desk .ai-settings .ai-toggle span{flex:1;text-align:left}
.desk .ai-settings .ai-field input[type=range]{width:100%;padding:0;border:0}
.desk .ai-settings .ai-choice{flex-wrap:wrap}
.desk .ai-settings optgroup{font-style:normal;color:#666}
.desk .ai-settings [hidden]{display:none!important}
.desk .ai-settings .ai-choice+.ai-toggle{margin-top:14px}
/* Documents: readable body, toolbar, editor, improve box, history */
.desk .doc-meta{margin:-6px 0 10px;font:10px var(--mono);color:#888}
.desk .doc-stale{margin:0 0 12px;padding:8px 10px;border:1px solid #e0b100;background:#fff8dc;font:11px var(--mono);color:#6b5400}
.desk .doc-stale .textish{font:inherit;text-decoration:underline}
.desk .doc-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.desk .doc-toolbar button{padding:5px 10px;border:1px solid #111;background:#fff;font:10px var(--mono);letter-spacing:.04em;cursor:pointer}
.desk .doc-toolbar button:hover:not(:disabled){background:#111;color:#fff}
.desk .doc-toolbar button:disabled{opacity:.4;cursor:default}
.desk .doc-toolbar button:focus-visible{outline:2px solid #4a90e2;outline-offset:2px}
.desk .doc-body{color:#222;font:14px/1.6 Georgia,'Times New Roman',serif;overflow-wrap:anywhere}
.desk .doc-body p{margin:0 0 12px}
.desk .doc-body h4{margin:20px 0 8px;font:normal 18px/1.2 Georgia,'Times New Roman',serif}
.desk .doc-body h5{margin:18px 0 6px;font:600 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#555}
.desk .doc-body h6{margin:14px 0 6px;font:600 12px var(--mono)}
.desk .doc-body ul,.desk .doc-body ol{margin:0 0 12px;padding-left:20px}
.desk .doc-body li{margin:0 0 5px}
.desk .doc-body a{color:#1c66ca}
.desk .doc-body > :first-child{margin-top:0}
.desk .doc-editor{display:grid;gap:8px;margin:0 0 14px}
.desk .doc-editor label,.desk .doc-improve label{font:10px var(--mono);color:#666}
.desk .doc-editor textarea{min-height:320px;height:auto;font:13px/1.55 var(--mono);resize:vertical}
.desk .doc-editor-actions{display:flex;gap:12px;align-items:center;margin:0}
.desk .doc-editor-actions .dark{padding:8px 16px}
.desk .doc-improve{display:grid;gap:8px;margin:18px 0 10px;padding-top:14px;border-top:1px dashed #ccc}
.desk .doc-improve-row{display:grid;grid-template-columns:1fr auto;gap:0}
.desk .doc-improve-row input{margin:0;font:12px var(--mono)}
.desk .doc-improve-row .dark{padding:8px 14px}
.desk .doc-improve-row .dark:disabled{opacity:.5}
.desk .doc-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.desk .doc-chips button{padding:4px 9px;border:1px solid #bbb;background:#fafafa;font:10px var(--mono);cursor:pointer}
.desk .doc-chips button:hover:not(:disabled){border-color:#111}
.desk .doc-chips button:disabled{opacity:.5}
.desk .doc-improve-status{margin:0;min-height:14px;font:10px var(--mono);color:#666}
.desk .doc-improve-status[data-kind="error"]{color:#c0392b}
.desk .doc-improve-status[data-kind="ok"]{color:#1c9a55}
.desk .doc-history{margin:0 0 14px;padding:10px 12px;border:1px solid #ddd;background:#fafafa}
.desk .doc-history-head{margin:0 0 8px;font:10px var(--mono);color:#666}
.desk .doc-version{border-top:1px solid #e5e5e5;padding:6px 0}
.desk .doc-version summary{display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;font:11px var(--mono)}
.desk .doc-version .doc-body{margin-top:8px;max-height:260px;overflow-y:auto;font-size:13px;padding:8px;background:#fff;border:1px solid #eee}
.desk .document-viewer [hidden]{display:none!important}
.desk .doc-table{margin:0 0 14px;overflow-x:auto;border:1px solid #ddd}
.desk .doc-table table{width:100%;border-collapse:collapse;font:12px/1.4 Georgia,'Times New Roman',serif}
.desk .doc-table th{padding:7px 8px;background:#f4f4f4;border-bottom:1px solid #ccc;text-align:left;font:600 10px var(--mono);letter-spacing:.04em;white-space:nowrap}
.desk .doc-table td{padding:7px 8px;border-top:1px solid #eee;vertical-align:top}
.desk .doc-table tr:nth-child(even) td{background:#fafafa}
/* Work from chat: deliverables, live research, exact numbers, tasks with due dates */
.desk .work-card-deliverable .work-title span,.desk .work-card-research .work-title span,.desk .work-card-calc .work-title span{display:table;margin-bottom:4px;padding:2px 6px;color:#fff;font-size:9px}
.desk .work-card-deliverable .work-title span{background:#1c9a55}
.desk .work-card-research .work-title span{background:#1d6bff}
.desk .work-card-calc .work-title span{background:#7a4cff}
.desk .work-card .work-actions .chat-tool.is-primary{color:#fff}
.desk .work-deliver-body{margin:8px 0;border:1px solid #e3e3e3;background:#fff}
.desk .work-deliver-body summary{padding:6px 10px;cursor:pointer;font:10px var(--mono);color:#555}
.desk .work-deliver-body .doc-body{padding:4px 12px 10px;max-height:360px;overflow-y:auto;font-size:13px}
.desk .work-research{margin:6px 0;font-size:13px}
.desk .work-label{margin:8px 0 4px;font:600 9px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#666}
.desk .work-sources{margin:0 0 6px;padding-left:18px;font:11px var(--mono)}
.desk .work-sources a{color:#1c66ca;word-break:break-all}
.desk table.work-calc{width:100%;border-collapse:collapse;margin:6px 0;font:12px var(--mono)}
.desk table.work-calc th{text-align:left;font-weight:400;color:#555;padding:5px 8px 5px 0;border-bottom:1px solid #eee}
.desk table.work-calc td{text-align:right;padding:5px 0;border-bottom:1px solid #eee;white-space:nowrap}
.desk table.work-calc tr.is-key th,.desk table.work-calc tr.is-key td{color:#111;font-weight:600}
.desk table.work-calc tr.is-key td{font-size:14px}
.desk .work-calc-inputs summary{cursor:pointer;font:10px var(--mono);color:#777;margin:4px 0}
.desk .task-due{color:#1d6bff}
.desk .task-due.is-late{color:#c0392b;font-weight:600}
.desk .planner-exec.is-doit{background:#111;color:#fff;border-color:#111}
/* Section links in the navbar (Today, Current constraint, Constraint work); the chat fills the free space */
.desk header{grid-template-columns:auto auto minmax(0,1fr) auto}
.desk .desk-tabs{display:flex;align-self:stretch;align-items:stretch;gap:22px;justify-self:end;margin-right:6px}
.desk .desk-tabs[hidden]{display:none}
.desk .desk-tabs a{position:relative;display:flex;align-items:center;padding:0 1px;color:#666;font:12px Georgia,'Times New Roman',serif;text-decoration:none;white-space:nowrap}
.desk .desk-tabs a:hover{color:#111;text-decoration:underline;text-underline-offset:3px}
.desk .desk-tabs a.is-active{color:#111}
.desk .desk-tabs a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:#005cfd}
.desk .desk-tabs a:focus-visible{outline:2px solid #4a90e2;outline-offset:2px}
@media(max-width:900px){
  .desk header{grid-template-columns:auto minmax(0,1fr) auto}
  .desk .desk-tabs{gap:12px;justify-self:start;overflow-x:auto;scrollbar-width:none}
  .desk .desk-tabs a{font-size:11px}
}
@media(min-width:901px){
  .desk .desk-shell:has(.chat-pane:not([hidden])) .grid{flex:0 0 auto;max-width:calc(100% - 380px)}
  .desk .desk-shell .chat-pane{flex:1 1 0;width:auto;min-width:380px}
  .desk .desk-shell .chat-pane>*{width:100%;max-width:860px;margin-left:auto;margin-right:auto}
}
