:root{--bg:#0a0e12;--bg-elevated:#121820;--fg:#edf1f4;--muted:#8a96a3;--accent:#5eead4;--accent-soft:#5eead424;--line:#edf1f414;--font-brand:"Syne", sans-serif;--font-body:"Manrope", sans-serif}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{font-family:var(--font-body);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}#app{min-height:100dvh}.page{isolation:isolate;place-items:center;min-height:100dvh;padding:clamp(1.5rem,4vw,3rem);display:grid;position:relative;overflow:visible}.atmosphere{z-index:-1;background:radial-gradient(80% 60% at 50% -10%,#1a2430 0%,#0000 55%),linear-gradient(160deg,#0a0e12 0%,#0d141c 45%,#0a1016 100%);position:absolute;inset:0;overflow:hidden}.glow{filter:blur(80px);opacity:0;border-radius:50%;transition:opacity 1.4s;position:absolute}.page.ready .glow{opacity:1}.glow-a{background:var(--accent-soft);width:min(55vw,420px);height:min(55vw,420px);animation:18s ease-in-out infinite alternate drift;top:12%;left:8%}.glow-b{background:#3878b41f;width:min(45vw,360px);height:min(45vw,360px);animation:22s ease-in-out infinite alternate-reverse drift;bottom:10%;right:5%}.grain{opacity:.35;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");background-size:180px;position:absolute;inset:0}.hero{text-align:left;width:min(100%,40rem)}.brand{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1)}.headline,.lede{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(18px)}.page.ready .brand,.page.ready .headline,.page.ready .lede{opacity:1}.page.ready .headline,.page.ready .lede{transform:translateY(0)}.page.ready .headline{transition-delay:.12s}.page.ready .lede{transition-delay:.24s}.brand{width:fit-content;font-family:var(--font-brand);letter-spacing:-.06em;color:var(--fg);text-shadow:0 0 1.25em #5eead438;margin:0 0 1.5rem;padding-bottom:.12em;font-size:clamp(3.5rem,12vw,6.5rem);font-weight:800;line-height:1.45;display:block}.headline{font-family:var(--font-brand);letter-spacing:-.03em;color:var(--fg);margin:0 0 1rem;font-size:clamp(1.35rem,3.5vw,1.85rem);font-weight:600;line-height:1.45}.lede{max-width:28rem;color:var(--muted);margin:0;font-size:clamp(1rem,2.2vw,1.125rem);font-weight:400;line-height:1.65}.login-hero{width:min(100%,24rem)}.login-form,.btn{opacity:0;transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1);transform:translateY(18px)}.page.ready .login-form,.page.ready .btn{opacity:1;transform:translateY(0)}.page.ready .login-form{transition-delay:.28s}.page.ready .btn{transition-delay:.36s}.login-form{gap:1rem;margin-top:1.75rem;display:grid}.field{gap:.45rem;display:grid}.field span{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.8rem}.field input{border:1px solid var(--line);width:100%;color:var(--fg);font:inherit;background:#121820d9;border-radius:.55rem;outline:none;padding:.85rem .95rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.field input:focus{box-shadow:0 0 0 3px var(--accent-soft);border-color:#5eead473}.form-error{color:#f07178;margin:0;font-size:.9rem}.form-success{color:var(--accent);margin:0;font-size:.9rem}.btn{appearance:none;background:var(--accent);color:#041016;font:inherit;letter-spacing:-.01em;cursor:pointer;border:0;border-radius:.55rem;margin-top:.35rem;padding:.9rem 1.1rem;font-weight:700;transition:opacity .2s,transform .2s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.65;cursor:not-allowed}.btn-ghost{width:fit-content;color:var(--fg);border:1px solid var(--line);background:0 0;align-items:center;margin-top:1.75rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-ghost:hover:not(:disabled){border-color:#5eead459}.brand-sm{margin-bottom:1rem;font-size:clamp(2rem,6vw,2.75rem)}.page-dashboard{align-content:start;place-items:start center}.dashboard{width:min(100%,56rem);padding-top:clamp(1rem,4vw,2.5rem)}.dashboard-header{margin-bottom:2rem}.dashboard-header .lede{max-width:36rem}.dashboard-panel{width:100%}.dashboard-panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:1rem;display:flex}.panel-title{font-family:var(--font-brand);letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:600}.panel-meta,.panel-status{color:var(--muted);margin:0;font-size:.9rem}.inline-link{color:var(--accent);margin-left:.35rem;text-decoration:none}.inline-link:hover{text-decoration:underline}.settings-hero{width:min(100%,28rem)}.settings-nav{margin-top:1.75rem}.settings-link{border:1px solid var(--line);width:100%;color:var(--fg);background:#1218208c;border-radius:.55rem;justify-content:space-between;align-items:center;padding:1rem 1.1rem;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s;display:flex}.settings-link:after{content:"→";color:var(--accent)}.settings-link:hover{background:#121820d9;border-color:#5eead459}.dashboard-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.btn-inline{width:fit-content;margin-top:0;padding:.7rem 1rem}.btn-inline-ghost{margin-top:0}.account-form-panel{width:min(100%,28rem);margin-bottom:2rem}.account-form{margin-top:0}.form-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.account-list{gap:.85rem;margin:0;padding:0;list-style:none;display:grid}.account-card{border:1px solid var(--line);background:#1218208c;border-radius:.55rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem 1rem;padding:1rem 1.1rem;display:flex}.account-card-body{min-width:0}.account-name{letter-spacing:-.01em;margin:0 0 .25rem;font-weight:600}.account-id{color:var(--muted);word-break:break-all;margin:0;font-size:.85rem}.account-balance{font-family:var(--font-brand);letter-spacing:-.02em;color:var(--accent);margin:0;font-size:1.15rem;font-weight:600}.account-cash{color:var(--muted);margin:.35rem 0 0;font-size:.9rem}.account-equity-block{text-align:right}.account-equity-label{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;margin:0 0 .2rem;font-size:.72rem;font-weight:600}.account-equity{font-family:var(--font-brand);letter-spacing:-.03em;color:var(--accent);margin:0;font-size:clamp(1.35rem,3vw,1.75rem);font-weight:700;line-height:1.1}.account-list-dashboard .account-card{align-items:stretch}.account-shell{gap:0;display:grid}.account-card-dashboard{align-items:stretch;gap:.35rem;padding:0;display:flex;overflow:hidden}.account-card-main{appearance:none;min-width:0;color:inherit;text-align:left;font:inherit;background:0 0;border:0;flex-wrap:wrap;flex:1;justify-content:space-between;align-items:flex-start;gap:.85rem 1rem;margin:0;padding:1rem .35rem 1rem 1.1rem;display:flex}.account-card-main.expandable{cursor:pointer}.account-card-main:disabled{cursor:default}.account-chevron{color:var(--muted);flex-shrink:0;margin-top:.15rem;font-size:.9rem;line-height:1.4}.account-name-row{flex-wrap:wrap;align-items:center;gap:.45rem .65rem;display:flex}.account-active-badge{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;background:#5eead41f;border:1px solid #5eead459;border-radius:999px;align-items:center;padding:.15rem .45rem;font-size:.72rem;font-weight:700;display:inline-flex}.account-settings-link{width:2.85rem;color:var(--muted);border-left:1px solid #94a3b81f;align-self:stretch;place-items:center;text-decoration:none;transition:color .2s,background .2s;display:grid}.account-settings-link:hover{color:var(--accent);background:#5eead414}.account-settings-icon{width:1.15rem;height:1.15rem}.account-trades{border:1px solid var(--line);background:#0c101673;border-top:0;border-radius:0 0 .55rem .55rem;padding:.35rem .85rem .85rem}.account-shell.expanded .account-card-dashboard{border-radius:.55rem .55rem 0 0}.trade-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.trade-row{border-top:1px solid #94a3b81a;justify-content:space-between;align-items:flex-start;gap:.85rem;padding:.65rem .2rem;display:flex}.trade-row:first-child{border-top:0}.trade-symbol{letter-spacing:.02em;margin:0;font-weight:700}.trade-status{color:var(--accent);letter-spacing:.04em;text-transform:uppercase;margin-left:.4rem;font-size:.72rem;font-weight:700}.trade-meta{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.trade-amounts{text-align:right}.trade-side{justify-items:end;gap:.55rem;display:grid}.trade-buy{margin:0;font-weight:600}.trade-shares{color:var(--muted);margin:.2rem 0 0;font-size:.85rem}.trade-pnl{margin:.35rem 0 0;font-size:.9rem;font-weight:600}.trade-pnl-pct,.trade-live-price{color:var(--muted);font-weight:500}.pnl-pos{color:#5eead4}.pnl-neg{color:#f07178}.trade-actions{flex-wrap:wrap;justify-content:flex-end;gap:.4rem;display:flex}.btn-trade{margin:0;padding:.35rem .7rem;font-size:.82rem}.swal-prog{border:1px solid #94a3b82e;box-shadow:0 18px 50px #00000073;border-radius:.75rem!important}.swal-prog-title{font-family:var(--font-brand), sans-serif;letter-spacing:-.02em}.swal-prog-html{text-align:left!important}.swal-prog-section+.swal-prog-section{border-top:1px solid #94a3b824;margin-top:1rem;padding-top:.85rem}.swal-prog-section h3{color:var(--accent,#5eead4);margin:0 0 .45rem;font-size:.95rem}.swal-prog-section pre{white-space:pre-wrap;font:inherit;color:#d7e2ef;margin:0;line-height:1.45}.swal-prog-estimate{margin:.85rem 0 .35rem}.swal-prog-muted{color:#94a3b8;font-size:.9rem}.swal-prog-confirm,.swal-prog-cancel{border-radius:.45rem!important;font-weight:600!important}.account-card-link{color:inherit;text-decoration:none;transition:border-color .2s,background .2s,transform .2s}.account-card-link:hover{background:#18222cb8;border-color:#5eead473;transform:translateY(-1px)}.account-detail{max-width:36rem}.settings-section{text-align:left;margin-top:1.75rem}.section-hint{color:var(--muted);margin:.4rem 0 1rem;font-size:.92rem;line-height:1.45}.securities-import{gap:.4rem;margin:0 0 .85rem;display:grid}.securities-import-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.securities-import-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.securities-import-select{border:1px solid var(--line);min-width:0;color:var(--fg);font:inherit;background:#0c1016b3;border-radius:.45rem;flex:12rem;margin:0;padding:.55rem .7rem}.securities-import-select:focus{border-color:#5eead48c;outline:none}.pill-input{border:1px solid var(--line);cursor:text;background:#1218208c;border-radius:.55rem;flex-wrap:wrap;align-items:center;gap:.45rem;min-height:2.85rem;padding:.45rem .55rem;display:flex}.pill-input:focus-within{border-color:#5eead48c;outline:none}.pill{max-width:100%;color:var(--accent);letter-spacing:.02em;background:#5eead41f;border:1px solid #5eead447;border-radius:999px;align-items:center;gap:.2rem;padding:.28rem .55rem;font-size:.85rem;font-weight:600;display:inline-flex;position:relative}.pill-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pill-remove{appearance:none;width:1.05rem;height:1.05rem;color:var(--fg);cursor:pointer;opacity:0;pointer-events:none;background:#0c1016d9;border:0;border-radius:50%;margin:0;padding:0;font-size:.78rem;line-height:1;transition:opacity .15s;position:absolute;top:50%;right:.2rem;transform:translateY(-50%)}.pill:hover .pill-remove,.pill:focus-within .pill-remove{opacity:1;pointer-events:auto}.pill:hover,.pill:focus-within{padding-right:1.35rem}.pill-draft{min-width:7rem;color:var(--fg);font:inherit;background:0 0;border:0;outline:none;flex:7rem;margin:0;padding:.35rem .25rem}.pill-draft::placeholder{color:#94a3b8b3}.strategies-panel{border:1px solid var(--line);background:#1218208c;border-radius:.55rem;overflow:hidden}.strategies-toggle{appearance:none;width:100%;color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;justify-content:space-between;align-items:flex-start;gap:.85rem;margin:0;padding:.95rem 1rem;display:flex}.strategies-toggle-main{gap:.3rem;min-width:0;display:grid}.strategies-toggle .panel-title{margin:0}.strategies-summary{color:var(--muted);font-size:.9rem;line-height:1.4}.strategies-chevron{color:var(--muted);flex-shrink:0;font-size:.95rem;line-height:1.4}.strategies-body{border-top:1px solid #94a3b81f;gap:1rem;padding:0 1rem 1rem;display:grid}.strategy-row{padding-top:1rem;display:block}.strategy-copy{min-width:0}.strategy-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.strategy-name{letter-spacing:-.01em;margin:0;font-weight:600}.strategy-description{color:var(--muted);margin:.45rem 0 0;font-size:.9rem;line-height:1.45}.strategy-buy{gap:.4rem;margin-top:.85rem;display:grid}.strategy-buy-label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.78rem;font-weight:600}.strategy-buy-controls{align-items:center;gap:.5rem;display:flex}.strategy-buy-input{border:1px solid var(--line);width:7.5rem;color:var(--fg);font:inherit;background:#0c1016b3;border-radius:.45rem;margin:0;padding:.45rem .6rem}.strategy-buy-input:focus{border-color:#5eead48c;outline:none}.strategy-buy-input:disabled{opacity:.5}.strategy-buy-mode{border:1px solid var(--line);border-radius:.45rem;display:inline-flex;overflow:hidden}.strategy-buy-mode-btn{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;margin:0;padding:.45rem .7rem;font-weight:600}.strategy-buy-mode-btn+.strategy-buy-mode-btn{border-left:1px solid var(--line)}.strategy-buy-mode-btn.active{color:var(--accent);background:#5eead41f}.strategy-buy-mode-btn:disabled{cursor:not-allowed;opacity:.5}.strategy-buy-hint{color:var(--muted);margin:0;font-size:.82rem;line-height:1.4}.switch{cursor:pointer;flex-shrink:0;align-items:center;display:inline-flex;position:relative}.switch input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.switch-track{background:#0c1016d9;border:1px solid #94a3b847;border-radius:999px;align-items:center;width:2.55rem;height:1.45rem;padding:.12rem;transition:background .2s,border-color .2s;display:inline-flex}.switch-thumb{background:#cbd5e1;border-radius:50%;width:1.1rem;height:1.1rem;transition:transform .2s,background .2s;transform:translate(0)}.switch input:checked+.switch-track{background:#5eead438;border-color:#5eead48c}.switch input:checked+.switch-track .switch-thumb{background:var(--accent);transform:translate(1.05rem)}.switch input:focus-visible+.switch-track{outline-offset:2px;outline:2px solid #5eead48c}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn-danger{color:#f07178;border-color:#f0717847;margin-top:0}.btn-danger:hover:not(:disabled){border-color:#f071788c}.profile-menu{z-index:1;position:relative;top:auto;right:auto}.app-header{z-index:40;pointer-events:none;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex;position:fixed;top:0;left:0;right:0}.app-nav,.app-header .profile-menu{pointer-events:auto}.app-nav-link{color:var(--fg);letter-spacing:-.01em;border-bottom:1px solid #0000;padding:.45rem .15rem;font-weight:600;text-decoration:none;transition:color .2s,border-color .2s}.app-nav-link:hover,.app-nav-link.router-link-active{color:var(--accent);border-bottom-color:#5eead473}.page-app,.page-dashboard{padding-top:clamp(4.5rem,8vw,5.5rem)}.profile-avatar{appearance:none;width:2.75rem;height:2.75rem;color:var(--accent);font-family:var(--font-brand);cursor:pointer;background:linear-gradient(145deg,#1a2834,#121820);border:1px solid #5eead459;border-radius:50%;place-items:center;font-size:1.05rem;font-weight:700;transition:border-color .2s,transform .2s;display:grid}.profile-avatar:hover,.profile-menu:focus-within .profile-avatar{border-color:#5eead4b3;transform:translateY(-1px)}.profile-dropdown{border:1px solid var(--line);opacity:0;visibility:hidden;pointer-events:none;background:#0c1117f5;border-radius:.65rem;min-width:11.5rem;padding:.35rem;transition:opacity .18s,transform .18s,visibility .18s;position:absolute;top:calc(100% + .55rem);right:0;transform:translateY(-6px);box-shadow:0 12px 40px #00000059}.profile-menu:hover .profile-dropdown,.profile-menu:focus-within .profile-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.profile-dropdown-item{width:100%;color:var(--fg);white-space:nowrap;text-align:left;border-radius:.45rem;padding:.7rem .85rem;font-size:.92rem;font-weight:500;text-decoration:none;display:block}.profile-dropdown-button{appearance:none;font:inherit;cursor:pointer;background:0 0;border:0}.profile-dropdown-button:disabled{opacity:.65;cursor:wait}.profile-dropdown-item:hover,.profile-dropdown-item:focus-visible{background:var(--accent-soft);outline:none}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(24px,-18px)scale(1.08)}}@media (prefers-reduced-motion:reduce){.glow,.brand,.headline,.lede,.login-form,.btn{opacity:1;transition:none;animation:none;transform:none}.profile-dropdown{transition:none}}
