@tailwind base;@tailwind components;@tailwind utilities;:root,[data-theme=obsidian]{--bg-primary:#060606;--bg-secondary:#0d0d0d;--bg-card:#111;--bg-card-hover:#161616;--bg-hover:#1a1a1a;--border:#222;--border-subtle:#161616;--border-hover:#333;--text-primary:#f2ede6;--text-secondary:#7a7672;--text-muted:#3d3b38;--accent:#c9a84c;--accent-light:#e4c97a;--accent-dim:#6a5520;--accent-glow:#c9a84c1f;--accent-glow2:#c9a84c0f;--accent-rgb:201,168,76;--danger:#e05252;--success:#52c97e;--chain-eth:#627eea;--chain-sol:#9945ff;--chain-matic:#8247e5;--chain-base:#0052ff;--chain-btc:#f7931a;--chain-tez:#2c7df7;--sidebar-w:228px;--header-h:60px;--font-main:"Syne", sans-serif;--font-mono:"DM Mono", monospace;--radius:3px;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 16px 48px #0009;--shadow-xl:0 32px 80px #000000b3;--title-gradient:linear-gradient(135deg, #f2ede6 60%, #7a7672 100%);--sidebar-bg:var(--bg-secondary);--sidebar-border:var(--border);--nav-active-bg:var(--accent-glow);--nav-active-color:var(--accent);--nav-active-border:#c9a84c33;--stat-accent-line:var(--accent);--page-grain:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.025'/%3E%3C/svg%3E");--top-accent:linear-gradient(to right, transparent 0%, #6a5520 30%, #c9a84c 50%, #6a5520 70%, transparent 100%);--logo-shadow:0 2px 10px #c9a84c4d;--logo-subtitle-color:var(--accent);--btn-primary-shadow:0 2px 12px #c9a84c40;--btn-primary-hover-shadow:0 4px 20px #c9a84c59;--input-focus-shadow:0 0 0 3px #c9a84c0f}[data-theme=dark]{--bg-primary:#040714;--bg-secondary:#080d1f;--bg-card:#0c1228;--bg-card-hover:#111930;--bg-hover:#141d35;--border:#6378ff26;--border-subtle:#6378ff12;--border-hover:#6378ff4d;--text-primary:#e8eeff;--text-secondary:#6b7bb8;--text-muted:#2d3760;--accent:#6378ff;--accent-light:#8b9dff;--accent-dim:#2a3580;--accent-glow:#6378ff24;--accent-glow2:#6378ff12;--accent-rgb:99,120,255;--accent2:#a855f7;--accent2-glow:#a855f724;--danger:#ff5f7e;--success:#34d99b;--chain-eth:#7b95ff;--chain-sol:#be7bff;--chain-matic:#a67bff;--chain-base:#4d8aff;--chain-btc:#ffb347;--chain-tez:#4daaff;--sidebar-w:228px;--header-h:60px;--font-main:"Space Grotesk", "Syne", sans-serif;--font-mono:"DM Mono", monospace;--radius:8px;--shadow-sm:0 1px 4px #00001480;--shadow-md:0 4px 20px #00001e99;--shadow-lg:0 16px 60px #00001eb3;--shadow-xl:0 32px 100px #00001ecc;--title-gradient:linear-gradient(135deg, #e8eeff 0%, #6378ff 60%, #a855f7 100%);--sidebar-bg:#080d1ff2;--sidebar-border:#6378ff26;--nav-active-bg:#6378ff24;--nav-active-color:var(--accent-light);--nav-active-border:#6378ff4d;--stat-accent-line:var(--accent);--page-grain:none;--top-accent:linear-gradient(to right, transparent 0%, #6378ff66 20%, #a855f7cc 50%, #6378ff66 80%, transparent 100%);--logo-shadow:0 2px 16px #6378ff66;--logo-subtitle-color:var(--accent-light);--btn-primary-shadow:0 4px 16px #6378ff59;--btn-primary-hover-shadow:0 6px 28px #6378ff80;--input-focus-shadow:0 0 0 3px #6378ff1f}[data-theme=dark] body{background:radial-gradient(ellipse 80% 50% at 50% -20%, #6378ff1f 0%, transparent 70%), radial-gradient(ellipse 60% 40% at 80% 80%, #a855f714 0%, transparent 60%), var(--bg-primary)}[data-theme=dark] .nfc-card{-webkit-backdrop-filter:blur(12px);background:#0c1228b3;border-color:#6378ff1f;border-radius:12px}[data-theme=dark] .nfc-card:hover{border-color:#6378ff4d;box-shadow:0 8px 32px #00001e66,inset 0 1px #ffffff0d}[data-theme=dark] .nfc-stat-card{background:linear-gradient(135deg,#0c1228e6 0%,#080d1fe6 100%);border-color:#6378ff1f;border-radius:12px}[data-theme=dark] .sidebar{-webkit-backdrop-filter:blur(20px);background:#080d1ff7;border-right-color:#6378ff1f}[data-theme=dark] .sidebar-nav-item.active{background:linear-gradient(135deg,#6378ff2e 0%,#a855f71a 100%);border-color:#6378ff4d}[data-theme=dark] .nfc-btn-primary{color:#fff;background:linear-gradient(135deg,#6378ff 0%,#a855f7 100%)}[data-theme=dark] .nfc-btn-primary:hover{background:linear-gradient(135deg,#7b95ff 0%,#be7bff 100%)}[data-theme=dark] .nfc-input:focus{border-color:#6378ff80;box-shadow:0 0 0 3px #6378ff1f,0 0 20px #6378ff14}[data-theme=dark] .chain-badge.eth{color:var(--chain-eth);background:#7b95ff1a;border-color:#7b95ff40}[data-theme=dark] .chain-badge.sol{color:var(--chain-sol);background:#be7bff1a;border-color:#be7bff40}[data-theme=dark] .chain-badge.matic{color:var(--chain-matic);background:#a67bff1a;border-color:#a67bff40}[data-theme=dark] .chain-badge.base{color:var(--chain-base);background:#4d8aff1a;border-color:#4d8aff40}[data-theme=dark] .chain-badge.btc{color:var(--chain-btc);background:#ffb3471a;border-color:#ffb34740}[data-theme=dark] .chain-badge.tez{color:var(--chain-tez);background:#4daaff1a;border-color:#4daaff40}[data-theme=dark] .nft-card{border-radius:10px;overflow:hidden}[data-theme=dark] .nft-card:hover{box-shadow:0 0 0 1px #6378ff66,0 8px 32px #6378ff26}[data-theme=dark] .mobile-bottom-nav{-webkit-backdrop-filter:blur(20px);background:#080d1ff2;border-top-color:#6378ff26}[data-theme=dark] .mobile-topbar{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#080d1ff2;border-bottom-color:#6378ff26}[data-theme=dark] .page-header{background:linear-gradient(#6378ff0a 0%,#0000 100%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-main);background-image:var(--page-grain);min-height:100dvh;transition:background .3s,color .3s}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}::selection{background:var(--accent-glow);color:var(--accent)}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.font-mono{font-family:var(--font-mono)!important}.nfc-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s,box-shadow .2s}.nfc-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.nfc-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s,box-shadow .25s;position:relative;overflow:hidden}.nfc-stat-card:before{content:"";background:var(--stat-accent-line);opacity:0;width:2px;height:100%;transition:opacity .25s;position:absolute;top:0;left:0}.nfc-stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.nfc-stat-card:hover:before{opacity:1}.nfc-btn{font-family:var(--font-main);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:var(--radius);white-space:nowrap;border:none;align-items:center;font-size:.72rem;font-weight:700;transition:all .15s;display:inline-flex}.nfc-btn-primary{background:var(--accent);color:#060606;box-shadow:var(--btn-primary-shadow);padding:10px 22px}.nfc-btn-primary:hover{background:var(--accent-light);box-shadow:var(--btn-primary-hover-shadow);transform:translateY(-1px)}.nfc-btn-primary:active{transform:none}.nfc-btn-ghost{color:var(--text-secondary);border:1px solid var(--border);background:0 0;padding:9px 20px}.nfc-btn-ghost:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-hover)}.nfc-btn-danger{color:var(--danger);background:0 0;border:1px solid #e0525240;padding:9px 20px}.nfc-btn-danger:hover{border-color:var(--danger);background:#e0525214}.nfc-input{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font-main);width:100%;padding:11px 14px;font-size:.88rem;transition:border-color .15s,box-shadow .15s}.nfc-input::placeholder{color:var(--text-muted)}.nfc-input:focus{border-color:var(--accent-dim);box-shadow:var(--input-focus-shadow);outline:none}.nfc-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:7px;font-size:.65rem;font-weight:700;display:block}.nfc-stat{flex-direction:column;gap:5px;display:flex}.nfc-stat-value{color:var(--text-primary);letter-spacing:-.02em;font-size:1.9rem;font-weight:800;line-height:1}.nfc-stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);font-size:.65rem}.nfc-stat-sub{color:var(--text-muted);font-size:.6rem;font-family:var(--font-mono);margin-top:2px}.chain-badge{border-radius:calc(var(--radius) - 1px);letter-spacing:.08em;text-transform:uppercase;font-size:.6rem;font-weight:700;font-family:var(--font-mono);border:1px solid #0000;align-items:center;gap:4px;padding:3px 8px;display:inline-flex}.chain-badge.eth{color:var(--chain-eth);background:#627eea1a;border-color:#627eea33}.chain-badge.sol{color:var(--chain-sol);background:#9945ff1a;border-color:#9945ff33}.chain-badge.matic{color:var(--chain-matic);background:#8247e51a;border-color:#8247e533}.chain-badge.base{color:var(--chain-base);background:#0052ff1a;border-color:#0052ff33}.chain-badge.btc{color:var(--chain-btc);background:#f7931a1a;border-color:#f7931a33}.chain-badge.tez{color:var(--chain-tez);background:#2c7df71a;border-color:#2c7df733}.nft-grid{background:var(--border-subtle);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1px;display:grid}.nft-card{background:var(--bg-card);aspect-ratio:1;cursor:pointer;transition:box-shadow .2s;position:relative;overflow:hidden}.nft-card img{object-fit:cover;width:100%;height:100%;transition:transform .45s cubic-bezier(.25,.46,.45,.94)}.nft-card:hover img{transform:scale(1.06)}.nft-card-overlay{opacity:0;background:linear-gradient(#0000 30%,#04071466 60%,#040714f7 100%);flex-direction:column;justify-content:flex-end;padding:14px;transition:opacity .25s;display:flex;position:absolute;inset:0}.nft-card:hover .nft-card-overlay{opacity:1}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:50;flex-direction:column;min-height:100vh;transition:transform .3s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;left:0}.sidebar-logo{border-bottom:1px solid var(--border);padding:26px 22px 22px}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding:16px 10px;display:flex;overflow-y:auto}.sidebar-nav-item{border-radius:var(--radius);color:var(--text-secondary);letter-spacing:.03em;cursor:pointer;border:1px solid #0000;align-items:center;gap:11px;padding:11px 13px;font-size:.8rem;font-weight:600;text-decoration:none;transition:all .15s;display:flex;position:relative}.sidebar-nav-item:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.sidebar-nav-item.active{background:var(--nav-active-bg);color:var(--nav-active-color);border-color:var(--nav-active-border)}.sidebar-nav-item.active:before{content:"";background:var(--accent);border-radius:0 1px 1px 0;width:2px;height:60%;position:absolute;top:20%;left:0}.main-content{margin-left:var(--sidebar-w);background:var(--bg-primary);min-height:100vh}.page-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;padding:32px 40px 24px;display:flex}.page-title{letter-spacing:-.03em;background:var(--title-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.7rem;font-weight:800}.page-subtitle{color:var(--text-secondary);letter-spacing:.02em;margin-top:5px;font-size:.78rem}.nfc-table{border-collapse:collapse;width:100%}.nfc-table th{text-align:left;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding:11px 16px;font-size:.6rem;font-weight:700}.nfc-table td{border-bottom:1px solid var(--border-subtle);padding:13px 16px;font-size:.82rem}.nfc-table tr:last-child td{border-bottom:none}.nfc-table tbody tr{transition:background .1s}.nfc-table tbody tr:hover{background:var(--bg-hover)}.mobile-topbar{height:var(--header-h);background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:60;justify-content:space-between;align-items:center;padding:0 18px;display:none;position:fixed;top:0;left:0;right:0}.nav-overlay{z-index:49;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;display:none;position:fixed;inset:0}.nav-overlay.open{display:block}.mobile-bottom-nav{z-index:60;background:var(--bg-secondary);border-top:1px solid var(--border);padding:6px 0 max(6px, env(safe-area-inset-bottom));display:none;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav-items{align-items:stretch;max-width:480px;margin:0 auto;display:flex}.mobile-nav-item{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;font-size:.52rem;font-weight:700;font-family:var(--font-main);background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 4px;text-decoration:none;transition:color .15s;display:flex}.mobile-nav-item.active{color:var(--accent)}.mobile-nav-item:not(.active):hover{color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-accent{0%,to{opacity:1}50%{opacity:.4}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.animate-fade-up{animation:.4s forwards fadeUp}.stagger-1{opacity:0;animation-delay:60ms}.stagger-2{opacity:0;animation-delay:.12s}.stagger-3{opacity:0;animation-delay:.18s}.stagger-4{opacity:0;animation-delay:.24s}.stagger-5{opacity:0;animation-delay:.3s}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-hover) 50%, var(--bg-card) 75%);background-size:400px 100%;animation:1.4s infinite shimmer}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:22px;height:22px;animation:.65s linear infinite spin}@media (max-width:1024px){:root,[data-theme]{--sidebar-w:200px}.page-header{padding:24px 28px 20px}}@media (max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{box-shadow:var(--shadow-xl);transform:translate(0)}.mobile-topbar{display:flex}.mobile-bottom-nav{display:block}.main-content{padding-top:var(--header-h);margin-left:0;padding-bottom:72px}.page-header{padding:20px 18px 16px}.page-title{font-size:1.3rem}.stats-grid-4,.stats-grid-3{grid-template-columns:repeat(2,1fr)!important}.charts-grid{grid-template-columns:1fr!important}.nft-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.recent-grid{grid-template-columns:repeat(4,1fr)!important}.section-pad{padding:20px 18px!important}.section-gap{gap:20px!important}.hide-scrollbar{scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.filter-bar{padding-bottom:2px;overflow-x:auto;flex-wrap:nowrap!important}.filter-bar .nfc-btn{flex-shrink:0}.mobile-table-hide{display:none}}@media (max-width:480px){.stats-grid-4{grid-template-columns:repeat(2,1fr)!important}.nfc-stat-value{font-size:1.5rem}.recent-grid{grid-template-columns:repeat(3,1fr)!important}.page-title{font-size:1.15rem}.nft-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}.tooltip{position:relative}.tooltip:after{content:attr(data-tip);background:var(--bg-hover);border:1px solid var(--border);color:var(--text-primary);border-radius:var(--radius);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-md);padding:5px 10px;font-size:.68rem;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.tooltip:hover:after{opacity:1}
