:root{--brand:#18a0d8;--action:#1b84c9;--action-ink:#1877c0;--action-tint:#eaf4fe;--action-line:#cfe6fa;--ink:#1e293b;--ink-strong:#111827;--ink-muted:#64748b;--ink-faint:#94a3b8;--bg:#f4f6f9;--surface:#fff;--surface-2:#f8fafc;--line:#e7ecf2;--ok:#15803d;--ok-tint:#dcfce7;--bad:#c0392b;--bad-tint:#fdecea;--warn:#b45309;--warn-tint:#fef3c7;--font:-apple-system, system-ui, "PingFang SC", "Noto Sans CJK SC", "Microsoft YaHei", sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--r-sm:6px;--r-md:12px;--r-lg:16px;--r-xl:22px;--shadow-sm:0 2px 12px #1118270d;--shadow-lg:0 8px 24px #1118271f;--brand-dark:var(--action-ink);--brand-light:var(--action-line);--brand-pale:var(--action-tint);--brand-tint:var(--action-tint);--panel:var(--surface);--fg:var(--ink);--muted:var(--ink-muted);--line-strong:var(--line);--danger:var(--bad);--danger-bg:var(--bad-tint);--ok-bg:var(--ok-tint);--warn-bg:var(--warn-tint);--radius:var(--r-md);--radius-sm:var(--r-sm);--shadow:var(--shadow-lg)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font:15px/1.8 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;padding:0}button:disabled{cursor:default}a{color:var(--action-ink)}:focus-visible{outline:2px solid var(--action);outline-offset:2px}::selection{background:var(--action-line)}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}::-webkit-scrollbar-track{background:0 0}.num{font-variant-numeric:tabular-nums}.cap{letter-spacing:.06em;color:var(--ink-muted);font-size:12px;font-weight:600}.hint{color:var(--ink-muted);font-size:12.5px}button.link{color:var(--action-ink);font-size:13px;font-weight:500}button.link:disabled{opacity:.5}.link.danger{color:var(--bad)}.err{background:var(--bad-tint);color:var(--bad);border-radius:var(--r-sm);margin-top:8px;padding:8px 12px;font-size:13px}.app{grid-template-columns:minmax(0,1fr);height:100%;display:grid}.nav,.ctx{display:none}.sheet{background:var(--surface);flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}@media (min-width:900px){.app{grid-template-columns:228px minmax(0,1fr) 248px;gap:0 24px;padding:20px 28px 20px 12px}.nav,.ctx{flex-direction:column;min-height:0;display:flex}.sheet{border-radius:var(--r-xl);box-shadow:0 1px 2px #1118270a,0 12px 40px #1118270f}}@media (max-width:899px){.app.drawer-nav .nav,.app.drawer-ctx .ctx{z-index:20;background:var(--bg);width:min(300px,86vw);box-shadow:var(--shadow-lg);flex-direction:column;padding:12px 12px 8px;display:flex;position:fixed;top:0;bottom:0;overflow:auto}.app.drawer-nav .nav{left:0}.app.drawer-ctx .ctx{right:0}.scrim{z-index:15;background:#11182759;position:fixed;top:0;bottom:0;left:0;right:0}}.nav{padding:6px 4px 0 8px}.brand{align-items:center;gap:10px;padding:4px 8px 22px;display:flex}.brand img{object-fit:contain;width:28px;height:28px}.brand b{color:var(--ink-strong);letter-spacing:-.01em;font-size:17px;font-weight:800}.nav .new{color:var(--action-ink);border-radius:var(--r-sm);align-items:center;gap:8px;margin-bottom:10px;padding:6px 8px;font-weight:600;display:flex}.nav .new i{background:var(--action-ink);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:15px;font-style:normal;line-height:1;display:grid}.nav .new:hover{background:#fffc}.nav-list{flex:1;min-height:0;overflow:auto}.grp{padding:14px 8px 4px}.sess{border-radius:var(--r-sm);color:var(--ink);cursor:pointer;align-items:center;gap:6px;padding:7px 4px 7px 14px;font-size:14px;line-height:1.5;display:flex;position:relative}.sess:hover{background:#fffc}.sess.on{color:var(--ink-strong);font-weight:700}.sess.on:before{content:"";background:var(--action);border-radius:2px;width:3px;position:absolute;top:9px;bottom:9px;left:0}.sess .t{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.sess .pend{background:var(--warn);border-radius:50%;flex:none;width:7px;height:7px}.sess .x{color:var(--ink-faint);visibility:hidden;border-radius:4px;padding:0 4px;font-weight:400;line-height:1}.sess .x:hover{color:var(--bad);background:var(--bad-tint)}.sess:hover .x{visibility:visible}.me{align-items:center;gap:10px;padding:14px 8px 2px;font-size:14px;display:flex}.me .av{background:var(--ink-strong);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.me b{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.me .gear{width:32px;height:32px;color:var(--ink-muted);border-radius:50%;flex:none;place-items:center;display:grid}.me .gear:hover{color:var(--ink-strong);background:#ffffffe6}.me .gear svg{width:18px;height:18px}.top{align-items:flex-end;gap:16px;padding:26px 40px 10px;display:flex}.top .h{flex:1;min-width:0}.top .h .cap{align-items:center;gap:8px;margin-bottom:2px;display:flex}.top .h .cap .dot{background:var(--ink-faint);border-radius:50%;width:7px;height:7px}.top .h .cap.wait .dot{background:var(--warn)}.top .h .cap.run .dot{background:var(--action)}.top .title{color:var(--ink-strong);letter-spacing:-.015em;text-overflow:ellipsis;white-space:nowrap;font-size:26px;font-weight:800;line-height:1.25;overflow:hidden}.icon-btn{border-radius:var(--r-sm);width:36px;height:36px;color:var(--ink);flex:none;place-items:center;display:none;position:relative}.icon-btn svg{width:20px;height:20px}.icon-btn .pend{background:var(--warn);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}@media (max-width:899px){.top{align-items:center;padding:12px 12px 10px 6px}.top .title{font-size:18px}.top .h .cap{display:none}.icon-btn{display:grid}}.flow{flex:1;padding:18px 40px 8px;overflow:auto}.ledger{max-width:760px;margin:0 auto;padding-bottom:12px;padding-left:28px;position:relative}.ledger:before{content:"";background:var(--line);width:1px;position:absolute;top:14px;bottom:0;left:7px}.row{min-width:0;padding:0 0 26px;position:relative}.row .time{text-align:right;color:var(--ink-faint);font-variant-numeric:tabular-nums;font-size:12px;display:none;position:absolute;top:7px}.row .mark{background:var(--surface);border:2px solid var(--ink-faint);border-radius:50%;width:9px;height:9px;position:absolute;top:10px;left:-25px}.row.you .mark{background:var(--ink-strong);border-color:var(--ink-strong);width:11px;height:11px;top:9px;left:-26px}.row.wait .mark{background:var(--warn);border-color:var(--warn)}.row.run .mark{background:var(--action);border-color:var(--action)}.row.done .mark{background:var(--ok);border-color:var(--ok)}.row.bad .mark{background:var(--bad);border-color:var(--bad)}@media (min-width:900px){.ledger{padding-left:76px}.ledger:before{left:60px}.row .time{width:44px;display:block;left:-76px}.row .mark{left:-20px}.row.you .mark{left:-21px}}.you .say{color:var(--ink-strong);letter-spacing:-.005em;white-space:pre-wrap;overflow-wrap:anywhere;font-size:17px;font-weight:700;line-height:1.5}.msg-imgs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.msg-imgs img{border-radius:var(--r-sm);border:1px solid var(--line);max-width:160px;max-height:160px;display:block}.row .foot{color:var(--ink-faint);flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;font-size:12px;display:flex}.row .foot .link{font-size:12px}.md{color:var(--ink);overflow-wrap:anywhere;font-size:15px}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:6px 0}.md h1,.md h2,.md h3{color:var(--ink-strong);margin:16px 0 6px;line-height:1.3}.md h1{font-size:20px}.md h2{font-size:17px}.md h3{font-size:15px}.md ul,.md ol{margin:6px 0;padding-left:22px}.md strong{color:var(--ink-strong)}.md code{font-family:var(--mono);color:var(--ink-strong);background:var(--surface-2);border-radius:4px;padding:1px 6px;font-size:13px}.md pre{background:var(--surface-2);border-radius:var(--r-sm);padding:10px 12px;font-size:13px;overflow:auto}.md pre code{background:0 0;padding:0}.md table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:var(--r-sm);margin:8px 0;font-size:13px;overflow:hidden}.md th,.md td{border-bottom:1px solid var(--line);text-align:left;padding:6px 12px}.md tr:last-child td{border-bottom:0}.md th{background:var(--surface-2);color:var(--ink-muted);font-size:12px;font-weight:600}.md blockquote{border-left:3px solid var(--line);color:var(--ink-muted);margin:8px 0;padding:2px 12px}.cursor:after{content:"▍";color:var(--action);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.ex-form{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.ex-form input{font:inherit;border:1px solid var(--line);border-radius:4px;width:220px;padding:2px 6px;font-size:12px}.ex-form select{font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:4px;padding:2px 4px;font-size:12px}.ex-done{color:var(--ok)}.ex-err{color:var(--bad)}.chain{border-left:2px solid var(--line);flex-direction:column;gap:4px;margin:0 0 12px;padding:0 0 0 14px;font-size:13px;list-style:none;display:flex}.chain+.md{margin-top:14px}.step{color:var(--ink-muted);min-width:0;position:relative}.step:before{content:"";background:var(--ok);border-radius:50%;width:8px;height:8px;position:absolute;top:9px;left:-19px}.step.run:before{background:var(--action);box-shadow:0 0 0 4px var(--action-tint);animation:1.2s ease-in-out infinite pulse}.step.bad:before{background:var(--bad)}.step.wait:before{background:var(--warn);box-shadow:0 0 0 4px var(--warn-tint)}@keyframes pulse{50%{box-shadow:0 0 0 2px var(--action-tint)}}.step .head{text-align:left;width:100%;color:inherit;cursor:default;align-items:baseline;gap:8px;line-height:1.8;display:flex}.step button.head:not(:disabled){cursor:pointer}.step .head b{color:var(--ink);white-space:nowrap;font-weight:600}.step.run .head b{color:var(--action-ink)}.step.wait .head b{color:var(--warn)}.step.bad .head b{color:var(--bad)}.step .head span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.step .head .tog{color:var(--ink-faint);white-space:nowrap;font-size:12px;font-style:normal}.step .head:hover .tog{color:var(--action-ink)}.step .body{color:var(--ink);min-width:0;margin:4px 0 8px;font-size:13px}.step .body .cont{padding:0}.step .body .msg-note{color:var(--ink-muted);margin-top:6px}.step .body pre.sql{font-family:var(--mono);white-space:pre-wrap;color:var(--ink-muted);background:var(--surface-2);border-radius:var(--r-sm);margin:0 0 8px;padding:8px 10px;font-size:12px}.step .body .sources .hint{overflow-wrap:anywhere;margin:3px 0}.step .body .fetch-row{align-items:flex-start;gap:12px;display:flex}.step .body .fetch-row>div:first-child{overflow-wrap:anywhere;flex:1;min-width:0}.step .body .save-url.done{white-space:nowrap;color:var(--ok);flex:none;font-size:12px;font-weight:500}.step .body .summary{color:var(--ink-muted);background:var(--surface-2);border-radius:var(--r-sm);cursor:pointer;max-height:320px;margin-bottom:8px;padding:6px 10px;font-size:12.5px;overflow:auto}.step .body .takeover{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.step .body .takeover button{background:var(--warn);color:#fff;border-radius:999px;padding:4px 12px;font-size:12.5px;font-weight:600}.grid{border:1px solid var(--line);border-radius:var(--r-sm);max-height:320px;overflow:auto}.grid table{border-collapse:collapse;width:100%;font-size:12.5px}.grid th,.grid td{border-bottom:1px solid var(--line);white-space:nowrap;text-align:left;padding:5px 10px}.grid th{background:var(--surface-2);color:var(--ink-muted);font-size:12px;font-weight:600;position:sticky;top:0}.grid td.num{text-align:right;font-variant-numeric:tabular-nums}.chart{height:280px;margin:10px 0 4px}.chart-title{color:var(--ink-strong);margin:8px 0 0;font-weight:600}.dl{align-items:center;gap:12px;padding:10px 0;display:flex}.dl .icon{border-radius:var(--r-md);background:var(--action-tint);width:40px;height:40px;color:var(--action-ink);flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.dl .n{color:var(--ink-strong);overflow-wrap:anywhere;font-weight:600}.dl .s{color:var(--ink-muted);font-size:12px}.dl a.btn{background:var(--surface);color:var(--action-ink);border:1px solid var(--action-line);white-space:nowrap;border-radius:999px;margin-left:auto;padding:6px 14px;font-size:13px;font-weight:600;text-decoration:none}.dl a.btn:hover{background:var(--action-tint)}.genimg{gap:10px;padding:6px 0;display:grid}.genimg.multi{grid-template-columns:1fr 1fr}.genimg figure{margin:0}.genimg img{object-fit:contain;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);width:100%;max-height:360px;display:block}.genimg figcaption{flex-direction:column;gap:2px;margin-top:6px;display:flex}.genimg figcaption .n{color:var(--ink-strong);font-size:13px;font-weight:600}.genimg figcaption .s{color:var(--ink-muted);font-size:12px}.outline{columns:2;color:var(--ink-muted);column-gap:18px;font-size:12.5px}.outline div{break-inside:avoid;padding:1px 0}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);color:var(--ink-muted);border-radius:12px;padding:1px 8px;font-size:12px}.dock{padding:6px 40px 0}.dock .decide{max-width:760px;margin:0 auto}@media (min-width:900px){.dock .decide{padding-left:76px}}.decide .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 24px;padding:18px 20px 16px;display:grid}.decide .cap{color:var(--warn);grid-column:1/-1;align-items:center;gap:8px;display:inline-flex}.decide .cap .dot{background:var(--warn);border-radius:50%;width:7px;height:7px}.decide .q{letter-spacing:-.01em;color:var(--ink-strong);font-size:18px;font-weight:800;line-height:1.4}.decide .cmd{font-family:var(--mono);color:var(--ink);background:var(--surface-2);border-radius:var(--r-sm);overflow-wrap:anywhere;white-space:pre-wrap;margin-top:2px;padding:8px 12px;font-size:13px}.decide .why{color:var(--ink-muted);margin-top:2px;font-size:13px}.decide .acts{flex-direction:column;grid-area:2/2/5;gap:8px;min-width:150px;display:flex}.btn{border-radius:var(--r-md);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;height:40px;padding:0 18px;font-size:15px;font-weight:700;display:inline-flex}.btn.pri{background:var(--action);color:#fff}.btn.pri:hover{background:var(--action-ink)}.btn.sec{background:var(--surface);color:var(--action-ink);border-color:var(--action-line);font-weight:600}.btn.sec:hover{background:var(--action-tint)}.btn.txt{color:var(--ink-muted);height:30px;font-size:13px;font-weight:500}.btn.txt:hover{color:var(--bad)}.btn:disabled{opacity:.5}.decide .row2{gap:8px;display:flex}.decide .row2 .btn{flex:1;padding:0 8px}.decide .remember{color:var(--ink-muted);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.decide .remember input{accent-color:var(--brand);margin:0}@media (max-width:899px){.dock{padding:6px 12px 0}.decide .card{grid-template-columns:1fr;padding:16px 16px 14px}.decide .q{font-size:17px}.decide .why{display:none}.decide .acts{flex-flow:wrap;grid-area:auto/1;margin-top:8px}.decide .acts .btn.pri{flex:100%}.decide .row2{flex:1}}.compose{padding:14px 40px 22px}.compose .in{max-width:760px;margin:0 auto}@media (min-width:900px){.compose .in{padding-left:76px}}.compose .err{margin:0 0 8px}.pending-imgs{color:var(--ink-muted);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 8px;font-size:12px;display:flex}.pending-imgs .pimg{display:inline-block;position:relative}.pending-imgs img{object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;width:56px;height:56px;display:block}.pending-imgs .x{border:1px solid var(--line);background:var(--surface);width:18px;height:18px;box-shadow:var(--shadow-sm);border-radius:50%;padding:0;font-size:12px;line-height:16px;position:absolute;top:-6px;right:-6px}.box{background:var(--surface-2);min-height:54px;box-shadow:inset 0 0 0 1px var(--line);border-radius:27px;align-items:flex-end;gap:8px;padding:8px 8px 8px 10px;transition:box-shadow .15s,background .15s;display:flex;position:relative}.box:focus-within{background:var(--surface);box-shadow:inset 0 0 0 2px var(--action)}.box.over{background:var(--action-tint);box-shadow:inset 0 0 0 2px var(--action-line)}.box.uploading{opacity:.75}.box textarea{resize:none;min-width:0;font:inherit;height:24px;max-height:200px;color:var(--ink);background:0 0;border:0;outline:0;flex:1;align-self:center;margin:0;padding:7px 0;line-height:24px}.box textarea::placeholder{color:var(--ink-faint)}.box .ic{width:38px;height:38px;color:var(--ink-muted);border-radius:50%;flex:none;place-items:center;display:grid}.box .ic:hover{background:var(--surface);color:var(--ink-strong)}.box .ic:disabled{opacity:.5}.box .ic svg{width:18px;height:18px}.box .send{background:var(--action);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.box .send:hover{background:var(--action-ink)}.box .send:disabled{background:var(--line)}.box .send.stop{background:var(--ink-strong)}.box .send svg{width:18px;height:18px}.drop-hint{color:var(--action-ink);pointer-events:none;z-index:1;background:#eaf4fef5;border-radius:27px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.drop-hint svg{width:20px;height:20px}.under{color:var(--ink-faint);flex-wrap:wrap;gap:18px;margin:8px 0 0;padding:0 18px;font-size:12px;display:flex}.pick{flex:none;align-self:center;position:relative}.pick-btn{background:var(--surface);height:32px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.pick-btn:hover{box-shadow:inset 0 0 0 1px var(--action-line);background:var(--action-tint)}.pick-btn .dot{background:var(--ok);border-radius:50%;width:7px;height:7px}.pick-btn.cloud .dot{background:var(--action)}.pick-btn svg{width:14px;height:14px;color:var(--ink-faint)}.pick .menu{background:var(--surface);border-radius:var(--r-lg);width:280px;box-shadow:var(--shadow-lg);border:1px solid var(--line);z-index:5;padding:10px 8px 8px;position:absolute;bottom:calc(100% + 10px);left:0}.pick .menu .cap{padding:0 10px 6px;display:block}.pick .opt{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--ink);flex-direction:column;gap:1px;padding:8px 10px;display:flex}.pick .opt:hover{background:var(--surface-2)}.pick .opt.on{background:var(--action-tint)}.pick .opt:disabled{opacity:.5}.pick .opt b{color:var(--ink-strong);font-size:14px;font-weight:600}.pick .opt small{color:var(--ink-muted);font-size:12px}@media (max-width:899px){.compose{padding:10px 12px 14px}.flow{padding:4px 14px 8px}.under{display:none}.pick-btn{padding:0 8px}.pick-btn .lbl{display:none}}.ctx{gap:26px;padding:8px 0 0;overflow:auto}.ctx .cap{margin-bottom:4px;display:block}.li{border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;align-items:center;gap:8px;width:100%;padding:9px 0;font-size:14px;line-height:1.5;display:flex}.li:last-child{border-bottom:0}.li .t{flex:1;min-width:0}.li .t small{color:var(--ink-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.5;display:block;overflow:hidden}.li .v{color:var(--ink-muted);white-space:nowrap;font-size:13px}.li .v.warn{color:var(--warn);font-weight:600}.li .v.act{color:var(--action-ink);font-weight:600}.li .chev{color:var(--ink-faint);font-size:14px}.li.open .chev{transform:rotate(90deg)}.li-body{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding:4px 0 12px;font-size:13px;display:flex}.li-body:last-child{border-bottom:0}.li-body small{color:var(--ink-muted);font-size:12px;line-height:1.6;display:block}.li-body select{font:inherit;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);width:100%;padding:4px 6px;font-size:13px}.mem{white-space:pre-wrap;word-break:break-word;font:12.5px/1.6 var(--font);color:var(--ink);background:var(--surface);border-radius:var(--r-sm);max-height:240px;margin:0;padding:8px 10px;overflow:auto}.conn-item{flex-direction:column;gap:2px;display:flex}.conn-item b{color:var(--ink-strong);font-weight:600}.conn-item .ex-err{font-size:12px}.conn-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.conn-row input{min-width:0;font:inherit;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);flex:1;padding:6px 8px;font-size:13px}.task{background:var(--surface);border-radius:var(--r-sm);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.task.off{opacity:.6}.task-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.task-head b{color:var(--ink-strong);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.task .meta{color:var(--ink-muted);font-size:12px}.task .meta .link{font-size:12px}.file{align-items:center;gap:8px;padding:5px 0;font-size:13px;display:flex}.file .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.file .meta{color:var(--ink-faint);white-space:nowrap;font-size:12px}.file .x,.file .dlx{color:var(--ink-faint);visibility:hidden;border-radius:4px;padding:0 4px;line-height:1;text-decoration:none}.file .x:hover{color:var(--bad);background:var(--bad-tint)}.file .dlx:hover{color:var(--action-ink);background:var(--action-tint)}.file:hover .x,.file:hover .dlx{visibility:visible}.file.img{cursor:pointer}.file .thumb{object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;flex:none;width:32px;height:32px}.kind{background:var(--action-tint);color:var(--action-ink);white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}.kind.gen{background:var(--ok-tint);color:var(--ok)}.hello{max-width:760px;margin:0 auto;padding:4vh 0 0}@media (min-width:900px){.hello{padding-left:76px}}.hello .mark{object-fit:contain;width:36px;height:36px;margin-bottom:18px;display:block}.hello .cap{margin-bottom:12px;display:block}.hello h1{letter-spacing:-.02em;color:var(--ink-strong);margin:0;font-size:42px;font-weight:800;line-height:1.12}.hello h1 em{color:var(--action-ink);font-style:normal}.hello p{color:var(--ink-muted);max-width:540px;margin:14px 0 0;font-size:16px}.hello .ex{border-top:1px solid var(--line);grid-template-columns:1fr;margin-top:32px;display:grid}@media (min-width:900px){.hello .ex{grid-template-columns:1fr 1fr;column-gap:40px}}.hello .ex button{text-align:left;border-bottom:1px solid var(--line);color:var(--ink);flex-direction:column;gap:1px;padding:13px 0;display:flex}.hello .ex button b{color:var(--ink-strong);font-size:15px;font-weight:700}.hello .ex button:hover b{color:var(--action-ink)}.hello .ex button small{color:var(--ink-muted);font-size:13px}@media (max-width:899px){.hello h1{font-size:30px}.hello{padding:10px 0 0}}.ov{z-index:30;background:#11182759;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.panel{background:var(--surface);border-radius:var(--r-xl);width:min(680px,100%);max-height:100%;box-shadow:var(--shadow-lg);grid-template-columns:160px 1fr;display:grid;position:relative;overflow:auto}.panel nav{background:var(--surface-2);border-right:1px solid var(--line);padding:22px 12px}.panel nav h2{color:var(--ink-strong);margin:0 0 12px 10px;font-size:16px;font-weight:800}.panel nav button{text-align:left;border-radius:var(--r-sm);width:100%;color:var(--ink);padding:8px 10px;font-size:14px;display:block}.panel nav button.on{background:var(--surface);color:var(--ink-strong);box-shadow:var(--shadow-sm);font-weight:700}.panel .body{min-width:0;padding:26px 28px 24px}.panel .body h3{color:var(--ink-strong);margin:0 0 4px;font-size:18px;font-weight:800}.panel .body .sub{color:var(--ink-muted);margin:0 0 18px;font-size:13px}.conn{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:14px;padding:14px 0;display:flex}.conn:last-child{border-bottom:0}.conn .ic{border-radius:var(--r-md);background:var(--action-tint);width:38px;height:38px;color:var(--action-ink);flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.conn .t{flex:1;min-width:0}.conn .t b{color:var(--ink-strong);font-weight:700;display:block}.conn .t small{color:var(--ink-muted);font-size:13px;line-height:1.5;display:block}.conn .st{color:var(--ok);white-space:nowrap;font-size:13px;font-weight:600}.conn .st.off{color:var(--ink-faint)}.conn .btn.sec{height:34px;padding:0 14px;font-size:14px}.conn .form{flex-direction:column;flex:100%;gap:8px;padding-left:52px;display:flex}.conn .form input{font:inherit;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);padding:8px 10px;font-size:14px}.conn .form input:focus{outline:2px solid var(--action);outline-offset:-1px}.conn .form small{color:var(--ink-muted);font-size:12.5px;line-height:1.6}.conn .form .row2{gap:8px;display:flex}.panel .x{width:32px;height:32px;color:var(--ink-muted);border-radius:50%;font-size:20px;position:absolute;top:14px;right:16px}.panel .x:hover{background:var(--surface-2);color:var(--ink-strong)}@media (max-width:899px){.panel{grid-template-columns:1fr}.panel nav{display:none}.conn .form{padding-left:0}}.login{place-items:center;min-height:100%;padding:24px;display:grid}.login-card{background:var(--surface);border-radius:var(--r-xl);width:min(380px,100%);box-shadow:var(--shadow-lg);flex-direction:column;gap:10px;padding:28px 28px 20px;display:flex}.login-card img{align-self:flex-start;width:auto;height:32px}.login-card h1{color:var(--ink-strong);letter-spacing:-.01em;margin:6px 0 0;font-size:24px;font-weight:800}.login-card .sub{color:var(--ink-muted);margin:0 0 8px;font-size:13px;line-height:1.6}.login-card label{color:var(--ink-muted);flex-direction:column;gap:6px;font-size:12.5px;font-weight:600;display:flex}.login-card input{font:inherit;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);padding:9px 11px;font-size:15px}.login-card input:focus{outline:2px solid var(--action);outline-offset:-1px}.login-card small{color:var(--ink-muted);font-size:12px;line-height:1.5}.login-card .send{border-radius:var(--r-md);background:var(--action);color:#fff;text-align:center;margin-top:6px;padding:10px 14px;font-size:15px;font-weight:700;text-decoration:none;display:block}.login-card .send:hover{background:var(--action-ink)}.login-card .send:disabled{opacity:.5}.login-card .link{align-self:center;font-size:12.5px}.login-card .foot{text-align:center;color:var(--ink-faint);margin:10px 0 0;font-size:11.5px}.overlay{z-index:50;background:#11182773;place-items:center;padding:16px;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.bp{background:var(--surface);border-radius:var(--r-lg);width:min(1120px,100%);max-height:100%;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.bp-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 16px;display:flex}.bp-head b{white-space:nowrap;color:var(--ink-strong);font-size:15px;font-weight:700}.bp-title{text-overflow:ellipsis;white-space:nowrap;max-width:45%;overflow:hidden}.bp-head .spacer{flex:1}.bp button.ghost{border:1px solid var(--action-line);background:var(--surface);color:var(--action-ink);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600}.bp button.ghost:hover{background:var(--action-tint)}.bp button.ghost:disabled{opacity:.5}.bp button.primary{background:var(--action);color:#fff;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.bp-reason{background:var(--warn-tint);color:var(--warn);border-bottom:1px solid var(--line);padding:8px 16px;font-size:13px;line-height:1.6}.bp-url{border-bottom:1px solid var(--line);background:var(--surface-2);align-items:center;gap:6px;padding:8px 16px;display:flex}.bp-url input,.bp-foot input{font:inherit;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);color:var(--ink);flex:1;min-width:0;padding:6px 10px;font-size:13px}.bp-url input:focus,.bp-foot input:focus{outline:2px solid var(--action);outline-offset:-1px}.bp-stage{background:var(--ink-strong);aspect-ratio:1280/900;cursor:crosshair;outline:none;place-items:center;max-height:calc(100vh - 230px);display:grid;overflow:hidden}.bp-stage:focus{box-shadow:inset 0 0 0 2px var(--action)}.bp-stage img{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.bp-stage.busy img{opacity:.85}.bp-empty{color:var(--ink-faint);text-align:center;padding:40px;font-size:13px}.bp-foot{border-top:1px solid var(--line);background:var(--surface-2);align-items:center;gap:6px;padding:8px 16px;display:flex}.dlp{width:min(760px,100%)}.dlp-note{border-bottom:1px solid var(--line);background:var(--surface-2);padding:8px 16px;line-height:1.6}.dlp-empty{text-align:center;padding:40px 16px}.dlp-list{max-height:calc(100vh - 200px);overflow:auto}.dlp-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px;display:flex}.dlp-row:last-child{border-bottom:0}.dlp-row input[type=checkbox]{width:16px;height:16px;accent-color:var(--action);cursor:pointer;flex:none;margin:0}.dlp-row.all{background:var(--surface-2);cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 16px}.dlp-row .mark{border:1px solid var(--line);width:22px;height:22px;color:var(--ink-muted);border-radius:50%;flex:none;place-items:center;font-size:13px;display:grid}.dlp-row.done .mark{background:var(--ok);border-color:var(--ok);color:#fff}.dlp-row.done .info .n{color:var(--ok)}.dlp-row .info{flex:1;min-width:0}.dlp-row .info .n{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-strong);font-weight:600;overflow:hidden}.dlp-row .info .s{color:var(--ink-muted);overflow-wrap:anywhere;font-size:12px}.dlp-row .info .s em.bad{color:var(--bad);font-style:normal}.dlp-row .act{border:1px solid var(--action-line);background:var(--surface);color:var(--action-ink);border-radius:999px;flex:none;padding:4px 14px;font-size:12.5px;font-weight:600;text-decoration:none}.dlp-row .act:hover{background:var(--action-tint)}.dlp-row .act:disabled{opacity:.6}.dlp-row .act.done{border-color:var(--ok);background:var(--ok);color:#fff}
