/* Compact surfaces share the existing neutral card palette. */
.page #contract-list .position-reference{margin:0;gap:4px 8px;flex:1}
.page #contract-list .position-reference code{font-size:11px;letter-spacing:.02em;color:#bebdc9}
.page #contract-list .package>.row{align-items:flex-start}
.page #contract-list .package>.row>.badge{flex:none}

.toast{bottom:max(22px,env(safe-area-inset-bottom));width:max-content;max-width:min(380px,calc(100vw - 32px));padding:12px 15px 12px 42px;border-radius:12px;border:1px solid #ffffff26;background:#23232b;color:#e8e8ef;box-shadow:0 8px 30px #0005;font-size:12px;line-height:1.5;overflow-wrap:anywhere;z-index:10000}
.toast::before{content:'…';position:absolute;left:14px;top:12px;display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#ffffff12;font-size:12px;font-weight:750}
.toast[data-outcome="success"]{background:#102a20;border-color:#45b98066;color:#c4f4d9}
.toast[data-outcome="success"]::before{content:'✓';color:#6ce4a3;background:#49c98725}
.toast[data-outcome="error"]{background:#341b20;border-color:#e3677566;color:#ffd1d7}
.toast[data-outcome="error"]::before{content:'!';color:#ff8b99;background:#e3677525}
/* Explicit pending recovery keeps its input, without reopening transaction details. */
.mk-card .financial-progress[data-mode="withdraw"]>[data-context],
.mk-card .financial-progress[data-mode="withdraw"]>details,
.mk-card .financial-progress[data-mode="withdraw"]>[data-approval],
.mk-card .financial-progress[data-mode="withdraw"]>[data-warning],
.mk-card .financial-progress[data-mode="withdraw"]>[data-hashes]{display:none}

.page #token-stats{padding:18px 20px;background:radial-gradient(ellipse at 100% 0%,#8c6ec516,transparent 65%),linear-gradient(135deg,#24232d,#1b1b23);border-color:#ffffff12;border-radius:18px;box-shadow:inset 0 1px #ffffff06}
.page #token-stats .token-stats-header{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid #ffffff0e}
.page #token-stats #token-name{font-size:15px;letter-spacing:.08em;font-weight:750}
.page #token-stats .token-stats-grid{gap:12px}
.page #token-stats .token-stats-metric{display:grid;grid-template-columns:minmax(100px,.85fr) minmax(0,1.4fr);align-items:baseline;column-gap:12px}
.page #token-stats .token-stats-metric+.token-stats-metric{padding-top:12px;border-color:#ffffff0e}
.page #token-stats .token-stats-label{font-size:12px;font-weight:500;color:#aaa8ba}
.page #token-stats .token-stats-amount{margin:0;gap:6px}
.page #token-stats .token-stats-number{font-weight:650;letter-spacing:-.6px;line-height:1.3}
.page #token-stats .token-stats-unit{font-size:10px;color:#aaa8ba}
.page #token-stats .token-stats-note{color:#aaa8ba;font-size:10px}
.page #token-stats .token-stats-metric>.token-stats-note{grid-column:1/-1;min-height:1.55em;margin-top:3px}
.page #token-stats .token-stats-details{grid-column:1/-1;margin:3px 0 0;color:#aaa8ba;font-size:10px}

.page #market .mk-reserve{padding:0;margin:20px 0 0}
.page #market .mk-reserve-summary{padding:17px;background:linear-gradient(130deg,#ffffff06,#ffffff02);border:1px solid #ffffff12;border-radius:15px;box-shadow:inset 0 1px #ffffff04}
.page #market .mk-reserve-summary::before{display:none}
.page #market .mk-reserve-title{margin-bottom:15px;align-items:center}
.page #market .mk-reserve-title h3,.page #market .mk-credits h3{font-size:12px;font-weight:650;letter-spacing:.02em;color:#e5e3ec}
.page #market .mk-reserve-title>span{padding:3px 7px;border:1px solid #c0a1f026;border-radius:6px;background:#a780dc0b;color:#c4b4df;font-size:10px;font-weight:500}
.page #market .mk-reserve-grid{gap:14px}
.page #market .mk-reserve-grid>div{min-width:0}
.page #market .mk-reserve-grid>div+div{padding-left:14px;border-left:1px solid #ffffff0f}
.page #market .mk-reserve-grid>div>span{font-size:10px;color:#9f9bac;line-height:1.45}
.page #market .mk-reserve .reserve-number{margin-top:7px;letter-spacing:-.4px;font-weight:650}
.page #market .mk-reserve .reserve-number small{font-size:10px;color:#aaa5b8;margin-top:3px;font-weight:500;letter-spacing:.03em}
.page #market .mk-credits{padding:17px;margin:12px 0 0;background:linear-gradient(130deg,#ffffff06,#ffffff02);border:1px solid #ffffff12;border-radius:15px}
.page #market .mk-credits h3{margin:0 0 14px}
.page #market .mk-credit-values{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0 0 15px}
.page #market .mk-credit-values>span{display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-width:0}
.page #market .mk-credit-values>span+span{border-left:1px solid #ffffff0f;padding-left:14px}
.page #market .mk-credit-values strong{display:block;width:100%;min-width:0;font-size:23px;font-weight:650;line-height:1.35;letter-spacing:-.4px}
.page #market .mk-credit-values small{font-size:10px;color:#aaa5b8;font-weight:500;letter-spacing:.03em}
.page #market .mk-credits .mk-credit-action{width:100%;min-height:38px;margin:0;padding:9px 12px;border:1px solid #ffffff20;border-radius:9px;background:#ffffff08;color:#efedf5;font-size:11px;font-weight:600;transition:background .15s,border-color .15s}
.page #market .mk-credits .mk-credit-action:not(:disabled):hover{background:#ffffff10;border-color:#ffffff38}
.page #market .mk-credits .mk-credit-action:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:380px){.page #token-stats{padding:16px}.page #token-stats .token-stats-metric{grid-template-columns:minmax(80px,.7fr) minmax(0,1.4fr);column-gap:8px}.page #market .mk-reserve-summary,.page #market .mk-credits{padding:14px}.page #contract-list .position-reference code{font-size:10px}}

.toast[popover]{margin:0;top:auto;right:auto}

/* One complete contract plus half of the next; measured again after resize. */
.page #contract-list{overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:transparent transparent;align-content:start}
.page #contract-list::-webkit-scrollbar{width:3px;background:transparent}
.page #contract-list::-webkit-scrollbar-thumb{background:transparent}
.page #contract-list:focus-visible{outline:1px solid #ffffff30;outline-offset:4px}
.page #contract-list .position-objective{grid-template-columns:minmax(0,1fr) auto minmax(0,1.2fr)}
.page #contract-list .position-objective__goal{display:grid;grid-template-columns:minmax(0,1fr);gap:2px}
.page #contract-list .position-objective__label{font-size:10px}
.page #contract-list .position-objective__value{width:100%}
.page #mined,.page #claimable,.page #bonus-claimable,.page #team-direct-bonus,.page #team-generated-total,.page #buy-equivalent,.page #sell-equivalent,.page #sell-balance,.page #market-user-quote,.page #market-reserve-quote,.page #buy-total,.page #sell-total{display:block;min-width:0;max-width:100%;white-space:nowrap;overflow-wrap:normal;overflow-x:auto;overflow-y:hidden;font-variant-numeric:tabular-nums}
.page #create .card>.row>.label{flex:1;min-width:0}
.page #package-balance{min-width:0;max-width:62%;white-space:nowrap}
.page .team-volume>div{min-width:0}

/* Token signature card: violet light, engraved emblem and separated metrics. */
.page #token-stats{position:relative;isolation:isolate;overflow:hidden;padding:20px 22px;background:radial-gradient(ellipse at 100% 0%,#a15eff48,transparent 60%),radial-gradient(ellipse at 0% 100%,#4818a749,transparent 65%),linear-gradient(135deg,#25163d,#15111f);border:1px solid #ba95ff35;box-shadow:inset 0 1px #e3d0ff18,0 12px 36px #0002}
.page #token-stats::before{content:'';position:absolute;z-index:-1;width:150px;height:150px;border:1px solid #c49bff16;border-radius:50%;right:-48px;top:-55px;box-shadow:0 0 0 18px #c49bff06,0 0 0 38px #c49bff04;pointer-events:none}
.page #token-stats .token-stats-header{margin-bottom:17px;padding-bottom:0;border:0;display:flex;align-items:center;gap:10px}
.page #token-stats .token-stats-header::before{content:'P';display:grid;place-items:center;width:30px;height:30px;border-radius:10px;border:1px solid #d1b5ff45;background:linear-gradient(145deg,#a579df40,#5d2b9920);color:#eee3ff;font-size:18px;font-weight:750;box-shadow:inset 0 1px #ffffff26}
.page #token-stats #token-name{font-size:15px;letter-spacing:.13em}
.page #token-stats .token-stats-grid{gap:0;border:1px solid #dbc4ff18;border-radius:13px;background:#100b1c3d;padding:0 14px}
.page #token-stats .token-stats-metric{display:block;padding:13px 0 8px}
.page #token-stats .token-stats-metric+.token-stats-metric{padding-top:12px;border-color:#ddcaff18}
.page #token-stats .token-stats-label{font-size:10px;letter-spacing:.04em;color:#c2aedc;font-weight:500}
.page #token-stats .token-stats-amount{margin-top:5px;gap:12px}
.page #token-stats .token-stats-number{font-size:36px;line-height:1.2;color:#faf6ff;letter-spacing:-.8px;font-weight:650}
.page #token-stats #token-burned{color:#d6b5ff}
.page #token-stats .token-stats-unit{font-size:10px;color:#bba5d3;letter-spacing:.07em;padding:3px 6px;border:1px solid #d0b7ed1c;border-radius:5px;background:#ccaeff08}
.page #token-stats .token-stats-metric>.token-stats-note{min-height:1.55em;margin-top:3px;color:#c2aedc}
.page #token-stats .token-stats-details{color:#a591bf;margin:2px 0 0}
@media(max-width:380px){.page #token-stats{padding:17px}.page #token-stats .token-stats-grid{padding:0 12px}}

/* Market Maker is one surface, including net quote, fees and the action. */
.page #market .mk-reserve{padding:17px;margin-top:20px;border:1px solid #ffffff15;border-radius:16px;background:linear-gradient(135deg,#202026,#19191f);box-shadow:inset 0 1px #ffffff06}
.page #market .mk-reserve-summary{padding:0;border:0;border-radius:0;background:none;box-shadow:none}
.page #market .mk-reserve-grid{margin-bottom:0}
.page #market .mk-reserve-net{padding:14px 0 0;margin:14px 0 0;border-top:1px solid #ffffff12}
.page #market .mk-reserve-net>label{font-size:10px;margin-bottom:6px;color:#aaa5b8}
.page #market .mk-net-line{align-items:baseline;gap:12px;min-width:0}
.page #market #reserve-net-quote{font-size:28px;line-height:1.25;letter-spacing:-.6px;min-width:0}
.page #market .mk-net-line>span{font-size:10px;padding:3px 6px;border:1px solid #ffffff15;border-radius:5px;color:#beb6cd;flex:none}
.page #market #reserve-fee-note{font-size:10px;margin:6px 0 0;min-height:15px;line-height:1.5;color:#a9a3b5}
.page #market #reserve-liquidity-note{font-size:10px;line-height:1.5;min-height:30px;margin:10px 0 0;color:#b8b1c4}
.page #market #reserve-liquidity-note:empty{display:none}
.page #market .mk-card .mk-reserve-sell{margin-top:10px;min-height:42px;padding:11px 13px;border-radius:10px;font-size:12px}
/* Keep the action visually stable; disabled still blocks stale quotes/signing. */
.page #market .mk-card .mk-reserve-sell:disabled{opacity:1;filter:none;cursor:not-allowed}
.page #market .mk-card .mk-reserve-sell span{font-size:22px}

/* Compact neutral contract, with the same amounts and claim progress. */
.page #contract-list{gap:12px}
.page #contract-list .package{padding:15px 16px;border:1px solid #ffffff10;border-radius:15px;background:linear-gradient(135deg,#202027,#1b1b22);box-shadow:inset 0 1px #ffffff04}
.page #contract-list .package>.row{gap:8px;align-items:center}
.page #contract-list .position-reference{gap:5px;flex-wrap:nowrap;align-items:center}
.page #contract-list .position-reference>.label{font-size:10px;color:#aaa6b5;flex:none}
.page #contract-list .position-reference code{font-size:9px;color:#ccc7d6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0}
.page #contract-list .package>.row>.badge{padding:4px 6px;border:1px solid #adf08918;border-radius:6px;font-size:9px;line-height:1.2;flex:none;background:#90db5f0a;color:#bef09d}
.page #contract-list .position-objective{margin:12px 0 0;padding:10px 11px;border:1px solid #ffffff0c;border-radius:9px;background:#0d0d1338;gap:8px;align-items:end;font-size:17px;grid-template-columns:minmax(0,1fr) auto minmax(0,1.15fr)}
.page #contract-list .position-objective__arrow{align-self:center;font-size:16px;color:#7f778e}
.page #contract-list .position-objective__label{font-size:9px;line-height:1.2;color:#aaa3b8}
.page #contract-list .position-objective__value{color:#d6c0ff}
.page #contract-list .package-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0 0}
.page #contract-list .package-grid>div{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0}
.page #contract-list .package-grid>div+div{padding-left:8px;border-left:1px solid #ffffff0c}
.page #contract-list .package-grid .label{font-size:9px;line-height:1.3;color:#9e98ac;width:100%;max-width:none}
.page #contract-list .package-grid strong{font-size:12.6px;line-height:1.3;letter-spacing:-.15px;font-weight:650;width:100%}
.page #contract-list .position-claim-progress{margin-top:13px;padding-top:10px;border-top:1px solid #ffffff0d}
.page #contract-list .position-claim-progress__values{gap:10px;align-items:baseline}
.page #contract-list .position-claim-progress__values>div{display:flex;align-items:baseline;gap:6px}
.page #contract-list .position-claim-progress__values>div+div{justify-content:flex-end}
.page #contract-list .position-claim-progress__values .label{font-size:9px;flex:none;color:#9e98ac}
.page #contract-list .position-claim-progress__values strong{font-size:10px;line-height:1.3;min-width:0}
.page #contract-list .position-claim-progress__track{height:4px;margin:8px 0 0;border:0;background:#ffffff09}
.page #contract-list .position-claim-progress__fill{background:linear-gradient(90deg,#8862ce,#c19aff);border-right:0}

/* Network bonus: focused balance, grouped breakdown and compact referral. */
.page #team .team-card{padding:19px;margin:15px 0 19px;border-radius:17px;border:1px solid #ba95ff35;background:radial-gradient(ellipse at 100% 0%,#a15eff48,transparent 60%),radial-gradient(ellipse at 0% 100%,#4818a749,transparent 65%),linear-gradient(135deg,#25163d,#15111f);box-shadow:inset 0 1px #e3d0ff18,0 12px 36px #0002}
.page #team .team-card::before{display:none}
.page #team .team-card .section-heading h2{font-size:12px;letter-spacing:.02em;color:#e2dcec}
.page #team .team-total-row{gap:12px;margin:10px 0 0}
.page #team .team-total-row #team-network-bonus{font-size:36px;gap:9px;line-height:1.25;letter-spacing:-.7px}
.page #team .team-bonus-number{--network-amount-size:36}
.page #team .team-bonus-unit{font-size:10px;padding:3px 6px;border:1px solid #c4a2ff24;border-radius:5px;letter-spacing:.04em;color:#baa9d0}
.page #team .team-symbol{display:grid;place-items:center;flex:none;width:34px;height:34px;background:#a77ae912;border:1px solid #bd99ee1b;border-radius:10px;color:#b89bd8}
.page #team .team-symbol svg{width:21px;height:21px}
.page #team .team-volume{gap:12px;margin-top:15px;padding:12px;border:1px solid #e1cfff12;border-radius:10px;background:#0b071822}
.page #team .team-volume>div{gap:5px}
.page #team .team-volume>div+div{padding-left:12px;border-left:1px solid #ffffff0e}
.page #team .team-volume>div>span{font-size:10px;color:#b5aabd}
.page #team .team-volume strong{font-size:14px;line-height:1.35;min-height:19px;font-weight:650;color:#ece5f5;letter-spacing:-.2px}
.page #team .team-card>.micro{font-size:10px;line-height:1.5;margin:8px 0;color:#a69aaf}
.page #team .team-card>.team-metadata{justify-content:flex-start;flex-wrap:wrap;gap:6px;padding-top:3px;font-size:9px;color:#c4b7d0}
.page #team .team-metadata>span{padding:4px 7px;border:1px solid #c9a9ec16;border-radius:6px;background:#d8beff04}
.page #team .team-card>.referral-card{margin-top:14px;padding-top:12px;border-top:1px solid #ffffff10}
.page #team .referral-card>label{font-size:10px;color:#bdb0cb}
.page #team #referral-link-panel{gap:7px;margin-top:7px}
.page #team #referral-link{height:34px;min-height:34px;padding:8px 10px;font-size:10px;border-color:#ffffff12;border-radius:8px;background:#100c1838;color:#d9cce7}
.page #team .referral-actions{gap:7px}
.page #team .referral-actions button{min-height:31px;padding:7px 10px;font-size:10px;border-radius:7px;background:#ffffff05;border:1px solid #ffffff16;color:#d7c8e4;margin:0}
.page #team #referral-status{font-size:10px;margin-top:7px;line-height:1.5;color:#a69aaf}
@media(max-width:380px){.page #market .mk-reserve{padding:14px}.page #contract-list .package{padding:13px}.page #contract-list .position-objective{padding:9px 8px;gap:5px;font-size:15px}.page #contract-list .position-claim-progress__values{grid-template-columns:auto minmax(0,1fr);gap:8px}.page #team .team-card{padding:16px}.page #team .team-volume{padding:10px;gap:10px}.page #team .team-volume>div+div{padding-left:10px}}
/* The SDK keeps its native details modal; only the header address is shortened. */
#thirdweb-connect .tw-connected-wallet__address{min-width:0;overflow:visible!important;max-width:100%;text-overflow:clip!important}
#thirdweb-connect .wallet-address{display:flex;align-items:baseline;min-width:0;max-width:100%;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:clamp(10px,2.8vw,13px);line-height:1.3}
#thirdweb-connect .wallet-address-prefix{min-width:0;overflow:hidden;flex:0 1 auto}
#thirdweb-connect .wallet-address-end{flex:0 0 auto;white-space:nowrap}
#thirdweb-connect .tw-connected-wallet>div:last-child{min-width:0;flex:1 1 auto;text-align:left}
#thirdweb-connect .tw-connected-wallet>div:first-child{flex-shrink:0}
