:root{--blue:#0000ff;--ink:#0a0b0d;--paper:#fff;--soft:#f6f7f9;--muted:#626873;--line:#dde0e5;--line2:#b8bdc6;--good:#16a34a;--warn:#d97706;--bad:#dc2626;--shell:min(1240px,calc(100vw - 48px));--r:24px;--r2:16px;--shadow:0 24px 80px rgba(10,11,13,.08);color-scheme:light}
:root[data-theme=dark]{--ink:#f7f8fa;--paper:#0b0c0f;--soft:#121419;--muted:#a9afb9;--line:#2b2f36;--line2:#4b515b;--shadow:0 24px 80px rgba(0,0,0,.36);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input,textarea{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}.hidden{display:none!important}.shell{width:var(--shell);margin-inline:auto}::selection{background:var(--blue);color:#fff}
.topbar{height:78px;display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:center;border-bottom:1px solid var(--line);position:relative;z-index:10}.brand{display:inline-flex;align-items:center;gap:9px;width:max-content;font-weight:720;letter-spacing:-.035em;font-size:19px}.brand-mark,.base-square{display:inline-block;background:var(--blue);width:18px;aspect-ratio:1}.brand-mark{border-radius:4px}.nav{display:flex;gap:28px;font-size:13px;font-weight:650;color:var(--muted)}.nav a:hover{color:var(--ink)}.top-actions{justify-self:end;display:flex;gap:9px;align-items:center}.network-status{height:42px;padding:0 12px;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;gap:7px;font-size:12px}.network-status i,.live-chip i{width:7px;aspect-ratio:1;border-radius:50%;background:var(--warn)}.network-status.online i,.live-chip.online i{background:var(--good)}.network-status.error i,.live-chip.error i{background:var(--bad)}.network-status small{color:var(--muted)}
.btn,.icon-btn,.text-btn{border:0;background:none;transition:transform .16s ease,background .16s ease,border-color .16s ease,opacity .16s ease}.btn:active,.icon-btn:active{transform:translateY(1px)}.btn{min-height:44px;border-radius:999px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:720;white-space:nowrap}.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{filter:brightness(.93)}.btn-dark{background:var(--ink);color:var(--paper)}.btn-outline{border:1px solid var(--line);background:var(--paper)}.btn-outline:hover{background:var(--soft)}.btn-lg{min-height:50px}.btn-xl{min-height:54px;padding-inline:24px;font-size:14px}.btn-block{width:100%}.btn[disabled]{opacity:.45;pointer-events:none}.icon-btn{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--paper)}.wallet-led{width:7px;aspect-ratio:1;border-radius:50%;background:var(--blue)}.btn-dark.is-connected .wallet-led{background:var(--good)}.text-btn{padding:8px 0;color:var(--muted);font-size:13px;font-weight:650}.text-btn:hover{color:var(--ink)}
.overline,.kicker,.panel-label{font:700 10px/1.2 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.09em;color:var(--muted)}.kicker{display:flex;align-items:center;gap:9px;margin-bottom:26px}.kicker .base-square{width:10px}.hero{min-height:700px;display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.9fr);gap:clamp(48px,7vw,104px);align-items:center;padding:82px 0 92px}.hero h1{font-size:clamp(64px,7.1vw,104px);line-height:.86;letter-spacing:-.07em;font-weight:580;margin:0}.hero h1 em{font-style:normal;color:var(--blue)}.hero-copy>p{max-width:660px;color:var(--muted);font-size:clamp(18px,1.7vw,22px);letter-spacing:-.02em;margin:30px 0 0}.hero-actions{display:flex;gap:22px;align-items:center;margin-top:34px}.plain-link{font-size:13px;font-weight:700}.hero-stats{display:flex;gap:48px;margin-top:58px;padding-top:23px;border-top:1px solid var(--line);max-width:640px}.hero-stats div{display:grid;gap:2px}.hero-stats strong{font-size:24px;letter-spacing:-.04em}.hero-stats span{font-size:11px;color:var(--muted)}
.market-terminal{border:1px solid var(--line);border-radius:var(--r);padding:26px;background:var(--paper);box-shadow:var(--shadow);position:relative}.market-terminal:after{content:"";position:absolute;z-index:-1;inset:22px -20px -20px 34px;background:var(--blue);border-radius:var(--r)}.terminal-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.terminal-head h2{margin:7px 0 0;font-size:26px;letter-spacing:-.045em}.live-chip{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700;display:inline-flex;gap:7px;align-items:center}.terminal-list{display:grid;gap:0;margin-top:28px}.terminal-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}.terminal-token{width:36px;aspect-ratio:1;border-radius:11px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:700 9px ui-monospace,monospace}.terminal-row strong{display:block;font-size:13px}.terminal-row small{color:var(--muted);font-size:10px}.terminal-price{text-align:right}.terminal-price b{display:block;font-size:14px}.feed-fresh{color:var(--good)!important}.feed-holding{color:var(--warn)!important}.feed-stale,.feed-unavailable{color:var(--bad)!important}.terminal-foot{padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;color:var(--muted);font:600 9px ui-monospace,monospace}.skeleton-row{height:62px;border-top:1px solid var(--line);position:relative;overflow:hidden}.skeleton-row:after{content:"";position:absolute;left:0;top:21px;width:70%;height:18px;background:var(--soft);border-radius:8px}
.market-section{padding:96px 0 110px;background:var(--soft);border-block:1px solid var(--line)}.section-head{display:flex;justify-content:space-between;gap:70px;align-items:flex-end;margin-bottom:42px}.section-head h2{font-size:clamp(40px,4.4vw,62px);line-height:.95;letter-spacing:-.06em;font-weight:570;margin:8px 0 0}.section-head>p{max-width:480px;margin:0;color:var(--muted);font-size:14px;line-height:1.6}.market-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.market-summary{font-size:13px;color:var(--muted)}.market-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.asset-card{min-height:230px;border:1px solid var(--line);background:var(--paper);border-radius:20px;padding:20px;display:flex;flex-direction:column}.asset-card.is-live{border-color:color-mix(in srgb,var(--blue) 22%,var(--line))}.asset-card-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.asset-symbol{font:800 12px ui-monospace,monospace}.asset-state{font-size:9px;text-transform:uppercase;letter-spacing:.07em;border:1px solid var(--line);border-radius:999px;padding:5px 7px;color:var(--muted)}.asset-state.live{color:var(--good)}.asset-state.not-issued{color:var(--muted)}.asset-state.price-unavailable,.asset-state.feed-stale,.asset-state.paused{color:var(--bad)}.asset-card h3{font-size:16px;margin:26px 0 2px}.asset-price{font-size:30px;letter-spacing:-.05em;font-weight:600}.asset-details{margin-top:auto;display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;padding-bottom:9px}.asset-runtime{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:9px;padding-bottom:12px}.asset-runtime .asset-multiplier{max-width:55%;text-align:right}.asset-contract{border-top:1px solid var(--line);padding-top:12px;display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px}.asset-contract code{font:inherit}
.builder-section{padding:100px 0 110px}.builder-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);gap:16px}.build-panel,.result-panel{border:1px solid var(--line);border-radius:var(--r);padding:30px;background:var(--paper)}.panel-label{display:flex;gap:10px;align-items:center;margin-bottom:30px}.panel-label span{width:26px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:9px}.label{display:block;font-size:12px;font-weight:700;margin:0 0 9px}.prompt-wrap{border:1px solid var(--line);border-radius:18px;overflow:hidden}.prompt-wrap:focus-within{border-color:var(--blue);box-shadow:0 0 0 3px rgba(0,0,255,.08)}textarea{width:100%;border:0;resize:vertical;background:transparent;outline:0;padding:18px 18px 8px;min-height:160px;font-size:16px;line-height:1.55}.prompt-foot{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;padding:10px 12px 12px;color:var(--muted);font-size:9px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips button{border:1px solid var(--line);border-radius:999px;background:var(--paper);font-size:9px;padding:7px 9px}.inputs-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.money-field{height:49px;border:1px solid var(--line);border-radius:14px;display:flex;align-items:center;padding:0 13px;gap:8px}.money-field input{min-width:0;flex:1;border:0;outline:0;background:transparent;font-size:17px;font-weight:700}.money-field span,.money-field b{font-size:11px;color:var(--muted)}.risk-tabs{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:14px;padding:3px;height:49px}.risk-tabs input{position:absolute;opacity:0;pointer-events:none}.risk-tabs span{height:100%;display:grid;place-items:center;border-radius:10px;font-size:11px;font-weight:700;color:var(--muted)}.risk-tabs input:checked+span{background:var(--ink);color:var(--paper)}.truth-note{display:flex;gap:11px;margin:20px 0;padding:13px 14px;background:var(--soft);border-radius:14px;color:var(--muted)}.truth-note>span{width:20px;aspect-ratio:1;border:1px solid var(--line2);border-radius:50%;display:grid;place-items:center;flex:0 0 auto;font:700 10px ui-monospace,monospace}.truth-note p{margin:0;font-size:10px;line-height:1.55}.result-panel{min-height:575px}.result-empty{min-height:510px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px}.dna-icon{width:92px;height:92px;border:1px solid var(--line);border-radius:26px;display:flex;align-items:flex-end;justify-content:center;gap:5px;padding:23px;margin-bottom:26px}.dna-icon i{width:5px;background:var(--blue);border-radius:999px}.dna-icon i:nth-child(1),.dna-icon i:nth-child(5){height:28%}.dna-icon i:nth-child(2),.dna-icon i:nth-child(4){height:64%}.dna-icon i:nth-child(3){height:100%}.result-empty h3{margin:9px 0 4px;font-size:27px;letter-spacing:-.04em}.result-empty p{margin:0;color:var(--muted);max-width:360px}.result-head{display:flex;justify-content:space-between;gap:16px}.result-head h3{font-size:26px;letter-spacing:-.045em;margin:7px 0 0}.pill{border:1px solid var(--line);border-radius:999px;padding:7px 9px;height:max-content;font-size:9px;font-weight:700;color:var(--muted)}.result-copy{color:var(--muted);font-size:12px;line-height:1.55}.generator-line{display:flex;justify-content:space-between;border-block:1px solid var(--line);padding:10px 0;margin:16px 0;font-size:10px}.generator-line span{color:var(--muted)}.allocation-list{display:grid;gap:13px}.allocation-row{display:grid;grid-template-columns:36px 1fr auto;gap:11px;align-items:center}.allocation-token{width:36px;aspect-ratio:1;border-radius:11px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:700 9px ui-monospace,monospace}.allocation-token.cash{background:var(--blue);color:#fff}.allocation-row strong{font-size:12px}.allocation-row small{display:block;color:var(--muted);font-size:9px}.allocation-money{text-align:right}.allocation-money b{display:block;font-size:12px}.allocation-money span{color:var(--muted);font-size:9px}.allocation-bar{height:4px;background:var(--soft);border-radius:999px;overflow:hidden;margin-top:6px}.allocation-bar i{display:block;height:100%;background:var(--blue);width:var(--w)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-top:20px;padding:15px 0}.metrics div{display:grid;gap:3px}.metrics span{font-size:9px;color:var(--muted)}.metrics strong{font-size:14px}.result-actions{display:flex;gap:9px;margin-top:18px}.result-actions .btn:first-child{flex:1}
.wallet-section{padding:100px 0}.wallet-card{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.wallet-empty{min-height:160px;padding:28px;display:flex;align-items:center;gap:17px}.wallet-empty .base-square{width:32px}.wallet-empty div{flex:1}.wallet-empty strong{font-size:15px}.wallet-empty p{margin:3px 0 0;color:var(--muted);font-size:11px}.wallet-live{padding:26px}.wallet-live-head{display:flex;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);padding-bottom:20px}.wallet-live-head>div{display:grid;gap:6px}.wallet-live-head span{font-size:9px;color:var(--muted)}.wallet-live-head strong{font-size:15px}.wallet-live-head>div:last-child{text-align:right}.wallet-assets{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding-top:18px}.wallet-asset{padding:15px;border:1px solid var(--line);border-radius:15px}.wallet-asset span{font:700 10px ui-monospace,monospace}.wallet-asset strong{display:block;font-size:18px;margin-top:10px}.wallet-asset small{color:var(--muted);font-size:9px}
.protocol-section{background:#08090b;color:#fff;padding:100px 0}.section-head.inverse>p,.protocol-section .overline{color:#aeb3bd}.protocol-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#2b2e34;border:1px solid #2b2e34;border-radius:20px;overflow:hidden}.protocol-grid article{background:#08090b;padding:26px;min-height:240px}.protocol-grid article>span{font:700 10px ui-monospace,monospace;color:#777e8a}.protocol-grid h3{font-size:18px;margin:72px 0 8px}.protocol-grid p{font-size:11px;color:#aeb3bd;margin:0;line-height:1.55}.legal-strip{padding:58px 0;display:flex;justify-content:space-between;gap:40px;border-bottom:1px solid var(--line)}.legal-strip>div{max-width:780px}.legal-strip strong{font-size:15px}.legal-strip p{margin:5px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.legal-strip nav{display:flex;gap:20px;align-items:flex-start;font-size:11px;font-weight:700}.footer{height:110px;display:flex;justify-content:space-between;align-items:center}.footer>div{display:flex;gap:18px;color:var(--muted);font-size:10px}
.toasts{position:fixed;z-index:100;right:18px;bottom:18px;display:grid;gap:8px}.toast{max-width:360px;background:var(--ink);color:var(--paper);padding:12px 14px;border-radius:13px;font-size:11px;box-shadow:var(--shadow);transform:translateY(10px);opacity:0;transition:.18s}.toast.visible{transform:none;opacity:1}.toast.error{background:#b91c1c;color:#fff}.toast.success{background:#137333;color:#fff}
.trade-modal{width:min(760px,calc(100vw - 28px));max-height:90vh;border:1px solid var(--line);border-radius:26px;background:var(--paper);color:var(--ink);padding:28px;box-shadow:0 28px 100px rgba(0,0,0,.3);overflow:auto}.trade-modal::backdrop{background:rgba(0,0,0,.52);backdrop-filter:blur(8px)}.modal-x{position:absolute;right:18px;top:16px;width:38px;height:38px;border:1px solid var(--line);background:var(--paper);border-radius:50%;font-size:21px}.modal-head h2{font-size:36px;letter-spacing:-.055em;margin:8px 0 5px}.modal-head p{margin:0;color:var(--muted);font-size:12px}.eligibility-box{margin:22px 0 13px;border:1px solid var(--line);border-radius:16px;padding:14px}.eligibility-box label{display:flex;gap:11px;align-items:flex-start}.eligibility-box input{margin-top:3px}.eligibility-box span{display:grid;gap:2px}.eligibility-box strong{font-size:12px}.eligibility-box small,#countrySignal{color:var(--muted);font-size:9px;line-height:1.45}#countrySignal{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.trade-provider{display:grid;grid-template-columns:repeat(3,1fr);margin:18px 0;border-block:1px solid var(--line);padding:14px 0}.trade-provider div{display:grid;gap:3px}.trade-provider span{font-size:8px;color:var(--muted)}.trade-provider strong{font-size:11px}.trade-rows{display:grid;gap:9px}.trade-row{display:grid;grid-template-columns:1fr auto;gap:14px;padding:13px 14px;background:var(--soft);border-radius:13px}.trade-row strong{font-size:11px}.trade-row small{display:block;color:var(--muted);font-size:9px}.trade-row>div:last-child{text-align:right}.guard-safe{color:var(--good)!important}.guard-block{color:var(--bad)!important}.trade-warnings{margin:12px 0}.trade-warning{font-size:9px;color:var(--warn);padding:5px 0}.fine-print{color:var(--muted);font-size:9px;line-height:1.45;text-align:center}.execution-progress{display:grid;gap:7px;margin:14px 0}.progress-item{padding:11px;border:1px solid var(--line);border-radius:12px;font-size:10px;display:flex;justify-content:space-between;gap:10px}.progress-item.done{border-color:rgba(22,163,74,.35)}.progress-item.error{border-color:rgba(220,38,38,.35)}
.legal-page{padding:100px 0 120px;max-width:920px}.legal-page h1{font-size:clamp(58px,7vw,96px);line-height:.9;letter-spacing:-.07em;margin:12px 0 28px}.legal-lead{font-size:20px;color:var(--muted);max-width:760px}.legal-sections{margin-top:70px;border-top:1px solid var(--line)}.legal-sections section{display:grid;grid-template-columns:240px 1fr;gap:50px;padding:28px 0;border-bottom:1px solid var(--line)}.legal-sections h2{font-size:15px;margin:0}.legal-sections p{margin:0;color:var(--muted);font-size:13px;line-height:1.65}.legal-updated{margin-top:28px;color:var(--muted);font-size:10px}
.shared-page{padding:90px 0 110px}.shared-intro{max-width:820px}.shared-intro h1{font-size:clamp(52px,6vw,82px);line-height:.92;letter-spacing:-.065em;margin:10px 0 18px}.shared-intro p{color:var(--muted);font-size:16px}.shared-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:45px}.shared-portfolio-card,.shared-meta{border:1px solid var(--line);border-radius:var(--r);padding:28px}.shared-card-top{display:flex;justify-content:space-between}.shared-card-top div{display:grid;gap:5px}.shared-card-top span,.shared-meta span{font-size:9px;color:var(--muted)}.shared-card-top strong{font-size:24px}.risk-badge{border:1px solid var(--line);border-radius:999px;padding:7px 10px;height:max-content;font-size:9px}.shared-allocations{display:grid;gap:1px;margin:24px 0;background:var(--line)}.shared-allocation{background:var(--paper);padding:13px 0;display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center}.asset-token{width:36px;aspect-ratio:1;border-radius:11px;background:var(--ink);color:var(--paper);display:grid;place-items:center;font:700 9px ui-monospace,monospace}.asset-token.cash{background:var(--blue);color:#fff}.shared-allocation>div:nth-child(2){display:grid}.shared-allocation>div:last-child{text-align:right;display:grid}.shared-allocation span{color:var(--muted);font-size:9px}.shared-allocation strong{font-size:11px}.shared-meta{display:grid;gap:0}.shared-meta>div{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.shared-meta strong{font-size:11px}.shared-warning{color:var(--muted);font-size:10px;margin:25px 0 0}
@media(max-width:1050px){.nav{display:none}.topbar{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr;min-height:auto}.market-terminal{max-width:680px}.market-grid{grid-template-columns:repeat(3,1fr)}.builder-grid{grid-template-columns:1fr}.result-panel{min-height:0}.wallet-assets{grid-template-columns:repeat(3,1fr)}.protocol-grid{grid-template-columns:repeat(2,1fr)}.shared-grid{grid-template-columns:1fr}}
@media(max-width:720px){:root{--shell:calc(100vw - 28px);--r:20px}.topbar{height:70px}.network-status,.icon-btn{display:none}.brand{font-size:17px}.btn{min-height:42px;padding-inline:14px}.hero{padding:62px 0 70px;gap:50px}.hero h1{font-size:clamp(54px,16vw,76px)}.hero-copy>p{font-size:16px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-stats{gap:20px;justify-content:space-between}.hero-stats strong{font-size:19px}.market-terminal{padding:18px}.market-terminal:after{inset:12px -8px -10px 18px}.market-section,.builder-section,.wallet-section,.protocol-section{padding:72px 0}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:42px}.section-head>p{margin-top:18px}.market-toolbar{align-items:flex-start}.market-grid{grid-template-columns:repeat(2,1fr);gap:8px}.asset-card{min-height:205px;padding:16px}.asset-price{font-size:25px}.inputs-row{grid-template-columns:1fr}.build-panel,.result-panel{padding:20px}.prompt-foot{align-items:flex-start;flex-direction:column}.result-actions{flex-direction:column}.wallet-empty{align-items:flex-start;flex-wrap:wrap}.wallet-empty .btn{width:100%}.wallet-live-head{display:grid}.wallet-live-head>div:last-child{text-align:left}.wallet-assets{grid-template-columns:repeat(2,1fr)}.protocol-grid{grid-template-columns:1fr}.protocol-grid article{min-height:190px}.protocol-grid h3{margin-top:50px}.legal-strip{display:block}.legal-strip nav{margin-top:18px}.footer{height:140px;align-items:flex-start;padding-top:36px}.footer>div{flex-direction:column;align-items:flex-end}.trade-modal{padding:22px 18px}.trade-provider{grid-template-columns:1fr;gap:10px}.legal-page{padding:70px 0}.legal-sections section{grid-template-columns:1fr;gap:9px}.shared-page{padding:65px 0}.shared-portfolio-card,.shared-meta{padding:20px}}
@media(max-width:440px){.market-grid{grid-template-columns:1fr}.hero-stats span{font-size:9px}.wallet-assets{grid-template-columns:1fr}.top-actions .btn{padding-inline:12px}.allocation-row{grid-template-columns:34px 1fr auto}}

/* Interactive request states */
.btn.is-loading{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    cursor:progress;
    opacity:1
}

.btn-spinner{
    width:15px;
    height:15px;
    flex:0 0 auto;
    border:2px solid currentColor;
    border-right-color:transparent;
    border-radius:50%;
    animation:equity-spin .7s linear infinite
}

.result-loading{
    min-height:510px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:36px
}

.result-loading.hidden{
    display:none
}

.result-loading h3{
    margin:9px 0 6px;
    font-size:27px;
    letter-spacing:-.04em
}

.result-loading p{
    margin:0;
    color:var(--muted);
    max-width:390px;
    min-height:38px;
    font-size:11px;
    line-height:1.55
}

.dna-icon-loading i{
    transform-origin:bottom center;
    animation:dna-build 1.05s ease-in-out infinite alternate
}

.dna-icon-loading i:nth-child(2){
    animation-delay:.12s
}

.dna-icon-loading i:nth-child(3){
    animation-delay:.24s
}

.dna-icon-loading i:nth-child(4){
    animation-delay:.36s
}

.dna-icon-loading i:nth-child(5){
    animation-delay:.48s
}

.loading-track{
    width:min(280px,80%);
    height:4px;
    margin-top:24px;
    background:var(--soft);
    border-radius:999px;
    overflow:hidden
}

.loading-track i{
    display:block;
    width:18%;
    height:100%;
    background:var(--blue);
    border-radius:999px;
    transition:width .5s cubic-bezier(.2,.8,.2,1)
}

.trade-row.trade-skeleton{
    pointer-events:none
}

.trade-skeleton-copy{
    display:grid;
    gap:8px
}

.skeleton-block{
    display:block;
    height:10px;
    border-radius:999px;
    background:linear-gradient(
        90deg,
        var(--soft) 0%,
        var(--line) 45%,
        var(--soft) 100%
    );
    background-size:220% 100%;
    animation:equity-shimmer 1.1s linear infinite
}

.skeleton-block.lg{
    width:190px;
    height:12px
}

.skeleton-block.md{
    width:125px
}

.skeleton-block.sm{
    width:72px
}

.trade-loading-price{
    display:grid;
    gap:8px;
    justify-items:end
}

.result-content{
    animation:equity-result-in .32s ease-out
}

@keyframes equity-spin{
    to{transform:rotate(360deg)}
}

@keyframes dna-build{
    from{
        transform:scaleY(.45);
        opacity:.45
    }
    to{
        transform:scaleY(1);
        opacity:1
    }
}

@keyframes equity-shimmer{
    from{background-position:200% 0}
    to{background-position:-20% 0}
}

@keyframes equity-result-in{
    from{
        opacity:0;
        transform:translateY(8px)
    }
    to{
        opacity:1;
        transform:none
    }
}

@media (prefers-reduced-motion:reduce){
    .btn-spinner,
    .dna-icon-loading i,
    .skeleton-block,
    .result-content{
        animation:none
    }

    .loading-track i{
        transition:none
    }
}

/* Intent-first portfolio builder */
.intent-title-row{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:13px
}

.intent-title-row .label{
    margin-bottom:4px
}

.intent-help{
    margin:0;
    color:var(--muted);
    font-size:10px;
    line-height:1.5
}

.intent-smart{
    flex:0 0 auto;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--paper);
    color:var(--ink);
    padding:8px 11px;
    font-size:9px;
    font-weight:750;
    cursor:pointer;
    transition:
        border-color .18s ease,
        background .18s ease,
        transform .18s ease
}

.intent-smart:hover{
    border-color:var(--blue);
    background:var(--soft);
    transform:translateY(-1px)
}

.intent-theme-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px
}

.intent-theme{
    min-height:112px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
    gap:4px;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--paper);
    padding:12px;
    cursor:pointer;
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease
}

.intent-theme:hover{
    transform:translateY(-2px);
    border-color:color-mix(in srgb,var(--blue) 32%,var(--line))
}

.intent-theme[aria-pressed="true"]{
    border-color:var(--blue);
    background:color-mix(in srgb,var(--blue) 5%,var(--paper));
    box-shadow:0 0 0 2px color-mix(in srgb,var(--blue) 8%,transparent)
}

.intent-theme-mark{
    min-width:27px;
    height:22px;
    padding:0 6px;
    border-radius:7px;
    background:var(--soft);
    display:grid;
    place-items:center;
    color:var(--muted);
    font:800 8px ui-monospace,monospace;
    margin-bottom:7px
}

.intent-theme[aria-pressed="true"] .intent-theme-mark{
    background:var(--blue);
    color:#fff
}

.intent-theme strong{
    font-size:11px
}

.intent-theme small{
    color:var(--muted);
    font-size:8px;
    line-height:1.4
}

.intent-options-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:18px
}

.intent-option{
    min-width:0
}

.intent-segment{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    height:44px;
    border:1px solid var(--line);
    border-radius:13px;
    padding:3px
}

.intent-segment.four{
    grid-template-columns:repeat(4,1fr)
}

.intent-segment label{
    min-width:0
}

.intent-segment input{
    position:absolute;
    opacity:0;
    pointer-events:none
}

.intent-segment span{
    height:100%;
    display:grid;
    place-items:center;
    border-radius:9px;
    color:var(--muted);
    font-size:9px;
    font-weight:750;
    cursor:pointer
}

.intent-segment input:checked+span{
    background:var(--ink);
    color:var(--paper)
}

.constraint-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:18px
}

.constraint-grid .label small{
    color:var(--muted);
    font-weight:500
}

.constraint-input{
    width:100%;
    height:44px;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--paper);
    color:var(--ink);
    padding:0 13px;
    outline:0;
    font-size:11px
}

.constraint-input:focus{
    border-color:var(--blue);
    box-shadow:0 0 0 3px rgba(0,0,255,.06)
}

.intent-summary{
    margin-top:18px;
    padding:14px;
    border:1px solid color-mix(in srgb,var(--blue) 18%,var(--line));
    border-radius:15px;
    background:color-mix(in srgb,var(--blue) 3%,var(--paper))
}

.intent-summary-head{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start
}

.intent-summary-head>div{
    display:grid;
    gap:2px
}

.intent-summary-head small{
    color:var(--muted);
    font-size:8px
}

.intent-ai-badge{
    padding:5px 7px;
    border-radius:999px;
    background:var(--blue);
    color:#fff;
    font:750 7px ui-monospace,monospace;
    letter-spacing:.05em
}

.intent-summary-chips{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:11px
}

.intent-summary-chip{
    padding:6px 8px;
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--paper);
    font-size:8px;
    font-weight:650
}

.intent-summary-chip.muted{
    color:var(--muted)
}

.advanced-intent{
    margin-top:14px
}

.advanced-intent summary{
    min-height:44px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    border:1px solid var(--line);
    border-radius:13px;
    padding:0 13px;
    cursor:pointer;
    list-style:none
}

.advanced-intent summary::-webkit-details-marker{
    display:none
}

.advanced-intent summary span{
    font-size:10px;
    font-weight:750
}

.advanced-intent summary small{
    color:var(--muted);
    font-size:8px
}

.advanced-intent[open] summary{
    border-radius:13px 13px 0 0;
    border-bottom-color:transparent
}

.advanced-intent .prompt-wrap{
    border-radius:0 0 13px 13px
}

.advanced-intent textarea{
    min-height:105px;
    font-size:12px
}

@media(max-width:760px){
    .intent-theme-grid{
        grid-template-columns:repeat(2,1fr)
    }

    .intent-options-grid,
    .constraint-grid{
        grid-template-columns:1fr
    }

    .intent-title-row,
    .intent-summary-head{
        align-items:flex-start
    }
}

@media(max-width:460px){
    .intent-theme-grid{
        grid-template-columns:1fr
    }

    .intent-theme{
        min-height:auto
    }

    .intent-title-row{
        flex-direction:column
    }

    .intent-smart{
        align-self:flex-start
    }
}


/* Goal-first EquityDNA builder */
.goal-intro{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:18px;
    margin-bottom:13px
}

.goal-intro .label{
    margin-bottom:4px
}

.goal-intro p{
    max-width:480px;
    margin:0;
    color:var(--muted);
    font-size:10px;
    line-height:1.55
}

.goal-auto-badge{
    flex:0 0 auto;
    padding:6px 8px;
    border-radius:999px;
    background:var(--blue);
    color:#fff;
    font:750 7px ui-monospace,monospace;
    letter-spacing:.06em
}

.goal-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px
}

.goal-card{
    min-height:108px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    text-align:left;
    gap:4px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:15px;
    background:var(--paper);
    color:var(--ink);
    cursor:pointer;
    transition:
        transform .18s ease,
        border-color .18s ease,
        background .18s ease,
        box-shadow .18s ease
}

.goal-card:hover{
    transform:translateY(-2px);
    border-color:color-mix(
        in srgb,
        var(--blue) 35%,
        var(--line)
    )
}

.goal-card[aria-pressed="true"]{
    border-color:var(--blue);
    background:color-mix(
        in srgb,
        var(--blue) 5%,
        var(--paper)
    );
    box-shadow:0 0 0 2px
        color-mix(
            in srgb,
            var(--blue) 8%,
            transparent
        )
}

.goal-card>span{
    min-width:28px;
    height:23px;
    display:grid;
    place-items:center;
    padding:0 6px;
    margin-bottom:7px;
    border-radius:7px;
    background:var(--soft);
    color:var(--muted);
    font:800 8px ui-monospace,monospace
}

.goal-card[aria-pressed="true"]>span{
    background:var(--blue);
    color:#fff
}

.goal-card strong{
    font-size:11px
}

.goal-card small{
    color:var(--muted);
    font-size:8px;
    line-height:1.4
}

.goal-surprise{
    border-style:dashed
}

.goal-controls{
    margin-top:18px
}

.goal-summary{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-top:14px;
    padding:11px 13px;
    border:1px solid var(--line);
    border-radius:13px;
    background:var(--soft)
}

.goal-summary span{
    color:var(--muted);
    font-size:8px
}

.goal-summary strong{
    text-align:right;
    font-size:9px
}

.dna-refine{
    margin-top:12px;
    border:1px solid var(--line);
    border-radius:14px;
    overflow:hidden
}

.dna-refine summary{
    min-height:54px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:11px 13px;
    cursor:pointer;
    list-style:none;
    background:var(--paper)
}

.dna-refine summary::-webkit-details-marker{
    display:none
}

.dna-refine summary>div{
    display:grid;
    gap:2px
}

.dna-refine summary strong{
    font-size:10px
}

.dna-refine summary small{
    color:var(--muted);
    font-size:8px
}

.dna-refine summary>span{
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:var(--soft);
    font-size:15px;
    transition:transform .2s ease
}

.dna-refine[open] summary>span{
    transform:rotate(45deg)
}

.dna-refine-body{
    padding:13px;
    border-top:1px solid var(--line);
    background:var(--soft)
}

.refine-presets{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:10px
}

.refine-presets button{
    border:1px solid var(--line);
    border-radius:999px;
    background:var(--paper);
    color:var(--ink);
    padding:7px 9px;
    font-size:8px;
    font-weight:700;
    cursor:pointer
}

.refine-presets button:hover{
    border-color:var(--blue)
}

.refine-command{
    display:grid;
    grid-template-columns:1fr auto;
    gap:7px
}

.refine-command input{
    min-width:0;
    height:42px;
    border:1px solid var(--line);
    border-radius:11px;
    background:var(--paper);
    color:var(--ink);
    padding:0 11px;
    outline:0;
    font-size:10px
}

.refine-command input:focus{
    border-color:var(--blue)
}

.dna-refine-body>p{
    margin:8px 0 0;
    color:var(--muted);
    font-size:7px;
    line-height:1.5
}

@media(max-width:760px){
    .goal-grid{
        grid-template-columns:repeat(2,1fr)
    }

    .goal-intro{
        align-items:flex-start
    }
}

@media(max-width:460px){
    .goal-grid{
        grid-template-columns:1fr
    }

    .goal-card{
        min-height:auto
    }

    .goal-intro{
        flex-direction:column
    }

    .goal-summary{
        align-items:flex-start;
        flex-direction:column
    }

    .goal-summary strong{
        text-align:left
    }

    .refine-command{
        grid-template-columns:1fr
    }
}


/* Basefolio brand mark */
.brand .basefolio-brand-mark{
    display:block;
    width:28px;
    height:28px;
    flex:0 0 28px;
    object-fit:contain
}

@media(max-width:560px){
    .brand .basefolio-brand-mark{
        width:25px;
        height:25px;
        flex-basis:25px
    }
}
