/* Real portal controls in the approved Resonance materials and rhythm.
   Form names, action URLs, consent and data bindings stay server-owned. */
:root {
  --bg-2:var(--mineral);--surface:#fff;--surface-2:#edf3f0;
  --ink-2:var(--muted);--ink-3:var(--muted);--line-2:#bdceca;
  --up:var(--green);--up-soft:var(--green-hover);--up-deep:#fff;
  --up-glow:#e0ebe8;--down:var(--red);--down-glow:var(--red-bg);
  --amber-glow:var(--amber-bg);--sim-glow:var(--sim-bg);
  --font:var(--body);--well:#edf3f0;--shadow:none;
}
body{font:500 16px/1.55 var(--body)}
.ambient{display:none}
a:hover{text-decoration:none}
p a:not(.btn),.prose a{text-decoration:underline;text-underline-offset:4px}
.topbar{position:relative;background:var(--petrol);color:var(--white);backdrop-filter:none;border:0}
.topbar .wrap{width:min(1280px,calc(100% - 128px));max-width:none;padding:0;min-height:96px;gap:24px}
.brand b{font:650 20px/1 var(--body);color:var(--white);letter-spacing:-.04em}
.brand .mark{width:32px;height:32px;background:transparent;border:0}
.brand .mark svg{width:24px;height:24px}
nav.main{gap:16px;font:550 14px/1 var(--body)}
nav.main a{color:var(--mist);padding:12px 0;border-radius:0}
nav.main a:hover,nav.main a[aria-current=page]{color:white;background:transparent;text-decoration:underline;text-underline-offset:6px}
nav.main a.cta{margin-left:0;border:1px solid var(--line-dark);background:transparent;color:white;font-weight:550;padding:12px 16px;border-radius:8px}
.menubtn{background:transparent;border-color:var(--line-dark);color:white;min-height:44px}
.resonance-page{max-width:1280px;width:calc(100% - 128px);padding:64px 0 96px;min-height:55vh}
.resonance-page.landing,.resonance-page.provider_landing{width:100%;max-width:none;padding:0}
.hero{padding:0;margin:0;max-width:none}.hero h1{font-family:var(--display);font-weight:400;color:white}.hero-copy .btn:hover{color:var(--petrol)}
.hero-account{color:var(--gold)}
.hero-bottom{margin:0}.hero .countline{color:var(--mist);background:transparent;border:0;display:flex;padding:0;gap:6px;font-size:13px;margin:16px 0 0}.hero .countline b{color:var(--sage)}
.path-section .path-tabs{margin-top:0}.path-tab{font-family:var(--body);border-radius:0}
.path-copy a,.record-notes a{color:var(--green)}
.path-copy h3,.record-notes h3,.provider-art h3{font-family:var(--display);font-weight:400}
.faq{margin:0}.faq summary{font:550 16px/1.5 var(--body);padding:24px 0}.faq summary:after{color:var(--green);font:400 24px var(--body)}
.record-graph.empty-record{min-height:320px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:24px}
.empty-record h3{font:400 48px/1.1 var(--display);letter-spacing:-.02em}
.empty-record p{max-width:480px;color:var(--muted);margin:0}
.empty-record .record-facts{display:flex;gap:24px;flex-wrap:wrap;font-size:13px}
.record-facts strong{display:block;font:500 18px var(--body);color:var(--ink)}
.site-footer{position:relative;z-index:1}.site-footer .brand{color:white}
.site-footer .disclaimers{max-width:none;margin:0;padding:32px 0 0;color:var(--mist);border-color:var(--line-dark);font:500 13px/1.6 var(--body)}
.site-footer .disclaimers b{color:white}.site-footer .disclaimers a{color:var(--mist)}
.site-footer .footer-top{margin-bottom:48px}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}
.card:before{display:none}.card,.tile,.act,.step,.mini{box-shadow:none;border-color:var(--line);background:white;border-radius:16px}
.card{padding:32px 24px}.tile{padding:32px 24px;gap:24px}.tile__head,.tile__foot,.tile__actions{padding:0}.tile__head>div{min-width:0}.tile__name{font-size:22px;overflow-wrap:anywhere}
.tiles{gap:24px}.tile__id,.tile__foot,.broker,.hint,.sub{color:var(--muted)}
.tile__stats{background:var(--bg)}
.btn{font-weight:600;line-height:1.5;min-height:48px;border-radius:8px;padding:12px 24px}
.btn--ghost{background:transparent;border:1px solid var(--line-dark);color:var(--ink)}
.btn--ghost:hover{background:var(--mineral);color:var(--ink)}
.btn--danger{background:transparent;border:1px solid var(--red);color:var(--red)}
.btn--danger:hover{background:var(--red-bg)}.btn--sm{min-height:44px;padding:8px 16px;font-size:13px}
.field{display:block;margin-bottom:24px}.field label{font:650 13px/1.5 var(--body);text-transform:none;letter-spacing:0;color:var(--ink);margin-bottom:8px}
.field input[type=text],.field input[type=password],.field input[type=email],.field input[type=tel],.field input[type=number],.field input[type=datetime-local],.field input[type=month],.field textarea,.field select{background:white;border:1px solid var(--line-dark);font-size:16px;border-radius:8px;min-height:48px;color:var(--ink);padding:12px 16px}
.field .hint{font:500 13px/1.6 var(--body);margin-top:8px}.field .err{font-size:13px}
.formwrap{max-width:800px;margin:0 auto}.formwrap h1,.pagehead h1,.prose h1{font:400 clamp(48px,5.5vw,80px)/1.04 var(--display);letter-spacing:-.03em;margin:0 0 24px}
.pagehead{padding:0 0 48px}.pagehead .sub{font-size:16px;max-width:680px}
.pagehead .kicker{font-size:13px;text-transform:none;font-weight:650;letter-spacing:0;color:var(--muted)}
.sect{padding:96px 0 0}.sect h2,.endband h2{font:400 48px/1.1 var(--display);letter-spacing:-.02em}.sect .sub{font-size:16px}.sect .kicker{text-transform:none;letter-spacing:0}
.sect[style]{padding-top:48px!important}
.acts,.steps,.doors,.orient,.cards4{gap:24px}.act,.step,.door,.orient .o,.mini{padding:32px 24px}
.act p,.step p,.door p,.orient .o p,.mini p{font-size:16px;font-weight:500}
.act h3,.step h3,.door h3,.orient .o h3,.mini h3{font:550 20px/1.4 var(--body)}
.sub_account>div:first-child h1{font:400 64px/1.05 var(--display)!important;letter-spacing:-.02em}
.provhead{margin:0 0 32px;padding:32px 24px}.provhead h1{font:400 60px/1.1 var(--display)}
.checklist li{padding:24px 0}.checklist .t{font:550 16px/1.4 var(--body)}.checklist .s{font:500 13px/1.6 var(--body)}
.sectionrow{margin:48px 0 24px}.sectionrow h2{font:550 20px/1.4 var(--body);text-transform:none;letter-spacing:0;color:var(--ink)}
.marketbar{gap:16px;margin-bottom:32px}.marketbar input[type=text],.marketbar select{min-height:48px;background:white;font-size:14px}
.marketbar input[type=text]{min-width:180px;flex:1}.marketbar label{font-size:13px}
.tablewrap{border-color:var(--line);background:white}.cmptable th{background:var(--mineral);color:var(--ink);font-weight:600}.cmptable th a{padding:24px 16px;font:650 12px/1.4 var(--body);text-transform:none;letter-spacing:0}.cmptable td{padding:24px 16px;font-size:14px;border-color:var(--line)}.cmptable td.sig>a{font-size:16px;font-weight:650}.cmptable td.sig .sub{font-size:13px}.cmptable td.sig:after{background:linear-gradient(90deg,#17383b16,transparent)}
.nodata{padding:64px 24px;color:var(--muted);font-size:16px}
.prose{font-size:16px;line-height:1.65;margin:0 auto}.prose .updated{font-size:13px;margin-bottom:48px}.prose h2{font:550 20px/1.4 var(--body);margin:48px 0 16px}.prose p{margin-bottom:24px}
.prose li{margin-bottom:12px}
.notice{font-size:14px;line-height:1.65;border-radius:12px;padding:24px}.notice.sim{background:var(--sim-bg);border-color:var(--sim)}.notice--futures{background:var(--amber-bg);border-color:var(--amber)}
.infobar{font-size:14px;padding:24px;margin:24px 0}.modal{background:var(--bg);color:var(--ink);padding:32px;border-color:var(--line);max-height:calc(100dvh - 48px);overflow:auto}
.modal h2{font:400 36px/1.2 var(--display)}
.login,.sub_login,.register,.sub_register{display:grid;grid-template-columns:.9fr 1.1fr;gap:96px;align-items:center;max-width:1060px}
.authwrap{max-width:none;width:100%;margin:0}.authwrap .card{padding:48px 24px}.authwrap h1{font:500 24px/1.3 var(--body);letter-spacing:0}.authwrap .sub{font-size:14px;margin:16px 0 32px}
.authwrap .btn[type=submit]{width:100%}.auth-intro h1{font-family:var(--display);font-weight:400}
.verify .authwrap,.sub_verify .authwrap{max-width:520px;margin:auto}
.tile__actions{flex-wrap:wrap}.signal_detail .tile>.spark{height:240px}.statgrid{gap:24px 16px}.stat .v{font-size:20px;font-weight:550}.stat .l{font-size:11px;font-weight:600;text-transform:none;letter-spacing:0}.sparklegend{font-size:12px;flex-wrap:wrap}
.performance-scroll{scrollbar-color:var(--line-dark) var(--mineral)}
.perftable{min-width:540px}.perftable td:first-child{min-width:180px}
#market-results td.sig{white-space:normal;min-width:210px;max-width:260px}
.field input[type=radio],.field input[type=checkbox]{width:16px;height:16px;min-height:16px;padding:0;margin:0;flex:none;accent-color:var(--green)}
.radios label{display:flex;align-items:center;gap:8px;margin:0}
.resonance-page .notice h2,.resonance-page .nextbox h2{font:600 16px/1.4 var(--body);text-transform:none;letter-spacing:0;margin:0 0 12px}
.card h2{font-family:var(--body);font-weight:600}
.resonance-page>.card+.card{margin-top:32px}
@media(max-width:1100px){.resonance-page{width:calc(100% - 80px)}.topbar .wrap{width:calc(100% - 80px)}nav.main{gap:12px}nav.main a{font-size:13px}.login,.sub_login,.register,.sub_register{gap:48px}}
@media(min-width:941px){.menubtn{display:none}}
@media(max-width:940px){nav.main{border-top-color:var(--line-dark);padding:16px 0 24px}.menubtn{display:block}nav.main a{font-size:16px;padding:12px 0}nav.main a.cta{margin:8px 0 0}.topbar .wrap{min-height:80px;padding-block:16px}}
@media(max-width:850px){.resonance-page{width:calc(100% - 48px)}.topbar .wrap{width:calc(100% - 48px)}.login,.sub_login,.register,.sub_register{display:block;max-width:520px}.auth-intro{margin-bottom:32px}.authwrap.card{padding:32px 24px}.resonance-page.landing,.resonance-page.provider_landing{width:100%}.auth-intro h1{font-size:60px}.sub_account>div:first-child h1{font-size:52px!important}}
@media(max-width:680px){.resonance-page{padding:48px 0 64px}.resonance-page.landing,.resonance-page.provider_landing{padding:0}.topbar .wrap{min-height:76px}.brand b{font-size:18px}.card{padding:32px 16px}.tile__head,.tile__foot,.tile__actions{padding:24px 16px}.tiles{grid-template-columns:minmax(0,1fr)}.sect{padding-top:64px}.sect h2{font-size:40px}.field input,.field select{min-width:0}.mtable th,.mtable td{padding:16px}.authwrap.card{padding:32px 16px}.auth-intro h1{font-size:52px}.checklist li{grid-template-columns:22px minmax(0,1fr)}.checklist li>button{grid-column:2;justify-self:start}.marketbar input[type=text]{width:100%;min-width:0}.prose h1{font-size:48px}.modal{padding:24px}.sectionrow h2{font-size:18px}}
@media(max-width:680px){.tile{padding:24px 16px}.tile__head,.tile__foot,.tile__actions{padding:0}.tile__head{flex-wrap:wrap}.cmptable th a,.cmptable td{padding:16px}.authwrap .card{padding:32px 16px}.statgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.signal_detail .tile>.spark{height:180px}}
