:root{--bg: #070b14;--bg2: #0b1120;--card: rgba(20, 28, 46, .55);--card-border: rgba(120, 160, 230, .14);--card-hover: rgba(120, 160, 230, .28);--text: #e8eefc;--text2: #aab6d4;--text3: #6b779a;--accent: #34e0c4;--accent2: #5b8cff;--accent-soft: rgba(52, 224, 196, .12);--danger: #ff6b81;--ok: #34e0c4;--radius: 16px;--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Cascadia Code", Menlo, Consolas, monospace;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--shadow: 0 20px 60px -20px rgba(0, 0, 0, .7)}[data-theme=light]{--bg: #eef2fb;--bg2: #e3e9f7;--card: rgba(255, 255, 255, .72);--card-border: rgba(40, 70, 140, .12);--card-hover: rgba(40, 70, 140, .28);--text: #131a2e;--text2: #41506f;--text3: #8794ad;--accent: #0bb89a;--accent2: #3a6df0;--accent-soft: rgba(11, 184, 154, .12);--shadow: 0 20px 50px -24px rgba(40, 70, 140, .4)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);color:var(--text);background:radial-gradient(1200px 600px at 15% -10%,rgba(91,140,255,.18),transparent 60%),radial-gradient(900px 500px at 95% 0%,rgba(52,224,196,.14),transparent 55%),linear-gradient(160deg,var(--bg),var(--bg2));background-attachment:fixed;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.04;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E")}.shell{position:relative;z-index:1;max-width:880px;margin:0 auto;padding:28px 18px 64px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.brand{display:flex;align-items:center;gap:12px}.brand .logo{font-size:30px;filter:drop-shadow(0 0 14px var(--accent-soft))}.brand h1{font-size:21px;margin:0;letter-spacing:-.02em;font-weight:800}.brand .tag{font-size:11.5px;color:var(--text3);letter-spacing:.06em;text-transform:uppercase}.icon-btn{border:1px solid var(--card-border);background:var(--card);color:var(--text2);width:38px;height:38px;border-radius:11px;cursor:pointer;font-size:16px;transition:all .2s;backdrop-filter:blur(8px)}.icon-btn:hover{color:var(--text);border-color:var(--card-hover);transform:translateY(-1px)}.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.tab{flex:1;min-width:92px;padding:11px 8px;border-radius:12px;cursor:pointer;font-size:13.5px;font-weight:600;border:1px solid transparent;background:transparent;color:var(--text3);transition:all .2s;display:flex;align-items:center;justify-content:center;gap:6px}.tab:hover{color:var(--text2)}.tab.active{color:var(--text);background:var(--accent-soft);border-color:var(--card-hover)}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:22px;backdrop-filter:blur(16px);box-shadow:var(--shadow);animation:fadeUp .4s cubic-bezier(.2,.7,.2,1) both}.card+.card{margin-top:16px}.card h2{margin:0 0 4px;font-size:16px;letter-spacing:-.01em}.card .sub{margin:0 0 18px;font-size:12.5px;color:var(--text3);line-height:1.5}.field{margin-bottom:14px}.field label{display:block;font-size:12px;font-weight:600;color:var(--text2);margin-bottom:7px}input,textarea,select{width:100%;padding:11px 13px;border-radius:11px;font-size:14px;color:var(--text);background:#0000002e;border:1px solid var(--card-border);font-family:inherit;transition:border-color .2s,box-shadow .2s;outline:none}[data-theme=light] input,[data-theme=light] textarea,[data-theme=light] select{background:#ffffffb3}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{resize:vertical;min-height:96px;line-height:1.55}.mono{font-family:var(--mono);font-size:12.5px;word-break:break-all}.row{display:flex;gap:10px;flex-wrap:wrap}.row>*{flex:1;min-width:0}.btn{padding:11px 18px;border-radius:11px;border:none;cursor:pointer;font-size:13.5px;font-weight:700;color:#051014;background:linear-gradient(135deg,var(--accent),var(--accent2));transition:all .2s;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 22px -8px var(--accent)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.btn.ghost{background:transparent;color:var(--text2);border:1px solid var(--card-border)}.btn.ghost:hover{color:var(--text);border-color:var(--card-hover);box-shadow:none}.out{margin-top:14px;padding:14px;border-radius:12px;background:#00000038;border:1px solid var(--card-border);position:relative;animation:fadeUp .3s both}[data-theme=light] .out{background:#fff9}.out .copy{position:absolute;top:10px;right:10px}.copy-btn{border:1px solid var(--card-border);background:var(--card);color:var(--text2);cursor:pointer;font-size:11.5px;padding:5px 10px;border-radius:8px;transition:all .2s}.copy-btn:hover{color:var(--accent);border-color:var(--accent)}.dropzone{border:1.5px dashed var(--card-border);border-radius:13px;padding:30px 18px;text-align:center;cursor:pointer;transition:all .2s;color:var(--text3);font-size:13px}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--accent-soft);color:var(--text2)}.dropzone .big{font-size:30px;display:block;margin-bottom:8px}.filechip{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:11px;background:var(--accent-soft);border:1px solid var(--card-border);font-size:13px;margin-top:12px}.filechip .x{margin-left:auto;cursor:pointer;color:var(--text3)}.filechip .x:hover{color:var(--danger)}.segmented{display:flex;gap:4px;padding:4px;background:#0003;border-radius:11px;margin-bottom:16px}.segmented button{flex:1;padding:8px;border:none;background:transparent;color:var(--text3);border-radius:8px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s}.segmented button.on{background:var(--card);color:var(--text);box-shadow:0 2px 8px -4px #00000080}.note{font-size:11.5px;color:var(--text3);line-height:1.55;margin-top:10px}.badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;padding:2px 8px;border-radius:999px}.badge.ok{background:var(--accent-soft);color:var(--accent)}.badge.warn{background:#ff6b811f;color:var(--danger)}.chat-log{display:flex;flex-direction:column;gap:10px;max-height:380px;overflow-y:auto;padding:4px}.bubble{max-width:76%;padding:9px 13px;border-radius:14px;font-size:13.5px;line-height:1.5;animation:fadeUp .25s both}.bubble .meta{font-size:10.5px;color:var(--text3);margin-bottom:3px;display:flex;gap:6px;align-items:center}.bubble.them{align-self:flex-start;background:#00000040;border:1px solid var(--card-border);border-bottom-left-radius:4px}.bubble.me{align-self:flex-end;background:linear-gradient(135deg,var(--accent-soft),rgba(91,140,255,.12));border:1px solid var(--card-hover);border-bottom-right-radius:4px}.bubble.sys{align-self:center;background:transparent;color:var(--text3);font-size:11.5px;max-width:100%}.qr{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;background:var(--card);border:1px solid var(--card-border);border-radius:14px;margin-top:14px}.qr svg{background:#fff;border-radius:8px;padding:8px}.toast-wrap{position:fixed;top:18px;left:50%;transform:translate(-50%);z-index:100;display:flex;flex-direction:column;gap:8px}.toast{padding:11px 18px;border-radius:11px;font-size:13px;font-weight:600;backdrop-filter:blur(12px);box-shadow:var(--shadow);animation:toastIn .3s both}.toast.ok{background:var(--accent-soft);color:var(--accent);border:1px solid var(--card-hover)}.toast.err{background:#ff6b8124;color:var(--danger);border:1px solid rgba(255,107,129,.3)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes toastIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}@media (max-width: 560px){.shell{padding:18px 12px 48px}.tab{min-width:0;padding:10px 4px;font-size:12px}.bubble{max-width:88%}.btn,input,textarea{font-size:15px}}
