:root{--bg:#070b16;--panel:#10172a;--panel2:#0c1222;--line:rgba(176,191,231,.13);--text:#edf1ff;--muted:#91a0c6;--purple:#8c6cff;--purple2:#bb8cff;--green:#50e5a4;--red:#ff6e84;--yellow:#ffc75f;--blue:#55bdf6;--shadow:0 24px 70px rgba(0,0,0,.31)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.01em;min-height:100vh;overflow-x:hidden}.aurora{position:fixed;border-radius:50%;filter:blur(100px);pointer-events:none;opacity:.22;z-index:-2}.aurora-one{width:480px;height:480px;background:#4828bf;top:-180px;left:-150px}.aurora-two{width:420px;height:420px;background:#08648b;bottom:-200px;right:-150px}.app-shell{max-width:1440px;margin:auto;padding:0 42px 50px}.topbar{height:84px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;min-width:220px}.brand strong{font-size:17px;letter-spacing:-.03em;display:block;line-height:17px}.brand em{font-size:9px;color:#a8aee3;font-style:normal;letter-spacing:.25em;font-weight:800}.brand-mark{width:30px;height:30px;display:flex;align-items:end;gap:3px;background:linear-gradient(135deg,#a472ff,#5a54e8);border-radius:9px;padding:6px;box-shadow:0 0 23px rgba(140,108,255,.45)}.brand-mark i{display:block;background:white;width:4px;border-radius:3px}.brand-mark i:nth-child(1){height:8px}.brand-mark i:nth-child(2){height:15px}.brand-mark i:nth-child(3){height:20px}.main-nav{display:flex;gap:5px;height:100%;align-items:center}.nav-link{border:0;background:transparent;color:var(--muted);font:700 13px inherit;padding:11px 14px;cursor:pointer;position:relative}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active:after{content:"";position:absolute;bottom:-28px;left:13px;right:13px;height:2px;background:var(--purple);box-shadow:0 0 12px var(--purple)}.player-chip{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;background:rgba(17,24,45,.75);padding:6px 10px 6px 6px;color:var(--text);cursor:pointer;min-width:145px}.avatar,.profile-avatar{display:grid;place-items:center;background:linear-gradient(135deg,#dd86d8,#745eff);font-weight:900}.avatar{width:31px;height:31px;border-radius:9px;font-size:14px}.player-copy{text-align:left;line-height:13px;flex:1}.player-copy small{font-size:8px;letter-spacing:.12em;color:var(--muted);display:block}.player-copy strong{font-size:12px}.player-copy b{color:var(--purple2)}.chevron{color:var(--muted)}main{padding-top:26px}.page{display:none;animation:fade .32s ease}.page.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.market-strip{height:33px;border:1px solid var(--line);background:rgba(10,15,30,.72);border-radius:8px;display:flex;overflow:hidden;margin-bottom:21px}.ticker-item{padding:0 20px;border-right:1px solid var(--line);display:flex;align-items:center;gap:10px;white-space:nowrap;flex:1;justify-content:center}.ticker-item small{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.07em}.ticker-item strong{font-size:11px}.positive{color:var(--green)!important}.negative{color:var(--red)!important}.neutral{color:var(--yellow)!important}.dashboard-hero{min-height:290px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 28px 5px}.hero-copy{max-width:550px;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:900;color:#9da4d3;margin:0 0 10px}.eyebrow span{display:inline-block;width:7px;height:7px;background:var(--purple);box-shadow:0 0 11px var(--purple);border-radius:50%;margin-right:8px}.eyebrow b{font-weight:800;color:#7180ab;margin-left:8px}.hero-copy h1,.page-intro h1{font-size:44px;line-height:1.08;letter-spacing:-.055em;margin:0 0 15px}.hero-copy h1 span,.page-intro h1 span{background:linear-gradient(90deg,#b694ff,#6ec8ff);-webkit-background-clip:text;background-clip:text;color:transparent}.hero-text{font-size:13px;line-height:1.7;color:var(--muted);max-width:500px;margin:0}.hero-actions{margin-top:24px;display:flex;align-items:center;gap:17px}.primary-action,.secondary-action,.ghost-action{border:0;cursor:pointer;font:800 12px inherit;border-radius:9px;transition:.2s ease}.primary-action{background:linear-gradient(115deg,#8c6cff,#6655e8);color:white;padding:13px 15px;box-shadow:0 11px 30px rgba(100,78,237,.28)}.primary-action:hover{transform:translateY(-2px);box-shadow:0 15px 36px rgba(100,78,237,.42)}.primary-action kbd{font:700 11px inherit;padding:2px 5px;background:rgba(255,255,255,.17);border-radius:4px;margin-left:9px}.pulse-dot{width:7px;height:7px;display:inline-block;background:#d1ffec;border-radius:50%;margin-right:6px;box-shadow:0 0 10px #d1ffec}.ghost-action{color:#bac4e8;padding:11px 0;background:transparent}.ghost-action span,.text-button span,.secondary-action span{margin-left:4px;color:var(--purple2)}.hero-visual{height:270px;width:440px;position:relative}.globe{width:225px;height:225px;border-radius:50%;position:absolute;right:75px;top:12px;background:radial-gradient(circle at 35% 30%,#4c58a4 0,#27366a 24%,#152051 55%,#091231 75%);box-shadow:inset -21px -14px 40px rgba(0,0,0,.65),0 0 60px rgba(80,85,228,.45);overflow:visible}.globe-grid{position:absolute;inset:0;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 18px,rgba(173,206,255,.14) 19px 20px),repeating-linear-gradient(90deg,transparent 0 27px,rgba(173,206,255,.12) 28px 29px);transform:perspective(100px) rotateX(12deg)}.globe:before,.globe:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(174,198,255,.2);inset:26px -1px}.globe:after{inset:0 62px}.globe-shadow{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse at 25% 25%,transparent 42%,rgba(2,4,20,.84) 87%)}.globe-label{position:absolute;font-size:8px;font-weight:800;color:#d7d8ff;letter-spacing:.1em;text-shadow:0 0 7px #a09bff}.label-a{top:45%;left:25%}.label-b{top:28%;right:11%}.label-c{bottom:23%;left:4%}.label-d{bottom:12%;right:17%}.globe-dot{position:absolute;width:6px;height:6px;border-radius:50%;background:#d7f0ff;box-shadow:0 0 13px 4px #6c78ff}.dot-a{top:44%;left:22%}.dot-b{top:27%;right:25%}.dot-c{bottom:22%;left:20%}.orbital{position:absolute;border:1px solid rgba(138,120,255,.24);border-radius:50%;transform:rotate(-25deg)}.orbital-a{width:346px;height:126px;right:14px;top:61px}.orbital-b{width:294px;height:165px;right:40px;top:44px;transform:rotate(52deg)}.float-card{position:absolute;display:flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid rgba(177,186,241,.18);background:rgba(14,21,45,.85);backdrop-filter:blur(12px);border-radius:10px;box-shadow:var(--shadow);z-index:3}.float-card small{display:block;font-size:8px;color:var(--muted);font-weight:800;letter-spacing:.08em}.float-card strong{display:block;font-size:14px;margin-top:2px}.float-card-top{right:0;top:37px}.float-card-bottom{left:10px;bottom:28px}.mini-icon{display:grid;place-items:center;border-radius:7px;width:25px;height:25px;font-size:14px}.mini-icon.violet{background:rgba(140,108,255,.2);color:#b99cff}.mini-icon.green{background:rgba(80,229,164,.15);color:var(--green)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:15px}.stat-card,.panel,.portfolio-summary-item{border:1px solid var(--line);background:linear-gradient(135deg,rgba(20,29,54,.82),rgba(10,16,32,.87));box-shadow:var(--shadow)}.stat-card{border-radius:11px;padding:14px 16px;position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;width:80px;height:80px;right:-32px;top:-30px;border-radius:50%;background:var(--card-glow,rgba(140,108,255,.18));filter:blur(14px)}.stat-card small,.stat-card .label{display:block;font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.1em}.stat-card strong{font-size:21px;display:block;letter-spacing:-.04em;margin:7px 0 3px}.stat-card span{font-size:10px;color:#91a0c6}.stat-card .card-icon{position:absolute;right:14px;bottom:14px;width:27px;height:27px;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.055);color:#c9bcff}.dashboard-layout{display:grid;grid-template-columns:1.63fr .88fr;gap:15px;margin-top:15px}.panel{border-radius:12px;padding:20px}.panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.panel-heading h2,.allocation-panel h2,.transaction-panel h2{font-size:17px;margin:0;letter-spacing:-.035em}.text-button{border:0;background:transparent;color:#b4bde5;font:700 10px inherit;cursor:pointer;padding:3px 0}.text-button:hover{color:white}.chart-meta{display:flex;justify-content:space-between;align-items:end;margin-top:23px}.chart-meta strong{font-size:25px;letter-spacing:-.05em;display:block}.chart-meta span{font-size:10px;margin-top:4px;display:block}.range-controls{display:flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.range{border:0;background:transparent;color:#8491ba;font:800 9px inherit;padding:5px 7px;cursor:pointer}.range.active{background:rgba(140,108,255,.2);color:#d5cbff}.portfolio-chart{height:141px;margin-top:10px;position:relative}.portfolio-chart svg{width:100%;height:100%;overflow:visible}.chart-grid{stroke:rgba(176,191,231,.09);stroke-width:1}.chart-fill{fill:url(#chartGradient)}.chart-line{fill:none;stroke:#8e77ff;stroke-width:2.1;filter:drop-shadow(0 3px 7px rgba(140,108,255,.65))}.chart-point{fill:#d6ccff;stroke:#715aeb;stroke-width:3}.allocation-row{display:flex;gap:10px;margin-top:6px;flex-wrap:wrap}.allocation-chip{font-size:9px;color:#aeb8df;background:rgba(130,148,205,.07);border:1px solid rgba(159,174,221,.1);padding:5px 8px;border-radius:5px}.allocation-chip i{width:6px;height:6px;display:inline-block;border-radius:50%;margin-right:4px}.live-event-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(46,31,88,.85),rgba(14,20,42,.92))}.live-event-card:before{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-120px;top:-100px;background:#8d59ec;opacity:.16;filter:blur(5px)}.event-icon{width:37px;height:37px;display:grid;place-items:center;border-radius:11px;background:rgba(184,139,255,.18);color:#d3b6ff;font-size:19px;margin-bottom:23px}.event-live{color:#e1ccff}.live-event-card h2{font-size:20px;letter-spacing:-.045em;margin:0 0 9px;line-height:1.18;max-width:230px}.live-event-card>p:not(.eyebrow){color:#a7afd2;font-size:11px;line-height:1.6;margin:0}.event-effects{margin-top:20px;display:flex;gap:7px;flex-wrap:wrap}.effect-tag{font-size:9px;font-weight:800;padding:5px 7px;border-radius:5px}.effect-tag.positive-tag{color:#68f1b7;background:rgba(80,229,164,.1)}.effect-tag.negative-tag{color:#ff9aaa;background:rgba(255,110,132,.1)}.event-footer{display:flex;justify-content:space-between;margin-top:18px;padding-top:13px;border-top:1px solid rgba(199,196,255,.13);color:#8590bb;font-size:9px;font-weight:700}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.movers-list{margin-top:13px}.mover{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:10px 0;border-bottom:1px solid rgba(176,191,231,.09)}.mover:last-child{border-bottom:0}.company-logo{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;background:var(--logo-bg,#282759);color:var(--logo,#c8bbff);font-weight:900;font-size:11px}.mover strong{font-size:11px;display:block}.mover small{font-size:9px;color:var(--muted)}.mover-right{text-align:right}.mover-right strong{font-size:11px}.mover-right span{font-size:10px;font-weight:800;display:block;margin-top:3px}.challenge-mini{display:grid;grid-template-columns:29px 1fr auto;gap:9px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(176,191,231,.09)}.challenge-mini:last-child{border:0}.challenge-symbol{height:29px;width:29px;display:grid;place-items:center;background:rgba(140,108,255,.13);border-radius:8px;color:#c8b3ff}.challenge-mini strong{font-size:11px}.challenge-mini small{display:block;color:var(--muted);font-size:9px;margin-top:2px}.mini-progress{width:62px;text-align:right}.mini-progress b{font-size:10px;color:#beadff}.tiny-bar{height:3px;background:rgba(176,191,231,.13);border-radius:8px;margin-top:5px;overflow:hidden}.tiny-bar i{display:block;height:100%;background:var(--purple);border-radius:inherit}.page-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding:24px 0 27px}.page-intro h1{font-size:37px;margin-bottom:9px}.page-intro>div>p:last-child{margin:0;color:var(--muted);font-size:13px}.compact{align-self:center}.secondary-action{padding:11px 14px;color:#d4cbff;background:rgba(140,108,255,.12);border:1px solid rgba(171,147,255,.29)}.market-banner{display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(189,170,255,.22);border-radius:11px;padding:16px 18px;background:linear-gradient(100deg,rgba(83,54,160,.31),rgba(11,20,41,.87));margin-bottom:18px}.market-banner-left{display:flex;align-items:center;gap:13px}.market-banner .event-icon{margin:0}.market-banner strong{display:block;font-size:13px}.market-banner p{font-size:10px;margin:4px 0 0;color:#aab2d5}.market-banner-right{text-align:right}.market-banner-right small{color:#8e99c2;font-size:9px;display:block}.market-banner-right b{color:#cbbaff;font-size:12px}.market-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:17px}.search-box{display:flex;align-items:center;gap:8px;padding:0 11px;height:35px;flex:1;max-width:300px;border:1px solid var(--line);background:rgba(15,22,42,.66);border-radius:8px;color:#8c9ac3}.search-box span{font-size:19px;line-height:0}.search-box input{border:0;outline:0;color:var(--text);background:transparent;width:100%;font:11px inherit}.search-box input::placeholder{color:#737fa8}.sector-filters{display:flex;gap:5px;flex:1;overflow:auto;padding-bottom:1px}.filter-button,.sort-button{border:1px solid var(--line);background:rgba(15,22,42,.66);color:#94a0c8;font:800 10px inherit;border-radius:7px;padding:9px 10px;white-space:nowrap;cursor:pointer}.filter-button.active{color:#e1d9ff;border-color:rgba(160,136,255,.55);background:rgba(140,108,255,.18)}.sort-button{margin-left:auto}.sort-button span{color:#b69cff;margin-left:4px}.company-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.company-card{background:linear-gradient(145deg,rgba(21,29,54,.9),rgba(10,16,32,.9));border:1px solid var(--line);border-radius:12px;padding:14px;transition:.22s ease;min-width:0}.company-card:hover{transform:translateY(-3px);border-color:rgba(164,145,255,.45);box-shadow:0 15px 40px rgba(2,4,16,.28)}.company-top{display:flex;align-items:center;gap:10px}.company-top .company-logo{width:36px;height:36px;font-size:12px}.company-name{min-width:0;flex:1}.company-name strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.company-name small{display:block;margin-top:3px;font-size:9px;color:#9ba7ce}.sector-tag{font-size:8px;border:1px solid rgba(170,183,225,.16);border-radius:5px;padding:4px 5px;color:#aab4d7;font-weight:800}.price-row{display:flex;justify-content:space-between;align-items:end;margin:16px 0 13px}.price-row strong{font-size:21px;letter-spacing:-.05em}.price-row small{color:#92a0c7;font-size:9px}.price-row .change{font-size:11px;font-weight:900;text-align:right}.fundamentals{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(176,191,231,.1);padding-top:11px;gap:5px}.fundamental small{display:block;color:#7886af;font-size:8px;font-weight:800;letter-spacing:.06em}.fundamental b{font-size:10px;display:block;margin-top:4px;color:#d7def9}.card-actions{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.description-trigger{font-size:9px;color:#8d9ac5;border:0;background:transparent;cursor:pointer;padding:0}.trade-trigger{border:0;border-radius:6px;background:rgba(140,108,255,.16);color:#c7b8ff;font:800 9px inherit;padding:6px 8px;cursor:pointer}.trade-trigger:hover{background:var(--purple);color:white}.portfolio-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:16px}.portfolio-summary-item{border-radius:11px;padding:14px}.portfolio-summary-item small{display:block;color:#91a0c6;font:800 9px inherit;letter-spacing:.09em}.portfolio-summary-item strong{display:block;font-size:21px;letter-spacing:-.05em;margin-top:8px}.portfolio-summary-item span{display:block;color:#8996be;font-size:9px;margin-top:4px}.portfolio-layout{display:grid;grid-template-columns:1.62fr .82fr;gap:15px}.count-pill{font:800 9px inherit;color:#9eace0;background:rgba(148,158,207,.1);padding:5px 8px;border-radius:5px;white-space:nowrap}.positions-table{margin-top:15px}.position-head,.position-row{display:grid;grid-template-columns:1.45fr .75fr .8fr .8fr .7fr;gap:9px;align-items:center}.position-head{font:800 8px inherit;letter-spacing:.08em;color:#7e8bb3;padding:0 4px 8px}.position-row{border-top:1px solid rgba(176,191,231,.1);padding:10px 4px}.position-company{display:flex;gap:8px;align-items:center;min-width:0}.position-company .company-logo{width:27px;height:27px;font-size:9px}.position-company strong{font-size:10px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.position-company small{color:#8996bd;font-size:8px}.position-row>span,.position-row>b{font-size:10px;color:#d4dcfa}.position-row>b{font-size:10px}.manage-position{border:0;background:transparent;color:#c4b0ff;font:800 9px inherit;cursor:pointer;text-align:left;padding:0}.empty-state{text-align:center;color:#8794bd;font-size:11px;padding:38px 15px}.empty-state span{font-size:26px;display:block;margin-bottom:9px}.allocation-panel{min-height:328px}.donut-wrap{display:grid;place-items:center;margin:18px 0}.donut{height:137px;width:137px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--purple) 0deg,rgba(176,191,231,.14) 0deg);position:relative}.donut:after{content:"";position:absolute;inset:17px;background:#11192d;border-radius:50%;box-shadow:inset 0 0 20px rgba(0,0,0,.3)}.donut>div{z-index:1;text-align:center}.donut strong{display:block;font-size:19px;letter-spacing:-.06em}.donut small{font-size:8px;color:#8f9bc4}.sector-legend{display:grid;gap:8px}.legend-row{display:flex;justify-content:space-between;font-size:10px;color:#abb5d8}.legend-row span:first-child i{width:7px;height:7px;display:inline-block;border-radius:50%;margin-right:5px}.transaction-panel{margin-top:15px}.transaction-row{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:9px;padding:10px 0;border-top:1px solid rgba(176,191,231,.1)}.transaction-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;font-size:13px}.transaction-icon.buy{background:rgba(80,229,164,.12);color:var(--green)}.transaction-icon.sell{background:rgba(255,110,132,.1);color:var(--red)}.transaction-row strong{display:block;font-size:10px}.transaction-row small{font-size:9px;color:#8592bb}.transaction-row b{font-size:10px}.xp-box{min-width:185px;border:1px solid rgba(161,143,255,.28);background:rgba(140,108,255,.1);padding:11px 13px;border-radius:10px}.xp-box small{font-size:9px;color:#aca5dc;letter-spacing:.1em}.xp-box b{color:#e0d7ff}.xp-box strong{font-size:13px;display:block;margin:5px 0 7px}.xp-track{height:5px;background:rgba(180,170,255,.18);border-radius:5px;overflow:hidden}.xp-track i{height:100%;width:0;display:block;border-radius:inherit;background:linear-gradient(90deg,#8f70ff,#d29dff)}.achievements-hero{display:grid;grid-template-columns:76px 1fr auto;align-items:center;gap:18px;border:1px solid rgba(163,142,255,.25);border-radius:13px;padding:19px;background:radial-gradient(circle at 12% 0,rgba(138,100,255,.26),transparent 36%),linear-gradient(100deg,rgba(34,27,76,.9),rgba(12,19,40,.9))}.rank-seal{height:59px;width:59px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#c59aff,#6d56e9);box-shadow:0 0 35px rgba(154,111,255,.35);border:4px solid rgba(237,223,255,.17)}.rank-seal span{font-weight:950;font-size:25px}.achievements-hero h2{font-size:20px;margin:0 0 5px}.achievements-hero p:not(.eyebrow){font-size:11px;color:#a7b1d2;margin:0}.rank-next{text-align:right;display:grid;gap:3px}.rank-next small{font-size:8px;letter-spacing:.1em;color:#9c9ac5}.rank-next strong{font-size:12px;color:#d5c7ff}.rank-next span{font-size:9px;color:#7f8cb4}.section-title{display:flex;align-items:end;justify-content:space-between;margin:29px 0 13px}.section-title h2{font-size:19px;margin:0;letter-spacing:-.04em}.challenge-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.challenge-card{position:relative;border:1px solid var(--line);border-radius:12px;padding:16px;background:linear-gradient(145deg,rgba(20,29,54,.88),rgba(10,16,32,.9));overflow:hidden}.challenge-card.complete{border-color:rgba(80,229,164,.35);background:linear-gradient(145deg,rgba(18,48,48,.74),rgba(10,25,33,.9))}.challenge-card .challenge-symbol{height:35px;width:35px;font-size:17px;margin-bottom:17px}.challenge-card h3{font-size:13px;margin:0 0 5px}.challenge-card p{font-size:10px;color:#94a2c9;line-height:1.5;margin:0;min-height:30px}.challenge-card .reward{display:flex;justify-content:space-between;margin-top:17px;font-size:9px;color:#b8a7ff;font-weight:800}.challenge-card .reward .done{color:var(--green)}.challenge-progress{height:5px;background:rgba(176,191,231,.12);border-radius:8px;margin-top:9px;overflow:hidden}.challenge-progress i{height:100%;display:block;background:linear-gradient(90deg,#8064ff,#c08cff);border-radius:inherit}.badges-title{margin-top:29px}.badges-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.badge-card{padding:15px 8px;border-radius:11px;border:1px solid var(--line);text-align:center;background:rgba(15,22,42,.72)}.badge-card.locked{filter:grayscale(1);opacity:.48}.badge-icon{height:39px;width:39px;margin:0 auto 9px;display:grid;place-items:center;border-radius:12px;background:rgba(140,108,255,.15);color:#d1c5ff;font-size:20px}.badge-card.unlocked .badge-icon{background:linear-gradient(145deg,#a87bf9,#6354db);box-shadow:0 5px 18px rgba(126,94,239,.27);color:white}.badge-card strong{font-size:9px;display:block}.badge-card small{font-size:8px;color:#8593bd;display:block;margin-top:4px}.modal-backdrop{position:fixed;inset:0;z-index:20;background:rgba(3,5,14,.76);backdrop-filter:blur(6px);display:none;place-items:center;padding:20px}.modal-backdrop.open{display:grid;animation:fade .2s ease}.trade-modal,.profile-modal{width:min(420px,100%);border:1px solid rgba(177,163,249,.3);background:linear-gradient(150deg,#171e39,#0a1020);box-shadow:0 30px 90px rgba(0,0,0,.6);border-radius:15px;padding:22px;position:relative}.close-modal{position:absolute;right:13px;top:10px;border:0;background:transparent;color:#aab6df;font-size:25px;cursor:pointer}.trade-company{padding-right:25px}.trade-company .company-logo{width:44px;height:44px;font-size:14px;float:left;margin-right:11px}.trade-company strong{font-size:17px;display:block;padding-top:2px}.trade-company small{color:#94a0c8;font-size:10px}.trade-company:after{content:"";display:block;clear:both}.trade-tabs{display:grid;grid-template-columns:1fr 1fr;background:rgba(155,169,219,.07);border-radius:7px;padding:3px;margin-top:23px}.trade-tab{background:transparent;border:0;color:#8795bf;font:800 11px inherit;border-radius:5px;padding:8px;cursor:pointer}.trade-tab.active{color:white;background:rgba(140,108,255,.37)}.trade-balance{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:19px 0 12px;font-size:11px;color:#9da9cd}.trade-balance strong{color:#e7ecff}.quantity-label{display:block;margin-top:15px;font:800 10px inherit;color:#aeb9dc}.quantity-control{display:grid;grid-template-columns:38px 1fr 38px;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:7px}.quantity-control button{border:0;background:rgba(148,160,213,.07);font-size:19px;color:#c4bcf1;cursor:pointer}.quantity-control input{min-width:0;text-align:center;border:0;background:transparent;color:white;font:800 15px inherit;padding:8px;outline:0}.quick-amounts{display:flex;gap:6px;margin-top:9px}.quick-amounts button{border:1px solid rgba(165,177,226,.15);background:rgba(148,160,213,.07);color:#aeb8da;border-radius:5px;padding:5px 8px;font:800 9px inherit;cursor:pointer}.order-summary{display:flex;justify-content:space-between;padding:17px 0;font-size:11px;color:#9ca8cd}.order-summary strong{font-size:17px;color:#fff}.confirm-trade{width:100%;margin-top:2px}.trade-note{text-align:center;margin:12px 0 0;color:#7684aa;font-size:8px}.profile-header{display:flex;gap:12px;align-items:center;padding-bottom:19px;border-bottom:1px solid var(--line)}.profile-avatar{height:49px;width:49px;border-radius:14px;font-size:22px}.profile-header h2{font-size:21px;margin:0 0 3px}.profile-header>div>span{color:#b9a7ff;font-size:10px}.name-label{display:block;color:#a9b5d8;font:800 10px inherit;margin:17px 0}.name-label input{width:100%;border:1px solid var(--line);background:rgba(145,159,213,.06);color:white;padding:10px;border-radius:7px;margin-top:6px;outline:0;font:12px inherit}.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:18px}.profile-stats div{background:rgba(147,159,209,.07);border-radius:7px;padding:9px}.profile-stats small{font-size:8px;color:#8491ba;display:block}.profile-stats strong{font-size:12px;display:block;margin-top:4px}.reset-button{display:block;margin:13px auto 0;border:0;background:transparent;color:#b67f8d;text-decoration:underline;font:9px inherit;cursor:pointer}.toast-area{position:fixed;right:24px;bottom:23px;z-index:40;display:grid;gap:8px}.toast{border:1px solid rgba(183,169,255,.3);background:rgba(17,24,46,.95);backdrop-filter:blur(15px);padding:11px 14px;border-radius:9px;box-shadow:var(--shadow);font-size:11px;animation:toast .35s ease;max-width:320px}.toast strong{display:block;margin-bottom:3px}.toast small{color:#a6b1d3}.toast.success{border-color:rgba(80,229,164,.35)}@keyframes toast{from{transform:translateX(22px);opacity:0}to{transform:translateX(0);opacity:1}}@media(max-width:1000px){.app-shell{padding:0 25px 40px}.hero-visual{transform:scale(.86);transform-origin:right center;margin-right:-24px}.company-grid{grid-template-columns:repeat(2,1fr)}.badges-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.app-shell{padding:0 15px 30px}.topbar{height:70px}.main-nav{display:none}.brand{min-width:0}.player-chip{min-width:120px}.market-strip{display:none}.dashboard-hero{padding:29px 4px 20px;min-height:auto}.hero-copy h1,.page-intro h1{font-size:34px}.hero-visual{display:none}.stats-grid,.portfolio-summary{grid-template-columns:repeat(2,1fr)}.dashboard-layout,.two-column,.portfolio-layout{grid-template-columns:1fr}.live-event-card{min-height:220px}.page-intro{align-items:start;padding:27px 0 21px}.page-intro .primary-action,.page-intro .secondary-action{display:none}.market-toolbar{align-items:stretch;flex-wrap:wrap}.search-box{flex-basis:100%;max-width:none}.sector-filters{max-width:calc(100% - 90px)}.company-grid,.challenge-grid{grid-template-columns:1fr}.company-card{padding:15px}.badges-grid{grid-template-columns:repeat(3,1fr)}.achievements-hero{grid-template-columns:59px 1fr}.rank-next{display:none}.position-head{display:none}.position-row{grid-template-columns:1fr 55px 62px;gap:8px}.position-row>span:nth-of-type(2),.position-row>b{display:none}.position-row .manage-position{grid-column:3}.chart-meta{align-items:start;gap:9px;flex-direction:column}.portfolio-chart{height:130px}}
/* Identités visuelles originales : aucune marque réelle n'est utilisée. */
.company-logo.visual-logo{flex:none;overflow:hidden;border:1px solid rgba(213,231,255,.18);background-color:var(--logo-bg,#0b1c3b);background-repeat:no-repeat;background-position:var(--market-logo-position,50% 50%);box-shadow:0 5px 14px rgba(1,6,20,.24),inset 0 1px rgba(255,255,255,.09);color:transparent;font-size:0}
.company-logo.visual-company-logo{background-image:url('./assets/company-logo-atlas.png');background-size:600% 500%}
.market-fiction-notice{margin:0 0 16px;padding:11px 14px;border:1px solid rgba(92,182,246,.22);border-radius:13px;background:linear-gradient(100deg,rgba(42,118,184,.12),rgba(20,33,64,.16));color:#b9cae7;font-size:.8rem;line-height:1.5}.market-fiction-notice strong{color:#eaf4ff}
.company-origin{display:block;color:#88d4ff!important;font-size:.68rem!important;font-weight:800;letter-spacing:.03em}
.company-logo.visual-company-logo.fictional-company-logo{position:relative;isolation:isolate;display:grid;place-items:center;background-image:radial-gradient(circle at 30% 22%,rgba(255,255,255,.24),transparent 31%),linear-gradient(145deg,var(--logo-bg,#0b1c3b),#07142b);background-size:auto;overflow:hidden;color:#f7fbff}
.fictional-company-logo::before,.fictional-company-logo::after{content:"";position:absolute;z-index:-1;box-sizing:border-box}
.fictional-company-logo::before{width:68%;height:68%;border:3px solid var(--logo);border-radius:20px;transform:rotate(-12deg);box-shadow:0 0 17px color-mix(in srgb,var(--logo) 58%,transparent)}
.fictional-company-logo i{font-style:normal;font-size:.58em;font-weight:950;letter-spacing:-.08em;line-height:1;color:#fff;text-shadow:0 1px 7px rgba(0,0,0,.42)}
.fictional-company-logo.mark-fruit::before{width:52%;height:59%;border-radius:54% 48% 56% 43%;transform:rotate(24deg);background:var(--logo);border:0}.fictional-company-logo.mark-fruit::after{width:25%;height:18%;background:#d6fbc1;border-radius:100% 0;top:15%;right:23%;transform:rotate(-26deg)}
.fictional-company-logo.mark-orbit::before{width:75%;height:42%;border-radius:50%;transform:rotate(-28deg)}.fictional-company-logo.mark-orbit::after{width:19%;height:19%;border-radius:50%;background:var(--logo)}
.fictional-company-logo.mark-triangle::before{width:64%;height:59%;border-radius:8px;clip-path:polygon(50% 0,100% 100%,0 100%);background:var(--logo);border:0;transform:none}.fictional-company-logo.mark-arrow::before{width:69%;height:48%;border-radius:11px;clip-path:polygon(0 35%,67% 35%,67% 0,100% 50%,67% 100%,67% 65%,0 65%);background:var(--logo);border:0;transform:none}
.fictional-company-logo.mark-circuit-eye::before{width:72%;height:48%;border-radius:50%;transform:none}.fictional-company-logo.mark-circuit-eye::after{width:18%;height:18%;border-radius:50%;background:var(--logo)}.fictional-company-logo.mark-loop::before{width:66%;height:46%;border-radius:50%;transform:rotate(28deg)}.fictional-company-logo.mark-loop::after{width:43%;height:46%;border:3px solid var(--logo);border-radius:50%;transform:rotate(-28deg)}
.fictional-company-logo.mark-wave::before{width:76%;height:36%;border-width:0 0 4px;border-radius:50%;transform:rotate(-18deg)}.fictional-company-logo.mark-bolt::before{width:52%;height:72%;border:0;background:var(--logo);clip-path:polygon(54% 0,6% 55%,42% 55%,31% 100%,94% 38%,56% 38%);transform:none}.fictional-company-logo.mark-shield::before{width:58%;height:70%;border-radius:44% 44% 55% 55%;transform:none}.fictional-company-logo.mark-lily::before{width:60%;height:60%;border-radius:60% 0 60% 0;transform:rotate(45deg);background:var(--logo);border:0}
.fictional-company-logo.mark-ribbon::before{width:68%;height:32%;border-radius:50%;transform:rotate(26deg)}.fictional-company-logo.mark-spark::before{width:62%;height:62%;border:0;background:var(--logo);clip-path:polygon(50% 0,60% 38%,100% 50%,60% 61%,50% 100%,39% 60%,0 50%,39% 39%);transform:none}.fictional-company-logo.mark-columns::before{width:65%;height:62%;border-width:3px 0;background:linear-gradient(90deg,transparent 0 12%,var(--logo) 12% 26%,transparent 26% 39%,var(--logo) 39% 53%,transparent 53% 66%,var(--logo) 66% 80%,transparent 80%);border-radius:0;transform:none}.fictional-company-logo.mark-ring::before{border-radius:50%;transform:none}.fictional-company-logo.mark-play::before{width:58%;height:58%;border:0;background:var(--logo);clip-path:polygon(15% 0,100% 50%,15% 100%);transform:none}
.fictional-company-logo.mark-lens::before{width:61%;height:61%;border-radius:50%;transform:none}.fictional-company-logo.mark-prism::before{width:67%;height:64%;border:0;background:var(--logo);clip-path:polygon(50% 0,100% 76%,19% 100%,0 40%);transform:none}.fictional-company-logo.mark-drop::before{width:48%;height:68%;border-radius:60% 60% 60% 0;transform:rotate(-45deg);background:var(--logo);border:0}.fictional-company-logo.mark-star::before{width:67%;height:67%;border:0;background:var(--logo);clip-path:polygon(50% 0,61% 36%,100% 50%,61% 62%,50% 100%,39% 62%,0 50%,39% 36%);transform:none}.fictional-company-logo.mark-gem::before{width:67%;height:58%;border:0;background:var(--logo);clip-path:polygon(50% 0,100% 35%,72% 100%,28% 100%,0 35%);transform:none}
.fictional-company-logo.mark-star-ring::before{width:76%;height:76%;border-radius:50%;transform:none}.fictional-company-logo.mark-chip::before{width:58%;height:58%;border-radius:9px;transform:none}.fictional-company-logo.mark-cloud-kite::before{width:72%;height:47%;border-radius:51% 49% 45% 44%;transform:none}.fictional-company-logo.mark-road::before{width:30%;height:85%;border-width:0 3px;transform:rotate(38deg)}.fictional-company-logo.mark-bazaar::before{width:72%;height:54%;border-radius:11px 11px 45% 45%;transform:none}.fictional-company-logo.mark-sun-ore::before{width:64%;height:64%;border-radius:50%;background:var(--logo);border:0;transform:none}.fictional-company-logo.mark-seed::before{width:47%;height:68%;border-radius:100% 0 100% 0;background:var(--logo);border:0;transform:rotate(-28deg)}.fictional-company-logo.mark-arch::before{width:68%;height:65%;border-radius:55% 55% 0 0;transform:none}.fictional-company-logo.mark-bridge::before{width:75%;height:35%;border-width:3px 0;border-radius:50% 50% 0 0;transform:none}.fictional-company-logo.mark-signal::before{width:69%;height:69%;border-width:3px 3px 0 0;border-radius:100% 100% 0 0;transform:rotate(-45deg)}
.company-logo.visual-instrument-logo{background-image:url('./assets/market-instrument-logo-atlas.png');background-size:500% 400%}
.company-top .company-logo.visual-logo,.etf-card-top .company-logo.visual-logo,.alternative-asset-top .company-logo.visual-logo{width:40px;height:40px;border-radius:12px}
.analysis-top .company-logo.visual-logo,.trade-company .company-logo.visual-logo{width:46px;height:46px;border-radius:14px}
.position-company .company-logo.visual-logo{width:29px;height:29px;border-radius:9px}
.mover .company-logo.visual-logo,.earnings-preview-row .company-logo.visual-logo,.earnings-row .company-logo.visual-logo,.recent-earnings-row .company-logo.visual-logo{width:33px;height:33px;border-radius:10px}
@media(max-width:760px){.company-top .company-logo.visual-logo,.etf-card-top .company-logo.visual-logo,.alternative-asset-top .company-logo.visual-logo{width:42px;height:42px}}

/* Prise de bénéfices : la carte reste un résumé visuel, puis devient une action claire lorsque des gains sont réalisables. */
.gain-withdraw-trigger{display:block;width:100%;font:inherit;text-align:left;color:inherit;cursor:pointer;appearance:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.gain-withdraw-trigger:hover,.gain-withdraw-trigger:focus-visible{transform:translateY(-2px);border-color:rgba(103,239,186,.58);box-shadow:0 16px 32px rgba(24,207,151,.15);outline:none}.gain-withdraw-trigger span:after{content:' · Retirer mes gains';color:#76efc1;font-weight:800}.profit-withdraw-modal{width:min(430px,100%);border:1px solid rgba(102,240,188,.33);border-radius:17px;background:radial-gradient(circle at 88% 4%,rgba(55,212,165,.16),transparent 35%),linear-gradient(150deg,#172a3a,#081423);box-shadow:0 30px 90px rgba(0,0,0,.6);padding:24px;position:relative}.profit-withdraw-modal h2{margin:0;font-size:1.65rem;letter-spacing:-.05em}.profit-withdraw-intro{margin:10px 0 16px;color:#aebed1;font-size:.83rem;line-height:1.55}.profit-withdraw-balance{display:grid;gap:4px;padding:15px 16px;border:1px solid rgba(117,240,193,.2);border-radius:12px;background:rgba(80,229,164,.08)}.profit-withdraw-balance span,.profit-withdraw-balance small{color:#9cbbc5;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.profit-withdraw-balance strong{color:#82f1c5;font-size:1.8rem;letter-spacing:-.06em}.profit-withdraw-field{display:grid;gap:7px;margin-top:17px;color:#dbe8f2;font-size:.75rem;font-weight:800}.profit-withdraw-field input{width:100%;border:1px solid rgba(148,193,211,.24);border-radius:9px;background:rgba(4,14,25,.5);color:#fff;font:800 1rem inherit;padding:12px;outline:none}.profit-withdraw-field input:focus{border-color:#70e9bd;box-shadow:0 0 0 3px rgba(82,229,164,.12)}.profit-withdraw-field small,.profit-withdraw-note{color:#8da4b6;font-size:.68rem;font-weight:500;line-height:1.45}.profit-withdraw-submit{width:100%;margin-top:15px;background:linear-gradient(115deg,#2bbf91,#168f79);box-shadow:0 11px 30px rgba(46,199,150,.22)}.profit-withdraw-note{margin:13px 0 0;text-align:center}.profit-withdraw-empty{margin-top:15px;padding:14px;border:1px dashed rgba(163,190,206,.23);border-radius:10px;color:#aab9c5;font-size:.76rem;line-height:1.5}
@media(max-width:760px){.profit-withdraw-modal{padding:20px}.gain-withdraw-trigger{min-height:108px}}
