:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#ffffffde;background-color:#0f0f1e;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button{font-family:inherit;cursor:pointer;border:none;outline:none}button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.loading-screen{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:radial-gradient(900px 600px at 50% -10%,#3933972e,#0f0f1e00 60%),#0f0f1e}.loading-content{width:100%;max-width:520px;padding:24px 18px;display:flex;flex-direction:column;align-items:center;gap:18px}.loading-visual{position:relative;border-radius:20px;overflow:hidden;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 30px #00000073,0 0 0 8px #3933971a}.loading-visual:after{content:"";position:absolute;inset:-18px;border-radius:32px;background:radial-gradient(60% 60% at 50% 50%,rgba(57,51,151,.25),transparent 70%);pointer-events:none}.loading-gif{display:block;width:160px;height:160px;object-fit:contain;image-rendering:auto;-webkit-user-select:none;user-select:none}.loading-meta{display:flex;flex-direction:column;align-items:center;gap:4px}.loading-title{font-size:14px;font-weight:700;letter-spacing:-.01em;color:#ececf1eb}.loading-sub{font-size:12px;color:#ececf17a}@media(max-width:420px){.loading-gif{width:140px;height:140px}.loading-content{gap:16px}}.alert-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.alert-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:16px;border:2px solid rgba(96,165,250,.3);box-shadow:0 8px 32px #00000080;max-width:400px;width:100%;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.alert-header{padding:24px 24px 16px;border-bottom:1px solid rgba(96,165,250,.2)}.alert-title{margin:0;font-size:1.5em;font-weight:700;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}.alert-body{padding:24px}.alert-message{margin:0;color:#e5e7eb;font-size:1em;line-height:1.6;text-align:center}.alert-footer{padding:16px 24px 24px;display:flex;justify-content:center}.alert-button{background:linear-gradient(135deg,#60a5fa,#a78bfa);color:#fff;border:none;border-radius:12px;padding:12px 32px;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:100px}.alert-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #60a5fa66}.alert-button:active{transform:translateY(0)}@media(max-width:768px){.alert-container{max-width:90%}.alert-title{font-size:1.3em}.alert-message{font-size:.95em}.alert-header{padding:20px 20px 12px}.alert-body{padding:20px}.alert-footer{padding:12px 20px 20px}}.main-page{--bg: #0f0f1e;--surface: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .1);--border-soft: rgba(255, 255, 255, .08);--text: rgba(236, 236, 241, .92);--muted: rgba(236, 236, 241, .62);--muted-2: rgba(236, 236, 241, .48);--accent: #8b7cf6;--accent-ink: rgba(139, 124, 246, .18);--shadow: 0 10px 30px rgba(0, 0, 0, .35);min-height:100vh;background:var(--bg);color:var(--text);display:flex;justify-content:center;padding:20px}.main-shell{width:100%;max-width:520px;min-height:calc(100vh - 40px);display:flex;flex-direction:column;gap:16px;padding:16px 14px}.topbar{display:flex;align-items:center;justify-content:space-between;padding-top:6px}.topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.app-mark{width:28px;height:28px;border-radius:8px;border:1px solid var(--border-soft);background:#ffffff08}.app-name{font-size:13px;font-weight:650;letter-spacing:-.01em;color:var(--text)}.topbar-right{display:flex;align-items:center;gap:10px}.topbar-pill{font-size:11px;padding:6px 10px;border-radius:999px;border:1px solid var(--border-soft);background:#ffffff08;color:var(--muted);-webkit-user-select:none;user-select:none}.main-layout{display:flex;flex-direction:column;gap:14px;flex:1}.center{padding-top:10px}.sub-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:18px;padding:14px;box-shadow:var(--shadow)}.sub-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.sub-title{font-size:13px;font-weight:700;letter-spacing:-.01em}.sub-status{display:inline-flex;align-items:center;gap:8px;font-size:11px;padding:6px 10px;border-radius:999px;border:1px solid rgba(139,124,246,.35);background:var(--accent-ink);color:var(--text)}.sub-body{display:flex;flex-direction:column;gap:8px}.sub-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.sub-label{font-size:12px;color:var(--muted-2)}.sub-value{font-size:12px;color:var(--muted);text-align:right}.actions{display:flex;flex-direction:column;gap:10px}.btn{width:100%;text-align:left;border-radius:16px;padding:12px 14px;cursor:pointer;border:1px solid var(--border-soft);background:#ffffff08;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px;transition:transform .08s ease,border-color .15s ease,background .15s ease}.btn:hover{border-color:var(--border);background:#ffffff0d}.btn:active{transform:translateY(1px)}.btn-left{display:flex;flex-direction:column;gap:4px;min-width:0}.btn-title{font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.25}.btn-sub{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.btn-right{font-size:16px;opacity:.7;padding-left:10px}.btn-primary{background:linear-gradient(180deg,#8b7cf629,#ffffff08);border-color:#8b7cf64d}.btn-primary:hover{border-color:#8b7cf673}.section-head{display:flex;align-items:center;gap:10px;margin:6px 0}.section-title{font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}.section-divider{height:1px;flex:1;background:#ffffff14}.main-footer{padding-top:4px}.main-footnote{font-size:12px;color:var(--muted-2)}.actions-section{margin-top:6px}.actions{display:flex;flex-direction:column;gap:14px}.actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.actions-grid .btn,.actions-grid .btn-left{min-width:0}.actions-grid .btn-right{flex:0 0 auto;padding-left:8px}@media(max-width:380px){.actions-grid .btn-sub{display:none}.actions-grid .btn{padding:12px;border-radius:16px}}@media(max-width:420px){.actions-grid{grid-template-columns:1fr}}@media(max-width:420px){.main-page{padding:14px}.main-shell{padding:14px 12px}}.app-header{background:#0f0f1e;padding:10px 12px;position:relative;border-bottom:1px solid rgba(255,255,255,.08)}.app-header.compact{padding:8px 12px}.header-content{display:flex;align-items:center;justify-content:center;gap:10px}.logo-icon{width:28px;height:28px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0a;object-fit:cover}.header-title{font-size:13px;font-weight:650;letter-spacing:-.01em;color:#ececf1eb;margin:0}.header-subtitle{display:none}.back-button,.settings-button-header{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);color:#ececf1d9;cursor:pointer;padding:0;z-index:10;transition:background .15s ease,border-color .15s ease,transform .08s ease}.back-button{left:12px}.settings-button-header{right:12px}.back-button:hover,.settings-button-header:hover{background:#ffffff12;border-color:#ffffff29}.back-button:active,.settings-button-header:active{transform:translateY(-50%) scale(.96)}.back-button svg{width:20px;height:20px}.settings-button-header svg{width:18px;height:18px}@media(max-width:420px){.app-header{padding:8px 10px}.logo-icon{width:26px;height:26px}.header-title{font-size:12.5px}.back-button,.settings-button-header{width:34px;height:34px}}.message{margin-bottom:14px;animation:msgFadeIn .18s ease-out}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.message{--surface: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .06);--border-soft: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .1);--text: rgba(236, 236, 241, .92);--muted: rgba(236, 236, 241, .62);--muted-2: rgba(236, 236, 241, .48);--accent: #8b7cf6;--accent-ink: rgba(139, 124, 246, .18);--glow: rgba(57, 51, 151, .67)}.user-message{display:flex;flex-direction:column;align-items:flex-end}.user-message .message-content{border:1px solid rgba(139,124,246,.28);color:var(--text);padding:10px 12px;border-radius:16px 16px 6px;max-width:78%;word-wrap:break-word}.user-message .message-content p{margin:0;line-height:1.45}.assistant-message{display:flex;gap:10px;align-items:flex-start}.message-avatar{width:32px;height:32px;border-radius:10px;overflow:hidden;flex-shrink:0;border:1px solid var(--border-soft);background:#ffffff08;box-shadow:0 10px 24px #00000038}.message-avatar img{width:100%;height:100%;object-fit:cover}.message-wrapper{flex:1;display:flex;flex-direction:column;gap:6px}.assistant-message .message-content{background:var(--surface);border:1px solid var(--border-soft);color:var(--text);padding:10px 12px;border-radius:6px 16px 16px;max-width:92%;word-wrap:break-word;box-shadow:0 10px 24px #00000038}.assistant-message .message-content :where(p){margin:0;line-height:1.55}.assistant-message .message-content :where(p+p){margin-top:10px}.assistant-message .message-content :where(ul,ol){margin:8px 0 0 18px;padding:0}.assistant-message .message-content :where(li){margin:6px 0}.assistant-message .message-content :where(code){background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:2px 6px;font-size:.95em}.assistant-message .message-content :where(pre){background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px 12px;overflow:auto;margin:10px 0 0}.assistant-message .message-content :where(pre code){background:transparent;border:none;padding:0}.message-timestamp{font-size:11px;color:var(--muted-2);padding:0 6px;-webkit-user-select:none;user-select:none}.user-message .message-timestamp{text-align:right}.assistant-message .message-timestamp{text-align:left;padding-left:2px}@media(max-width:768px){.user-message .message-content{max-width:88%}.assistant-message .message-content{max-width:94%}.message{margin-bottom:12px}}.markdown-content{line-height:1.6;color:#e5e7eb}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:1.5em;margin-bottom:.5em;font-weight:600;color:#f3f4f6}.markdown-content h1{font-size:2em;border-bottom:2px solid #374151;padding-bottom:.3em}.markdown-content h2{font-size:1.5em;border-bottom:1px solid #374151;padding-bottom:.3em}.markdown-content h3{font-size:1.25em}.markdown-content p{margin-bottom:1em}.markdown-content ul,.markdown-content ol{margin-bottom:1em;padding-left:2em}.markdown-content li{margin-bottom:.5em}.markdown-content a{color:#60a5fa;text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.markdown-content a:hover{border-bottom-color:#60a5fa}.markdown-content blockquote{margin:1em 0;padding-left:1em;border-left:4px solid #374151;color:#9ca3af;font-style:italic}.markdown-content .inline-code{background-color:#1f2937;color:#f472b6;padding:.2em .4em;border-radius:3px;font-family:Courier New,Courier,monospace;font-size:.9em}.markdown-content .code-block{background-color:#1f2937;color:#e5e7eb;padding:1em;border-radius:6px;overflow-x:auto;margin:1em 0;border:1px solid #374151}.markdown-content .code-block code{font-family:Courier New,Courier,monospace;font-size:.9em;line-height:1.5}.markdown-content .table-wrapper{overflow-x:auto;margin:1em 0}.markdown-content table{width:100%;border-collapse:collapse;background-color:#1f2937;border-radius:6px;overflow:hidden}.markdown-content th,.markdown-content td{padding:12px;text-align:left;border-bottom:1px solid #374151}.markdown-content th{background-color:#111827;font-weight:600;color:#f3f4f6;text-transform:uppercase;font-size:.85em;letter-spacing:.05em}.markdown-content td{color:#d1d5db}.markdown-content tr:hover{background-color:#2d3748}.markdown-content tr:last-child td{border-bottom:none}.markdown-content td:has(>*:only-child:is(:where(span,strong):not(:has(*)))):where(:not(:has(a))){text-align:right;font-family:Courier New,Courier,monospace}.markdown-content td:has(>span[style*=color]){font-weight:500}.markdown-content strong{font-weight:600;color:#f3f4f6}.markdown-content em{font-style:italic}.markdown-content hr{border:none;border-top:1px solid #374151;margin:2em 0}.markdown-content del{text-decoration:line-through;opacity:.7}.loading-container{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:6px 0}.spinner{width:46px;height:14px;display:inline-flex;align-items:center;justify-content:space-between;gap:6px;border:none;border-radius:0;animation:none;position:relative}.spinner:before,.spinner:after{content:""}.spinner{--dot: rgba(236, 236, 241, .55);--dot-active: rgba(236, 236, 241, .92);--glow: rgba(57, 51, 151, .67)}.spinner:before,.spinner:after,.spinner span{display:none}.spinner{background:radial-gradient(circle at 7px 7px,var(--dot) 0 3px,transparent 3.5px),radial-gradient(circle at 23px 7px,var(--dot) 0 3px,transparent 3.5px),radial-gradient(circle at 39px 7px,var(--dot) 0 3px,transparent 3.5px);filter:drop-shadow(0 0 10px rgba(57,51,151,.1))}.spinner{animation:dotsPulse 1.1s ease-in-out infinite}@keyframes dotsPulse{0%{background:radial-gradient(circle at 7px 7px,var(--dot-active) 0 3px,transparent 3.5px),radial-gradient(circle at 23px 7px,var(--dot) 0 3px,transparent 3.5px),radial-gradient(circle at 39px 7px,var(--dot) 0 3px,transparent 3.5px)}33%{background:radial-gradient(circle at 7px 7px,var(--dot) 0 3px,transparent 3.5px),radial-gradient(circle at 23px 7px,var(--dot-active) 0 3px,transparent 3.5px),radial-gradient(circle at 39px 7px,var(--dot) 0 3px,transparent 3.5px)}66%{background:radial-gradient(circle at 7px 7px,var(--dot) 0 3px,transparent 3.5px),radial-gradient(circle at 23px 7px,var(--dot) 0 3px,transparent 3.5px),radial-gradient(circle at 39px 7px,var(--dot-active) 0 3px,transparent 3.5px)}to{background:radial-gradient(circle at 7px 7px,var(--dot-active) 0 3px,transparent 3.5px),radial-gradient(circle at 23px 7px,var(--dot) 0 3px,transparent 3.5px),radial-gradient(circle at 39px 7px,var(--dot) 0 3px,transparent 3.5px)}}.loading-text{color:#ececf19e;font-size:12px;line-height:1.3;margin:0;animation:textFade .25s ease-out}@keyframes textFade{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.rq-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 2px}.rq-chip{appearance:none;border:1px solid rgba(255,255,255,.08);background:#ffffff08;color:#ececf1eb;border-radius:999px;padding:8px 10px;font-size:12px;letter-spacing:-.01em;line-height:1.2;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:inset 0 1px #ffffff0f;transition:transform .08s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.rq-chip:hover{border-color:#ffffff1a;background:#ffffff0d}.rq-chip:active{transform:translateY(1px)}.rq-chip:focus-visible{outline:none;border-color:#8b7cf673;box-shadow:0 0 0 6px #3933971f,inset 0 1px #ffffff0f}.qa{--border-soft: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .1);--surface: rgba(255, 255, 255, .04);--text: rgba(236, 236, 241, .92);--muted-2: rgba(236, 236, 241, .48);--accent: #8b7cf6;--accent-ink: rgba(139, 124, 246, .18);--glow: rgba(57, 51, 151, .67);padding:0;margin:0}.qa-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.qa-title{font-size:11px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);-webkit-user-select:none;user-select:none}.qa-seg{display:inline-flex;align-items:center;border:1px solid var(--border-soft);border-radius:999px;background:#ffffff08;overflow:hidden}.qa-seg-btn{appearance:none;border:none;background:transparent;color:#ececf19e;padding:6px 10px;font-size:12px;cursor:pointer;transition:background .15s ease,color .15s ease}.qa-seg-btn:hover:not(.disabled){color:#ececf1db}.qa-seg-btn.active{color:var(--text);background:var(--accent-ink)}.qa-seg-btn.disabled{opacity:.45;cursor:not-allowed}.qa-loading{font-size:12px;color:#ececf19e;padding:2px 0 8px}.qa-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 2px}.qa-chip{appearance:none;border:1px solid var(--border-soft);background:#ffffff08;color:var(--text);border-radius:999px;padding:8px 10px;font-size:12px;letter-spacing:-.01em;line-height:1.2;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:inset 0 1px #ffffff0f;transition:transform .08s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease}.qa-chip:hover{border-color:var(--border);background:#ffffff0d}.qa-chip:active{transform:translateY(1px)}.qa-chip:focus-visible{outline:none;border-color:#8b7cf673;box-shadow:0 0 0 6px #3933971f,inset 0 1px #ffffff0f}@media(max-width:380px){.qa-chip{padding:8px 9px;font-size:12px}}.message-input-container{position:static;bottom:auto;background:transparent;border-top:none;padding:0}.message-input-form{display:flex;gap:10px;align-items:flex-end;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:10px 10px 10px 12px;box-shadow:0 10px 30px #00000059;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.message-input-form:focus-within{border-color:#8b7cf659;background:#ffffff0d;box-shadow:0 0 0 6px #3933971f,0 10px 30px #00000059}.message-textarea{flex:1;background:transparent;color:#ececf1eb;border:none;outline:none;padding:8px 6px;font-size:14px;line-height:1.35;font-family:inherit;resize:none;min-height:48px;max-height:160px;overflow-y:auto;scrollbar-width:none}.message-textarea::-webkit-scrollbar{display:none}.message-textarea::placeholder{color:#ececf17a}.message-textarea:disabled{opacity:.55;cursor:not-allowed}.send-button{width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.1);background:#ffffff08;color:#ececf1eb;font-size:14px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform .08s ease,border-color .15s ease,background .15s ease,box-shadow .15s ease,opacity .15s ease}.send-button:hover:not(:disabled){border-color:#ffffff24;background:#ffffff0d}.send-button:active:not(:disabled){transform:translateY(1px)}.send-button:not(:disabled):not(.stop){border-color:#8b7cf64d;box-shadow:0 0 0 6px #3933971a}.send-button.stop{border-color:#ffffff1f;background:#ffffff08;box-shadow:none}.send-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}@media(max-width:768px){.message-textarea{font-size:16px}}.chat-page{--bg: #0f0f1e;--surface: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .1);--border-soft: rgba(255, 255, 255, .08);--text: rgba(236, 236, 241, .92);--muted: rgba(236, 236, 241, .62);--muted-2: rgba(236, 236, 241, .48);--accent: #8b7cf6;--accent-ink: rgba(139, 124, 246, .18);--glow: rgba(57, 51, 151, .67);--shadow: 0 10px 30px rgba(0, 0, 0, .35);height:100vh;background:var(--bg);color:var(--text);display:flex;justify-content:center;overflow:hidden}.chat-shell{width:100%;max-width:520px;height:100vh;display:flex;flex-direction:column;padding:16px 14px;gap:12px}.chat-scroll{flex:1;min-height:0;overflow-y:auto;padding:2px 2px 0;scroll-behavior:smooth}.chat-inner{padding:8px 2px 160px}.chat-row{margin:10px 0}.chat-greeting{margin:4px 0 14px}.chat-scroll::-webkit-scrollbar{width:10px}.chat-scroll::-webkit-scrollbar-track{background:#ffffff08;border-radius:12px}.chat-scroll::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:12px;border:2px solid rgba(0,0,0,0);background-clip:padding-box}.chat-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff24}.chat-dock{position:sticky;bottom:0;border-top:1px solid rgba(255,255,255,.06);background:linear-gradient(180deg,#0f0f1e00,#0f0f1eb3 26%,#0f0f1eeb 60%,#0f0f1ef5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.chat-dock-inner{padding:10px 2px 8px}.chat-composer{margin-top:10px}.chat-footnote{margin-top:8px;font-size:11px;color:var(--muted-2);text-align:center}.chat-center{flex:1;display:flex;align-items:center;justify-content:center}.chat-notice{width:100%;background:var(--surface);border:1px solid var(--border-soft);border-radius:18px;padding:14px;box-shadow:var(--shadow);color:var(--text);text-align:center}@media(max-width:420px){.chat-shell{padding:14px 12px}.chat-inner{padding-bottom:180px}}.settings-container{--bg: #0f0f1e;--surface: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .1);--border-soft: rgba(255, 255, 255, .08);--text: rgba(236, 236, 241, .92);--muted: rgba(236, 236, 241, .62);--muted-2: rgba(236, 236, 241, .48);--accent: #8b7cf6;--accent-ink: rgba(139, 124, 246, .16);--shadow: 0 10px 28px rgba(0, 0, 0, .3);--ok: rgba(16, 185, 129, 1);--ok-ink: rgba(16, 185, 129, .12);--ok-border: rgba(16, 185, 129, .26);--danger: rgba(239, 68, 68, 1);--danger-ink: rgba(239, 68, 68, .12);--danger-border: rgba(239, 68, 68, .26);min-height:100vh;height:100%;background:var(--bg);color:var(--text);display:flex;flex-direction:column;overflow-y:auto}.settings-content{flex:1;width:100%;max-width:520px;margin:0 auto;padding:18px 14px 70px;box-sizing:border-box}.settings-header{margin:6px 0 14px;text-align:left}.settings-page-title{margin:0 0 6px;font-size:16px;font-weight:800;letter-spacing:-.02em;color:var(--text)}.settings-page-description{margin:0;font-size:12.5px;line-height:1.45;color:var(--muted)}.algorithms-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:12px 0 18px}.algorithm-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:18px;box-shadow:var(--shadow);padding:14px;box-sizing:border-box}.algorithm-card.disabled{opacity:.72;border-color:#ffffff12}.algorithm-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:10px}.algorithm-title-section{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.algorithm-icon{font-size:0!important;line-height:0!important;display:inline-block;width:10px;height:10px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);box-shadow:none;flex:0 0 auto}.algorithm-card.enabled .algorithm-icon{background:var(--ok);border-color:#10b9818c;box-shadow:0 0 0 3px #10b9811f}.algorithm-title{margin:0;font-size:14px;font-weight:800;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collapse-button{background:transparent;border:1px solid transparent;color:var(--muted);height:30px;width:30px;border-radius:12px;font-size:14px;line-height:1;cursor:pointer;flex:0 0 auto;transition:transform .08s ease,background .15s ease,border-color .15s ease,color .15s ease}.collapse-button:hover{background:#ffffff0a;border-color:#ffffff1a;color:var(--text)}.collapse-button:active{transform:translateY(1px)}.algorithm-settings{padding-top:12px;border-top:1px solid rgba(255,255,255,.08);animation:slideDown .22s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.setting-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.setting-group{margin-bottom:14px}.setting-group:last-child{margin-bottom:0}.setting-label{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--text);font-size:12.5px;font-weight:650;margin-bottom:8px}.setting-value{display:inline-flex;align-items:center;height:22px;padding:0 10px;border-radius:999px;background:#8b7cf624;border:1px solid rgba(139,124,246,.22);color:var(--text);font-weight:750;font-size:12px;white-space:nowrap}.toggle-switch{position:relative;display:inline-block;width:44px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;cursor:pointer;border-radius:999px;background:#ffffff1a;border:1px solid rgba(255,255,255,.14);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.toggle-slider:before{position:absolute;content:"";height:20px;width:20px;left:2px;top:2px;border-radius:50%;background:#ececf1f0;box-shadow:0 6px 14px #00000047;transition:transform .18s ease}.whale-disabled-overlay{position:relative}.whale-disabled-overlay:after{content:"";position:absolute;inset:0;background:#0f0f1eb3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:18px;z-index:2}.whale-disabled-message{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#ffffffe6;padding:12px 20px;border-radius:12px;font-size:14px;font-weight:600;text-align:center;z-index:3;max-width:80%;border:1px solid rgba(255,255,255,.1)}.toggle-switch input:checked+.toggle-slider{background:#8b7cf647;border-color:#8b7cf661;box-shadow:0 0 0 2px #8b7cf61f}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.toggle-switch input:disabled+.toggle-slider{opacity:.55;cursor:not-allowed}.button-group{display:flex;gap:8px;margin-top:8px}.button-group-wrap{flex-wrap:wrap}.option-button{flex:0 0 auto;height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--muted);font-size:12px;font-weight:750;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease,color .15s ease}.option-button:hover{background:#ffffff0f;border-color:#ffffff2e;color:var(--text)}.option-button:active{transform:translateY(1px)}.option-button.active{background:#8b7cf629;border-color:#8b7cf657;color:var(--text)}.option-button.existing{border-color:#ececf138;box-shadow:inset 0 0 0 1px #ececf11a}.option-button:disabled{opacity:.55;cursor:not-allowed}.number-input{width:100%;height:40px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--text);font-size:13px;font-weight:650;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.number-input:focus{outline:none;border-color:#8b7cf67a;box-shadow:0 0 0 2px #8b7cf62e;background:#ffffff0d}.slider-wrapper{position:relative}.slider{width:100%;height:6px;border-radius:999px;background:#ffffff24;outline:none;-webkit-appearance:none;appearance:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#ececf1f5;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 18px #00000057;cursor:pointer}.slider::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#ececf1f5;border:1px solid rgba(255,255,255,.18);box-shadow:0 8px 18px #00000057;cursor:pointer}.slider:disabled{opacity:.55}.slider-labels{position:relative;height:18px;margin-top:6px;font-size:11px;color:var(--muted-2)}.slider-labels span{position:absolute;top:0;transform:translate(-50%)}.slider-value-pin{position:absolute;top:-18px;transform:translate(-50%);background:transparent;color:#8b7cf6d9;padding:1px 6px;border-radius:10px;font-size:11px;white-space:nowrap}.algorithm-save-button{width:100%;height:42px;margin-top:12px;border-radius:14px;border:1px solid rgba(139,124,246,.34);background:#8b7cf629;color:var(--text);font-size:13px;font-weight:800;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease}.algorithm-save-button:hover:not(:disabled){background:#8b7cf633;border-color:#8b7cf670}.algorithm-save-button:active:not(:disabled){transform:translateY(1px)}.algorithm-save-button:disabled{opacity:.55;cursor:not-allowed}.save-message{text-align:center;padding:10px 12px;border-radius:14px;margin-top:10px;font-weight:650;font-size:12.5px;animation:fadeIn .25s ease-out}.save-message.success{background:var(--ok-ink);border:1px solid var(--ok-border);color:#ececf1eb}.save-message.error{background:var(--danger-ink);border:1px solid var(--danger-border);color:#ececf1eb}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.settings-footer{text-align:center;padding:18px 12px 8px;margin-top:12px;border-top:1px solid rgba(255,255,255,.08)}.settings-footer-links{margin-bottom:12px}.footer-link-button{height:34px;padding:0 12px;border-radius:999px;background:#ffffff08;border:1px solid rgba(255,255,255,.12);color:var(--muted);cursor:pointer;font-size:12px;font-weight:750;transition:transform .08s ease,background .15s ease,border-color .15s ease,color .15s ease}.footer-link-button:hover{background:#ffffff0d;border-color:#ffffff2e;color:var(--text)}.footer-link-button:active{transform:translateY(1px)}.settings-footer p{color:var(--muted-2);font-size:11.5px;margin:0}@media(max-width:420px){.settings-content{padding:16px 12px 70px}.settings-page-title{font-size:15.5px}}.asset-selection-container{--bg: #0f0f1e;--surface: rgba(255, 255, 255, .04);--surface-2: rgba(255, 255, 255, .06);--border: rgba(255, 255, 255, .1);--border-soft: rgba(255, 255, 255, .08);--text: rgba(236, 236, 241, .92);--muted: rgba(236, 236, 241, .62);--muted-2: rgba(236, 236, 241, .48);--accent: #8b7cf6;--accent-ink: rgba(139, 124, 246, .16);--shadow: 0 10px 28px rgba(0, 0, 0, .28);display:flex;flex-direction:column;height:calc(100vh - 56px);min-height:0;overflow:hidden;background:var(--bg);color:var(--text);padding:16px 14px;box-sizing:border-box}.asset-selection-header{padding:4px 2px 10px;margin-bottom:10px;background:transparent;border:none}.asset-selection-header h2{margin:0 0 6px;font-size:16px;line-height:1.2;font-weight:750;letter-spacing:-.02em;color:var(--text)}.asset-selection-description{margin:0;font-size:12.5px;line-height:1.45;color:var(--muted)}.asset-selection-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px;margin:4px 0 12px;border-radius:16px;background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--shadow);box-sizing:border-box;overflow:hidden}.asset-selection-tabs:before{content:"";position:absolute;top:8px;left:8px;height:40px;width:calc((100% - 24px)/2);border-radius:12px;background:#ffffff0e;border:1px solid rgba(255,255,255,.1);transform:translate(0);transition:transform .18s ease;pointer-events:none;box-sizing:border-box}.asset-selection-tabs[data-active=selected]:before{transform:translate(calc(100% + 8px))}.tab-button{position:relative;z-index:1;width:100%;height:40px;border-radius:12px;border:1px solid transparent;background:transparent;font-size:13px;font-weight:650;color:var(--muted);cursor:pointer;transition:transform .08s ease,color .15s ease}.tab-button:active{transform:translateY(1px)}.tab-button.active{color:var(--text)}.asset-selection-content{flex:1;display:flex;flex-direction:column;min-height:0}.asset-browser{background:var(--surface);border:1px solid var(--border-soft);border-radius:18px;box-shadow:var(--shadow);display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.asset-browser-header{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;gap:10px}.asset-browser-header h3{margin:0;font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}.ghost-action{height:32px;padding:0 10px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;color:var(--text);font-size:12px;font-weight:750;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease}.ghost-action:hover{background:#ffffff0f;border-color:#ffffff2e}.ghost-action:active{transform:translateY(1px)}.error-message{margin:0 0 12px;font-size:13px;color:var(--text);opacity:.92}.retry-button{height:40px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0d;color:var(--text);font-size:13px;font-weight:650;cursor:pointer}.retry-button:active{transform:translateY(1px)}.asset-grid{flex:1;overflow-y:auto;min-height:0;display:grid;grid-template-columns:1fr;gap:10px;padding:12px;align-content:start;grid-auto-rows:max-content}.asset-grid::-webkit-scrollbar{width:6px}.asset-grid::-webkit-scrollbar-track{background:transparent}.asset-grid::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:6px}.asset-card{border-radius:16px;padding:12px;background:#ffffff09;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 20px #00000038;transition:border-color .15s ease,background .15s ease,transform .08s ease,box-shadow .15s ease}.asset-card:hover{background:#ffffff0b;border-color:#ffffff24;box-shadow:0 12px 26px #0000004d}.asset-card:active{transform:translateY(1px)}.asset-card.active{border-color:#8b7cf63d;background:#8b7cf61a;box-shadow:0 12px 28px #00000042}.asset-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.asset-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}.asset-avatar{width:30px;height:30px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;display:flex;align-items:center;justify-content:center;color:#ececf1e6;font-weight:800;flex:0 0 auto}.asset-title{min-width:0;display:flex;flex-direction:column;gap:6px}.asset-title-row{display:flex;align-items:center;min-width:0}.asset-name{min-width:0;font-size:14px;font-weight:750;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-badge-row{display:flex}.asset-badge{font-size:11px;padding:4px 8px;border-radius:999px;border:1px solid rgba(139,124,246,.3);background:#8b7cf624;color:#ececf1e6}.asset-toggle{position:relative;flex:0 0 auto}.asset-toggle input{position:absolute;opacity:0;pointer-events:none}.asset-toggle span{width:44px;height:26px;border-radius:999px;display:block;cursor:pointer;background:#ffffff17;border:1px solid rgba(255,255,255,.14);position:relative;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.asset-toggle span:after{content:"";width:20px;height:20px;border-radius:50%;position:absolute;top:2px;left:2px;background:#ececf1f0;box-shadow:0 6px 14px #00000047;transition:transform .18s ease}.asset-toggle input:checked+span{background:#8b7cf647;border-color:#8b7cf65c;box-shadow:0 0 0 2px #8b7cf61f}.asset-toggle input:checked+span:after{transform:translate(18px)}.asset-footer{display:flex;justify-content:flex-end;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,.07)}.asset-edit{height:32px;padding:0 12px;border-radius:12px;border:1px solid rgba(139,124,246,.34);background:#8b7cf629;color:var(--text);font-size:12px;font-weight:750;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease}.asset-edit:hover{background:#8b7cf633;border-color:#8b7cf66b}.asset-edit:active{transform:translateY(1px)}.empty-state{padding:18px 14px 20px;text-align:center;color:var(--muted);font-size:13px}.modal-overlay{position:fixed;inset:0;background:#0000009e;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-content{width:100%;max-width:420px;max-height:90vh;overflow-y:auto;background:#0f0f1e;border-radius:20px;border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 70px #000000b3}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:14px 14px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.modal-header h3{margin:0;font-size:14px;font-weight:750;color:var(--text)}.close-button{height:34px;width:34px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0d;color:var(--text);font-size:18px;line-height:1;cursor:pointer}.close-button:active{transform:translateY(1px)}.modal-body{padding:14px;color:var(--text)}.config-section{margin-bottom:14px}.config-label{display:block;margin-bottom:8px;color:var(--text);font-weight:650;font-size:13px}.config-description{margin:8px 0 0;font-size:12px;color:var(--muted)}.time-slider{padding:10px 12px;border-radius:14px;background:#ffffff0a;border:1px solid rgba(255,255,255,.12);position:relative}.time-slider-row{display:flex;align-items:center;gap:10px;position:relative}.time-range{flex:1;width:100%;height:6px;border-radius:999px;appearance:none;background:#ffffff1f;outline:none;cursor:pointer}.time-range::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border-radius:999px;background:#ececf1f0;border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 18px #00000059;cursor:pointer}.time-range::-moz-range-thumb{width:18px;height:18px;border-radius:999px;background:#ececf1f0;border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 18px #00000059;cursor:pointer}.time-range::-moz-range-track{height:6px;border-radius:999px;background:#ffffff1f}.time-value-badge{height:32px;min-width:56px;padding:0 10px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(139,124,246,.3);background:#8b7cf624;color:#ececf1eb;font-size:12px;font-weight:750}.time-slider-meta{margin-top:8px;position:relative;display:flex;justify-content:space-between;align-items:center;color:var(--muted-2);font-size:11.5px;font-weight:650;height:20px}.time-slider-meta span{position:relative;cursor:pointer;padding:2px 6px;border-radius:6px;transition:all .2s;z-index:1;-webkit-user-select:none;user-select:none}.time-slider-meta span:hover{background:#ffffff14}.time-slider-meta span.active{color:#8b7cf6eb;font-weight:750;background:#8b7cf61a;border:1px solid rgba(139,124,246,.22)}.time-slider-track{position:relative;margin-top:8px;height:2px}.time-slider-track:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:#ffffff1f;border-radius:1px}.time-slider-dots{position:absolute;top:-4px;left:0;right:0;height:10px;pointer-events:none}.time-slider-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:#ffffff4d;transform:translate(-50%)}.text-input{width:100%;height:40px;padding:0 12px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.14);color:var(--text);font-size:13px;font-weight:650;letter-spacing:.02em;box-sizing:border-box}.text-input:focus{outline:none;border-color:#8b7cf67a;box-shadow:0 0 0 2px #8b7cf62e}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:12px 14px;border-top:1px solid rgba(255,255,255,.08)}.cancel-button,.save-button{height:40px;padding:0 14px;border-radius:12px;font-size:13px;font-weight:750;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease}.cancel-button{background:#ffffff0d;border:1px solid rgba(255,255,255,.12);color:var(--text)}.save-button{border:1px solid rgba(139,124,246,.36);background:#8b7cf629;color:var(--text)}.cancel-button:hover{background:#ffffff0f}.save-button:hover{background:#8b7cf633;border-color:#8b7cf670}.cancel-button:active,.save-button:active{transform:translateY(1px)}.cancel-button:disabled,.save-button:disabled{opacity:.6;cursor:not-allowed}.asset-info{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:10px 12px;border-radius:14px;margin-bottom:14px;font-weight:750;color:var(--text)}.coin-name{font-size:14px;letter-spacing:-.01em}.time-options{display:flex;gap:8px;flex-wrap:wrap}.time-option{height:36px;padding:0 12px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:#ffffff0a;color:var(--muted);font-size:12px;font-weight:750;cursor:pointer;transition:transform .08s ease,background .15s ease,border-color .15s ease,color .15s ease}.time-option.selected{background:#8b7cf629;border-color:#8b7cf64d;color:var(--text)}.time-option:active{transform:translateY(1px)}.present-input-container{display:flex;gap:8px;align-items:center}.present-input{flex:1;height:40px;padding:0 12px;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.14);color:var(--text);font-size:13px;font-weight:650}.present-input:focus{outline:none;border-color:#8b7cf67a;box-shadow:0 0 0 2px #8b7cf62e}.input-suffix{color:var(--muted);font-size:13px;font-weight:650}.asset-card.skeleton{background:#ffffff08;border-color:#ffffff14;box-shadow:none}.skeleton-box,.skeleton-line,.skeleton-toggle{background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:10px;position:relative;overflow:hidden}.skeleton-box:after,.skeleton-line:after,.skeleton-toggle:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.11),transparent);animation:shimmer 1.1s linear infinite}@keyframes shimmer{to{transform:translate(100%)}}.skeleton-box{width:30px;height:30px;border-radius:10px}.skeleton-line{height:12px;border-radius:8px}.skeleton-line.w-60{width:180px}.skeleton-line.w-40{width:120px;margin-top:8px}.skeleton-toggle{width:44px;height:26px;border-radius:999px}@media(max-width:420px){.asset-selection-container{padding:14px 12px}.asset-selection-header h2{font-size:15.5px}}*{margin:0;padding:0;box-sizing:border-box}#root{width:100%;height:100vh;overflow:hidden}
