@layer reset, base, components, utilities;
@layer reset {
  *,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}img,svg{display:block;max-width:100%}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin-top:0}
}
@layer base {
  :root{--bg:#05060d;--bg2:#090b15;--panel:rgba(13,16,29,.72);--panel2:#0c1020;--panel3:#11162a;--line:rgba(145,160,205,.13);--line2:rgba(126,151,225,.24);--text:#f6f7fc;--muted:#9ba5bb;--muted2:#68738c;--cyan:#38d9ff;--cyan2:#1678ff;--violet:#755cff;--purple:#b547f2;--pink:#f72db8;--green:#3de59c;--yellow:#ffc35c;--red:#ff637f;--max:1240px;--header:76px;--radius:24px;--shadow:0 35px 100px rgba(0,0,0,.46)}
  body{min-width:320px;background:radial-gradient(circle at 50% -10%,rgba(78,65,210,.1),transparent 36%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;overflow-x:hidden;text-rendering:optimizeLegibility}
  body.menu-open{overflow:hidden}.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto;position:relative;z-index:3}.section{position:relative;padding:118px 0}.section--tight{padding:84px 0}.kicker{display:inline-flex;align-items:center;gap:9px;color:#b9c1d5;font-size:.72rem;font-weight:800;letter-spacing:.17em;text-transform:uppercase}.kicker::before{content:"";width:24px;height:1px;background:linear-gradient(90deg,var(--cyan),var(--pink));box-shadow:0 0 10px var(--cyan)}h1,h2,h3{letter-spacing:-.045em}h1{font-size:clamp(3.65rem,7vw,7.1rem);line-height:.92}h2{font-size:clamp(2.55rem,5vw,4.85rem);line-height:1.01}h3{font-size:1.28rem;line-height:1.15}p{color:var(--muted)}.gradient-text{background:linear-gradient(105deg,var(--cyan) 4%,#8088ff 43%,var(--pink) 95%);-webkit-background-clip:text;color:transparent}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.noise{position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");mix-blend-mode:soft-light}.cursor-orb{position:fixed;z-index:0;width:360px;height:360px;pointer-events:none;border-radius:50%;background:radial-gradient(circle,rgba(107,90,255,.095),transparent 70%);transform:translate(-50%,-50%);opacity:0;transition:opacity .25s}.skip{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}.skip:focus{position:fixed;left:12px;top:10px;z-index:10000;width:auto;height:auto;margin:0;padding:9px 13px;overflow:visible;clip:auto;clip-path:none;border-radius:10px;background:#fff;color:#05060d}
}
@layer components {
  .announce{height:34px;display:flex;align-items:center;justify-content:center;gap:8px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(29,115,149,.1),rgba(101,57,180,.1),rgba(196,39,159,.08));color:#acb6ca;font-size:.72rem;font-weight:650}.announce b{color:#dbe1ee}.announce .live-dot{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
  .header{position:fixed;inset:34px 0 auto;z-index:200;height:var(--header);border-bottom:1px solid transparent;transition:.3s}.header.scrolled{background:rgba(5,6,13,.76);border-color:var(--line);box-shadow:0 14px 45px rgba(0,0,0,.24);backdrop-filter:blur(22px)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px;font-size:1.27rem;font-weight:800;letter-spacing:-.045em}.brand img{width:43px;height:43px;border-radius:50%;filter:drop-shadow(0 0 17px rgba(145,65,255,.25))}.brand span span{background:linear-gradient(95deg,var(--pink),var(--violet));-webkit-background-clip:text;color:transparent}.nav-links{display:flex;align-items:center;gap:27px;color:#bec5d7;font-size:.86rem;font-weight:650}.nav-links>a:not(.button):hover{color:white}.nav-actions{display:flex;align-items:center;gap:10px}.mobile-actions{display:none}.menu-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:rgba(14,17,31,.85);color:#fff}.menu-toggle span{display:block;width:18px;height:1.5px;margin:5px auto;background:currentColor;transition:.2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.25px) rotate(-45deg)}
  .button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 20px;border:1px solid transparent;border-radius:14px;font-size:.88rem;font-weight:780;cursor:pointer;transition:transform .22s,border-color .22s,background .22s,box-shadow .22s}.button .icon{width:17px;height:17px}.button:hover{transform:translateY(-2px)}.button--primary{background:linear-gradient(115deg,#5b5ef4,#8a4df0 52%,#e42eb6);box-shadow:0 15px 38px rgba(125,63,231,.26),inset 0 1px rgba(255,255,255,.18);color:#fff}.button--primary:hover{box-shadow:0 21px 52px rgba(125,63,231,.4),inset 0 1px rgba(255,255,255,.18)}.button--ghost{border-color:var(--line2);background:rgba(13,16,29,.67);color:#e7eaf4;backdrop-filter:blur(14px)}.button--ghost:hover{border-color:rgba(116,181,255,.42);background:rgba(18,23,42,.85)}.button--small{min-height:40px;padding:0 15px;border-radius:11px;font-size:.78rem}.nav-links .mobile-actions{display:none}.text-link{display:inline-flex;align-items:center;gap:7px;color:#a59cff;font-weight:750;font-size:.84rem}.text-link:hover{color:#d4d0ff}
  .hero{position:relative;min-height:1040px;padding:180px 0 100px;overflow:hidden;isolation:isolate}.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-3;opacity:.8}.hero-grid{position:absolute;inset:0;z-index:-4;background-image:linear-gradient(rgba(107,125,187,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(107,125,187,.06) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.85) 58%,transparent 95%)}.hero::before{content:"";position:absolute;z-index:-2;width:640px;height:640px;right:-220px;top:-190px;border-radius:50%;background:rgba(190,50,229,.16);filter:blur(105px);animation:orb 13s ease-in-out infinite}.hero::after{content:"";position:absolute;z-index:-2;width:520px;height:520px;left:-290px;top:480px;border-radius:50%;background:rgba(28,178,226,.12);filter:blur(100px);animation:orb 16s ease-in-out infinite reverse}@keyframes orb{50%{transform:translate3d(45px,35px,0) scale(1.1)}}.hero-copy{max-width:950px;margin-inline:auto;text-align:center}.hero-badge{display:inline-flex;align-items:center;gap:9px;padding:8px 12px;border:1px solid rgba(111,138,212,.17);border-radius:999px;background:rgba(13,16,29,.67);color:#a9b3c7;font-size:.72rem;font-weight:720;backdrop-filter:blur(15px)}.hero-badge i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.hero h1{max-width:1060px;margin:28px auto 0}.hero h1 .line{display:block}.hero-lead{max-width:760px;margin:30px auto 0;font-size:1.11rem;color:#a7b0c4}.hero-actions{display:flex;justify-content:center;gap:13px;flex-wrap:wrap;margin-top:35px}.hero-proof{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin-top:26px;color:#77839b;font-size:.77rem;font-weight:650}.hero-proof span{display:flex;align-items:center;gap:8px}.hero-proof span::before{content:"";width:5px;height:5px;border-radius:50%;background:linear-gradient(var(--cyan),var(--violet));box-shadow:0 0 9px var(--cyan)}
  .hero-stage{position:relative;max-width:1120px;margin:78px auto 0;perspective:1300px}.stage-glow{position:absolute;inset:8% 12%;z-index:-1;border-radius:50%;background:linear-gradient(100deg,rgba(38,206,255,.24),rgba(119,75,255,.26),rgba(246,45,184,.19));filter:blur(70px);opacity:.75}.system-window{position:relative;overflow:hidden;border:1px solid rgba(132,166,239,.23);border-radius:27px;background:linear-gradient(155deg,rgba(15,20,38,.98),rgba(6,8,17,.98));box-shadow:var(--shadow),inset 0 1px rgba(255,255,255,.025);transform:rotateX(1.2deg)}.system-window::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(125deg,rgba(56,217,255,.85),transparent 21%,transparent 75%,rgba(247,45,184,.8));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.55;pointer-events:none}.window-bar{height:56px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(8,10,20,.75)}.window-brand{display:flex;align-items:center;gap:9px;font-size:.76rem}.window-brand img{width:26px;height:26px;border-radius:50%}.window-dots{display:flex;gap:8px}.window-dots span{width:7px;height:7px;border-radius:50%;background:#31394e}.system-content{display:grid;grid-template-columns:155px 1fr;min-height:510px}.app-rail{padding:18px 12px;display:flex;flex-direction:column;gap:7px;border-right:1px solid var(--line);background:rgba(7,9,18,.54)}.rail-item{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 12px;border-radius:10px;color:#727e96;font-size:.66rem;font-weight:650}.rail-item .icon{width:15px;height:15px}.rail-item.active{color:#fff;background:linear-gradient(90deg,rgba(102,82,246,.21),rgba(27,34,61,.26));box-shadow:inset 2px 0 #745cff}.rail-spacer{flex:1}.health{display:flex;align-items:center;gap:7px;padding:10px;border:1px solid rgba(61,229,156,.13);border-radius:10px;color:#739988;font-size:.59rem}.health i,.live i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 9px var(--green)}.dash{padding:22px}.dash-head{display:flex;align-items:center;justify-content:space-between}.dash-head small{display:block;color:#5f6b84;font-size:.53rem;letter-spacing:.16em}.dash-head h3{margin:4px 0 0;font-size:1rem}.live{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(61,229,156,.15);border-radius:999px;background:rgba(37,117,80,.08);color:#78d8ae;font-size:.58rem;font-weight:750}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:15px}.metric{padding:13px;border:1px solid rgba(128,150,210,.1);border-radius:11px;background:rgba(14,18,34,.62)}.metric small{display:block;color:#69758d;font-size:.51rem}.metric strong{display:block;margin-top:4px;font-size:1rem}.metric em{display:block;margin-top:2px;color:#4db88a;font-size:.47rem;font-style:normal}.signal-lane{position:relative;display:grid;grid-template-columns:1fr 78px 130px 78px 1fr;align-items:center;margin-top:14px}.node-card{min-height:104px;padding:14px;display:flex;gap:11px;align-items:center;border:1px solid rgba(130,153,216,.12);border-radius:13px;background:rgba(12,16,31,.78)}.node-icon{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(122,109,255,.23);border-radius:10px;background:linear-gradient(145deg,rgba(108,87,246,.2),rgba(181,65,239,.17));color:#a99cff}.node-icon .icon{width:18px}.node-card small{display:block;color:#69758c;font-size:.46rem}.node-card strong{display:block;margin-top:2px;font-size:.65rem}.node-card em{display:block;margin-top:4px;color:#8a95aa;font-size:.51rem;font-style:normal}.data-rail{height:2px;position:relative;background:linear-gradient(90deg,var(--violet),var(--cyan));box-shadow:0 0 13px rgba(56,217,255,.38)}.data-rail::before,.data-rail::after{content:"";position:absolute;top:-3px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 10px var(--cyan)}.data-rail::before{left:-2px}.data-rail::after{right:-2px}.packet{position:absolute;top:-5px;left:-4px;width:12px;height:12px;border:2px solid var(--cyan);border-radius:50%;animation:packet 2.4s linear infinite}@keyframes packet{to{left:calc(100% - 8px)}}.vortex-core{position:relative;width:116px;height:116px;display:grid;place-items:center;margin:auto}.vortex-core::before,.vortex-core::after{content:"";position:absolute;inset:7px;border:1px solid rgba(81,207,255,.24);border-radius:34%;transform:rotate(45deg);animation:core 10s linear infinite}.vortex-core::after{inset:20px;border-color:rgba(219,51,229,.3);animation-direction:reverse;animation-duration:7s}.vortex-core img{width:72px;height:72px;position:relative;z-index:2;border-radius:50%;filter:drop-shadow(0 0 19px rgba(125,73,255,.5))}@keyframes core{to{rotate:360deg}}.protection-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:12px}.protect-chip{padding:9px 7px;border:1px solid rgba(128,150,210,.09);border-radius:9px;background:rgba(7,10,20,.45);color:#768299;font-size:.48rem;white-space:nowrap}.protect-chip b{color:var(--green);margin-right:4px}.activity{margin-top:12px;padding:12px;border:1px solid rgba(128,150,210,.1);border-radius:12px;background:rgba(7,10,20,.5)}.activity-header,.event{display:grid;grid-template-columns:.7fr 1.15fr 1.1fr .7fr .65fr;gap:8px;align-items:center}.activity-header{padding:0 2px 8px;border-bottom:1px solid rgba(128,150,210,.07);color:#59647a;font-size:.44rem}.activity-header strong{grid-column:span 2;color:#d8ddec;font-size:.56rem}.event{padding:7px 2px;border-bottom:1px solid rgba(128,150,210,.055);color:#8792a7;font-size:.49rem}.event:last-child{border-bottom:0}.event .ticker{color:#e0e4ee;font-weight:800}.status-good{color:var(--green);font-weight:800}.status-block{color:var(--red);font-weight:800}.floating-status{position:absolute;padding:12px 14px;display:flex;align-items:center;gap:10px;border:1px solid rgba(137,160,223,.18);border-radius:14px;background:rgba(8,11,23,.9);box-shadow:0 18px 50px rgba(0,0,0,.4);backdrop-filter:blur(18px);animation:float 6s ease-in-out infinite}.floating-status .badge-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:linear-gradient(145deg,rgba(46,204,255,.13),rgba(148,66,255,.2));color:#91dfff}.floating-status small{display:block;color:#66728a;font-size:.48rem;letter-spacing:.08em}.floating-status strong{display:block;font-size:.62rem}.floating-status.one{right:-26px;top:18%}.floating-status.two{left:8%;bottom:-30px;animation-delay:-2.3s}@keyframes float{50%{transform:translateY(-8px)}}
  .logo-strip{position:relative;border-block:1px solid var(--line);background:rgba(8,10,19,.5);overflow:hidden}.marquee{display:flex;width:max-content;animation:marquee 28s linear infinite}.marquee-track{display:flex;align-items:center;gap:18px;padding:19px 9px}.cap-pill{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid rgba(130,150,206,.1);border-radius:999px;background:rgba(13,16,29,.7);color:#8d98ae;font-size:.68rem;font-weight:650}.cap-pill .icon{color:#8b7dff}@keyframes marquee{to{transform:translateX(-50%)}}
  .heading{max-width:780px;margin-bottom:58px}.heading.center{text-align:center;margin-inline:auto}.heading p{max-width:650px;margin:20px 0 0;font-size:1rem}.heading.center p{margin-inline:auto}.heading.split{max-width:none;display:grid;grid-template-columns:1.1fr .75fr;gap:90px;align-items:end}.heading.split p{margin-bottom:5px}
  .steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.steps::before{content:"";position:absolute;left:9%;right:9%;top:62px;height:1px;background:linear-gradient(90deg,transparent,var(--violet),var(--cyan),var(--green),transparent);opacity:.45}.step{position:relative;min-height:320px;padding:25px;border:1px solid var(--line);border-radius:21px;background:linear-gradient(145deg,rgba(17,21,39,.8),rgba(8,10,20,.78));overflow:hidden;transition:.3s}.step:hover{transform:translateY(-6px);border-color:rgba(117,92,255,.33);box-shadow:0 25px 65px rgba(0,0,0,.27)}.step::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 0,rgba(100,75,255,.13),transparent 34%);opacity:0;transition:.3s}.step:hover::after{opacity:1}.step-num{position:absolute;right:20px;top:18px;color:#414b61;font-size:.69rem;font-weight:800;letter-spacing:.14em}.step-icon{position:relative;z-index:1;width:55px;height:55px;display:grid;place-items:center;border:1px solid rgba(112,161,255,.22);border-radius:16px;background:linear-gradient(145deg,rgba(46,196,255,.11),rgba(136,65,255,.15));color:#8edfff}.step-icon .icon{width:22px;height:22px}.step h3{position:relative;z-index:1;margin:28px 0 0}.step p{position:relative;z-index:1;margin:11px 0 0;font-size:.86rem}.step-state{position:absolute;z-index:1;left:25px;bottom:23px;display:flex;align-items:center;gap:7px;color:#718078;font-size:.68rem;font-weight:650}.step-state i{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
  .control-room{display:grid;grid-template-columns:.78fr 1.22fr;gap:70px;align-items:center}.control-copy h2{font-size:clamp(2.6rem,4.5vw,4.45rem)}.control-copy>p{font-size:1rem}.tab-buttons{display:grid;gap:7px;margin-top:31px}.tab-button{width:100%;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:13px 14px;border:1px solid transparent;border-radius:13px;background:transparent;color:#7e899f;text-align:left;cursor:pointer;transition:.22s}.tab-button:hover,.tab-button.active{border-color:var(--line);background:rgba(14,18,34,.72);color:#e7eaf4}.tab-button .tab-icon{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(128,151,211,.12);border-radius:10px;background:rgba(9,12,24,.55);color:#8b7dff}.tab-button strong{display:block;font-size:.79rem}.tab-button small{display:block;margin-top:2px;color:#68748d;font-size:.67rem}.tab-button>span:last-child{font-size:.75rem}.control-screen{position:relative;perspective:1200px}.screen-glow{position:absolute;inset:8%;background:linear-gradient(100deg,rgba(39,203,255,.2),rgba(126,67,255,.25),rgba(236,45,185,.15));filter:blur(60px)}.screen-shell{position:relative;min-height:570px;padding:16px;border:1px solid rgba(134,163,230,.21);border-radius:25px;background:linear-gradient(155deg,rgba(16,20,38,.98),rgba(7,9,18,.99));box-shadow:var(--shadow);overflow:hidden}.screen-top{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 5px 11px;border-bottom:1px solid var(--line)}.screen-top .window-brand{font-size:.68rem}.screen-tabs{display:flex;gap:6px}.screen-tabs span{padding:5px 9px;border-radius:8px;color:#67738b;font-size:.55rem}.screen-tabs .active{background:rgba(102,82,246,.14);color:#c8c2ff}.screen-panel{display:none;padding-top:14px;animation:panelIn .4s ease}.screen-panel.active{display:block}@keyframes panelIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.overview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.overview-card{padding:14px;border:1px solid rgba(126,149,211,.1);border-radius:12px;background:rgba(12,16,31,.65)}.overview-card small{display:block;color:#647087;font-size:.5rem}.overview-card strong{display:block;margin-top:5px;font-size:1.07rem}.overview-card em{font-size:.47rem;color:var(--green);font-style:normal}.flow-map{position:relative;margin-top:11px;padding:18px;border:1px solid rgba(126,149,211,.1);border-radius:13px;background:radial-gradient(circle at 50% 50%,rgba(107,83,255,.1),transparent 40%),rgba(8,11,22,.55)}.flow-map-title{display:flex;justify-content:space-between;color:#d8ddec;font-size:.58rem}.flow-map-title span:last-child{color:#647087}.flow-nodes{display:grid;grid-template-columns:1fr 50px 1fr 50px 1fr;align-items:center;margin-top:22px}.mini-node{padding:13px 9px;border:1px solid rgba(128,151,211,.11);border-radius:11px;background:rgba(14,18,34,.78);text-align:center}.mini-node .icon{width:18px;margin:0 auto;color:#8e84ff}.mini-node strong{display:block;margin-top:7px;font-size:.58rem}.mini-node small{display:block;margin-top:3px;color:#667189;font-size:.46rem}.mini-line{height:1px;background:linear-gradient(90deg,var(--violet),var(--cyan));box-shadow:0 0 9px rgba(56,217,255,.35)}.screen-table{margin-top:11px;padding:12px;border:1px solid rgba(126,149,211,.1);border-radius:12px;background:rgba(7,10,20,.5)}.screen-row{display:grid;grid-template-columns:.6fr 1.2fr .8fr .85fr .65fr;gap:8px;padding:8px;border-bottom:1px solid rgba(126,149,211,.055);color:#7f8aa0;font-size:.5rem}.screen-row.head{color:#5d687f;font-size:.44rem}.screen-row:last-child{border:0}.screen-row b{color:#dce1ec}.screen-row .green{color:var(--green)}.screen-row .red{color:var(--red)}.monitor-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}.monitor-card,.risk-card{padding:14px;border:1px solid rgba(126,149,211,.1);border-radius:12px;background:rgba(10,14,27,.65)}.monitor-card h4,.risk-card h4{margin:0;font-size:.65rem}.channel-list{display:grid;gap:7px;margin-top:13px}.channel{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px;border:1px solid rgba(126,149,211,.08);border-radius:9px;background:rgba(6,9,18,.5)}.channel strong{display:block;font-size:.57rem}.channel small{display:block;margin-top:2px;color:#637087;font-size:.45rem}.channel span{align-self:center;color:var(--green);font-size:.48rem;font-weight:750}.connection{display:grid;gap:8px;margin-top:13px}.connection div{display:flex;justify-content:space-between;padding:9px;border-radius:8px;background:rgba(6,9,18,.48);color:#717d94;font-size:.48rem}.connection b{color:#b7c0d3}.risk-list{display:grid;gap:7px;margin-top:12px}.risk-item{display:grid;grid-template-columns:1fr auto;gap:9px;padding:9px;border:1px solid rgba(126,149,211,.08);border-radius:9px;background:rgba(6,9,18,.45);font-size:.5rem}.risk-item span{color:#8691a7}.switch{width:26px;height:15px;border-radius:999px;background:rgba(61,229,156,.24);position:relative}.switch::after{content:"";position:absolute;width:11px;height:11px;right:2px;top:2px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}.risk-chart{height:110px;margin-top:12px;position:relative;border-radius:10px;background:linear-gradient(rgba(122,141,193,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(122,141,193,.05) 1px,transparent 1px);background-size:25px 25px;overflow:hidden}.risk-chart svg{position:absolute;inset:0;width:100%;height:100%}.chart-line{fill:none;stroke:url(#chartgrad);stroke-width:2;filter:drop-shadow(0 0 4px rgba(65,210,255,.55));stroke-dasharray:420;stroke-dashoffset:420;animation:drawline 3.5s ease forwards}@keyframes drawline{to{stroke-dashoffset:0}}
  .safeguards{overflow:hidden}.aurora{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 18% 48%,rgba(35,164,224,.09),transparent 28%),radial-gradient(circle at 82% 22%,rgba(201,43,217,.08),transparent 27%)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.feature{min-height:310px;padding:26px;border:1px solid var(--line);border-radius:21px;background:linear-gradient(145deg,rgba(17,21,40,.78),rgba(8,10,20,.78));transition:.3s}.feature:hover{transform:translateY(-5px);border-color:rgba(119,101,255,.3)}.feature--wide{grid-column:span 2}.feature--accent{background:radial-gradient(circle at 90% 0,rgba(231,47,191,.13),transparent 38%),linear-gradient(145deg,rgba(20,20,43,.88),rgba(9,10,22,.85))}.feature-top{display:flex;justify-content:space-between;align-items:center}.feature-icon{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(121,150,221,.18);border-radius:15px;background:linear-gradient(145deg,rgba(46,193,255,.1),rgba(152,61,255,.14));color:#86dfff}.feature-icon .icon{width:21px}.feature-tag{color:#5c6880;font-size:.55rem;font-weight:800;letter-spacing:.13em}.feature h3{margin:25px 0 0}.feature>p{margin:9px 0 0;font-size:.86rem}.demo-box{margin-top:23px;padding:13px;border:1px solid rgba(126,149,211,.09);border-radius:12px;background:rgba(6,9,18,.48)}.duplicate-demo{display:grid;grid-template-columns:1fr 1fr;gap:9px}.duplicate-demo div{padding:12px;border-radius:10px;background:rgba(14,18,34,.65)}.duplicate-demo strong,.duplicate-demo small,.duplicate-demo b{display:block}.duplicate-demo strong{font-size:.7rem}.duplicate-demo small{margin-top:3px;color:#647087;font-size:.56rem}.duplicate-demo b{margin-top:9px;font-size:.53rem}.good{color:var(--green)}.bad{color:var(--red)}.meter{height:8px;border-radius:999px;background:rgba(82,95,130,.18);overflow:hidden}.meter span{display:block;width:72%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--cyan),var(--violet),var(--pink));box-shadow:0 0 16px rgba(130,64,255,.4)}.stack-demo{display:grid;gap:7px}.stack-demo div{display:flex;justify-content:space-between;padding:10px;border-radius:9px;background:rgba(14,18,34,.65);font-size:.62rem}.trim-demo{display:flex;align-items:center;gap:7px;font-size:.61rem;font-weight:760}.trim-demo i{flex:1;height:1px;background:linear-gradient(90deg,var(--violet),var(--cyan));position:relative}.trim-demo i::after{content:"";position:absolute;right:0;top:-2px;width:5px;height:5px;border-radius:50%;background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.log-demo{display:grid;gap:7px}.log-demo div{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;background:rgba(6,9,18,.43);color:#7f8aa0;font-size:.58rem}.log-demo i{width:6px;height:6px;border-radius:50%}
  .modules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.module-card{position:relative;min-height:410px;padding:28px;border:1px solid var(--line);border-radius:23px;background:linear-gradient(145deg,rgba(16,20,38,.84),rgba(8,10,20,.82));overflow:hidden;transition:.3s}.module-card:hover{transform:translateY(-6px);border-color:rgba(121,104,255,.32);box-shadow:0 25px 70px rgba(0,0,0,.3)}.module-card.featured{border-color:rgba(158,80,255,.34);background:radial-gradient(circle at 70% 0,rgba(205,48,222,.13),transparent 35%),linear-gradient(145deg,rgba(20,21,44,.9),rgba(8,10,21,.9))}.module-no{position:absolute;right:20px;top:15px;color:#30394d;font-size:2.8rem;font-weight:850;letter-spacing:-.07em}.module-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;border:1px solid rgba(125,147,214,.19);background:linear-gradient(145deg,rgba(48,207,255,.11),rgba(150,66,255,.15));color:#8bddff}.module-icon .icon{width:23px}.module-card h3{margin:26px 0 0;font-size:1.4rem}.module-card>p{font-size:.86rem}.module-list{display:grid;gap:10px;margin-top:23px}.module-list li{display:flex;align-items:flex-start;gap:8px;color:#929db2;font-size:.74rem}.module-list .icon{flex:0 0 14px;width:14px;height:14px;margin-top:2px;color:var(--green)}.module-card .text-link{position:absolute;left:28px;bottom:27px}
  .pricing-wrap{position:relative}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.price-card{position:relative;min-height:560px;padding:28px;border:1px solid var(--line);border-radius:23px;background:linear-gradient(145deg,rgba(16,20,38,.82),rgba(7,9,19,.83));display:flex;flex-direction:column}.price-card.popular{border-color:rgba(170,74,255,.42);background:radial-gradient(circle at 80% 0,rgba(221,48,208,.13),transparent 33%),linear-gradient(145deg,rgba(22,21,47,.93),rgba(8,10,22,.9));box-shadow:0 28px 80px rgba(77,32,148,.19)}.popular-label{position:absolute;right:18px;top:18px;padding:6px 9px;border:1px solid rgba(187,86,255,.25);border-radius:999px;background:rgba(97,43,151,.15);color:#d7b7ff;font-size:.54rem;font-weight:800;letter-spacing:.1em}.price-card h3{margin:0;font-size:1.4rem}.price-card .sub{min-height:48px;margin-top:8px;font-size:.8rem}.price{margin-top:22px;font-size:2rem;font-weight:830;letter-spacing:-.05em}.price small{display:block;margin-top:4px;color:#657089;font-size:.66rem;font-weight:600;letter-spacing:0}.price-features{display:grid;gap:11px;margin:25px 0}.price-features li{display:flex;gap:9px;color:#919cb1;font-size:.75rem}.price-features .icon{flex:0 0 15px;width:15px;height:15px;color:var(--green);margin-top:1px}.price-card .button{margin-top:auto}.pricing-note{margin-top:16px;padding:17px 19px;border:1px solid rgba(107,143,220,.12);border-radius:15px;background:linear-gradient(90deg,rgba(29,118,150,.07),rgba(122,53,176,.08));color:#8c98ae;font-size:.76rem;text-align:center}.compare{margin-top:40px;border:1px solid var(--line);border-radius:20px;overflow:hidden}.compare-row{display:grid;grid-template-columns:1.4fr repeat(3,.8fr)}.compare-row>div{padding:15px 17px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:#8792a8;font-size:.72rem;text-align:center}.compare-row>div:first-child{text-align:left;color:#b7c0d3}.compare-row>div:last-child{border-right:0}.compare-row:last-child>div{border-bottom:0}.compare-head{background:rgba(15,18,34,.8);font-weight:800}.compare .icon{width:15px;height:15px;margin:auto;color:var(--green)}
  .download-band{position:relative;overflow:hidden;padding:58px;border:1px solid rgba(132,155,220,.2);border-radius:29px;background:radial-gradient(circle at 85% 5%,rgba(218,45,206,.12),transparent 29%),radial-gradient(circle at 0 100%,rgba(40,189,239,.1),transparent 30%),linear-gradient(145deg,rgba(17,21,41,.9),rgba(7,9,19,.9));box-shadow:0 35px 90px rgba(0,0,0,.28)}.download-band::after{content:"";position:absolute;width:430px;height:430px;right:-120px;top:-250px;border:1px solid rgba(181,68,240,.1);border-radius:36%;transform:rotate(35deg);box-shadow:0 0 0 50px rgba(54,193,255,.017),0 0 0 110px rgba(153,63,255,.018)}.download-grid{display:grid;grid-template-columns:1fr .68fr;gap:65px;align-items:center}.download-band h2{font-size:clamp(2.5rem,4.5vw,4.2rem)}.download-band p{max-width:620px}.download-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.requirements{display:grid;gap:9px;position:relative;z-index:2}.req{padding:15px 17px;display:flex;justify-content:space-between;gap:14px;border:1px solid rgba(126,149,211,.11);border-radius:13px;background:rgba(7,10,20,.48);font-size:.72rem}.req span{color:#748097}.req b{color:#d8ddea}.version-tag{display:inline-flex;align-items:center;gap:7px;margin-top:17px;color:#718078;font-size:.68rem}.version-tag i{width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
  .faq-layout{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px;align-items:start}.faq-intro{position:sticky;top:120px}.faq-list{display:grid;gap:9px}.faq-list details{border:1px solid var(--line);border-radius:16px;background:rgba(13,16,30,.7);transition:.22s}.faq-list details[open]{border-color:rgba(127,102,255,.3);background:rgba(16,20,38,.85)}.faq-list summary{position:relative;padding:20px 52px 20px 21px;cursor:pointer;list-style:none;font-size:.88rem;font-weight:720}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:19px;top:50%;transform:translateY(-50%);width:27px;height:27px;display:grid;place-items:center;border:1px solid rgba(128,150,210,.14);border-radius:8px;background:rgba(6,9,18,.35);color:#8c97ad;transition:.2s}.faq-list details[open] summary::after{transform:translateY(-50%) rotate(45deg)}.faq-list details p{padding:0 21px 20px;margin:0;font-size:.82rem}
  .final-cta{position:relative;overflow:hidden;padding:80px 38px;border:1px solid rgba(143,137,255,.23);border-radius:30px;background:radial-gradient(circle at 50% -5%,rgba(108,75,255,.22),transparent 37%),radial-gradient(circle at 88% 100%,rgba(236,45,188,.11),transparent 28%),rgba(11,14,27,.9);text-align:center;box-shadow:0 40px 110px rgba(0,0,0,.38)}.final-cta::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(137,153,213,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(137,153,213,.05) 1px,transparent 1px);background-size:40px 40px;mask-image:radial-gradient(circle at 50% 38%,#000,transparent 69%)}.final-logo{position:relative;width:86px;height:86px;margin:0 auto 22px;padding:5px;border:1px solid rgba(165,102,255,.24);border-radius:50%;background:rgba(7,9,18,.66);box-shadow:0 0 55px rgba(136,68,255,.25)}.final-logo img{border-radius:50%}.final-cta h2,.final-cta p,.final-cta .hero-actions,.final-cta small,.final-cta .kicker{position:relative}.final-cta h2{max-width:800px;margin:15px auto 0}.final-cta p{max-width:650px;margin:20px auto 0}.final-cta small{display:block;margin-top:20px;color:#5e6980;font-size:.65rem}
  .footer{padding:46px 0 27px;border-top:1px solid var(--line);background:rgba(4,5,11,.74)}.footer-grid{display:grid;grid-template-columns:1.1fr repeat(3,.55fr);gap:55px}.footer-about p{max-width:330px;margin:16px 0 0;font-size:.76rem}.footer-col h4{margin:7px 0 14px;font-size:.69rem;color:#d6dbe8;letter-spacing:.08em;text-transform:uppercase}.footer-col a{display:block;margin:9px 0;color:#768299;font-size:.72rem}.footer-col a:hover{color:#fff}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:38px;padding-top:20px;border-top:1px solid rgba(128,150,210,.08);color:#4e596f;font-size:.64rem}
  .subhero{position:relative;padding:180px 0 80px;overflow:hidden}.subhero::after{content:"";position:absolute;width:560px;height:560px;right:-180px;top:-240px;border-radius:50%;background:rgba(177,49,227,.13);filter:blur(100px)}.subhero h1{max-width:890px;font-size:clamp(3.3rem,7vw,6.3rem)}.subhero p{max-width:720px;font-size:1.05rem}.breadcrumbs{display:flex;align-items:center;gap:8px;margin-bottom:24px;color:#69758c;font-size:.72rem}.breadcrumbs a{color:#9990ef}.page-card{padding:32px;border:1px solid var(--line);border-radius:22px;background:rgba(13,16,30,.72)}.two-col{display:grid;grid-template-columns:.78fr 1.22fr;gap:55px}.side-nav{position:sticky;top:120px;height:max-content;padding:17px;border:1px solid var(--line);border-radius:17px;background:rgba(12,15,28,.7)}.side-nav a{display:block;padding:10px 12px;border-radius:9px;color:#7f8aa0;font-size:.75rem}.side-nav a:hover,.side-nav a.active{background:rgba(101,82,246,.13);color:#ddd9ff}.content-stack{display:grid;gap:16px}.content-section{padding:29px;border:1px solid var(--line);border-radius:20px;background:rgba(13,16,30,.68)}.content-section h2{font-size:1.8rem}.content-section h3{margin-top:28px;font-size:1.05rem}.content-section p,.content-section li{font-size:.84rem}.content-section ul{display:grid;gap:9px}.content-section li{display:flex;gap:9px;color:#939eb2}.content-section li::before{content:"";flex:0 0 5px;width:5px;height:5px;margin-top:9px;border-radius:50%;background:var(--cyan)}.code{padding:15px;border:1px solid rgba(126,149,211,.1);border-radius:11px;background:#080a13;color:#bfc6d8;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.74rem;overflow:auto}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.support-card{padding:27px;border:1px solid var(--line);border-radius:21px;background:rgba(14,17,32,.72)}.support-card .feature-icon{margin-bottom:22px}.support-card p{font-size:.82rem}.release-card{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:26px;border:1px solid rgba(125,151,215,.16);border-radius:20px;background:radial-gradient(circle at 85% 0,rgba(201,43,216,.09),transparent 34%),rgba(13,17,31,.76)}.release-icon{width:66px;height:66px;display:grid;place-items:center;border:1px solid rgba(125,151,215,.18);border-radius:18px;background:linear-gradient(145deg,rgba(39,199,255,.1),rgba(145,66,255,.15));color:#8dddff}.release-icon .icon{width:27px}.release-card h2{font-size:1.55rem;margin:0}.release-card p{margin:5px 0 0;font-size:.8rem}.release-meta{display:flex;gap:13px;margin-top:10px;color:#68748b;font-size:.65rem}.changelog{display:grid;gap:10px}.change{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:18px;border-bottom:1px solid var(--line)}.change:last-child{border:0}.change time{color:#68748c;font-size:.7rem}.change h3{margin:0;font-size:.92rem}.change p{margin:6px 0 0;font-size:.77rem}.legal{max-width:900px}.legal h2{margin:34px 0 8px;font-size:1.4rem}.legal h2:first-child{margin-top:0}.legal p,.legal li{font-size:.85rem}.legal ul{list-style:disc;padding-left:20px}.legal li{margin:7px 0;color:#959fb3}
}
@layer utilities {
  .reveal{opacity:0;transform:translateY(25px);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .75s cubic-bezier(.2,.8,.2,1)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.09s}.delay-2{transition-delay:.18s}.delay-3{transition-delay:.27s}.muted{color:var(--muted2)}
}
@media(max-width:1100px){.nav-links{gap:16px}.nav-links>a:nth-child(4){display:none}.system-content{grid-template-columns:115px 1fr}.rail-item{justify-content:center;padding:0}.rail-item span{display:none}.steps{grid-template-columns:repeat(2,1fr)}.steps::before{display:none}.control-room{grid-template-columns:1fr}.control-copy{max-width:780px}.feature-grid{grid-template-columns:repeat(2,1fr)}.modules-grid,.pricing-grid{grid-template-columns:1fr 1fr}.price-card:last-child,.module-card:last-child{grid-column:span 2}.download-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-about{grid-column:span 2}}
@media(max-width:840px){:root{--header:68px}.container{width:min(calc(100% - 28px),var(--max))}.announce{font-size:.64rem}.header{inset:34px 0 auto;background:rgba(5,6,13,.76);border-bottom-color:var(--line);backdrop-filter:blur(20px)}.menu-toggle{display:block}.nav-links{position:fixed;inset:calc(34px + var(--header) + 10px) 14px auto;display:grid;gap:3px;padding:17px;border:1px solid var(--line);border-radius:18px;background:rgba(8,10,20,.98);box-shadow:0 30px 80px rgba(0,0,0,.58);opacity:0;transform:translateY(-12px);pointer-events:none;transition:.2s}.nav-links.open{opacity:1;transform:none;pointer-events:auto}.nav-links>a{padding:11px;border-radius:9px}.nav-links>a:nth-child(4){display:block}.nav-links .mobile-actions{display:grid}.nav-actions>.button{display:none}.hero{padding-top:160px}.system-content{grid-template-columns:86px 1fr}.signal-lane{grid-template-columns:1fr 45px 95px 45px 1fr}.vortex-core{width:90px;height:90px}.vortex-core img{width:55px}.metrics{grid-template-columns:repeat(2,1fr)}.protection-row{grid-template-columns:repeat(3,1fr)}.floating-status.one{right:5px}.heading.split{grid-template-columns:1fr;gap:17px}.feature-grid{grid-template-columns:1fr}.feature--wide{grid-column:auto}.modules-grid,.pricing-grid{grid-template-columns:1fr}.price-card:last-child,.module-card:last-child{grid-column:auto}.compare{overflow:visible}.compare-row{min-width:0}.compare-head{display:none}.compare-row:not(.compare-head){display:grid;grid-template-columns:repeat(3,1fr);gap:12px 6px;padding:16px 17px;border-bottom:1px solid var(--line)}.compare-row:not(.compare-head):last-child{border-bottom:0}.compare-row:not(.compare-head)>div{padding:0;border:0;font-size:.76rem}.compare-row:not(.compare-head)>div:first-child{grid-column:1/-1;font-weight:800;color:#e7ebf5;font-size:.82rem;text-align:center}.compare-row:not(.compare-head)>div:not(:first-child){display:flex;flex-direction:column;align-items:center;gap:6px;color:#8792a8;text-align:center}.compare-row:not(.compare-head)>div:nth-child(2)::before{content:"Signals";font-size:.6rem;color:#5c667d;letter-spacing:.03em;text-transform:uppercase}.compare-row:not(.compare-head)>div:nth-child(3)::before{content:"Intelligence";font-size:.6rem;color:#5c667d;letter-spacing:.03em;text-transform:uppercase}.compare-row:not(.compare-head)>div:nth-child(4)::before{content:"Ultimate";font-size:.6rem;color:#5c667d;letter-spacing:.03em;text-transform:uppercase}.faq-layout{grid-template-columns:1fr;gap:45px}.faq-intro{position:static}.footer-grid{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.side-nav{position:static}.support-grid{grid-template-columns:1fr}.release-card{grid-template-columns:auto 1fr}.release-card>.button{grid-column:1/-1}.release-card>.button{width:100%}}
@media(max-width:610px){.section{padding:88px 0}.section--tight{padding:68px 0}.brand{font-size:1.08rem}.brand img{width:38px;height:38px}.announce{padding:0 12px;text-align:center}.hero{min-height:auto;padding-top:142px}.hero h1{font-size:clamp(3.15rem,15.2vw,4.7rem)}.hero-lead{font-size:.96rem}.hero-actions{display:grid}.hero-actions .button{width:100%}.hero-proof{justify-content:flex-start;gap:12px}.hero-stage{margin-top:55px}.system-content{grid-template-columns:1fr;min-height:430px}.app-rail{display:none}.dash{padding:15px 12px}.dash-head h3{font-size:.82rem}.metric{padding:10px}.metric strong{font-size:.82rem}.signal-lane{grid-template-columns:1fr 32px 70px 32px 1fr}.node-card{min-height:78px;padding:9px}.node-icon{display:none}.node-card strong{font-size:.52rem}.node-card em{font-size:.4rem}.vortex-core{width:67px;height:67px}.vortex-core img{width:42px}.protection-row{grid-template-columns:repeat(2,1fr)}.activity-header,.event{grid-template-columns:.6fr 1.1fr .7fr}.activity-header>*:nth-child(4),.activity-header>*:nth-child(5),.event>*:nth-child(4),.event>*:nth-child(5){display:none}.activity-header strong{grid-column:span 2}.floating-status{display:none}.steps{grid-template-columns:1fr}.step{min-height:285px}.control-room{gap:44px}.tab-button{grid-template-columns:38px 1fr}.tab-button>span:last-child{display:none}.screen-shell{min-height:500px;padding:12px}.overview-cards{grid-template-columns:1fr 1fr}.overview-card:last-child{display:none}.flow-nodes{grid-template-columns:1fr 28px 1fr 28px 1fr}.mini-node{padding:10px 5px}.mini-node small{display:none}.screen-row{grid-template-columns:.6fr 1fr .75fr}.screen-row>*:nth-child(4),.screen-row>*:nth-child(5){display:none}.monitor-grid{grid-template-columns:1fr}.feature-grid,.modules-grid,.pricing-grid{grid-template-columns:1fr}.duplicate-demo{grid-template-columns:1fr}.download-band{padding:39px 23px}.download-actions{display:grid}.download-actions .button{width:100%}.final-cta{padding:60px 22px}.footer-grid{grid-template-columns:1fr}.footer-about{grid-column:auto}.footer-bottom{flex-direction:column}.subhero{padding-top:150px}.subhero h1{font-size:clamp(3rem,15vw,4.5rem)}.release-card{grid-template-columns:1fr}.release-icon{width:58px;height:58px}.change{grid-template-columns:1fr;gap:7px}.content-section,.page-card{padding:23px 19px}}
@media(pointer:fine){body:hover .cursor-orb{opacity:1}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.hero-canvas{display:none}}


/* v3 membership, multi-market, and dashboard additions */
.brand-logo-img{object-fit:cover;object-position:center center;display:block}.brand img.brand-logo-img,.window-brand img.brand-logo-img,.vortex-core img.brand-logo-img,.final-logo img.brand-logo-img{transform:none!important}
.portal-subhero{padding-bottom:58px}.portal-notice{display:flex;gap:16px;align-items:flex-start;padding:20px 22px;margin-bottom:22px;border:1px solid rgba(80,199,255,.18);border-radius:17px;background:linear-gradient(90deg,rgba(36,143,187,.09),rgba(132,56,205,.08));color:#9da8bd}.portal-notice strong{color:#e4e8f4}.portal-notice p{margin:5px 0 0;font-size:.82rem}.portal-notice-icon{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:rgba(58,205,255,.12);color:var(--cyan);font-weight:800}.portal-auth-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.portal-auth-card{min-height:310px;padding:28px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(17,22,41,.83),rgba(8,11,22,.82));box-shadow:0 26px 70px rgba(0,0,0,.22)}.portal-auth-card h2{margin:22px 0 0;font-size:1.65rem;letter-spacing:-.035em}.portal-auth-card p{color:#929db3}.portal-state{float:right;margin-top:-42px;color:#66738e;font-size:.58rem;font-weight:800;letter-spacing:.14em}.portal-form{display:grid;grid-template-columns:1fr auto;gap:9px;margin-top:24px}.portal-form input{min-width:0;height:52px;padding:0 15px;border:1px solid rgba(128,150,222,.17);border-radius:13px;outline:none;background:rgba(5,8,18,.72);color:#f5f7ff}.portal-form input:focus{border-color:rgba(125,94,255,.58);box-shadow:0 0 0 3px rgba(125,94,255,.1)}.portal-discord{margin-top:24px}.portal-status{display:none;margin-top:14px;padding:13px 16px;border:1px solid rgba(255,184,73,.2);border-radius:12px;background:rgba(111,73,14,.12);color:#d8bc8d;font-size:.78rem}.portal-status.show{display:block}.portal-heading{margin-top:96px}.portal-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.portal-feature{min-height:220px;padding:24px;border:1px solid var(--line);border-radius:19px;background:rgba(13,17,31,.72)}.portal-feature>span{color:#62708d;font-size:.68rem;font-weight:800;letter-spacing:.16em}.portal-feature h3{margin:24px 0 0;font-size:1.1rem}.portal-feature p{margin:9px 0 0;color:#8793aa;font-size:.81rem}.dashboard-concept{margin-top:25px;overflow:hidden;border:1px solid rgba(133,157,225,.2);border-radius:23px;background:#090c18;box-shadow:0 38px 100px rgba(0,0,0,.35)}.dash-concept-top{height:62px;padding:0 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(10,13,25,.87)}.dash-concept-body{min-height:470px;display:grid;grid-template-columns:190px 1fr}.dash-concept-body aside{padding:24px 15px;display:grid;align-content:start;gap:7px;border-right:1px solid var(--line);background:rgba(7,10,20,.62)}.dash-concept-body aside>*{padding:11px 13px;border-radius:10px;color:#758198;font-size:.76rem}.dash-concept-body aside b{color:#fff;background:linear-gradient(90deg,rgba(96,87,255,.18),rgba(33,42,71,.28));box-shadow:inset 2px 0 #745fff}.dash-concept-main{padding:25px}.dash-concept-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}.dash-concept-metrics>div,.dash-concept-panels>div{padding:17px;border:1px solid rgba(126,151,215,.11);border-radius:14px;background:rgba(14,19,35,.62)}.dash-concept-metrics small{display:block;color:#65728b;font-size:.56rem;letter-spacing:.12em}.dash-concept-metrics strong{display:block;margin-top:7px;font-size:1.15rem}.dash-concept-metrics em{display:block;margin-top:3px;color:#49c990;font-size:.6rem;font-style:normal}.dash-concept-panels{display:grid;grid-template-columns:repeat(2,1fr);gap:11px;margin-top:12px}.dash-concept-panels h3{margin:0 0 17px}.dash-concept-panels p{display:inline-block;width:68%;margin:8px 0;color:#78849b;font-size:.72rem}.dash-concept-panels b{font-size:.74rem}.window-brand .brand-logo-img{width:28px;height:28px;border-radius:50%}
@media(max-width:820px){.portal-auth-grid,.portal-feature-grid{grid-template-columns:1fr}.dash-concept-body{grid-template-columns:1fr}.dash-concept-body aside{display:none}.portal-heading{margin-top:72px}}
@media(max-width:610px){.portal-form{grid-template-columns:1fr}.portal-form .button{width:100%}.dash-concept-metrics,.dash-concept-panels{grid-template-columns:1fr}.dash-concept-main{padding:15px}.portal-auth-card{padding:22px}}

/* Functional member dashboard v4 */
.portal-help{display:block;margin-top:15px;color:#68758f;font-size:.67rem;line-height:1.55}.portal-status[data-type="error"]{border-color:rgba(255,93,132,.25);background:rgba(132,26,52,.13);color:#ffafc1}.portal-status[data-type="success"]{border-color:rgba(66,230,157,.24);background:rgba(29,116,78,.12);color:#9ce8c3}.portal-status[data-type="info"]{border-color:rgba(80,199,255,.2);background:rgba(36,143,187,.09);color:#a9d8e8}.portal-form button:disabled{opacity:.65;cursor:wait}.member-shell{margin-top:24px}.member-welcome{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:25px;border:1px solid rgba(133,157,225,.2);border-radius:22px;background:radial-gradient(circle at 88% 0,rgba(193,52,226,.13),transparent 30%),linear-gradient(145deg,rgba(18,23,43,.9),rgba(8,11,22,.9));box-shadow:0 28px 75px rgba(0,0,0,.25)}.member-avatar{width:66px;height:66px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(137,108,255,.36);border-radius:19px;background:linear-gradient(145deg,rgba(71,203,255,.18),rgba(167,54,255,.2));box-shadow:0 0 34px rgba(126,73,245,.2);font-weight:800;font-size:1.15rem}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-welcome-copy .kicker{margin:0 0 7px}.member-welcome-copy h2{margin:0;font-size:1.75rem;letter-spacing:-.04em}.member-welcome-copy p{margin:5px 0 0;color:#8f9ab0;font-size:.82rem}.member-actions{display:flex;align-items:center;gap:10px}.member-plan{padding:9px 13px;border:1px solid rgba(162,91,255,.26);border-radius:999px;background:linear-gradient(100deg,rgba(85,83,255,.16),rgba(214,45,188,.13));color:#d8c9ff;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.member-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:13px}.member-metrics article{padding:18px;border:1px solid rgba(126,151,215,.12);border-radius:16px;background:rgba(13,17,31,.77)}.member-metrics small,.member-id-line small,.download-ready small{display:block;color:#64718b;font-size:.56rem;font-weight:800;letter-spacing:.12em}.member-metrics strong{display:block;margin-top:8px;color:#edf0f8;font-size:1.06rem;text-transform:capitalize}.member-metrics em{display:block;margin-top:4px;color:#55d59a;font-size:.63rem;font-style:normal}.member-dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px;margin-top:13px}.member-panel{min-height:280px;padding:24px;border:1px solid var(--line);border-radius:19px;background:linear-gradient(145deg,rgba(17,22,41,.8),rgba(8,11,22,.78))}.member-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.member-panel-head h3{margin:8px 0 0;font-size:1.25rem}.portal-state.static{float:none;margin:0}.feature-icon.small{width:42px;height:42px}.member-panel>p{color:#8e99af;font-size:.8rem}.download-ready{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:23px;padding:16px;border:1px solid rgba(126,151,215,.11);border-radius:14px;background:rgba(5,8,18,.5)}.download-ready strong{display:block;margin-top:6px}.download-ready span{display:block;margin-top:2px;color:#69768e;font-size:.63rem}.button.disabled{opacity:.53;cursor:not-allowed;filter:saturate(.35)}.member-panel-note{margin-top:13px!important;color:#69768e!important;font-size:.68rem!important}.member-id-line{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.member-id-line strong{display:block;margin-top:7px;font-size:.78rem}.member-access-panel ul{display:grid;gap:9px;margin:20px 0 0;padding:0;list-style:none}.member-access-panel li{display:flex;align-items:flex-start;gap:9px;padding:10px 11px;border:1px solid rgba(126,151,215,.09);border-radius:11px;background:rgba(5,8,18,.42);color:#a3aec2;font-size:.72rem}.member-access-panel li .icon{flex:0 0 16px;width:16px;height:16px;color:#47da98}.coming-badge{padding:7px 10px;border:1px solid rgba(255,184,73,.2);border-radius:999px;background:rgba(119,76,15,.12);color:#d9b777;font-size:.55rem;font-weight:800;letter-spacing:.1em}.remote-control-preview{display:grid;gap:8px;margin-top:20px}.remote-control-preview div{display:flex;justify-content:space-between;gap:15px;padding:11px 12px;border:1px solid rgba(126,151,215,.09);border-radius:10px;background:rgba(5,8,18,.43);font-size:.69rem}.remote-control-preview span{color:#758198}.remote-control-preview b{color:#9da8bc}.member-shell[data-tier="ultimate"] .member-plan{color:#f2c9ff;border-color:rgba(229,70,241,.3)}.member-shell[data-tier="intelligence"] .member-plan{color:#c9d4ff;border-color:rgba(94,116,255,.3)}
@media(max-width:820px){.member-welcome{grid-template-columns:auto 1fr}.member-actions{grid-column:1/-1;justify-content:space-between}.member-metrics,.member-dashboard-grid{grid-template-columns:1fr}.download-ready{align-items:flex-start;flex-direction:column}.download-ready .button{width:100%}}
@media(max-width:520px){.member-welcome{grid-template-columns:1fr}.member-avatar{width:58px;height:58px}.member-actions{grid-column:auto;flex-wrap:wrap}.member-actions .button{flex:1}.member-welcome-copy h2{font-size:1.45rem}}


/* v6.1 cache-bust and mobile member dashboard corrections */
.portal-help{clear:both}
@media(max-width:610px){
  .announce span{display:none}
  .announce b{display:inline}
  .announce{height:34px;white-space:nowrap;font-size:.62rem}
  .portal-state{float:none;display:block;margin:16px 0 0}
  .portal-auth-card h2{margin-top:10px}
  .portal-discord{width:100%}
  .portal-help{clear:both;margin-top:14px}
  .portal-subhero h1{font-size:clamp(2.75rem,13vw,4rem)}
}


/* v7 connected-device dashboard */
.device-dashboard-status{margin-top:16px;padding:11px 13px;border:1px solid rgba(123,144,211,.16);border-radius:11px;background:rgba(7,10,22,.5);color:#8f9ab4;font-size:.72rem;font-weight:650}
.device-dashboard-status[data-state="online"]{color:#67dda4;border-color:rgba(66,230,157,.22);background:rgba(32,112,78,.08)}
.device-dashboard-status[data-state="attention"]{color:#f2c56f;border-color:rgba(242,197,111,.24);background:rgba(135,91,24,.08)}
.member-device-list{display:grid;gap:10px;margin-top:12px}
.member-device-card{padding:14px;border:1px solid rgba(123,144,211,.13);border-radius:13px;background:rgba(5,8,18,.56)}
.member-device-card.online{border-color:rgba(66,230,157,.22)}
.member-device-card.revoked{opacity:.72;border-color:rgba(255,99,133,.2)}
.member-device-head,.member-device-head>div,.member-device-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}
.member-device-head>div{justify-content:flex-start}.member-device-head i{width:8px;height:8px;border-radius:50%;background:#647089;box-shadow:none}.member-device-card.online .member-device-head i{background:#42e69d;box-shadow:0 0 12px rgba(66,230,157,.7)}
.member-device-head span strong,.member-device-head span small{display:block}.member-device-head span strong{color:#eef1fa;font-size:.8rem}.member-device-head span small{margin-top:2px;color:#69758e;font-size:.61rem}.member-device-head>b{color:#7e899f;font-size:.62rem}
.member-device-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:12px}.member-device-metrics span{padding:9px;border:1px solid rgba(123,144,211,.09);border-radius:9px;background:rgba(13,17,31,.64)}.member-device-metrics small,.member-device-metrics strong{display:block}.member-device-metrics small{color:#58647d;font-size:.48rem;letter-spacing:.1em}.member-device-metrics strong{margin-top:4px;color:#cfd5e5;font-size:.63rem}
.member-device-foot{margin-top:11px;color:#667189;font-size:.58rem}.device-revoke{border:1px solid rgba(255,99,133,.24);border-radius:8px;background:rgba(255,99,133,.07);color:#ff7c99;padding:7px 9px;font:inherit;font-weight:750;cursor:pointer}.device-revoke:hover{background:rgba(255,99,133,.14)}.member-device-foot em{color:#f2c56f;font-style:normal}
.member-device-positions{margin-top:11px}.member-device-positions-head{display:flex;align-items:center;justify-content:space-between;color:#8691a7;font-size:.55rem}.member-device-positions-head strong{color:#cfd5e5;font-size:.6rem}.member-device-positions .screen-table{margin-top:6px;padding:9px}.member-device-positions .screen-row{grid-template-columns:1.1fr .9fr .5fr .65fr .65fr;padding:6px}
@media(max-width:610px){.member-device-head,.member-device-foot{align-items:flex-start;flex-direction:column}.member-device-metrics{grid-template-columns:repeat(2,1fr)}.device-revoke{width:100%}}

.member-manage-note{display:block;margin-top:12px;color:var(--muted);font-size:.72rem;line-height:1.5;max-width:540px}
.member-manage-note[hidden]{display:none!important}


/* v10.0: working Discord-to-Whop subscription linking */
[hidden]{display:none!important}
.member-link-form{margin-top:16px;padding:16px;border:1px solid rgba(130,151,215,.18);border-radius:14px;background:rgba(7,10,21,.62)}
.member-link-form label{display:block;color:var(--text);font-size:.82rem;font-weight:800}
.member-link-form p{margin:6px 0 13px;color:var(--muted);font-size:.73rem;line-height:1.5}
.member-link-row{display:grid;grid-template-columns:minmax(210px,1fr) auto auto;gap:9px;align-items:center}
.member-link-row input{width:100%;min-height:42px;padding:0 13px;border:1px solid rgba(126,151,215,.22);border-radius:11px;outline:none;color:var(--text);background:rgba(4,7,16,.74)}
.member-link-row input:focus{border-color:rgba(126,103,255,.65);box-shadow:0 0 0 3px rgba(112,74,255,.12)}
@media(max-width:700px){.member-link-row{grid-template-columns:1fr}.member-link-row .button{width:100%}}


/* v11.0 multi-strategy workspace */
.strategy-workspace-panel{grid-column:1/-1}
.member-positions-panel{grid-column:1/-1}
.portal-auth-grid .portal-auth-card{grid-column:1/-1}
.member-positions-panel .overview-cards{grid-template-columns:repeat(2,1fr);gap:13px}
.member-positions-panel .overview-card{padding:20px}
.member-positions-panel .overview-card small{font-size:.68rem;letter-spacing:.06em}
.member-positions-panel .overview-card strong{font-size:1.6rem;margin-top:8px}
.member-positions-panel .overview-card em{font-size:.66rem}
.member-positions-panel .screen-table{margin-top:16px;padding:16px}
.member-positions-panel .screen-row{grid-template-columns:1.1fr .9fr .5fr .65fr .65fr;padding:12px 10px;font-size:.72rem}
.member-positions-panel .screen-row.head{font-size:.62rem;letter-spacing:.05em}
/* The 5-column positions grid (contract/broker/qty/state/P&L) is real
   financial data - unlike the marketing hero's demo mockup .screen-row,
   which narrows to 3 columns and just hides the rest, this data shouldn't
   be silently dropped on a phone. Instead the row keeps its full column set
   but gets a floor width and scrolls horizontally within its own card, so a
   long option symbol or P&L value can never push the page itself wider
   than the viewport. */
@media(max-width:600px){
  .member-positions-panel .screen-table,
  .member-device-positions .screen-table{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .member-positions-panel .screen-row,
  .member-device-positions .screen-row{min-width:520px}
}
.strategy-workspace-head{align-items:flex-start}
.strategy-device-controls{display:flex;gap:9px;align-items:center}
.strategy-device-controls select,.strategy-editor input:not([type="checkbox"]):not([type="radio"]),.strategy-editor textarea,.strategy-editor select,.priority-label input{border:1px solid rgba(126,151,215,.2);border-radius:10px;background:rgba(5,8,18,.72);color:var(--text);min-height:40px;padding:0 11px;outline:none}
.strategy-device-controls select:focus,.strategy-editor input:not([type="checkbox"]):not([type="radio"]):focus,.strategy-editor textarea:focus,.strategy-editor select:focus,.priority-label input:focus{border-color:rgba(126,103,255,.72);box-shadow:0 0 0 3px rgba(112,74,255,.1)}
.strategy-sync-status{margin:16px 0;padding:12px 14px;border:1px solid rgba(66,230,157,.22);border-radius:12px;background:rgba(14,58,43,.13);color:#8ddbb5;font-size:.75rem;font-weight:750}
.strategy-sync-status[data-state="pending"]{border-color:rgba(250,194,76,.25);background:rgba(82,54,12,.14);color:#f1c86d}
.strategy-sync-status[data-state="error"]{border-color:rgba(255,91,130,.25);color:#ff8aa6}
.strategy-workspace-grid{display:grid;grid-template-columns:minmax(330px,.85fr) minmax(380px,1.15fr);gap:16px;margin-top:14px}
.strategy-editor,.strategy-library-column,.monitor-assignment-section{padding:18px;border:1px solid rgba(126,151,215,.12);border-radius:16px;background:rgba(6,9,20,.44)}
.strategy-editor{display:grid;gap:12px}
.strategy-editor-title,.strategy-column-title{display:flex;justify-content:space-between;gap:16px;align-items:center}.strategy-editor-title strong,.strategy-column-title strong{font-size:.92rem}.strategy-column-title span{color:var(--muted);font-size:.68rem}
.strategy-text-button{border:0;background:transparent;color:#aa9dff;cursor:pointer;font-weight:750}
.strategy-editor label{display:grid;gap:6px;color:var(--muted);font-size:.67rem;font-weight:750}.strategy-editor textarea{min-height:76px;padding:10px 11px;resize:vertical}
.strategy-two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px}.strategy-three-col{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.strategy-editor fieldset{margin:0;padding:12px;border:1px solid rgba(126,151,215,.12);border-radius:12px}.strategy-editor legend{padding:0 7px;color:var(--muted);font-size:.65rem;font-weight:760}
.strategy-check-row{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;min-width:0}.strategy-check-row label{display:inline-flex!important;grid-template-columns:none!important;flex:0 1 auto;align-items:center;gap:8px;min-width:0;max-width:100%;color:#c8cee0;font-size:.72rem;font-weight:650;line-height:1.25;white-space:normal}.strategy-check-row input[type="checkbox"],.strategy-check-row input[type="radio"]{flex:0 0 auto;align-self:center;box-sizing:border-box;min-width:18px;min-height:18px;width:18px!important;height:18px!important;max-width:18px!important;margin:0;padding:0!important;border:1px solid rgba(126,151,215,.35)!important;border-radius:4px!important;background:rgba(5,8,18,.9)!important;accent-color:#8b7dff;-webkit-appearance:checkbox;appearance:auto}.strategy-actions-checks{padding:4px 0}
.strategy-library{display:grid;gap:10px;margin-top:13px}.strategy-library-card{padding:14px;border:1px solid rgba(126,151,215,.13);border-radius:13px;background:rgba(10,14,29,.72)}.strategy-library-card.disabled{opacity:.56}.strategy-library-card>div:first-child{display:flex;justify-content:space-between;gap:12px}.strategy-library-card strong{font-size:.8rem}.strategy-library-card span,.strategy-library-card small{color:var(--muted);font-size:.63rem}.strategy-library-card p{margin:8px 0;color:#919bb1;font-size:.7rem}.strategy-card-actions{display:flex;gap:8px;margin-top:11px}.strategy-card-actions button{border:1px solid rgba(126,151,215,.16);border-radius:8px;background:rgba(8,11,22,.8);color:#cbd2e7;padding:6px 10px;cursor:pointer}.strategy-card-actions button:last-child{color:#ff7896}
.strategy-empty{padding:17px;border:1px dashed rgba(126,151,215,.18);border-radius:12px;color:var(--muted);font-size:.72rem;text-align:center}
.monitor-assignment-section{margin-top:16px}.monitor-assignment-list{display:grid;gap:11px;margin-top:13px}.monitor-assignment-card{padding:15px;border:1px solid rgba(126,151,215,.13);border-radius:14px;background:rgba(9,13,27,.68)}.monitor-assignment-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-bottom:11px;border-bottom:1px solid rgba(126,151,215,.09)}.monitor-assignment-head strong{display:block;font-size:.82rem}.monitor-assignment-head span{display:block;margin-top:3px;color:var(--muted);font-size:.63rem}.monitor-assignment-head b{color:#8ee0ff;font-size:.65rem}.monitor-strategy-rows{display:grid;gap:7px;margin-top:11px}.monitor-strategy-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:9px 10px;border:1px solid rgba(126,151,215,.09);border-radius:10px;background:rgba(5,8,18,.48)}.monitor-strategy-row>label:first-child{display:flex;align-items:center;gap:9px}.monitor-strategy-row strong{display:block;font-size:.72rem}.monitor-strategy-row small{display:block;color:var(--muted);font-size:.58rem}.priority-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.58rem}.priority-label input{width:76px;min-height:32px}
@media(max-width:900px){.strategy-workspace-grid{grid-template-columns:1fr}.strategy-three-col{grid-template-columns:1fr 1fr}.strategy-device-controls{width:100%;flex-wrap:wrap}.strategy-device-controls select{flex:1}}
@media(max-width:610px){.strategy-two-col,.strategy-three-col{grid-template-columns:1fr}.monitor-strategy-row{grid-template-columns:1fr}.priority-label{justify-content:space-between}.priority-label input{width:100px}.strategy-workspace-head{display:grid}.strategy-device-controls select{width:100%}}


/* v12 comprehensive strategy controls */
.strategy-capability-note{display:grid;gap:6px;margin:14px 0 18px;padding:14px 16px;border:1px solid rgba(89,207,255,.18);border-radius:14px;background:linear-gradient(90deg,rgba(38,151,204,.08),rgba(144,54,220,.08));font-size:.76rem;color:var(--muted)}
.strategy-capability-note strong{color:var(--text);font-size:.84rem}.strategy-capability-note b{color:#71e4b0}
.strategy-control-catalog{display:grid;gap:10px;margin:16px 0}.strategy-control-group{border:1px solid rgba(126,151,215,.14);border-radius:14px;background:rgba(6,9,20,.48);overflow:hidden}.strategy-control-group summary{display:flex;justify-content:space-between;gap:12px;padding:14px 15px;cursor:pointer;list-style:none}.strategy-control-group summary::-webkit-details-marker{display:none}.strategy-control-group summary strong{font-size:.82rem}.strategy-control-group summary span{color:var(--muted-2);font-size:.66rem}.strategy-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 14px 14px}.strategy-control-grid>label{display:grid;gap:6px;padding:10px;border:1px solid rgba(126,151,215,.09);border-radius:11px;background:rgba(8,11,23,.58);color:var(--muted);font-size:.69rem}.strategy-control-grid>label>span{display:flex;align-items:center;justify-content:space-between;gap:8px}.strategy-control-grid input:not([type=checkbox]),.strategy-control-grid select{width:100%;min-height:38px;padding:0 10px;border:1px solid rgba(126,151,215,.18);border-radius:9px;color:var(--text);background:rgba(3,6,15,.72)}.strategy-control-grid small{color:var(--muted-2);font-size:.61rem}.strategy-switch{grid-template-columns:auto 1fr auto!important;align-items:center}.strategy-switch input{width:17px;height:17px}.strategy-switch span{display:block!important;color:var(--text)}[data-support]{padding:3px 6px;border-radius:999px;font-size:.5rem!important;font-style:normal;text-transform:uppercase;letter-spacing:.08em;background:rgba(110,92,255,.13);color:#a99cff}[data-support=live]{background:rgba(57,208,146,.12);color:#67dfa8}[data-support=conditional],[data-support=partial]{background:rgba(54,184,234,.12);color:#68d7ff}[data-support=module]{background:rgba(235,166,54,.1);color:#e9bd68}.strategy-save-button{position:sticky;bottom:12px;width:100%;z-index:4;box-shadow:0 15px 35px rgba(0,0,0,.45)}@media(max-width:760px){.strategy-control-grid{grid-template-columns:1fr}.strategy-workspace-grid{grid-template-columns:1fr}}


/* v14 strategy-first signal-source assignments */
.source-assignment-row{grid-template-columns:minmax(220px,1fr) auto auto}.mode-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.58rem}.mode-label select{min-width:132px;min-height:32px;padding:0 8px;border:1px solid rgba(126,151,215,.18);border-radius:8px;background:rgba(5,8,18,.78);color:var(--text)}.strategy-source-card .monitor-assignment-head span{max-width:620px}.strategy-source-card:has([data-assignment-mode][value="run_all"]){border-color:rgba(238,73,200,.24)}
@media(max-width:760px){.source-assignment-row{grid-template-columns:1fr}.mode-label,.priority-label{justify-content:space-between}.mode-label select,.priority-label input{width:145px}}


/* v15.0: distinguish stored revision state from a live desktop sync */
.strategy-sync-status[data-state="idle"]{
  border-color:rgba(126,151,215,.22);
  background:rgba(31,39,68,.17);
  color:#aab5d1;
}


/* v16.0 dashboard-native strategy signal-source editor */
.dashboard-source-editor{margin-top:22px;padding:20px;border:1px solid rgba(113,135,194,.18);border-radius:18px;background:rgba(9,13,27,.55)}
.dashboard-source-editor .strategy-column-title>div{display:grid;gap:5px}.dashboard-source-editor .strategy-column-title b{color:#a88cff;font-size:.76rem}
.source-editor-form{display:grid;gap:14px;margin-top:17px}.source-editor-form label{display:grid;gap:7px;color:#8792ad;font-size:.7rem;font-weight:800;letter-spacing:.04em}.source-editor-form input,.source-editor-form select{min-height:43px;padding:0 12px;border:1px solid rgba(126,151,215,.2);border-radius:11px;background:rgba(4,7,16,.72);color:#eef1ff;outline:none}.source-editor-form input:focus,.source-editor-form select:focus{border-color:rgba(126,103,255,.65);box-shadow:0 0 0 3px rgba(112,74,255,.11)}
.strategy-three-col{display:grid;grid-template-columns:1.5fr .55fr .7fr;gap:12px}.source-enabled-label{display:flex!important;align-items:center;justify-content:center;gap:9px!important;min-height:43px;margin-top:20px;border:1px solid rgba(126,151,215,.16);border-radius:11px;background:rgba(4,7,16,.45)}.source-enabled-label input{min-height:auto;width:16px;height:16px;padding:0}
.source-editor-actions,.source-head-actions,.source-row-actions{display:flex;align-items:center;gap:9px}.source-head-actions{flex-wrap:wrap;justify-content:flex-end}.source-head-actions button,.source-row-actions button{border:1px solid rgba(126,151,215,.2);border-radius:9px;background:rgba(13,18,35,.75);color:#cbd3e9;padding:7px 10px;font-weight:750;cursor:pointer}.source-head-actions button:hover,.source-row-actions button:hover{border-color:rgba(137,104,255,.55);color:#fff}.source-row-actions button:last-child{color:#ff8eac;border-color:rgba(255,75,124,.25)}
.source-assignment-row{grid-template-columns:minmax(230px,1.4fr) minmax(150px,.75fr) minmax(90px,.4fr) auto}.source-row-actions{justify-content:flex-end}
@media(max-width:900px){.strategy-three-col{grid-template-columns:1fr}.source-enabled-label{margin-top:0}.source-assignment-row{grid-template-columns:1fr}.source-row-actions{justify-content:flex-start}}


/* v17 guided strategy workspace */
.strategy-view-tabs{display:flex;gap:8px;margin:16px 0}.strategy-view-tabs button{border:1px solid rgba(116,139,211,.2);background:rgba(8,12,25,.72);color:var(--muted);padding:10px 16px;border-radius:10px;font-weight:800;cursor:pointer}.strategy-view-tabs button.active{color:#fff;border-color:rgba(154,91,255,.7);background:linear-gradient(135deg,rgba(97,72,255,.28),rgba(223,56,190,.18))}.strategy-view{display:none}.strategy-view.active{display:block}.strategy-overview-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.strategy-overview-metrics article{padding:15px;border:1px solid rgba(116,139,211,.18);border-radius:12px;background:rgba(7,11,23,.72)}.strategy-overview-metrics small{display:block;color:var(--muted);font-size:.65rem;font-weight:800;letter-spacing:.08em}.strategy-overview-metrics strong{display:block;margin-top:6px;font-size:1.5rem}.strategy-overview-tools{display:grid;grid-template-columns:minmax(240px,1fr) auto auto auto;gap:9px;margin-bottom:12px}.strategy-overview-tools input,.strategy-overview-tools select{min-height:42px;border:1px solid rgba(116,139,211,.2);border-radius:10px;background:rgba(5,8,18,.72);color:var(--text);padding:0 12px}.strategy-overview-list{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-overview-card>b{display:inline-flex;margin:8px 0;color:#d8c7ff}.status-paused>b,.status-analysis_only>b{color:#f0c66a}.status-draft>b,.status-archived>b{color:#8e99b4}.strategy-live-summary{padding:12px 14px;margin-bottom:12px;border:1px solid rgba(153,91,255,.35);border-radius:12px;background:linear-gradient(135deg,rgba(99,72,255,.12),rgba(225,54,190,.08));font-weight:800}.strategy-builder-shell{display:grid;grid-template-columns:210px minmax(0,1fr) 285px;gap:12px}.strategy-builder-steps{display:flex;flex-direction:column;gap:7px;padding:10px;border:1px solid rgba(116,139,211,.18);border-radius:12px;background:rgba(6,10,21,.72)}.strategy-builder-steps button{padding:10px;text-align:left;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-weight:750;cursor:pointer}.strategy-builder-steps button.active{color:#fff;border-color:rgba(153,91,255,.55);background:rgba(111,77,255,.18)}.strategy-guided-editor{min-width:0}.strategy-step-panel{display:none}.strategy-step-panel.active{display:block}.strategy-trade-preview{padding:14px;border:1px solid rgba(116,139,211,.18);border-radius:12px;background:rgba(6,10,21,.78);align-self:start;position:sticky;top:90px}.strategy-trade-preview small{color:var(--muted);font-weight:900;letter-spacing:.08em}.strategy-trade-preview h4{font-size:1.3rem;margin:9px 0 3px}.strategy-trade-preview>b{color:#d8c7ff}.strategy-trade-preview>p{color:#f0c66a;font-size:.75rem}.strategy-trade-preview>div{padding:10px;margin-top:8px;border:1px solid rgba(116,139,211,.15);border-radius:9px;background:rgba(3,6,14,.58);font-size:.78rem}.strategy-builder-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:14px}.strategy-custom-editor,.strategy-review-card{padding:16px;border:1px solid rgba(116,139,211,.18);border-radius:12px;background:rgba(6,10,21,.58)}.strategy-rule-row,.strategy-filter-rule{display:grid;grid-template-columns:1fr 1.25fr .65fr auto;gap:7px;margin:8px 0}.strategy-filter-rule{grid-template-columns:.8fr 1fr 1fr auto auto}.strategy-rule-row input,.strategy-rule-row select,.strategy-filter-rule input{min-height:38px;border:1px solid rgba(116,139,211,.18);border-radius:8px;background:rgba(3,6,14,.68);color:var(--text);padding:0 10px}.strategy-rule-row button,.strategy-filter-rule button{border:1px solid rgba(255,79,134,.35);background:rgba(255,79,134,.1);color:#ff84aa;border-radius:8px}.strategy-activity-note{padding:14px;border:1px solid rgba(116,139,211,.18);border-radius:12px;background:rgba(6,10,21,.58)}.strategy-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.strategy-activity-grid article{padding:14px;border:1px solid rgba(116,139,211,.18);border-radius:12px;background:rgba(6,10,21,.58)}.strategy-activity-grid article strong,.strategy-activity-grid article span,.strategy-activity-grid article small{display:block}.strategy-activity-grid article span{color:#d8c7ff;margin:5px 0}.strategy-activity-grid article small{color:var(--muted)}
@media(max-width:1050px){.strategy-builder-shell{grid-template-columns:180px minmax(0,1fr)}.strategy-trade-preview{grid-column:1/-1;position:static}.strategy-overview-metrics{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.strategy-builder-shell{grid-template-columns:1fr}.strategy-builder-steps{display:grid;grid-template-columns:repeat(2,1fr)}.strategy-overview-tools{grid-template-columns:1fr}.strategy-overview-list,.strategy-activity-grid{grid-template-columns:1fr}.strategy-rule-row,.strategy-filter-rule{grid-template-columns:1fr}.strategy-overview-metrics{grid-template-columns:1fr 1fr}}


/* v18: desktop runtime clarification */
.strategy-runtime-note{margin-top:10px;padding:10px 12px;border:1px solid rgba(72,213,255,.16);border-radius:10px;background:rgba(24,78,101,.1);color:#9dcfe0;font-size:.68rem;line-height:1.5}


/* v19 functional strategy routing and rule-editor layout */
.strategy-functionality-note{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;padding:12px;border:1px solid rgba(116,139,211,.2);border-radius:12px;background:rgba(6,10,21,.64);font-size:.72rem;color:var(--muted)}
.strategy-functionality-note>strong{grid-column:1/-1;color:var(--text);font-size:.82rem}.strategy-functionality-note b{color:#d8c7ff}
.strategy-custom-editor{min-width:0;overflow:hidden}.strategy-rule-row,.strategy-filter-rule{min-width:0;align-items:center}
.strategy-rule-row{grid-template-columns:minmax(130px,1fr) minmax(145px,1fr) minmax(90px,.55fr) 40px}
.strategy-filter-rule{grid-template-columns:minmax(120px,.8fr) minmax(150px,1fr) minmax(150px,1fr) minmax(90px,.45fr) 40px}
.strategy-rule-row input,.strategy-rule-row select,.strategy-filter-rule input,.strategy-filter-rule label{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
.strategy-filter-rule label{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:.72rem}.strategy-filter-rule label input{width:auto}
.strategy-rule-row button,.strategy-filter-rule button{width:40px;min-width:40px;min-height:38px}
.strategy-trade-preview>p{line-height:1.55}
@media(max-width:1350px){.strategy-rule-row{grid-template-columns:minmax(130px,1fr) minmax(145px,1fr);}.strategy-filter-rule{grid-template-columns:minmax(130px,1fr) minmax(150px,1fr)}.strategy-rule-row button,.strategy-filter-rule button{width:100%;}.strategy-functionality-note{grid-template-columns:1fr}}
@media(max-width:720px){.strategy-rule-row,.strategy-filter-rule{grid-template-columns:1fr}}


/* v21.0 — strategy navigation remains above workspace content and clickable */
.strategy-view-tabs{
  position:relative;
  z-index:8;
  pointer-events:auto;
}
.strategy-view-tabs button{
  position:relative;
  z-index:1;
  pointer-events:auto;
  touch-action:manipulation;
}

/* v22.0 — multi-account Discord signal-source workspace */
.signal-source-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.signal-source-page-head h4{margin:0 0 6px;font-size:1.15rem}
.signal-source-page-head p{margin:0;max-width:760px;color:var(--muted);line-height:1.55}
.discord-account-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;margin-bottom:18px}
.discord-account-card{padding:16px;border:1px solid rgba(126,151,215,.2);border-radius:15px;background:rgba(8,11,24,.72);display:grid;gap:10px}
.discord-account-card.connected{border-color:rgba(78,217,137,.35);box-shadow:inset 0 0 0 1px rgba(78,217,137,.06)}
.discord-account-card.needs-login{border-color:rgba(255,193,78,.3)}
.discord-account-card span{font-size:.65rem;letter-spacing:.12em;font-weight:900;color:var(--muted)}
.discord-account-card.connected span{color:#79e7aa}.discord-account-card.needs-login span{color:#f0c56d}
.discord-account-card h4,.source-inventory-card h4{margin:3px 0 0}
.discord-account-card p,.discord-account-card small{margin:0;color:var(--muted)}
.signal-source-inventory{padding:16px;border:1px solid rgba(126,151,215,.18);border-radius:15px;background:rgba(8,11,24,.52)}
.source-inventory-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.42fr);gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid rgba(126,151,215,.12)}
.source-inventory-card:last-child{border-bottom:0}
.source-inventory-card span{color:#9b8cff;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.source-inventory-card p,.source-inventory-card small{display:block;margin:4px 0 0;color:var(--muted)}
.source-inventory-card>div:last-child{text-align:right}
.source-editor-form [data-source-account]:disabled{opacity:.7;cursor:not-allowed}
@media(max-width:760px){.signal-source-page-head{flex-direction:column}.source-inventory-card{grid-template-columns:1fr}.source-inventory-card>div:last-child{text-align:left}}


/* v23.0 — legacy single-account source migration clarity */
.signal-source-inventory .strategy-column-title>div{
  display:grid;
  gap:6px;
}
.signal-source-inventory .strategy-column-title strong,
.signal-source-inventory .strategy-column-title span{
  display:block;
}
.source-inventory-card small{
  line-height:1.45;
}
.legacy-source-notice{
  display:grid;
  gap:7px;
  text-align:left;
}
.legacy-source-notice strong{
  color:var(--text);
}
.legacy-source-notice span{
  color:var(--muted);
  line-height:1.55;
}

/* v24 strategy parity, locking, and portable sharing */
.strategy-control-parity-summary{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 15px;border:1px solid rgba(57,208,146,.25);border-radius:12px;background:rgba(57,208,146,.07);color:#c9ffe5}.strategy-control-parity-summary strong,.strategy-control-parity-summary span{display:block}.strategy-control-parity-summary span{font-size:.68rem;color:#8fd7b5}.strategy-control-locked{opacity:.68;background:rgba(20,23,35,.72)!important;border-color:rgba(148,158,185,.15)!important}.strategy-control-locked input,.strategy-control-locked select{cursor:not-allowed!important;color:#7f899f!important}.strategy-control-locked small:last-child{color:#c49a62}.strategy-choice-locked{opacity:.6;cursor:not-allowed}.strategy-choice-locked input{cursor:not-allowed}[data-support=locked]{background:rgba(235,166,54,.11);color:#edbf6a}.strategy-share-copied{border-color:rgba(57,208,146,.5)!important;background:rgba(57,208,146,.14)!important;color:#71e8b0!important}.strategy-code-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:20px;background:rgba(2,4,11,.76);backdrop-filter:blur(12px)}.strategy-code-dialog{width:min(720px,100%);padding:20px;border:1px solid rgba(120,151,222,.3);border-radius:16px;background:#0a1020;box-shadow:0 30px 100px rgba(0,0,0,.55)}.strategy-code-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.strategy-code-head small{color:#68d7ff;font-size:.62rem;font-weight:900;letter-spacing:.12em}.strategy-code-head h4{margin:4px 0 0}.strategy-code-dialog p{color:var(--muted);font-size:.78rem;line-height:1.55}.strategy-code-dialog textarea{width:100%;min-height:150px;resize:vertical;border:1px solid rgba(116,139,211,.24);border-radius:11px;background:rgba(3,6,14,.84);color:var(--text);padding:12px;font:600 .72rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.strategy-code-actions{display:flex;justify-content:flex-end;margin-top:12px}.strategy-order-routing{margin-top:14px}.strategy-overview-tools{grid-template-columns:minmax(210px,1fr) auto auto auto auto}@media(max-width:900px){.strategy-control-parity-summary{align-items:flex-start;flex-direction:column}.strategy-overview-tools{grid-template-columns:1fr 1fr}.strategy-overview-tools input{grid-column:1/-1}}

/* v29.3 — mobile dashboard containment and touch layout */
@media (pointer: coarse) {
  .skip:not(:focus-visible) {
    position: absolute;
    left: -10000px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
  }
}

@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
    -webkit-text-size-adjust: 100%;
  }

  .container,
  .member-shell,
  .member-dashboard-grid,
  .member-panel,
  .strategy-workspace-panel,
  .strategy-workspace-head,
  .strategy-view,
  .strategy-workspace-grid,
  .strategy-library-column,
  .strategy-editor,
  .strategy-live-summary,
  .strategy-sync-status,
  .strategy-runtime-note,
  .strategy-overview-tools,
  .strategy-overview-list,
  .strategy-library,
  .strategy-library-card,
  .strategy-builder-shell,
  .strategy-guided-editor,
  .strategy-step-panel,
  .strategy-custom-editor,
  .strategy-review-card,
  .signal-source-inventory,
  .source-inventory-card,
  .monitor-assignment-section,
  .monitor-assignment-card {
    min-width: 0;
    max-width: 100%;
  }

  .strategy-workspace-panel {
    overflow: hidden;
    padding: 18px 14px;
  }

  .strategy-workspace-head,
  .strategy-workspace-head.member-panel-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .strategy-workspace-head > div:first-child,
  .strategy-workspace-head h3,
  .strategy-workspace-head p,
  .strategy-runtime-note,
  .strategy-sync-status,
  .strategy-library-card,
  .strategy-library-card p,
  .strategy-library-card span,
  .strategy-library-card small {
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .strategy-device-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
    min-width: 0;
  }

  .strategy-device-controls select {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .strategy-device-controls .button {
    min-width: 0;
    white-space: nowrap;
  }

  .strategy-view-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    overflow: visible;
  }

  .strategy-view-tabs button {
    width: 100%;
    min-width: 0;
    min-height: 54px;
    padding: 9px 7px;
    white-space: normal;
    line-height: 1.25;
    text-align: center;
    touch-action: manipulation;
  }

  .strategy-overview-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .strategy-overview-metrics article {
    min-width: 0;
    padding: 13px;
  }

  .strategy-overview-tools {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 9px;
  }

  .strategy-overview-tools input,
  .strategy-overview-tools select {
    grid-column: 1 / -1;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .strategy-overview-tools [data-strategy-new] {
    grid-column: 1 / -1;
  }

  .strategy-overview-tools .button {
    width: 100%;
    min-width: 0;
    padding-inline: 8px;
    white-space: normal;
    line-height: 1.25;
  }

  .strategy-overview-list,
  .strategy-library {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .strategy-library-card > div:first-child {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }

  .strategy-library-card > div:first-child span {
    text-align: left;
  }

  .strategy-card-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: 8px;
  }

  .strategy-card-actions button {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 7px 6px;
    white-space: normal;
    line-height: 1.2;
  }

  .strategy-card-actions button:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .strategy-builder-shell,
  .strategy-workspace-grid {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .strategy-builder-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .strategy-builder-steps button {
    min-width: 0;
    white-space: normal;
  }

  .strategy-two-col,
  .strategy-three-col,
  .strategy-rule-row,
  .strategy-filter-rule,
  .strategy-control-grid,
  .source-assignment-row,
  .source-inventory-card,
  .monitor-strategy-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .strategy-editor input:not([type="checkbox"]):not([type="radio"]),
  .strategy-editor textarea,
  .strategy-editor select,
  .strategy-control-grid input:not([type="checkbox"]):not([type="radio"]),
  .strategy-control-grid select,
  .strategy-rule-row input,
  .strategy-rule-row select,
  .strategy-filter-rule input,
  .priority-label input,
  .mode-label select {
    min-width: 0;
    max-width: 100%;
    width: 100%;
  }

  .strategy-check-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    width: 100%;
    min-width: 0;
  }

  .strategy-check-row label {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: 100%;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid rgba(126, 151, 215, 0.12);
    border-radius: 10px;
    background: rgba(8, 11, 23, 0.55);
    box-sizing: border-box;
  }

  .strategy-check-row input[type="checkbox"],
  .strategy-check-row input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
  }

  .strategy-actions-checks {
    grid-template-columns: 1fr;
  }

  .strategy-builder-actions,
  .source-editor-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .strategy-builder-actions .button,
  .source-editor-actions .button {
    width: 100%;
    min-width: 0;
  }

  .strategy-builder-actions .strategy-save-button {
    grid-column: 1 / -1;
    position: static;
  }

  .strategy-code-modal {
    align-items: end;
    padding: 10px;
  }

  .strategy-code-dialog {
    max-height: calc(100dvh - 20px);
    overflow: auto;
    padding: 16px;
    border-radius: 16px 16px 10px 10px;
  }

  .strategy-code-head {
    gap: 10px;
  }

  .strategy-code-actions .button {
    width: 100%;
  }

  .member-device-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .member-device-card,
  .member-device-head,
  .member-device-foot,
  .device-dashboard-status {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  main {
    padding-bottom: max(28px, env(safe-area-inset-bottom));
  }
}

@media (max-width: 480px) {
  .strategy-device-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .strategy-device-controls .button {
    width: 100%;
  }

  .strategy-overview-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .strategy-overview-tools,
  .strategy-card-actions,
  .strategy-builder-actions,
  .source-editor-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .strategy-overview-tools .button,
  .strategy-card-actions button,
  .strategy-builder-actions .button,
  .source-editor-actions .button,
  .strategy-card-actions button:last-child:nth-child(odd) {
    grid-column: 1;
  }

  .strategy-view-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* SignalVortex v31 transparent brand mark */
.brand-logo-img{object-fit:contain!important;object-position:center!important;}
.brand img.brand-logo-img,.window-brand img.brand-logo-img,.vortex-core img.brand-logo-img,.final-logo img.brand-logo-img{border-radius:0!important;object-fit:contain!important;overflow:visible!important;}

/* ===== Referral Reward Vault =============================================== */
.referral-vault{margin:34px 0 44px;padding:26px;border:1px solid var(--line2);border-radius:20px;background:linear-gradient(180deg,rgba(56,217,255,.05),rgba(117,92,255,.04)),var(--panel2)}
.referral-head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px;align-items:start}
.referral-head h3{margin:6px 0 8px;font-size:23px;line-height:1.25}
.referral-head p{margin:0;color:var(--muted);font-size:14px;line-height:1.55}
.referral-link-box{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel3)}
.referral-link-box label{display:block;margin-bottom:8px;color:var(--muted2);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.referral-link-row{display:flex;gap:8px;flex-wrap:wrap}
.referral-link-row input{flex:1 1 220px;min-width:0;padding:10px 12px;border:1px solid var(--line2);border-radius:10px;background:var(--bg2);color:var(--text);font-size:13px}
.referral-link-box small{display:block;margin-top:10px;color:var(--muted2);font-size:12px}
.referral-link-box small b{color:var(--cyan);letter-spacing:.06em}

.referral-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:24px 0 16px}
.referral-stat{padding:14px;border:1px solid var(--line);border-radius:13px;background:var(--panel3);text-align:center}
.referral-stat b{display:block;font-size:24px;font-weight:850;color:var(--text)}
.referral-stat span{display:block;margin-top:4px;color:var(--muted2);font-size:11px;font-weight:700;letter-spacing:.04em}
.referral-stat--accent{border-color:rgba(61,229,156,.45);background:linear-gradient(180deg,rgba(61,229,156,.10),transparent),var(--panel3)}
.referral-stat--accent b{color:var(--green)}

.referral-progress{margin-bottom:22px}
.referral-progress-bar{height:8px;border-radius:99px;background:var(--panel3);border:1px solid var(--line);overflow:hidden}
.referral-progress-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--cyan),var(--violet));transition:width .45s ease}
.referral-progress small{display:block;margin-top:8px;color:var(--muted2);font-size:12px}

.referral-claim{margin-bottom:14px;padding:20px;border:1px solid rgba(61,229,156,.4);border-radius:16px;background:linear-gradient(180deg,rgba(61,229,156,.07),transparent),var(--panel3)}
.referral-claim.is-expired{border-color:rgba(255,143,176,.35);background:linear-gradient(180deg,rgba(255,143,176,.06),transparent),var(--panel3);opacity:.85}
.referral-claim-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:6px}
.referral-claim-head b{display:block;font-size:16px}
.referral-claim-head span{display:block;color:var(--muted2);font-size:12px;margin-top:2px}
.referral-claim>p{margin:0 0 14px;color:var(--muted);font-size:13px}
.referral-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.referral-choice{padding:16px;border:1px solid var(--line2);border-radius:13px;background:var(--panel2);color:var(--text);text-align:left;cursor:pointer;transition:border-color .18s ease,transform .18s ease}
.referral-choice:hover:not(.is-disabled){border-color:var(--cyan);transform:translateY(-2px)}
.referral-choice b{display:block;font-size:15px;margin-bottom:5px}
.referral-choice span{display:block;color:var(--muted);font-size:12px;line-height:1.5}
.referral-choice.is-disabled{opacity:.5;cursor:not-allowed}

.referral-confirm{margin-top:14px}
.referral-confirm-card{padding:18px;border:1px solid var(--cyan);border-radius:13px;background:var(--bg2)}
.referral-confirm-card b{display:block;margin-bottom:12px;font-size:15px}
.referral-confirm-card dl{display:grid;grid-template-columns:auto 1fr;gap:7px 16px;margin:0 0 12px}
.referral-confirm-card dt{color:var(--muted2);font-size:12px;font-weight:700}
.referral-confirm-card dd{margin:0;font-size:13px;color:var(--text)}
.referral-confirm-actions{display:flex;gap:8px;flex-wrap:wrap}
.referral-note{margin:0 0 10px;padding:9px 11px;border-left:2px solid var(--cyan);color:var(--muted);font-size:12px;line-height:1.55;background:rgba(56,217,255,.05)}

.referral-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:22px}
.referral-panel{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel3)}
.referral-panel h4{margin:0 0 12px;font-size:14px}
.referral-rows{display:flex;flex-direction:column;gap:9px;max-height:270px;overflow-y:auto}
.referral-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.referral-row b{display:block;font-size:13px}
.referral-row>div span{display:block;color:var(--muted2);font-size:11px;margin-top:2px}
.referral-row>span{color:var(--muted2);font-size:11px;white-space:nowrap}
.referral-empty,.referral-loading{margin:0;color:var(--muted2);font-size:13px}
.referral-error{margin:0;color:var(--pink);font-size:13px}
.referral-empty-card{padding:18px;border:1px dashed var(--line2);border-radius:14px;text-align:center}
.referral-empty-card b{display:block;font-size:14px}
.referral-empty-card span{display:block;margin-top:4px;color:var(--muted2);font-size:12px}

.referral-pill{padding:4px 9px;border-radius:99px;font-size:10px;font-weight:800;letter-spacing:.05em;white-space:nowrap}
.referral-pill.is-open{background:rgba(61,229,156,.14);color:var(--green);border:1px solid rgba(61,229,156,.45)}
.referral-pill.is-pending{background:rgba(56,217,255,.12);color:var(--cyan);border:1px solid rgba(56,217,255,.4)}
.referral-pill.is-done{background:rgba(117,92,255,.14);color:#b9a8ff;border:1px solid rgba(117,92,255,.45)}
.referral-pill.is-error{background:rgba(247,45,184,.12);color:var(--pink);border:1px solid rgba(247,45,184,.4)}

.referral-terms{margin-top:20px;padding:15px 18px;border:1px solid var(--line);border-radius:13px;background:var(--panel3)}
.referral-terms summary{cursor:pointer;font-size:13px;font-weight:750;color:var(--muted)}
.referral-terms ul{margin:12px 0 0;padding-left:18px;color:var(--muted);font-size:12.5px;line-height:1.65}
.referral-terms li{margin-bottom:6px}
.referral-fineprint{margin:10px 0 0;color:var(--muted2);font-size:11.5px;line-height:1.55}

@media (max-width:860px){
  .referral-vault{padding:20px}
  .referral-head{grid-template-columns:1fr;gap:18px}
  .referral-head h3{font-size:20px}
}
.referral-claim-list{display:flex;flex-direction:column}
.referral-panel--notes h4{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.referral-note-badge{padding:2px 7px;border-radius:99px;background:rgba(61,229,156,.16);color:var(--green);border:1px solid rgba(61,229,156,.45);font-size:10px;font-weight:850}
.referral-panel--notes h4 .button{margin-left:auto}
.referral-note-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.referral-note-row.is-unread{border-color:rgba(61,229,156,.42);background:linear-gradient(180deg,rgba(61,229,156,.07),transparent),var(--panel2)}
.referral-note-row b{display:block;font-size:12.5px}
.referral-note-row span{display:block;color:var(--muted2);font-size:11.5px;line-height:1.5;margin-top:2px}
.referral-note-when{color:var(--muted2);font-size:11px;white-space:nowrap}

/* Large-desktop scale-up, matching styles-v38.0.css. Every other rule here
   is written max-width-down from a 1240px design, so the dashboard never
   grows past that on a bigger monitor. Additive only above 1440px/1800px -
   never touches mobile or the 820px/610px tablet breakpoints above. */
/* See styles-v38.0.css for the full rationale: root font-size is the lever
   that scales this rem-based type system; layout px are grown alongside. */
@media(min-width:1440px){
  html{font-size:17px}
  :root{--max:1360px}
  .section{padding:132px 0}
  .section--tight{padding:96px 0}
}
@media(min-width:1800px){
  html{font-size:18px}
  :root{--max:1480px}
  .section{padding:146px 0}
  .section--tight{padding:104px 0}
}

/* Mirrors the layout corrections in styles-v38.0.css so any page served
   this stylesheet gets the same fixes. See that file for the full
   rationale on each one (module-card overlap, safeguards orphan card,
   final-CTA logo disc). */
.module-card{display:flex;flex-direction:column}
.module-card .module-list{margin-bottom:8px}
.module-card .text-link{position:static;margin-top:auto;padding-top:20px}
.feature-grid .feature--accent{grid-column:span 3}
@media(max-width:1100px){.feature-grid .feature--accent{grid-column:span 2}}
@media(max-width:840px){.feature-grid .feature--accent{grid-column:auto}}
.final-logo{width:92px;height:92px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 0 30px rgba(136,68,255,.4))}
.final-logo img{border-radius:0}
@media(min-width:1440px){
  .heading.split{grid-template-columns:1.05fr .82fr;gap:54px}
  .heading p{max-width:none}
  .feature-tag{font-size:.62rem}
}

/* Strategy scenario simulator. It is intentionally a browser-local analysis
   surface: no execution controls or broker state are exposed here. */
.strategy-simulator-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:4px 2px 18px}.strategy-simulator-head h4{margin:8px 0 0;font-size:1.3rem}.strategy-simulator-head p{max-width:780px;margin:8px 0 0;color:#8592aa;font-size:.76rem;line-height:1.6}.strategy-simulator-safe{flex:0 0 auto;padding:8px 11px;border:1px solid rgba(61,229,156,.24);border-radius:999px;background:rgba(27,122,82,.11);color:#71dda9;font-size:.57rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.strategy-simulator-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:14px}.strategy-simulator-form,.strategy-simulator-result{padding:18px;border:1px solid rgba(126,151,215,.13);border-radius:16px;background:linear-gradient(145deg,rgba(15,20,38,.88),rgba(7,10,21,.84))}.strategy-simulator-form{display:grid;gap:13px}.strategy-simulator-section{padding:15px;border:1px solid rgba(126,151,215,.1);border-radius:13px;background:rgba(5,8,18,.44)}.strategy-simulator-section>strong,.strategy-simulator-section>summary{display:block;margin-bottom:12px;color:#dfe5f4;font-size:.72rem;font-weight:820}.strategy-simulator-section>summary{cursor:pointer;list-style:none}.strategy-simulator-section>summary::after{content:'＋';float:right;color:#7f8ea9}.strategy-simulator-section[open]>summary::after{content:'−'}.strategy-simulator-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.strategy-simulator-fields label{display:grid;gap:6px;color:#77849d;font-size:.58rem;font-weight:750;letter-spacing:.035em}.strategy-simulator-fields label.wide{grid-column:span 2}.strategy-simulator-fields input,.strategy-simulator-fields select{width:100%;min-width:0;height:38px;padding:0 10px;border:1px solid rgba(126,151,215,.15);border-radius:9px;outline:none;background:#090d1a;color:#e7ebf5;font:inherit;font-size:.7rem;font-weight:650}.strategy-simulator-fields input:focus,.strategy-simulator-fields select:focus{border-color:rgba(51,201,255,.58);box-shadow:0 0 0 3px rgba(51,201,255,.07)}.strategy-simulator-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}.strategy-simulator-checks label{display:flex;align-items:center;gap:7px;min-height:34px;padding:7px 9px;border:1px solid rgba(126,151,215,.09);border-radius:8px;background:rgba(12,17,31,.66);color:#9aa6bb;font-size:.61rem}.strategy-simulator-checks input{accent-color:#6f5cff}.strategy-simulator-run{width:100%}.strategy-simulator-result{align-self:start;position:sticky;top:112px}.strategy-simulator-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.strategy-simulator-result-head span{color:#64718a;font-size:.55rem;font-weight:850;letter-spacing:.14em}.strategy-simulator-result-head b{padding:7px 10px;border-radius:999px;background:rgba(103,113,139,.12);color:#97a3b8;font-size:.58rem;text-transform:uppercase}.strategy-simulator-result[data-state="pass"] .strategy-simulator-result-head b{background:rgba(38,166,108,.13);color:#66dda4}.strategy-simulator-result[data-state="record"] .strategy-simulator-result-head b{background:rgba(55,157,215,.13);color:#75cffa}.strategy-simulator-result[data-state="block"] .strategy-simulator-result-head b{background:rgba(218,54,101,.13);color:#ff799f}.strategy-simulator-result h4{margin:20px 0 0;font-size:1.23rem}.strategy-simulator-result>p{margin:7px 0 0;color:#8490a6;font-size:.72rem;line-height:1.6}.strategy-simulator-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:17px}.strategy-simulator-metrics article{padding:12px;border:1px solid rgba(126,151,215,.1);border-radius:10px;background:rgba(5,8,18,.53)}.strategy-simulator-metrics small{display:block;color:#5f6d87;font-size:.5rem;font-weight:850;letter-spacing:.1em}.strategy-simulator-metrics strong{display:block;margin-top:5px;font-size:.92rem}.strategy-simulator-gates{display:grid;gap:7px;margin-top:15px}.strategy-simulator-gate{display:grid;grid-template-columns:auto 1fr;gap:9px;padding:10px;border:1px solid rgba(126,151,215,.09);border-radius:9px;background:rgba(5,8,18,.42)}.strategy-simulator-gate i{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;font-size:.65rem;font-style:normal}.strategy-simulator-gate.pass i{background:rgba(40,179,115,.15);color:#62dda2}.strategy-simulator-gate.block{border-color:rgba(237,65,113,.2)}.strategy-simulator-gate.block i{background:rgba(218,54,101,.15);color:#ff729a}.strategy-simulator-gate strong{display:block;font-size:.66rem}.strategy-simulator-gate.note{border-color:rgba(86,216,255,.16)}.strategy-simulator-gate.note i{background:rgba(56,166,214,.15);color:#7ad3fb}.strategy-simulator-gate.skipped{opacity:.5}.strategy-simulator-gate.skipped i{background:rgba(120,133,160,.14);color:#8592ab}.strategy-simulator-gate strong em{display:inline-block;margin-left:7px;padding:1px 6px;border-radius:999px;background:rgba(126,151,215,.11);color:#8b99b4;font-size:.5rem;font-style:normal;font-weight:800;letter-spacing:.04em;vertical-align:middle}.strategy-simulator-exit{margin-top:12px;padding:12px 13px;border:1px solid rgba(126,151,215,.13);border-radius:12px;background:linear-gradient(140deg,rgba(23,30,52,.72),rgba(7,10,21,.6))}.strategy-simulator-exit small{display:block;color:#5f6d87;font-size:.5rem;font-weight:850;letter-spacing:.1em}.strategy-simulator-exit strong{display:block;margin-top:5px;color:#e6ecf9;font-size:.82rem;line-height:1.35}.strategy-simulator-exit span{display:block;margin-top:4px;color:#7d8aa2;font-size:.6rem;line-height:1.5}.strategy-simulator-exit[data-state="closed"]{border-color:rgba(82,221,161,.24)}.strategy-simulator-exit[data-state="closed"] strong{color:#8ceec1}.strategy-simulator-exit[data-state="open"]{border-color:rgba(86,216,255,.22)}.strategy-simulator-exit[data-state="open"] strong{color:#8fdcff}.strategy-simulator-exit[data-state="none"]{border-color:rgba(237,65,113,.2)}.strategy-simulator-exit[data-state="none"] strong{color:#ff9db8}.strategy-simulator-gate span{display:block;margin-top:2px;color:#748199;font-size:.59rem;line-height:1.45}.strategy-simulator-disclaimer{margin-top:16px!important;padding-top:13px;border-top:1px solid rgba(126,151,215,.1);color:#66738a!important;font-size:.59rem!important}.strategy-library-card .strategy-card-actions [data-strategy-simulate]{color:#77d8ff;border-color:rgba(51,201,255,.22)}
@media(max-width:980px){.strategy-simulator-shell{grid-template-columns:1fr}.strategy-simulator-result{position:static}.strategy-simulator-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.strategy-simulator-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:610px){.strategy-simulator-head{display:grid}.strategy-simulator-fields,.strategy-simulator-checks{grid-template-columns:1fr}.strategy-simulator-fields label.wide{grid-column:auto}.strategy-simulator-metrics{grid-template-columns:1fr 1fr}}

/* v44 compact graphical simulator. The two-column grid must not stretch the
   form to the height of the protection report. */
.strategy-simulator-shell{align-items:start;grid-template-columns:minmax(480px,.88fr) minmax(520px,1.12fr)}
.strategy-simulator-form{align-self:start;align-content:start;grid-auto-rows:max-content;padding:14px;gap:10px}
.strategy-simulator-section{padding:12px}.strategy-simulator-section>strong,.strategy-simulator-section>summary{margin-bottom:9px}
.strategy-simulator-fields{gap:7px}.strategy-simulator-fields input,.strategy-simulator-fields select{height:34px;padding:0 9px}
.strategy-simulator-checks{gap:6px;margin-top:9px}.strategy-simulator-checks label{min-height:30px;padding:5px 8px}
.strategy-simulator-run{width:auto;min-width:190px;min-height:42px;justify-self:start;padding:0 24px}
.strategy-simulator-result{position:sticky;top:92px;max-height:calc(100vh - 116px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:16px}
.strategy-simulator-result.simulated{animation:simResultPulse .48s ease-out}
@keyframes simResultPulse{0%{transform:translateY(4px);box-shadow:0 0 0 rgba(86,91,244,0)}45%{box-shadow:0 0 40px rgba(86,91,244,.18)}100%{transform:none;box-shadow:none}}
.strategy-simulator-visuals{display:grid;grid-template-columns:minmax(0,1fr) 174px;gap:9px;margin-top:14px}
.strategy-payoff-chart,.strategy-simulator-dials article{border:1px solid rgba(126,151,215,.1);border-radius:12px;background:radial-gradient(circle at 75% 10%,rgba(76,96,246,.12),transparent 42%),rgba(5,8,18,.54)}
.strategy-payoff-chart{padding:11px 12px 9px;overflow:hidden}.strategy-payoff-chart header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.strategy-payoff-chart header small,.strategy-simulator-dials small{display:block;color:#62708a;font-size:.48rem;font-weight:850;letter-spacing:.1em}.strategy-payoff-chart header strong{display:block;margin-top:4px;color:#dce3f2;font-size:.68rem}.strategy-payoff-chart header>span{padding:5px 7px;border:1px solid rgba(91,215,255,.18);border-radius:999px;background:rgba(34,151,201,.08);color:#70d7fa;font-size:.55rem;font-weight:820}.strategy-payoff-chart svg{display:block;width:100%;height:150px;margin-top:3px;overflow:visible}.sim-chart-grid path{fill:none;stroke:rgba(126,151,215,.075);stroke-width:1}.sim-chart-zero{fill:none;stroke:rgba(169,178,203,.25);stroke-width:1;stroke-dasharray:5 5}.sim-chart-level{fill:none;stroke-width:1.2;stroke-dasharray:4 6;transition:opacity .2s ease}.sim-chart-level.stop{stroke:rgba(255,102,141,.5)}.sim-chart-level.target{stroke:rgba(82,221,161,.5)}.sim-chart-area{fill:url(#simPayoffFill);opacity:1}.sim-chart-line{fill:none;stroke:#59d7ff;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(64,200,255,.35))}[data-sim-chart][data-outcome="target"] .sim-chart-line{stroke:#52dda1;filter:drop-shadow(0 0 6px rgba(60,215,150,.35))}[data-sim-chart][data-outcome="stop"] .sim-chart-line{stroke:#ff7d9f;filter:drop-shadow(0 0 6px rgba(255,105,145,.32))}.sim-chart-points circle{stroke:#07101d;stroke-width:3}.sim-chart-points [data-sim-chart-entry]{fill:#8b68ff}.sim-chart-points [data-sim-chart-exit]{fill:#56d8ff}.sim-chart-points [data-sim-chart-exit][data-outcome="target"]{fill:#52dda1}.sim-chart-points [data-sim-chart-exit][data-outcome="stop"]{fill:#ff668d}.sim-chart-legend{display:flex;justify-content:space-between;gap:8px;color:#69768d;font-size:.52rem}.sim-chart-legend span{display:flex;align-items:center;gap:4px}.sim-chart-legend i{width:6px;height:6px;border-radius:50%}.sim-chart-legend i.stop{background:#ff668d}.sim-chart-legend i.entry{background:#8b68ff}.sim-chart-legend i.target{background:#52dda1}.sim-chart-legend i.exit{background:#56d8ff}.sim-chart-legend b{color:#aab5c8}.strategy-simulator-result[data-state="block"] .sim-chart-line{opacity:.62}.strategy-simulator-result[data-state="block"] .sim-chart-area{opacity:.45}.sim-chart-level.trail{stroke:rgba(255,193,94,.55);stroke-dasharray:2 5}.sim-chart-trims circle{fill:#ffc15e;stroke:#07101d;stroke-width:2}.sim-chart-points [data-sim-chart-exit][data-outcome="none"]{fill:#6b7794}.sim-chart-axis{display:flex;justify-content:space-between;gap:8px;margin:2px 2px 5px;color:#5d6a82;font-size:.48rem;font-weight:800;letter-spacing:.08em}.sim-chart-line{stroke-dasharray:1;stroke-dashoffset:0}.strategy-simulator-result.simulated .sim-chart-line{animation:simDrawPath 1.15s cubic-bezier(.32,.72,.36,1) both}.strategy-simulator-result.simulated .sim-chart-area{animation:simFadeIn .9s ease-out .35s both}.strategy-simulator-result.simulated .sim-chart-points [data-sim-chart-exit]{animation:simPopIn .42s cubic-bezier(.2,1.4,.4,1) 1.05s both}@keyframes simDrawPath{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes simFadeIn{from{opacity:0}to{opacity:1}}@keyframes simPopIn{from{opacity:0;transform:scale(.2);transform-origin:center;transform-box:fill-box}to{opacity:1;transform:scale(1);transform-origin:center;transform-box:fill-box}}@media(prefers-reduced-motion:reduce){.strategy-simulator-result.simulated .sim-chart-line,.strategy-simulator-result.simulated .sim-chart-area,.strategy-simulator-result.simulated .sim-chart-points [data-sim-chart-exit]{animation:none}}
.strategy-simulator-dials{display:grid;gap:9px}.strategy-simulator-dials article{display:flex;align-items:center;gap:9px;padding:10px}.strategy-simulator-dials strong{display:block;margin-top:4px;font-size:.68rem}.sim-dial{--sim-color:#56d8ff;position:relative;flex:0 0 50px;width:50px;height:50px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--sim-color) var(--sim-progress),rgba(105,121,161,.12) 0)}.sim-dial::before{content:"";position:absolute;inset:6px;border-radius:50%;background:#090d19}.sim-dial span{position:relative;color:#dfe7f7;font-size:.57rem;font-weight:850}.sim-dial.protections{--sim-color:#57dda2}
.strategy-simulator-metrics{grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.strategy-simulator-metrics article{padding:9px 10px}.strategy-simulator-metrics strong{font-size:.8rem}
.strategy-simulator-gates{margin-top:9px}.strategy-simulator-gate{padding:8px}.strategy-simulator-gate span{font-size:.56rem}.strategy-simulator-gate-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border:1px solid rgba(126,151,215,.1);border-radius:9px;background:rgba(5,8,18,.42)}.strategy-simulator-gate-summary strong{font-size:.64rem}.strategy-simulator-gate-summary span{color:#738099;font-size:.56rem}.strategy-simulator-gate-details{border:1px solid rgba(126,151,215,.08);border-radius:9px;background:rgba(5,8,18,.3)}.strategy-simulator-gate-details summary{padding:9px 11px;cursor:pointer;color:#8190a9;font-size:.59rem;font-weight:750}.strategy-simulator-gate-details>div{display:grid;gap:6px;padding:0 7px 7px}.strategy-simulator-disclaimer{margin-top:10px!important;padding-top:10px}
@media(max-width:1100px){.strategy-simulator-shell{grid-template-columns:1fr}.strategy-simulator-result{position:static;max-height:none;overflow:visible}.strategy-simulator-form{width:100%}}
@media(max-width:680px){.strategy-simulator-visuals{grid-template-columns:1fr}.strategy-simulator-dials{grid-template-columns:1fr 1fr}.strategy-payoff-chart svg{height:130px}.strategy-simulator-run{width:100%}}

/* ============================================================
   v50 — member dashboard polish, brand mark, strategy start UI
   Desktop-aligned tokens. Does not change runtime behavior.
   ============================================================ */
:root{
  --sv-canvas:#020817;
  --sv-sidebar:#040B18;
  --sv-surface:#071020;
  --sv-surface-2:#0A1426;
  --sv-surface-3:#0D1930;
  --sv-border:#1C3152;
  --sv-border-hover:#315E8E;
  --sv-text:#F5F8FF;
  --sv-muted:#9AABC3;
  --sv-faint:#627590;
  --sv-cyan:#22D3EE;
  --sv-blue:#3B82F6;
  --sv-violet:#8B5CF6;
  --sv-success:#22E58A;
  --sv-warning:#F5C451;
  --sv-danger:#FF477E;
  --sv-radius-control:9px;
  --sv-radius-card:12px;
  --sv-radius-panel:14px;
}

/* Canonical logo: artwork already includes its rounded-square frame.
   Never circle-crop, stretch, or wrap in a second container. */
.brand-logo-img,
.brand img.brand-logo-img,
.window-brand img.brand-logo-img,
.vortex-core img.brand-logo-img,
.final-logo img.brand-logo-img{
  object-fit:contain;
  object-position:center;
  background:transparent;
  border-radius:0;
  transform:none!important;
  filter:none;
}
.brand img{
  width:38px;
  height:38px;
  border-radius:0;
  filter:none;
}
.window-brand img,
.window-brand .brand-logo-img{
  width:28px;
  height:28px;
  border-radius:0;
}
.vortex-core img{
  width:72px;
  height:72px;
  border-radius:0;
  filter:none;
}
.final-logo{
  width:86px;
  height:86px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.final-logo img{width:86px;height:86px;border-radius:0}

.button:focus-visible,
.button--primary:focus-visible,
.button--ghost:focus-visible,
.button--danger:focus-visible,
.button--secondary:focus-visible,
.strategy-run-btn:focus-visible,
.member-nav-btn:focus-visible,
.strategy-card-actions button:focus-visible,
.device-revoke:focus-visible,
.menu-toggle:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible{
  outline:2px solid var(--sv-cyan);
  outline-offset:2px;
}

.button--secondary{
  border-color:var(--sv-border);
  background:rgba(10,20,38,.78);
  color:var(--sv-text);
}
.button--secondary:hover{border-color:var(--sv-border-hover);background:rgba(17,33,58,.92)}
.button--danger{
  border-color:rgba(255,71,126,.32);
  background:rgba(255,71,126,.1);
  color:#ff8eac;
}
.button--danger:hover{background:rgba(255,71,126,.16);border-color:rgba(255,71,126,.5)}
.button:disabled,
.button.disabled,
.strategy-run-btn:disabled{
  opacity:.5;
  cursor:not-allowed;
  transform:none;
  filter:saturate(.45);
}

/* Logged-out dashboard: denser auth, not a marketing landing */
.portal-subhero{padding:132px 0 36px}
.portal-subhero h1{max-width:820px;font-size:clamp(2.1rem,4.2vw,3.35rem);line-height:1.08;letter-spacing:-.04em}
.portal-subhero p{max-width:680px;font-size:.95rem;color:var(--sv-muted)}
.portal-notice{padding:14px 16px;margin-bottom:16px;border-radius:var(--sv-radius-panel);gap:12px}
.portal-auth-grid{
  grid-template-columns:minmax(0,1fr);
  justify-content:stretch;
  gap:14px;
  width:100%;
}
.portal-auth-card{
  min-height:0;
  padding:22px;
  border-radius:var(--sv-radius-panel);
  border-color:var(--sv-border);
  background:linear-gradient(180deg,rgba(13,25,48,.88),rgba(7,16,32,.92));
  box-shadow:0 18px 40px rgba(0,0,0,.28);
}
.portal-auth-card .feature-icon{
  width:40px;
  height:40px;
  border-radius:10px;
  border-color:rgba(34,211,238,.18);
  background:rgba(34,211,238,.08);
  color:var(--sv-cyan);
}
.portal-auth-card h2{margin:16px 0 0;font-size:1.35rem;font-weight:700}
.portal-state{float:none;display:inline-block;margin:10px 0 0;color:var(--sv-faint);letter-spacing:.12em}

/* Member app shell
 *
 * ROOT WIDTH CAUSE (prior pass): member-app lived inside marketing
 * `.container { width:min(calc(100% - 40px), var(--max)) }` where
 * `--max` is 1240–1480px. Overrides were fragile against nested
 * section/main flow and large-desktop padding media queries.
 *
 * NEW STRUCTURE: when visible, member-app is a fixed viewport shell
 * (sidebar | flex:1 workspace). Parent container constraints cannot
 * shrink the dashboard.
 */
body.sv-member-session{
  background:radial-gradient(circle at 12% -8%,rgba(59,130,246,.08),transparent 32%),var(--sv-canvas);
  height:100vh;
  overflow:hidden;
}
html[data-sv-auth="authenticated"] .sv-session-boot,
html[data-sv-auth="unauthenticated"] .sv-session-boot{display:none!important}
body.sv-member-session .announce,
body.sv-member-session .subhero,
body.sv-member-session .portal-subhero,
body.sv-member-session .portal-heading,
body.sv-member-session .portal-feature-grid,
body.sv-member-session .footer,
body.sv-member-session .noise,
body.sv-member-session .cursor-orb,
body.sv-member-session header.header,
body.sv-member-session .header,
body.sv-member-session .nav-links,
body.sv-member-session [data-auth-shell],
body.sv-member-session [data-link-gate],
body.sv-member-session .sv-session-boot,
body.sv-member-session .portal-status{
  display:none!important;
}
body.sv-member-session main,
body.sv-member-session .section.section--tight,
body.sv-member-session .section.section--tight>.container{
  display:contents;
}
body.sv-member-session .section.section--tight{
  padding:0!important;
  margin:0!important;
}
body.sv-member-session .section.section--tight>.container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
.member-shell[hidden]{display:none!important}
.member-sidebar-backdrop{display:none}
.member-app:not([hidden]){
  position:fixed;
  inset:0;
  z-index:80;
  width:100%;
  max-width:none;
  height:100%;
  max-height:100dvh;
  display:grid;
  grid-template-columns:228px minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
  margin:0;
  background:var(--sv-canvas);
  box-sizing:border-box;
}
.member-sidebar{grid-column:1;grid-row:1;min-width:0}
.member-stage{grid-column:2;grid-row:1;min-width:0;flex:1}
.member-sidebar{
  position:sticky;
  top:0;
  align-self:start;
  height:100vh;
  height:100dvh;
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:16px 12px 14px;
  border-right:1px solid var(--sv-border);
  background:linear-gradient(180deg,rgba(7,16,32,.98),rgba(4,11,24,.98));
  overflow-y:auto;
}
.member-sidebar-brand{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:4px 8px 14px;
  text-decoration:none;
}
.member-sidebar-brand img{
  width:36px;
  height:36px;
  object-fit:contain;
  background:transparent;
}
.member-sidebar-brand span{
  font-size:.92rem;
  font-weight:750;
  letter-spacing:-.03em;
  color:var(--sv-text);
}
.member-sidebar-brand span span{
  background:linear-gradient(95deg,var(--sv-cyan),var(--sv-violet));
  -webkit-background-clip:text;
  color:transparent;
}
.member-nav-group{
  display:grid;
  gap:2px;
  margin-bottom:10px;
}
.member-nav-label{
  padding:8px 10px 4px;
  color:var(--sv-faint);
  font-size:.58rem;
  font-weight:750;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.member-nav-btn{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:36px;
  padding:0 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--sv-muted);
  font:inherit;
  font-size:.78rem;
  font-weight:600;
  text-align:left;
  cursor:pointer;
}
.member-nav-btn .icon{width:16px;height:16px;flex:0 0 16px}
.member-nav-btn:hover{background:rgba(17,33,58,.7);color:var(--sv-text)}
.member-nav-btn.active{
  color:#fff;
  background:linear-gradient(90deg,rgba(59,130,246,.16),rgba(139,92,246,.1));
  box-shadow:inset 2px 0 0 var(--sv-cyan);
}
.member-sidebar-user{
  margin-top:auto;
  flex-shrink:0;
  display:grid;
  gap:10px;
  padding:14px 10px 6px;
  border-top:1px solid var(--sv-border);
}
.member-sidebar-user .member-avatar{
  width:44px;
  height:44px;
  border-radius:11px;
  font-size:.92rem;
  border:0;
  box-shadow:none;
}
.member-sidebar-id{
  display:flex;
  align-items:center;
  gap:10px;
}
.member-sidebar-id small{display:block;color:var(--sv-faint);font-size:.66rem}
.member-sidebar-id strong{display:block;font-size:.86rem;font-weight:650}
.member-stage{
  min-width:0;
  display:flex;
  flex-direction:column;
  min-height:0;
  height:100%;
  overflow:auto;
  overflow-x:hidden;
}
/* Header clipping root cause: 100vh shell nested in padded marketing
   section under body{overflow:hidden}, plus scrollIntoView, pushed the
   sticky topbar above the visible viewport. Fixed shell + flex topbar
   (not document-sticky against a scrolled ancestor) keeps badges visible. */
.member-topbar{
  position:sticky;
  top:0;
  z-index:40;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex:0 0 auto;
  min-height:64px;
  height:auto;
  padding:14px 28px;
  border-bottom:1px solid var(--sv-border);
  background:rgba(2,8,23,.94);
  backdrop-filter:blur(16px);
  flex-wrap:nowrap;
  overflow:visible;
  box-sizing:border-box;
}
.member-topbar h1{
  margin:0;
  font-size:1.12rem!important;
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.25!important;
}
.member-topbar p{
  margin:3px 0 0;
  color:var(--sv-muted);
  font-size:.76rem;
  line-height:1.35;
}
.member-topbar > div:not(.member-topbar-actions){min-width:0;flex:1}
.member-topbar-actions{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;justify-content:flex-end;flex:0 0 auto;max-width:none;overflow:visible}
.member-topbar .member-plan,
.member-topbar-actions .member-plan{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:0 11px;
  border:1px solid rgba(139,92,246,.3);
  border-radius:999px;
  background:rgba(139,92,246,.12);
  color:#dcc9ff;
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.member-topbar-actions .sv-status{
  min-height:28px;
  padding:0 11px;
  font-size:.7rem;
}
.member-sidebar-toggle{
  display:none;
  position:relative;
  width:40px;
  height:40px;
  border:1px solid var(--sv-border);
  border-radius:12px;
  background:rgba(10,20,38,.8);
  color:var(--sv-text);
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .12s ease;
}
.member-sidebar-toggle:hover{
  background:rgba(17,33,58,.92);
  border-color:rgba(126,151,215,.42);
}
.member-sidebar-toggle:active{transform:scale(.92)}
.member-sidebar-toggle[aria-expanded="true"]{
  background:linear-gradient(135deg,rgba(59,130,246,.24),rgba(139,92,246,.2));
  border-color:rgba(139,146,255,.5);
}
.member-stage-body{
  width:100%;
  max-width:none;
  box-sizing:border-box;
  padding:22px 28px 36px;
  display:grid;
  gap:18px;
  flex:1 1 auto;
  min-width:0;
}
@media(min-width:2400px){
  .member-stage-body{
    max-width:2100px;
    margin-inline:auto;
  }
}
.member-section:not([hidden]){
  display:grid;
  gap:16px;
  width:100%;
  min-width:0;
}
.member-section[hidden]{display:none!important}
.member-sidebar-user [data-member-logout]{width:100%}
.member-sidebar-user .member-site-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 10px;
  border:1px solid rgba(126,151,215,.18);
  border-radius:9px;
  color:var(--sv-muted);
  font-size:.72rem;
  font-weight:650;
  text-decoration:none;
}
.member-sidebar-user .member-site-link:hover{
  color:var(--sv-text);
  border-color:rgba(126,151,215,.4);
  background:rgba(17,33,58,.55);
}

body.sv-member-session .member-shell{margin-top:0}
body.sv-member-session .member-welcome{
  width:100%;
  max-width:none;
  grid-template-columns:1fr auto;
  gap:14px;
  padding:18px 24px;
  border-radius:var(--sv-radius-panel);
  border-color:var(--sv-border);
  background:linear-gradient(145deg,rgba(13,25,48,.92),rgba(7,16,32,.94));
  box-shadow:none;
}
body.sv-member-session .member-welcome .member-avatar{display:none}
body.sv-member-session .member-welcome-copy .kicker{font-size:.64rem}
body.sv-member-session .member-welcome-copy h2{font-size:1.42rem;font-weight:700;letter-spacing:-.03em;line-height:1.2}
body.sv-member-session .member-welcome-copy p{font-size:.84rem}
body.sv-member-session .member-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:0;
  width:100%;
  max-width:none;
}
body.sv-member-session .member-metrics article{
  padding:14px 16px;
  border-radius:var(--sv-radius-card);
  border-color:var(--sv-border);
  background:rgba(7,16,32,.86);
}
body.sv-member-session .member-metrics small{font-size:.56rem;color:var(--sv-faint);font-weight:700;letter-spacing:.1em}
body.sv-member-session .member-metrics strong{margin-top:6px;font-size:1rem;font-weight:700;text-transform:none}
body.sv-member-session .member-metrics em{margin-top:4px;color:var(--sv-muted);font-size:.66rem}
.member-support-util{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 14px;
  width:100%;
  max-width:none;
  padding:8px 14px;
  border:1px solid var(--sv-border);
  border-radius:10px;
  background:rgba(7,16,32,.72);
  box-sizing:border-box;
}
.member-support-util-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  flex:1 1 220px;
}
.member-support-util-copy small{
  display:block;
  color:var(--sv-faint);
  font-size:.56rem;
  font-weight:750;
  letter-spacing:.1em;
}
.member-support-util-copy .member-support-id{
  display:block;
  margin:0;
  font-weight:650;
  color:var(--sv-text);
}
.member-support-util .member-support-copy{flex:0 0 auto}
.member-support-util .member-support-hint{
  flex:1 1 100%;
  color:var(--sv-muted);
  font-size:.62rem;
}
.member-support-row{display:none}
body.sv-member-session .member-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:0;
  width:100%;
  max-width:none;
}
body.sv-member-session .member-panel{
  min-height:0;
  padding:18px 20px;
  border-radius:var(--sv-radius-panel);
  border-color:var(--sv-border);
  background:linear-gradient(180deg,rgba(10,20,38,.9),rgba(7,16,32,.92));
}
body.sv-member-session .member-panel-head h3{margin:6px 0 0;font-size:1.08rem;font-weight:700}
body.sv-member-session .member-panel>p{font-size:.8rem;color:var(--sv-muted)}
body.sv-member-session .feature-icon.small{
  width:auto;
  height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:var(--sv-cyan);
}
body.sv-member-session .feature-icon.small .icon{width:18px;height:18px}
body.sv-member-session .download-ready{
  margin-top:14px;
  padding:12px 14px;
  border-radius:var(--sv-radius-card);
}
body.sv-member-session .member-access-panel li{
  padding:8px 10px;
  border-radius:9px;
  font-size:.7rem;
}
body.sv-member-session .member-access-panel li .icon{width:14px;height:14px}

.sv-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:24px;
  padding:0 8px;
  border-radius:999px;
  border:1px solid var(--sv-border);
  background:rgba(10,20,38,.7);
  color:var(--sv-muted);
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.02em;
  white-space:nowrap;
}
.sv-status i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
  flex:0 0 7px;
}
.sv-status[data-tone="running"],
.sv-status[data-tone="online"],
.sv-status[data-tone="connected"],
.sv-status[data-tone="active"]{color:#7ee0b5;border-color:rgba(34,229,138,.22);background:rgba(14,48,36,.35)}
.sv-status[data-tone="paused"],
.sv-status[data-tone="pending"]{color:#f3c56a;border-color:rgba(245,196,81,.22);background:rgba(52,40,12,.3)}
.sv-status[data-tone="stopped"],
.sv-status[data-tone="inactive"],
.sv-status[data-tone="offline"],
.sv-status[data-tone="disconnected"]{color:#93a4bb;border-color:var(--sv-border);background:rgba(10,20,38,.55)}
.sv-status[data-tone="error"],
.sv-status[data-tone="unavailable"]{color:#ff8eac;border-color:rgba(255,71,126,.24);background:rgba(58,18,32,.32)}

.member-snapshot{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  width:100%;
  max-width:none;
}
.member-snapshot article{
  padding:14px 16px;
  border:1px solid var(--sv-border);
  border-radius:var(--sv-radius-card);
  background:rgba(7,16,32,.86);
}
.member-snapshot small{display:block;color:var(--sv-faint);font-size:.56rem;font-weight:700;letter-spacing:.1em}
.member-snapshot strong{display:block;margin-top:6px;font-size:1.18rem;font-weight:700}
.member-snapshot em{display:block;margin-top:4px;color:var(--sv-muted);font-size:.66rem;font-style:normal}

body.sv-member-session .member-device-card{
  border-radius:var(--sv-radius-card);
  border-color:var(--sv-border);
  background:rgba(7,16,32,.72);
}
body.sv-member-session .member-device-card.online{border-color:rgba(34,229,138,.22)}
body.sv-member-session .member-device-head i{width:7px;height:7px}
body.sv-member-session .member-device-metrics span{
  border-radius:8px;
  border-color:rgba(28,49,82,.8);
}

body.sv-member-session .strategy-workspace-panel{grid-column:1/-1}
body.sv-member-session .strategy-sync-status{
  margin:10px 0;
  padding:9px 12px;
  border-radius:9px;
  font-size:.72rem;
  font-weight:650;
}
body.sv-member-session .strategy-runtime-note,
body.sv-member-session .strategy-note{
  color:var(--sv-muted);
  font-size:.72rem;
  line-height:1.5;
}
body.sv-member-session .strategy-view-tabs{
  display:flex;
  gap:6px;
  margin:12px 0 10px;
  padding:4px;
  border:1px solid var(--sv-border);
  border-radius:11px;
  background:rgba(4,11,24,.55);
  overflow:auto;
}
body.sv-member-session .strategy-view-tabs button{
  min-height:34px;
  padding:0 12px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--sv-muted);
  font-size:.72rem;
  font-weight:650;
  white-space:nowrap;
  cursor:pointer;
}
body.sv-member-session .strategy-view-tabs button.active{
  background:rgba(59,130,246,.16);
  color:#fff;
}
body.sv-member-session .strategy-overview-metrics{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
body.sv-member-session .strategy-overview-metrics article{
  padding:10px 12px;
  border:1px solid var(--sv-border);
  border-radius:var(--sv-radius-card);
  background:rgba(7,16,32,.7);
}
body.sv-member-session .strategy-overview-metrics small{display:block;color:var(--sv-faint);font-size:.52rem;letter-spacing:.1em}
body.sv-member-session .strategy-overview-metrics strong{display:block;margin-top:4px;font-size:1rem}

body.sv-member-session .strategy-library.strategy-overview-list,
body.sv-member-session .strategy-library{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));
  gap:14px;
  width:100%;
}
.strategy-library-card.strategy-overview-card,
body.sv-member-session .strategy-library-card{
  display:grid;
  gap:8px;
  padding:14px 14px 12px;
  border:1px solid var(--sv-border);
  border-radius:var(--sv-radius-card);
  background:linear-gradient(180deg,rgba(10,20,38,.92),rgba(7,16,32,.94));
}
.strategy-library-card:hover{border-color:var(--sv-border-hover)}
.strategy-card-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.strategy-card-copy strong{
  display:block;
  font-size:.88rem;
  font-weight:700;
  letter-spacing:-.02em;
}
.strategy-card-copy span{
  display:block;
  margin-top:3px;
  color:var(--sv-muted);
  font-size:.68rem;
}
.strategy-card-copy p{
  margin:8px 0 0;
  color:#8ea0b8;
  font-size:.72rem;
  line-height:1.45;
}
.strategy-card-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
  color:var(--sv-faint);
  font-size:.62rem;
}
.strategy-card-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px 14px;
  margin-top:4px;
  min-height:40px;
}
.strategy-card-actions{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(84px,1fr));
  gap:6px;
  margin-top:0;
  flex:1 1 260px;
  max-width:100%;
}
.strategy-card-actions button{
  min-height:32px;
  padding:0 10px;
  border:1px solid var(--sv-border);
  border-radius:8px;
  background:rgba(8,19,36,.88);
  color:#c9d6ea;
  font-size:.66rem;
  font-weight:650;
  cursor:pointer;
  white-space:nowrap;
}
.strategy-card-actions button:hover{border-color:var(--sv-border-hover);color:#fff}
.strategy-card-actions button[data-strategy-delete]{color:#ff8eac;border-color:rgba(255,71,126,.22)}

.strategy-run-control{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  flex:0 0 auto;
}
.strategy-run-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:118px;
  min-height:36px;
  padding:0 14px;
  border:1px solid transparent;
  border-radius:9px;
  background:linear-gradient(115deg,#2563eb,#7c3aed 70%);
  box-shadow:0 8px 18px rgba(37,99,235,.18), inset 0 1px rgba(255,255,255,.14);
  color:#fff;
  font-size:.74rem;
  font-weight:720;
  cursor:pointer;
  transition:background .16s, border-color .16s, opacity .16s, transform .16s;
}
.strategy-run-btn:hover:not(:disabled){transform:translateY(-1px)}
.strategy-run-btn:active:not(:disabled){transform:translateY(0)}
.strategy-run-btn.is-loading{cursor:progress;min-width:118px;pointer-events:none}
.strategy-run-btn[data-kind="pause"],
.strategy-run-btn[data-kind="stop"]{
  background:rgba(10,20,38,.9);
  border-color:var(--sv-border);
  box-shadow:none;
  color:var(--sv-text);
}
.strategy-run-btn[data-kind="resume"]{
  background:linear-gradient(115deg,#0e7490,#2563eb);
}
.strategy-run-btn[data-kind="unavailable"],
.strategy-run-btn[data-kind="error"]{
  background:rgba(10,20,38,.7);
  border-color:rgba(255,71,126,.28);
  box-shadow:none;
  color:#ffb0c4;
}

.strategy-empty{
  padding:18px 14px;
  border:1px dashed var(--sv-border);
  border-radius:var(--sv-radius-card);
  background:rgba(7,16,32,.45);
  color:var(--sv-muted);
  font-size:.74rem;
  text-align:center;
}
.sv-skeleton{
  display:grid;
  gap:8px;
}
.sv-skeleton>i{
  display:block;
  height:12px;
  border-radius:6px;
  background:linear-gradient(90deg,rgba(28,49,82,.4),rgba(49,94,142,.35),rgba(28,49,82,.4));
  background-size:200% 100%;
  animation:svShimmer 1.4s ease-in-out infinite;
}
@keyframes svShimmer{50%{background-position:100% 0}}
@media(prefers-reduced-motion:reduce){.sv-skeleton>i{animation:none}}

body.sv-member-session .referral-vault{
  margin:0;
  padding:16px 18px;
  border-radius:var(--sv-radius-panel);
  border-color:var(--sv-border);
}
body.sv-member-session .member-positions-panel .screen-row{
  padding:9px 8px;
  font-size:.7rem;
}
body.sv-member-session .member-positions-panel .screen-row.head{
  color:var(--sv-faint);
  font-size:.58rem;
  letter-spacing:.08em;
}
body.sv-member-session .member-positions-panel .screen-row:hover{background:rgba(17,33,58,.45)}

@media(max-width:1440px){
  .member-topbar{padding:10px 20px}
  .member-stage-body{padding:16px 20px 26px}
}
@media(max-width:1366px){
  .member-app:not([hidden]){grid-template-columns:204px minmax(0,1fr)}
  .member-sidebar{padding:12px 8px}
  .member-nav-btn{font-size:.74rem}
  .strategy-run-btn{min-width:96px;padding:0 12px}
  .member-support-util .member-support-hint{display:none}
}
@media(max-width:1100px){
  body.sv-member-session .member-metrics,
  .member-snapshot,
  body.sv-member-session .strategy-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
  .member-app:not([hidden]){grid-template-columns:1fr;height:100vh}
  .member-sidebar,
  .member-stage{grid-column:1;grid-row:1}
  .member-sidebar{
    position:fixed;
    z-index:80;
    width:min(280px,86vw);
    transform:translateX(-110%);
    transition:transform .2s ease;
    box-shadow:24px 0 60px rgba(0,0,0,.45);
  }
  body.sv-sidebar-open .member-sidebar{transform:none}
  .member-sidebar-toggle{display:grid;place-items:center}
  body.sv-sidebar-open .member-sidebar-toggle{
    position:fixed;
    top:16px;
    left:calc(min(280px,86vw) + 12px);
    z-index:90;
    transition:left .2s ease,background .18s ease,border-color .18s ease;
  }
  .member-sidebar-backdrop{
    display:none;
    position:fixed;
    inset:0;
    z-index:70;
    background:rgba(2,8,23,.55);
  }
  body.sv-sidebar-open .member-sidebar-backdrop{display:block}
  body.sv-member-session .member-dashboard-grid{grid-template-columns:1fr}
  .strategy-card-foot{align-items:stretch;flex-direction:column}
  .strategy-run-control{width:100%}
  .strategy-run-btn{flex:1}
}
@media(max-width:760px){
  .member-topbar{padding:10px 12px}
  .member-stage-body{padding:12px 12px 22px}
  body.sv-member-session .member-welcome{grid-template-columns:1fr}
  body.sv-member-session .member-metrics{grid-template-columns:1fr}
  .member-support-util{align-items:flex-start}
  .member-support-util .member-support-hint{display:none}
  body.sv-member-session .strategy-view-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .strategy-library.strategy-overview-list,
  body.sv-member-session .strategy-library{grid-template-columns:1fr}
}
body.sv-member-session .member-welcome .member-actions{display:none}
.member-topbar [data-devices-status]{max-width:min(520px,52vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.member-sidebar-toggle span{
  position:absolute;
  top:50%;
  left:50%;
  width:16px;
  height:2px;
  margin:-1px 0 0 -8px;
  border-radius:2px;
  background:currentColor;
  transition:transform .22s ease;
}
.member-sidebar-toggle span:first-child{transform:translateY(-5px)}
.member-sidebar-toggle span:last-child{transform:translateY(5px)}
.member-sidebar-toggle[aria-expanded="true"] span:first-child{transform:rotate(45deg)}
.member-sidebar-toggle[aria-expanded="true"] span:last-child{transform:rotate(-45deg)}
body.sv-member-session .member-section .member-panel{min-height:0}
.member-section[data-member-section="referrals"]>.strategy-empty{display:none}
.member-section[data-member-section="referrals"]:has(.referral-vault[hidden])>.strategy-empty{display:block}

@media(min-width:1600px){
  .member-topbar{padding:12px 32px;min-height:66px}
  .member-topbar h1{font-size:1.16rem!important}
  .member-topbar p{font-size:.78rem}
  .member-topbar-actions .sv-status{min-height:30px;font-size:.74rem;padding:0 12px}
  .member-topbar .member-plan{min-height:30px;font-size:.72rem;padding:0 12px}
  .member-stage-body{padding:22px 32px 36px;gap:18px}
  .member-section:not([hidden]){gap:18px}
  body.sv-member-session .member-welcome{padding:18px 24px}
  body.sv-member-session .member-welcome-copy h2{font-size:1.46rem}
  body.sv-member-session .member-welcome-copy p{font-size:.84rem}
  body.sv-member-session .member-metrics strong{font-size:1.06rem}
  .member-snapshot article{padding:14px 16px}
  .member-snapshot strong{font-size:1.22rem}
  body.sv-member-session .member-panel{padding:18px 20px}
  body.sv-member-session .member-panel-head h3{font-size:1.1rem}
  body.sv-member-session .strategy-overview-metrics strong{font-size:1.12rem}
  body.sv-member-session .strategy-library{grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr))}
}
@media(min-width:1920px){
  .member-stage-body{padding:24px 36px 40px}
  body.sv-member-session .member-welcome-copy h2{font-size:1.52rem}
  .member-snapshot strong{font-size:1.28rem}
}

/* ==========================================================================
   SignalVortex member dashboard - v51 desktop layer (2026-09-04)

   WIDTH ROOT CAUSE (traced, not guessed):
   the member app is authored inside the marketing page flow
       main > section.section--tight > div.container > .member-shell
   and `.container { width:min(calc(100% - 40px), var(--max)) }` where --max is
   1240px (base), 1360px (>=1600px) and 1480px (>=1920px). On a 1920 viewport
   that capped the whole dashboard at 1480px and left ~440px of dead space, and
   every per-card override was fought by that one ancestor. The v50 pass lifted
   the shell out of that flow (display:contents on main/section/container plus
   a fixed-viewport .member-app grid); this layer keeps that architecture and
   finishes the job: one shell scale, one 12-column overview grid, and a real
   large-desktop type ramp instead of laptop sizes stretched across a desktop.

   Everything below is additive and lives at the end of the sheet on purpose -
   it is the last word on the member app and does not depend on beating earlier
   rules with !important.
   ========================================================================== */

:root{
  --sv-sidebar-w:236px;
  --sv-gutter:26px;
  --sv-grid-gap:16px;
  --sv-stage-max:2280px;
  --sv-card-pad:16px 18px;
  --sv-fs-page-title:1.36rem;
  --sv-fs-hero:1.62rem;
  --sv-fs-metric:1.06rem;
  --sv-fs-snapshot:1.24rem;
  --sv-fs-panel:1.12rem;
  --sv-fs-label:.58rem;
  --sv-fs-support:.82rem;
}

/* --- shell ---------------------------------------------------------------
   sidebar: fixed track. workspace: minmax(0,1fr) so long content can never
   push the grid wider than the viewport. page content: full width with
   responsive gutters and only a generous ultrawide ceiling. */
body.sv-member-session .member-app:not([hidden]){
  grid-template-columns:var(--sv-sidebar-w) minmax(0,1fr);
}
body.sv-member-session .member-stage-body{
  width:100%;
  max-width:var(--sv-stage-max);
  margin-inline:auto;
  padding:20px var(--sv-gutter) 40px;
  gap:var(--sv-grid-gap);
}
body.sv-member-session .member-topbar{
  padding:12px var(--sv-gutter);
}

/* --- overview: one 12-column grid ----------------------------------------
   The wrappers collapse to display:contents at desktop so their cards land on
   the SAME 12 tracks. That is what makes 4+4+4, 3+3+3+3 and 6+6 line up with
   the hero and the support row instead of being three unrelated grids. */
@media(min-width:1100px){
  body.sv-member-session .member-section[data-member-section="home"]{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:var(--sv-grid-gap);
    align-content:start;
  }
  .member-section[data-member-section="home"]>.member-welcome,
  body.sv-member-session .member-section[data-member-section="home"]>.member-support-util{grid-column:1/-1}
  .member-section[data-member-section="home"]>.member-metrics,
  .member-section[data-member-section="home"]>.member-snapshot,
  body.sv-member-session .member-section[data-member-section="home"]>.member-dashboard-grid{display:contents}
  body.sv-member-session .member-section[data-member-section="home"]>.member-metrics>article{grid-column:span 4}
  body.sv-member-session .member-section[data-member-section="home"]>.member-snapshot>article{grid-column:span 3}
  body.sv-member-session .member-section[data-member-section="home"]>.member-dashboard-grid>*{grid-column:span 6}
}

/* --- hero ----------------------------------------------------------------
   The right column used to be an empty `auto` track (Log out is deliberately
   sidebar-only), which is most of what read as "empty region on the right".
   It now carries the membership identity the header does not repeat. */
body.sv-member-session .member-welcome{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  padding:20px 26px;
}
body.sv-member-session .member-welcome-copy h2{font-size:var(--sv-fs-hero);line-height:1.16}
body.sv-member-session .member-welcome-copy p{font-size:.86rem}
body.sv-member-session .member-welcome-aside{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:7px;
  text-align:right;
  min-width:0;
}
body.sv-member-session .member-welcome-aside .member-plan{margin:0}
body.sv-member-session .member-welcome-aside small{
  display:block;
  color:var(--sv-faint);
  font-size:var(--sv-fs-label);
  font-weight:750;
  letter-spacing:.1em;
}
body.sv-member-session .member-welcome-aside strong{
  display:block;
  color:var(--sv-text);
  font-size:.84rem;
  font-weight:650;
}
@media(max-width:1099px){
  body.sv-member-session .member-welcome{grid-template-columns:minmax(0,1fr)}
  body.sv-member-session .member-welcome-aside{align-items:flex-start;text-align:left}
}

/* --- support id ----------------------------------------------------------
   Was: a flex row where the label+value stretched the full 1620px, Copy sat
   pinned at the far right edge and the hint wrapped onto its own line (92px
   tall, mostly empty). Now a deliberate utility: one bounded identity cluster
   on the left, the hint as a quiet right-aligned note. */
body.sv-member-session .member-support-util{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px 20px;
  padding:12px 18px;
  border-radius:var(--sv-radius-card,12px);
}
body.sv-member-session .member-support-util-identity{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  flex:0 1 auto;
}
body.sv-member-session .member-support-util-copy{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  flex:0 1 auto;
}
body.sv-member-session .member-support-util-copy small{
  font-size:var(--sv-fs-label);
  letter-spacing:.11em;
}
body.sv-member-session .member-support-util .member-support-id{
  font-size:var(--sv-fs-support)!important;
  max-width:38ch;
  overflow-wrap:anywhere;
}
body.sv-member-session .member-support-util .member-support-copy{
  flex:0 0 auto;
  min-height:32px;
}
body.sv-member-session .member-support-util .member-support-hint{
  display:block;
  flex:0 1 auto;
  margin-left:auto;
  color:var(--sv-muted);
  font-size:.7rem;
  text-align:right;
}
@media(max-width:900px){
  body.sv-member-session .member-support-util{justify-content:flex-start}
  body.sv-member-session .member-support-util .member-support-hint{margin-left:0;text-align:left;flex:1 1 100%}
}

/* --- top bar -------------------------------------------------------------
   HEADER CLIPPING: the bar is sticky with a fixed min-height and nowrap, so a
   long page title plus the status/plan chips had no room to breathe and the
   title's descenders sat against the border. Give it an intrinsic height
   (align-items:center, no fixed height) and let the actions shrink rather
   than overflow. */
body.sv-member-session .member-topbar{
  min-height:auto;
  height:auto;
  align-items:center;
  gap:20px;
  overflow:visible;
}
body.sv-member-session .member-topbar>div:not(.member-topbar-actions){
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  padding:2px 0;
}
body.sv-member-session .member-topbar h1{
  margin:0;
  /* beats the earlier `.member-topbar h1{font-size:1.16rem!important}` */
  font-size:var(--sv-fs-page-title)!important;
  line-height:1.3;
  letter-spacing:-.03em;
  overflow:visible;
}
body.sv-member-session .member-topbar p{
  margin:0;
  font-size:.78rem;
  line-height:1.35;
  color:var(--sv-muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
body.sv-member-session .member-topbar-actions{
  flex:0 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:nowrap;
}
body.sv-member-session .member-topbar-actions>*{white-space:nowrap}

/* --- large desktop scale --------------------------------------------------
   The dashboard used to render laptop-sized inside a desktop viewport. This is
   a modest ramp - denser than a marketing page, larger than the 1366 layout -
   applied through tokens so every surface moves together. No CSS zoom. */
body.sv-member-session .member-metrics article,
body.sv-member-session .member-snapshot article{padding:var(--sv-card-pad)}
body.sv-member-session .member-metrics small,
body.sv-member-session .member-snapshot small{font-size:var(--sv-fs-label)!important}
body.sv-member-session .member-metrics strong{font-size:var(--sv-fs-metric)}
body.sv-member-session .member-snapshot strong{font-size:var(--sv-fs-snapshot)}
body.sv-member-session .member-panel h3{font-size:var(--sv-fs-panel)}

@media(min-width:1440px){
  :root{
    --sv-gutter:32px;
    --sv-grid-gap:18px;
    --sv-card-pad:18px 20px;
    --sv-fs-page-title:1.5rem;
    --sv-fs-hero:1.86rem;
    --sv-fs-metric:1.14rem;
    --sv-fs-snapshot:1.36rem;
    --sv-fs-panel:1.16rem;
    --sv-fs-support:.86rem;
  }
}
@media(min-width:1680px){
  :root{
    --sv-sidebar-w:248px;
    --sv-gutter:40px;
    --sv-grid-gap:20px;
    --sv-card-pad:20px 22px;
    --sv-fs-page-title:1.62rem;
    --sv-fs-hero:2.02rem;
    --sv-fs-metric:1.22rem;
    --sv-fs-snapshot:1.5rem;
    --sv-fs-panel:1.22rem;
    --sv-fs-label:.6rem;
    --sv-fs-support:.9rem;
  }
  body.sv-member-session .member-welcome{padding:24px 30px}
  body.sv-member-session .member-topbar p{font-size:.82rem}
}
@media(min-width:1920px){
  :root{
    --sv-sidebar-w:258px;
    --sv-gutter:48px;
    --sv-grid-gap:22px;
    --sv-card-pad:22px 24px;
    --sv-fs-page-title:1.74rem;
    --sv-fs-hero:2.2rem;
    --sv-fs-metric:1.3rem;
    --sv-fs-snapshot:1.62rem;
    --sv-fs-panel:1.28rem;
    --sv-fs-support:.94rem;
  }
  body.sv-member-session .member-welcome{padding:28px 34px}
  body.sv-member-session .member-panel{padding:22px 24px}
}

/* --- session boot --------------------------------------------------------
   The three items were auto rows in a 100vh grid, so align-content:stretch
   spread the logo, wordmark and status line to opposite ends of the screen. */
.sv-session-boot{
  align-content:center;
  justify-content:center;
  gap:12px;
}

/* --- strategy lifecycle controls ----------------------------------------- */
body.sv-member-session .strategy-run-control{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
body.sv-member-session .strategy-run-control .strategy-run-btn[disabled]{
  opacity:.55;
  cursor:not-allowed;
}
body.sv-member-session .strategy-run-control .strategy-run-btn.is-pending{
  opacity:.8;
  cursor:progress;
}
body.sv-member-session .strategy-runtime-reason{
  display:block;
  width:100%;
  margin-top:2px;
  color:var(--sv-muted);
  font-size:.66rem;
  line-height:1.35;
}
body.sv-member-session .strategy-runtime-reason[data-tone="error"]{color:#ff9a9a}
.sv-status[data-tone="starting"] i,
body.sv-member-session .sv-status[data-tone="stopping"] i{animation:sv-runtime-pulse 1.1s ease-in-out infinite}
@keyframes sv-runtime-pulse{0%,100%{opacity:.35}50%{opacity:1}}
/* Mobile overrides follow the complete desktop cascade below. */

/* Responsive member shell: keep these after desktop sizing overrides. */
@media(max-width:900px){
  body.sv-member-session{--sv-gutter:16px;--sv-grid-gap:14px;--sv-fs-page-title:1.15rem;--sv-fs-hero:1.4rem}
  body.sv-member-session .member-app:not([hidden]){grid-template-columns:minmax(0,1fr);height:100dvh}
  body.sv-member-session .member-stage{width:100%;min-width:0}
  body.sv-member-session .member-topbar{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:12px 16px;align-items:center}
  body.sv-member-session .member-sidebar-toggle{width:40px;height:40px;min-width:40px}
  body.sv-member-session .member-topbar>div:not(.member-topbar-actions){min-width:0}
  body.sv-member-session .member-topbar h1{overflow-wrap:anywhere;line-height:1.2}
  body.sv-member-session .member-topbar p{white-space:normal;font-size:.72rem;line-height:1.4}
  body.sv-member-session .member-topbar-actions{gap:0;min-width:0}
  body.sv-member-session .member-topbar [data-devices-status]{display:none}
  body.sv-member-session .member-topbar .member-plan{font-size:.6rem;padding:0 9px}
  body.sv-member-session .member-stage-body{padding:16px 16px 28px}
  body.sv-member-session .member-welcome{grid-template-columns:minmax(0,1fr);padding:18px;gap:16px}
  body.sv-member-session .member-welcome-copy h2{overflow-wrap:anywhere}
  body.sv-member-session .member-section,body.sv-member-session .member-panel{min-width:0}
}
@media(max-width:480px){
  body.sv-member-session .member-topbar{grid-template-columns:40px minmax(0,1fr);column-gap:12px}
  body.sv-member-session .member-topbar-actions{grid-column:2;justify-content:flex-start}
  body.sv-member-session .member-snapshot,body.sv-member-session .strategy-overview-metrics{grid-template-columns:minmax(0,1fr)}
}

/* Quick trading-hours editor on a strategy card. The button sits in the same
   action row as Simulate/Sources/Edit, so it inherits their sizing and only
   adds the icon + current window. The pane expands inside the card rather
   than floating, so it cannot be clipped by the card's own overflow. */
body.sv-member-session .strategy-card-actions button.strategy-schedule-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  color:var(--sv-muted, #9AABC3);
}
body.sv-member-session .strategy-card-actions button.strategy-schedule-btn:hover,
body.sv-member-session .strategy-card-actions button.strategy-schedule-btn.is-open{
  color:var(--sv-cyan, #22D3EE);
  border-color:rgba(34,211,238,.42);
  background:rgba(34,211,238,.08);
}
body.sv-member-session .strategy-card-actions button.strategy-schedule-btn svg{flex:0 0 auto}
body.sv-member-session .strategy-card-actions button.strategy-schedule-btn span{
  font-size:.66rem;
  font-weight:650;
  letter-spacing:.02em;
  font-variant-numeric:tabular-nums;
}
body.sv-member-session .strategy-schedule-pane{
  display:grid;
  gap:14px;
  margin-top:12px;
  padding:16px;
  border:1px solid rgba(34,211,238,.16);
  border-radius:var(--sv-radius-card, 12px);
  background:linear-gradient(180deg,rgba(8,19,36,.94),rgba(7,14,28,.96));
}
body.sv-member-session .strategy-schedule-head{
  display:grid;
  gap:3px;
}
body.sv-member-session .strategy-schedule-head strong{
  color:var(--sv-text, #F5F8FF);
  font-size:.82rem;
  font-weight:700;
  letter-spacing:-.02em;
}
body.sv-member-session .strategy-schedule-head span{
  color:var(--sv-faint, #627590);
  font-size:.68rem;
  line-height:1.4;
}
body.sv-member-session .strategy-schedule-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:12px;
  align-items:end;
}
body.sv-member-session .strategy-schedule-row label{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
  color:var(--sv-muted, #9AABC3);
  font-size:.62rem;
  font-weight:750;
  text-transform:uppercase;
  letter-spacing:.08em;
}
body.sv-member-session .strategy-schedule-row input{
  width:100%;
  min-width:0;
  min-height:42px;
  padding:8px 12px;
  border:1px solid var(--sv-border, #1C3152);
  border-radius:var(--sv-radius-control, 9px);
  background:rgba(8,19,38,.96);
  color:var(--sv-text, #F5F8FF);
  font-size:.92rem;
  font-weight:700;
  font-variant-numeric:tabular-nums;
  color-scheme:dark;
}
body.sv-member-session .strategy-schedule-row input:focus{
  outline:none;
  border-color:rgba(34,211,238,.7);
  box-shadow:0 0 0 3px rgba(34,211,238,.12);
}
body.sv-member-session .strategy-schedule-row input::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.9;
  /* color-scheme:dark above already renders this icon light, so the old
     invert(.82) was flipping it back toward black - invisible on the dark
     field. brightness(0) crushes it to solid black first so the result is
     deterministic regardless of that, then invert+hue-rotate tints it cyan
     to match the schedule button's accent instead of relying on native
     theming. */
  filter:brightness(0) saturate(100%) invert(72%) sepia(59%) saturate(1214%) hue-rotate(152deg) brightness(101%) contrast(96%);
}
body.sv-member-session .strategy-schedule-row input::-webkit-calendar-picker-indicator:hover{
  opacity:1;
}
body.sv-member-session .strategy-schedule-to{
  display:grid;
  place-items:center;
  height:42px;
  color:var(--sv-faint, #627590);
  font-size:1rem;
  font-weight:650;
  padding-bottom:1px;
}
body.sv-member-session .strategy-schedule-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
body.sv-member-session .strategy-schedule-days{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
body.sv-member-session .strategy-schedule-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:0 9px;
  border:1px solid rgba(154,171,195,.16);
  border-radius:999px;
  background:rgba(154,171,195,.08);
  color:var(--sv-muted, #9AABC3);
  font-size:.62rem;
  font-weight:650;
  letter-spacing:.02em;
}
body.sv-member-session .strategy-schedule-chip--tz{
  border-color:rgba(34,211,238,.22);
  background:rgba(34,211,238,.08);
  color:var(--sv-cyan, #22D3EE);
}
body.sv-member-session .strategy-schedule-note{
  margin:0;
  color:var(--sv-faint, #627590);
  font-size:.66rem;
  line-height:1.45;
}
body.sv-member-session .strategy-schedule-actions{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}
body.sv-member-session .strategy-schedule-actions button{
  min-height:36px;
  padding:0 14px;
  border:1px solid var(--sv-border, #1C3152);
  border-radius:var(--sv-radius-control, 9px);
  background:rgba(8,19,36,.88);
  color:var(--sv-muted, #9AABC3);
  font-size:.72rem;
  font-weight:650;
  cursor:pointer;
}
body.sv-member-session .strategy-schedule-actions button:hover{
  border-color:var(--sv-border-hover, #315E8E);
  color:var(--sv-text, #F5F8FF);
}
body.sv-member-session .strategy-schedule-actions button.primary{
  border-color:rgba(34,211,238,.42);
  background:rgba(34,211,238,.16);
  color:var(--sv-cyan, #22D3EE);
  font-weight:720;
}
body.sv-member-session .strategy-schedule-actions button.primary:hover{
  border-color:var(--sv-cyan, #22D3EE);
  background:rgba(34,211,238,.26);
  color:#fff;
}
body.sv-member-session .strategy-schedule-status{
  margin:0;
  min-height:0;
  font-size:.64rem;
  color:var(--sv-faint, #627590);
}
body.sv-member-session .strategy-schedule-status:empty{display:none}
body.sv-member-session .strategy-schedule-status[data-tone="error"]{color:#ff8fb0}
@media(max-width:520px){
  body.sv-member-session .strategy-schedule-row{
    grid-template-columns:minmax(0,1fr);
    gap:10px;
  }
  body.sv-member-session .strategy-schedule-to{display:none}
  body.sv-member-session .strategy-schedule-actions{justify-content:stretch}
  body.sv-member-session .strategy-schedule-actions button{flex:1}
}

/* sv-portal-copy */.portal-auth-card p{line-height:1.5}.portal-feature p{line-height:1.45;color:#9aa6bd}

/* sv-nav-space: the ghost Dashboard button is wider than the text link
   and was pushing Purchase off-canvas. Keep Dashboard in the link row. */
.nav-actions{flex-shrink:0}
@media(min-width:841px){
  .nav-actions > a[href="/dashboard"],
  .nav-actions > a[href="dashboard.html"]{display:none}
}
@media(max-width:1280px){
  .nav-link-secondary{display:none}
}
.nav-links a.is-active:not(.button),
.nav-links a[aria-current="location"]:not(.button){
  color:#fff;background:rgba(255,255,255,.06)
}

/* sv-type-phone: long headlines were sized for a one-word hero */
@media(max-width:610px){
  .hero h1{font-size:clamp(2.05rem,8.4vw,2.7rem);line-height:1.12}
  .subhero h1{font-size:clamp(2.05rem,8.2vw,2.85rem);line-height:1.12}
  .hero-lead{font-size:.92rem}
}

/* sv-login-focus: logged-out dashboard is a sign-in, not a second homepage */
html[data-sv-auth="unauthenticated"] .portal-heading,
html[data-sv-auth="unauthenticated"] .portal-feature-grid,
html[data-sv-auth="unauthenticated"] .portal-subhero .hero-actions,
html[data-sv-auth="unauthenticated"] .portal-subhero .breadcrumbs{
  display:none!important;
}
html[data-sv-auth="unauthenticated"] .portal-subhero{
  padding:108px 0 10px;
}
html[data-sv-auth="unauthenticated"] .portal-subhero h1{
  max-width:14ch;
  font-size:clamp(1.85rem,3.4vw,2.45rem);
  line-height:1.08;
}
html[data-sv-auth="unauthenticated"] .portal-subhero p{
  max-width:46ch;
  font-size:.9rem;
}
html[data-sv-auth="unauthenticated"] .section.section--tight{
  padding-top:8px;
  padding-bottom:48px;
}
@media(max-width:610px){
  html[data-sv-auth="unauthenticated"] .portal-subhero{padding:96px 0 6px}
  html[data-sv-auth="unauthenticated"] .portal-subhero h1{font-size:clamp(1.7rem,7.2vw,2.15rem)}
}
