:root{color-scheme:dark;--cyan:#8ce4fa;--muted:#80959e;--line:rgba(137,217,239,.18);--amber:#e8b981}*{box-sizing:border-box}body{margin:0;background:#070e14;color:#deedf2;font-family:Inter,'Helvetica Neue','Noto Sans JP',Arial,sans-serif;font-size:13px;overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}#stage{position:fixed;inset:0}#stage canvas{display:block}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(0deg,#070e14 0%,transparent 25%,transparent 80%,#070e14c9),linear-gradient(90deg,#070e1477,transparent 30%,transparent 72%,#070e1466)}header{position:fixed;top:0;left:0;right:0;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid #83c5d514;background:#09101755}.brand{font-size:27px;font-weight:500;letter-spacing:5px;text-decoration:none;color:#edfaff;display:flex;align-items:center}.brand-dot{color:var(--cyan)}.brand-sub{font-size:9px;letter-spacing:2.4px;border-left:1px solid var(--line);margin-left:22px;padding:5px 0 5px 22px;color:var(--muted)}.top-right{display:flex;align-items:center;gap:26px;font-size:10px;letter-spacing:1px;color:var(--muted)}#connection i,.dot{display:inline-block;width:5px;height:5px;background:#edbc7d;border-radius:50%;margin-right:8px}#connection.ready i{background:#8ae3c4;box-shadow:0 0 9px #8ae3c4}#fullscreen{background:none;border:1px solid var(--line);width:32px;height:32px;font-size:21px}.panel{position:fixed;background:linear-gradient(125deg,#0d1c26c9,#0b141dcc);border:1px solid var(--line);backdrop-filter:blur(14px);border-radius:3px}.workspace{top:118px;left:34px;width:245px;padding:23px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--cyan);display:flex;justify-content:space-between;align-items:center}.eyebrow span{font-size:8px;color:var(--muted);letter-spacing:.8px}h1{font-size:28px;line-height:1.6;font-weight:400;letter-spacing:1px;margin:28px 0 8px}.intro{font-size:10px;color:var(--muted);margin-bottom:35px}.section-title{font-size:10px;color:var(--muted);margin-bottom:13px}.model{display:flex;width:100%;gap:13px;align-items:center;text-align:left;border:1px solid transparent;background:transparent;padding:13px 9px;margin:6px 0;border-radius:2px}.model.active{background:linear-gradient(90deg,#8be4fa15,#8be4fa04);border-color:#83d9ef42}.model:hover{background:#8be4fa0e}.model-icon{color:var(--cyan);font-size:25px;width:29px;text-align:center;font-weight:200}.model small{display:block;color:#7699a7;font-size:7px;letter-spacing:1.2px;margin-top:6px}.model .arrow{margin-left:auto;color:#7ca5b4}.control-title{margin-top:31px}.controls{display:flex;gap:7px}.controls button{border:1px solid var(--line);background:transparent;font-size:10px;padding:9px 7px;flex:1}.controls button[aria-pressed=true]{border-color:#8ce4fa55;color:var(--cyan)}.scale-label{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:21px}input[type=range]{width:100%;height:2px;accent-color:var(--cyan);margin:17px 0}.workspace-foot{border-top:1px solid var(--line);margin-top:19px;padding-top:15px;font-size:9px;color:#8aa2ac}.workspace-foot .dot{background:var(--cyan)}.scene-label{position:fixed;top:133px;left:calc(50% - 90px);text-align:center;pointer-events:none}.scene-label .eyebrow{font-size:8px;color:#93bfce}.scene-label #object-title{margin:12px 0;font-size:17px;font-weight:300;letter-spacing:2px}.scene-label #object-title span{color:#698d9c;font-size:10px}.coordinate{font-family:monospace;font-size:8px;color:#597b89;letter-spacing:1px}.assistant{right:34px;top:118px;width:278px;padding:19px 19px 0;display:flex;flex-direction:column;max-height:calc(100vh - 214px)}.avatar-wrap{position:relative;height:209px;margin:10px -10px 0;flex-shrink:0;overflow:hidden;background:radial-gradient(ellipse at center,#26789922,transparent 70%)}.avatar-wrap img{height:280px;width:280px;object-fit:contain;position:absolute;left:50%;transform:translateX(-50%);top:-15px;opacity:.8}.avatar-shade{position:absolute;inset:0;background:linear-gradient(0deg,#0b1720 0%,transparent 37%)}.avatar-caption{position:absolute;bottom:5px;width:100%;text-align:center;font-size:7px;letter-spacing:2px;color:#81bacc}.wave{height:26px;display:flex;gap:3px;align-items:center;justify-content:center;flex-shrink:0}.wave i{width:2px;height:4px;background:#70cae6;opacity:.5}.wave.busy i{animation:wave .75s ease-in-out infinite alternate}.wave.listening i{background:var(--amber);animation:wave .45s ease-in-out infinite alternate}@keyframes wave{to{height:20px;opacity:1}}#log{overflow-y:auto;min-height:100px;max-height:210px;padding:14px 0;scrollbar-width:thin;scrollbar-color:#274553 transparent}.message{margin:0 0 19px}.message span{color:#73bad0;font-size:8px;letter-spacing:1.8px}.message p{font-size:12px;font-weight:300;line-height:1.95;margin:6px 0;white-space:pre-wrap;overflow-wrap:anywhere}.message.user p{color:#93a9b2}.message.user span{color:var(--amber)}.message.error p{color:#edb88c}.assistant-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:15px 0;color:#6f95a3;font-size:8px;letter-spacing:1px}.assistant-foot button{background:none;border:0;font-size:9px;letter-spacing:0;color:var(--muted)}.bottom{position:fixed;width:min(630px,calc(100vw - 650px));left:50%;bottom:71px;transform:translateX(-50%)}.suggestions{display:flex;gap:8px;margin-bottom:13px;justify-content:center}.suggestions button{border:1px solid var(--line);background:#09151dcc;font-size:10px;color:#a0b8c2;border-radius:3px;padding:9px 11px;white-space:nowrap}.suggestions button:hover{border-color:var(--cyan);color:#fff}.suggestions span{color:var(--cyan);margin-left:8px}form{display:flex;align-items:center;padding:9px 10px;gap:10px;background:#0c1b26e6;border:1px solid #83d9ef55;border-radius:5px;box-shadow:0 0 36px #2b90ae10}#prompt{min-width:0;flex:1;border:none;outline:none;background:transparent;font:inherit;font-size:12px;color:#d9f5ff}#prompt::placeholder{color:#6e8e9e}#mic{background:none;border:1px solid #78cae333;border-radius:50%;width:34px;height:34px;color:var(--cyan);font-size:24px}#mic.recording{background:#e8b98133;border-color:var(--amber);color:var(--amber)}#send{width:34px;height:34px;border:none;border-radius:3px;background:#94ddec;color:#0a2633;font-size:23px}.bottom-meta{display:flex;justify-content:space-between;align-items:center;margin:11px 3px 0;font-size:9px;color:#7592a1}.bottom-meta button{border:none;background:none;color:#9dbcc8;font-size:9px}footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:20px 36px;border-top:1px solid #7bc9e011;color:#53727f;letter-spacing:1px;font-size:8px}footer b{font-weight:400;color:#b89a70;margin-left:16px;font-size:7px}#toast{position:fixed;bottom:220px;left:50%;transform:translateX(-50%);background:#102633;border:1px solid #6bbbd044;padding:12px 22px;opacity:0;pointer-events:none;transition:opacity .2s;font-size:12px;max-width:80vw}#toast.show{opacity:1}@media(min-width:1600px){.workspace{left:48px;top:135px;width:265px}.assistant{right:48px;top:135px;width:305px}.avatar-wrap{height:245px}.avatar-wrap img{height:310px;width:310px}.bottom{bottom:88px}}@media(max-height:800px){.workspace{top:104px;padding:18px}h1{margin-top:16px;font-size:24px}.intro{margin-bottom:20px}.control-title{margin-top:18px}.model{padding:9px}.assistant{top:104px}.avatar-wrap{height:150px}.avatar-wrap img{height:215px;width:215px}.bottom{bottom:62px}.workspace-foot{margin-top:10px}.scene-label{top:115px}}@media(max-width:1100px){.workspace{width:205px;left:20px;padding:16px}.assistant{right:20px;width:230px}.bottom{width:calc(100vw - 510px)}.suggestions button{font-size:9px;padding:8px}.suggestions button:last-child{display:none}.brand-sub{display:none}.scene-label{left:43%}header{padding:0 23px}}@media(max-width:760px){header{height:68px}.brand{font-size:21px}.top-right{gap:12px}#clock{display:none}.workspace{top:85px;left:14px;width:150px;padding:12px}.workspace h1,.intro,.control-title,.controls,.scale-label,#scale,.workspace-foot{display:none}.workspace .eyebrow span{display:none}.section-title{margin-top:17px}.model{gap:6px;font-size:11px}.model-icon{font-size:21px}.model small{font-size:6px}.assistant{right:14px;top:85px;width:185px;padding:12px 12px 0;max-height:calc(100vh - 285px)}.avatar-wrap{height:110px}.avatar-wrap img{height:170px;width:170px}.avatar-caption{display:none}#log{max-height:145px;min-height:60px}.message p{font-size:11px}.assistant-foot{font-size:6px;letter-spacing:.5px}.scene-label{top:auto;bottom:219px;left:25px}.coordinate{display:none}.bottom{width:calc(100vw - 28px);bottom:64px}.suggestions{justify-content:flex-start}.suggestions button:last-child{display:block}footer{padding:17px 15px;font-size:7px}footer>span:nth-child(2){display:none}.bottom-meta{font-size:8px}}

#avatar-3d{position:absolute;inset:0;z-index:1}#avatar-3d canvas{display:block;width:100%;height:100%}.avatar-caption{z-index:2}.avatar-shade{pointer-events:none;z-index:2;background:linear-gradient(0deg,#0b1720,transparent 18%)}
/* Worker status below the monitor's current activity (contract v21). */
#task-detail-parent { margin: 6px 0; color: #a1c2d1; font-size: 12px; font-variant-numeric: tabular-nums; }
#task-detail-agents { margin: 6px 0 12px; }
#task-detail .task-detail-grid > div { min-width: 0; }

/* Completion summary (contract v22). Keep hidden stronger than line-clamp/flex. */
#task-detail section.task-summary {
  margin: 0 0 12px;
  padding: 12px;
  min-width: 0;
  border: 1px solid rgba(120, 200, 235, .3);
  border-left: 3px solid #9be7a8;
  border-radius: 4px;
  box-shadow: none;
  background: #0c1b26;
  color: #dff5ff;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
#task-detail .task-summary[data-status=derived] { border-left-color: #7cbfd4; border-left-style: dashed; }
#task-detail section.task-summary[hidden],
#task-detail .task-summary [hidden] { display: none !important; }
#task-detail .task-summary .ts-head { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
#task-detail .task-summary .ts-title { font-size: 13px; font-weight: 500; }
#task-detail .task-summary .ts-source { padding: 1px 6px; border: 1px solid currentColor; border-radius: 3px; color: #9be7a8; font-size: 11px; }
#task-detail .task-summary[data-status=derived] .ts-source { color: #7cbfd4; }
#task-detail .task-summary .ts-body { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: start; gap: 8px 10px; margin: 12px 0; }
/* This label backing gives #527e90 text at least 4.5:1 contrast. */
#task-detail .task-summary .ts-body dt { margin: 0; padding: 2px 4px; background: #02080d; color: #527e90; font-size: 11px; letter-spacing: .04em; }
#task-detail .task-summary .ts-body dd { min-width: 0; margin: 0; color: #dff5ff; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; }
#task-detail .task-summary .ts-body dd.ts-missing { color: #e5aa63; }
#task-detail .task-summary .ts-text { white-space: pre-wrap; }
#task-detail .task-summary:not(.expanded) .ts-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
#task-detail .task-summary .ts-recs { margin: 0; padding-left: 1.5em; }
#task-detail .task-summary .ts-recs li { margin: 0; padding: 0; white-space: pre-wrap; }
#task-detail .task-summary .ts-actions { display: flex; flex-wrap: wrap; gap: 8px; }
#task-detail .task-summary .ts-actions button { padding: 5px 8px; border: 1px solid rgba(120, 200, 235, .3); border-radius: 4px; background: #102532; color: #c6edff; font: inherit; font-size: 12px; }
#task-detail .task-summary .ts-actions button:hover:not(:disabled) { background: #193342; border-color: #69d9ff; }
#task-detail .task-summary .ts-actions .ts-open.primary { background: #69d9ff; color: #04131c; font-weight: 600; }
#task-detail .task-summary .ts-actions .ts-open.primary:hover:not(:disabled) { background: #91e4ff; }
@media (max-width: 640px) {
  #task-detail .task-summary .ts-body { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  #task-detail .task-summary .ts-body dt { justify-self: start; }
  #task-detail .task-summary .ts-body dd { margin-bottom: 6px; }
}

/* HUD task monitor: prose backing, hairline rows and one monospace log. */
html[data-hud="v27"] #task-detail {
  & :is(h2,p,.section-title,.task-detail-grid,.task-confirm-actions) { background:var(--hp-reading); padding:8px; margin:0; }
  & h2 { font-size:18px; font-weight:500; color:var(--hud-ink); }
  & :is(#task-detail-meta,#task-detail-parent,#task-detail-activity,#task-detail-noimage,#task-detail-files) { color:var(--hp-muted); font-family:var(--hp-font); }
  & #task-detail-files li { padding:8px 0; border-bottom:1px solid var(--hp-hairline); }
  & #task-detail-log { font:11px/1.7 ui-monospace,monospace; color:var(--hud-ink); }
  & :is(.ts-source,.tf-agent[data-state="done"]) { color:var(--hp-done); }
}
