:root{--bg: #0a0d13;--surface: #12161f;--surface-2: #1a2029;--border: #242b38;--text: #eef1f7;--text-dim: #8992a8;--accent: #2dd4bf;--accent-hover: #4de3cf;--green: #34c88a;--red: #f0556b;--amber: #e0b84a;--font-display: "Space Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px -14px rgba(0, 0, 0, .6);color-scheme:dark}:root[data-theme=light]{--bg: #f4f5f8;--surface: #ffffff;--surface-2: #eef0f4;--border: #dbdfe6;--text: #161a22;--text-dim: #5b6472;--accent: #0f9488;--accent-hover: #0c7a70;--green: #1f9d63;--red: #d23652;--amber: #b9860f;--shadow-card: 0 1px 2px rgba(15, 23, 42, .06), 0 8px 24px -14px rgba(15, 23, 42, .16);color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text)}h1,h2,h3{font-family:var(--font-display);font-weight:700;margin:0 0 16px}.section-heading{display:flex;align-items:center;gap:8px;margin-bottom:16px}.section-heading h2{margin:0}.info-tooltip{display:inline-flex;color:var(--text-dim);font-size:.9rem;cursor:help}.info-tooltip:hover{color:var(--text)}button,a,.chat-directory button{transition:background-color .15s ease,color .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease}button{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer}button:where(:hover):where(:not(:disabled)){border-color:var(--accent);color:var(--accent)}button:where(:disabled){opacity:.5;cursor:not-allowed}.center-screen{height:100vh;display:flex;align-items:center;justify-content:center}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:48px;text-align:center;max-width:360px}@media (max-width: 640px){.center-screen{padding:16px}.login-card{padding:28px}}.login-card h1{margin-top:0;justify-content:center}.login-card p{color:var(--text-dim)}.google-btn{margin-top:16px;padding:12px 24px;border-radius:var(--radius-md);border:none;background:var(--accent);color:#06251a;font-family:var(--font-display);font-weight:700;cursor:pointer;width:100%}.google-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-card)}.anon-signup-btn{margin-top:10px;padding:12px 24px;border-radius:var(--radius-md);border:1px solid var(--border);background:transparent;color:var(--text);font-family:var(--font-display);font-weight:600;cursor:pointer;width:100%}.anon-signup-btn:hover{border-color:var(--text-dim);background:var(--surface-2)}.anon-signup-hint{margin-top:8px;color:var(--text-dim);font-size:.75rem;line-height:1.4}.login-divider{margin:20px 0 12px;color:var(--text-dim);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.login-privacy-link{margin-top:16px;font-size:.75rem}.login-privacy-link a{color:var(--text-dim)}.login-privacy-link a:hover{color:var(--text)}.dev-login-form{display:flex;flex-direction:column;gap:10px}.dev-login-form input{padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.95rem}.dev-login-form button{padding:10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:600;cursor:pointer}.dev-login-form button:disabled{opacity:.6;cursor:default}.app-shell{min-height:100vh}.app-footer{max-width:1100px;margin:0 auto;padding:16px 32px 32px;font-size:.75rem}.app-footer a{color:var(--text-dim)}.app-footer a:hover{color:var(--text)}.privacy-policy h2{margin-top:24px}.price-alert-banner-stack{position:fixed;top:16px;right:16px;z-index:150;display:flex;flex-direction:column;gap:8px;max-width:360px}.price-alert-banner{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface-2);border:1px solid var(--accent);border-radius:var(--radius-md);box-shadow:var(--shadow-card);font-size:.9rem}.price-alert-banner button{flex:0 0 auto;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.9rem;padding:0}.price-alert-banner button:hover{color:var(--text)}.followed-trader-banner-stack{position:fixed;bottom:16px;right:16px;z-index:150;display:flex;flex-direction:column-reverse;gap:8px;max-width:360px}.followed-trader-banner{border-color:var(--amber)}.trade-celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;pointer-events:none;overflow:hidden}.confetti-burst{position:absolute;top:0;right:0;bottom:0;left:0}.confetti-piece{position:absolute;top:-24px;opacity:.95;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards}.confetti-sparkle{line-height:1}@keyframes confetti-fall{0%{transform:translate(0) rotate(0);opacity:.95}to{transform:translate(var(--confetti-drift, 0px),108vh) rotate(var(--confetti-spin, 360deg));opacity:.5}}.trade-celebration-flash{position:absolute;top:0;right:0;bottom:0;left:0;animation:trade-celebration-flash-pulse 1.4s ease-out forwards}@keyframes trade-celebration-flash-pulse{0%{opacity:0}25%{opacity:1}to{opacity:0}}.trade-celebration-toast{position:fixed;top:90px;left:50%;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--surface);border:2px solid;border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:10px 24px;color:var(--text);animation:trade-celebration-toast-pop 5.6s ease forwards}.trade-celebration-tier{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim)}.trade-celebration-detail{font-family:var(--font-display);font-weight:700;font-size:1.2rem}@keyframes trade-celebration-toast-pop{0%{opacity:0;transform:translate(-50%,-12px) scale(.9)}6%{opacity:1;transform:translate(-50%) scale(1.08)}10%{transform:translate(-50%) scale(1)}92%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-8px) scale(.98)}}.top-bar{position:relative;display:flex;align-items:center;gap:32px;padding:16px 32px;background:var(--surface);border-bottom:1px solid var(--border)}.top-bar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--accent) 50%,transparent);opacity:.5}.brand{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-display);font-weight:700;font-size:1.2rem;letter-spacing:-.01em;color:var(--text);text-decoration:none}.brand-mark{width:20px;height:20px;flex:none}.brand-hero{font-size:2rem;justify-content:center;width:100%}.brand-hero .brand-mark{width:34px;height:34px}.nav-container{position:relative;flex:1}.nav-toggle-btn{display:none;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 10px;cursor:pointer}.top-bar nav{display:flex;gap:20px;flex:1}.top-bar nav a{font-family:var(--font-display);color:var(--text-dim);text-decoration:none;font-weight:500}.top-bar nav a:hover{color:var(--text)}.top-bar nav a.active{color:var(--text)}.nav-account-section{display:none}@media (max-width: 960px){.chat-toggle-btn .chat-label,.account-menu-name{display:none}}@media (max-width: 700px){.top-bar{flex-wrap:wrap;gap:12px;padding:12px 16px}.nav-toggle-btn{display:inline-flex}.top-bar nav{display:none;position:absolute;top:100%;left:0;margin-top:8px;flex-direction:column;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:8px;min-width:180px;z-index:20}.top-bar nav.open{display:flex}.top-bar nav a{padding:8px 10px;border-radius:var(--radius-sm)}.top-bar nav a:hover{background:var(--surface)}.account-menu{display:none}.nav-account-section{display:flex;flex-direction:column;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}}.account-menu{position:relative}.account-menu-trigger{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--border);color:var(--text);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer}.account-menu-trigger:hover{border-color:var(--text-dim)}.account-menu-trigger img{width:24px;height:24px;border-radius:50%}.account-menu-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hamburger-icon{display:inline-flex;flex-direction:column;gap:3px;margin-left:4px}.hamburger-icon span{width:14px;height:2px;background:var(--text-dim);border-radius:1px}.account-menu-dropdown{position:absolute;z-index:20;top:100%;right:0;margin-top:6px;min-width:220px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:8px;display:flex;flex-direction:column;gap:2px}.account-menu-item-label{padding:6px 10px 0;color:var(--text-dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.account-menu-email{padding:0 10px 8px;color:var(--text-dim);font-size:.85rem;border-bottom:1px solid var(--border);margin-bottom:4px;word-break:break-all}.account-menu-item{text-align:left;background:none;border:none;color:var(--text);padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:.9rem}.account-menu-item:hover{background:var(--surface)}a.account-menu-item{display:block;text-decoration:none}.account-menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.toggle-switch{display:inline-block;flex:0 0 auto;width:32px;height:18px;border-radius:999px;background:var(--border);position:relative;transition:background-color .15s ease}.toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text);transition:transform .15s ease,background-color .15s ease}.toggle-switch.on{background:var(--accent)}.toggle-switch.on:after{transform:translate(14px);background:#06251a}.account-menu-edit{display:flex;flex-direction:column;gap:8px;padding:4px}.account-menu-edit label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:var(--text-dim)}.account-menu-edit input{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem}.account-menu-edit input:focus{outline:none;border-color:var(--accent)}.account-menu-edit-actions{display:flex;gap:8px}.account-menu-edit-actions button{flex:1;padding:8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-weight:600;cursor:pointer}.account-menu-edit-actions button:first-child{background:var(--accent);color:#06251a;border-color:var(--accent)}.account-menu-edit-actions button:disabled{opacity:.6;cursor:default}.page{max-width:1100px;margin:0 auto;padding:32px;display:flex;flex-direction:column;gap:32px}@media (max-width: 640px){.page{padding:16px}}.summary-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:600px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px;display:flex;flex-direction:column;gap:6px}.card-label{color:var(--text-dim);font-size:.85rem}.card-value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:700}.pro-upsell{background:#0f948814;border:1px solid rgba(15,148,136,.3);border-radius:var(--radius-md);padding:16px;display:flex;flex-direction:column;gap:6px}.pro-upsell p{margin:0}.dashboard-header{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}.dashboard-net-worth{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:700}.dashboard-return-badge{font-variant-numeric:tabular-nums;font-size:1rem;font-weight:600;padding:4px 10px;border-radius:999px}.dashboard-return-badge.positive{color:var(--green);background:#34c88a24}.dashboard-return-badge.negative{color:var(--red);background:#f0556b24}.account-chart-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:16px}.account-chart-ranges{display:flex;flex-wrap:wrap;gap:8px 4px;margin-bottom:12px}.account-chart-ranges button{padding:6px 12px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-dim);font-family:var(--font-display);font-size:.85rem;font-weight:600;cursor:pointer}.account-chart-ranges button:hover{color:var(--text)}.account-chart-ranges button.active{background:var(--surface-2);color:var(--accent)}.quick-trade-section .favorites-bar{margin-top:12px}.quick-trade-section .trade-layout{margin-top:16px}.quick-trade-close-btn{margin-left:auto;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:.85rem;line-height:1;cursor:pointer}.quick-trade-close-btn:hover{border-color:var(--accent);color:var(--text)}.table-scroll{overflow-x:auto;container-type:inline-size}.pagination-controls{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:12px;font-size:.85rem;color:var(--text-dim)}.pagination-controls button{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;font-size:.85rem}.pagination-controls button:hover:not(:disabled){border-color:var(--accent)}.pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.data-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.data-table th{color:var(--text-dim);font-family:var(--font-display);font-size:.8rem;text-transform:uppercase}.glossary-term{cursor:help;border-bottom:1px dotted var(--text-dim)}.data-table tbody tr:hover{background:var(--surface-2)}.data-table tbody tr:last-child td{border-bottom:none}.symbol-cell{font-family:var(--font-display);font-weight:700}.symbol-cell-with-logo{display:inline-flex;align-items:center;gap:8px}.leaderboard-trader{display:flex;align-items:center;gap:10px}.leaderboard-trader img{width:28px;height:28px;border-radius:50%}.leaderboard-trader-link{background:none;border:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.leaderboard-trader-link:hover span{text-decoration:underline}.leaderboard-trader-cell{display:flex;align-items:center;gap:6px}tr.leaderboard-me{background:#2dd4bf14}.feed-share-settings{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.feed-share-settings .settings-toggle-row{width:auto;flex:1 1 260px}.feed-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.feed-search{width:100%;max-width:360px;padding:10px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem}.feed-following-toggle{flex:0 0 auto;padding:9px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.feed-following-toggle:hover{border-color:var(--amber)}.feed-following-toggle.active{background:#e0b84a24;border-color:var(--amber);color:var(--amber);font-weight:700}.feed-info-hint{align-self:center;color:var(--text-dim);font-size:.8rem;text-decoration:none;border-bottom:1px dotted var(--text-dim);cursor:help;white-space:nowrap}.feed-info-hint:hover{color:var(--accent);border-bottom-color:var(--accent)}.feed-search:focus{outline:none;border-color:var(--accent)}.feed-list{display:flex;flex-direction:column;gap:12px}.holdings-pie-panel{display:flex;align-items:center;gap:16px;padding:12px 16px;margin-bottom:14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md)}.holdings-pie-chart{flex:1 1 160px;min-width:140px}.holdings-pie-tooltip{display:flex;flex-direction:column;gap:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:8px 12px;font-size:.85rem;white-space:nowrap}.holdings-pie-tooltip strong{color:var(--text)}.holdings-pie-tooltip span{color:var(--text-dim)}.holdings-pie-legend{flex:1 1 140px;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.holdings-pie-legend li{display:flex;align-items:center;gap:8px;font-size:.85rem}.holdings-pie-swatch,.holdings-pie-single-swatch{width:10px;height:10px;border-radius:3px;flex:none}.holdings-pie-symbol{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.holdings-pie-pct{color:var(--text-dim);margin-left:auto}.holdings-pie-single{gap:10px;font-size:.9rem;color:var(--text-dim)}.holdings-pie-single strong{color:var(--text)}@media (max-width: 480px){.holdings-pie-panel{flex-direction:column}.holdings-pie-legend{width:100%}}.feed-card{display:flex;gap:12px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.feed-card-link{color:inherit;text-decoration:none;cursor:pointer;transition:border-color .15s ease,transform .1s ease}.feed-card-link:hover{border-color:var(--accent);transform:translateY(-1px)}.feed-card-avatar{width:36px;height:36px;border-radius:50%;flex:0 0 auto;object-fit:cover}.feed-card-avatar-placeholder{background:var(--surface-2)}.avatar-flare{position:relative;display:inline-flex;flex:0 0 auto}.avatar-flare>img,.avatar-flare>div{position:relative;z-index:1}.avatar-flare-ring{position:absolute;top:-35%;right:-35%;bottom:-35%;left:-35%;border-radius:50%;z-index:-1;pointer-events:none}.avatar-flare-glow{position:absolute;top:-65%;right:-65%;bottom:-65%;left:-65%;border-radius:50%;z-index:-2;pointer-events:none;filter:blur(12px);opacity:.6;animation:avatar-flare-pulse 3s ease-in-out infinite}.avatar-flare-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}.avatar-flare-particles span{position:absolute;top:50%;left:50%;width:14%;height:14%;min-width:3px;min-height:3px;border-radius:50%;animation:avatar-flare-particle-float 1.8s ease-in infinite}.avatar-flare-particles span:nth-child(1){--flare-angle: 0deg;animation-delay:0s}.avatar-flare-particles span:nth-child(2){--flare-angle: 45deg;animation-delay:.2s}.avatar-flare-particles span:nth-child(3){--flare-angle: 90deg;animation-delay:.4s}.avatar-flare-particles span:nth-child(4){--flare-angle: 135deg;animation-delay:.6s}.avatar-flare-particles span:nth-child(5){--flare-angle: 180deg;animation-delay:.8s}.avatar-flare-particles span:nth-child(6){--flare-angle: 225deg;animation-delay:1s}.avatar-flare-particles span:nth-child(7){--flare-angle: 270deg;animation-delay:1.2s}.avatar-flare-particles span:nth-child(8){--flare-angle: 315deg;animation-delay:1.4s}.avatar-flare-particles span:nth-child(odd){--flare-particle-scale: 1.25}@keyframes avatar-flare-spin{to{transform:rotate(360deg)}}@keyframes avatar-flare-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}}@keyframes avatar-flare-particle-float{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--flare-angle)) translateY(0) scale(.4)}20%{opacity:1}80%{opacity:.7}to{opacity:0;transform:translate(-50%,-50%) rotate(var(--flare-angle)) translateY(-20px) scale(var(--flare-particle-scale, 1))}}@keyframes avatar-flare-twinkle{0%,to{opacity:0;transform:translate(-50%,-50%) rotate(var(--flare-angle)) translateY(-13px) scale(.3)}50%{opacity:1;transform:translate(-50%,-50%) rotate(var(--flare-angle)) translateY(-13px) scale(var(--flare-particle-scale, 1))}}.avatar-flare-flames .avatar-flare-ring{background:conic-gradient(from 0deg,var(--flare-a, #ff6a00),#ffcf3d,var(--flare-b, #ff2d2d),var(--flare-a, #ff6a00),var(--flare-a, #ff6a00));filter:blur(5px);animation:avatar-flare-spin 3s linear infinite,avatar-flare-flicker 1.2s ease-in-out infinite}.avatar-flare-flames .avatar-flare-glow{background:radial-gradient(circle,var(--flare-a, #ff6a00),transparent 70%)}@keyframes avatar-flare-flicker{0%,to{opacity:.9}25%{opacity:.55}50%{opacity:1}75%{opacity:.7}}.avatar-flare-flames .avatar-flare-particles span{background:radial-gradient(circle,#ffe08a,var(--flare-a, #ff6a00) 70%,transparent 100%);box-shadow:0 0 4px var(--flare-a, #ff6a00);animation-duration:1.6s}.avatar-flare-lightning .avatar-flare-ring{background:conic-gradient(from 90deg,var(--flare-a, #7fe3ff),#ffffff,var(--flare-b, #2f6bff),var(--flare-a, #7fe3ff));filter:blur(4px);animation:avatar-flare-spin 2s linear infinite reverse,avatar-flare-electric .5s steps(2) infinite}.avatar-flare-lightning .avatar-flare-glow{background:radial-gradient(circle,var(--flare-a, #7fe3ff),transparent 70%)}@keyframes avatar-flare-electric{0%,to{opacity:.45}50%{opacity:1}}.avatar-flare-lightning .avatar-flare-particles span{background:#eaffff;box-shadow:0 0 6px var(--flare-a, #7fe3ff),0 0 10px var(--flare-b, #2f6bff);animation-duration:.9s;animation-timing-function:steps(3)}.avatar-flare-frost .avatar-flare-ring{background:conic-gradient(from 45deg,var(--flare-a, #bff4ff),#ffffff,var(--flare-b, #7fd7f0),var(--flare-a, #bff4ff));filter:blur(5px);animation:avatar-flare-spin 7s linear infinite,avatar-flare-pulse 2.6s ease-in-out infinite}.avatar-flare-frost .avatar-flare-glow{background:radial-gradient(circle,var(--flare-a, #bff4ff),transparent 70%)}.avatar-flare-frost .avatar-flare-particles span{background:#fff;box-shadow:0 0 4px var(--flare-a, #bff4ff);animation-name:avatar-flare-twinkle;animation-duration:1.8s}.avatar-flare-nebula .avatar-flare-ring{background:conic-gradient(from 0deg,var(--flare-a, #a855f7),var(--flare-b, #ec4899),var(--flare-c, #6366f1),var(--flare-a, #a855f7));filter:blur(6px);animation:avatar-flare-spin 9s linear infinite,avatar-flare-pulse 3.2s ease-in-out infinite}.avatar-flare-nebula .avatar-flare-glow{background:radial-gradient(circle,var(--flare-a, #a855f7),transparent 70%)}.avatar-flare-nebula .avatar-flare-particles span{background:#f5d0fe;box-shadow:0 0 5px var(--flare-a, #a855f7);animation-name:avatar-flare-twinkle;animation-duration:2.4s}.avatar-flare-gold .avatar-flare-ring{background:conic-gradient(from 0deg,var(--flare-a, #ffd700),#fff3c4,var(--flare-b, #b8860b),var(--flare-a, #ffd700));filter:blur(5px);animation:avatar-flare-spin 5s linear infinite,avatar-flare-pulse 2.8s ease-in-out infinite}.avatar-flare-gold .avatar-flare-glow{background:radial-gradient(circle,var(--flare-a, #ffd700),transparent 70%)}.avatar-flare-gold .avatar-flare-particles span{background:#fff3c4;box-shadow:0 0 5px var(--flare-a, #ffd700);animation-duration:2s}@media (prefers-reduced-motion: reduce){.avatar-flare-ring,.avatar-flare-glow,.avatar-flare-particles span{animation:none!important}}.avatar-flare-picker{display:flex;flex-wrap:wrap;gap:10px}.avatar-flare-option{display:flex;flex-direction:column;align-items:center;gap:6px;width:84px;padding:10px 8px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:.8rem;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}.avatar-flare-option:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.avatar-flare-option.active{border-color:var(--accent);background:#0f94881a;color:var(--text);font-weight:600}.avatar-flare-option:disabled{opacity:.6;cursor:default}.avatar-flare-option-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.avatar-flare-color-sliders{display:flex;flex-direction:column;gap:10px;margin-top:10px;max-width:360px}.avatar-flare-color-sliders-header{display:flex;justify-content:flex-end}.avatar-flare-color-reset{background:none;border:none;padding:0;font:inherit;font-size:.75rem;color:var(--accent);text-decoration:underline;cursor:pointer}.avatar-flare-color-reset:hover:not(:disabled){color:var(--text)}.avatar-flare-color-reset:disabled{opacity:.6;cursor:default}.avatar-flare-color-slot{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2)}.avatar-flare-color-swatch{flex:0 0 auto;width:28px;height:28px;border-radius:50%;border:1px solid var(--border)}.avatar-flare-color-slot-controls{display:flex;flex-direction:column;gap:4px;flex:1 1 auto;min-width:0}.avatar-flare-color-slot-label{color:var(--text-dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.avatar-flare-color-channel{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:.75rem;font-variant-numeric:tabular-nums}.avatar-flare-color-channel input[type=range]{flex:1 1 auto;min-width:0;accent-color:var(--accent)}.feed-card-body{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.feed-card-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.feed-card-name{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-display);font-weight:600}.feed-card-you-badge{padding:1px 7px;border-radius:999px;background:var(--surface-2);color:var(--text-dim);font-family:var(--font-body, inherit);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.feed-card-private-badge{padding:1px 7px;border-radius:999px;background:#e0b84a24;border:1px solid var(--amber);color:var(--amber);font-size:.68rem;font-weight:700;white-space:nowrap}.feed-card-time{color:var(--text-dim);font-size:.8rem;white-space:nowrap}.feed-card-detail{display:flex;align-items:center;gap:8px;font-size:.9rem}.feed-card-qty{color:var(--text-dim)}.feed-card-pl{display:flex;align-items:center;gap:4px;font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}.feed-card-flourish-badge{margin-left:4px;font-size:1.1rem}@keyframes trade-flourish-win-pulse{0%{box-shadow:0 0 #34c88a8c}70%{box-shadow:0 0 0 18px #34c88a00}to{box-shadow:0 0 #34c88a00}}.trade-card-flourish-win{border-color:var(--green);animation:trade-flourish-win-pulse 1s ease-out}.trade-card-flourish-loss{border-color:var(--red)}.feed-card-private:not(.trade-card-flourish-win):not(.trade-card-flourish-loss){border-style:dashed;border-color:var(--text-dim)}.season-badge{display:inline-block;padding:4px 10px;border-radius:999px;background:#2dd4bf29;color:var(--accent);font-family:var(--font-display);font-size:.8rem;font-weight:700;vertical-align:middle}.admin-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;scroll-margin-top:16px}.admin-section>*:first-child{margin-top:0}.admin-quicknav{display:flex;flex-wrap:wrap;gap:8px}.admin-quicknav a{display:inline-block;text-decoration:none;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-family:var(--font-display);font-weight:600;font-size:.82rem}.admin-quicknav a:hover{border-color:var(--accent);color:var(--accent)}.admin-subpanel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.admin-subpanel-header-actions{display:flex;align-items:center;gap:8px}.admin-inline-form{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px}.admin-inline-form input{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.admin-inline-form input[type=number]{width:80px}.admin-inline-form span{color:var(--text-dim);font-size:.85rem}.admin-inline-checkbox{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-dim)}.admin-inline-checkbox input{width:auto}.leaderboard-history-toggle{display:inline-block;text-decoration:none;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:var(--font-display);font-weight:600;font-size:.85rem;cursor:pointer}.leaderboard-history-toggle:hover{border-color:var(--accent);color:var(--accent)}.admin-subpanel{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.admin-banner-review-list{display:flex;flex-direction:column;gap:12px}.admin-banner-review-card{display:flex;align-items:center;gap:16px;padding:12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2)}.admin-banner-review-card img{width:280px;height:140px;object-fit:contain;background:var(--surface);border-radius:var(--radius-sm);flex-shrink:0}.admin-banner-review-card>div:nth-child(2){flex:1;min-width:0}.admin-danger-btn{background:#f0556b1f;color:var(--red);border:1px solid rgba(240,85,107,.4);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.admin-danger-btn:hover:not(:disabled){background:#f0556b33;border-color:var(--red)}.admin-danger-btn:disabled{opacity:.6;cursor:default}.settings-page{max-width:640px}.settings-section{margin-top:24px;padding-top:24px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px}.settings-section:first-of-type{margin-top:0;padding-top:0;border-top:none}.settings-section h2{font-size:1.05rem}.settings-row{display:flex;flex-direction:column;gap:8px}.settings-row-label{color:var(--text-dim);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.settings-row-value{font-size:.95rem;word-break:break-all}.settings-inline-form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.settings-inline-form input{flex:1;min-width:200px;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem}.settings-inline-form input:focus{outline:none;border-color:var(--accent)}.settings-inline-form button{padding:9px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-weight:600;cursor:pointer;white-space:nowrap}.settings-inline-form button:disabled{opacity:.6;cursor:default}.settings-avatar-current{margin-top:28px}.settings-avatar-current img,.settings-avatar-current .feed-card-avatar{width:56px;height:56px}.settings-select{max-width:320px;padding:9px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.95rem}.settings-select:focus{outline:none;border-color:var(--accent)}.settings-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;cursor:pointer;color:var(--text);font-size:.9rem}.settings-toggle-row:hover{border-color:var(--text-dim)}.settings-danger-zone h2{color:var(--red)}.synthetic-access-toggle{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font-size:.85rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.synthetic-access-toggle:hover:not(:disabled){border-color:var(--accent)}.synthetic-access-toggle.active{background:#34c88a1f;color:var(--green);border-color:#34c88a66}.pro-access-toggle{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;font-size:.85rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.pro-access-toggle:hover:not(:disabled){border-color:var(--accent)}.pro-access-toggle.active{background:#34c88a1f;color:var(--green);border-color:#34c88a66}.synthetic-access-toggle.active:hover:not(:disabled){border-color:var(--green)}.synthetic-access-toggle:disabled{opacity:.6;cursor:default}.admin-user-search{display:block;width:100%;max-width:320px;margin:12px 0;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.admin-create-user-form{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.admin-create-user-form input{flex:1 1 200px;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.admin-create-user-form button{padding:10px 16px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#06251a;font-family:var(--font-display);font-weight:600;cursor:pointer}.admin-create-user-form button:hover:not(:disabled){background:var(--accent-hover)}.admin-create-user-form button:disabled{opacity:.6;cursor:not-allowed}.admin-orders-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:12px}.admin-orders-controls .admin-user-search{margin:0;flex:1 1 260px}.admin-orders-controls select,.admin-orders-controls input[type=number]{padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.admin-orders-controls input[type=number]{width:180px}.admin-orders-controls button[type=submit]{padding:10px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.admin-orders-controls button[type=submit]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.admin-orders-controls button[type=submit]:disabled{opacity:.6;cursor:default}.admin-checkbox-label{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:.9rem;white-space:nowrap;cursor:pointer}.dev-environment-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:8px 20px;background:#f0556b29;border-bottom:1px solid rgba(240,85,107,.4)}.dev-environment-banner-text{color:var(--red);font-family:var(--font-display);font-size:.85rem;text-align:center}.dev-environment-banner-link{padding:5px 12px;border-radius:var(--radius-sm);border:1px solid rgba(240,85,107,.5);color:var(--red);font-family:var(--font-display);font-weight:600;font-size:.8rem;text-decoration:none;flex-shrink:0}.dev-environment-banner-link:hover{background:#f0556b29}.competition-mode-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:10px 20px;background:#e0b84a29;border-bottom:1px solid rgba(224,184,74,.4)}.competition-mode-banner-text{color:var(--amber);font-family:var(--font-display);font-size:.9rem;text-align:center}.competition-mode-banner button{padding:6px 14px;border-radius:var(--radius-sm);border:1px solid rgba(224,184,74,.5);background:transparent;color:var(--amber);font-family:var(--font-display);font-weight:600;font-size:.85rem;cursor:pointer;flex-shrink:0}.competition-mode-banner button:hover:not(:disabled){background:#e0b84a29}.competition-mode-banner button:disabled{opacity:.6;cursor:default}.competition-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}.competition-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:16px}.competition-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.competition-card-header h3{display:flex;align-items:center;gap:8px;margin:0 0 4px}.competition-card-header p{margin:2px 0}.competition-description{color:var(--text);font-size:.88rem;line-height:1.4;white-space:pre-wrap;overflow-wrap:break-word;margin:4px 0 8px}.competition-card-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.competition-card .table-scroll{margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.competition-profiles-section{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:16px;margin-top:12px;display:flex;flex-direction:column;gap:10px}.competition-profiles-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.competition-profiles-header h4{margin:0}.competition-profile-list{display:flex;flex-direction:column;gap:10px}.competition-profile-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);padding:14px}.competition-profile-card-header h5{margin:0 0 4px}.competition-profile-card-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.competition-manage-panel{margin-top:16px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:16px}.competition-manage-panel h4{margin:0;font-size:.85rem;color:var(--text);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.competition-manage-section{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px}.competition-manage-section>.competition-secondary-btn{align-self:flex-start}.competition-banner-upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.competition-banner-image-block{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--border);padding-top:14px}.competition-file-upload-btn{display:inline-flex;align-items:center;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:var(--font-display);font-weight:600;font-size:.85rem;cursor:pointer}.competition-file-upload-btn:hover{border-color:var(--accent);color:var(--accent)}.competition-banner-preview{width:100%;max-width:320px;height:100px;object-fit:contain;background:var(--surface);border-radius:var(--radius-sm);border:1px solid var(--border)}.competition-banner-note{margin-top:-4px}.competition-invite-search{position:relative;max-width:320px}.competition-invite-results{position:absolute;z-index:10;top:100%;left:0;right:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-top:4px;list-style:none;padding:4px;max-height:260px;overflow-y:auto}.competition-invite-results li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:var(--radius-sm)}.competition-invite-results li:hover{background:var(--surface)}.competition-invite-results button{padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:transparent;color:var(--accent);font-size:.75rem;cursor:pointer}.competition-invite-results button:hover:not(:disabled){background:var(--accent);color:#06251a}.competition-invite-chips{display:flex;flex-wrap:wrap;gap:8px}.competition-invite-chip{display:flex;align-items:center;gap:6px;padding:4px 6px 4px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font-size:.8rem}.competition-invite-chip button{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.8rem;padding:4px}.competition-invite-chip button:hover{color:var(--red)}.status-badge.neutral{background:var(--surface-2);color:var(--text-dim);border:1px solid var(--border)}.competition-create-card{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);padding:20px;display:flex;flex-direction:column;gap:18px}.competition-edit-form{display:flex;flex-direction:column;gap:16px}.competition-form-section{display:flex;flex-direction:column;gap:10px}.competition-form-section>h4{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);font-weight:600}.competition-form-row{display:flex;flex-wrap:wrap;gap:14px}.competition-form-field{display:flex;flex-direction:column;gap:5px;flex:1 1 180px;min-width:0}.competition-form-field--wide{flex-basis:100%}.competition-form-field>span:first-child{font-size:.8rem;color:var(--text-dim)}.competition-form-field input,.competition-form-field textarea{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.9rem;font-family:inherit}.competition-form-field textarea{resize:vertical;min-height:60px}.competition-form-field input:focus,.competition-form-field textarea:focus{outline:none;border-color:var(--accent)}.competition-form-hint{margin:0;font-size:.72rem;color:var(--text-dim)}.competition-id-hint{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.competition-quick-picks{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.competition-quick-picks button{padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:.72rem;cursor:pointer}.competition-quick-picks button:hover{border-color:var(--accent);color:var(--accent)}.competition-visibility-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 14px;cursor:pointer;color:var(--text);font-size:.9rem}.competition-visibility-toggle:hover{border-color:var(--text-dim)}.competition-visibility-toggle span:first-child{display:flex;flex-direction:column;gap:2px}.competition-visibility-toggle .competition-form-hint{font-size:.75rem}.competition-form-row>.competition-visibility-toggle{flex:1 1 100%}.competition-advanced-toggle{align-self:flex-start;background:none;border:none;color:var(--text-dim);font-size:.8rem;cursor:pointer;padding:0;display:flex;align-items:center;gap:6px}.competition-advanced-toggle:hover{color:var(--text)}.competition-advanced-caret{display:inline-block;transition:transform .15s ease}.competition-advanced-caret.open{transform:rotate(90deg)}.competition-form-actions{display:flex;gap:10px}.competition-form-actions button[type=submit]{padding:10px 18px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:#06251a;font-family:var(--font-display);font-weight:600;font-size:.85rem;cursor:pointer}.competition-form-actions button[type=submit]:disabled{opacity:.6;cursor:default}.competition-banner-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;max-width:460px}.competition-banner-swatch{height:44px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;background-size:cover;background-position:center;transition:transform .1s ease,border-color .1s ease}.competition-banner-swatch:hover{transform:scale(1.06)}.competition-banner-swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--surface-2),0 0 0 4px var(--accent)}.competition-banner-swatch span{font-size:1.1rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}.competition-banner{height:140px;margin:-16px -16px 14px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;overflow:hidden}.competition-banner span{font-size:3rem;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}.competition-banner img{width:100%;height:100%;object-fit:cover}.competition-rule-pills{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.rule-pill{padding:3px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:.75rem}.competition-secondary-btn{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:var(--font-display);font-weight:600;font-size:.85rem;cursor:pointer}.competition-secondary-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.competition-secondary-btn:disabled{opacity:.6;cursor:default}.competition-caution-btn{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid rgba(224,184,74,.4);background:#e0b84a1f;color:var(--amber);font-family:var(--font-display);font-weight:600;font-size:.85rem;cursor:pointer}.competition-caution-btn:hover:not(:disabled){background:#e0b84a33;border-color:var(--amber)}.competition-caution-btn:disabled{opacity:.6;cursor:default}@keyframes competition-card-highlight{0%{border-color:var(--accent);box-shadow:0 0 0 3px #2dd4bf40}to{border-color:var(--border);box-shadow:none}}.competition-card--highlight{animation:competition-card-highlight 2.4s ease-out}.competition-join-btn{padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--accent);color:#06251a;font-family:var(--font-display);font-weight:600;font-size:.85rem;cursor:pointer}.competition-join-btn:hover:not(:disabled){opacity:.9}.competition-join-btn:disabled{opacity:.6;cursor:default}.calendar-nav{display:flex;align-items:center;gap:10px}.calendar-nav button{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.calendar-nav button:hover{border-color:var(--accent);color:var(--accent)}.calendar-month-label{font-family:var(--font-display);font-weight:700;min-width:9ch;text-align:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:12px}.calendar-weekday{text-align:center;font-size:.75rem;color:var(--text-dim);padding-bottom:4px}.calendar-day{display:flex;flex-direction:column;gap:2px;min-height:68px;min-width:0;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2)}.calendar-day.empty{border-color:transparent;background:transparent}.calendar-day.future{opacity:.5}.calendar-day-number{font-family:var(--font-display);font-size:.8rem;color:var(--text-dim)}.calendar-day-pl{font-family:var(--font-display);font-weight:700;font-size:.85rem;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-count{font-size:.7rem;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 480px){.calendar-day{min-height:52px;padding:4px;gap:0}.calendar-day-number,.calendar-day-pl{font-size:.7rem}.calendar-day-count{font-size:.6rem}}.calendar-day.win{background:#34c88a29;border-color:#34c88a66}.calendar-day.win .calendar-day-pl{color:var(--green)}.calendar-day.loss{background:#f0556b29;border-color:#f0556b66}.calendar-day.loss .calendar-day-pl{color:var(--red)}.calendar-day.flat .calendar-day-pl,.calendar-day.traded-only .calendar-day-pl{color:var(--text-dim)}.calendar-summary{display:flex;flex-wrap:wrap;gap:24px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.calendar-summary-item{display:flex;flex-direction:column;gap:2px}.calendar-summary-label{font-size:.75rem;color:var(--text-dim)}.calendar-summary-item span:last-child{font-family:var(--font-display);font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums}.positive{color:var(--green)}.negative{color:var(--red)}.buy{color:var(--green)}.sell{color:var(--red)}.empty-state{color:var(--text-dim)}.form-hint{margin:0;color:var(--text-dim);font-size:.85rem}.ticker-search{position:relative;flex:1 1 240px;max-width:420px}.watchlist-select{padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.85rem;max-width:160px}.movers-tab.watchlist-delete-tab:hover{border-color:var(--red);color:var(--red)}.movers-tab.watchlist-add-tab{color:var(--accent);border-color:var(--accent)}.watchlist-inline-form{display:flex;gap:6px}.watchlist-inline-form input{flex:1;min-width:0;max-width:220px;padding:8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.85rem}.watchlist-inline-form input:focus{outline:none;border-color:var(--accent)}.watchlist-inline-form button{flex:0 0 auto;padding:8px 10px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:.85rem}.watchlist-inline-form button[type=submit]{background:var(--accent);color:#06251a;font-weight:600}.watchlist-inline-form button:disabled{opacity:.5;cursor:not-allowed}.watchlist-inline-cancel{background:var(--surface-2);color:var(--text-dim)}.watchlist-inline-cancel:hover{color:var(--text)}.mover-chip.watchlist-chip{flex-direction:row;align-items:center;padding:6px 10px 6px 14px}.watchlist-chip-select{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:none;border:none;padding:0;cursor:pointer;color:inherit;font:inherit}.watchlist-chip-remove{flex:0 0 auto;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.75rem;padding:4px 0 4px 10px}.watchlist-chip-remove:hover{color:var(--text)}.ticker-search input{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem}.ticker-search input:focus{outline:none;border-color:var(--accent)}.search-results{position:absolute;z-index:10;top:100%;left:0;right:0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);margin-top:4px;list-style:none;padding:4px}.search-results li{padding:10px;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:8px}.search-results li:hover{background:var(--surface)}.search-results li span{color:var(--text-dim)}.trade-top-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.trade-cash-display{display:flex;align-items:baseline;gap:6px;padding:10px 16px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums}.trade-cash-display-label{color:var(--text-dim);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.trade-cash-display-value{font-family:var(--font-display);font-weight:700;font-size:1rem}.trade-mode-toggle{width:220px}.trade-layout{display:grid;grid-template-columns:2fr 1fr;gap:24px;align-items:start}.trade-layout>*{min-width:0}.trade-layout:fullscreen{min-height:100vh;padding:16px;gap:16px;background:var(--bg);overflow-y:auto}.chart-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px}.chart-panel-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.chart-panel-header h2{margin:0}.price-alert-panel{position:relative;margin-left:auto}@media (max-width: 640px){.price-alert-panel{margin-left:0}}.price-alert-toggle-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);font-size:1rem;line-height:1;cursor:pointer}.price-alert-toggle-btn:hover{border-color:var(--accent)}.price-alert-count{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 3px;border-radius:999px;background:var(--accent);color:var(--bg);font-family:var(--font-body);font-size:.65rem;font-weight:700;line-height:16px;text-align:center}.price-alert-panel-body{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:260px;display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.price-alert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.price-alert-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.85rem}.price-alert-list button{flex:0 0 auto;background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.85rem;padding:0}.price-alert-list button:hover{color:var(--text)}.price-alert-price-form{display:flex;gap:6px}.price-alert-price-form input{flex:1;min-width:0;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.85rem}.price-alert-price-form input:focus{outline:none;border-color:var(--accent)}.price-alert-price-form button{flex:0 0 auto;padding:6px 12px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:var(--bg);font-weight:700;font-size:.8rem;cursor:pointer}.price-alert-price-form button:disabled{background:var(--surface-2);color:var(--text-dim);cursor:not-allowed}.stock-logo-wrap{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:#fff;overflow:hidden;flex:0 0 auto}.stock-logo{width:100%;height:100%;object-fit:contain}.stock-logo-emoji{background:none;line-height:1}.trade-picker{display:flex;flex-direction:column;gap:12px}.favorites-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.favorites-label{color:var(--text-dim);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;margin-right:2px}.favorite-chip{padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-family:var(--font-display);font-size:.85rem;font-weight:600;cursor:pointer;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.favorite-chip:hover{color:var(--text);border-color:var(--text-dim)}.favorite-chip.active{background:var(--accent);border-color:var(--accent);color:#06251a}.movers-panel{display:flex;flex-direction:column;gap:10px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.movers-tabs{display:flex;gap:8px;flex-wrap:wrap}.movers-tab{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-family:var(--font-display);font-size:.85rem;font-weight:600;cursor:pointer}.movers-tab:hover{color:var(--text);border-color:var(--text-dim)}.movers-tab.active{background:var(--accent);border-color:var(--accent);color:#06251a}.movers-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.indices-bar-label{align-self:center;white-space:nowrap}.movers-empty{color:var(--text-dim);font-size:.85rem}.mover-chip{display:flex;flex-direction:column;align-items:flex-start;gap:2px;flex:0 0 auto;padding:8px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.8rem;cursor:pointer;transition:border-color .15s ease}.mover-chip:hover{border-color:var(--text-dim)}.mover-chip-symbol{font-family:var(--font-display);font-weight:700}.mover-chip-price{color:var(--text-dim);font-variant-numeric:tabular-nums}.favorite-star-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--text-dim);padding:0}.favorite-star-btn:hover,.favorite-star-btn.active{color:var(--amber)}.favorite-star-btn:disabled{opacity:.6;cursor:default}.trade-options-wrap{grid-column:1 / -1}.segmented.trade-mode-toggle{display:none}.chart-placeholder{color:var(--text-dim);padding:40px 0;text-align:center}.price-chart-container{width:100%;height:320px}.price-chart-wrapper.price-chart-fullscreen{display:flex;flex-direction:column;height:100vh;padding:16px;background:var(--bg)}.price-chart-wrapper.price-chart-fullscreen .price-chart-canvas-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.price-chart-wrapper.price-chart-fullscreen .price-chart-container{flex:1;height:auto}.price-chart-wrapper.price-chart-nested-fullscreen .price-chart-container{height:60vh}.price-chart-live-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:.75rem;font-weight:600}.price-chart-live-badge.connected{border-color:#34c88a66;background:#34c88a1f;color:var(--green)}.price-chart-live-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.price-chart-live-badge.connected .price-chart-live-dot{animation:price-chart-live-pulse 1.6s ease-in-out infinite}@keyframes price-chart-live-pulse{0%,to{opacity:1}50%{opacity:.35}}.price-chart-overlay-toggles{position:relative;z-index:3}.price-chart-overlay-trigger{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:var(--radius-sm);background:#12161fb3;border:none;cursor:pointer;color:var(--text-dim);font-size:.75rem;white-space:nowrap}.price-chart-overlay-trigger:hover{color:var(--text)}.price-chart-overlay-caret{display:inline-block;transition:transform .15s ease}.price-chart-overlay-caret.open{transform:rotate(90deg)}.price-chart-overlay-menu{position:absolute;top:calc(100% + 4px);right:0;display:flex;flex-direction:column;gap:2px;min-width:220px;padding:6px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);box-shadow:var(--shadow-card)}.price-chart-overlay-row{display:flex;align-items:center;gap:4px}.price-chart-overlay-row .price-chart-overlay-toggle{flex:1;min-width:0}.price-chart-overlay-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 8px;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;color:var(--text);font-size:.8rem;text-align:left;white-space:nowrap}.price-chart-overlay-toggle:hover{background:var(--surface)}.price-chart-overlay-alert-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border-radius:var(--radius-sm);border:none;background:none;color:var(--text-dim);font-size:.85rem;line-height:1;cursor:pointer}.price-chart-overlay-alert-btn:hover:not(:disabled){background:var(--surface);color:var(--text)}.price-chart-overlay-alert-btn:disabled{opacity:.35;cursor:not-allowed}.price-chart-fullscreen-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:1rem;line-height:1;cursor:pointer}.price-chart-fullscreen-btn:hover{border-color:var(--accent);color:var(--text)}.price-chart-fullscreen-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.price-chart-legend{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px;padding:4px 8px;border-radius:var(--radius-sm);background:#12161fb3;font-size:.75rem;color:var(--text-dim)}.price-chart-legend-item{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.price-chart-legend-swatch{width:12px;height:0;display:inline-block}.price-chart-legend-swatch.line{height:3px;border-radius:1px}.price-chart-legend-swatch.dashed{border-top:2px dashed}.price-chart-legend-swatch.dotted{border-top:2px dotted}.options-panel-content{display:flex;flex-direction:column;gap:20px}.options-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.options-controls select{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.options-header{display:flex;align-items:baseline;gap:10px}.options-header-symbol{font-family:var(--font-display);font-size:1.1rem}.options-header-price{color:var(--text-dim);font-variant-numeric:tabular-nums}.options-side-toggle{width:160px}.position-card-order{display:grid;grid-template-columns:2fr 1fr;gap:16px;align-items:start;padding:16px;border-top:1px solid var(--border)}.position-card-order>*{min-width:0}.position-card-order:fullscreen{min-height:100vh;padding:16px;gap:16px;background:var(--bg);overflow-y:auto;border-top:none}.position-card-chart-col{display:flex;flex-direction:column;gap:16px}.position-card-action-col{display:flex;flex-direction:column;gap:12px}.option-roll-toggle-btn{padding:8px 10px;border-radius:var(--radius-sm);border:1px dashed var(--border);background:none;color:var(--text-dim);cursor:pointer;font-size:.85rem}.option-roll-toggle-btn:hover{border-color:var(--accent);color:var(--text)}.external-link-btn{display:inline-block;width:fit-content;padding:8px 10px;border-radius:var(--radius-sm);border:1px dashed var(--border);background:none;color:var(--text-dim);text-decoration:none;cursor:pointer;font-size:.85rem}.external-link-btn:hover{border-color:var(--accent);color:var(--text)}.option-roll-form{display:flex;flex-direction:column;gap:14px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.option-roll-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--text-dim)}.option-roll-form input,.option-roll-form select{padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:1rem}.option-roll-form input:focus,.option-roll-form select:focus{outline:none;border-color:var(--accent)}.money-breakdown{display:flex;flex-direction:column;gap:6px;padding:12px;background:var(--surface-2);border-radius:var(--radius-sm);font-size:.85rem}.money-breakdown-row{display:flex;align-items:center;justify-content:space-between;color:var(--text-dim);font-variant-numeric:tabular-nums}.money-breakdown-value{color:var(--text)}.money-breakdown-total{padding-top:6px;border-top:1px solid var(--border);font-weight:600}.money-breakdown-total span:first-child{color:var(--text)}.option-roll-form button{padding:12px;border-radius:var(--radius-md);border:none;background:var(--accent);color:#06251a;font-weight:700;cursor:pointer}.option-roll-form button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 860px){.trade-layout,.position-card-order{grid-template-columns:1fr}.segmented.trade-mode-toggle{display:flex}.mobile-only-hidden{display:none}.trade-layout:fullscreen .price-chart-wrapper.price-chart-nested-fullscreen .price-chart-container,.position-card-order:fullscreen .price-chart-wrapper.price-chart-nested-fullscreen .price-chart-container{height:50vh}.trade-layout:fullscreen .chart-panel{padding:12px}.trade-layout:fullscreen .order-form,.position-card-order:fullscreen .order-form{padding:12px;gap:8px}.trade-layout:fullscreen .order-form h3,.position-card-order:fullscreen .order-form h3{font-size:1rem}.trade-layout:fullscreen .order-form .current-price,.position-card-order:fullscreen .order-form .current-price{font-size:1.1rem}.trade-layout:fullscreen .order-form .empty-state,.position-card-order:fullscreen .order-form .empty-state{margin:0}.trade-layout:fullscreen .order-form .form-hint,.position-card-order:fullscreen .order-form .form-hint{font-size:.75rem}.trade-layout:fullscreen .order-form-secondary-hint,.position-card-order:fullscreen .order-form-secondary-hint{display:none}.trade-layout:fullscreen .order-form input,.trade-layout:fullscreen .order-form select,.position-card-order:fullscreen .order-form input,.position-card-order:fullscreen .order-form select{padding:7px 8px;font-size:.9rem}.trade-layout:fullscreen .order-form .submit-btn,.position-card-order:fullscreen .order-form .submit-btn{padding:10px}}@media (orientation: landscape) and (max-height: 500px){.trade-layout:fullscreen{height:100vh;height:100dvh;grid-template-rows:100vh auto;grid-template-rows:100dvh auto;align-items:stretch;overflow-y:auto}.position-card-order:fullscreen{height:100vh;height:100dvh;grid-template-rows:100vh;grid-template-rows:100dvh;align-items:stretch;overflow-y:auto}.trade-layout:fullscreen .chart-panel,.position-card-order:fullscreen .position-card-chart-col{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.trade-layout:fullscreen .chart-panel{padding:10px}.trade-layout:fullscreen .chart-panel-header{flex:0 0 auto;margin-bottom:6px}.trade-layout:fullscreen .price-chart-wrapper.price-chart-nested-fullscreen,.position-card-order:fullscreen .price-chart-wrapper.price-chart-nested-fullscreen{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.trade-layout:fullscreen .price-chart-wrapper.price-chart-nested-fullscreen .price-chart-canvas-wrap,.position-card-order:fullscreen .price-chart-wrapper.price-chart-nested-fullscreen .price-chart-canvas-wrap{flex:1 1 auto;min-height:0}.trade-layout:fullscreen .price-chart-wrapper.price-chart-nested-fullscreen .price-chart-container,.position-card-order:fullscreen .price-chart-wrapper.price-chart-nested-fullscreen .price-chart-container{flex:1 1 auto;height:auto;min-height:100px}.trade-layout:fullscreen .order-form,.position-card-order:fullscreen .order-form{height:100%;padding:8px 10px;gap:5px;overflow-y:auto}.trade-layout:fullscreen .order-form h3,.position-card-order:fullscreen .order-form h3{font-size:.9rem}.trade-layout:fullscreen .order-form .current-price,.position-card-order:fullscreen .order-form .current-price{font-size:1rem}.trade-layout:fullscreen .order-form .day-change,.position-card-order:fullscreen .order-form .day-change{font-size:.75rem}.trade-layout:fullscreen .order-form .form-hint,.position-card-order:fullscreen .order-form .form-hint{font-size:.75rem;margin:0}.trade-layout:fullscreen .order-form .empty-state,.position-card-order:fullscreen .order-form .empty-state{margin:0}.trade-layout:fullscreen .order-form-secondary-hint,.position-card-order:fullscreen .order-form-secondary-hint{display:none}.trade-layout:fullscreen .order-form-row,.position-card-order:fullscreen .order-form-row{font-size:.75rem}.trade-layout:fullscreen .order-form-row-toggle,.trade-layout:fullscreen .order-form-row-select,.position-card-order:fullscreen .order-form-row-toggle,.position-card-order:fullscreen .order-form-row-select{padding:5px 8px}.trade-layout:fullscreen .order-form input,.trade-layout:fullscreen .order-form select,.position-card-order:fullscreen .order-form input,.position-card-order:fullscreen .order-form select{padding:5px 8px;font-size:.85rem}.trade-layout:fullscreen .order-form .submit-btn,.position-card-order:fullscreen .order-form .submit-btn{padding:8px}}@media (max-width: 640px){.trade-mode-toggle,.options-side-toggle{width:100%}}.chain-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:12px;overflow-x:auto;container-type:inline-size}.chain-table{font-size:.85rem;white-space:nowrap}.chain-table th,.chain-table td{text-align:center;padding:8px 10px;font-variant-numeric:tabular-nums}.chain-table td.symbol-cell{font-size:.85rem}.chain-price{font-weight:600;font-variant-numeric:tabular-nums}.chain-price.buy{color:var(--green)}.chain-price.sell{color:var(--red)}.chain-last-trade{color:var(--text-dim);font-size:.85rem;cursor:help}.chain-row-clickable{cursor:pointer}.chain-row-clickable:hover{background:#ffffff08}.chain-owned-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:#e0b84a29;color:var(--amber);font-size:.7rem;font-weight:700;vertical-align:middle}.chain-divider-row td{background:var(--surface-2);padding:8px 12px;text-align:left}tr.chain-row-active{background:#2dd4bf14}.chain-divider-price{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:700;margin-right:12px}.chain-divider-label{color:var(--text-dim);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.order-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px;display:flex;flex-direction:column;gap:14px}.order-form h3{margin:0}.current-price{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:700;margin:0}.day-change{font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600;margin:0}.ext-tag{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:var(--radius-sm);border:1px solid var(--amber);color:var(--amber);font-size:.65rem;font-weight:700;vertical-align:middle}.market-session-badge{display:inline-block;margin:0 0 4px;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid var(--amber);color:var(--amber);font-size:.75rem;font-weight:600;width:fit-content}.order-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--text-dim)}.order-form input,.order-form select{padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:1rem}.order-form input:focus,.order-form select:focus{outline:none;border-color:var(--accent)}.input-with-max{position:relative;display:flex}.input-with-max input{flex:1;min-width:0;padding-right:56px}.input-max-btn{position:absolute;top:50%;right:6px;transform:translateY(-50%);padding:4px 9px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:var(--bg);font-size:.7rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;cursor:pointer}.input-max-btn:hover:not(:disabled){background:var(--accent-hover)}.input-max-btn:disabled{background:var(--surface-2);color:var(--text-dim);cursor:not-allowed}.order-form-row{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--text-dim)}.order-form-row-toggle,.order-form-row-select{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-family:var(--font-body);font-weight:600;font-size:.9rem;cursor:pointer}.order-form select.order-form-row-select{width:auto;padding:8px 12px;font-size:.9rem}.order-form-row-toggle:hover,.order-form-row-select:hover{border-color:var(--accent)}.order-form-row-toggle span{color:var(--text-dim)}.input-prefix{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-dim);font-size:.95rem;pointer-events:none}.input-with-max input.has-prefix{padding-left:24px}.segmented{display:flex;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.segmented button{flex:1;min-width:0;padding:10px;background:var(--surface-2);color:var(--text-dim);border:none;cursor:pointer;font-family:var(--font-display);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.segmented button.active{background:var(--accent);color:#06251a}.segmented button.active.buy{background:var(--green);color:#06251a}.segmented button.active.sell{background:var(--red);color:#2a0a0f}.segmented button:disabled{cursor:not-allowed;opacity:.4}.submit-btn{padding:12px;border-radius:var(--radius-md);border:none;font-family:var(--font-display);font-weight:700;cursor:pointer;color:#fff}.submit-btn.buy{background:var(--green)}.submit-btn.sell{background:var(--red)}.submit-btn.accent{background:var(--accent);color:#06251a}.submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-card)}.submit-btn:disabled{opacity:.6;cursor:default}.trade-confirm-actions{display:flex;gap:10px;margin-top:4px}.trade-confirm-actions .submit-btn{flex:1}.trade-confirm-cancel{flex:1;padding:12px;border-radius:var(--radius-md);border:1px solid var(--border);background:none;color:var(--text);font-family:var(--font-display);font-weight:700;cursor:pointer}.trade-confirm-cancel:hover:not(:disabled){border-color:var(--text-dim)}.trade-confirm-cancel:disabled{opacity:.6;cursor:default}.trade-confirm .money-breakdown{margin-bottom:4px}.form-error{color:var(--red);font-size:.85rem}.form-success{color:var(--green);font-size:.85rem}.order-total{display:flex;align-items:center;justify-content:space-between;margin:0;padding-top:10px;border-top:1px solid var(--border);color:var(--text-dim);font-size:.85rem}.order-total span{font-family:var(--font-display);font-weight:700;font-size:1rem;color:var(--text);font-variant-numeric:tabular-nums}.status-badge{padding:4px 8px;border-radius:999px;font-size:.75rem;text-transform:capitalize}.fill-explain-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-left:6px;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--text-dim);font-size:.7rem;line-height:1;cursor:pointer}.fill-explain-btn:hover{color:var(--text);border-color:var(--text-dim)}.fill-explain-row td{padding:16px;background:var(--surface-2);text-align:left}.fill-explain-text{margin:10px 0 0}.status-badge.pending{background:#e0b84a29;color:var(--amber)}.status-badge.filled{background:#34c88a29;color:var(--green)}.status-badge.cancelled{background:#f0556b29;color:var(--red)}.row-actions{display:flex;gap:8px}.row-action-btn{padding:6px 12px;border-radius:var(--radius-sm);cursor:pointer;font-size:.85rem;font-weight:600;border:1px solid var(--border);background:var(--surface-2);color:var(--text);transition:background-color .15s ease,border-color .15s ease,color .15s ease}.row-action-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.row-action-btn.danger{background:#f0556b1f;color:var(--red);border-color:#f0556b66}.row-action-btn.danger:hover:not(:disabled){background:#f0556b33;border-color:var(--red);color:var(--red)}.row-action-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#0009;z-index:200}.modal-content{position:relative;width:100%;max-width:420px}.user-positions-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:20px;max-height:80vh;overflow-y:auto}.user-positions-modal h2{margin:0 0 14px;font-size:1.1rem}.modal-close{position:absolute;top:-12px;right:-12px;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-card)}.holdings-toolbar{display:flex;justify-content:flex-end;margin-bottom:8px}.sort-toggle-btn{padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-dim);font-size:.85rem;font-weight:600;cursor:pointer}.sort-toggle-btn:hover{color:var(--text);border-color:var(--text-dim)}.position-cards{display:flex;flex-direction:column;gap:12px}.position-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);overflow:hidden}.position-card-clickable{display:flex;flex-direction:column;gap:8px;padding:14px 16px;cursor:pointer}.position-card-clickable:hover{background:#ffffff08}.position-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--font-display);font-weight:700}.position-card-return{display:flex;flex-direction:row;align-items:center;gap:6px}.position-card-return-values{display:flex;flex-direction:column;align-items:flex-end;gap:1px}.position-card-return-pct{font-size:.75rem;font-weight:600}.position-card-no-quote{color:var(--amber);font-size:.75rem;font-weight:600}.position-card-sub{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text-dim);font-size:.85rem;font-variant-numeric:tabular-nums}.position-card-details{display:flex;gap:20px;padding-top:8px;border-top:1px solid var(--border)}.position-card-detail{display:flex;flex-direction:column;gap:2px;font-size:.85rem;font-variant-numeric:tabular-nums}.position-card-detail-label{color:var(--text-dim);font-size:.7rem;text-transform:uppercase;letter-spacing:.03em}.api-key-form{display:flex;gap:10px;margin-top:16px;max-width:480px}.api-key-form input{flex:1;padding:10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.api-key-form button{padding:10px 16px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#06251a;font-family:var(--font-display);font-weight:600;cursor:pointer}.api-key-form button:hover{background:var(--accent-hover)}.api-key-reveal{margin-top:16px;padding:14px 16px;border-radius:var(--radius-md);border:1px solid var(--green);background:#34c88a1f;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.api-key-reveal code{background:var(--surface-2);padding:2px 6px;border-radius:var(--radius-sm);word-break:break-all}.api-key-reveal button{background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;white-space:nowrap}.api-docs h3{margin-bottom:4px}.api-docs h3:not(:first-of-type){margin-top:24px}.code-sample{margin-bottom:12px}.code-sample-label{display:block;color:var(--text-dim);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px}.code-block{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;overflow-x:auto;font-size:.85rem;line-height:1.5;margin:0}.code-block code{white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.chat-toggle-btn{position:relative;background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);padding:6px 12px;cursor:pointer;font-family:var(--font-display);font-weight:500}.chat-unread-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--red);border:2px solid var(--bg)}.chat-toggle-btn:hover{color:var(--text);border-color:var(--text-dim)}.chat-panel{position:fixed;top:0;right:0;bottom:0;width:360px;max-width:100vw;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--border);box-shadow:-8px 0 24px #00000059;padding:16px;gap:10px;transform:translate(100%);transition:transform .2s ease;z-index:100}.chat-panel.open{transform:translate(0)}.chat-panel-header{display:flex;align-items:center;gap:8px}.chat-panel-header select{flex:1;min-width:0;padding:6px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.chat-panel-header-actions{display:flex;gap:6px}.chat-panel-header-actions button{background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);padding:6px 10px;cursor:pointer;white-space:nowrap}.chat-panel-header-actions button:hover{color:var(--text);border-color:var(--text-dim)}.chat-panel-close:hover{color:var(--red);border-color:var(--red)}.chat-directory{list-style:none;margin:0;padding:0;max-height:160px;overflow-y:auto;border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:2px}.chat-directory button{width:100%;text-align:left;background:none;border:none;color:var(--text-dim);padding:8px 10px;cursor:pointer}.chat-directory button:hover{background:var(--surface-2);color:var(--text)}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:1px;padding-right:4px}.chat-message{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;padding:3px 6px;border-radius:var(--radius-sm);transition:background-color .1s ease}.chat-message:hover{background:var(--surface-2)}.chat-message-sender{font-weight:700;color:var(--text-dim)}.chat-message.own .chat-message-sender{color:var(--accent)}.chat-message-sender:after{content:":"}.chat-message-body{flex:1 1 auto;min-width:0}.chat-message-time{color:var(--text-dim);font-size:.7rem;margin-left:auto;opacity:0;transition:opacity .1s ease}.chat-message:hover .chat-message-time{opacity:1}.chat-typing-indicator{height:18px;color:var(--text-dim);font-size:.8rem;font-style:italic}.chat-composer{display:flex;gap:8px;margin-top:8px}.chat-composer input{flex:1;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text)}.chat-composer input:focus{outline:none;border-color:var(--accent)}.chat-composer button{padding:10px 18px;border-radius:var(--radius-md);border:none;background:var(--accent);color:#06251a;font-family:var(--font-display);font-weight:600;cursor:pointer}.chat-composer button:hover:not(:disabled){background:var(--accent-hover)}.chat-composer button:disabled{opacity:.5;cursor:default}.medal-icon{display:block;overflow:visible}.medal-icon-sm{width:20px;height:24px}.medal-icon-lg{width:56px;height:66px}.medal-icon-gold{filter:drop-shadow(0 0 4px rgba(217,119,6,.55))}.medal-icon-epic{filter:drop-shadow(0 0 5px rgba(147,51,234,.6))}.medal-badge{display:inline-flex;cursor:help;transition:transform .15s ease}.medal-badge:hover{transform:translateY(-2px) scale(1.08)}.medal-badge-row{display:inline-flex;align-items:center;gap:3px;margin-left:6px}.medal-celebration{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260}.medal-celebration .confetti-burst{position:fixed;pointer-events:none}.medal-celebration-overlay{z-index:auto}.medal-celebration-panel{position:relative;width:100%;max-width:460px;display:flex;flex-direction:column;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:28px 24px;text-align:center;animation:medal-celebration-pop .42s cubic-bezier(.2,.9,.3,1.3) both}@keyframes medal-celebration-pop{0%{opacity:0;transform:scale(.85) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.medal-celebration-kicker{font-family:var(--font-display);font-weight:800;font-size:1.3rem;background:linear-gradient(90deg,var(--accent),#facc15);-webkit-background-clip:text;background-clip:text;color:transparent}.medal-celebration-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:20px}.medal-celebration-item{display:flex;flex-direction:column;align-items:center;gap:4px;max-width:160px}.medal-celebration-name{font-family:var(--font-display);font-weight:700;font-size:.95rem}.medal-celebration-desc{font-size:.8rem;color:var(--text-dim)}.medal-celebration-dismiss{padding:10px 28px;border-radius:var(--radius-sm);border:none;background:var(--accent);color:#04211e;font-family:var(--font-display);font-weight:700;cursor:pointer}.medal-celebration-dismiss:hover{background:var(--accent-hover)}.medal-award-form{display:flex;flex-direction:column;gap:12px}.medal-award-options{display:flex;flex-wrap:wrap;gap:10px}.medal-award-option{display:flex;flex-direction:column;align-items:center;gap:6px;width:92px;padding:10px 6px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:.75rem;cursor:pointer}.medal-award-option.selected{border-color:var(--accent);background:#2dd4bf1a}.medal-award-form input[type=text]{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit}
