:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05080d;--bg-glow:#0e2436;--fg:#d9eef8;--fg-strong:#e6f5fc;--muted:#6fa3bb;--dim:#4f7f95;--line:#1a3a4d;--line-strong:#1f4a60;--panel:#0c202e8c;--panel-solid:#0c202e;--cyan:#2fb7e8;--cyan-bright:#7fd6ff;--cyan-pale:#bfe9ff;--cyan-core:#9fe6ff;--user:#15364a;--amber:#f0a640;--amber-line:#5a3f1a;--amber-pale:#e3cfae;--amber-text:#fff1dc;--amber-dim:#c99a5a;--green:#58e8a8;--red:#f05c4c;--sys:#3a2a12;--ring-dash:var(--cyan);--ring-inner:var(--cyan-bright);--ring-core:var(--cyan-core);--font-body:"Noto Sans JP", -apple-system, BlinkMacSystemFont, "Hiragino Sans", system-ui, sans-serif;--font-latin:Rajdhani, "Noto Sans JP", system-ui, sans-serif;--tap:44px}#app[data-tone=amber]{--ring-dash:var(--amber);--ring-inner:#ffd08a;--ring-core:#ffd9a3}*{box-sizing:border-box}html,body{overscroll-behavior-x:none;touch-action:pan-y;background:var(--bg);width:100%;height:100%;color:var(--fg);font:15px / 1.55 var(--font-body);-webkit-text-size-adjust:100%;margin:0;overflow-x:hidden}body{background:radial-gradient(120% 60% at 50% -10%, var(--bg-glow) 0%, var(--bg) 55%) fixed}#app{max-width:720px;height:100dvh;padding:env(safe-area-inset-top) 16px 0;flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden}#app>*,.card>*,.jv-section>*,.jv-drawer>*,.msg>*{min-width:0;max-width:100%}body{overflow-x:hidden}#app.auth{gap:16px}.jv-latin{font-family:var(--font-latin);letter-spacing:.14em;font-weight:600}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:8px;padding:12px 14px;font-size:14px;line-height:1.6;display:grid}.card h2{color:var(--fg-strong);margin:0;font-size:14px;font-weight:500}.auth-card{gap:12px;padding:16px}.row{gap:8px;display:flex}.row.wrap{flex-wrap:wrap}hr{border:0;border-top:1px solid var(--line);margin:4px 0}input,textarea{width:100%;color:var(--fg-strong);border:1px solid var(--line-strong);font:inherit;min-height:var(--tap);background:#0a1c28cc;border-radius:10px;padding:10px 12px;font-size:16px}button{color:var(--fg);border:1px solid var(--line-strong);min-height:var(--tap);font:inherit;cursor:pointer;background:#11283a;border-radius:10px;padding:8px 14px;font-size:14px}button.primary{background:var(--cyan);border-color:var(--cyan);color:#04121a;font-weight:500}button.link{color:var(--muted);background:0 0;border:0;padding:6px 4px;font-size:13px}button:disabled{opacity:.5;cursor:default}.muted{color:var(--muted)}.small{font-size:12px}.flag{color:var(--amber)}details summary{cursor:pointer;color:var(--muted);min-height:28px}.jv-head{justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:14px 4px 0;display:flex}.jv-brand{align-items:center;gap:10px;display:flex}.jv-wordmark{color:var(--cyan-pale);font-size:22px}.jv-ring{transform-origin:50%;animation:24s linear infinite jv-spin}.jv-core{transform-origin:50%;animation:3.2s ease-in-out infinite jv-breathe}@keyframes jv-spin{to{transform:rotate(360deg)}}@keyframes jv-breathe{0%,to{opacity:.55;transform:scale(.98)}50%{opacity:1;transform:scale(1.02)}}.jv-status{color:#8fb8cc;text-align:right;align-items:center;gap:6px;font-size:12px;display:flex}.jv-dot{background:var(--green);width:7px;height:7px;box-shadow:0 0 8px var(--green);border-radius:50%;flex:none}.jv-status[data-tone=amber]{color:var(--amber-dim)}.jv-status[data-tone=amber] .jv-dot{background:var(--amber);box-shadow:0 0 8px var(--amber)}.jv-focus{border:1px solid var(--line);background:var(--panel);color:var(--cyan-bright);border-radius:10px;align-items:center;gap:12px;margin:14px 0 0;padding:12px 14px;display:flex}.jv-focus[hidden]{display:none}.jv-focus-text{color:var(--fg);flex:1;font-size:14px;line-height:1.4}.jv-focus-more{color:var(--muted);white-space:nowrap;font-size:12px}.jv-notice{border:1px solid var(--line);background:var(--panel);color:#b9d9e8;border-radius:10px;align-items:flex-start;gap:12px;margin:12px 0 0;padding:12px 14px;font-size:13px;line-height:1.5;display:flex}.jv-notice svg{color:var(--cyan-bright);flex:none;margin-top:2px}.jv-notice.critical{border-color:var(--amber-line)}.jv-notice.critical svg{color:var(--amber)}.jv-notice-body{overflow-wrap:anywhere;flex:1;min-width:0}.jv-notice-sub{color:var(--dim);margin-top:2px;font-size:11px}.messages{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:14px;min-height:0;padding:18px 0 8px;display:flex;overflow-y:auto}.msg{flex-direction:column;gap:6px;max-width:86%;display:flex}.msg.user{align-self:flex-end;align-items:flex-end;max-width:78%}.msg.assistant,.msg.system{align-self:flex-start}.bubble{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;font-size:15px;line-height:1.6}.msg.user .bubble{background:var(--user);border-radius:16px 16px 4px;padding:10px 14px;line-height:1.55}.msg.assistant .bubble,.msg.system .bubble{border-left:2px solid var(--cyan);color:var(--fg-strong);padding:2px 0 2px 14px}.msg.system .bubble{border-left-color:var(--amber);color:var(--amber-pale)}.msg.queued .bubble{opacity:.6}.msg.pending .bubble:after{content:"▌";color:var(--cyan-bright);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.msg.assistant:has(.reply-approvals) .bubble{border-left-color:var(--amber)}button.record{text-align:left;min-height:0;font:inherit;letter-spacing:.04em;color:var(--dim);cursor:pointer;background:0 0;border:0;flex-wrap:wrap;gap:0 8px;margin:0;padding:2px 0 2px 14px;font-size:11px;display:flex}.trace{color:var(--dim);letter-spacing:0;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.trace[hidden]{display:none}.reply-approvals{width:100%;margin-top:4px}.composer{align-items:center;gap:12px;padding:10px 0 8px;display:flex}.jv-field{border:1px solid var(--line-strong);background:#0a1c28cc;border-radius:24px;flex:1;align-items:center;min-width:0;min-height:48px;padding:0 4px 0 16px;display:flex}.jv-field:focus-within{border-color:var(--cyan)}.jv-field textarea{min-width:0;color:var(--fg-strong);font:inherit;resize:none;background:0 0;border:0;outline:none;flex:1;max-height:40dvh;padding:12px 0;font-size:16px;line-height:1.5}.jv-send{width:40px;height:40px;min-height:0;color:var(--cyan-bright);background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:none}.composer.has-text .jv-send{display:flex}.jv-mic{width:56px;height:56px;color:var(--cyan-pale);cursor:pointer;background:radial-gradient(circle at 50% 40%,#1b5a78,#0b2434);border:1px solid #3fc3f0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:flex;box-shadow:0 0 22px #3fc3f059}.jv-mic.listening{border-color:var(--amber);color:#ffd9a3;animation:1.6s ease-in-out infinite jv-breathe;box-shadow:0 0 22px #f0a64073}.jv-mic.sending{opacity:.7;border-style:dashed}.jv-mic.unavailable{opacity:.55;box-shadow:none}.voice-note{min-height:1.2em;margin:0 0 6px}.jv-handle{width:100%;min-height:24px;height:calc(24px + env(safe-area-inset-bottom));padding:0 0 env(safe-area-inset-bottom);cursor:grab;touch-action:none;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:0;display:flex}.jv-handle:before,.jv-grip:before{content:"";background:var(--line-strong);border-radius:2px;width:36px;height:4px}.jv-backdrop{opacity:0;pointer-events:none;z-index:20;background:#020509a6;transition:opacity .25s;position:fixed;inset:0}.jv-backdrop.open{opacity:1;pointer-events:auto}.jv-drawer{border-top:1px solid var(--line-strong);max-width:720px;height:min(86dvh,760px);padding:0 20px calc(16px + env(safe-area-inset-bottom));z-index:21;visibility:hidden;background:#071018f5;border-radius:20px 20px 0 0;flex-direction:column;gap:14px;margin:0 auto;transition:transform .3s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -20px 60px #0009}.jv-drawer.open,.jv-drawer.dragging{visibility:visible}.jv-drawer.open{transform:translateY(0)}.jv-drawer.dragging{transition:none}.jv-grip{width:120px;min-height:var(--tap);cursor:grab;touch-action:none;background:0 0;border:0;justify-content:center;align-self:center;align-items:center;padding:0;display:flex}.jv-grip:before{background:#2a5a72}.jv-drawer-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.jv-drawer-title{color:var(--cyan-pale);font-size:18px}.jv-drawer-meta{color:var(--dim);font-size:12px}.jv-drawer-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:18px;min-height:0;padding-bottom:8px;display:flex;overflow-y:auto}.jv-section{flex-direction:column;gap:8px;display:flex}.jv-section[hidden]{display:none}.jv-section-label{letter-spacing:.08em;color:var(--muted);font-size:12px}.jv-drawer-foot{border-top:1px solid var(--line);flex-direction:column;gap:6px;padding-top:12px;display:flex}.jv-foot-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.jv-foot-row .row{align-items:center}.jv-who{overflow-wrap:anywhere;margin:0}.freeze-slot:empty{display:none}button.freeze{height:var(--tap);border:1px solid var(--amber-line);color:var(--amber);white-space:nowrap;background:0 0;border-radius:22px;align-items:center;gap:8px;padding:0 18px;font-size:14px;display:inline-flex}.jv-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.jv-tile{border:1px solid var(--line);background:var(--panel);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;display:flex}.jv-tile-value{color:var(--cyan-pale);font-size:22px;line-height:1.1}.jv-tile.ok .jv-tile-value{color:var(--green)}.jv-tile.amber .jv-tile-value{color:var(--amber)}.jv-tile-label{color:var(--muted);font-size:11px}.approvals-slot:empty{display:none}.approvals{border-color:var(--amber-line);background:linear-gradient(#3c260c8c,#14100a8c);gap:10px}.approvals-title{color:var(--amber);letter-spacing:.08em;font-size:12px;font-weight:600}.approvals:not(.waiting){border-color:var(--line);background:var(--panel)}.approvals:not(.waiting) .approvals-title{color:var(--muted)}.approvals-slot>.approvals{max-height:42dvh;margin-top:14px;overflow-y:auto}.approval-item{border-top:1px solid var(--amber-line);padding-top:10px}.approval-item p{margin:4px 0}.approval-head{color:var(--amber-text);font-size:15px;font-weight:500}.approval-head .risk{color:var(--muted);font-size:12px;font-weight:400}.approval-head .risk.high,.approval-head .risk.critical{color:var(--amber)}.approval-item pre.machine{white-space:pre-wrap;word-break:break-all;color:var(--amber-pale);background:#05080d99;border-radius:8px;margin:4px 0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.approval-item dl.params{grid-template-columns:max-content 1fr;gap:2px 8px;margin:4px 0;font-size:13px;display:grid}.approval-item dl.params dt{color:var(--muted)}.approval-item dl.params dd{white-space:pre-wrap;word-break:break-all;margin:0}.approval-item .rationale{border-left:2px solid var(--amber-line);margin:6px 0;padding-left:8px}.approval-item .row button{border-radius:10px;flex:1;height:48px;font-size:15px}.approval-item .row button.primary{background:var(--amber);border-color:var(--amber);color:#1a1206}.approval-item .row button:not(.primary){border-color:var(--amber-line);color:var(--amber-pale);background:0 0}.approvals .recent{margin:4px 0 0;padding-left:20px}.approvals .recent code{word-break:break-all}.jv-section .briefing>h2,.jv-section .jobs>h2,.jv-section .nightly>h2{display:none}.briefing-item,.nightly-item,.job-item,.self-item{border-top:1px solid var(--line);padding-top:8px}.briefing-item p,.nightly-item p,.job-item p,.self-item p{margin:4px 0}.briefing-item.done,.job-item.done,.job-item.failed,.job-item.cancelled{color:var(--muted)}.briefing button.pressed{outline:2px solid var(--cyan);outline-offset:-2px}.nightly-item ul{margin:4px 0;padding-left:20px}.nightly .flag.small{font-size:12px}.job-head{overflow-wrap:anywhere;justify-content:space-between;gap:8px;display:flex}.job-state{color:var(--cyan-bright);white-space:nowrap;font-size:14px}.job-item.done .job-state{color:var(--green)}.job-item.failed .job-state,.job-item.cancelled .job-state{color:var(--muted)}.job-bar{background:#11283a;border-radius:2px;height:3px;margin:2px 0 4px;overflow:hidden}.job-bar .fill{background:linear-gradient(90deg, var(--cyan), var(--cyan-core));width:0;height:100%;box-shadow:0 0 10px var(--cyan)}.job-bar.queued .fill{opacity:.6;width:8%}.job-bar.paused .fill{opacity:.5;width:50%}.job-bar.running .fill{width:40%;animation:2.4s ease-in-out infinite jv-flow}.job-bar.done .fill{width:100%}.job-bar.failed .fill,.job-bar.cancelled .fill{width:100%;box-shadow:none;background:#2a3b4d}@keyframes jv-flow{0%{transform:translate(-100%)}to{transform:translate(250%)}}.job-item .mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.self-teaser{border:1px solid var(--line);background:var(--panel);border-radius:10px;gap:6px;padding:12px 14px;display:grid}.self-teaser .quote{color:#b9d9e8;margin:0;font-style:italic}.self-teaser-foot{justify-content:space-between;align-items:center}.self h3{color:var(--cyan-bright);margin:8px 0 0;font-size:14px}.self h4{color:var(--amber);margin:6px 0 0;font-size:13px}.self-head{justify-content:space-between;align-items:center}.self-item.old{opacity:.8}.monitor p{overflow-wrap:anywhere;margin:4px 0}.monitor.frozen{border-color:var(--amber-line)}.frozen-banner{border:1px solid var(--amber-line);background:#3c260c8c;border-radius:8px;margin:4px 0;padding:8px 10px}.frozen-title{color:var(--amber-text);font-weight:500}.monitor-down,.monitor-alert.warn{color:var(--amber)}.monitor-alert.critical{color:var(--red)}@media (prefers-reduced-motion:reduce){.jv-ring,.jv-core,.jv-mic.listening,.job-bar.running .fill{animation:none}.jv-drawer,.jv-backdrop{transition:none}}
