:root {
  --ink: #171816;
  --muted: #6d7069;
  --paper: #f5f4ef;
  --card: #fffefa;
  --line: #ddddd5;
  --accent: #5b5cf0;
  --yes: #117a58;
  --yes-soft: #e4f3eb;
  --no: #b14c45;
  --no-soft: #f7e8e5;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; background: var(--paper); }
button, input { font: inherit; }
button { color: inherit; }
.app-shell { min-height: 100vh; }
.environment-banner { min-height:30px; padding:6px clamp(16px,4vw,64px); display:flex; justify-content:center; align-items:center; gap:8px; background:var(--ink); color:white; font-size:10px; letter-spacing:.04em; }
.environment-banner span { opacity:.7; text-transform:uppercase; font-weight:750; letter-spacing:.1em; }
.environment-banner strong { color:#b9f2d8; }
.topbar { height: 76px; padding: 0 clamp(20px, 4vw, 64px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; border-bottom: 1px solid var(--line); background: rgba(245,244,239,.92); position: sticky; top: 0; z-index: 20; backdrop-filter: blur(18px); }
.brand { display: inline-flex; width: fit-content; align-items: center; gap: 11px; color: inherit; text-decoration: none; font-size: 19px; font-weight: 750; letter-spacing: -.04em; }
.brand-mark { width: 25px; height: 25px; display: flex; align-items: end; gap: 3px; }
.brand-mark i { display:block; width: 6px; border-radius: 7px; background: var(--accent); transform: skew(-12deg); }
.brand-mark i:nth-child(1) { height: 11px; opacity: .55; }
.brand-mark i:nth-child(2) { height: 18px; opacity: .78; }
.brand-mark i:nth-child(3) { height: 25px; }
.primary-nav { display: flex; align-items: center; gap: 32px; }
.primary-nav a { color: var(--muted); text-decoration: none; font-size: 14px; font-weight: 650; position: relative; }
.primary-nav a.active { color: var(--ink); }
.primary-nav a.active::after { content:""; position:absolute; height:2px; background:var(--ink); left:0; right:0; bottom:-28px; }
.account-cluster { justify-self: end; display:flex; align-items:center; gap:10px; }
.wallet-pill { border: 1px solid var(--line); background: var(--card); border-radius: 12px; padding: 8px 13px; display:grid; text-align:left; gap:1px; cursor:pointer; }
.wallet-pill span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.wallet-pill strong { font-size:13px; }
.avatar { border: 0; width: 38px; height:38px; border-radius: 50%; background:var(--ink); color:white; font-weight:700; cursor:pointer; }
main { padding: 0 clamp(20px, 5vw, 78px) 80px; }
.hero { min-height: 390px; padding: 82px 0 60px; display:flex; align-items:flex-end; justify-content:space-between; gap:40px; border-bottom:1px solid var(--line); }
.eyebrow,.section-kicker { margin:0 0 18px; text-transform:uppercase; color:var(--accent); font-size:11px; font-weight:800; letter-spacing:.15em; }
.hero h1 { max-width:870px; margin:0; font-family: Georgia, "Times New Roman", serif; font-size:clamp(48px,7vw,96px); font-weight:400; line-height:.96; letter-spacing:-.055em; }
.hero-note { display:flex; align-items:flex-start; gap:11px; min-width:220px; padding-bottom:8px; }
.hero-note p { margin:0; font-size:13px; line-height:1.55; }
.hero-note span:not(.pulse) { color:var(--muted); }
.pulse { width:8px; height:8px; border-radius:50%; background:#2eaa72; margin-top:6px; box-shadow:0 0 0 5px rgba(46,170,114,.12); }
.market-section { padding-top:58px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.section-kicker { margin-bottom:8px; color:var(--muted); }
.section-heading h2 { margin:0; font-size:32px; letter-spacing:-.045em; }
.heading-line { display:flex; align-items:baseline; gap:12px; }
.result-count { color:var(--muted); font-size:11px; font-weight:700; }
.search-box { width:min(330px,40vw); height:46px; border:1px solid var(--line); background:var(--card); border-radius:12px; display:flex; align-items:center; padding:0 15px; gap:10px; }
.search-box svg { width:17px; fill:none; stroke:var(--muted); stroke-width:1.8; }
.search-box input { width:100%; border:0; outline:0; background:transparent; color:var(--ink); }
.search-box input::placeholder { color:#989b94; }
.category-row { display:flex; gap:8px; margin:28px 0; overflow:auto; scrollbar-width:none; }
.category-row button { border:1px solid var(--line); border-radius:99px; background:transparent; padding:8px 15px; font-size:12px; font-weight:650; white-space:nowrap; cursor:pointer; }
.category-row button.active { background:var(--ink); color:white; border-color:var(--ink); }
.market-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.market-card { min-height:330px; border:1px solid var(--line); border-radius:17px; background:var(--card); padding:21px; position:relative; overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.market-card:hover { transform:translateY(-3px); border-color:#c2c3ba; box-shadow:0 16px 36px rgba(33,34,31,.08); }
.card-hit { position:absolute; inset:0; z-index:1; border:0; background:transparent; cursor:pointer; }
.card-topline,.card-meta,.outcomes { display:flex; align-items:center; justify-content:space-between; }
.card-topline { font-size:10px; text-transform:uppercase; letter-spacing:.1em; font-weight:750; color:var(--muted); }
.category { color:var(--accent); }
.market-card h3 { margin:24px 0 28px; max-width:95%; min-height:60px; font-family:Georgia,"Times New Roman",serif; font-size:25px; line-height:1.16; font-weight:400; letter-spacing:-.025em; }
.probability-block { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:22px; }
.probability-block > div { display:grid; }
.probability { font-size:38px; line-height:1; letter-spacing:-.05em; }
.probability-block span { color:var(--muted); font-size:11px; margin-top:3px; }
.probability-meter { position:relative; height:8px; overflow:hidden; border-radius:99px; background:#e8e8e2; }
.probability-meter span { display:block; height:100%; margin:0; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--yes)); transition:width .3s ease; }
.outcomes { margin-top:18px; gap:8px; }
.outcomes span { flex:1; padding:8px 10px; border-radius:8px; font-size:11px; font-weight:750; }
.yes-label { background:var(--yes-soft); color:var(--yes); }
.no-label { background:var(--no-soft); color:var(--no); text-align:right; }
.card-meta { border-top:1px solid var(--line); margin-top:18px; padding-top:14px; color:var(--muted); font-size:10px; gap:8px; }
.live-status { display:flex; align-items:center; gap:6px; color:var(--yes); }.live-status i,.ticket-heading i,.position-live i { width:6px; height:6px; border-radius:50%; background:currentColor; box-shadow:0 0 0 3px color-mix(in srgb,currentColor 12%,transparent); }.live-status b { font-size:10px; }.updated { flex:1; text-align:right; }
.arrow { font-size:17px; color:var(--ink); }
.market-skeleton { height:330px; border-radius:17px; background:linear-gradient(100deg,#ebeae4 20%,#f8f7f2 40%,#ebeae4 60%); background-size:200% 100%; animation:shimmer 1.3s infinite; }
@keyframes shimmer { to { background-position-x:-200%; } }
.empty-state { text-align:center; padding:80px 20px; color:var(--muted); }
.empty-state button { border:0; background:var(--ink); color:white; padding:10px 16px; border-radius:9px; cursor:pointer; }
.portfolio-section { padding-top:78px; margin-top:72px; border-top:1px solid var(--line); }
.portfolio-note { color:var(--muted); font-size:12px; margin:0 0 6px; }
.portfolio-summary { display:grid; grid-template-columns:repeat(4,1fr); margin-top:28px; border:1px solid var(--line); border-radius:14px; background:var(--card); overflow:hidden; }
.portfolio-summary div { display:grid; gap:6px; padding:18px 20px; border-right:1px solid var(--line); }
.portfolio-summary div:last-child { border:0; }
.portfolio-summary span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.portfolio-summary strong { font-size:22px; letter-spacing:-.03em; }
.resolution-updates{display:grid;gap:14px;margin-top:22px}.resolution-updates-heading{display:flex;align-items:end;justify-content:space-between}.resolution-updates-heading h3{margin:0}.resolution-updates-heading>span{font-size:11px;color:var(--muted)}.resolution-update{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:24px;padding:20px;border:1px solid #e3b66f;background:#fff8e8}.resolution-update.disputed{border-color:#d59b95;background:#fff0ee}.resolution-update>div{display:grid;align-content:start;gap:7px}.resolution-update>div>span{color:var(--accent);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.resolution-update>div>strong{font-size:17px}.resolution-update p,.resolution-update small{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.resolution-dispute-form{display:grid;gap:10px}.resolution-dispute-form label{display:grid;gap:4px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.resolution-dispute-form input,.resolution-dispute-form textarea{border:1px solid var(--line);background:transparent;padding:9px;font:inherit;text-transform:none;letter-spacing:0}.resolution-dispute-form textarea{min-height:72px;resize:vertical}.resolution-dispute-form button{padding:11px;border:0}
.valuation-note { margin:10px 3px 0; color:var(--muted); font-size:10px; }.pnl-positive,.pnl.positive{color:var(--yes)!important}.pnl-negative{color:var(--no)!important}
.position-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:28px; }
.position-card { border:1px solid var(--line); border-radius:14px; background:var(--card); padding:20px; display:grid; }
.position-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.position-live{display:flex;align-items:center;gap:6px;color:var(--yes);font-size:10px}
.position-card .position-market { color:var(--muted); font-size:12px; line-height:1.45; min-height:36px; margin:0 0 18px; }
.position-outcome { display:inline-flex; width:max-content; padding:6px 9px; border-radius:7px; font-size:11px; font-weight:800; }
.position-outcome.yes { color:var(--yes); background:var(--yes-soft); }
.position-outcome.no { color:var(--no); background:var(--no-soft); }
.position-primary{display:grid;gap:3px;padding:15px 0;margin-bottom:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.position-primary>span,.position-primary>small{color:var(--muted);font-size:10px}.position-primary>strong{font-size:25px;letter-spacing:-.04em}.position-numbers { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.position-numbers div { display:grid; gap:3px; }
.position-numbers div:last-child { text-align:right; }
.position-numbers span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.position-numbers strong { font-size:17px; }
.position-trade{margin-top:18px;border:1px solid var(--line);border-radius:9px;background:transparent;padding:10px;font-weight:750;cursor:pointer}.position-trade:hover{border-color:var(--accent);color:var(--accent)}
.portfolio-empty { color:var(--muted); font-size:13px; margin:0; padding:26px 0; }
.activity-panel { margin-top:32px; border:1px solid var(--line); border-radius:14px; background:var(--card); overflow:hidden; }
.activity-heading { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border-bottom:1px solid var(--line); }
.activity-heading h3 { margin:0; font-size:15px; }
.activity-heading span { color:var(--muted); font-size:11px; }
.activity-list .portfolio-empty { padding:25px 20px; }
.settlement-panel { margin-top:18px; }
.settlement-row .activity-market span { max-width:620px; }
.position-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.position-actions button { margin:0; }
.position-sell { border:1px solid #c8d4cc; background:#fff; color:#245b40; border-radius:9px; padding:10px; font-weight:800; cursor:pointer; }
.activity-row { display:grid; grid-template-columns:1fr auto auto; gap:22px; align-items:center; padding:15px 20px; border-bottom:1px solid var(--line); }
.activity-row:last-child { border-bottom:0; }
.activity-market { display:grid; gap:4px; min-width:0; }
.activity-market strong { font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.activity-market span,.activity-time { color:var(--muted); font-size:10px; }
.activity-amount { text-align:right; display:grid; gap:3px; font-size:12px; }
.activity-amount span { color:var(--muted); font-size:10px; }
footer { border-top:1px solid var(--line); margin:0 clamp(20px,5vw,78px); padding:25px 0 38px; display:flex; justify-content:space-between; color:var(--muted); font-size:11px; }
.drawer-backdrop { position:fixed; inset:0; z-index:40; background:rgba(19,20,18,.25); backdrop-filter:blur(2px); }
.trade-drawer { position:fixed; z-index:50; right:0; top:0; bottom:0; width:min(520px,100vw); background:var(--card); transform:translateX(105%); transition:transform .28s cubic-bezier(.22,.8,.27,1); box-shadow:-18px 0 60px rgba(20,21,18,.16); overflow:auto; padding:34px; }
.trade-drawer.open { transform:translateX(0); }
.drawer-close { position:absolute; right:25px; top:21px; border:1px solid var(--line); background:transparent; border-radius:50%; width:36px; height:36px; font-size:23px; cursor:pointer; z-index:2; }
.drawer-category { color:var(--accent); text-transform:uppercase; font-weight:800; letter-spacing:.13em; font-size:10px; margin:20px 0 13px; }
.trade-drawer h2 { font-family:Georgia,"Times New Roman",serif; font-size:39px; line-height:1.06; letter-spacing:-.04em; font-weight:400; margin:0 45px 18px 0; }
.drawer-description { color:var(--muted); line-height:1.65; font-size:14px; }
.market-statline { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden; margin:28px 0; }
.market-statline div { background:var(--paper); padding:14px; display:grid; gap:4px; }
.market-statline span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.market-statline strong { font-size:14px; }.market-statline small{color:var(--muted);font-size:9px}
.price-chart-panel{margin:22px 0 28px;border:1px solid var(--line);background:var(--paper);border-radius:14px;overflow:hidden}.price-chart-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 15px 11px;border-bottom:1px solid var(--line)}.price-chart-heading strong{font-size:14px}.chart-ranges{display:flex;gap:4px}.chart-ranges button{border:1px solid transparent;background:transparent;color:var(--muted);padding:5px 7px;border-radius:6px;font-size:9px;font-weight:800}.chart-ranges button.active{border-color:var(--ink);background:var(--ink);color:var(--paper)}.price-chart{min-height:210px;padding:10px 12px 10px}.price-chart svg{display:block;width:100%;height:auto;margin-bottom:4px;overflow:visible}.chart-grid line{stroke:var(--line);stroke-width:1;opacity:.55}.chart-grid text,.chart-axis text{fill:var(--muted);font-size:9px}.chart-line{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.chart-area{fill:var(--accent);opacity:.08}.chart-last{fill:var(--accent);stroke:var(--paper);stroke-width:2}.chart-summary{display:flex;align-items:baseline;gap:8px;padding:2px 2px 0}.chart-summary span{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.chart-summary strong{font-size:20px}.chart-summary small{font-size:10px;font-weight:800}.chart-summary .up{color:#1f7a4d}.chart-summary .down{color:#a43c32}.chart-note{margin:2px 2px 5px;color:var(--muted);font-size:9px;line-height:1.4}.chart-state{min-height:190px;display:grid;place-content:center;gap:8px;text-align:center;color:var(--muted)}.chart-state span{width:20px;height:20px;margin:auto;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}
.trade-ticket { border-top:1px solid var(--line); padding-top:27px; }
.ticket-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px}.ticket-heading .drawer-category{margin:0 0 4px}.ticket-heading>span{display:flex;align-items:center;gap:7px;color:var(--yes);font-size:10px;font-weight:750}
.outcome-switch { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.outcome-switch button { border:1px solid var(--line); background:transparent; border-radius:10px; padding:13px; cursor:pointer; display:grid;grid-template-columns:1fr auto;text-align:left;gap:4px 10px; }
.outcome-switch button span{font-weight:850}.outcome-switch button strong{font-size:18px}.outcome-switch button small{grid-column:1/-1;color:var(--muted);font-size:9px;font-weight:500}
.outcome-switch button[data-outcome="YES"].active { color:var(--yes); background:var(--yes-soft); border-color:#a7d2bf; }
.outcome-switch button[data-outcome="NO"].active { color:var(--no); background:var(--no-soft); border-color:#e0b4ae; }
.field { display:grid; gap:8px; margin-top:18px; }
.field span { font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:750; }
.field input { border:1px solid var(--line); border-radius:10px; background:white; padding:14px; outline:none; font-size:18px; }
.field input:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.quantity-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:8px}.quantity-presets button{border:1px solid var(--line);border-radius:8px;background:transparent;padding:8px;color:var(--muted);font-weight:750;cursor:pointer}.quantity-presets button.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,white)}
.quote-box { min-height:82px; margin-top:17px; border-radius:10px; padding:14px; background:var(--paper); font-size:13px; color:var(--muted); display:grid; align-content:center; }
.quote-box dl { display:grid; grid-template-columns:1fr auto; gap:7px; margin:0; }
.quote-box dt,.quote-box dd { margin:0; }
.quote-box dd { color:var(--ink); font-weight:700; }
.quote-empty{gap:5px}.quote-empty strong{color:var(--ink)}.quote-empty span{font-size:11px;line-height:1.45}.quote-review{align-content:stretch}.order-sentence{margin-bottom:13px;padding:12px;border-radius:8px;background:white;color:var(--ink);font-size:12px;line-height:1.5}.quote-box dd small{color:var(--muted);font-weight:600}.quote-total{font-size:15px}.quote-warning{margin:13px 0 0;padding-top:11px;border-top:1px solid var(--line);font-size:10px;line-height:1.45;color:var(--no)}
.quote-status { display:flex; align-items:center; justify-content:space-between; padding-bottom:11px; margin-bottom:11px; border-bottom:1px solid var(--line); }
.quote-status strong { color:var(--ink); }
.quote-status span { color:var(--accent); font-size:10px; font-weight:800; }
.trade-actions { display:grid; grid-template-columns:1fr 1.4fr; gap:8px; margin-top:14px; }
.trade-actions button { border:0; border-radius:10px; padding:14px; font-weight:800; cursor:pointer; }
.preview-button { background:#e7e6df; }
.buy-button { background:var(--ink); color:white; }
.trade-actions button:disabled { opacity:.45; cursor:not-allowed; }
.trade-disclosure { color:var(--muted); font-size:10px; line-height:1.5; margin:12px 2px 0; }
.resolution { border-top:1px solid var(--line); margin-top:32px; padding-top:22px; color:var(--muted); font-size:12px; line-height:1.55; }
.resolution strong { color:var(--ink); }
.toast-region { position:fixed; z-index:70; right:24px; bottom:24px; display:grid; gap:8px; }
.toast { width:min(360px,calc(100vw - 48px)); background:var(--ink); color:white; border-radius:11px; padding:14px 16px; box-shadow:0 12px 30px rgba(0,0,0,.2); font-size:13px; animation:toast-in .2s ease; }
.toast.error { background:#8f3934; }
.trade-receipt { padding-top:52px; }
.receipt-check { display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--yes-soft); color:var(--yes); font-size:25px; font-weight:900; margin-bottom:26px; }
.trade-receipt dl { display:grid; grid-template-columns:1fr auto; gap:12px; margin:30px 0; padding:20px; border-radius:12px; background:var(--paper); font-size:12px; }
.trade-receipt dt,.trade-receipt dd { margin:0; }
.trade-receipt dt { color:var(--muted); }
.trade-receipt dd { max-width:250px; text-align:right; font-weight:750; }
.receipt-reference { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.receipt-note{margin:-15px 0 24px;color:var(--muted);font-size:11px;line-height:1.5}
.receipt-actions { display:grid; grid-template-columns:1.3fr 1fr; gap:8px; }
.receipt-actions button { border:0; border-radius:10px; padding:14px; font-weight:800; cursor:pointer; }
@keyframes toast-in { from { transform:translateY(8px); opacity:0; } }
.account-backdrop { position:fixed; inset:0; z-index:55; background:rgba(19,20,18,.35); backdrop-filter:blur(4px); }
.account-modal { position:fixed; z-index:60; width:min(900px,calc(100vw - 30px)); max-height:calc(100vh - 40px); overflow:auto; left:50%; top:50%; transform:translate(-50%,-50%); border:1px solid var(--line); border-radius:20px; background:var(--card); padding:34px; box-shadow:0 28px 80px rgba(15,16,14,.24); }
.account-modal h2 { margin:0 42px 8px 0; font-family:Georgia,"Times New Roman",serif; font-size:34px; font-weight:400; letter-spacing:-.04em; }
.account-intro { color:var(--muted); font-size:13px; line-height:1.55; margin:0 0 24px; }
.auth-layout { display:grid; grid-template-columns:minmax(270px,.8fr) minmax(330px,1.2fr); min-height:520px; margin:-34px; }
.auth-assurance { padding:48px 38px; background:var(--ink); color:white; border-radius:19px 0 0 19px; display:flex; flex-direction:column; }
.auth-assurance h2 { color:white; font-size:42px; line-height:1.05; }
.auth-assurance > p:not(.drawer-category) { color:#b9bcb5; font-size:13px; line-height:1.6; }
.auth-assurance ul { display:grid; gap:17px; list-style:none; padding:0; margin:38px 0; }
.auth-assurance li { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:700; }
.auth-assurance li span { display:grid; place-items:center; width:28px; height:28px; border:1px solid #4b4e48; border-radius:50%; color:#b9f2d8; font-size:9px; }
.auth-assurance small { margin-top:auto; color:#8f938b; line-height:1.5; }
.auth-entry { padding:58px 48px 40px; }
.auth-copy h3 { margin:0 0 7px; font-size:25px; letter-spacing:-.03em; }
.auth-copy p { margin:0 0 25px; color:var(--muted); font-size:12px; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); margin-bottom:20px; }
.auth-tabs button { border:0; border-bottom:2px solid transparent; background:transparent; padding:11px; color:var(--muted); font-weight:750; cursor:pointer; }
.auth-tabs button.active { color:var(--ink); border-color:var(--ink); }
.auth-form,.kyc-form { display:grid; gap:13px; }
.auth-form label,.kyc-form label { display:grid; gap:6px; color:var(--muted); font-size:11px; font-weight:700; }
.auth-form input,.kyc-form input,.kyc-form select { width:100%; border:1px solid var(--line); background:white; border-radius:9px; padding:12px; color:var(--ink); outline:none; }
.auth-form input:focus,.kyc-form input:focus,.kyc-form select:focus { border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent); }
.password-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.password-input input{border-radius:9px 0 0 9px}.password-input button{min-width:68px;border:1px solid var(--line);border-left:0;border-radius:0 9px 9px 0;background:var(--surface);color:var(--ink);font:inherit;font-weight:800;cursor:pointer}.password-input:focus-within button{border-color:var(--accent)}
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.primary-action,.secondary-action { border:0; border-radius:10px; padding:13px 16px; font-weight:800; cursor:pointer; }
.primary-action { background:var(--ink); color:white; }
.secondary-action { background:#e9e8e2; }
.auth-form button:disabled,.kyc-form button:disabled { opacity:.5; }
.verification-box { display:grid; gap:12px; border:1px solid #bdcfed; background:#edf3fd; border-radius:12px; padding:18px; color:#334a70; font-size:12px; line-height:1.5; }
.verification-box p { margin:0; }
.document-ready { display:grid; gap:3px; border:1px solid #b9d8c5; background:#edf8f1; border-radius:10px; padding:13px; color:#275d3b; font-size:12px; }
.document-ready span,.kyc-form label span { font-size:10px; font-weight:500; color:var(--muted); }
.form-section-heading { display:flex; align-items:center; gap:10px; margin:13px 0 2px; padding-top:16px; border-top:1px solid var(--line); }
.form-section-heading:first-child { border:0; padding-top:0; }
.form-section-heading > span { display:grid; place-items:center; flex:none; width:25px; height:25px; border-radius:50%; background:var(--ink); color:white; font-size:10px; }
.form-section-heading div { display:grid; gap:2px; }
.form-section-heading small { color:var(--muted); font-size:10px; font-weight:500; }
.consent-check { grid-template-columns:auto 1fr!important; align-items:start; padding:13px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
.consent-check input { width:auto; margin:2px 0 0; accent-color:var(--accent); }
.wallet-panel { display:grid; gap:14px; margin-top:24px; padding-top:22px; border-top:1px solid var(--line); }
.panel-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.panel-heading > div { display:grid; gap:3px; }.panel-heading h3 { margin:0; font-size:18px; }.panel-heading p { margin:0; color:var(--muted); font-size:10px; }.panel-heading span { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.limit-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }.limit-grid div { display:grid; gap:3px; background:#f3f2ed; border-radius:10px; padding:12px; }.limit-grid small { color:var(--muted); }.wallet-form { display:grid; gap:10px; }.wallet-form label { display:grid; gap:5px; color:var(--muted); font-size:11px; font-weight:700; }.wallet-form input,.wallet-form select { width:100%; border:1px solid var(--line); border-radius:9px; padding:11px; background:white; }.wallet-panel details { border:1px solid var(--line); border-radius:10px; padding:12px; }.wallet-panel summary { cursor:pointer; font-weight:750; font-size:12px; }.wallet-panel details form { margin-top:12px; }
.payment-activity { display:grid; gap:0; list-style:none; padding:0; margin:0; border:1px solid var(--line); border-radius:10px; overflow:hidden; }.payment-activity li { display:flex; align-items:center; justify-content:space-between; padding:10px 12px; border-bottom:1px solid var(--line); }.payment-activity li:last-child { border:0; }.payment-activity li span { display:grid; }.payment-activity small { color:var(--muted); font-size:9px; }
.payment-activity b { display:grid; justify-items:end; gap:4px; }.checkout-link { color:var(--accent); font-size:10px; font-weight:800; text-decoration:none; }
.hosted-setup-link { display:block; border-radius:10px; padding:12px; background:var(--ink); color:white; text-align:center; font-size:11px; font-weight:800; text-decoration:none; }
.setup-action { display:flex; align-items:center; justify-content:space-between; gap:12px; border:1px solid #b8cce7; background:#f2f7fd; border-radius:10px; padding:11px 12px; }.setup-action.warning { border-color:#e5d49d; background:#fff8df; }.setup-action span { display:grid; gap:3px; }.setup-action small { color:var(--muted); font-size:9px; }.setup-action .hosted-setup-link,.setup-action button { flex:none; border:0; border-radius:8px; padding:9px 11px; background:var(--ink); color:white; font-size:10px; font-weight:800; text-decoration:none; cursor:pointer; }
.destination-heading { margin-top:2px; }.destination-list { display:grid; gap:7px; list-style:none; padding:0; margin:0; }.destination-list li { display:flex; align-items:center; justify-content:space-between; gap:10px; border:1px solid var(--line); border-radius:9px; padding:10px 11px; }.destination-list span { display:grid; gap:3px; }.destination-list small { color:var(--muted); font-size:9px; }.destination-list button { border:0; background:transparent; color:var(--no); font-size:10px; font-weight:800; cursor:pointer; }.destination-list button:disabled { opacity:.45; }
.cooling-note { margin:0; border:1px solid #e5d49d; background:#fff8df; color:#755d18; border-radius:9px; padding:10px 12px; font-size:11px; line-height:1.45; }
.payment-notifications { display:grid; gap:7px; list-style:none; padding:0; margin:0; }.payment-notifications li { display:flex; gap:10px; align-items:center; justify-content:space-between; border:1px solid var(--line); border-radius:9px; padding:10px 11px; }.payment-notifications li.unread { border-color:#b8cce7; background:#f2f7fd; }.payment-notifications span { display:grid; gap:3px; }.payment-notifications small { color:var(--muted); font-size:10px; line-height:1.35; }.payment-notifications button { border:0; background:transparent; color:var(--accent); font-size:10px; font-weight:800; cursor:pointer; white-space:nowrap; }
.account-header { display:flex; align-items:end; justify-content:space-between; gap:25px; padding-right:42px; }
.account-header .drawer-category { margin-top:0; }
.account-summary { display:flex; align-items:center; gap:10px; }
.account-summary .avatar { display:grid; place-items:center; flex:none; }
.account-summary div { display:grid; gap:2px; }
.account-summary span { color:var(--muted); font-size:11px; }
.status-chip { width:max-content; padding:5px 8px; border-radius:99px; background:#ecebe5; color:var(--muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.status-chip.submitted { color:#7b5d16; background:#f8efcf; }
.status-chip.verified { color:var(--yes); background:var(--yes-soft); }
.status-chip.rejected { color:var(--no); background:var(--no-soft); }
.account-nav { display:flex; gap:25px; margin:25px -34px 0; padding:0 34px; border-bottom:1px solid var(--line); }
.account-nav button { border:0; border-bottom:2px solid transparent; background:transparent; padding:13px 2px; color:var(--muted); font-size:12px; font-weight:750; cursor:pointer; }
.account-nav button.active { color:var(--ink); border-color:var(--accent); }
.account-view { min-height:420px; padding:30px 0 8px; }
.account-loading { min-height:460px; display:grid; place-content:center; justify-items:center; gap:14px; color:var(--muted); font-size:12px; }.account-loading span { width:28px; height:28px; border:2px solid var(--line); border-top-color:var(--accent); border-radius:50%; animation:spin .8s linear infinite; }@keyframes spin{to{transform:rotate(360deg)}}
.view-heading { margin-bottom:25px; }.view-heading .section-kicker { margin-bottom:7px; }.view-heading h3 { margin:0 0 6px; font-size:27px; letter-spacing:-.04em; }.view-heading > p:last-child { margin:0; color:var(--muted); font-size:12px; }
.account-progress { display:grid; grid-template-columns:repeat(5,1fr); list-style:none; padding:0; margin:30px 0; }
.account-progress li { position:relative; display:grid; justify-items:center; gap:8px; text-align:center; color:var(--muted); }
.account-progress li::before { content:""; position:absolute; z-index:0; top:15px; left:-50%; width:100%; height:1px; background:var(--line); }
.account-progress li:first-child::before { display:none; }
.account-progress li > span { position:relative; z-index:1; display:grid; place-items:center; width:31px; height:31px; border:1px solid var(--line); border-radius:50%; background:var(--card); font-size:10px; font-weight:800; }
.account-progress li.complete > span { background:var(--yes); border-color:var(--yes); color:white; }.account-progress li.current > span { border-color:var(--accent); color:var(--accent); box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent); }
.account-progress li div { display:grid; gap:3px; }.account-progress strong { color:var(--ink); font-size:10px; }.account-progress small { font-size:9px; text-transform:capitalize; }
.security-note,.locked-state,.review-state,.inline-error { display:flex; align-items:flex-start; gap:13px; border-radius:12px; padding:16px; }
.security-note { border:1px solid #cbd6ef; background:#f2f5fb; }.security-note > span { color:var(--accent); font-size:23px; }.security-note div,.locked-state div,.review-state div,.inline-error { display:grid; gap:4px; }.security-note p,.locked-state p,.review-state p { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.review-state { margin-bottom:18px; border:1px solid #e5d49d; background:#fff8df; }.review-state.success { border-color:#b9d8c5; background:#edf8f1; }.review-state.rejected,.inline-error { border:1px solid #e0b4ae; background:var(--no-soft); color:#78362f; }.review-state > span:not(.pulse) { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:white; font-weight:900; }
.inline-error span { font-size:11px; line-height:1.4; }.locked-state { border:1px dashed var(--line); background:var(--paper); }.locked-state > span { font-size:24px; }
.money-overview { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }.money-overview div { display:grid; gap:4px; border:1px solid var(--line); border-radius:12px; padding:15px; }.money-overview span,.money-overview small { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.06em; }.money-overview strong { font-size:19px; }
.account-panel { display:grid; gap:14px; margin-top:12px; padding:18px; border:1px solid var(--line); border-radius:13px; }.action-form { grid-template-columns:1fr auto; align-items:end; }.action-form button { height:40px; }.panel-empty { margin:0; color:var(--muted); font-size:11px; padding:8px 0; }.notification-heading { padding-top:14px; border-top:1px solid var(--line); }
.account-panel button:disabled { opacity:.5; cursor:not-allowed; }
.account-actions { display:flex; justify-content:space-between; align-items:center; margin-top:22px; padding-top:16px; border-top:1px solid var(--line); }.account-actions span { color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:.08em; }
.text-button { border:0; background:transparent; color:var(--no); font-size:12px; font-weight:750; cursor:pointer; padding:8px 0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.mobile-nav { display:none; }
@media (max-width:900px) { .market-grid,.position-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{min-height:330px}.hero-note{display:none}.primary-nav{display:none}.topbar{grid-template-columns:1fr 1fr}.account-cluster{grid-column:2}.section-heading{align-items:start}.search-box{width:45vw}.account-progress{grid-template-columns:1fr}.account-progress li{grid-template-columns:auto 1fr;justify-items:start;text-align:left;padding:0 0 17px}.account-progress li::before{top:-100%;left:15px;width:1px;height:100%}.account-progress li div{padding-top:3px} }
@media (max-width:620px) { body{padding-bottom:66px}.environment-banner{justify-content:space-between}.topbar{height:66px;padding:0 16px}.wallet-pill{display:none}.hero{padding:58px 0 44px;min-height:280px}.hero h1{font-size:48px}.market-section{padding-top:40px}.section-heading{display:grid}.search-box{width:100%}.market-grid,.position-grid{grid-template-columns:1fr}.market-card{min-height:310px}.trade-drawer{padding:25px 20px}.trade-drawer h2{font-size:34px}footer{display:grid;gap:6px}.market-statline{grid-template-columns:1fr 1fr}.market-statline div:last-child{grid-column:1/-1}.trade-actions,.receipt-actions{grid-template-columns:1fr}.activity-row{grid-template-columns:1fr auto;gap:10px}.activity-time{display:none}.account-modal{inset:8px;width:auto;max-height:none;transform:none;padding:27px 20px;border-radius:15px}.auth-layout{grid-template-columns:1fr;margin:-27px -20px;min-height:calc(100vh - 16px)}.auth-assurance{display:none}.auth-entry{padding:62px 24px 30px}.account-header{display:grid;align-items:start;padding-right:30px}.account-summary{display:grid;grid-template-columns:auto 1fr auto}.account-nav{position:sticky;top:-27px;z-index:1;margin:20px -20px 0;padding:0 20px;background:rgba(255,254,250,.96);backdrop-filter:blur(12px)}.account-view{padding-top:24px}.form-grid,.money-overview,.action-form{grid-template-columns:1fr}.action-form button{height:auto}.panel-heading{align-items:start}.panel-heading > span{display:none}.portfolio-summary{grid-template-columns:1fr 1fr}.portfolio-summary div:nth-child(2){border-right:0}.portfolio-summary div:last-child{grid-column:1/-1;border-top:1px solid var(--line)}.mobile-nav{position:fixed;z-index:35;display:grid;grid-template-columns:repeat(3,1fr);left:0;right:0;bottom:0;height:66px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgba(255,254,250,.96);backdrop-filter:blur(18px)}.mobile-nav a,.mobile-nav button{display:grid;place-content:center;gap:2px;border:0;background:transparent;color:var(--muted);text-decoration:none;text-align:center;font-size:9px;font-weight:750}.mobile-nav span{font-size:18px;line-height:1}.mobile-nav .active{color:var(--accent)}.toast-region{bottom:82px} }
@media (max-width:620px){.portfolio-summary div{border-bottom:1px solid var(--line)}.portfolio-summary div:nth-child(even){border-right:0}.portfolio-summary div:nth-child(n+3){border-bottom:0}.portfolio-summary div:last-child{grid-column:auto;border-top:0}.position-numbers{grid-template-columns:1fr 1fr}.position-numbers div:last-child{text-align:left}.position-numbers div:nth-child(3){grid-column:1/-1}.outcome-switch{grid-template-columns:1fr}.market-card{min-height:300px}}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important} }
