:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1220;--panel:#131c2e;--line:#22314e;--fg:#e6ecf5;--dim:#8ea0bd;--accent:#14b8a6}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}#root{max-width:720px;padding:0 16px calc(24px + env(safe-area-inset-bottom));margin:0 auto}header{background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0 8px;display:flex;position:sticky;top:0}header h1{flex:1;margin:0;font-size:17px}.badge{border:1px solid var(--accent);color:var(--accent);border-radius:999px;padding:2px 10px;font-size:12px;display:inline-block}nav{gap:6px;padding:10px 0;display:flex}nav a{color:var(--dim);border-radius:8px;padding:6px 12px;font-size:14px;text-decoration:none}nav a.active{color:var(--fg);background:var(--panel)}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin:12px 0;padding:16px}.card h2{margin:0 0 8px;font-size:15px}.dim{color:var(--dim);font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}select,input,button{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:14px}button{cursor:pointer}button.primary{background:var(--accent);color:#06231f;border-color:var(--accent);font-weight:600}.chat-log{flex-direction:column;gap:8px;min-height:200px;max-height:45vh;padding:8px 0;display:flex;overflow-y:auto}.msg{white-space:pre-wrap;border-radius:10px;max-width:85%;padding:8px 12px;font-size:14px}.msg.me{background:var(--accent);color:#06231f;align-self:flex-end}.msg.sys{background:var(--bg);border:1px solid var(--line);color:var(--dim);align-self:flex-start}.row{gap:8px;display:flex}.row input{flex:1}pre.dump{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;font-size:12px;overflow-x:auto}.home-login h1.brand{margin:4px 0 10px;font-size:26px}.cw-item{border:1px solid var(--line);border-radius:8px;flex-direction:column;gap:4px;margin:8px 0;padding:8px 10px;font-size:13px;display:flex}.cw-item summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:4px;list-style:none;display:flex}.cw-item summary::-webkit-details-marker{display:none}.cw-item summary::marker{content:""}.cw-toggle{color:var(--accent);border:1px solid var(--line);border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px}.phase-row{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.phase-row button{padding:4px 10px;font-size:13px}.cw-detail{flex-direction:column;gap:2px;margin-top:6px;display:flex}.cw-detail h4,.cw-item h4{color:var(--dim);margin:8px 0 2px;font-size:12px;font-weight:600}.cw-detail-report{white-space:pre-wrap;color:var(--fg);margin:2px 0}.reply-draft{white-space:pre-wrap;background:var(--bg);border-left:2px solid var(--accent);border-radius:6px;margin:2px 0;padding:6px 8px}.cw-note{white-space:pre-wrap;margin:2px 0}.cw-error{white-space:pre-wrap;color:#ef6a6a;margin:2px 0}.cw-ok{color:#3ecf8e;margin:2px 0;font-size:13px}.cw-instruct-preview{white-space:pre-wrap;color:var(--fg);margin:2px 0}.cw-actions{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}textarea{background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-family:inherit;font-size:13px}.cw-override{resize:vertical;width:100%;min-height:44px}.instruct-box{border:1px dashed var(--accent);background:#14b8a60f;border-radius:8px;flex-direction:column;gap:6px;margin-top:8px;padding:8px;display:flex}.instruct-box textarea{resize:vertical;width:100%;min-height:64px}.cw-instruct-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cw-status-label{color:var(--dim);align-items:center;gap:6px;font-size:13px;display:inline-flex}.badge.state-pending{color:#e8c45a;border-color:#e8c45a}.badge.state-applied{color:#3ecf8e;border-color:#3ecf8e}.badge.state-error{color:#ef6a6a;border-color:#ef6a6a}.badge.state-skip{color:var(--dim);border-color:var(--line)}
