:root {
    --nft-ink: #27253c;
    --nft-muted: #74718a;
    --nft-pink: #ed3c87;
    --nft-purple: #8755ef;
    --nft-line: rgba(151, 99, 220, .18);
    --nft-panel: rgba(255, 255, 255, .72);
}

* { box-sizing: border-box; }
html { background: #fbf5ff; scroll-behavior: smooth; }
body.nft-body { margin: 0; min-height: 100vh; color: var(--nft-ink); font-family: 'Montserrat', Arial, sans-serif; background: radial-gradient(circle at 8% 12%, #fff 0, transparent 30%), linear-gradient(135deg, #fff7fb 0%, #f9edff 48%, #fff5f7 100%); }
a { color: inherit; text-decoration: none; }
.nft-page { min-height: 100vh; }
.nft-container { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.nft-header { position: sticky; top: 0; z-index: 30; border-bottom: 1px solid rgba(255,255,255,.75); background: rgba(255,249,253,.84); backdrop-filter: blur(18px); }
.nft-nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.nft-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--nft-pink); font: 600 1.1rem 'Syne', sans-serif; letter-spacing: -.03em; }
.nft-brand-mark { width: 35px; height: 35px; display: grid; place-items: center; border-radius: 12px 4px 12px 4px; color: #fff; background: linear-gradient(135deg, var(--nft-pink), var(--nft-purple)); box-shadow: 0 8px 20px rgba(237,60,135,.22); }
.nft-links { display: flex; align-items: center; gap: 25px; color: #5d5973; font-size: .73rem; font-weight: 600; }
.nft-links a { transition: color .2s ease, transform .2s ease; }
.nft-links a:hover, .nft-links a.active { color: var(--nft-pink); transform: translateY(-1px); }
.nft-actions { display: flex; align-items: center; gap: 10px; }
.nft-btn { border: 0; border-radius: 7px; padding: 12px 18px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font: 600 .74rem 'Montserrat', sans-serif; transition: .2s ease; }
.nft-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 25px rgba(164,80,188,.18); }
.nft-btn-primary { color: #fff; background: linear-gradient(135deg, var(--nft-pink), #da3180); }
.nft-btn-outline { color: var(--nft-pink); background: rgba(255,255,255,.55); border: 1px solid #f18db9; }
.nft-btn-soft { color: #7152cc; background: #f1e8ff; }
.nft-menu { display: none; border: 0; color: var(--nft-ink); background: transparent; font-size: 1.35rem; }
.nft-main { padding: 40px 0 85px; }
.nft-hero { display: grid; grid-template-columns: 1fr 1.1fr; align-items: center; gap: 50px; min-height: 590px; }
.nft-kicker { margin: 0 0 13px; color: var(--nft-pink); font-size: .73rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.nft-title { margin: 0; font: 600 clamp(2.35rem, 5vw, 4.3rem)/1.02 'Syne', sans-serif; letter-spacing: -.06em; }
.nft-title span { color: var(--nft-pink); }
.nft-lead { max-width: 520px; margin: 20px 0 26px; color: var(--nft-muted); font-size: .82rem; line-height: 1.75; }
.nft-hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.nft-stats { display: flex; gap: 34px; margin-top: 52px; }
.nft-stat strong { display: block; font: 600 1.25rem 'Syne', sans-serif; }
.nft-stat small { color: var(--nft-muted); font-size: .62rem; }
.nft-art-stage { position: relative; min-height: 440px; }
.nft-art-card { position: absolute; width: min(320px, 62vw); padding: 10px; border-radius: 12px; background: rgba(255,255,255,.78); box-shadow: 0 24px 60px rgba(90,56,130,.15); }
.nft-art-card img { width: 100%; display: block; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.nft-art-card.main { top: 8px; left: 7%; transform: rotate(-3deg); z-index: 2; }
.nft-art-card.side { right: 0; bottom: 6px; width: min(255px, 50vw); transform: rotate(5deg); }
.nft-art-meta { display: flex; justify-content: space-between; gap: 10px; padding: 8px 4px 2px; color: var(--nft-muted); font-size: .6rem; }
.nft-art-meta strong { display: block; color: var(--nft-ink); font-size: .67rem; }
.nft-section { padding: 58px 0; }
.nft-section-head { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.nft-section-head h2 { margin: 0; font: 600 clamp(1.45rem, 3vw, 2.1rem)/1.08 'Syne', sans-serif; letter-spacing: -.04em; }
.nft-section-head p { max-width: 430px; margin: 0; color: var(--nft-muted); font-size: .72rem; line-height: 1.7; }
.nft-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.nft-card { overflow: hidden; padding: 10px; border: 1px solid rgba(255,255,255,.8); border-radius: 11px; background: rgba(255,255,255,.57); box-shadow: 0 10px 28px rgba(105,67,147,.07); }
.nft-card img { display: block; width: 100%; aspect-ratio: 1; border-radius: 7px; object-fit: cover; }
.nft-card-body { padding: 10px 3px 2px; }
.nft-card-title { margin: 0; font-size: .75rem; font-weight: 700; }
.nft-card-sub { margin: 5px 0 10px; color: var(--nft-muted); font-size: .62rem; }
.nft-card-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.nft-card-row .nft-btn { padding: 7px 10px; font-size: .6rem; }
.nft-pill { display: inline-flex; border-radius: 99px; padding: 5px 9px; color: #7051cc; background: #f0e7ff; font-size: .59rem; font-weight: 600; }
.nft-panel { border: 1px solid rgba(255,255,255,.9); border-radius: 18px; background: var(--nft-panel); box-shadow: 0 20px 55px rgba(105,67,147,.08); }
.nft-dashboard-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.nft-dashboard-head h1 { margin: 0; font: 600 2rem 'Syne', sans-serif; letter-spacing: -.05em; }
.nft-dashboard-head p { margin: 7px 0 0; color: var(--nft-muted); font-size: .76rem; }
.nft-balance-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 24px; }
.nft-balance-card { padding: 18px; }
.nft-balance-card small { color: var(--nft-muted); font-size: .65rem; }
.nft-balance-card strong { display: block; margin-top: 8px; font: 600 1.35rem 'Syne', sans-serif; }
.nft-dashboard-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 20px; }
.nft-feature-card { padding: 18px; }
.nft-feature-card h2 { margin: 0; font: 600 1.3rem 'Syne', sans-serif; }
.nft-feature-card p { color: var(--nft-muted); font-size: .72rem; line-height: 1.65; }
.nft-daily { display: grid; grid-template-columns: 235px 1fr; gap: 23px; align-items: center; }
.nft-daily img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 13px; }
.nft-progress { height: 8px; overflow: hidden; border-radius: 99px; background: #f0e5fa; }
.nft-progress span { display: block; width: 58%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--nft-pink), var(--nft-purple)); }
.nft-list { display: grid; gap: 11px; }
.nft-list-item { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 11px; background: rgba(255,255,255,.58); }
.nft-list-item img { width: 48px; height: 48px; border-radius: 9px; object-fit: cover; }
.nft-list-item strong { display: block; font-size: .72rem; }
.nft-list-item small { color: var(--nft-muted); font-size: .6rem; }
.nft-form { display: grid; gap: 14px; }
.nft-form label { display: grid; gap: 6px; color: #59556d; font-size: .7rem; font-weight: 600; }
.nft-input { width: 100%; padding: 13px 14px; border: 1px solid var(--nft-line); border-radius: 9px; outline: none; color: var(--nft-ink); background: rgba(255,255,255,.75); font: .75rem 'Montserrat', sans-serif; }
.nft-input:focus { border-color: var(--nft-pink); box-shadow: 0 0 0 3px rgba(237,60,135,.1); }
.nft-kyc-form input:not([type=checkbox]), .nft-kyc-form select, .nft-kyc-form textarea { width: 100%; padding: 12px 13px; border: 1px solid var(--nft-line); border-radius: 9px; outline: none; color: var(--nft-ink); background: rgba(255,255,255,.8); font: .75rem 'Montserrat', sans-serif; }
.nft-kyc-form input:not([type=checkbox]):focus, .nft-kyc-form select:focus, .nft-kyc-form textarea:focus { border-color: var(--nft-pink); box-shadow: 0 0 0 3px rgba(237,60,135,.1); }
.nft-kyc-form label { display: block; margin-bottom: 7px; color: #59556d; font-size: .7rem; font-weight: 600; }
.nft-kyc-card { max-width: 820px; margin: 0 auto; padding: clamp(20px, 4vw, 34px); }
.nft-kyc-card h1 { margin: 0; font: 600 clamp(1.8rem, 4vw, 2.7rem)/1.05 'Syne', sans-serif; letter-spacing: -.05em; }
.nft-kyc-card p { color: var(--nft-muted); font-size: .75rem; line-height: 1.7; }
.nft-alert { margin-bottom: 16px; padding: 12px 15px; border-radius: 9px; color: #81522a; background: #fff0d7; font-size: .72rem; }
.nft-empty { padding: 40px 20px; color: var(--nft-muted); text-align: center; font-size: .75rem; }
.nft-auth-page { min-height: 100vh; display: grid; grid-template-columns: 1fr 1fr; background: linear-gradient(135deg, #fff8fc, #f1e7ff); }
.nft-auth-art { position: relative; display: flex; align-items: center; justify-content: center; padding: 55px; overflow: hidden; }
.nft-auth-art::before { content: ''; position: absolute; width: 460px; height: 460px; border-radius: 50%; background: linear-gradient(135deg, rgba(237,60,135,.28), rgba(135,85,239,.21)); filter: blur(8px); }
.nft-auth-art-content { position: relative; max-width: 450px; }
.nft-auth-art-content h1 { margin: 18px 0; font: 600 clamp(2.2rem, 4vw, 3.8rem)/1 'Syne', sans-serif; letter-spacing: -.06em; }
.nft-auth-art-content p { color: var(--nft-muted); font-size: .8rem; line-height: 1.8; }
.nft-auth-art-image { width: min(330px, 70%); margin: 24px auto 0; display: block; border-radius: 20px; transform: rotate(-4deg); box-shadow: 0 25px 60px rgba(105,67,147,.2); }
.nft-auth-card-wrap { display: flex; align-items: center; justify-content: center; padding: 28px; }
.nft-auth-card { width: min(480px, 100%); padding: clamp(24px, 5vw, 48px); border: 1px solid rgba(255,255,255,.85); border-radius: 20px; background: rgba(255,255,255,.78); box-shadow: 0 22px 70px rgba(106,68,144,.1); }
.nft-auth-card h2 { margin: 8px 0; font: 600 2rem 'Syne', sans-serif; letter-spacing: -.05em; }
.nft-auth-card p { margin: 0 0 25px; color: var(--nft-muted); font-size: .74rem; line-height: 1.6; }
.nft-auth-top { display: flex; justify-content: space-between; gap: 10px; color: var(--nft-muted); font-size: .68rem; }
.nft-auth-top a { color: var(--nft-pink); font-weight: 700; }
.nft-error { margin: 10px 0; padding: 10px; border-radius: 8px; color: #9a315e; background: #ffe8f1; font-size: .68rem; }
.nft-footer { margin-top: 50px; padding: 38px 0; color: var(--nft-muted); border-top: 1px solid rgba(151,99,220,.1); font-size: .66rem; }
.nft-footer-row { display: flex; justify-content: space-between; gap: 20px; }
.nft-footer-links { display: flex; gap: 18px; }
.nft-mobile-nav { display: none; }
@media (max-width: 980px) {
    .nft-hero { grid-template-columns: 1fr; min-height: auto; padding-top: 45px; }
    .nft-art-stage { min-height: 410px; }
    .nft-grid { grid-template-columns: repeat(3, 1fr); }
    .nft-dashboard-grid { grid-template-columns: 1fr; }
    .nft-auth-page { grid-template-columns: .75fr 1fr; }
}
@media (max-width: 700px) {
    .nft-container { width: min(100% - 30px, 560px); }
    .nft-header { position: relative; }
    .nft-links, .nft-actions { display: none; }
    .nft-menu { display: block; }
    .nft-nav.open .nft-links { position: absolute; top: 69px; left: 15px; right: 15px; display: grid; gap: 16px; padding: 19px; border-radius: 14px; background: #fff; box-shadow: 0 15px 35px rgba(106,68,144,.13); }
    .nft-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .nft-balance-grid { grid-template-columns: repeat(2, 1fr); }
    .nft-daily { grid-template-columns: 1fr; }
    .nft-dashboard-head { align-items: flex-start; flex-direction: column; }
    .nft-auth-page { display: block; }
    .nft-auth-art { min-height: 310px; padding: 30px 20px 15px; }
    .nft-auth-art-content { text-align: center; }
    .nft-auth-art-content h1 { font-size: 2.25rem; }
    .nft-auth-art-image { width: 150px; margin-top: 14px; }
    .nft-auth-card-wrap { padding: 15px; }
    .nft-footer-row { align-items: flex-start; flex-direction: column; }
}

/* TreasureNOVA app shell -------------------------------------------------- */
:root {
    --nft-ink: #181a28;
    --nft-muted: #7c7e91;
    --nft-pink: #ef3e8c;
    --nft-purple: #8a5cf6;
    --nft-blue: #5b7cff;
    --nft-line: rgba(122, 100, 194, .14);
    --nft-surface: rgba(255, 255, 255, .82);
    --nft-app-bg: #f8f5ff;
    --nft-shadow: 0 20px 60px rgba(58, 36, 113, .08);
}

body.nft-body {
    color: var(--nft-ink);
    background: radial-gradient(circle at 5% 2%, rgba(255,255,255,.95), transparent 27%), radial-gradient(circle at 93% 4%, rgba(231,218,255,.68), transparent 28%), linear-gradient(135deg, #fbf8ff 0%, #f7f0ff 50%, #fff8fc 100%);
    font-family: 'DM Sans', 'Montserrat', sans-serif;
}
body.nft-is-app { background: var(--nft-app-bg); }
body.nft-is-app a { text-decoration: none; }
.nft-brand { color: var(--nft-pink); gap: 11px; }
.nft-brand-copy { display: grid; gap: 1px; line-height: 1; }
.nft-brand-copy strong { color: #252238; font: 700 1.12rem/1 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.nft-brand-copy small { color: #9a8fab; font-size: .44rem; font-weight: 800; letter-spacing: .16em; }
.nft-brand-mark { border-radius: 12px 5px 12px 5px; }
.nft-icon-3d { position: relative; isolation: isolate; box-shadow: inset -5px -5px 10px rgba(81, 24, 113, .18), inset 4px 4px 8px rgba(255,255,255,.35), 0 10px 24px rgba(237,60,135,.25); }
.nft-icon-3d::after { content: ''; position: absolute; inset: 3px; z-index: -1; border-radius: inherit; border: 1px solid rgba(255,255,255,.24); }

.nft-app-shell { display: flex; min-height: 100vh; }
.nft-sidebar { position: sticky; top: 0; z-index: 60; display: flex; flex: 0 0 255px; flex-direction: column; width: 255px; height: 100vh; padding: 24px 15px 17px; border-right: 1px solid rgba(119,96,186,.12); background: rgba(255,255,255,.77); backdrop-filter: blur(22px); }
.nft-sidebar-head { display: flex; align-items: center; justify-content: space-between; padding: 0 10px 28px; }
.nft-sidebar-close { display: none; border: 0; color: var(--nft-muted); background: transparent; font-size: 1.8rem; cursor: pointer; }
.nft-sidebar-nav { display: grid; gap: 5px; overflow-y: auto; padding: 0 0 12px; }
.nft-nav-label { margin: 17px 11px 5px; color: #b4a8c4; font-size: .57rem; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.nft-side-link { display: flex; align-items: center; gap: 12px; min-height: 45px; padding: 9px 11px; border: 1px solid transparent; border-radius: 12px; color: #777489; font-size: .72rem; font-weight: 700; transition: .2s ease; }
.nft-side-link:hover { color: var(--nft-pink); background: rgba(255,255,255,.7); transform: translateX(2px); }
.nft-side-link.active { color: #38234f; border-color: rgba(239,62,140,.13); background: linear-gradient(100deg, rgba(255,226,241,.82), rgba(239,230,255,.65)); box-shadow: 0 9px 22px rgba(164,82,196,.08); }
.nft-side-link em { margin-left: auto; padding: 3px 5px; border-radius: 5px; color: #fff; background: var(--nft-pink); font-size: .45rem; font-style: normal; letter-spacing: .04em; }
.nft-side-icon { display: grid; flex: 0 0 29px; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: #8a5cf6; background: linear-gradient(145deg, #fff, #eee6ff); box-shadow: inset -3px -3px 6px rgba(102,74,160,.10), 2px 3px 8px rgba(121,86,177,.08); font-size: 1rem; line-height: 1; }
.nft-side-link.active .nft-side-icon { color: #fff; background: linear-gradient(145deg, var(--nft-pink), var(--nft-purple)); box-shadow: inset -3px -3px 7px rgba(97,35,132,.24), 2px 4px 10px rgba(239,62,140,.23); }
.nft-sidebar-footer { margin-top: auto; padding-top: 15px; border-top: 1px solid rgba(119,96,186,.12); }
.nft-user-card { display: flex; align-items: center; gap: 9px; padding: 9px; border-radius: 13px; background: rgba(248,242,255,.72); }
.nft-user-card:hover { background: #fff; }
.nft-user-card-copy { min-width: 0; flex: 1; display: grid; gap: 3px; }
.nft-user-card-copy strong { overflow: hidden; color: #29253a; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.nft-user-card-copy small { color: var(--nft-muted); font-size: .57rem; }
.nft-user-arrow { color: #b5a2c9; font-size: 1.2rem; }
.nft-logout { display: flex; align-items: center; gap: 8px; margin: 9px 9px 0; color: #a58cae; font-size: .65rem; font-weight: 700; }
.nft-logout:hover { color: var(--nft-pink); }
.nft-avatar { display: inline-grid; flex: 0 0 auto; place-items: center; overflow: hidden; border-radius: 50%; color: #fff; background: linear-gradient(135deg, #fb7fae, #8b5cf6); font-weight: 800; }
.nft-avatar img { width: 100%; height: 100%; object-fit: cover; }
.nft-avatar-sm { width: 35px; height: 35px; font-size: .65rem; }
.nft-avatar-xs { width: 31px; height: 31px; font-size: .6rem; }
.nft-app-main { min-width: 0; flex: 1; }
.nft-topbar { position: sticky; top: 0; z-index: 40; display: flex; align-items: center; justify-content: space-between; min-height: 76px; padding: 0 clamp(18px, 4vw, 48px); border-bottom: 1px solid rgba(119,96,186,.11); background: rgba(248,245,255,.78); backdrop-filter: blur(20px); }
.nft-topbar-left, .nft-topbar-right { display: flex; align-items: center; gap: 17px; }
.nft-breadcrumb { display: flex; align-items: center; gap: 8px; color: #aaa1b4; font-size: .67rem; }
.nft-breadcrumb b { color: #c6bbcf; font-weight: 500; }
.nft-breadcrumb strong { color: #302b42; font-weight: 800; }
.nft-menu-toggle { display: none; flex-direction: column; gap: 4px; padding: 8px 0; border: 0; background: transparent; cursor: pointer; }
.nft-menu-toggle span { display: block; width: 21px; height: 2px; border-radius: 4px; background: #433a58; }
.nft-topbar-action { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 4px 9px; border-radius: 11px; color: #625e70; font-size: .64rem; font-weight: 700; }
.nft-topbar-action:hover { background: rgba(255,255,255,.7); color: var(--nft-pink); }
.nft-topbar-spark { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; color: #fff; background: linear-gradient(140deg, #ef3e8c, #8a5cf6); box-shadow: 0 7px 15px rgba(239,62,140,.18); }
.nft-topbar-profile { border-left: 1px solid rgba(119,96,186,.12); border-radius: 0; padding-left: 17px; }
.nft-topbar-profile-name { color: #393348; }
.nft-chevron { color: #aca0ba; font-size: 1rem; }
.nft-app-content { min-height: calc(100vh - 76px); padding: clamp(24px, 4vw, 48px) 0 90px; }
.nft-app-content > .nft-container { width: min(1360px, calc(100% - 46px)); }
.nft-mobile-nav { display: none; }

/* App page primitives */
.nft-dashboard-head { align-items: flex-start; margin-bottom: 27px; }
.nft-dashboard-head h1, .nft-page-title { color: #242038; font-family: 'Space Grotesk', sans-serif; font-weight: 700; }
.nft-dashboard-head h1 { font-size: clamp(1.6rem, 3vw, 2.45rem); letter-spacing: -.055em; }
.nft-dashboard-head p { max-width: 600px; line-height: 1.6; }
.nft-kicker { color: var(--nft-pink); font-size: .58rem; letter-spacing: .17em; }
.nft-panel, .nft-card { border: 1px solid rgba(255,255,255,.95); background: rgba(255,255,255,.72); box-shadow: var(--nft-shadow); }
.nft-panel { border-radius: 20px; }
.nft-balance-card { position: relative; overflow: hidden; min-height: 111px; padding: 19px; }
.nft-balance-card::after { content: ''; position: absolute; right: -23px; bottom: -35px; width: 92px; height: 92px; border-radius: 50%; background: radial-gradient(circle, rgba(239,62,140,.19), transparent 66%); }
.nft-balance-card strong { position: relative; z-index: 1; color: #29243b; font-size: 1.45rem; }
.nft-balance-card small { position: relative; z-index: 1; font-weight: 700; }
.nft-feature-card { padding: 21px; }
.nft-feature-card h2, .nft-section-head h2 { color: #29243b; font-family: 'Space Grotesk', sans-serif; }
.nft-daily img { border-radius: 17px; box-shadow: 0 18px 35px rgba(84,57,130,.13); }
.nft-list-item { border: 1px solid rgba(127,99,183,.08); background: rgba(255,255,255,.58); }
.nft-list-item:hover { border-color: rgba(239,62,140,.18); background: #fff; }
.nft-btn { border-radius: 10px; font-size: .68rem; }
.nft-btn-primary { background: linear-gradient(135deg, #ef3e8c, #ad54ee); box-shadow: 0 10px 20px rgba(226,68,149,.16); }
.nft-btn-outline { border-color: rgba(239,62,140,.34); background: rgba(255,255,255,.58); }
.nft-alert { border: 1px solid rgba(244,180,83,.24); color: #86622f; background: rgba(255,246,222,.82); }
.nft-grid { gap: 18px; }
.nft-card { border-radius: 17px; }
.nft-card:hover { transform: translateY(-3px); box-shadow: 0 24px 48px rgba(105,67,147,.14); }
.nft-card img { border-radius: 11px; }
.nft-muted-copy { margin-top: 10px; color: #9a91a7 !important; font-size: .65rem !important; }
.nft-collection-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 20px 0; }
.nft-collection-facts div { padding: 10px; border: 1px solid rgba(127,99,183,.09); border-radius: 11px; background: rgba(248,244,255,.72); }
.nft-collection-facts small { display: block; color: var(--nft-muted); font-size: .55rem; }.nft-collection-facts strong { display: block; margin-top: 4px; color: #373044; font-size: .63rem; }
.nft-dialog { width: min(360px, calc(100% - 30px)); border: 1px solid rgba(255,255,255,.96); border-radius: 18px; padding: 24px; color: var(--nft-ink); background: #fff; box-shadow: 0 25px 70px rgba(58,36,113,.22); }.nft-dialog::backdrop { background: rgba(35,24,52,.25); backdrop-filter: blur(3px); }.nft-dialog h3 { margin: 0; font: 700 1.2rem 'Space Grotesk', sans-serif; }.nft-dialog p { color: var(--nft-muted); font-size: .72rem; line-height: 1.65; }

/* Existing account/activity screens inherit the same visual language. */
.tvx-page, .dashboard-fluid-inner { width: min(1360px, 100%); margin: 0 auto; color: var(--nft-ink); }
.tvx-page-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 23px; }
.tvx-page-title { margin: 6px 0 0; font-size: clamp(1.7rem, 3vw, 2.45rem); letter-spacing: -.06em; }
.tvx-page-subtitle, .tvx-section-copy { color: var(--nft-muted); font-size: .72rem; line-height: 1.7; }
.tvx-eyebrow { color: var(--nft-pink); font-size: .61rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.tvx-filter { display: flex; flex-wrap: wrap; gap: 10px; padding: 13px; border: 1px solid rgba(255,255,255,.92); border-radius: 16px; background: rgba(255,255,255,.63); box-shadow: var(--nft-shadow); }
.tvx-filter > div { flex: 1 1 160px; }
.tvx-filter .tvx-filter-search { flex: 2 1 240px; }
.tvx-filter input, .tvx-filter select, .tvx-page input:not([type=checkbox]), .tvx-page select, .tvx-page textarea { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid var(--nft-line); border-radius: 10px; outline: 0; color: var(--nft-ink); background: rgba(255,255,255,.82); font: .7rem 'DM Sans', sans-serif; }
.tvx-filter input:focus, .tvx-filter select:focus, .tvx-page input:focus, .tvx-page select:focus, .tvx-page textarea:focus { border-color: rgba(239,62,140,.5); box-shadow: 0 0 0 3px rgba(239,62,140,.09); }
.tvx-btn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 40px; padding: 9px 14px; border: 0; border-radius: 10px; cursor: pointer; font-size: .67rem; font-weight: 800; }
.tvx-btn-primary { color: #fff; background: linear-gradient(135deg, #ef3e8c, #ad54ee); }
.tvx-btn-secondary { color: #6f5d86; border: 1px solid rgba(127,99,183,.14); background: rgba(255,255,255,.75); }
.tvx-log-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 20px; }
.tvx-log-card, .tvx-card, .tvx-list-card, .tvx-hero, .tvx-stat, .card { border: 1px solid rgba(255,255,255,.95); border-radius: 18px; background: rgba(255,255,255,.72); box-shadow: var(--nft-shadow); }
.tvx-log-card { padding: 18px; }
.tvx-log-icon { display: grid; place-items: center; width: 37px; height: 37px; border-radius: 12px; color: var(--nft-purple); background: linear-gradient(145deg, #fff, #eee6ff); font-size: 1.05rem; }
.tvx-log-amount { color: #29243b; font-size: 1rem; font-weight: 800; }
.tvx-log-amount.positive { color: #15966a; }.tvx-log-amount.negative { color: #d64d6c; }
.tvx-log-detail { margin-top: 13px; color: #5f5a6f; font-size: .7rem; line-height: 1.6; }
.tvx-metric-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.tvx-metric { padding: 11px; border: 1px solid rgba(127,99,183,.09); border-radius: 11px; background: rgba(248,244,255,.72); }
.tvx-metric-label, .tvx-log-meta { color: var(--nft-muted); font-size: .59rem; }
.tvx-metric-value { margin-top: 5px; color: #302b42; font-size: .67rem; font-weight: 800; }
.tvx-log-meta { display: flex; justify-content: space-between; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(127,99,183,.09); }
.tvx-trx { color: #6e54c8; font-weight: 700; }
.tvx-badge { display: inline-flex; align-items: center; justify-content: center; padding: 5px 8px; border-radius: 99px; font-size: .56rem; font-weight: 800; }
.tvx-badge-green { color: #117a58; background: #ddf8ed; }.tvx-badge-red { color: #ad3852; background: #ffe5eb; }.tvx-badge-yellow { color: #8b6828; background: #fff1c9; }.tvx-badge-gray { color: #716a7d; background: #eeeaf4; }
.tvx-empty { grid-column: 1/-1; padding: 60px 20px; text-align: center; border: 1px dashed rgba(127,99,183,.2); border-radius: 18px; background: rgba(255,255,255,.45); }
.tvx-empty-icon { display: grid; place-items: center; width: 52px; height: 52px; margin: 0 auto 13px; border-radius: 17px; color: #8a5cf6; background: #eee7ff; font-size: 1.4rem; }
.tvx-empty-title { color: #332d44; font-weight: 800; }.tvx-empty-copy { margin-top: 5px; color: var(--nft-muted); font-size: .68rem; }
.tvx-tabs { display: flex; flex-wrap: wrap; gap: 7px; }.tvx-tab { padding: 8px 11px; border-radius: 9px; color: #7a7188; background: rgba(255,255,255,.65); font-size: .63rem; font-weight: 800; }.tvx-tab.active { color: #fff; background: linear-gradient(135deg, #ef3e8c, #ad54ee); }
.tvx-hero { padding: 23px; }.tvx-hero-title { color: #2a2540; font: 700 clamp(1.5rem, 3vw, 2.3rem)/1.1 'Space Grotesk', sans-serif; }.tvx-hero-copy { max-width: 540px; color: var(--nft-muted); font-size: .74rem; line-height: 1.7; }.tvx-stat-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 11px; margin-top: 23px; }.tvx-stat { padding: 15px; }.tvx-stat-label, .tvx-stat-meta { color: var(--nft-muted); font-size: .59rem; }.tvx-stat-value { margin: 8px 0 4px; color: #2b2640; font: 700 1.25rem 'Space Grotesk', sans-serif; }.tvx-stat-value.yellow { color: var(--nft-pink); }

/* Staking page */
.nft-staking-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(290px,.75fr); gap: 18px; }
.nft-stake-card { padding: 20px; }
.nft-stake-plan { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px; border: 1px solid rgba(127,99,183,.1); border-radius: 13px; background: rgba(255,255,255,.62); }
.nft-stake-plan + .nft-stake-plan { margin-top: 9px; }
.nft-stake-plan strong { display: block; color: #302a43; font-size: .76rem; }.nft-stake-plan small { color: var(--nft-muted); font-size: .61rem; }
.nft-stake-rate { color: var(--nft-pink); font: 700 1.05rem 'Space Grotesk', sans-serif; text-align: right; }.nft-stake-rate small { display: block; color: var(--nft-muted); font: 500 .55rem 'DM Sans', sans-serif; }
.nft-stake-form { display: grid; gap: 11px; }.nft-stake-form label { color: #696179; font-size: .64rem; font-weight: 800; }.nft-stake-form .nft-input { margin-top: 5px; }
.nft-stake-table { width: 100%; border-collapse: collapse; font-size: .66rem; }.nft-stake-table th { color: var(--nft-muted); font-size: .57rem; font-weight: 800; text-align: left; text-transform: uppercase; }.nft-stake-table th, .nft-stake-table td { padding: 13px 10px; border-bottom: 1px solid rgba(127,99,183,.09); }.nft-stake-table td { color: #433c51; }.nft-stake-table tr:last-child td { border-bottom: 0; }.nft-stake-progress { min-width: 110px; height: 6px; overflow: hidden; border-radius: 99px; background: #eee9f8; }.nft-stake-progress span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ef3e8c, #8a5cf6); }

/* Profile pages can keep their fields and upload flow while matching the app. */
body.nft-is-app .tvx-profile-page { color: var(--nft-ink) !important; max-width: 1360px; padding: 0 0 80px; }
body.nft-is-app .tvx-profile-heading h1, body.nft-is-app .tvx-profile-card h2, body.nft-is-app .tvx-profile-card h3 { color: #29243b !important; }
body.nft-is-app .tvx-profile-heading p, body.nft-is-app .tvx-profile-card p, body.nft-is-app .tvx-profile-sidebar-name span { color: var(--nft-muted) !important; }
body.nft-is-app .tvx-profile-sidebar, body.nft-is-app .tvx-profile-card { border-color: rgba(255,255,255,.95) !important; background: rgba(255,255,255,.72) !important; box-shadow: var(--nft-shadow) !important; }
body.nft-is-app .tvx-profile-sidebar { top: 93px; }.tvx-profile-nav-link:hover, .tvx-profile-nav-link.is-active { color: var(--nft-pink) !important; background: #fff1f7 !important; }
body.nft-is-app .tvx-profile-input, body.nft-is-app .tvx-profile-input-wrap input, body.nft-is-app .tvx-profile-field textarea, body.nft-is-app .tvx-profile-field select { color: var(--nft-ink) !important; border-color: var(--nft-line) !important; background: rgba(255,255,255,.82) !important; }

@media (max-width: 980px) {
    .nft-sidebar { flex-basis: 225px; width: 225px; }
    .nft-topbar { padding-inline: 25px; }
    .nft-staking-grid { grid-template-columns: 1fr; }
    .tvx-stat-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 760px) {
    .nft-sidebar { position: fixed; left: 0; transform: translateX(-105%); width: min(290px, 88vw); box-shadow: 22px 0 60px rgba(44,28,80,.17); transition: transform .25s ease; }
    .nft-app-shell.sidebar-open .nft-sidebar { transform: translateX(0); }
    .nft-app-shell.sidebar-open .nft-sidebar-overlay { visibility: visible; opacity: 1; }
    .nft-sidebar-overlay { position: fixed; inset: 0; z-index: 55; visibility: hidden; opacity: 0; background: rgba(32,22,49,.25); backdrop-filter: blur(3px); transition: .25s ease; }
    .nft-sidebar-close { display: block; }
    .nft-menu-toggle { display: flex; }
    .nft-topbar { min-height: 67px; padding-inline: 16px; }
    .nft-topbar-action-label, .nft-topbar-profile-name, .nft-chevron { display: none; }
    .nft-topbar-profile { padding-left: 4px; border-left: 0; }
    .nft-app-content { padding: 23px 0 88px; }
    .nft-app-content > .nft-container { width: min(100% - 28px, 620px); }
    .nft-mobile-nav { position: fixed; right: 12px; bottom: 12px; left: 12px; z-index: 50; display: grid; grid-template-columns: repeat(5,1fr); padding: 8px 5px; border: 1px solid rgba(255,255,255,.9); border-radius: 19px; background: rgba(255,255,255,.88); box-shadow: 0 15px 45px rgba(59,35,102,.17); backdrop-filter: blur(20px); }
    .nft-mobile-nav a, .nft-mobile-nav button { display: grid; place-items: center; gap: 2px; min-width: 0; padding: 4px 1px; border: 0; color: #9890a4; background: transparent; font-family: inherit; cursor: pointer; }
    .nft-mobile-nav span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; font-size: 1rem; }.nft-mobile-nav small { overflow: hidden; max-width: 100%; font-size: .48rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }.nft-mobile-nav a.active, .nft-mobile-nav button:hover { color: var(--nft-pink); }.nft-mobile-nav a.active span { color: #fff; background: linear-gradient(135deg, var(--nft-pink), var(--nft-purple)); box-shadow: 0 5px 12px rgba(239,62,140,.22); }
    .nft-dashboard-head { gap: 14px; }.nft-dashboard-head .nft-btn { width: 100%; }.nft-balance-grid { gap: 9px; }.nft-balance-card { padding: 15px; }.nft-balance-card strong { font-size: 1.1rem; }.nft-feature-card { padding: 15px; }.nft-section { padding: 35px 0; }
    .tvx-page-head { align-items: flex-start; flex-direction: column; }.tvx-log-grid { grid-template-columns: 1fr; }.tvx-filter > div, .tvx-filter .tvx-filter-search { flex-basis: 100%; }.tvx-filter-action { display: flex; }.tvx-filter-action .tvx-btn { flex: 1; }.tvx-stat-grid { gap: 9px; }.tvx-stat { padding: 12px; }.tvx-stat-value { font-size: 1.08rem; }
    .nft-stake-table { min-width: 610px; }.nft-stake-table-wrap { overflow-x: auto; }.nft-stake-card { padding: 15px; }
    body.nft-is-app .tvx-profile-layout { grid-template-columns: 1fr; }.tvx-profile-sidebar { position: static !important; }.tvx-profile-mobile-tabs { overflow-x: auto; }
}
@media (max-width: 440px) {
    .nft-balance-grid { grid-template-columns: repeat(2,1fr); }.nft-balance-card small { font-size: .57rem; }.nft-dashboard-head h1 { font-size: 1.55rem; }.nft-daily { gap: 15px; }.nft-footer { display: none; }.tvx-log-card { padding: 14px; }.tvx-log-meta { align-items: flex-start; flex-direction: column; }.tvx-stat-grid { grid-template-columns: repeat(2,1fr); }.nft-collection-facts { grid-template-columns: 1fr; }
}

/* Full TreasureNOVA marketplace surfaces -------------------------------- */
.nft-public-hero { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); align-items: center; gap: clamp(30px, 6vw, 85px); min-height: 590px; padding: 58px 0 65px; }
.nft-public-hero-copy h1 { max-width: 650px; margin: 0; color: #29243d; font: 700 clamp(2.7rem, 5.6vw, 5.15rem)/.98 'Space Grotesk', sans-serif; letter-spacing: -.075em; }
.nft-public-hero-copy h1 span { color: var(--nft-pink); }.nft-public-hero-copy > p:not(.nft-kicker) { max-width: 520px; margin: 22px 0 26px; color: var(--nft-muted); font-size: .82rem; line-height: 1.8; }
.nft-public-stats { display: flex; gap: clamp(20px, 4vw, 45px); margin-top: 51px; }.nft-public-stats strong { display: block; color: #2d2842; font: 700 1.35rem 'Space Grotesk', sans-serif; }.nft-public-stats small { display: block; margin-top: 5px; color: var(--nft-muted); font-size: .6rem; }
.nft-public-stage { position: relative; min-height: 480px; }.nft-public-art { position: absolute; overflow: hidden; padding: 10px; border: 1px solid rgba(255,255,255,.9); border-radius: 18px; background: rgba(255,255,255,.72); box-shadow: 0 28px 70px rgba(84,54,130,.16); }.nft-public-art img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; }.nft-public-art div { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 11px 4px 2px; color: var(--nft-muted); font-size: .6rem; }.nft-public-art strong { display: block; margin-bottom: 2px; color: #29243d; font-size: .71rem; }.nft-public-art b { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 9px; color: #fff; background: linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); }.nft-public-art.main { top: 18px; left: 6%; width: min(365px, 64vw); transform: rotate(-4deg); z-index: 2; }.nft-public-art.side { right: 0; bottom: 12px; width: min(275px, 48vw); transform: rotate(6deg); z-index: 3; }.nft-stage-orb { position: absolute; display: block; border-radius: 50%; filter: blur(1px); }.nft-stage-orb.orb-one { top: 0; right: 12%; width: 96px; height: 96px; background: radial-gradient(circle at 30% 30%, #fff, #dbbdfc 46%, rgba(239,62,140,.05) 70%); }.nft-stage-orb.orb-two { bottom: 7%; left: 2%; width: 58px; height: 58px; background: radial-gradient(circle at 30% 30%, #fff, #ffbad8 52%, rgba(239,62,140,.05) 75%); }
.nft-public-trust { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; margin: 0 0 30px; padding: 24px 0; border-top: 1px solid rgba(127,99,183,.12); border-bottom: 1px solid rgba(127,99,183,.12); }.nft-public-trust > div { display: flex; align-items: center; gap: 11px; padding: 8px 18px; border-right: 1px solid rgba(127,99,183,.11); }.nft-public-trust > div:last-child { border-right: 0; }.nft-trust-icon { display: grid; flex: 0 0 36px; place-items: center; width: 36px; height: 36px; border-radius: 12px; color: #fff; background: linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow: 0 8px 18px rgba(239,62,140,.18); }.nft-public-trust strong { display: block; color: #342e47; font-size: .7rem; }.nft-public-trust small { display: block; margin-top: 4px; color: var(--nft-muted); font-size: .58rem; }
.nft-public-section { padding: 78px 0 30px; }.nft-public-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 25px; }.nft-public-section-head h2 { margin: 0; color: #2b2640; font: 700 clamp(1.65rem, 3.2vw, 2.55rem)/1.05 'Space Grotesk',sans-serif; letter-spacing: -.06em; }.nft-public-section-head > p { max-width: 410px; margin: 0; color: var(--nft-muted); font-size: .72rem; line-height: 1.75; }.nft-public-collection-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }.nft-public-card { overflow: hidden; padding: 10px; border: 1px solid rgba(255,255,255,.96); border-radius: 17px; background: rgba(255,255,255,.62); box-shadow: 0 14px 38px rgba(105,67,147,.08); transition: transform .2s ease, box-shadow .2s ease; }.nft-public-card:hover { transform: translateY(-5px); box-shadow: 0 25px 55px rgba(105,67,147,.14); }.nft-public-card-image { position: relative; }.nft-public-card-image img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 11px; }.nft-public-card-image span { position: absolute; top: 9px; left: 9px; padding: 5px 8px; border-radius: 99px; color: #fff; background: rgba(35,26,53,.63); font-size: .54rem; font-weight: 700; backdrop-filter: blur(6px); }.nft-public-card-body { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 4px 3px; }.nft-public-card-body strong { display: block; color: #302a44; font-size: .7rem; }.nft-public-card-body small { display: block; margin-top: 4px; color: var(--nft-muted); font-size: .58rem; }.nft-round-arrow { display: grid; flex: 0 0 30px; place-items: center; width: 30px; height: 30px; border-radius: 10px; color: #fff; background: linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); }
.nft-how-section { padding-top: 95px; }.nft-how-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 15px; }.nft-how-grid article { min-height: 220px; padding: 24px; border: 1px solid rgba(239,62,140,.13); border-radius: 17px; background: rgba(255,255,255,.52); }.nft-how-icon { display: grid; place-items: center; width: 45px; height: 45px; border-radius: 14px; color: #fff; background: linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow: inset -4px -4px 8px rgba(79,26,117,.2), 0 10px 20px rgba(239,62,140,.16); font: 700 .75rem 'Space Grotesk',sans-serif; }.nft-how-grid h3 { margin: 25px 0 8px; color: #302a44; font: 700 1rem 'Space Grotesk',sans-serif; }.nft-how-grid p { margin: 0; color: var(--nft-muted); font-size: .69rem; line-height: 1.75; }
.nft-public-community { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(25px, 6vw, 80px); margin: 100px 0 45px; padding: 26px; border-radius: 25px; background: linear-gradient(110deg, rgba(238,219,255,.86), rgba(255,226,237,.83)); }.nft-community-art { position: relative; }.nft-community-art img { display: block; width: 100%; max-height: 310px; object-fit: cover; border-radius: 18px; }.nft-community-badge { position: absolute; right: 18px; bottom: 18px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.6); border-radius: 12px; color: #fff; background: rgba(35,26,53,.7); font-size: .68rem; font-weight: 800; backdrop-filter: blur(8px); }.nft-public-community h2 { margin: 0 0 15px; color: #2b2640; font: 700 clamp(1.7rem, 3.4vw, 2.8rem)/1.04 'Space Grotesk',sans-serif; letter-spacing: -.06em; }.nft-public-community p:not(.nft-kicker) { max-width: 450px; margin: 0 0 23px; color: var(--nft-muted); font-size: .76rem; line-height: 1.8; }

/* Authenticated marketplace dashboard */
.nft-app-hero { display: grid; grid-template-columns: minmax(0,.82fr) minmax(420px,1.18fr); align-items: center; gap: clamp(25px,4vw,60px); margin-bottom: 30px; }.nft-app-hero-copy h1 { max-width: 570px; margin: 0; color: #2a2540; font: 700 clamp(2rem,4.3vw,3.55rem)/1.02 'Space Grotesk',sans-serif; letter-spacing: -.07em; }.nft-app-hero-copy h1 span { color: var(--nft-pink); }.nft-app-hero-copy > p:not(.nft-kicker) { max-width: 510px; margin: 17px 0 24px; color: var(--nft-muted); font-size: .78rem; line-height: 1.8; }.nft-app-spotlight { display: grid; grid-template-columns: .9fr 1.1fr; gap: 19px; align-items: center; padding: 12px; border: 1px solid rgba(255,255,255,.95); border-radius: 22px; background: rgba(255,255,255,.7); box-shadow: 0 24px 60px rgba(70,43,119,.13); }.nft-spotlight-image { position: relative; }.nft-spotlight-image img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 15px; }.nft-floating-tag { position: absolute; left: 11px; bottom: 11px; padding: 7px 9px; border-radius: 8px; color: #fff; background: rgba(37,27,55,.7); font-size: .57rem; font-weight: 700; backdrop-filter: blur(8px); }.nft-spotlight-body { padding: 12px 12px 12px 0; }.nft-spotlight-body > div:first-child { display:flex; align-items:center; gap:8px; }.nft-spotlight-status { color: #9389a1; font-size: .57rem; }.nft-spotlight-body h2 { margin: 15px 0 8px; color: #2d2842; font: 700 clamp(1.25rem,2.2vw,1.8rem) 'Space Grotesk',sans-serif; }.nft-spotlight-body p { margin: 0 0 18px; color: var(--nft-muted); font-size: .7rem; line-height: 1.7; }.nft-spotlight-empty { display: flex; min-height: 320px; flex-direction: column; align-items: flex-start; justify-content: center; padding: 35px; }.nft-spotlight-orbit { display: grid; place-items: center; width: 60px; height: 60px; margin-bottom: 18px; border-radius: 20px; color: #fff; background: linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); font-size: 1.5rem; box-shadow: 0 14px 25px rgba(239,62,140,.2); }.nft-spotlight-empty h2 { margin: 0 0 8px; color: #2d2842; font: 700 1.55rem 'Space Grotesk',sans-serif; }.nft-spotlight-empty p:not(.nft-kicker) { color: var(--nft-muted); font-size: .7rem; line-height: 1.7; }
.nft-account-alert { display: flex; align-items: center; gap: 11px; margin: 0 0 20px; }.nft-account-alert a { margin-left: auto; color: #a26b29; font-size: .64rem; font-weight: 800; white-space: nowrap; }.nft-alert-icon { display: grid; flex: 0 0 23px; place-items: center; width: 23px; height: 23px; border-radius: 50%; color: #fff; background: #e8a543; font-weight: 800; }
.nft-app-stat-row { display: grid; grid-template-columns: repeat(4,1fr); gap: 11px; margin-bottom: 38px; }.nft-app-stat { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 14px; border: 1px solid rgba(255,255,255,.95); border-radius: 15px; background: rgba(255,255,255,.62); box-shadow: 0 12px 30px rgba(105,67,147,.06); }.nft-stat-icon { display: grid; flex: 0 0 33px; place-items: center; width: 33px; height: 33px; border-radius: 11px; color: #fff; background: linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); font-size: .9rem; }.nft-app-stat small { display:block; overflow:hidden; color:var(--nft-muted); font-size:.56rem; text-overflow:ellipsis; white-space:nowrap; }.nft-app-stat strong { display:block; overflow:hidden; margin-top:4px; color:#332d46; font-size:.7rem; text-overflow:ellipsis; white-space:nowrap; }
.nft-market-section { margin-top: 10px; }.nft-market-section-head { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-bottom:18px; }.nft-market-section-head h2 { margin:0; color:#2c2741; font:700 clamp(1.35rem,2.5vw,2rem) 'Space Grotesk',sans-serif; letter-spacing:-.055em; }.nft-text-link { color:var(--nft-pink); font-size:.66rem; font-weight:800; white-space:nowrap; }.nft-text-link span { margin-left:4px; }.nft-market-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }.nft-market-card { overflow:hidden; padding:9px; border:1px solid rgba(255,255,255,.95); border-radius:16px; background:rgba(255,255,255,.66); box-shadow:0 12px 30px rgba(105,67,147,.06); transition:transform .2s ease,box-shadow .2s ease; }.nft-market-card:hover { transform:translateY(-4px); box-shadow:0 22px 45px rgba(105,67,147,.13); }.nft-market-card-image { position:relative; }.nft-market-card-image img { display:block; width:100%; aspect-ratio:1; object-fit:cover; border-radius:11px; }.nft-market-card-image span { position:absolute; top:8px; left:8px; padding:5px 7px; border-radius:6px; color:#fff; background:rgba(37,27,55,.65); font-size:.5rem; font-weight:800; }.nft-market-card-body { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 3px 2px; }.nft-market-card-body strong { display:block; color:#332d46; font-size:.64rem; }.nft-market-card-body small { display:block; margin-top:4px; color:var(--nft-muted); font-size:.54rem; }.nft-market-card-body a { display:grid; flex:0 0 27px; place-items:center; width:27px; height:27px; border-radius:9px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); }
.nft-lower-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:18px; margin-top:43px; }.nft-activity-panel,.nft-tools-panel { padding:20px; }.nft-mini-collection { display:grid; gap:9px; }.nft-mini-piece { display:flex; align-items:center; gap:10px; padding:9px; border:1px solid rgba(127,99,183,.08); border-radius:12px; background:rgba(255,255,255,.56); }.nft-mini-piece:hover { background:#fff; }.nft-mini-piece img { width:43px; height:43px; object-fit:cover; border-radius:9px; }.nft-mini-piece span { min-width:0; flex:1; }.nft-mini-piece strong,.nft-mini-piece small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.nft-mini-piece strong { color:#332d46; font-size:.67rem; }.nft-mini-piece small { margin-top:3px; color:var(--nft-muted); font-size:.56rem; }.nft-mini-piece b { color:#aa96ba; font-size:1.1rem; }.nft-empty-compact { display:flex; min-height:180px; align-items:center; flex-direction:column; justify-content:center; gap:7px; padding:20px; }.nft-empty-compact strong { color:#3a334a; font-size:.72rem; }.nft-empty-compact small { color:var(--nft-muted); font-size:.6rem; text-align:center; }.nft-empty-orb { display:grid; place-items:center; width:44px; height:44px; margin-bottom:5px; border-radius:14px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); }.nft-tools-panel h2 { margin:0 0 18px; color:#2d2842; font:700 1.35rem 'Space Grotesk',sans-serif; }.nft-tool-list { display:grid; gap:8px; }.nft-tool-list a { display:flex; align-items:center; gap:10px; padding:10px; border-radius:12px; }.nft-tool-list a:hover { background:rgba(255,255,255,.72); }.nft-tool-icon { display:grid; flex:0 0 31px; place-items:center; width:31px; height:31px; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); }.nft-tool-list span:not(.nft-tool-icon) { min-width:0; flex:1; }.nft-tool-list strong,.nft-tool-list small { display:block; }.nft-tool-list strong { color:#332d46; font-size:.67rem; }.nft-tool-list small { margin-top:3px; color:var(--nft-muted); font-size:.56rem; }.nft-tool-list b { color:#b09dbc; }

@media (max-width: 980px) { .nft-public-hero,.nft-app-hero { grid-template-columns:1fr; }.nft-public-stage { min-height:470px; }.nft-app-spotlight { max-width:700px; }.nft-public-collection-grid { grid-template-columns:repeat(3,1fr); }.nft-market-grid { grid-template-columns:repeat(2,1fr); }.nft-app-stat-row { grid-template-columns:repeat(2,1fr); }.nft-lower-grid { grid-template-columns:1fr; } }
@media (max-width: 700px) { .nft-public-hero { min-height:0; padding:35px 0 45px; }.nft-public-hero-copy h1 { font-size:2.65rem; }.nft-public-stage { min-height:370px; margin-top:5px; }.nft-public-art.main { left:4%; width:68vw; }.nft-public-art.side { width:52vw; }.nft-public-trust { grid-template-columns:1fr; gap:0; padding:10px 0; }.nft-public-trust > div { border-right:0; border-bottom:1px solid rgba(127,99,183,.11); padding:12px 2px; }.nft-public-trust > div:last-child { border-bottom:0; }.nft-public-section { padding-top:55px; }.nft-public-section-head { align-items:flex-start; flex-direction:column; gap:10px; }.nft-public-collection-grid { grid-template-columns:repeat(2,1fr); gap:10px; }.nft-how-grid { grid-template-columns:1fr; }.nft-how-grid article { min-height:0; }.nft-public-community { grid-template-columns:1fr; margin-top:65px; padding:15px; }.nft-app-hero-copy h1 { font-size:2.4rem; }.nft-app-spotlight { grid-template-columns:1fr; }.nft-spotlight-body { padding:3px 8px 10px; }.nft-app-stat-row { gap:8px; }.nft-app-stat { padding:11px; }.nft-market-section-head { align-items:flex-start; flex-direction:column; gap:8px; } }
@media (max-width: 440px) { .nft-public-stats { gap:18px; }.nft-public-stats strong { font-size:1.05rem; }.nft-public-stats small { font-size:.54rem; }.nft-public-collection-grid { gap:8px; }.nft-public-card { padding:7px; }.nft-public-card-body strong { font-size:.59rem; }.nft-public-card-body small { font-size:.5rem; }.nft-app-stat strong { font-size:.61rem; }.nft-app-stat small { font-size:.51rem; }.nft-app-hero-copy h1 { font-size:2.05rem; } }

/* TreasureNOVA workspace navigation and staking packages */
.nft-topbar-brand-mark { display:grid; place-items:center; width:30px; height:30px; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow:0 8px 16px rgba(239,62,140,.2); font-size:.86rem; }
.nft-drawer-profile { display:flex; align-items:center; gap:10px; margin:0 4px 18px; padding:10px; border:1px solid rgba(127,99,183,.12); border-radius:15px; background:linear-gradient(120deg,#fff3f8,#f1eaff); }.nft-drawer-profile > span:last-of-type { min-width:0; flex:1; }.nft-drawer-profile strong,.nft-drawer-profile small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.nft-drawer-profile strong { color:#332d46; font-size:.68rem; }.nft-drawer-profile small { margin-top:4px; color:#9a88ab; font-size:.53rem; }.nft-drawer-profile b { color:#a48fb3; font-size:1rem; }
.nft-avatar-md { width:42px; height:42px; font-size:.73rem; }
.nft-user-card-copy small { color:#9a88ab; font-size:.55rem; }
.nft-mobile-nav .nft-mobile-icon { display:grid; place-items:center; width:29px; height:29px; border:1px solid rgba(127,99,183,.1); border-radius:10px; color:#9589a3; background:linear-gradient(145deg,#fff,#f2eafc); box-shadow:inset -2px -2px 4px rgba(136,100,176,.08); font-size:.82rem; }
.nft-mobile-nav a.active .nft-mobile-icon, .nft-mobile-nav button:hover .nft-mobile-icon { border-color:transparent; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow:0 6px 14px rgba(239,62,140,.22), inset -2px -2px 5px rgba(79,26,117,.22); }
.nft-dashboard-grid-menu { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:0 0 38px; }
.nft-dashboard-grid-menu a { display:flex; align-items:center; gap:11px; min-width:0; padding:14px; border:1px solid rgba(255,255,255,.94); border-radius:16px; background:rgba(255,255,255,.65); box-shadow:0 12px 28px rgba(105,67,147,.06); transition:.2s ease; }
.nft-dashboard-grid-menu a:hover { transform:translateY(-3px); background:#fff; box-shadow:0 20px 38px rgba(105,67,147,.12); }
.nft-grid-menu-icon { display:grid; flex:0 0 39px; place-items:center; width:39px; height:39px; border-radius:13px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow:inset -4px -4px 8px rgba(79,26,117,.2),0 8px 15px rgba(239,62,140,.16); font-size:1rem; }
.nft-dashboard-grid-menu a span:not(.nft-grid-menu-icon) { min-width:0; flex:1; }.nft-dashboard-grid-menu strong,.nft-dashboard-grid-menu small { display:block; }.nft-dashboard-grid-menu strong { color:#332d46; font-size:.7rem; }.nft-dashboard-grid-menu small { margin-top:4px; overflow:hidden; color:var(--nft-muted); font-size:.56rem; text-overflow:ellipsis; white-space:nowrap; }.nft-dashboard-grid-menu b { color:#b09dbc; font-size:.95rem; }
.nft-staking-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:25px; }.nft-staking-head h1 { margin:0; color:#2b2640; font:700 clamp(2rem,4vw,3.2rem)/1 'Space Grotesk',sans-serif; letter-spacing:-.065em; }.nft-staking-head p:not(.nft-kicker) { max-width:590px; margin:12px 0 0; color:var(--nft-muted); font-size:.76rem; line-height:1.75; }.nft-staking-level { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:2px 10px; min-width:155px; padding:12px 15px; border:1px solid rgba(255,255,255,.94); border-radius:15px; background:rgba(255,255,255,.67); }.nft-staking-level .nft-side-icon { grid-row:span 2; }.nft-staking-level small { color:var(--nft-muted); font-size:.55rem; }.nft-staking-level strong { color:#332d46; font-size:.74rem; }
.nft-workspace-tabs { display:flex; gap:27px; margin-bottom:32px; border-bottom:1px solid rgba(127,99,183,.14); }.nft-workspace-tabs a { position:relative; display:flex; align-items:center; gap:8px; padding:0 2px 14px; color:#8c819b; font:700 .78rem 'Space Grotesk',sans-serif; }.nft-workspace-tabs a span { color:var(--nft-pink); }.nft-workspace-tabs a.active { color:#2e2941; }.nft-workspace-tabs a.active:after { position:absolute; right:0; bottom:-1px; left:0; height:3px; border-radius:3px; background:linear-gradient(90deg,var(--nft-pink),var(--nft-purple)); content:''; }
.nft-staking-zone { margin-bottom:32px; }.nft-staking-zone-head { display:flex; align-items:end; justify-content:space-between; gap:15px; margin-bottom:16px; }.nft-staking-zone-head h2,.nft-section-head h2 { margin:0; color:#2d2842; font:700 clamp(1.35rem,2.5vw,2rem) 'Space Grotesk',sans-serif; letter-spacing:-.055em; }.nft-package-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.nft-package-card { overflow:hidden; border:1px solid rgba(255,255,255,.94); border-radius:17px; background:rgba(255,255,255,.66); box-shadow:0 14px 35px rgba(105,67,147,.08); }.nft-package-image { position:relative; padding:8px; }.nft-package-image img { display:block; width:100%; aspect-ratio:1.8; object-fit:cover; border-radius:11px; }.nft-package-image span { position:absolute; bottom:18px; left:17px; padding:5px 8px; border-radius:7px; color:#fff; background:rgba(37,27,55,.72); font-size:.55rem; font-weight:800; }.nft-package-body { padding:5px 15px 15px; }.nft-package-title { display:flex; align-items:center; justify-content:space-between; gap:8px; }.nft-package-title h3 { overflow:hidden; margin:0; color:#302a44; font:700 .9rem 'Space Grotesk',sans-serif; text-overflow:ellipsis; white-space:nowrap; }.nft-package-title b { padding:4px 7px; border-radius:6px; color:#fff; background:#44be75; font-size:.5rem; }.nft-package-card dl { display:grid; gap:8px; margin:16px 0; }.nft-package-card dl div { display:flex; align-items:center; justify-content:space-between; gap:10px; }.nft-package-card dt { color:var(--nft-muted); font-size:.61rem; }.nft-package-card dd { margin:0; color:#40374e; font-size:.63rem; font-weight:800; text-align:right; }.nft-package-card .nft-btn { width:100%; justify-content:center; padding:11px 13px; font-size:.61rem; }
.nft-stake-action-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; margin-bottom:32px; }.nft-stake-card { padding:20px; }.nft-section-head { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:18px; }.nft-stake-form { display:grid; gap:13px; }.nft-stake-form label { display:grid; gap:7px; color:#5f536d; font-size:.62rem; font-weight:800; }.nft-stake-form .nft-btn { justify-content:center; margin-top:3px; }.nft-lock-note { display:flex; align-items:flex-start; flex-direction:column; justify-content:center; }.nft-stake-feature-icon { display:grid; place-items:center; width:45px; height:45px; margin-bottom:15px; border-radius:15px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow:0 12px 22px rgba(239,62,140,.18); }.nft-lock-note h2 { max-width:310px; margin:0 0 11px; color:#302a44; font:700 1.45rem/1.1 'Space Grotesk',sans-serif; letter-spacing:-.05em; }.nft-lock-note p:not(.nft-kicker) { max-width:400px; margin:0 0 18px; color:var(--nft-muted); font-size:.68rem; line-height:1.8; }
.nft-my-stake { margin-bottom:30px; }.nft-stake-table-wrap { overflow:auto; }.nft-stake-table { width:100%; min-width:650px; border-collapse:collapse; }.nft-stake-table th { padding:0 13px 11px; color:#a293ad; font-size:.56rem; font-weight:800; text-align:left; text-transform:uppercase; letter-spacing:.08em; }.nft-stake-table td { padding:13px; border-top:1px solid rgba(127,99,183,.1); color:#4c415b; font-size:.65rem; }.nft-stake-table td strong,.nft-stake-table td small { display:block; }.nft-stake-table td strong { color:#332d46; font-size:.68rem; }.nft-stake-table td small { margin-top:4px; color:var(--nft-muted); font-size:.55rem; }.nft-stake-progress { width:100px; height:6px; overflow:hidden; margin-bottom:6px; border-radius:99px; background:#eee5f5; }.nft-stake-progress span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--nft-pink),var(--nft-purple)); }
@media (max-width: 980px) { .nft-package-grid { grid-template-columns:repeat(2,1fr); }.nft-stake-action-grid { grid-template-columns:1fr; } }
@media (max-width: 700px) { .nft-dashboard-grid-menu { gap:8px; }.nft-dashboard-grid-menu a { align-items:flex-start; flex-direction:column; padding:11px; }.nft-dashboard-grid-menu a b { display:none; }.nft-grid-menu-icon { flex-basis:34px; width:34px; height:34px; border-radius:11px; }.nft-dashboard-grid-menu strong { font-size:.63rem; }.nft-dashboard-grid-menu small { font-size:.5rem; }.nft-staking-head { align-items:flex-start; flex-direction:column; }.nft-staking-level { width:100%; }.nft-package-grid { grid-template-columns:1fr; }.nft-workspace-tabs { gap:19px; }.nft-workspace-tabs a { font-size:.68rem; }.nft-stake-card { padding:15px; } }
.nft-dashboard-focus { margin:0 0 18px; padding:18px; border:1px solid rgba(255,255,255,.94); border-radius:21px; background:rgba(255,255,255,.58); box-shadow:0 15px 38px rgba(105,67,147,.07); }
.nft-dashboard-focus-tabs { display:flex; gap:8px; margin-bottom:14px; overflow:auto; scrollbar-width:none; }.nft-dashboard-focus-tabs::-webkit-scrollbar { display:none; }
.nft-dashboard-focus-tabs button { display:flex; align-items:center; gap:7px; flex:0 0 auto; padding:9px 13px; border:1px solid rgba(127,99,183,.12); border-radius:10px; color:#897c99; background:#faf8ff; font:700 .62rem 'Space Grotesk',sans-serif; cursor:pointer; }.nft-dashboard-focus-tabs button span { color:var(--nft-pink); }.nft-dashboard-focus-tabs button.active { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow:0 7px 16px rgba(239,62,140,.18); }.nft-dashboard-focus-tabs button.active span { color:#fff; }
.nft-dashboard-focus-track { position:relative; min-height:155px; overflow:hidden; }.nft-focus-card { display:none; align-items:center; gap:18px; min-height:155px; padding:20px; border-radius:16px; background:linear-gradient(110deg,#fff1f7,#f0e8ff); }.nft-focus-card.active { display:flex; animation:nftFocusIn .22s ease; }.nft-focus-orb { display:grid; flex:0 0 54px; place-items:center; width:54px; height:54px; border-radius:18px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow:inset -4px -4px 8px rgba(79,26,117,.2),0 12px 21px rgba(239,62,140,.17); font-size:1.25rem; }.nft-focus-card h2 { margin:3px 0 7px; color:#302a44; font:700 1.28rem 'Space Grotesk',sans-serif; letter-spacing:-.04em; }.nft-focus-card p:not(.nft-kicker) { max-width:600px; margin:0 0 13px; color:var(--nft-muted); font-size:.67rem; line-height:1.65; }.nft-focus-card .nft-btn { padding:9px 12px; font-size:.59rem; }
.nft-referral-dashboard-card { display:grid; grid-template-columns:1fr 1.1fr; align-items:center; gap:22px; margin:0 0 38px; padding:21px; border:1px solid rgba(255,255,255,.94); border-radius:20px; background:linear-gradient(110deg,rgba(255,232,243,.9),rgba(235,227,255,.9)); box-shadow:0 15px 38px rgba(105,67,147,.07); }.nft-referral-copy { display:flex; align-items:center; gap:13px; }.nft-referral-copy h2 { margin:2px 0 7px; color:#302a44; font:700 1.28rem 'Space Grotesk',sans-serif; letter-spacing:-.04em; }.nft-referral-copy p:not(.nft-kicker) { margin:0; color:var(--nft-muted); font-size:.67rem; line-height:1.65; }.nft-referral-icon { display:grid; flex:0 0 45px; place-items:center; width:45px; height:45px; border-radius:15px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow:0 10px 20px rgba(239,62,140,.17); }.nft-referral-copy-row { display:flex; gap:8px; }.nft-referral-copy-row input { min-width:0; flex:1; padding:11px 12px; border:1px solid rgba(127,99,183,.14); border-radius:10px; outline:0; color:#70617f; background:rgba(255,255,255,.83); font-size:.62rem; }.nft-referral-copy-row .nft-btn { flex:0 0 auto; padding:10px 13px; font-size:.6rem; }
@keyframes nftFocusIn { from { opacity:0; transform:translateX(8px); } to { opacity:1; transform:translateX(0); } }
.nft-stake-action-grid { grid-template-columns:minmax(0,760px); }
@media (max-width: 700px) { .nft-dashboard-focus { padding:12px; }.nft-focus-card { align-items:flex-start; flex-direction:column; min-height:230px; padding:16px; }.nft-focus-card h2 { font-size:1.1rem; }.nft-referral-dashboard-card { grid-template-columns:1fr; gap:15px; padding:15px; }.nft-referral-copy-row { flex-direction:column; }.nft-referral-copy-row .nft-btn { justify-content:center; }.nft-stake-action-grid { grid-template-columns:1fr; } }

/* Final app-shell polish: real settings logo, consistent icon boxes and mobile-safe dashboard cards. */
.nft-brand-mark,
.nft-topbar-brand-mark { overflow:hidden; }
.nft-brand-mark img,
.nft-topbar-brand-mark img { display:block; width:100%; height:100%; padding:4px; object-fit:contain; border-radius:inherit; }
.nft-brand-mark img { background:rgba(255,255,255,.12); }
.nft-side-icon i,
.nft-mobile-icon i,
.nft-topbar-spark i,
.nft-focus-orb i,
.nft-grid-menu-icon i,
.nft-stat-icon i,
.nft-tool-icon i,
.nft-referral-icon i,
.nft-alert-icon i { display:block; line-height:1; }
.nft-side-icon i { font-size:.9rem; }
.nft-mobile-icon i { font-size:.82rem; }
.nft-topbar-spark i { font-size:.86rem; }
.nft-dashboard-focus,
.nft-dashboard-grid-menu,
.nft-referral-dashboard-card,
.nft-app-stat-row,
.nft-market-section,
.nft-lower-grid { min-width:0; }
.nft-dashboard-focus-tabs button { appearance:none; -webkit-appearance:none; outline:0; white-space:nowrap; }
.nft-dashboard-focus-tabs button:focus-visible { box-shadow:0 0 0 3px rgba(135,85,239,.22),0 7px 16px rgba(239,62,140,.18); }
.nft-focus-card { box-sizing:border-box; width:100%; min-width:0; }
.nft-focus-card > div { min-width:0; }
.nft-focus-card .nft-btn i,
.nft-dashboard-grid-menu b i,
.nft-tool-list b i { margin-left:2px; }

@media (max-width: 760px) {
    .nft-app-content > .nft-container { width:calc(100% - 28px); }
    .nft-topbar-brand-mark { flex:0 0 30px; }
    .nft-topbar-left { min-width:0; gap:10px; }
    .nft-breadcrumb { min-width:0; }
    .nft-breadcrumb strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}

@media (max-width: 700px) {
    .nft-dashboard-focus { padding:12px; border-radius:18px; }
    .nft-dashboard-focus-tabs { gap:6px; margin-bottom:10px; padding-bottom:2px; }
    .nft-dashboard-focus-tabs button { min-height:40px; padding:9px 11px; border-radius:12px; font-size:.61rem; }
    .nft-dashboard-focus-track { min-height:248px; }
    .nft-focus-card { min-height:248px; gap:12px; padding:17px; border-radius:15px; }
    .nft-focus-orb { flex-basis:45px; width:45px; height:45px; border-radius:14px; font-size:1.08rem; }
    .nft-focus-card h2 { max-width:100%; font-size:1.04rem; }
    .nft-focus-card p:not(.nft-kicker) { font-size:.63rem; line-height:1.6; }
    .nft-dashboard-grid-menu { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-bottom:28px; }
    .nft-dashboard-grid-menu a { min-height:96px; justify-content:space-between; gap:8px; padding:11px; border-radius:15px; }
    .nft-dashboard-grid-menu a span:not(.nft-grid-menu-icon) { width:100%; }
    .nft-dashboard-grid-menu strong { font-size:.62rem; }
    .nft-dashboard-grid-menu small { font-size:.5rem; }
    .nft-grid-menu-icon { flex-basis:36px; width:36px; height:36px; border-radius:11px; font-size:.88rem; }
}

@media (max-width: 420px) {
    .nft-app-content > .nft-container { width:calc(100% - 20px); }
    .nft-topbar { padding:0 11px; }
    .nft-topbar-right { gap:8px; }
    .nft-topbar-action { padding:0; }
    .nft-dashboard-focus-tabs button { padding-right:10px; padding-left:10px; }
    .nft-focus-card { min-height:260px; }
    .nft-app-stat-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .nft-app-stat { min-height:70px; padding:10px; }
    .nft-app-stat strong { font-size:.59rem; }
}

/* Public marketplace landing page ---------------------------------------- */
.nft-links a { display:inline-flex; align-items:center; gap:6px; }
.nft-links a i { color:var(--nft-pink); font-size:.86rem; }
.nft-front-hero { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); align-items:center; gap:clamp(28px,6vw,88px); min-height:620px; padding:62px 0 74px; }
.nft-front-hero-copy h1 { max-width:680px; margin:0; color:#29243d; font:700 clamp(2.7rem,5.5vw,5.15rem)/.98 'Space Grotesk',sans-serif; letter-spacing:-.075em; }
.nft-front-hero-copy h1 span { color:var(--nft-pink); }
.nft-front-hero-copy > p:not(.nft-kicker) { max-width:535px; margin:22px 0 27px; color:var(--nft-muted); font-size:.82rem; line-height:1.85; }
.nft-front-hero-copy .nft-kicker i,.nft-front-section-head .nft-kicker i { margin-right:5px; }
.nft-front-trust-row { display:flex; flex-wrap:wrap; gap:9px; margin-top:30px; }
.nft-front-trust-row span { display:inline-flex; align-items:center; gap:6px; padding:8px 10px; border:1px solid rgba(127,99,183,.11); border-radius:99px; color:#7b6f8b; background:rgba(255,255,255,.62); font-size:.56rem; font-weight:800; }
.nft-front-trust-row i { color:var(--nft-pink); font-size:.8rem; }
.nft-front-hero-art { position:relative; min-height:510px; }
.nft-front-feature-card { position:absolute; top:22px; left:7%; z-index:2; width:min(430px,72%); overflow:hidden; padding:11px; border:1px solid rgba(255,255,255,.96); border-radius:23px; background:rgba(255,255,255,.76); box-shadow:0 30px 75px rgba(84,54,130,.18); transform:rotate(-3deg); }
.nft-front-feature-image { position:relative; overflow:hidden; border-radius:16px; }
.nft-front-feature-image img { display:block; width:100%; aspect-ratio:1/1.02; object-fit:cover; }
.nft-front-feature-badge,.nft-front-feature-index { position:absolute; top:12px; padding:7px 9px; border-radius:99px; color:#fff; background:rgba(35,26,53,.7); font-size:.54rem; font-weight:800; backdrop-filter:blur(8px); }
.nft-front-feature-badge { left:12px; }.nft-front-feature-index { right:12px; }
.nft-front-feature-body { padding:14px 5px 4px; }.nft-front-feature-body > div:first-child { display:flex; align-items:center; justify-content:space-between; gap:8px; }.nft-front-feature-body > div:first-child small { color:#8f849e; font-size:.56rem; }.nft-front-feature-body > div:first-child small i { color:#36ad7b; }
.nft-front-feature-body h2 { margin:13px 0 7px; color:#2e2843; font:700 1.4rem 'Space Grotesk',sans-serif; letter-spacing:-.05em; }.nft-front-feature-body p { margin:0 0 15px; color:var(--nft-muted); font-size:.64rem; line-height:1.7; }.nft-front-feature-meta { display:flex; align-items:end; gap:21px; }.nft-front-feature-meta span { display:grid; gap:4px; }.nft-front-feature-meta small { color:#a398ad; font-size:.53rem; }.nft-front-feature-meta strong { color:#3c334d; font-size:.62rem; }.nft-front-feature-meta a { display:grid; place-items:center; width:31px; height:31px; margin-left:auto; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); }
.nft-front-glow { position:absolute; border-radius:50%; filter:blur(1px); }.nft-front-glow-one { top:6px; right:11%; width:170px; height:170px; background:radial-gradient(circle at 30% 30%,#fff,#e4caff 47%,rgba(239,62,140,.02) 72%); }.nft-front-glow-two { bottom:5%; left:1%; width:100px; height:100px; background:radial-gradient(circle at 30% 30%,#fff,#ffc2df 50%,rgba(239,62,140,.02) 75%); }
.nft-front-orbit { position:absolute; z-index:3; display:grid; place-items:center; width:48px; height:48px; border-radius:16px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow:0 15px 28px rgba(239,62,140,.2); }.nft-front-orbit.orbit-a { top:23%; right:1%; transform:rotate(9deg); }.nft-front-orbit.orbit-b { bottom:14%; left:0; width:40px; height:40px; border-radius:13px; transform:rotate(-10deg); }
.nft-front-snapshot { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:0 0 25px; padding:18px 0; border-top:1px solid rgba(127,99,183,.12); border-bottom:1px solid rgba(127,99,183,.12); }.nft-front-snapshot > div { display:flex; align-items:center; gap:10px; min-width:0; padding:8px 15px; border-right:1px solid rgba(127,99,183,.1); }.nft-front-snapshot > div:last-child { border-right:0; }.nft-front-snapshot-icon { display:grid; flex:0 0 38px; place-items:center; width:38px; height:38px; border-radius:13px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); box-shadow:0 8px 17px rgba(239,62,140,.16); }.nft-front-snapshot small,.nft-front-snapshot strong { display:block; }.nft-front-snapshot small { color:var(--nft-muted); font-size:.56rem; }.nft-front-snapshot strong { margin-top:4px; color:#302a44; font:700 1rem 'Space Grotesk',sans-serif; }
.nft-front-section { padding:76px 0 28px; }.nft-front-ranking-section { padding:76px 0 28px; }.nft-front-section-head { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:25px; }.nft-front-section-head h2 { margin:0; color:#2b2640; font:700 clamp(1.65rem,3.2vw,2.55rem)/1.05 'Space Grotesk',sans-serif; letter-spacing:-.06em; }.nft-front-section-head > p { max-width:420px; margin:0; color:var(--nft-muted); font-size:.7rem; line-height:1.8; }.nft-front-section-head .nft-text-link { margin-bottom:4px; }
.nft-front-auction-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.nft-front-auction-card { overflow:hidden; padding:10px; border:1px solid rgba(255,255,255,.96); border-radius:18px; background:rgba(255,255,255,.64); box-shadow:0 14px 38px rgba(105,67,147,.07); }.nft-front-auction-image { position:relative; overflow:hidden; border-radius:12px; }.nft-front-auction-image img { display:block; width:100%; aspect-ratio:1.2; object-fit:cover; }.nft-front-auction-image span { position:absolute; top:10px; left:10px; padding:6px 8px; border-radius:99px; color:#fff; background:rgba(35,26,53,.68); font-size:.54rem; font-weight:800; }.nft-front-auction-body { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:13px 4px 8px; }.nft-front-auction-body small { color:var(--nft-pink); font-size:.54rem; font-weight:800; }.nft-front-auction-body h3 { margin:4px 0 0; color:#302a44; font:700 .9rem 'Space Grotesk',sans-serif; }.nft-front-auction-body a { display:grid; flex:0 0 31px; place-items:center; width:31px; height:31px; border-radius:10px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); }.nft-front-auction-foot { display:flex; justify-content:space-between; gap:10px; padding:9px 4px 3px; border-top:1px solid rgba(127,99,183,.09); color:#988ca4; font-size:.54rem; }.nft-front-auction-foot strong { color:#3c334d; font-size:.54rem; }.nft-front-auction-foot i { color:var(--nft-pink); margin-right:3px; }
.nft-front-ranking-list { display:grid; gap:8px; padding:9px; border:1px solid rgba(255,255,255,.95); border-radius:20px; background:rgba(255,255,255,.52); }.nft-front-ranking-row { display:grid; grid-template-columns:36px 45px minmax(0,1fr) 145px 90px; align-items:center; gap:11px; padding:9px 10px; border-radius:13px; }.nft-front-ranking-row:hover { background:#fff; }.nft-front-rank-number { color:#a294ae; font:700 .65rem 'Space Grotesk',sans-serif; }.nft-front-ranking-row img { width:45px; height:45px; object-fit:cover; border-radius:12px; }.nft-front-ranking-name strong,.nft-front-ranking-name small,.nft-front-ranking-value strong,.nft-front-ranking-value small { display:block; }.nft-front-ranking-name strong { overflow:hidden; color:#342e47; font-size:.67rem; text-overflow:ellipsis; white-space:nowrap; }.nft-front-ranking-name small,.nft-front-ranking-value small { margin-top:3px; color:var(--nft-muted); font-size:.54rem; }.nft-front-ranking-value strong { color:#3e354f; font-size:.67rem; }.nft-front-ranking-status { color:#34a875; font-size:.58rem; font-weight:800; }.nft-front-ranking-status i { margin-right:3px; }
.nft-front-collection-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }.nft-front-collection-card { overflow:hidden; border:1px solid rgba(255,255,255,.95); border-radius:18px; background:rgba(255,255,255,.65); box-shadow:0 14px 38px rgba(105,67,147,.07); }.nft-front-collection-collage { display:grid; grid-template-columns:1.55fr 1fr; grid-template-rows:1fr 1fr; gap:6px; height:230px; padding:8px; background:linear-gradient(135deg,#fff0f8,#eee7ff); }.nft-front-collection-collage img { width:100%; height:100%; object-fit:cover; border-radius:10px; }.nft-front-collection-collage img:first-child { grid-row:span 2; }.nft-front-collection-body { padding:15px; }.nft-front-creator { display:inline-flex; align-items:center; gap:5px; color:#9385a0; font-size:.56rem; }.nft-front-creator i { color:var(--nft-pink); font-size:.8rem; }.nft-front-collection-body h3 { margin:12px 0 7px; color:#332d46; font:700 1rem 'Space Grotesk',sans-serif; }.nft-front-collection-body small { color:var(--nft-muted); font-size:.56rem; }
.nft-front-explore-section { padding-top:78px; }.nft-front-filter-row { display:flex; flex-wrap:wrap; gap:8px; margin:-5px 0 19px; }.nft-front-filter-row span { display:inline-flex; align-items:center; gap:5px; padding:8px 11px; border:1px solid rgba(127,99,183,.1); border-radius:99px; color:#8d829b; background:rgba(255,255,255,.58); font-size:.57rem; font-weight:800; }.nft-front-filter-row span.active { color:#fff; border-color:transparent; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); }.nft-front-explore-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:15px; }.nft-front-explore-card { overflow:hidden; padding:9px; border:1px solid rgba(255,255,255,.95); border-radius:16px; background:rgba(255,255,255,.64); box-shadow:0 12px 30px rgba(105,67,147,.06); transition:.2s ease; }.nft-front-explore-card:hover { transform:translateY(-4px); box-shadow:0 22px 45px rgba(105,67,147,.13); }.nft-front-explore-image { position:relative; overflow:hidden; border-radius:11px; }.nft-front-explore-image img { display:block; width:100%; aspect-ratio:1; object-fit:cover; }.nft-front-explore-image span { position:absolute; top:8px; left:8px; padding:5px 7px; border-radius:6px; color:#fff; background:rgba(37,27,55,.65); font-size:.5rem; font-weight:800; }.nft-front-explore-body { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:10px 3px 2px; }.nft-front-explore-body strong,.nft-front-explore-body small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.nft-front-explore-body strong { color:#332d46; font-size:.64rem; }.nft-front-explore-body small { margin-top:4px; color:var(--nft-muted); font-size:.54rem; }.nft-front-explore-body a { display:grid; flex:0 0 27px; place-items:center; width:27px; height:27px; border-radius:9px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); }
.nft-front-how-section { padding:94px 0 28px; }.nft-front-how-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.nft-front-how-grid article { position:relative; min-height:220px; padding:24px; border:1px solid rgba(239,62,140,.13); border-radius:17px; background:rgba(255,255,255,.52); }.nft-front-how-grid article > span { display:inline-grid; place-items:center; width:38px; height:38px; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--nft-pink),var(--nft-purple)); font:700 .68rem 'Space Grotesk',sans-serif; }.nft-front-how-grid article > i { position:absolute; top:29px; right:25px; color:#c9b7da; font-size:1.25rem; }.nft-front-how-grid h3 { margin:28px 0 8px; color:#302a44; font:700 1rem 'Space Grotesk',sans-serif; }.nft-front-how-grid p { margin:0; color:var(--nft-muted); font-size:.68rem; line-height:1.75; }
.nft-front-promo { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(25px,6vw,80px); margin:95px 0 45px; padding:16px; border-radius:25px; background:linear-gradient(110deg,rgba(238,219,255,.86),rgba(255,226,237,.83)); }.nft-front-promo-art { position:relative; }.nft-front-promo-art img { display:block; width:100%; max-height:330px; object-fit:cover; border-radius:18px; }.nft-front-promo-art span { position:absolute; right:18px; bottom:18px; padding:10px 14px; border:1px solid rgba(255,255,255,.6); border-radius:12px; color:#fff; background:rgba(35,26,53,.7); font-size:.66rem; font-weight:800; backdrop-filter:blur(8px); }.nft-front-promo-copy { padding:15px; }.nft-front-promo-copy h2 { margin:0 0 15px; color:#2b2640; font:700 clamp(1.7rem,3.4vw,2.8rem)/1.04 'Space Grotesk',sans-serif; letter-spacing:-.06em; }.nft-front-promo-copy > p:not(.nft-kicker) { max-width:450px; margin:0 0 23px; color:var(--nft-muted); font-size:.76rem; line-height:1.8; }
@media (max-width:980px) { .nft-front-hero { grid-template-columns:1fr; }.nft-front-hero-art { min-height:520px; max-width:720px; width:100%; margin:auto; }.nft-front-snapshot { grid-template-columns:repeat(2,1fr); }.nft-front-snapshot > div:nth-child(2) { border-right:0; }.nft-front-auction-grid,.nft-front-collection-grid { grid-template-columns:repeat(2,1fr); }.nft-front-explore-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:700px) { .nft-front-hero { min-height:0; padding:35px 0 47px; }.nft-front-hero-copy h1 { font-size:2.65rem; }.nft-front-hero-art { min-height:390px; }.nft-front-feature-card { left:3%; width:73%; }.nft-front-orbit.orbit-a { right:0; }.nft-front-snapshot { grid-template-columns:1fr; gap:0; padding:9px 0; }.nft-front-snapshot > div,.nft-front-snapshot > div:nth-child(2) { border-right:0; border-bottom:1px solid rgba(127,99,183,.1); padding:12px 4px; }.nft-front-snapshot > div:last-child { border-bottom:0; }.nft-front-section,.nft-front-ranking-section { padding-top:56px; }.nft-front-section-head { align-items:flex-start; flex-direction:column; gap:10px; }.nft-front-auction-grid,.nft-front-collection-grid { grid-template-columns:1fr; }.nft-front-explore-grid { grid-template-columns:repeat(2,1fr); gap:9px; }.nft-front-ranking-row { grid-template-columns:28px 39px minmax(0,1fr) 70px; gap:8px; }.nft-front-ranking-row img { width:39px; height:39px; }.nft-front-ranking-status { display:none; }.nft-front-ranking-value { text-align:right; }.nft-front-ranking-value small { font-size:.48rem; }.nft-front-how-section { padding-top:67px; }.nft-front-how-grid { grid-template-columns:1fr; }.nft-front-how-grid article { min-height:0; }.nft-front-promo { grid-template-columns:1fr; margin-top:65px; padding:10px; }.nft-front-promo-copy { padding:10px 5px 16px; } }
@media (max-width:440px) { .nft-front-hero-copy h1 { font-size:2.1rem; }.nft-front-trust-row { gap:6px; }.nft-front-trust-row span { font-size:.5rem; padding:7px 8px; }.nft-front-hero-art { min-height:340px; }.nft-front-feature-card { width:78%; }.nft-front-feature-body h2 { font-size:1.15rem; }.nft-front-feature-meta { gap:12px; }.nft-front-explore-card { padding:7px; }.nft-front-explore-body strong { font-size:.58rem; }.nft-front-explore-body small { font-size:.49rem; }.nft-front-ranking-row { grid-template-columns:24px 35px minmax(0,1fr) 60px; }.nft-front-ranking-row img { width:35px; height:35px; } }
