:root{--bg: var(--tg-theme-bg-color, #0f1117);--fg: var(--tg-theme-text-color, #e6e8ee);--muted: var(--tg-theme-hint-color, #8b93a7);--card: var(--tg-theme-secondary-bg-color, #1a1d27);--accent: var(--tg-theme-button-color, #4f7cff);--accent-fg: var(--tg-theme-button-text-color, #ffffff);--border: #2a2f3d}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:15px;line-height:1.4}.app{display:flex;flex-direction:column;min-height:100%}.topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:5}.brand{font-weight:700;letter-spacing:.5px}.back{background:none;border:none;color:var(--fg);font-size:28px;line-height:1;cursor:pointer;padding:0 8px 0 0}.who{color:var(--muted);font-size:13px}.content{padding:16px;flex:1}.section{margin-bottom:24px}.section-title{font-size:13px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:8px}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.row-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--fg);font-size:15px;text-align:left;cursor:pointer}.row-title{font-weight:600}.chev{color:var(--muted);font-size:20px}.block{display:block}.badge{color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;letter-spacing:.4px;white-space:nowrap}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;color:var(--muted)}input,textarea{background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--fg);padding:12px;font:inherit;width:100%;resize:vertical}input:focus,textarea:focus{outline:none;border-color:var(--accent)}.actions{display:flex;gap:10px;justify-content:flex-end}.gate-actions{justify-content:space-between}.btn{border:none;border-radius:10px;padding:12px 18px;font:inherit;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-fg)}.btn.ghost{background:transparent;color:var(--fg);border:1px solid var(--border)}.btn.danger{background:#dc2626;color:#fff}.gate{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:20px}.gate h3{margin:0 0 10px;font-size:16px}.plan{background:#0b0d13;border:1px solid var(--border);border-radius:8px;padding:12px;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;max-height:40vh;overflow:auto;margin:0 0 12px}.seg{display:flex;gap:8px;margin:12px 0}.seg-btn{flex:1;padding:10px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--fg);cursor:pointer}.seg-btn.on{background:var(--accent);color:var(--accent-fg);border-color:var(--accent)}.pr-link{color:var(--accent);word-break:break-all;font-size:13px}.task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.task-title{font-weight:700;font-size:17px}.log-wrap{border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#0b0d13}.log-head{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border)}.dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.dot.live{background:#16a34a;box-shadow:0 0 6px #16a34a}.log{max-height:55vh;overflow:auto;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.log-empty{padding:16px 0}.log-line{display:flex;gap:8px;padding:2px 0;word-break:break-word}.log-kind{color:var(--accent);flex-shrink:0}.log-text{color:var(--fg);white-space:pre-wrap}.src-replay .log-kind,.muted{color:var(--muted)}.small{font-size:12px}.error{color:#f87171}.ok{color:#4ade80}.notice{background:#f59e0b1f;border:1px solid #f59e0b55;color:#fbbf24;padding:10px 12px;border-radius:10px;font-size:13px}
