:root{line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}*{box-sizing:border-box}:root{--ct-bg: #07080c;--ct-bg-elevated: #0e1017;--ct-surface: #13161f;--ct-surface-hover: #181c27;--ct-border: rgba(255, 255, 255, .08);--ct-border-strong: rgba(255, 255, 255, .14);--ct-text: #eef0f5;--ct-muted: #8b93a7;--ct-accent: #6ee7ff;--ct-accent-dim: rgba(110, 231, 255, .14);--ct-success: #4ade80;--ct-danger: #f87171;--ct-radius: 14px;--ct-radius-sm: 10px;--ct-shadow: 0 18px 48px rgba(0, 0, 0, .45);--ct-font: "Inter", system-ui, -apple-system, sans-serif}body{margin:0;font-family:var(--ct-font);background:var(--ct-bg);color:var(--ct-text);letter-spacing:-.01em}.shell{width:100%;max-width:720px;margin:0 auto;padding:clamp(1.25rem,4vw,2rem) clamp(.75rem,3.5vw,1.25rem) clamp(2.5rem,6vw,4rem);box-sizing:border-box}.shell.dash{max-width:960px}.shell.dash.shell-wide{max-width:1180px}.app-dash.shell{padding-top:clamp(1rem,3vw,1.35rem);padding-bottom:clamp(2.5rem,5vw,3.5rem)}.app-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 1.25rem;margin-bottom:1.75rem;padding:clamp(.75rem,2vw,.9rem) clamp(.85rem,2.5vw,1.1rem);background:var(--ct-surface);border:1px solid var(--ct-border);border-radius:var(--ct-radius);box-shadow:var(--ct-shadow)}@media (min-width: 768px){.app-header{display:grid;grid-template-columns:minmax(0,max-content) minmax(0,1fr) auto;align-items:center;column-gap:1rem}.app-header-brand{grid-column:1}.app-nav{grid-column:2;justify-self:stretch}.btn-signout{grid-column:3;justify-self:end;width:auto;max-width:100%}}.app-header-brand{display:flex;align-items:center;gap:.85rem;min-width:0}.app-logo-mark{display:block;width:2.35rem;height:2.35rem;border-radius:11px;background:linear-gradient(145deg,var(--ct-accent) 0%,#38bdf8 55%,#6366f1 100%);box-shadow:0 0 0 1px #ffffff1f inset;flex-shrink:0}.app-header-titles{display:flex;flex-direction:column;gap:.1rem;min-width:0}.app-kicker{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--ct-muted)}.app-title{margin:0;font-size:1.2rem;font-weight:700;letter-spacing:-.03em;line-height:1.15}.app-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;flex:1 1 auto;justify-content:center;min-width:0}.app-nav button{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:.5rem .75rem;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--ct-muted);font-size:clamp(.78rem,2vw,.82rem);font-weight:600;font-family:inherit;cursor:pointer;line-height:1.25;min-height:2.5rem;white-space:normal;word-break:break-word;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;max-width:100%;transition:color .15s ease,background .15s ease,border-color .15s ease}.app-nav button:hover{color:var(--ct-text);background:var(--ct-bg-elevated)}.app-nav button.active{color:var(--ct-bg);background:var(--ct-accent);border-color:#fff3;box-shadow:0 1px #ffffff26 inset}.btn-signout{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:.45rem .95rem;border-radius:999px;border:1px solid var(--ct-border-strong);background:var(--ct-bg-elevated);color:var(--ct-muted);font-size:.8rem;font-weight:600;font-family:inherit;cursor:pointer;line-height:1.25;min-height:2.4rem;white-space:normal;word-break:break-word;overflow-wrap:anywhere;transition:color .15s ease,border-color .15s ease,background .15s ease}.btn-signout:hover{color:var(--ct-text);border-color:var(--ct-muted);background:var(--ct-surface-hover)}.page-hero-card{background:linear-gradient(135deg,rgba(110,231,255,.08) 0%,var(--ct-surface) 48%,var(--ct-surface) 100%);border-color:var(--ct-border-strong)}.page-hero-title{margin:0 0 .45rem;font-size:1.25rem;font-weight:700;letter-spacing:-.03em}.page-hero-lead{margin:0;font-size:.92rem;line-height:1.55;color:var(--ct-muted);max-width:none}.exchange-grid{display:grid;gap:1rem;min-width:0}.exchange-grid>.cred-card{min-width:0}@media (min-width: 900px){.exchange-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}}.settings-page-card{width:100%;max-width:100%;margin-left:0;margin-right:0;box-sizing:border-box}.settings-page-head{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--ct-border)}.settings-page-head h2{margin:0 0 .35rem;font-size:clamp(1.05rem,2.4vw,1.2rem);font-weight:700;letter-spacing:-.02em}.settings-page-sub{margin:0;font-size:.88rem;line-height:1.5;color:var(--ct-muted);max-width:none}@media (max-width: 767px){.app-header{flex-direction:column;align-items:stretch}.app-nav{justify-content:center;flex-wrap:wrap;overflow-x:visible;padding-bottom:0;margin:0;gap:.4rem}.app-nav button{flex:1 1 auto;min-width:min(100%,7.5rem);max-width:100%}.btn-signout{width:100%;max-width:none}}.hero h1{margin:0 0 .5rem;font-size:1.75rem}.hero p{margin:0 0 1.5rem;color:#9aa0a6}.card{background:var(--ct-surface);border:1px solid var(--ct-border);border-radius:var(--ct-radius);padding:clamp(1rem,2.8vw,1.35rem) clamp(1rem,2.8vw,1.4rem);margin-bottom:1rem;box-shadow:0 1px #ffffff0a inset;box-sizing:border-box}.card.wide{overflow:hidden}.card.wide.portfolio-page{overflow-x:clip;overflow-y:visible;min-width:0}html{scroll-behavior:smooth}.landing-page{min-height:100vh;background:radial-gradient(ellipse 100% 55% at 50% -8%,rgba(110,231,255,.07),transparent 52%),radial-gradient(ellipse 55% 38% at 100% 85%,rgba(99,102,241,.06),transparent 48%),var(--ct-bg);color:var(--ct-text)}.landing-top{max-width:56rem;margin:0 auto;padding:1rem clamp(1rem,4vw,1.5rem);border-bottom:1px solid #30363d;background:#0d111799;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-brand{font-size:1.05rem;font-weight:700;letter-spacing:-.02em;color:#f0f3f6}.landing-main{max-width:56rem;margin:0 auto;padding:clamp(1.5rem,4vw,2.75rem) clamp(1rem,4vw,1.5rem) 3rem}.landing-hero{text-align:center;padding:.5rem 0 1rem}.landing-hero h1{margin:0 0 .65rem;font-size:clamp(1.65rem,4.5vw,2.15rem);font-weight:700;letter-spacing:-.03em;color:#f0f3f6}.landing-lead{margin:0 auto 1.65rem;max-width:40rem;font-size:1.05rem;line-height:1.6;color:#8b949e}.landing-cta-row{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;align-items:center}.landing-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.65rem 1.35rem;border-radius:10px;font-size:.95rem;font-weight:600;font-family:inherit;text-decoration:none;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}button.landing-cta{border-style:solid;border-width:1px}.landing-cta-primary{background:linear-gradient(165deg,#7cf4ff 0%,var(--ct-accent) 45%,#22d3ee 100%);border:1px solid rgba(255,255,255,.12);color:#041016}.landing-cta-primary:hover{filter:brightness(1.06);color:#041016}.landing-cta-secondary{background:var(--ct-surface);border:1px solid var(--ct-border-strong);color:var(--ct-text)}.landing-cta-secondary:hover{border-color:#6ee7ff66;color:var(--ct-text)}.landing-section{margin-top:2.75rem;scroll-margin-top:1.25rem}.landing-section h2{margin:0 0 1rem;font-size:1.2rem;font-weight:650;color:#c9d1d9;letter-spacing:-.02em}.landing-feature-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,15.5rem),1fr));gap:1rem}.landing-feature-card{margin:0;padding:1.1rem 1.15rem;background:#161b22;border:1px solid #30363d;border-radius:12px}.landing-feature-card h3{margin:0 0 .5rem;font-size:1rem;font-weight:650;color:#e8eaed}.landing-feature-card p{margin:0;font-size:.88rem;line-height:1.55;color:#8b949e}.landing-feature-card strong{color:#c9d1d9;font-weight:600}.landing-arch{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:1.25rem 1.35rem}.landing-arch h2{margin-bottom:.85rem}.landing-arch-list{margin:0;padding-left:1.2rem;color:#9aa0a6;font-size:.9rem;line-height:1.65}.landing-arch-list li{margin-bottom:.65rem}.landing-arch-list li:last-child{margin-bottom:0}.landing-arch-list strong{color:#e8eaed}.landing-footer{margin-top:3rem;padding-top:1.5rem;border-top:1px solid #30363d;text-align:center}.landing-footer p{margin:0;font-size:.88rem;color:#6e7681}.landing-footer-link{background:none;border:none;padding:0;font:inherit;color:#58a6ff;cursor:pointer;text-decoration:underline;text-underline-offset:3px}a.landing-footer-link{text-decoration:underline}.landing-footer-link:hover{color:#79c0ff}.landing-footer-sep{margin:0 .5rem;color:#484f58;-webkit-user-select:none;user-select:none}.landing-back{display:block;width:fit-content;margin:0 0 1rem;padding:.4rem 0;border:none;background:none;color:#58a6ff;font-size:.9rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.landing-back:hover{color:#79c0ff}.auth-shell-wide{max-width:440px}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(1.25rem,4vw,2.5rem);background:radial-gradient(ellipse 120% 70% at 50% -15%,rgba(110,231,255,.09),transparent 52%),radial-gradient(ellipse 70% 45% at 100% 100%,rgba(99,102,241,.07),transparent 45%),var(--ct-bg)}.auth-shell{width:100%;max-width:440px}.auth-hero{text-align:center;margin-bottom:1.65rem}.auth-hero h1{margin:0 0 .5rem;font-size:clamp(1.45rem,4.2vw,1.85rem);font-weight:700;letter-spacing:-.025em;color:#f0f3f6}.auth-hero p{margin:0 auto;max-width:36ch;color:#8b949e;font-size:.95rem;line-height:1.55}.auth-card{max-width:none;margin:0;padding:1.5rem 1.35rem 1.6rem;border-radius:14px;border:1px solid #30363d;background:linear-gradient(165deg,#1c212b,#161b22 55%,#13171d);box-shadow:0 20px 50px #0000006b}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.25rem;margin-bottom:1.2rem;padding:.2rem;background:#0d1117;border-radius:10px;border:1px solid #30363d}.auth-tabs button{display:flex;align-items:center;justify-content:center;text-align:center;min-height:2.75rem;padding:.65rem .45rem;border-radius:8px;border:none;background:transparent;color:#8b949e;cursor:pointer;font-size:clamp(.82rem,2.2vw,.9rem);font-weight:600;font-family:inherit;line-height:1.25;white-space:normal;word-break:break-word;overflow-wrap:anywhere;transition:color .14s ease,background .14s ease}.auth-tabs button:hover:not(.active){color:#e8eaed;background:#ffffff0a}.auth-tabs button.active{background:#21262d;color:#f0f3f6;box-shadow:inset 0 1px #ffffff0d}.auth-form{display:flex;flex-direction:column}.auth-field{margin-top:1.05rem}.auth-field:first-of-type{margin-top:0}.auth-field label{display:block;margin:0 0 .4rem;font-size:.8rem;font-weight:600;color:#8b949e;letter-spacing:.02em}.auth-field .input-styled{min-height:46px;font-size:1rem}.auth-submit{margin-top:1.35rem;width:100%;min-height:48px;padding:.75rem 1rem;border:none;border-radius:10px;background:linear-gradient(165deg,#7cf4ff 0%,var(--ct-accent) 45%,#22d3ee 100%);color:#041016;font-weight:700;font-size:1rem;cursor:pointer;transition:filter .14s ease,transform .12s ease;box-shadow:0 2px 14px #22d3ee38}.auth-submit:hover:not(:disabled){filter:brightness(1.06)}.auth-submit:active:not(:disabled){filter:brightness(.97)}.auth-submit:disabled{opacity:.58;cursor:not-allowed}.tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tabs button{flex:1 1 8rem;min-width:0;min-height:2.5rem;padding:.5rem .6rem;border-radius:8px;border:1px solid #30363d;background:transparent;color:#e8eaed;cursor:pointer;font-family:inherit;line-height:1.25;text-align:center;white-space:normal;word-break:break-word}.tabs button.active{background:#238636;border-color:#238636}label{display:block;margin:.75rem 0 .25rem;font-size:.85rem;color:#9aa0a6}input[type=email],input[type=password],input[type=number],input[type=text]{width:100%;padding:.55rem .65rem;border-radius:var(--ct-radius-sm);border:1px solid var(--ct-border-strong);background:var(--ct-bg)!important;color:var(--ct-text)!important}input[type=email]::placeholder,input[type=password]::placeholder,input[type=number]::placeholder,input[type=text]::placeholder{color:#6e7681}input[type=email]:-webkit-autofill,input[type=password]:-webkit-autofill,input[type=number]:-webkit-autofill,input[type=text]:-webkit-autofill,input.input-styled:-webkit-autofill,input.input-styled:-webkit-autofill:hover,input.input-styled:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px #0d1117 inset!important;box-shadow:0 0 0 1000px #0d1117 inset!important;-webkit-text-fill-color:#e8eaed!important;caret-color:#e8eaed;border:1px solid #30363d!important;border-radius:8px}input.input-styled{width:100%;padding:.65rem .75rem;border-radius:var(--ct-radius-sm);border:1px solid var(--ct-border-strong);background:var(--ct-bg)!important;color:var(--ct-text)!important;font-size:.9rem}input.input-styled:focus{outline:none;border-color:#6ee7ff8c;box-shadow:0 0 0 3px var(--ct-accent-dim)}.field{margin-top:.65rem}.field label{display:block;margin:0 0 .35rem;font-size:.8rem;font-weight:500;color:#8b949e;text-transform:none;letter-spacing:.01em}.cred-card{padding:0;overflow:hidden;min-width:0}.cred-card-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;padding:1rem 1.25rem;border-bottom:1px solid var(--ct-border);background:var(--ct-bg-elevated)}.cred-card-title{display:flex;align-items:center;gap:.65rem}.cred-card-title h2{margin:0;font-size:1.05rem;font-weight:600;letter-spacing:.02em}.cred-status{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.2rem .5rem;border-radius:999px}.cred-status.on{background:#4ade801f;color:var(--ct-success);border:1px solid rgba(74,222,128,.35)}.cred-status.off{background:var(--ct-bg);color:var(--ct-muted);border:1px solid var(--ct-border)}.cred-enabled-toggle{margin-top:0}.cred-connected{padding:1.25rem 1.25rem 1.35rem;min-width:0;box-sizing:border-box}.cred-kv{margin:0;display:flex;flex-direction:column;gap:.85rem}.cred-kv-row{display:grid;grid-template-columns:minmax(5.5rem,8.5rem) minmax(0,1fr);gap:.75rem 1rem;align-items:start}@media (max-width: 520px){.cred-kv-row{grid-template-columns:1fr;gap:.25rem}}.cred-kv dt{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:#6e7681}.cred-kv dd{margin:0;font-size:.9rem;color:#e8eaed;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0}.cred-kv-value{font-weight:500}.cred-mask{font-family:ui-monospace,SF Mono,monospace;font-size:.88rem;padding:.35rem .55rem;background:#21262d;border:1px solid #30363d;border-radius:6px;color:#79c0ff}.cred-stored-pill{display:inline-flex;align-items:center;justify-content:center;max-width:100%;font-size:.8rem;color:#8b949e;padding:.35rem .65rem;border-radius:999px;background:#21262d;border:1px solid #30363d;line-height:1.3;white-space:normal;text-align:center;word-break:break-word;overflow-wrap:anywhere;box-sizing:border-box}.cred-summary-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid #30363d;width:100%;box-sizing:border-box}.cred-summary-actions .secondary,.cred-summary-actions .btn-danger-outline{flex:1 1 10rem;min-width:0;max-width:100%;justify-content:center}.cred-meta-line{margin-top:.85rem}.cred-preview-hint{margin:.35rem 0 .75rem}.cred-form{display:flex;flex-direction:column;padding:1.25rem 1.25rem 1.35rem;gap:0;min-width:0;box-sizing:border-box}.cred-form .field:first-of-type{margin-top:0}.cred-setup-intro,.cred-replace-banner{font-size:.85rem;color:#9aa0a6;line-height:1.45;margin:0 0 1rem}.cred-replace-banner{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#58a6ff14;border:1px solid rgba(88,166,255,.25);border-radius:8px;margin-bottom:1rem}.cred-replace-banner p{margin:0;flex:1;min-width:12rem}.cred-form-actions{margin-top:1rem}.cred-inline-field{width:100%;display:flex;flex-direction:column;gap:.5rem}.cred-inline-actions{display:flex;flex-wrap:wrap;gap:.4rem}.btn-sm{padding:.35rem .65rem!important;font-size:.8rem!important;margin-top:0!important;width:auto!important}button.linkish{background:none;border:none;color:#58a6ff;cursor:pointer;padding:0;font-size:.85rem;text-decoration:underline;text-underline-offset:2px}button.linkish:hover{color:#79c0ff}button.primary{display:inline-flex;align-items:center;justify-content:center;text-align:center;margin-top:1rem;width:100%;min-height:2.75rem;padding:.65rem 1rem;border:none;border-radius:var(--ct-radius-sm);background:linear-gradient(165deg,#7cf4ff 0%,var(--ct-accent) 45%,#22d3ee 100%);color:#041016;font-weight:700;font-family:inherit;font-size:.9rem;line-height:1.25;white-space:normal;word-break:break-word;overflow-wrap:anywhere;cursor:pointer;box-shadow:0 2px 12px #22d3ee40;transition:filter .15s ease,transform .12s ease}button.primary:hover:not(:disabled){filter:brightness(1.05)}button.primary:active:not(:disabled){transform:translateY(1px)}button.secondary{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:2.5rem;padding:.55rem 1rem;border-radius:var(--ct-radius-sm);border:1px solid var(--ct-border-strong);background:var(--ct-bg-elevated);color:var(--ct-text);cursor:pointer;font-weight:600;font-size:clamp(.8rem,2.1vw,.85rem);font-family:inherit;line-height:1.25;white-space:normal;word-break:break-word;overflow-wrap:anywhere;transition:border-color .15s ease,background .15s ease}button.secondary:hover:not(:disabled){border-color:#6ee7ff59;background:var(--ct-surface-hover)}button.ghost{padding:.4rem .75rem;border-radius:var(--ct-radius-sm);border:1px solid var(--ct-border);background:transparent;color:var(--ct-muted);cursor:pointer;font-weight:500}button.ghost:hover:not(:disabled){color:var(--ct-text);border-color:var(--ct-border-strong)}.error{color:#f85149;font-size:.9rem}.error.banner{padding:.75rem 1rem;background:#3d1a17;border-radius:8px;border:1px solid #f85149}.grid2{display:grid;gap:.5rem 1rem;grid-template-columns:1fr 1fr;align-items:end}.settings-form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:100%;box-sizing:border-box}.sizing-fieldset{border:1px solid var(--ct-border);border-radius:var(--ct-radius-sm);padding:.85rem 1rem;margin:0;background:var(--ct-bg-elevated);min-width:0;box-sizing:border-box}.sizing-fieldset legend{padding:0 .35rem;color:var(--ct-muted);font-size:.82rem;font-weight:600}.radio-line{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem .65rem;align-items:start;margin:.35rem 0;cursor:pointer}.radio-line>input{width:auto;margin-top:.2rem}.radio-line-text{min-width:0;line-height:1.45;color:var(--ct-text)}.radio-line-text .inline-code{vertical-align:baseline}.allowlist-area{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.allowlist-label{font-size:.85rem;color:#9aa0a6}textarea.allowlist-textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:6rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.9rem;line-height:1.35;padding:.5rem .65rem;border-radius:6px;border:1px solid #30363d;background:#0d1117;color:#e6edf3}textarea.allowlist-textarea:focus{outline:none;border-color:#58a6ff;box-shadow:0 0 0 1px #58a6ff59}.saved-key code{background:#21262d;padding:.15rem .35rem;border-radius:4px;font-size:.9em}@media (max-width: 600px){.grid2{grid-template-columns:1fr}}.check{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem .65rem;align-items:start;margin-top:.5rem}.check>input{width:auto;margin-top:.15rem}.check-label-text{min-width:0;line-height:1.45;color:var(--ct-text)}.check.admin-check{display:flex;justify-content:center;align-items:center;margin:0}.check.admin-check>input{margin-top:0}.check.cred-enabled-toggle{align-items:center}.check.cred-enabled-toggle>input{margin-top:0}.settings-form .check{margin-top:0}.hint{font-size:.8rem;color:#8b949e;margin:.75rem 0 0}.settings-page-card>.hint{line-height:1.45;max-width:none}.row-title{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.65rem 1rem;margin-bottom:.75rem}.row-title h2{margin:0;flex:1 1 12rem;min-width:0;font-size:clamp(1rem,2.2vw,1.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.25}.row-title>button.secondary{flex:0 1 auto;min-width:min(100%,7.5rem);max-width:100%}.actions{display:flex;gap:.5rem;margin-top:.25rem}.actions .primary{width:auto;flex:1 1 8rem;min-width:0;margin-top:0}.meta{font-size:.8rem;color:var(--ct-muted);margin:.25rem 0 0;line-height:1.45}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border:1px solid var(--ct-border);border-radius:var(--ct-radius-sm);background:var(--ct-bg-elevated)}.table-wrap table{background:transparent}table{width:100%;border-collapse:collapse;font-size:clamp(.8125rem,2.1vw,.875rem)}th,td{text-align:left;padding:.5rem clamp(.45rem,1.5vw,.6rem);border-bottom:1px solid var(--ct-border);vertical-align:top}th{color:var(--ct-muted);font-weight:600;font-size:clamp(.68rem,1.8vw,.72rem);text-transform:uppercase;letter-spacing:.05em}td.mono,th.mono{font-family:ui-monospace,monospace;font-size:.8rem;max-width:12rem;overflow:hidden;text-overflow:ellipsis}.test-result{margin-top:.75rem;padding:.75rem 1rem;border-radius:8px;border:1px solid #30363d;font-size:.85rem;line-height:1.45}.test-result.ok{border-color:#238636;background:#0d1f14}.test-result.fail{border-color:#f85149;background:#3d1a17}.test-result h4{margin:0 0 .5rem;font-size:.9rem}.test-result ul{margin:.35rem 0 0;padding-left:1.1rem}.test-result .bal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.35rem .75rem;margin-top:.5rem}.test-result .bal-grid span{color:#8b949e}.warn-box{margin-top:.5rem;padding:.65rem .85rem;border-radius:8px;border:1px solid #9e6a03;background:#1c1508;font-size:.8rem;color:#d4a72c;line-height:1.4}.toast-host{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);z-index:9999;max-width:min(520px,calc(100vw - 2rem));width:100%;pointer-events:none}.toast-host .toast{pointer-events:auto;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border-radius:10px;font-size:.9rem;line-height:1.4;box-shadow:0 8px 24px #00000073;border:1px solid;animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast.success{background:#0d1f14;border-color:#238636;color:#aff4c6}.toast.error{background:#3d1a17;border-color:#f85149;color:#ffb1a8}.toast button.toast-dismiss{flex-shrink:0;margin:-.15rem -.25rem 0 0;padding:.15rem .45rem;border:none;border-radius:6px;background:transparent;color:inherit;opacity:.75;cursor:pointer;font-size:1.25rem;line-height:1}.toast button.toast-dismiss:hover{opacity:1}button:disabled{opacity:.55;cursor:not-allowed}.admin-page-head{margin-bottom:1.15rem;padding-bottom:1.1rem;border-bottom:1px solid #30363d}.admin-page-head-top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;flex-wrap:wrap;margin-bottom:1rem}.admin-page-head-top .admin-refresh-btn{flex:0 1 auto;align-self:center}.admin-page-title{margin:0;font-size:clamp(1.1rem,2.6vw,1.32rem);font-weight:650;letter-spacing:-.02em;line-height:1.2}.admin-refresh-btn{min-width:0;max-width:100%;min-height:2.65rem;padding:.55rem 1rem;font-weight:600;font-size:clamp(.82rem,2.1vw,.9rem);line-height:1.25;white-space:normal;word-break:break-word;overflow-wrap:anywhere;text-align:center}.admin-segmented{display:flex;flex-wrap:wrap;width:100%;max-width:100%;padding:3px;gap:3px;background:#0d1117;border:1px solid #30363d;border-radius:10px;box-sizing:border-box}.admin-segmented button{flex:1 1 auto;min-width:min(100%,8rem);min-height:2.75rem;height:auto;padding:.5rem .65rem;border:none;border-radius:8px;background:transparent;color:#8b949e;font-size:clamp(.82rem,2.1vw,.9rem);font-weight:600;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;white-space:normal;word-break:break-word;overflow-wrap:anywhere;transition:color .12s ease,background .12s ease,box-shadow .12s ease}.admin-segmented button:hover{color:#e8eaed}.admin-segmented button.active{background:#21262d;color:#f0f3f6;box-shadow:0 0 0 1px #58a6ff59}.admin-prose{margin:0 0 1.2rem;padding:.95rem 1.05rem;background:#0d1117;border:1px solid #30363d;border-radius:10px;font-size:.875rem;line-height:1.58;color:#9aa0a6}.admin-prose strong{color:#c9d1d9;font-weight:600}.admin-prose-ingest p{margin:0 0 .75rem}.admin-prose-ingest p:last-child{margin-bottom:0}.admin-ingest-stats{display:flex;flex-wrap:wrap;gap:.65rem 1.25rem;align-items:center;margin-top:.85rem!important;padding-top:.85rem;border-top:1px solid #30363d}.admin-stat{display:inline-flex;align-items:baseline;gap:.45rem}.admin-stat-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6e7681}.admin-stat-value{font-size:1rem;font-weight:600;color:#e8eaed;font-variant-numeric:tabular-nums}.inline-code{font-family:ui-monospace,SF Mono,monospace;font-size:.82em;padding:.12rem .35rem;border-radius:5px;background:#21262d;border:1px solid #30363d;color:#79c0ff}.admin-table-action{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-width:0;min-height:2.4rem;padding:.45rem .65rem;font-size:clamp(.78rem,2vw,.85rem);font-weight:600;font-family:inherit;line-height:1.25;text-align:center;white-space:normal;word-break:break-word;overflow-wrap:anywhere;border-radius:8px;border:1px solid #30363d;background:#21262d;color:#e8eaed;cursor:pointer;transition:border-color .12s ease,background .12s ease}.admin-table-action:hover{border-color:#58a6ff;background:#30363d}.th-actions,.td-actions{text-align:right;white-space:normal;vertical-align:top}.admin-pager-row{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.2rem;padding-top:1.1rem;border-top:1px solid #30363d}.admin-pager-btn{min-width:min(100%,8.5rem);flex:1 1 auto;max-width:100%;min-height:2.65rem;font-weight:600;font-size:clamp(.82rem,2.1vw,.9rem);line-height:1.25;white-space:normal;word-break:break-word;text-align:center}.small-btn{padding:.2rem .45rem;font-size:.75rem}.ingest-pre{margin:.45rem 0 0;padding:.75rem .85rem;max-height:22rem;overflow:auto;font-size:.75rem;line-height:1.45;background:#010409;border:1px solid #30363d;border-radius:8px;white-space:pre-wrap;word-break:break-word}.ingest-detail-sheet{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:.25rem 0 .5rem}@media (max-width: 900px){.ingest-detail-sheet{grid-template-columns:1fr}}.ingest-detail-col{min-width:0;padding:.85rem 1rem;background:var(--ct-bg-elevated, #0e1017);border:1px solid var(--ct-border, rgba(255, 255, 255, .08));border-radius:var(--ct-radius-sm, 10px)}.ingest-detail-title{margin:0 0 .75rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ct-muted, #8b93a7)}.ingest-summary-kv{margin:0;display:flex;flex-direction:column;gap:.5rem}.ingest-kv-pair{display:grid;grid-template-columns:minmax(7rem,9.5rem) 1fr;gap:.5rem .75rem;align-items:start;font-size:.86rem}.ingest-kv-pair dt{margin:0;color:var(--ct-muted, #8b93a7);font-weight:600;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.ingest-kv-pair dd{margin:0;color:var(--ct-text, #eef0f5);word-break:break-word}.ingest-wrap{word-break:break-all;white-space:pre-wrap}.ingest-signal-list{list-style:none;margin:.85rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.ingest-signal-card{margin:0;padding:.65rem .75rem;border-radius:var(--ct-radius-sm, 10px);border:1px solid var(--ct-border, rgba(255, 255, 255, .08));background:var(--ct-surface, #13161f)}.ingest-signal-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.45rem}.ingest-pill{font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .45rem;border-radius:999px;background:var(--ct-accent-dim, rgba(110, 231, 255, .14));color:var(--ct-accent, #6ee7ff);border:1px solid rgba(110,231,255,.25)}.ingest-sym{font-weight:700;font-size:.95rem;letter-spacing:-.02em}.ingest-side-badge{font-size:.72rem;font-weight:700;padding:.15rem .45rem;border-radius:6px;background:var(--ct-bg, #07080c);color:var(--ct-muted, #8b93a7);border:1px solid var(--ct-border-strong, rgba(255, 255, 255, .14))}.ingest-inner-kv{margin:0;display:flex;flex-direction:column;gap:.35rem}.ingest-inner-kv .ingest-kv-pair{font-size:.82rem}.ingest-note{margin:.75rem 0 0;font-size:.82rem;color:var(--ct-muted, #8b93a7);line-height:1.45}.ingest-response-kv{margin-top:0}.ingest-detail-row td{background:#0d1117;border-top:1px solid #30363d;vertical-align:top;padding-top:1rem;padding-bottom:1rem}.admin-ingest-table{font-size:.875rem}.admin-ingest-table th,.admin-ingest-table td,.admin-users-table th,.admin-users-table td{padding:.55rem .6rem}.admin-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;align-items:start}@media (max-width: 900px){.admin-layout{grid-template-columns:1fr}}.admin-users-table{font-size:.82rem}.admin-users-table tr.selected{background:#58a6ff1a}.admin-users-table tr.selected td{border-bottom-color:#58a6ff40}.admin-user-link{display:block;width:100%;background:none;border:none;padding:0;text-align:left;cursor:pointer}.admin-email{font-weight:600;color:#e8eaed}.admin-user-link:hover .admin-email{color:#79c0ff;text-decoration:underline}.admin-badge{display:inline-block;margin-left:.4rem;padding:.1rem .35rem;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:4px;background:#a371f740;color:#d2a8ff;vertical-align:middle}.admin-sub{font-size:.72rem;color:#8b949e;margin-top:.2rem}label.check.admin-check{margin:0;justify-content:center}.inner-card{background:#0d1117;border:1px solid #30363d;border-radius:10px;padding:1rem 1.1rem}.inner-card h3{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.cred-full-key{display:block;max-width:100%;box-sizing:border-box;padding:.35rem .45rem;font-size:.72rem;line-height:1.35;white-space:pre-wrap;word-break:break-all;overflow-wrap:anywhere;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#e6edf3}.btn-danger-outline{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.25;border:1px solid #f85149;color:#ff7b72;background:transparent;border-radius:8px;padding:.45rem .75rem;cursor:pointer;font-size:.85rem;font-family:inherit;white-space:normal;word-break:break-word;overflow-wrap:anywhere;min-height:2.45rem;box-sizing:border-box}.btn-danger-outline:hover:not(:disabled){background:#f851491f}.portfolio-page{min-width:0;max-width:100%}.portfolio-page .portfolio-generated{margin-top:0}.portfolio-page>.meta{overflow-wrap:anywhere;word-break:break-word}.portfolio-exchange-block{margin-top:1.25rem;padding-top:1rem;border-top:1px solid #30363d;min-width:0;max-width:100%}.portfolio-exchange-block:first-of-type{margin-top:.5rem;padding-top:0;border-top:none}.portfolio-ex-title{margin:0 0 .5rem;font-size:1.05rem;letter-spacing:.02em}.portfolio-errors{margin:0 0 .75rem;padding-left:1.1rem;color:#f85149;font-size:.85rem;overflow-wrap:anywhere;word-break:break-word}.portfolio-split{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);align-items:start}@media (min-width: 1100px){.portfolio-split{grid-template-columns:repeat(2,minmax(0,1fr))}}.portfolio-side{min-width:0;max-width:100%}.portfolio-page .inner-card{min-width:0;max-width:100%;box-sizing:border-box}.portfolio-side h4{margin:0 0 .35rem;font-size:.95rem}.portfolio-side-hint{margin-top:0;margin-bottom:.75rem;overflow-wrap:anywhere;word-break:break-word}.portfolio-subh{margin:.85rem 0 .35rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#8b949e;font-weight:600}.portfolio-subh:first-of-type{margin-top:0}.portfolio-fut-summary{margin:0 0 .75rem;padding:.5rem .65rem;border-radius:8px;background:#58a6ff14;border:1px solid rgba(88,166,255,.25);font-size:.88rem;line-height:1.45;max-width:100%;min-width:0;box-sizing:border-box;overflow-wrap:anywhere;word-break:break-word;white-space:normal}.portfolio-page .table-wrap{display:block;width:100%;max-width:100%;min-width:0;overflow-x:auto;overflow-y:auto;overscroll-behavior-x:contain}.portfolio-page .table-wrap table{width:max-content;min-width:100%;max-width:none;table-layout:auto}.portfolio-page .table-wrap td.mono,.portfolio-page .table-wrap th.mono{max-width:none;overflow:visible;text-overflow:unset;white-space:nowrap}.portfolio-page .table-wrap td:not(.mono),.portfolio-page .table-wrap th:not(.mono){white-space:nowrap}.portfolio-scroll{max-height:min(280px,45vh);overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.portfolio-mini-table{max-height:min(200px,40vh);overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}
