@import url('/spacing.css');
/* Fraksha: docs/STYLE_GUIDE.md, globals.css then chart.css. */
@font-face{font-family:Geist;src:url('/assets/geist-sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Geist Mono';src:url('/assets/geist-mono.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--font-geist-sans:Geist;--font-geist-mono:'Geist Mono';--ink:#f2f4f7;--muted:#7f8b9a;--line:rgba(242,244,247,.12);--green:#00e5ff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#080b09;color:var(--ink);font:14px/1.65 var(--font-geist-sans),Arial,sans-serif}body>main{max-width:1420px;margin:auto;padding:32px var(--page-gutter) 56px;background:linear-gradient(180deg,#0b0f17,#080b11,#0b0f17)}body>.nav{max-width:1420px;min-height:78px;margin:auto;padding:18px var(--page-gutter);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.logo-brand{flex-shrink:0}.logo-brand img{display:block;width:142px;height:auto}nav{display:flex;gap:24px;font-size:12px;color:var(--muted)}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}p a{color:var(--green)}.badge{color:var(--green);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.14em}.notice{padding:14px 18px;border:1px solid var(--line);background:rgba(0,229,255,.025);border-radius:9px;color:var(--muted);font-size:12px;margin-bottom:32px}h1{font-size:clamp(48px,5vw,72px);line-height:.98;letter-spacing:-.065em;font-weight:580;margin:16px 0 20px}h2{font-size:24px;font-weight:550;letter-spacing:-.035em;line-height:1.25;margin:0 0 18px}h1+p{margin-bottom:30px}.muted,small,label{color:var(--muted)}small,label{font-size:12px}.green{color:var(--green)}.small{font-size:12px;line-height:1.7}.tight{margin:8px 0}.break{overflow-wrap:anywhere}.panel{min-width:0;background:#080c12;border:1px solid var(--line);border-radius:14px;padding:var(--panel-padding);margin-bottom:24px}.row{display:flex;gap:14px;align-items:center;min-width:0}.row>*{flex:1;min-width:0}.grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.section{margin-top:32px}.wide{width:100%}label{display:block;margin-bottom:8px}input,select,textarea,button{font:inherit;border-radius:9px;padding:12px 14px;max-width:100%}input,select,textarea{width:100%;margin-bottom:16px;background:#0b110d;color:var(--ink);border:1px solid var(--line);font-size:12px}textarea{min-height:90px;resize:vertical}input[inputmode=decimal],input[type=number]{font-family:var(--font-geist-mono),monospace}button{border:1px solid transparent;cursor:pointer;background:var(--green);color:#08100b;font-size:12px;font-weight:750;line-height:1.5}button.secondary{border-color:var(--line);background:transparent;color:var(--ink)}button:hover:not(:disabled){filter:brightness(1.1)}button:disabled{opacity:.4;cursor:not-allowed}input:focus,textarea:focus,select:focus{border-color:rgba(0,229,255,.45)}:focus-visible{outline:2px solid var(--green);outline-offset:3px}[hidden]{display:none!important}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:22px 0}.stats>div{min-width:0;padding:12px 20px;border-right:1px solid var(--line)}.stats>div:first-child{padding-left:0}.stats>div:last-child{border-right:0}.stats small{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.stats strong{display:block;margin-top:12px;font:500 clamp(16px,1.6vw,22px)/1.5 var(--font-geist-mono),monospace;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}#supplyCounter .stats strong,#chartPrice,#ammPrice{color:var(--green)}#status{min-height:40px;padding:8px 0;color:var(--green)}#walletType{font:12px var(--font-geist-mono),monospace;margin:14px 0;color:var(--muted)}#signature,#marketAddress,#clock,#nextEpoch,#supplyCounterStatus,#ammUpdated,#chartPrice,#ohlcLegend{font-family:var(--font-geist-mono),monospace;font-variant-numeric:tabular-nums}#signature{font-size:11px;color:var(--muted)}
.trade-terminal{background:linear-gradient(135deg,#0c120e,#090d0a);padding:18px 20px}.trade-layout{display:grid;grid-template-columns:130px minmax(180px,1fr) 34px minmax(180px,1fr) 140px;gap:12px;align-items:center;margin-top:20px}.terminal-tabs{display:flex;gap:5px;background:#070b08;border:1px solid var(--line);border-radius:8px;padding:4px}.terminal-tabs button{flex:1;padding:10px 8px;border:1px solid transparent;background:transparent;letter-spacing:.04em}.terminal-tabs #buy{color:#58d886}.terminal-tabs #sell{color:#ff847c}.terminal-tabs #buy.selected{background:#28d477;border-color:#52e79a;color:#041109}.terminal-tabs #sell.selected{background:#ff625a;border-color:#ff8882;color:#190706}.terminal-asset{padding:12px 14px;background:#0b110d;border:1px solid var(--line);border-radius:9px;min-width:0}.asset-input{display:flex;align-items:center;gap:8px;margin:6px 0 4px}.asset-input input{min-width:0;width:100%;border:0;background:transparent;padding:4px 0;margin:0;font:500 20px var(--font-geist-mono),monospace;border-radius:0}.asset-input strong{font-size:11px;white-space:nowrap}.terminal-asset p{margin:8px 0}.quick-amounts{display:flex;gap:6px}.quick-amounts button{padding:5px 7px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:11px}.terminal-cta{height:58px;background:#28d477;border-color:#52e79a;color:#041109}.terminal.sell-mode .terminal-cta{background:#ff625a;border-color:#ff8882;color:#190706}.trade-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;margin-top:16px;color:var(--muted);font-size:12px}.trade-meta label{display:flex;gap:8px;align-items:center;margin:0}.trade-meta select{width:auto;padding:6px 10px;margin:0}
#priceChart{background:#080c12}.terminal-toolbar{min-height:72px;margin-top:18px;display:flex;flex-wrap:nowrap;gap:12px;padding:12px;border:1px solid var(--line);background:#090d14;overflow-x:auto}.terminal-toolbar label{margin:0;white-space:nowrap;font-size:11px}.terminal-toolbar select{margin:4px 0 0;padding:8px 10px;background:#090d14}.terminal-toolbar button{white-space:nowrap;align-self:center}.market-chart{min-width:0;border:1px solid var(--line);background:#0a0f0b}#ohlcLegend{padding:8px 0;font-size:11px}#recentTrades{font-family:var(--font-geist-mono),monospace}table{border-collapse:collapse}th{font-weight:500;color:var(--muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}th,td{padding:12px 8px;border-bottom:1px solid var(--line);white-space:nowrap}th:first-child,td:first-child{padding-left:0}td a{color:var(--green)}.launch-step-panel{padding:28px 32px}details>summary{cursor:pointer;font-size:24px;font-weight:550;letter-spacing:-.035em}details[open]>summary{margin-bottom:24px}.launch-field-grid label{margin-top:12px;font-size:12px}dialog{max-width:620px;width:92vw;background:#080c12;color:var(--ink);border:1px solid var(--line);border-radius:14px;padding:28px}dialog::backdrop{background:rgba(0,0,0,.72)}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.75 var(--font-geist-mono),monospace}footer{font-size:12px;color:var(--muted);margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
.fee-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1100px){.trade-layout{grid-template-columns:130px minmax(0,1fr) 34px minmax(0,1fr)}.terminal-cta{grid-column:1/-1}}
@media(max-width:850px){.grid,.fields{grid-template-columns:1fr}.row{flex-wrap:wrap}.row>*{flex-basis:100%}.terminal-toolbar{flex-wrap:nowrap}.terminal-toolbar>*{flex-basis:auto}.trade-layout{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}.terminal-tabs{grid-column:1/-1}.panel{padding:20px}.nav{flex-wrap:wrap}#networkFlag{margin-left:auto}.stats>div{padding-right:12px;padding-left:12px}}
@media(max-width:600px){body>.nav{gap:16px}.nav nav{order:3;width:100%;gap:20px}.stats{grid-template-columns:1fr;padding:14px 0}.stats>div,.stats>div:first-child{border-right:0;border-bottom:1px solid var(--line);padding:14px 0}.stats>div:last-child{border-bottom:0}.stats strong{font-size:21px}h1{font-size:48px}.launch-step-panel{padding:20px}}
@media(max-width:560px){.trade-layout{grid-template-columns:1fr}.terminal-asset,.terminal-tabs,.terminal-cta{grid-column:1/-1}#switchSide{transform:rotate(90deg);justify-self:center}.badge{font-size:9px}h2{font-size:22px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.quick-amounts[hidden]{display:none}.quick-amounts button[aria-pressed="true"]{color:var(--text);border-color:#52e79a}.sell-mode .quick-amounts button[aria-pressed="true"]{border-color:#ff8882}
/* Launch facts reuse the existing cyan/Geist visual system. */
.creator-launch-record[hidden]{display:none}.creator-launch-record{margin-top:14px;max-width:640px}.creator-launch-record>p{margin:8px 0}.genesis-badge{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:7px;padding:6px 10px;font:500 12px var(--font-geist-mono),monospace;color:var(--ink);white-space:normal}.genesis-badge.has-burn{border-color:rgba(0,229,255,.4);background:rgba(0,229,255,.045);color:var(--green)}.genesis-badge.has-burn::before{content:"";height:6px;width:6px;border-radius:50%;background:var(--green);flex:none}.launch-record-details{margin-top:10px}.launch-record-details summary,.optional-fields summary{font-size:13px;letter-spacing:0;font-weight:500}.launch-record-details[open]>summary,.optional-fields[open]>summary{margin-bottom:14px}.launch-record-details a{font-size:12px;color:var(--green)}.launch-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 20px;margin:12px 0}.launch-facts dt{color:var(--muted);font-size:13px}.launch-facts dd{margin:0;text-align:right;overflow-wrap:anywhere;font:500 13px/1.65 var(--font-geist-mono),monospace}.launch-section{min-width:0;border:0;border-top:1px solid var(--line);padding:24px 0;margin:22px 0 0}.launch-section legend{padding:0 16px 0 0;font-size:18px;letter-spacing:-.025em}.step-number{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid var(--line);border-radius:6px;margin-right:9px;color:var(--green);font:12px var(--font-geist-mono),monospace}.optional-label{font-size:12px;color:var(--muted);margin-left:10px;letter-spacing:0}.optional-fields{margin-top:14px}.launch-preview{margin-top:22px;padding:18px 20px;background:#080c12;border:1px solid var(--line);border-radius:10px}.launch-preview h3{font-size:15px;margin:0 0 12px}.launch-actions{padding-top:22px;border-top:1px solid var(--line)}.launch-actions>p{max-width:900px}.burn-presets{flex-wrap:wrap}.burn-presets button{font-size:12px;padding:7px 10px;color:var(--ink)}.burn-presets button[aria-pressed="true"]{border-color:var(--green);background:rgba(0,229,255,.045)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:3px}.launch-field-grid>*{min-width:0}.launch-field-grid input,.launch-field-grid select{min-width:0}#launchStatus:empty{display:none}
@media(max-width:600px){.launch-section legend{font-size:16px}.launch-facts{gap:10px 12px}.launch-facts dd,.launch-facts dt{font-size:12px}.launch-preview{padding:16px}.creator-launch-record{max-width:100%}.optional-label{display:inline-block}.genesis-badge{max-width:100%;font-size:11px}}
.panel>.genesis-badge{margin-bottom:12px}#marketHeader>div{min-width:0}
/* The layout and breakpoints come from web/app/shared/launch-layout.css. */
#create[hidden],[hidden]{display:none!important}
body.creating-token main> :not(#create):not(#walletPanel):not(#status):not(#signature):not(#checkSignature):not(#networkNotice){display:none}
#create .launchpad-intro{padding-top:30px}
#create .launch-actions{display:flex;flex-wrap:wrap}
#create .launch-actions>p{flex-basis:100%;margin:0}
#create .launch-actions #launch{margin-left:auto;width:auto;min-width:190px}
#create .launch-section{border:0;padding:0;margin:24px 0}
#create .launch-section legend{font-size:18px;padding:0}
#create .launch-preview{min-width:0}
#create .launch-preview .launch-facts{display:grid;grid-template-columns:1fr;gap:6px}
#create .launch-preview .launch-facts dd{margin:0 0 12px;overflow-wrap:anywhere}
#create .launch-preview .launch-facts dt{color:var(--muted)}
#create .launch-step-panel label,#create .preview-description,#create .preview-note{font-size:12px;color:var(--muted)}
#create .launch-step-panel small,#create .preview-stats span{color:var(--muted);font-size:11px}
#create .launch-preview .small{font-size:12px}
#create button:focus-visible{outline:2px solid var(--green);outline-offset:3px}
#create .preview-stats b{font-size:12px}


#create .launch-preview{margin-top:0}
.launch-record-details .launch-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
/* Launch-facing wallet and disclosure hierarchy. Test identities remain explicit. */
body.creating-token #walletPanel{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;padding:16px 20px;margin-bottom:16px}
body.creating-token #walletPanel>label{margin:0}
body.creating-token #walletChoice{width:140px;margin:0!important}
body.creating-token #walletPanel>.row{flex:0 0 auto}
body.creating-token #walletPanel #localKey,body.creating-token #walletPanel #fund,body.creating-token #walletPanel>p.small{display:none}
body.creating-token #walletType{flex-basis:100%;margin:0;font-size:12px}
body.creating-token #networkNotice{padding:10px 16px;font-size:12px;margin-bottom:16px}
body.creating-token #status{font-size:12px;color:var(--muted)}
#create .launch-terms{border-top:1px solid var(--line);margin-top:24px;padding-top:20px;font-size:13px;color:var(--muted)}
#create .launch-terms h3{font-size:15px;color:var(--ink);margin:0}
#create .launch-actions #launchBack{order:-1;min-height:42px}
#create .launch-actions #launch{min-height:42px}
#create .launch-actions>p{font-size:12px}
#create .launch-steps button{font-size:13px}
#create .launchpad-intro p{font-size:15px}
/* Public browsing and token pages share the site navigation and wallet action. */
body>.nav{flex-wrap:wrap;gap:16px}.nav .wallet-button{margin-left:auto;padding:10px 18px;white-space:nowrap}
#networkFlag{margin-left:auto;font-size:10px}.nav .wallet-button{margin-left:0}
#networkNotice{padding:10px 16px;margin-bottom:20px;font-size:12px}
#status{font-size:12px;color:var(--muted);margin:12px 0}#status:empty{display:none}
#walletPanel{display:none!important}
.wallet-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.wallet-dialog-heading h2{margin:0}.wallet-dialog-heading button{padding:6px 12px;font-size:20px}
.wallet-options{display:grid;gap:10px;margin:22px 0}.wallet-options button{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid var(--line);background:#0b110d;color:var(--ink);text-align:left;font-size:15px}.wallet-options button:hover{border-color:var(--green)}
body.browsing-tokens main>:not(#tokenDirectory):not(#networkNotice):not(#status):not(#signature):not(#checkSignature){display:none!important}
#tokenDirectory .launchpad-intro{padding:28px 0 32px}.directory-create{display:inline-block;color:var(--green);margin-top:10px}
#tokenCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-bottom:40px}
#tokenCards .token-card{min-width:0;padding:24px;background:#080c12;border:1px solid var(--line);border-radius:14px;display:block}
#tokenCards .token-card:hover{border-color:rgba(0,229,255,.45)}#tokenCards h2{margin:12px 0;font-size:22px;overflow-wrap:anywhere}#tokenCards p{color:var(--muted);font-size:13px;overflow-wrap:anywhere}#tokenCards .genesis-badge{color:var(--green)}
#marketHeader{align-items:flex-start;gap:20px}#marketHeader>div{flex:1;min-width:0}#marketHeader>.back-link,#marketHeader>#refresh{flex:0 0 auto;font-size:12px}
#marketAddress{font-size:11px}.creator-launch-record{margin-top:10px}.creator-launch-record>p{font-size:12px}.launch-record-details summary{font-size:12px}
#liveAmm{display:none}
@media(max-width:850px){#tokenCards{grid-template-columns:repeat(2,minmax(0,1fr))}#marketHeader>div{flex-basis:100%}}
@media(max-width:600px){#tokenCards{grid-template-columns:1fr}body>.nav{padding-top:14px;padding-bottom:14px}.nav nav{gap:16px;font-size:11px}#networkFlag{font-size:9px}.nav .wallet-button{font-size:11px;padding:9px 12px}}
.fee-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:24px 0 12px}.fee-toolbar p{margin:0;overflow-wrap:anywhere}.fee-toolbar button{flex:none}.fee-status{margin-bottom:24px}.fee-status:empty{display:none}.fee-empty{padding:36px;text-align:center}.fee-empty button{margin-top:12px}.fee-stats strong{font-size:clamp(20px,2.4vw,30px)}
@media(max-width:600px){.fee-toolbar{align-items:flex-start;flex-direction:column}.fee-empty{padding:24px}}

/* Stats can be full-bleed rows or padded cards; a grid must not erase its card inset. */
.panel.stats{padding:var(--panel-padding)}
.panel.stats>div:first-child{padding-inline-start:0}
.panel.stats>div:last-child{padding-inline-end:0}
#create .launchpad-intro,#create .launchpad-layout{padding-inline:0}
@media(max-width:600px){.panel.stats>div{padding:14px 0}.panel.stats>div:first-child{padding-top:0}.panel.stats>div:last-child{padding-bottom:0}}
/* Simple exchange: one input, one estimate; balance shortcuts belong to the input. */
#trade .trade-tabs{width:fit-content;margin:16px 0 0}
#trade .trade-layout{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr) 140px;align-items:stretch;margin-top:14px}
#trade .terminal-asset{min-height:152px;padding:16px 18px}
#trade .terminal-asset label{font-size:12px;margin-bottom:8px}
#trade .asset-input input{font-size:clamp(18px,2vw,24px)}
#trade #switchSide{align-self:center}
#trade .terminal-cta{align-self:center}
#trade .receive-estimate{display:block;font-size:11px;margin-top:12px}
#trade .quick-amounts{margin-top:10px}
#trade .trade-details{margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
#trade .trade-details>summary{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}
#trade .trade-details .trade-meta{margin-top:12px}
#trade #quoteError:empty,#trade #tradeStatus:empty{display:none}
#trade #quoteError{color:#ff8f88;margin:12px 0 0}
@media(max-width:1000px){#trade .trade-layout{grid-template-columns:minmax(0,1fr) 34px minmax(0,1fr)}#trade .terminal-cta{grid-column:1/-1}}
@media(max-width:600px){#trade .trade-layout{grid-template-columns:1fr}#trade .terminal-asset{min-height:0}#trade #switchSide{justify-self:center;transform:rotate(90deg)}#trade .terminal-cta{width:100%}}
/* Pons token-market composition: chart left, market-order card right. */
#tokenTerminal{max-width:1180px;margin:0 auto}
#marketHeader.token-market-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;margin:18px 0 30px}
#marketHeader .token-back{grid-column:1/-1;font-size:12px;color:var(--muted)}
.token-heading{display:flex;align-items:flex-start;gap:18px;min-width:0}.token-heading>.token-image{flex:none;width:64px;height:64px}.token-heading>div:last-child{min-width:0}
.token-name-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.token-name-row h2{font-size:clamp(25px,3.2vw,38px);margin:0!important}.token-name-row span{font-weight:600;font-size:18px}.token-heading p{margin:4px 0}
.header-market-cap{text-align:right}.header-market-cap small{font-size:11px}.header-market-cap strong{display:block;font:600 28px var(--font-geist-sans);letter-spacing:-.04em;margin-top:4px}
#marketHeader>#refresh{padding:8px 12px;font-size:11px}
.market-page-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start}.market-page-left{min-width:0}
#priceChart.reference-chart{border:0;background:transparent;padding:0;margin:0}
.chart-price-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;flex-wrap:wrap}
#priceChart #chartPrice{font-size:26px!important;font-family:var(--font-geist-sans);letter-spacing:-.04em}.chart-price-toolbar small{display:block;font-size:10px}
.chart-controls{display:flex;flex-wrap:wrap;gap:8px}.chart-controls>div{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:999px}
.chart-controls button{background:transparent;color:var(--muted);font-size:11px;font-weight:500;padding:6px 10px;border-radius:999px}.chart-controls button.selected{background:#1b242d;color:var(--ink);border-color:var(--line)}
#priceChart #ammUpdated{font-size:10px;margin:0}#priceChart #ohlcLegend{font-size:10px;min-height:24px!important}#priceChart .market-chart{border:0}
.chart-details{margin-top:12px}.chart-details>summary,.market-more>summary{font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted)}.chart-settings{margin-top:14px}.chart-settings select{max-width:240px}
.market-summary{grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--line);margin-top:24px;padding:12px 0}.market-summary strong{font-size:17px}.market-summary small{font-size:9px}.market-more{margin:22px 0 32px}.market-more>.panel,.market-more>.grid{margin-top:20px}
#tokenTerminal #trade{position:sticky;top:20px;padding:20px;border-radius:18px;background:#0b1017;margin:0}
#tokenTerminal #trade .order-heading{font-size:12px;color:var(--muted);margin-bottom:18px}
#tokenTerminal #trade .trade-tabs{display:flex;width:100%;margin:0;border-radius:999px;padding:4px}
#tokenTerminal #trade .trade-tabs button{border-radius:999px}
#tokenTerminal #trade .trade-layout{display:flex;flex-direction:column;gap:0;margin-top:20px}
#tokenTerminal #trade .terminal-asset{width:100%;min-height:0;padding:14px 16px}
#tokenTerminal #trade .terminal-asset:last-child{border:0;background:transparent;padding:0;margin-top:18px}
#tokenTerminal #trade .asset-input input{font-size:23px}#tokenTerminal #trade #payBalance{font-size:11px;margin:8px 0}
#tokenTerminal #trade .terminal-asset:last-child .asset-input input{font-size:19px}
#tokenTerminal #trade .receive-estimate{font-size:10px;margin-top:4px}
#tokenTerminal #trade .trade-details{margin:20px 0 0;padding-top:0;border:0}
#tokenTerminal #trade .trade-details>summary{font-size:11px}
#tokenTerminal #trade .terminal-cta{display:block;width:100%;height:44px;margin-top:26px}
#tokenTerminal #trade #tradeStatus{font-size:11px;margin-bottom:0}
#tokenTerminal .creator-launch-record{max-width:560px}#tokenTerminal .creator-launch-record>p{display:none}
@media(max-width:1000px){.market-page-layout{grid-template-columns:minmax(0,1fr) 320px;gap:22px}.market-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.market-page-layout{grid-template-columns:1fr}#tokenTerminal #trade{position:static;grid-row:1}#marketHeader.token-market-header{grid-template-columns:minmax(0,1fr) auto}.header-market-cap{grid-column:1/-1;text-align:left}#marketHeader>#refresh{grid-column:2;grid-row:2}.token-heading>.token-image{width:48px;height:48px}.token-heading{gap:12px}}
/* Creator profile: compact wallet card and one fee row per launch. */
body.fees-profile>main{max-width:740px;padding-top:24px}.fees-profile .notice{font-size:11px;margin-bottom:28px}.profile-content h1{font-size:36px;line-height:1.2;margin:0 0 28px;letter-spacing:-.04em}
.profile-wallet-card{display:flex;align-items:center;gap:18px;border:1px solid var(--line);background:#0b1416;padding:24px;border-radius:20px;margin-bottom:32px}.profile-avatar{width:64px;height:64px;flex:none;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#44565c,#22343a);font-size:24px;font-weight:600}.profile-wallet-card p{margin:0;font:15px var(--font-geist-mono),monospace;overflow-wrap:anywhere}.profile-wallet-card small{font-size:11px;display:block;margin-top:8px}
.profile-list-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.profile-list-heading h2{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0}.profile-list-heading button{font-size:11px;padding:6px 10px}
.profile-fee-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;font-size:11px;color:var(--muted);margin:12px 0 16px}.profile-fee-summary b{font-weight:500;color:var(--ink);margin-left:6px}
.profile-coin-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:16px;align-items:center;padding:20px 18px;margin-bottom:10px;border:1px solid var(--line);border-radius:17px;background:#0b1416;min-height:106px}
.profile-coin-identity{display:flex;align-items:center;gap:12px;min-width:0}.profile-coin-avatar{width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;background:#14232a;color:var(--green);font-weight:600}.profile-coin-identity>div{min-width:0}.profile-coin-identity strong{display:block;font-size:13px;overflow-wrap:anywhere}.profile-coin-identity .muted{display:block;font-size:12px;margin-top:3px;overflow-wrap:anywhere}
.profile-coin-fees{text-align:right}.profile-coin-fees small{display:block;font-size:10px;color:var(--muted)}.profile-coin-fees strong{display:block;font:600 16px var(--font-geist-sans);margin:2px 0}
.profile-coin-actions{display:flex;align-items:center;gap:8px}.profile-coin-actions button,.profile-view-token{padding:9px 12px;border-radius:999px;font-size:11px;white-space:nowrap}.profile-view-token{border:1px solid var(--line);color:var(--ink)}.profile-row-badge{display:block;color:var(--green);font-size:9px;margin-top:5px}.profile-notes{margin-top:24px}.profile-notes>summary{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:0}.fees-profile .fee-status{font-size:11px;margin-bottom:16px}.fees-profile #status{min-height:0;font-size:11px}.fees-profile footer{font-size:11px}
@media(max-width:600px){.profile-coin-row{grid-template-columns:minmax(0,1fr) auto;padding:18px;gap:14px}.profile-coin-actions{grid-column:1/-1;justify-content:flex-end}.profile-wallet-card{padding:20px}.profile-wallet-card p{font-size:13px}.profile-avatar{width:48px;height:48px}}
#phaseLabel{font-size:15px;margin:22px 0 8px}
.schedule-editor-row{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px;padding:18px;margin:12px 0;border:1px solid var(--line);border-radius:10px;background:#080c12}
.schedule-editor-row>strong{grid-column:1/-1;font-size:12px;font-weight:500;color:var(--ink)}
#create .schedule-editor-row label{margin:0;font-size:11px}
#create .schedule-editor-row input{margin:8px 0 0;min-width:0;padding:12px;font:12px var(--font-geist-mono),monospace}
.schedule-editor-row input:read-only{color:var(--ink);background:#0b1017}
.phase-deadline{grid-column:1/-1;font-size:11px;color:var(--muted);margin-top:4px}
.schedule-editor-row>button{justify-self:start;padding:5px 10px;font-size:11px}
#phaseEditor{max-height:530px;overflow-y:auto;padding:2px 8px 2px 2px;margin:12px -2px 16px}
@media(max-width:600px){.schedule-editor-row{grid-template-columns:1fr;padding:14px}}

/* Shared explanatory sections for every market, below its chart and order form. */
.token-information{margin:56px 0 32px;display:grid;gap:28px;min-width:0}
.token-information h2{margin:10px 0 12px}.token-information h3{margin:0 0 14px}
.token-information p{line-height:1.65;max-width:90ch}.token-information .panel{padding:28px;min-width:0}
.token-explain-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.supply-visual svg{display:block;width:100%;height:auto;margin:24px 0}
.supply-visual svg text{fill:var(--muted,#7f8b9a);font:12px sans-serif}.supply-grid{stroke:rgba(242,244,247,.1);fill:none}.supply-path{stroke:#00e5ff;stroke-width:2;fill:none}
.schedule-table-scroll{overflow-x:auto}.token-information table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}.token-information th,.token-information td{padding:16px 18px;border-bottom:1px solid rgba(242,244,247,.12);white-space:nowrap}.token-information th{color:var(--muted,#7f8b9a);font-weight:500}
@media(max-width:760px){.token-explain-grid{grid-template-columns:1fr}.token-information{gap:20px;margin-top:36px}.token-information .panel{padding:20px}.token-information .stats{grid-template-columns:1fr}}
.projection-controls{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.projection-controls button{font-size:12px;padding:8px 12px;min-height:36px}.projection-canvas{width:100%;height:300px;min-width:0}
.token-address-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.copy-address{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;min-height:30px;padding:0;background:transparent;color:var(--muted);border:1px solid transparent;border-radius:6px;cursor:pointer}.copy-address:hover{color:var(--ink);border-color:var(--line)}.copy-address:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.token-avatar-wrap{position:relative;flex-shrink:0;align-self:flex-start;margin-bottom:12px}.creator-burn-image-badge{position:absolute;bottom:-10px;left:50%;transform:translateX(-50%);white-space:nowrap;border:1px solid rgba(0,229,255,.35);border-radius:7px;background:#081319;color:var(--ink);padding:4px 7px;font:600 10px/1.3 var(--font-geist-mono),monospace;box-shadow:0 2px 8px rgba(0,0,0,.25)}.creator-burn-image-badge[hidden]{display:none}
.creator-burn-image-badge{display:inline-flex;align-items:center;gap:4px}.fraksha-burn-icon{display:block;width:14px;height:17px;flex-shrink:0;color:var(--green,#00e5ff)}
.genesis-badge.has-burn::before{display:none}.genesis-badge .fraksha-burn-icon{width:16px;height:19px}.burn-dropdown{margin-top:10px}.burn-dropdown summary,.launch-record-details>summary{cursor:pointer;width:fit-content;list-style:none}.burn-dropdown summary::after,.launch-record-details>summary::after{content:'⌄';margin-left:5px;color:var(--muted)}.burn-dropdown[open] summary::after,.launch-record-details[open]>summary::after{content:'⌃'}.profile-coin-row>.burn-dropdown{grid-column:1/-1}.creator-burn-image-badge{cursor:pointer}
.token-card-main{display:block;color:inherit;text-decoration:none}
/* Keep dropdown arrows inset consistently across creator-burn badges. */
.burn-dropdown>summary.genesis-badge,.launch-record-details>summary.genesis-badge{padding:8px 14px;gap:8px;align-items:center}
.burn-dropdown>summary.genesis-badge::after,.launch-record-details>summary.genesis-badge::after{content:'';display:block;flex:0 0 7px;width:7px;height:7px;margin:0 2px 4px 10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.65}
.burn-dropdown[open]>summary.genesis-badge::after,.launch-record-details[open]>summary.genesis-badge::after{content:'';transform:rotate(225deg);margin-top:5px;margin-bottom:0}
/* Give the order form a clear bottom inset beneath its primary action. */
#tokenTerminal #trade.trade-terminal{padding-bottom:32px}
#tokenTerminal #trade #tradeStatus:not(:empty){margin-top:14px;margin-bottom:0}
@media(max-width:600px){#tokenTerminal #trade.trade-terminal{padding-bottom:26px}}
/* Supply overview: four aligned metrics, then one full-width explanation. */
.token-information .token-supply-summary{grid-template-columns:repeat(4,minmax(0,1fr));padding:0;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.token-information .token-supply-summary>div{padding:22px 20px}
.token-information .token-supply-summary>div:first-child{padding-left:0}
.token-information .token-supply-summary strong{font-size:clamp(15px,1.45vw,22px);margin-top:10px}
.token-rebase-explanation .panel{width:100%;box-sizing:border-box}
.token-rebase-explanation .panel p{max-width:100ch;margin-bottom:0}
@media(max-width:1000px){.token-information .token-supply-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.token-information .token-supply-summary>div:nth-child(2){border-right:0}.token-information .token-supply-summary>div:nth-child(3){padding-left:0}.token-information .token-supply-summary>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:480px){.token-information .token-supply-summary>div{padding:18px 12px}.token-information .token-supply-summary strong{font-size:14px}.token-information .token-supply-summary small{font-size:9px}}
/* Keep the chart header focused on price and controls. */
#priceChart #ammUpdated{font-family:var(--font-geist-sans),sans-serif;font-size:11px;margin:10px 0 16px;color:var(--muted)}
#priceChart .chart-price-toolbar{align-items:center;gap:16px}
#priceChart .chart-controls button{font-size:12px;padding:7px 10px}
#priceChart .chart-details #ohlcLegend{line-height:1.7;margin:16px 0;font-size:11px}
.recent-trades-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}.recent-trades-section h3{margin:0 0 16px;font-size:16px}
.chart-market-status{display:flex;justify-content:flex-end;margin:0 0 14px;padding:0 2px}.market-phase-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 12px;box-sizing:border-box;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:11px;font-weight:500;line-height:1.4}.market-phase-pill.is-graduated{color:var(--green);border-color:rgba(0,229,255,.28);background:rgba(0,229,255,.04)}
/* Compact horizontal identity: image, name/ticker, then metadata. */
.token-heading{align-items:center;gap:18px}
.token-heading .token-avatar-wrap{align-self:flex-start;margin-bottom:10px}
.token-heading .token-avatar-wrap>.token-image{width:64px;height:64px;border-radius:12px;font-size:28px}
.token-name-row{align-items:baseline;gap:10px}
.token-name-row h2{font-size:clamp(24px,2.5vw,34px)}
.token-metadata{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:5px}
.token-metadata>.small{font-size:11px}
.token-metadata .token-address-row{gap:4px}
.token-heading .creator-launch-record{margin-top:8px}
#creatorLaunchDescription{display:none}
.token-heading .launch-record-details{margin-top:0}
@media(max-width:600px){.token-heading{gap:14px}.token-heading .token-avatar-wrap>.token-image{width:52px;height:52px}.token-name-row h2{font-size:24px}.token-name-row span{font-size:14px}.token-metadata{gap:4px 10px}}
.chart-price-change{display:inline-flex;align-items:baseline;gap:5px;margin-left:12px;font-size:13px;font-weight:500;color:var(--muted);white-space:nowrap}.chart-price-change small{display:inline!important;font-size:11px;color:var(--muted);font-weight:400}
.token-information .checkpoint-block .schedule-intro{margin:0 0 20px;line-height:1.5}
.token-about-section{margin:0 0 28px}.token-facts-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;padding:20px 0 26px}.token-facts-row>div{min-width:0}.token-facts-row small{display:block;margin-bottom:6px;color:var(--muted);font-size:11px}.token-facts-row a,.token-facts-row span{font-size:12px;overflow-wrap:anywhere;color:var(--ink)}.token-facts-row a{text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line)}.token-about-section h3{font-size:14px;margin:0 0 12px}.token-about-section>p{font-size:13px;line-height:1.65;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:700px){.token-facts-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
/* Fit the schedule across the page; use labelled period cards on small screens. */
.token-information .schedule-table-scroll{overflow:visible;min-width:0}
.token-information .checkpoint-block table{table-layout:fixed;width:100%;font-size:12px}
.token-information .checkpoint-block th,.token-information .checkpoint-block td{white-space:normal;overflow-wrap:anywhere;padding:14px 8px;line-height:1.5}
.token-information .checkpoint-block th:first-child,.token-information .checkpoint-block td:first-child{width:5%;padding-left:0}
@media(max-width:1000px){
.token-information .checkpoint-block table,.token-information .checkpoint-block tbody{display:block;width:100%}
.token-information .checkpoint-block thead{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.token-information .checkpoint-block tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;padding:20px 0;border-bottom:1px solid var(--line)}
.token-information .checkpoint-block td,.token-information .checkpoint-block td:first-child{display:flex;flex-direction:column;gap:4px;border:0;padding:0;width:auto;font-size:13px;min-width:0}
.token-information .checkpoint-block td::before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:400}
.token-information .checkpoint-block td:first-child{grid-column:1/-1;font-weight:600;color:var(--green);flex-direction:row;align-items:baseline;gap:6px}
.token-information .checkpoint-block td:first-child::before{font-size:13px;color:inherit}
.token-information .checkpoint-block tr:last-child{border-bottom:0}
}
.footer-socials{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:14px}.footer-socials a{font-size:12px;color:var(--muted);text-decoration:none}.footer-socials a:hover{color:var(--green)}
.footer-socials{gap:12px}.footer-socials a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:7px}.footer-socials svg{display:block}
.chain-picker{position:relative;flex-shrink:0}.chain-picker>summary{display:flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:#0a1011;cursor:pointer;font-size:12px;list-style:none;white-space:nowrap}.chain-picker>summary::-webkit-details-marker{display:none}.chain-chevron{width:6px;height:6px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);margin:0 3px 3px 8px}.chain-icon{flex:none;display:block}.chain-solana{color:#75e6d2}.chain-ethereum{color:#a8b4ee}.chain-base{color:#4674ff}.chain-robinhood{color:#c3f53c}.chain-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:50;width:290px;max-width:calc(100vw - 32px);padding:8px;border:1px solid var(--line);border-radius:14px;background:#0c1219;box-shadow:0 12px 30px #0006}.chain-option{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:0;border-radius:8px;background:transparent;font-size:12px;text-align:left;font-weight:400;color:var(--ink)}.chain-option>span:nth-child(2){flex:1}.chain-option small{font-size:10px;color:var(--muted);white-space:nowrap}.chain-option.current{background:rgba(0,229,255,.04)}.chain-option.current small{display:block;margin-top:3px}.chain-option:disabled{opacity:.55;cursor:not-allowed}.chain-picker[open]>summary{border-color:rgba(0,229,255,.4)}
.chain-picker>summary{line-height:20px;align-items:center}.chain-picker>summary>.chain-icon{width:18px;height:18px;align-self:center}.chain-picker>summary>.chain-chevron{align-self:center;margin-top:-3px;margin-bottom:0}
.chain-option.current small[hidden]{display:none}
/* Homepage → FRAKSHA → launchpad. Keep the entry page focused on one next step. */
body.showing-homepage main>:not(#landingPage):not(#footer):not(#signature):not(#checkSignature){display:none!important}
body.showing-homepage #landingPage{display:flex;min-height:calc(100svh - 260px);align-items:center;justify-content:center;text-align:center;padding:64px 20px}
.landing-hero{max-width:760px;margin:auto}.landing-mark{display:block;margin:0 auto 24px}.landing-hero .section-label{margin:0 0 18px;letter-spacing:.18em;color:var(--muted)}
.landing-hero h1{font-size:clamp(42px,6.5vw,84px);line-height:1.05;letter-spacing:-.065em;margin:0 0 24px;font-weight:600}
.landing-description{font-size:clamp(16px,1.7vw,20px);line-height:1.6;color:var(--muted);margin:0 0 32px}
.landing-primary{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:14px 26px;background:var(--green);border:1px solid var(--green);border-radius:9px;color:#041114;text-decoration:none;font-size:14px;font-weight:600;line-height:1.4}
.landing-primary:hover{filter:brightness(1.08)}.landing-caption{font-size:12px;color:var(--muted);margin-top:18px}
body.showing-homepage #footer{margin-top:0;text-align:center}body.showing-homepage .footer-socials{justify-content:center}
.launchpad-next{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px;border:1px solid var(--line);border-radius:18px;margin:36px 0 0;background:rgba(0,229,255,.025)}
.launchpad-next[hidden]{display:none}.launchpad-next h2{font-size:25px;margin:10px 0}.launchpad-next p{font-size:14px;margin:0;line-height:1.65}.launchpad-next-actions{display:flex;flex-direction:column;align-items:center;gap:14px;flex-shrink:0}.launchpad-explore{font-size:12px;color:var(--muted);text-decoration:none}
@media(max-width:650px){body.showing-homepage #landingPage{min-height:calc(100svh - 300px);padding:44px 0}.landing-mark{width:64px;height:64px}.landing-primary{width:100%;box-sizing:border-box}.launchpad-next{flex-direction:column;align-items:stretch;padding:22px}.launchpad-next-actions{align-items:stretch;text-align:center}}
.landing-mark.landing-wordmark{width:clamp(220px,28vw,340px);height:auto;max-width:100%;margin-bottom:28px}
/* Opening the chain menu must not change the header's dimensions. */
.chain-picker>summary,.chain-picker[open]>summary{margin:0;padding:9px 12px;min-height:40px;box-sizing:border-box}
.chain-picker{margin:0;padding:0;align-self:center}
/* Refine the landing hierarchy around one clear next step. */
body.showing-homepage #landingPage{padding:48px 20px 64px;min-height:calc(100svh - 240px)}
.landing-hero{width:100%;max-width:780px}
.landing-mark.landing-wordmark{width:clamp(190px,23vw,290px);margin-bottom:32px}
.landing-hero h1{font-size:clamp(38px,5.1vw,64px);letter-spacing:-.05em;line-height:1.12;margin:0 0 22px;text-wrap:balance}
.landing-description{font-size:clamp(16px,1.5vw,19px);line-height:1.65;max-width:460px;margin:0 auto 30px;color:#a4afbd}
.landing-hero .landing-primary{min-width:210px;min-height:48px;padding:13px 22px;gap:28px}
@media(max-width:650px){body.showing-homepage #landingPage{padding:40px 0 48px;min-height:calc(100svh - 280px)}.landing-mark.landing-wordmark{width:210px;margin-bottom:28px}.landing-hero h1{max-width:340px;margin:0 auto 20px}.landing-description{max-width:310px;margin-bottom:26px}.landing-hero .landing-primary{width:auto;min-width:230px;max-width:100%}}
.landing-hero #exploreFraksha{min-width:240px;min-height:54px;padding:10px 12px 10px 24px;gap:26px;justify-content:space-between;border-radius:12px;font-size:14px;letter-spacing:-.01em;transition:background .18s ease,box-shadow .18s ease}
#exploreFraksha>span{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:7px;background:rgba(0,0,0,.09);font-size:20px;line-height:1;transition:transform .18s ease}
.landing-hero #exploreFraksha:hover{filter:none;background:#38edff;box-shadow:0 4px 18px rgba(0,229,255,.12)}
#exploreFraksha:hover>span{transform:translateX(2px)}
@media(prefers-reduced-motion:reduce){.landing-hero #exploreFraksha,#exploreFraksha>span{transition:none}#exploreFraksha:hover>span{transform:none}}
.landing-hero #exploreFraksha{justify-content:center;gap:0;padding:14px 24px}
.landing-hero #exploreFraksha,.landing-hero #exploreFraksha:hover,.landing-hero #exploreFraksha:focus-visible{color:#041114;background:var(--green);filter:none}
.landing-hero #exploreFraksha:hover{box-shadow:0 0 22px rgba(0,229,255,.3)}
/* A slow, restrained light pass through the existing wordmark. */
.landing-logo-effect{position:relative;width:clamp(190px,23vw,290px);margin:0 auto 32px}
.landing-logo-effect .landing-mark.landing-wordmark{display:block;width:100%;height:auto;margin:0}
.logo-light-sweep{position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 38%,rgba(0,229,255,.15) 46%,rgba(220,252,255,.65) 50%,rgba(0,229,255,.15) 54%,transparent 62%);background-size:350% 100%;background-position:100% 0;mask:url('/assets/fraksha-wordmark.svg') center/contain no-repeat;-webkit-mask:url('/assets/fraksha-wordmark.svg') center/contain no-repeat;animation:fraksha-logo-sweep 9s ease-in-out infinite}
@keyframes fraksha-logo-sweep{0%,65%{background-position:100% 0;opacity:0}70%{opacity:.7}90%{background-position:0 0;opacity:.7}100%{background-position:0 0;opacity:0}}
@media(max-width:650px){.landing-logo-effect{width:210px;margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.logo-light-sweep{display:none;animation:none}}
/* Broken-sign interference: one short, restrained glitch between long pauses. */
.logo-glitch-slice{position:absolute;inset:0;background:url('/assets/fraksha-wordmark.svg') center/contain no-repeat;pointer-events:none;opacity:0;animation:logo-signal-split 8s linear infinite}
.logo-glitch-upper{clip-path:inset(34% 0 53% 0)}
.logo-glitch-lower{clip-path:inset(60% 0 30% 0);animation-name:logo-signal-return}
.logo-glitch-line{position:absolute;left:-1%;right:-1%;top:44%;height:1px;background:#fff;box-shadow:0 0 5px #ffffff80;pointer-events:none;opacity:0;animation:logo-signal-line 8s linear infinite}
@keyframes logo-signal-split{0%,79%,85%,100%{opacity:0;transform:translateX(0)}80%{opacity:1;transform:translateX(4px)}80.7%{opacity:0;transform:translateX(-3px)}81.4%{opacity:1;transform:translateX(-5px)}82%{opacity:0}83%{opacity:1;transform:translateX(3px)}84%{opacity:0;transform:translateX(0)}}
@keyframes logo-signal-return{0%,79%,85%,100%{opacity:0;transform:translateX(0)}80%{opacity:1;transform:translateX(-4px)}81%{opacity:0}81.6%{opacity:1;transform:translateX(5px)}82.3%{opacity:0}83.2%{opacity:1;transform:translateX(-2px)}84%{opacity:0}}
@keyframes logo-signal-line{0%,79%,85%,100%{opacity:0;transform:translateY(0)}80%{opacity:.85;transform:translateY(0)}80.7%{opacity:0}81.4%{opacity:.75;transform:translateY(5px)}82%{opacity:0}83%{opacity:.6;transform:translateY(-4px)}84%{opacity:0}}
@media(prefers-reduced-motion:reduce){.logo-glitch-slice,.logo-glitch-line{display:none;animation:none}}
/* Make the broken-sign effect visible immediately, then let the logo settle. */
.logo-glitch-slice{animation-duration:4.5s;animation-delay:-.15s}
.logo-glitch-line{height:2px;animation-duration:4.5s;animation-delay:-.15s}
@keyframes logo-signal-split{0%{opacity:1;transform:translateX(7px)}3%{opacity:1;transform:translateX(-6px)}6%{opacity:0;transform:translateX(0)}9%{opacity:1;transform:translateX(9px)}12%{opacity:1;transform:translateX(-4px)}16%,100%{opacity:0;transform:translateX(0)}}
@keyframes logo-signal-return{0%{opacity:1;transform:translateX(-7px)}4%{opacity:0;transform:translateX(0)}8%{opacity:1;transform:translateX(6px)}12%{opacity:1;transform:translateX(-5px)}16%,100%{opacity:0;transform:translateX(0)}}
@keyframes logo-signal-line{0%{opacity:1;transform:translateY(-5px)}4%{opacity:.7;transform:translateY(4px)}7%{opacity:0;transform:translateY(4px)}9%{opacity:1;transform:translateY(0)}13%{opacity:.6;transform:translateY(8px)}16%,100%{opacity:0;transform:translateY(0)}}
/* Continuous signal interference, without flashes or long idle pauses. */
.logo-glitch-slice{animation-duration:1.8s;animation-delay:0s;opacity:.6}
.logo-glitch-line{height:1px;left:0;right:0;animation:logo-continuous-scan 1.6s linear infinite;opacity:.65;box-shadow:0 0 4px #ffffff55}
@keyframes logo-signal-split{0%,100%{opacity:.55;transform:translateX(2px)}20%{opacity:.7;transform:translateX(-3px)}40%{opacity:.55;transform:translateX(4px)}60%{opacity:.65;transform:translateX(-2px)}80%{opacity:.55;transform:translateX(3px)}}
@keyframes logo-signal-return{0%,100%{opacity:.55;transform:translateX(-2px)}25%{opacity:.65;transform:translateX(3px)}50%{opacity:.55;transform:translateX(-4px)}75%{opacity:.65;transform:translateX(2px)}}
@keyframes logo-continuous-scan{0%{top:8%;opacity:.2}15%{opacity:.65}85%{opacity:.65}100%{top:92%;opacity:.2}}
@media(prefers-reduced-motion:reduce){.logo-glitch-slice,.logo-glitch-line{display:none;animation:none}}
/* Keep the letter interference without the moving scan line. */
.logo-glitch-line{display:none;animation:none}

/* Angular pieces separate and reform; the original wordmark remains the source. */
.logo-fracture .landing-wordmark{opacity:0}
.logo-fragment{position:absolute;inset:0;background:url('/assets/fraksha-wordmark.svg') center/contain no-repeat;pointer-events:none;transform-origin:center;animation:fraksha-fracture 6s ease-in-out infinite;will-change:transform}
@keyframes fraksha-fracture{0%,12%,100%{transform:translate(0,0) rotate(0)}48%,62%{transform:translate(var(--fracture-x),var(--fracture-y)) rotate(var(--fracture-angle))}}
.fragment-0{clip-path:polygon(12.5% 0%,10.5% 25%,13.5% 50%,11.5% 75%,12.5% 100%,0% 100%,0% 75%,0% 50%,0% 25%,0% 0%);--fracture-x:-4px;--fracture-y:-3px;--fracture-angle:-0.3deg}
.fragment-1{clip-path:polygon(25.0% 0%,23.0% 25%,26.0% 50%,24.0% 75%,25.0% 100%,12.5% 100%,11.5% 75%,13.5% 50%,10.5% 25%,12.5% 0%);--fracture-x:-2px;--fracture-y:3px;--fracture-angle:0.2deg}
.fragment-2{clip-path:polygon(37.5% 0%,35.5% 25%,38.5% 50%,36.5% 75%,37.5% 100%,25.0% 100%,24.0% 75%,26.0% 50%,23.0% 25%,25.0% 0%);--fracture-x:2px;--fracture-y:-2px;--fracture-angle:-0.2deg}
.fragment-3{clip-path:polygon(50.0% 0%,48.0% 25%,51.0% 50%,49.0% 75%,50.0% 100%,37.5% 100%,36.5% 75%,38.5% 50%,35.5% 25%,37.5% 0%);--fracture-x:-1px;--fracture-y:4px;--fracture-angle:0.3deg}
.fragment-4{clip-path:polygon(62.5% 0%,60.5% 25%,63.5% 50%,61.5% 75%,62.5% 100%,50.0% 100%,49.0% 75%,51.0% 50%,48.0% 25%,50.0% 0%);--fracture-x:3px;--fracture-y:-3px;--fracture-angle:-0.3deg}
.fragment-5{clip-path:polygon(75.0% 0%,73.0% 25%,76.0% 50%,74.0% 75%,75.0% 100%,62.5% 100%,61.5% 75%,63.5% 50%,60.5% 25%,62.5% 0%);--fracture-x:1px;--fracture-y:3px;--fracture-angle:0.2deg}
.fragment-6{clip-path:polygon(87.5% 0%,85.5% 25%,88.5% 50%,86.5% 75%,87.5% 100%,75.0% 100%,74.0% 75%,76.0% 50%,73.0% 25%,75.0% 0%);--fracture-x:4px;--fracture-y:-2px;--fracture-angle:-0.2deg}
.fragment-7{clip-path:polygon(100% 0%,100% 25%,100% 50%,100% 75%,100% 100%,87.5% 100%,86.5% 75%,88.5% 50%,85.5% 25%,87.5% 0%);--fracture-x:5px;--fracture-y:2px;--fracture-angle:0.3deg}
@media(prefers-reduced-motion:reduce){.logo-fragment{display:none;animation:none}.logo-fracture .landing-wordmark{opacity:1}}
/* Pieces thin out as the wordmark fractures, then return as it reforms. */
.logo-fragment{animation-name:fraksha-fracture-fade}
.fragment-0{--fragment-opacity:.72}.fragment-1{--fragment-opacity:.16}.fragment-2{--fragment-opacity:.82}.fragment-3{--fragment-opacity:.06}.fragment-4{--fragment-opacity:.58}.fragment-5{--fragment-opacity:.12}.fragment-6{--fragment-opacity:.76}.fragment-7{--fragment-opacity:.28}
@keyframes fraksha-fracture-fade{0%,12%,100%{opacity:1;transform:translate(0,0) rotate(0)}48%,62%{opacity:var(--fragment-opacity);transform:translate(var(--fracture-x),var(--fracture-y)) rotate(var(--fracture-angle))}}
/* Let every fragment fully disappear, rather than remaining translucent. */
.logo-fragment{animation-duration:10s}
@keyframes fraksha-fracture-fade{0%,10%,100%{opacity:1;transform:translate(0,0) rotate(0)}35%{opacity:var(--fragment-opacity);transform:translate(var(--fracture-x),var(--fracture-y)) rotate(var(--fracture-angle))}58%,72%{opacity:0;transform:translate(calc(var(--fracture-x) * 1.5),calc(var(--fracture-y) * 1.5)) rotate(var(--fracture-angle))}}
/* Keep most lettering solid; only selected broken pieces disappear. */
.fragment-0{--fragment-opacity:1;--fragment-end:1}.fragment-1{--fragment-opacity:.45;--fragment-end:0}.fragment-2{--fragment-opacity:1;--fragment-end:1}.fragment-3{--fragment-opacity:.3;--fragment-end:0}.fragment-4{--fragment-opacity:1;--fragment-end:1}.fragment-5{--fragment-opacity:.5;--fragment-end:0}.fragment-6{--fragment-opacity:1;--fragment-end:1}.fragment-7{--fragment-opacity:1;--fragment-end:1}
/* Fade small chips, not whole letter-wide sections. */
@keyframes fraksha-fracture-fade{0%,10%,100%{opacity:1;transform:translate(0,0) rotate(0)}35%{opacity:var(--fragment-opacity);transform:translate(var(--fracture-x),var(--fracture-y)) rotate(var(--fracture-angle))}58%,72%{opacity:var(--fragment-end);transform:translate(calc(var(--fracture-x) * 1.5),calc(var(--fracture-y) * 1.5)) rotate(var(--fracture-angle))}}
/* A surviving shard of the first “a” warms to gold as other pieces fall away. */
.logo-gold-fragment{position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#f5df9c 0%,#d8b66c 48%,#ad7d32 100%);mask:url('/assets/fraksha-wordmark.svg') center/contain no-repeat;-webkit-mask:url('/assets/fraksha-wordmark.svg') center/contain no-repeat;clip-path:polygon(27% 65%,35% 62%,38% 82%,29% 91%);opacity:0;animation:fraksha-gold-shard 10s ease-in-out infinite}
@keyframes fraksha-gold-shard{0%,15%,100%{opacity:0;transform:translate(0,0)}40%{opacity:.75;transform:translate(1px,1px)}58%,72%{opacity:1;transform:translate(2px,2px)}88%{opacity:.4;transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){.logo-gold-fragment{display:none;animation:none}}
/* One uninterrupted dissolve: the entire wordmark gives way to one gold nugget. */
.logo-fragment{animation:fraksha-dissolve-to-gold 7s cubic-bezier(.35,0,.65,1) infinite alternate;animation-delay:0s}
@keyframes fraksha-dissolve-to-gold{from{opacity:1;transform:translate(0,0) rotate(0)}to{opacity:0;transform:translate(calc(var(--fracture-x) * 4),calc(var(--fracture-y) * 4)) rotate(calc(var(--fracture-angle) * 5))}}
.logo-gold-fragment{left:27%;top:62%;right:auto;bottom:auto;width:11%;height:30%;background:none;mask:none;-webkit-mask:none;clip-path:none;animation:fraksha-nugget-emerge 7s cubic-bezier(.35,0,.65,1) infinite alternate;animation-delay:0s;transform:none}
.logo-gold-fragment svg{display:block;width:100%;height:100%;overflow:visible}
@keyframes fraksha-nugget-emerge{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.logo-fragment,.logo-gold-fragment{display:none;animation:none}.logo-fracture .landing-wordmark{opacity:1}}
/* Let the surviving facet emerge from the lettering, without a separate pop-in. */
.logo-gold-fragment{left:27.5%;top:64%;width:10%;height:28%;animation-name:fraksha-diamond-blend}
@keyframes fraksha-diamond-blend{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
/* The diamond is an actual retained piece of the “a”, not an overlay fading in. */
.logo-fragment{background-image:url('/assets/fraksha-fracture.svg')}
.logo-diamond-core{position:absolute;inset:0;pointer-events:none}
.logo-diamond-core>svg{display:block;width:100%;height:100%}
.diamond-facets{animation:fraksha-retained-facets 7s cubic-bezier(.35,0,.65,1) infinite alternate}
@keyframes fraksha-retained-facets{from{opacity:0}to{opacity:.75}}
@media(prefers-reduced-motion:reduce){.logo-diamond-core{display:none}.diamond-facets{animation:none}}

/* Smaller cracks in the first a expose the retained centre along angular edges. */
.logo-fragment{background-image:url('/assets/fraksha-fracture-body.svg')}
.a-fracture-chip{position:absolute;inset:0;background:url('/assets/fraksha-fracture.svg') center/contain no-repeat;pointer-events:none;animation:a-chip-breakaway 7s cubic-bezier(.35,0,.65,1) infinite alternate}
@keyframes a-chip-breakaway{from{opacity:1;transform:translate(0,0) rotate(0)}to{opacity:0;transform:translate(var(--chip-x),var(--chip-y)) rotate(var(--chip-turn))}}
.a-chip-0{clip-path:polygon(26.14286% 31.81818%,32.00000% 31.81818%,31.85714% 62.33766%);--chip-x:-4px;--chip-y:-12px;--chip-turn:-3deg}
.a-chip-1{clip-path:polygon(32.00000% 31.81818%,38.00000% 31.81818%,31.85714% 62.33766%);--chip-x:3px;--chip-y:-10px;--chip-turn:0deg}
.a-chip-2{clip-path:polygon(38.00000% 31.81818%,38.00000% 62.33766%,31.85714% 62.33766%);--chip-x:10px;--chip-y:-6px;--chip-turn:3deg}
.a-chip-3{clip-path:polygon(38.00000% 62.33766%,38.00000% 93.50649%,31.85714% 62.33766%);--chip-x:12px;--chip-y:4px;--chip-turn:-3deg}
.a-chip-4{clip-path:polygon(38.00000% 93.50649%,32.00000% 93.50649%,31.85714% 62.33766%);--chip-x:6px;--chip-y:12px;--chip-turn:0deg}
.a-chip-5{clip-path:polygon(32.00000% 93.50649%,26.14286% 93.50649%,31.85714% 62.33766%);--chip-x:-4px;--chip-y:10px;--chip-turn:3deg}
.a-chip-6{clip-path:polygon(26.14286% 93.50649%,26.14286% 62.33766%,31.85714% 62.33766%);--chip-x:-10px;--chip-y:4px;--chip-turn:-3deg}
.a-chip-7{clip-path:polygon(26.14286% 62.33766%,26.14286% 31.81818%,31.85714% 62.33766%);--chip-x:-9px;--chip-y:-5px;--chip-turn:0deg}
@media(prefers-reduced-motion:reduce){.a-fracture-chip{display:none;animation:none}}
/* A single small glint at the diamond-only end of the 14-second cycle. */
.logo-diamond-core::after{content:'';position:absolute;left:33.4%;top:68.5%;width:10px;height:10px;transform:translate(-50%,-50%) scale(0);background:#fff;clip-path:polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);opacity:0;pointer-events:none;animation:diamond-end-twinkle 14s linear infinite}
@keyframes diamond-end-twinkle{0%,46%{opacity:0;transform:translate(-50%,-50%) scale(0)}48%{opacity:.95;transform:translate(-50%,-50%) scale(1)}50.5%{opacity:0;transform:translate(-50%,-50%) scale(.3)}100%{opacity:0;transform:translate(-50%,-50%) scale(0)}}
@media(prefers-reduced-motion:reduce){.logo-diamond-core::after{display:none;animation:none}}
/* Cover fragment seams with the untouched original at the assembled endpoint. */
.logo-fracture .landing-wordmark{position:relative;z-index:2;opacity:1;animation:fraksha-seamless-rest 14s linear infinite;pointer-events:none}
@keyframes fraksha-seamless-rest{0%,3%,100%{opacity:1}8%,92%{opacity:0}97%{opacity:1}}
@media(prefers-reduced-motion:reduce){.logo-fracture .landing-wordmark{opacity:1;animation:none}}

/* Triangulated glass fragments radiate from the retained diamond. */
.landing-logo-effect{perspective:650px}
.glass-shard{position:absolute;inset:0;background:url('/assets/fraksha-fracture-body.svg') center/contain no-repeat;pointer-events:none;backface-visibility:visible;animation:fraksha-glass-shatter 7s cubic-bezier(.3,0,.6,1) infinite alternate;transform-origin:var(--shard-origin)}
@keyframes fraksha-glass-shatter{from{opacity:1;transform:translate3d(0,0,0) rotate(0) rotateY(0);filter:brightness(1)}to{opacity:0;transform:translate3d(var(--shard-x),var(--shard-y),var(--shard-z)) rotate(var(--shard-turn)) rotateY(var(--shard-tilt));filter:brightness(1.3)}}
.a-fracture-chip{animation-name:fraksha-a-glass}
@keyframes fraksha-a-glass{from{opacity:1;transform:translate(0,0) rotate(0)}to{opacity:0;transform:translate(calc(var(--chip-x) * 2),calc(var(--chip-y) * 2)) rotate(calc(var(--chip-turn) * 4))}}
.glass-shard-0{clip-path:polygon(0.00% 0.00%,10.10% 0.00%,12.50% 53.00%);--shard-origin:7.53% 17.67%;--shard-x:-15.90px;--shard-y:-20.42px;--shard-z:-14px;--shard-turn:-15deg;--shard-tilt:-27deg}
.glass-shard-1{clip-path:polygon(0.00% 0.00%,12.50% 53.00%,0.00% 38.00%);--shard-origin:4.17% 30.33%;--shard-x:-18.09px;--shard-y:-15.98px;--shard-z:-7px;--shard-turn:-2deg;--shard-tilt:-18deg}
.glass-shard-2{clip-path:polygon(10.10% 0.00%,22.60% 0.00%,12.50% 53.00%);--shard-origin:15.07% 17.67%;--shard-x:-11.01px;--shard-y:-20.42px;--shard-z:0px;--shard-turn:11deg;--shard-tilt:-9deg}
.glass-shard-3{clip-path:polygon(22.60% 0.00%,25.00% 41.00%,12.50% 53.00%);--shard-origin:20.03% 31.33%;--shard-x:-7.78px;--shard-y:-15.63px;--shard-z:7px;--shard-turn:-7deg;--shard-tilt:0deg}
.glass-shard-4{clip-path:polygon(22.60% 0.00%,35.10% 0.00%,37.50% 56.00%);--shard-origin:31.73% 18.67%;--shard-x:-0.17px;--shard-y:-20.07px;--shard-z:14px;--shard-turn:6deg;--shard-tilt:9deg}
.glass-shard-5{clip-path:polygon(22.60% 0.00%,37.50% 56.00%,25.00% 41.00%);--shard-origin:28.37% 32.33%;--shard-x:-2.36px;--shard-y:-15.28px;--shard-z:-14px;--shard-turn:-12deg;--shard-tilt:18deg}
.glass-shard-6{clip-path:polygon(35.10% 0.00%,47.60% 0.00%,37.50% 56.00%);--shard-origin:40.07% 18.67%;--shard-x:5.24px;--shard-y:-20.07px;--shard-z:-7px;--shard-turn:1deg;--shard-tilt:27deg}
.glass-shard-7{clip-path:polygon(47.60% 0.00%,50.00% 44.00%,37.50% 56.00%);--shard-origin:45.03% 33.33%;--shard-x:8.47px;--shard-y:-14.93px;--shard-z:0px;--shard-turn:14deg;--shard-tilt:-27deg}
.glass-shard-8{clip-path:polygon(47.60% 0.00%,60.10% 0.00%,62.50% 59.00%);--shard-origin:56.73% 19.67%;--shard-x:16.08px;--shard-y:-19.72px;--shard-z:7px;--shard-turn:-4deg;--shard-tilt:-18deg}
.glass-shard-9{clip-path:polygon(47.60% 0.00%,62.50% 59.00%,50.00% 44.00%);--shard-origin:53.37% 34.33%;--shard-x:13.89px;--shard-y:-14.58px;--shard-z:14px;--shard-turn:9deg;--shard-tilt:-9deg}
.glass-shard-10{clip-path:polygon(60.10% 0.00%,72.60% 0.00%,62.50% 59.00%);--shard-origin:65.07% 19.67%;--shard-x:21.49px;--shard-y:-19.72px;--shard-z:-14px;--shard-turn:-9deg;--shard-tilt:0deg}
.glass-shard-11{clip-path:polygon(72.60% 0.00%,75.00% 47.00%,62.50% 59.00%);--shard-origin:70.03% 35.33%;--shard-x:24.72px;--shard-y:-14.23px;--shard-z:-7px;--shard-turn:4deg;--shard-tilt:9deg}
.glass-shard-12{clip-path:polygon(72.60% 0.00%,85.10% 0.00%,87.50% 62.00%);--shard-origin:81.73% 20.67%;--shard-x:32.33px;--shard-y:-19.37px;--shard-z:0px;--shard-turn:-14deg;--shard-tilt:18deg}
.glass-shard-13{clip-path:polygon(72.60% 0.00%,87.50% 62.00%,75.00% 47.00%);--shard-origin:78.37% 36.33%;--shard-x:30.14px;--shard-y:-13.88px;--shard-z:7px;--shard-turn:-1deg;--shard-tilt:27deg}
.glass-shard-14{clip-path:polygon(85.10% 0.00%,100.00% 0.00%,87.50% 62.00%);--shard-origin:90.87% 20.67%;--shard-x:38.26px;--shard-y:-19.37px;--shard-z:14px;--shard-turn:12deg;--shard-tilt:-27deg}
.glass-shard-15{clip-path:polygon(100.00% 0.00%,100.00% 50.00%,87.50% 62.00%);--shard-origin:95.83% 37.33%;--shard-x:41.49px;--shard-y:-13.53px;--shard-z:-14px;--shard-turn:-6deg;--shard-tilt:-18deg}
.glass-shard-16{clip-path:polygon(0.00% 38.00%,12.50% 53.00%,0.00% 100.00%);--shard-origin:4.17% 63.67%;--shard-x:-18.09px;--shard-y:-4.32px;--shard-z:-7px;--shard-turn:7deg;--shard-tilt:-9deg}
.glass-shard-17{clip-path:polygon(12.50% 53.00%,14.90% 100.00%,0.00% 100.00%);--shard-origin:9.13% 84.33%;--shard-x:-14.86px;--shard-y:2.92px;--shard-z:0px;--shard-turn:-11deg;--shard-tilt:0deg}
.glass-shard-18{clip-path:polygon(12.50% 53.00%,25.00% 41.00%,27.40% 100.00%);--shard-origin:21.63% 64.67%;--shard-x:-6.74px;--shard-y:-3.97px;--shard-z:7px;--shard-turn:2deg;--shard-tilt:9deg}
.glass-shard-19{clip-path:polygon(12.50% 53.00%,27.40% 100.00%,14.90% 100.00%);--shard-origin:18.27% 84.33%;--shard-x:-8.93px;--shard-y:2.92px;--shard-z:14px;--shard-turn:15deg;--shard-tilt:18deg}
.glass-shard-20{clip-path:polygon(25.00% 41.00%,37.50% 56.00%,27.40% 100.00%);--shard-origin:29.97% 65.67%;--shard-x:-1.32px;--shard-y:-3.62px;--shard-z:-14px;--shard-turn:-3deg;--shard-tilt:27deg}
.glass-shard-21{clip-path:polygon(37.50% 56.00%,39.90% 100.00%,27.40% 100.00%);--shard-origin:34.93% 85.33%;--shard-x:1.91px;--shard-y:3.27px;--shard-z:-7px;--shard-turn:10deg;--shard-tilt:-27deg}
.glass-shard-22{clip-path:polygon(37.50% 56.00%,50.00% 44.00%,52.40% 100.00%);--shard-origin:46.63% 66.67%;--shard-x:9.51px;--shard-y:-3.27px;--shard-z:0px;--shard-turn:-8deg;--shard-tilt:-18deg}
.glass-shard-23{clip-path:polygon(37.50% 56.00%,52.40% 100.00%,39.90% 100.00%);--shard-origin:43.27% 85.33%;--shard-x:7.32px;--shard-y:3.27px;--shard-z:7px;--shard-turn:5deg;--shard-tilt:-9deg}
.glass-shard-24{clip-path:polygon(50.00% 44.00%,62.50% 59.00%,52.40% 100.00%);--shard-origin:54.97% 67.67%;--shard-x:14.93px;--shard-y:-2.92px;--shard-z:14px;--shard-turn:-13deg;--shard-tilt:0deg}
.glass-shard-25{clip-path:polygon(62.50% 59.00%,64.90% 100.00%,52.40% 100.00%);--shard-origin:59.93% 86.33%;--shard-x:18.16px;--shard-y:3.62px;--shard-z:-14px;--shard-turn:0deg;--shard-tilt:9deg}
.glass-shard-26{clip-path:polygon(62.50% 59.00%,75.00% 47.00%,77.40% 100.00%);--shard-origin:71.63% 68.67%;--shard-x:25.76px;--shard-y:-2.57px;--shard-z:-7px;--shard-turn:13deg;--shard-tilt:18deg}
.glass-shard-27{clip-path:polygon(62.50% 59.00%,77.40% 100.00%,64.90% 100.00%);--shard-origin:68.27% 86.33%;--shard-x:23.57px;--shard-y:3.62px;--shard-z:0px;--shard-turn:-5deg;--shard-tilt:27deg}
.glass-shard-28{clip-path:polygon(75.00% 47.00%,87.50% 62.00%,77.40% 100.00%);--shard-origin:79.97% 69.67%;--shard-x:31.18px;--shard-y:-2.22px;--shard-z:7px;--shard-turn:8deg;--shard-tilt:-27deg}
.glass-shard-29{clip-path:polygon(87.50% 62.00%,89.90% 100.00%,77.40% 100.00%);--shard-origin:84.93% 87.33%;--shard-x:34.41px;--shard-y:3.97px;--shard-z:14px;--shard-turn:-10deg;--shard-tilt:-18deg}
.glass-shard-30{clip-path:polygon(87.50% 62.00%,100.00% 50.00%,100.00% 100.00%);--shard-origin:95.83% 70.67%;--shard-x:41.49px;--shard-y:-1.87px;--shard-z:-14px;--shard-turn:3deg;--shard-tilt:-9deg}
.glass-shard-31{clip-path:polygon(87.50% 62.00%,100.00% 100.00%,89.90% 100.00%);--shard-origin:92.47% 87.33%;--shard-x:39.30px;--shard-y:3.97px;--shard-z:-7px;--shard-turn:-15deg;--shard-tilt:0deg}
@media(prefers-reduced-motion:reduce){.glass-shard{display:none;animation:none}}
/* Primary links keep readable text in every interaction state. */
a.landing-primary,a.landing-primary:visited,a.landing-primary:hover,a.landing-primary:active,a.landing-primary:focus-visible{color:#041114}
.launchpad-brand-label{display:inline-flex;align-items:center;gap:5px;line-height:1.5}
.launchpad-brand-label img{display:block;width:66px;height:auto;flex:none}
.launchpad-brand-label img{transform:translateY(-2px)}
body.showing-docs main>:not(#docsPage):not(#footer):not(#signature):not(#checkSignature){display:none!important}body.showing-docs #docsPage{display:block}.public-docs{max-width:780px;margin:48px auto 64px}.public-docs h1{font-size:clamp(32px,5vw,48px);margin:12px 0}.public-docs article{padding:26px 0;border-top:1px solid var(--line)}.public-docs article:first-of-type{margin-top:32px}.public-docs h2{font-size:22px;margin:0 0 14px}.public-docs p{font-size:15px;line-height:1.75;color:#a4afbd}
/* Documentation layout: introduction, persistent contents, readable article column. */
body.showing-docs #docsPage{display:block}.protocol-docs{margin:32px auto 64px;max-width:1180px;min-width:0}.docs-hero{padding:36px 40px;border:1px solid var(--line);border-radius:18px;background:#0c1117;margin-bottom:24px}.docs-hero h1{font-size:clamp(32px,4.2vw,54px);line-height:1.1;letter-spacing:-.045em;margin:16px 0}.docs-hero p{color:var(--muted);font-size:15px;margin:0;line-height:1.65}.docs-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:32px;align-items:start}.docs-sidebar{position:sticky;top:24px}.docs-sidebar nav{display:flex;flex-direction:column;gap:3px}.docs-nav-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:20px 10px 8px}.docs-sidebar a{padding:7px 10px;color:var(--muted);font-size:12px;line-height:1.45;text-decoration:none;border-radius:6px}.docs-sidebar a:hover,.docs-sidebar a:focus-visible{color:var(--ink);background:rgba(0,229,255,.045)}.docs-content{min-width:0;border:1px solid var(--line);border-radius:18px;padding:8px 36px 28px;background:#0a0f15}.docs-content article{padding:30px 0;border-bottom:1px solid var(--line);scroll-margin-top:28px}.docs-content article:last-child{border-bottom:0}.docs-content h2{font-size:25px;margin:0 0 18px;letter-spacing:-.025em}.docs-content p,.docs-content li{font-size:14px;line-height:1.8;color:#a4afbd}.docs-content strong{color:var(--ink);font-weight:550}.docs-content li{margin:10px 0}.docs-content ol,.docs-content ul{padding-left:22px}.docs-callout{padding:18px 20px;margin:24px 0 4px;border:1px solid rgba(0,229,255,.2);border-radius:10px;background:rgba(0,229,255,.025)}.docs-callout p{margin:8px 0 0}.docs-content details{border-top:1px solid var(--line);padding:16px 0}.docs-content details summary{font-size:14px;line-height:1.6;letter-spacing:0;font-weight:500}.docs-content details[open]>summary{margin-bottom:12px}.docs-content pre{padding:18px;background:#111820;border:1px solid var(--line);border-radius:9px;font-size:11px;white-space:pre-wrap}.docs-content table{width:100%;table-layout:fixed}.docs-content th,.docs-content td{white-space:normal;overflow-wrap:anywhere;font-size:12px;line-height:1.65;vertical-align:top}.docs-content th:first-child,.docs-content td:first-child{width:30%;padding-right:16px}.docs-content .section-label{display:block;margin-bottom:14px}
@media(max-width:800px){.docs-layout{grid-template-columns:1fr;gap:18px}.docs-sidebar{position:static}.docs-sidebar nav{flex-direction:row;flex-wrap:wrap;gap:4px}.docs-nav-label{display:none}.docs-sidebar a{padding:7px 10px;border:1px solid var(--line);font-size:11px}.docs-hero{padding:26px}.docs-content{padding:4px 22px 20px}.docs-content h2{font-size:22px}}
.supply-visual .projection-canvas{margin-top:18px;margin-bottom:18px}
.fibonacci-spiral-section>div>h3{margin:10px 0 12px}.spiral-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:28px;align-items:center}.spiral-layout>svg{width:100%;height:auto;max-height:460px}.spiral-guide{fill:none;stroke:rgba(242,244,247,.06)}.spiral-track{fill:none;stroke:var(--green);stroke-width:2}.spiral-dot{fill:var(--green);stroke:#080c12;stroke-width:2}.spiral-point{cursor:pointer;outline:none}.spiral-point text{font-size:9px;fill:var(--muted);font-family:monospace}.spiral-point.selected .spiral-dot,.spiral-point:focus .spiral-dot{fill:#fff;stroke:var(--green);stroke-width:3}.spiral-info h4{font-size:15px;color:var(--muted);margin:0 0 14px}.spiral-info>strong{font-size:clamp(20px,2.4vw,30px);font-weight:500;overflow-wrap:anywhere}.spiral-info>p{font-size:13px}.spiral-info .small{margin-top:24px;font-size:12px}@media(max-width:700px){.spiral-layout{grid-template-columns:1fr;gap:8px}.spiral-info{padding:0 4px 8px}}
.fibonacci-spiral-section{position:relative}.spiral-tooltip{position:absolute;z-index:5;width:240px;max-width:calc(100% - 32px);padding:14px;background:#101820;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #0005;pointer-events:none}.spiral-tooltip[hidden]{display:none}.spiral-tooltip strong{font-size:13px}.spiral-tooltip p{font-size:12px;margin:7px 0;line-height:1.5}.spiral-tooltip small{display:block;color:var(--muted);font-size:10px;line-height:1.5;margin-top:10px}
/* Distinguish the launchpad next step from the informational token panels. */
.launchpad-next{background:linear-gradient(110deg,#102d36 0%,#0b222c 58%,#10202f 100%);border-color:rgba(0,229,255,.38);border-left:3px solid var(--green);padding-left:30px}
.launchpad-next .launchpad-brand-label{color:#bceef2}
.launchpad-next p.muted{color:#b0c8d0}
.launchpad-next .landing-primary{background:#f2f4f7;border-color:#f2f4f7;color:#07171c}
.launchpad-next .landing-primary:hover{background:#fff;border-color:#fff;color:#07171c;filter:none;box-shadow:0 0 18px rgba(0,229,255,.16)}
.launchpad-next .launchpad-explore{color:#bceef2}
.launchpad-next .launchpad-explore:hover{color:#fff}
@media(max-width:650px){.launchpad-next{padding-left:22px}}
.schedule-remaining{margin-top:12px}.schedule-remaining>summary{padding:14px 0;color:var(--green);font-size:13px;font-weight:500;letter-spacing:0}.schedule-remaining[open]>summary{margin-bottom:8px}.schedule-remaining table{margin-top:6px}
@media(min-width:1001px){.token-information .checkpoint-block th:first-child,.token-information .checkpoint-block td:first-child{width:7%;white-space:nowrap;overflow-wrap:normal}}
