/* assets/base-inline-1.css */

    :root{color-scheme:dark;--bg:#090a0c;--panel:#101216;--panel2:#15181d;--line:rgba(255,255,255,.085);--muted:#8a9099;--cream:#f5f0e5;--gold:#d2ae72;--gold2:#f1d5a0;--lime:#d8ef7e;--green:#b4ce69;--danger:#e4a27a;--radius:22px;--shadow:0 28px 80px rgba(0,0,0,.42);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
    *{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 80% -18%,rgba(183,143,74,.13),transparent 37%),radial-gradient(ellipse at 4% 38%,rgba(69,100,89,.11),transparent 31%),var(--bg);color:var(--cream);min-height:100vh}button{font:inherit;color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}a{color:inherit;text-decoration:none}.app{min-height:100vh}.shell{width:min(1220px,calc(100% - 48px));margin:0 auto}.topbar{height:82px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:22px}.brand{display:flex;align-items:center;gap:11px;min-width:192px}.mark{width:40px;height:40px;border-radius:14px;background:linear-gradient(145deg,#f2d69d,#ad8345);display:grid;place-items:center;box-shadow:0 8px 24px #d2ae7225}.mark svg{width:27px;height:27px}.brand-name{font-size:16px;font-weight:700;letter-spacing:.1em}.brand-sub{font-size:9px;color:var(--muted);letter-spacing:.18em;margin-top:3px;text-transform:uppercase}.nav{display:flex;align-items:center;gap:6px;padding:5px;background:#111317;border:1px solid var(--line);border-radius:999px}.nav button{border:0;background:transparent;color:#969ba3;padding:10px 18px;border-radius:999px;cursor:pointer;font-size:13px;transition:.2s}.nav button:hover{color:var(--cream)}.nav button.active{background:#29251e;color:var(--gold2);box-shadow:inset 0 0 0 1px #d2ae722b}.right-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:220px}.network{height:38px;display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#111317;color:#bfc2c5;font-size:11px;white-space:nowrap}.network-dot{width:7px;height:7px;border-radius:50%;background:#dcb875;box-shadow:0 0 9px #dcb87580}.wallet-btn{height:40px;padding:0 15px;border:1px solid #d2ae7254;border-radius:999px;background:linear-gradient(145deg,#d2ae72,#b98e4e);color:#17130d;font-weight:700;font-size:12px;cursor:pointer;white-space:nowrap;transition:transform .16s,filter .16s}.wallet-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.wallet-btn.connected{background:#181c19;border-color:#819461;color:#d0e6a0}.wallet-address{display:block;max-width:130px;overflow:hidden;text-overflow:ellipsis}.mobile-nav{display:none}.view{display:none;padding:34px 0 70px}.view.active{display:block}.eyebrow{display:flex;align-items:center;gap:9px;color:var(--gold);font-size:10px;font-weight:650;letter-spacing:.19em;text-transform:uppercase}.eyebrow:before{content:"";width:20px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(39px,5.7vw,74px);line-height:1.04;letter-spacing:-.045em;margin:21px 0 20px;font-weight:630}.title-glow{color:var(--gold2)}.lead{color:#9ea2a8;font-size:15px;line-height:1.9;max-width:520px;margin:0}.hero{display:grid;grid-template-columns:1.03fr .97fr;gap:50px;align-items:center;padding:40px 0 48px}.hero-copy{padding:6px 0}.hero-meta{display:flex;align-items:center;gap:16px;margin-top:30px;color:#7d838c;font-size:11px}.hero-meta .line{width:34px;height:1px;background:#555044}.hero-meta strong{color:#c7b38e;font-weight:500}.hero-visual{min-height:380px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid #d2ae7226;border-radius:30px;background:radial-gradient(ellipse at 50% 42%,#362a1b 0%,#171612 32%,#111216 70%);box-shadow:var(--shadow)}.hero-visual:before,.hero-visual:after{content:"";position:absolute;border:1px solid #d2ae7224;border-radius:50%;width:270px;height:270px;transform:rotate(-25deg) scaleY(.45)}.hero-visual:after{width:365px;height:365px;transform:rotate(28deg) scaleY(.45);border-color:#d2ae7219}.halo{position:absolute;width:235px;height:235px;border-radius:50%;background:radial-gradient(circle,#d4ae6f24 0%,#bc925b14 39%,transparent 69%);filter:blur(7px)}.cat-emblem{position:relative;z-index:1;width:174px;height:190px;filter:drop-shadow(0 12px 32px #d2ae7242);animation:float 5.5s ease-in-out infinite}.visual-word{position:absolute;bottom:25px;left:28px;color:#716956;font-size:9px;letter-spacing:.24em}.visual-index{position:absolute;top:27px;right:29px;color:#77705e;font-size:10px;letter-spacing:.14em}.spark{position:absolute;width:4px;height:4px;border-radius:50%;background:#f3d6a0;box-shadow:0 0 12px 4px #e7c98b55}.spark.s1{left:22%;top:24%}.spark.s2{right:23%;top:37%;width:3px;height:3px}.spark.s3{left:31%;bottom:25%;width:3px;height:3px}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
    .section-label{display:flex;justify-content:space-between;align-items:end;margin:4px 0 16px}.section-label h2{font-size:18px;letter-spacing:.01em;margin:0}.section-label p{font-size:11px;color:var(--muted);margin:0}.feature-grid{display:grid;grid-template-columns:1.16fr .84fr .84fr;gap:14px}.card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(150deg,rgba(24,27,32,.97),rgba(15,17,20,.97));box-shadow:0 16px 44px #0002}.subscription{position:relative;overflow:hidden;padding:25px 26px 23px;border-color:#d2ae7238;background:radial-gradient(ellipse at 89% -9%,#d2ae7221,transparent 42%),linear-gradient(145deg,#201c16,#141518 74%)}.subscription:after{position:absolute;content:"MW";right:19px;top:19px;font:600 72px/1 Georgia,serif;color:#d2ae720b;letter-spacing:-.12em}.card-kicker{font-size:10px;color:#b69a68;letter-spacing:.16em;text-transform:uppercase}.sub-amount{display:flex;align-items:baseline;gap:9px;margin:16px 0 10px}.sub-amount strong{font-size:36px;letter-spacing:-.05em;font-weight:590}.sub-amount span{font-size:12px;color:#9a9b9b}.sub-detail{color:#a5a3a0;font-size:12px;line-height:1.7;margin-bottom:18px}.sub-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;border-top:1px solid #ffffff13;padding-top:17px}.sub-bottom .reward{font-size:11px;color:#d9c69f}.reward b{display:block;font-size:17px;font-weight:570;color:#f0dfbd;margin-top:4px}.small-btn{padding:10px 14px;border:1px solid #d2ae7240;border-radius:12px;color:#dec18c;background:#d2ae7210;font-size:11px;font-weight:650;cursor:pointer}.small-btn:hover:not(:disabled){background:#d2ae7222}.small-btn:disabled{opacity:.52;cursor:not-allowed}.tile{padding:23px;display:flex;flex-direction:column;min-height:188px;transition:transform .2s,border-color .2s;cursor:pointer}.tile:hover{transform:translateY(-3px);border-color:#d2ae7240}.tile-icon{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;background:#d6bd8620;color:var(--gold2);margin-bottom:auto}.tile-icon svg{width:19px;height:19px}.tile h3{font-size:15px;margin:20px 0 6px;font-weight:610}.tile p{color:var(--muted);font-size:11px;line-height:1.6;margin:0}.tile-go{margin-left:auto;color:#a98c5f;font-size:19px}.how{margin-top:35px;padding:22px 25px;display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:18px;border:1px solid var(--line);border-radius:18px;background:#111317b8}.how-item{display:flex;align-items:center;gap:12px}.step-no{font:italic 18px/1 Georgia,serif;color:#b79561}.how-item b{display:block;font-size:11px;font-weight:600}.how-item span{display:block;color:#81868e;font-size:10px;margin-top:4px}.how-arrow{color:#504a3e;font-size:15px}.notice{margin-top:13px;color:#717780;font-size:10px;line-height:1.7}.page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:13px 0 24px}.page-heading h1{font-size:42px;margin:11px 0 8px}.page-heading p{font-size:12px;color:#91969e;margin:0}.module-note{display:flex;align-items:center;gap:10px;border:1px solid #d2ae7229;background:#d2ae720a;border-radius:15px;padding:13px 15px;margin-bottom:14px;color:#bdad8f;font-size:11px;line-height:1.65}.module-note svg{flex:0 0 auto;color:var(--gold);width:16px}.frame-wrap{overflow:hidden;border:1px solid #d2ae721e;border-radius:22px;background:#0a0b0d;box-shadow:var(--shadow)}.frame-wrap iframe{display:block;width:100%;height:780px;border:0;background:#090a0c}.frame-wrap.nft-frame iframe{height:min(850px,calc(100vh - 210px));min-height:690px}.frame-head{display:flex;align-items:center;justify-content:space-between;padding:12px 17px;border-bottom:1px solid var(--line);background:#111317}.frame-head strong{font-size:12px;font-weight:600}.frame-head span{font-size:10px;color:#8e9297}.frame-tag{display:flex;align-items:center;gap:7px;color:#c9d8a3!important}.frame-tag:before{content:"";width:6px;height:6px;border-radius:50%;background:#a9cf67}.my-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px}.account-card{padding:28px;min-height:260px;background:radial-gradient(ellipse at 95% 8%,#d2ae721c,transparent 42%),linear-gradient(145deg,#1b1c1c,#111317)}.account-top{display:flex;align-items:center;gap:14px}.account-avatar{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(145deg,#d8bd83,#96703d);color:#17140e}.account-avatar svg{width:28px}.account-top h2{font-size:17px;margin:0 0 5px}.account-top p{font-size:11px;color:#858a91;margin:0}.address-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#08090b80}.address-label{font-size:10px;color:#838991}.address-value{margin-top:5px;font-family:ui-monospace,monospace;font-size:11px;color:#d4c6aa;overflow:hidden;text-overflow:ellipsis}.copy-btn{border:0;background:none;color:#bfa16f;cursor:pointer;font-size:11px;white-space:nowrap}.account-foot{display:flex;justify-content:space-between;align-items:center;margin-top:20px;font-size:10px;color:#8c929a}.connected-mark{color:#bdd388;display:flex;align-items:center;gap:7px}.connected-mark:before{content:"";width:6px;height:6px;border-radius:50%;background:#acd174}.balance-card{padding:25px}.balance-card h3{font-size:14px;margin:0}.balance-card .caption{font-size:10px;color:#7e858d;margin-top:6px}.balance-list{margin-top:16px}.balance-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-top:1px solid var(--line)}.asset{display:flex;align-items:center;gap:10px}.coin{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:750;color:#16130d;background:linear-gradient(145deg,#eed394,#ab834b)}.coin.usdt{background:linear-gradient(145deg,#7dd6b1,#379879);color:#092016}.asset b{display:block;font-size:11px}.asset small{display:block;font-size:9px;color:#798089;margin-top:4px}.balance-value{text-align:right;font-size:12px;color:#d7d0c3}.balance-value small{display:block;color:#78818b;font-size:9px;margin-top:4px}.empty-card{margin-top:16px;padding:23px 25px}.empty-title{display:flex;justify-content:space-between;align-items:center}.empty-title h3{font-size:13px;margin:0}.empty-title span{font-size:10px;color:#7d848c}.empty-content{border-top:1px solid var(--line);margin-top:15px;padding:22px 0 5px;text-align:center;color:#818891;font-size:11px}.empty-content strong{display:block;color:#c5b28e;font-size:12px;font-weight:550;margin-bottom:5px}.my-hint{font-size:10px;line-height:1.7;color:#747b83;margin-top:14px}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,18px);opacity:0;pointer-events:none;z-index:10;padding:12px 17px;border:1px solid #d2ae7250;border-radius:13px;background:#171713;color:#eee3ce;font-size:11px;box-shadow:var(--shadow);transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}.footer{padding:20px 0 27px;border-top:1px solid var(--line);color:#656b73;font-size:9px;display:flex;justify-content:space-between;gap:12px}.footer span:last-child{color:#8a806d}
    @media(max-width:900px){.shell{width:min(100% - 34px,720px)}.brand{min-width:auto}.brand-sub{display:none}.network{display:none}.right-tools{min-width:auto}.hero{gap:25px}.feature-grid{grid-template-columns:1.1fr .9fr}.subscription{grid-row:span 2}.tile{min-height:170px}.how{gap:10px;padding:19px}.how-item{gap:8px}.how-item span{font-size:9px}.my-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:640px){.shell{width:calc(100% - 28px)}.topbar{height:67px;gap:8px}.brand{gap:8px}.mark{width:35px;height:35px;border-radius:12px}.brand-name{font-size:14px}.nav{display:none}.right-tools{gap:7px}.wallet-btn{height:36px;padding:0 12px;font-size:11px}.mobile-nav{display:flex;position:sticky;top:0;z-index:5;margin-top:10px;padding:4px;gap:3px;justify-content:space-between;background:#101216ed;border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(18px)}.mobile-nav button{flex:1;padding:10px 3px;border:0;background:transparent;color:#858b93;border-radius:10px;font-size:10px}.mobile-nav button.active{background:#29251e;color:var(--gold2)}.view{padding:24px 0 50px}.hero{grid-template-columns:1fr;gap:25px;padding:20px 0 29px}.hero-copy{padding:5px 2px}.eyebrow{font-size:9px}h1{font-size:48px;margin:17px 0 15px}.lead{font-size:13px;line-height:1.8}.hero-meta{margin-top:19px;font-size:10px}.hero-visual{min-height:280px;border-radius:24px}.cat-emblem{width:145px;height:158px}.section-label{margin:0 2px 12px}.section-label h2{font-size:16px}.section-label p{font-size:9px}.feature-grid{grid-template-columns:1fr 1fr;gap:10px}.subscription{grid-column:1 / -1;grid-row:auto;padding:21px}.sub-amount{margin:12px 0 7px}.sub-amount strong{font-size:32px}.sub-detail{margin-bottom:14px;font-size:11px}.sub-bottom{padding-top:13px}.reward b{font-size:15px}.tile{padding:17px;min-height:153px;border-radius:18px}.tile-icon{width:34px;height:34px;border-radius:11px}.tile h3{font-size:13px;margin:17px 0 6px}.tile p{font-size:10px}.how{grid-template-columns:1fr;gap:13px;margin-top:18px;padding:19px}.how-arrow{display:none}.how-item{gap:12px}.step-no{width:20px}.notice{font-size:9px}.page-heading{align-items:start;margin:8px 0 18px}.page-heading h1{font-size:34px}.page-heading p{font-size:11px;line-height:1.6}.module-note{font-size:10px;padding:11px 12px}.frame-wrap{border-radius:16px}.frame-head{padding:10px 12px}.frame-head span{font-size:9px}.frame-wrap iframe{height:720px}.frame-wrap.nft-frame iframe{height:calc(100vh - 205px);min-height:630px}.my-grid{grid-template-columns:1fr;gap:11px}.account-card,.balance-card{padding:21px}.account-card{min-height:auto}.account-foot{margin-top:16px}.empty-card{margin-top:11px;padding:20px}.footer{font-size:8px}.footer span:last-child{max-width:145px;text-align:right}}
    @media(max-width:760px){.nft-stage{display:block}.nft-stage .nft-side{display:none}.nft-stage iframe{width:100%;max-width:100%}}
    @media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
    .frame-stage{position:relative}.swap-locked iframe{pointer-events:none;filter:brightness(.54) saturate(.72)}.frame-cover{position:absolute;inset:0;z-index:2;display:grid;place-items:center;padding:18px;background:linear-gradient(180deg,#090a0c10,#090a0c55);backdrop-filter:blur(1px)}.cover-card{max-width:390px;padding:25px 27px;text-align:center;border:1px solid #d2ae7244;border-radius:19px;background:#141511ed;box-shadow:var(--shadow)}.cover-icon{width:42px;height:42px;margin:0 auto 14px;border-radius:14px;display:grid;place-items:center;color:var(--gold2);background:#d2ae7217}.cover-card h3{font-size:15px;margin:0 0 8px}.cover-card p{font-size:11px;color:#9a9b94;line-height:1.7;margin:0}.cover-card small{display:block;font-size:9px;color:#b6a47d;margin-top:13px}.nft-stage{display:grid;grid-template-columns:minmax(0,1fr) 430px minmax(0,1fr);align-items:stretch;background:radial-gradient(ellipse at center,#222019 0%,#101114 55%,#0b0c0e 100%)}.nft-stage .nft-side{padding:35px 28px;display:flex;flex-direction:column;justify-content:center}.nft-side .side-kicker{color:#9e895f;font-size:9px;letter-spacing:.2em}.nft-side h3{color:#eee5d3;font-size:21px;font-weight:560;line-height:1.45;margin:18px 0 10px}.nft-side p{color:#858991;font-size:11px;line-height:1.9;margin:0}.side-orbit{width:90px;height:90px;margin:0 0 22px;border:1px solid #d2ae7240;border-radius:50%;display:grid;place-items:center;color:#d3b579;background:radial-gradient(circle,#d2ae7224,transparent 70%);font:italic 34px Georgia,serif;box-shadow:0 0 40px #d2ae7210}.side-rule{height:1px;background:linear-gradient(90deg,#d2ae7240,transparent);margin:23px 0}.side-step{display:flex;align-items:start;gap:11px;margin:13px 0;color:#a7a8a5;font-size:10px;line-height:1.6}.side-step b{font:italic 13px Georgia,serif;color:#bda374}.nft-stage iframe{width:430px;max-width:100%;justify-self:center;box-shadow:0 0 50px #0006}
  
/* assets/base-inline-2.css */

    .nft-page-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:13px 0 21px}.nft-page-heading h1{font-size:42px;margin:12px 0 8px}.nft-page-heading p{margin:0;color:#999da3;font-size:12px}
    .nft-hero-card{position:relative;isolation:isolate;overflow:hidden;min-height:345px;padding:39px 44px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;border-color:#d2ae7233;background:radial-gradient(ellipse at 80% 50%,#8b68221a,transparent 42%),linear-gradient(115deg,#1d1a15,#131518 60%,#171612)}
    .nft-hero-card:after{position:absolute;content:"";inset:0;z-index:-1;opacity:.16;background-image:linear-gradient(115deg,transparent 0 72%,#d2ae7210 72.1% 72.3%,transparent 72.4%),radial-gradient(#ffffff1a .6px,transparent .7px);background-size:100% 100%,9px 9px;mask-image:linear-gradient(90deg,transparent 30%,#000)}
    .nft-hero-copy{position:relative;z-index:2;max-width:500px}.nft-overline{color:#c5a46e;font-size:9px;font-weight:650;letter-spacing:.21em}.nft-hero-copy h2{font-size:clamp(30px,3.5vw,45px);line-height:1.26;letter-spacing:-.04em;margin:17px 0 11px;font-weight:620}.nft-hero-copy h2 span{color:#e0c28d}.nft-hero-copy p{max-width:460px;color:#a5a39d;font-size:12px;line-height:1.85;margin:0}.nft-hero-actions{display:flex;align-items:center;gap:11px;margin-top:22px}.nft-primary,.nft-secondary{height:40px;padding:0 16px;border-radius:12px;font-size:11px;font-weight:650;cursor:pointer;transition:transform .18s,background .18s,border-color .18s}.nft-primary{border:1px solid #dec28d;background:linear-gradient(140deg,#e5c993,#be9758);color:#1d180f;box-shadow:0 8px 26px #c49b5a20}.nft-primary:hover{transform:translateY(-1px);filter:brightness(1.06)}.nft-primary:disabled{cursor:wait;opacity:.66;transform:none}.nft-secondary{border:1px solid #ffffff20;background:#ffffff08;color:#d5c7ac}.nft-secondary:hover{background:#ffffff11;border-color:#d2ae7250}.nft-secondary span{padding-left:7px;color:#d4b77f}.nft-signature-note{margin-top:14px;color:#767a7d;font-size:9px;line-height:1.7}
    .nft-hero-art{position:relative;min-height:265px;display:grid;place-items:center;overflow:hidden}.nft-art-glow{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,#d2ae7235 0%,#d2ae7210 43%,transparent 70%);filter:blur(9px)}.nft-orbit{position:absolute;width:300px;height:156px;border:1px solid #d2ae7225;border-radius:50%;transform:rotate(-19deg)}.nft-orbit-b{width:350px;height:193px;transform:rotate(22deg);border-color:#d2ae7218}.nft-cat-art{position:relative;z-index:1;width:190px;height:205px;filter:drop-shadow(0 18px 36px #d2ae7247);animation:float 5.5s ease-in-out infinite}.nft-art-caption{position:absolute;bottom:4px;color:#86785f;font-size:8px;letter-spacing:.24em}.nft-art-seal{position:absolute;top:20px;right:12%;font:italic 19px Georgia,serif;color:#92774b;opacity:.75}
    .nft-overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:13px}.nft-overview-card{padding:16px 19px;min-height:94px;display:grid;grid-template-columns:1fr auto;align-content:center;gap:6px 12px;border-radius:16px}.nft-overview-card>span{font-size:10px;color:#92969b}.nft-overview-card>strong{grid-column:1/-1;font-size:19px;line-height:1.2;color:#e7dbc5;font-weight:590}.nft-overview-card>small{grid-column:2;grid-row:1;color:#777d84;font-size:9px}
    .nft-market-section{padding-top:44px;scroll-margin-top:25px}.nft-market-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.nft-market-heading h2{font-size:25px;margin:10px 0 7px;letter-spacing:-.03em}.nft-market-heading p{margin:0;color:#858a92;font-size:11px}.nft-search{width:min(250px,38%);height:39px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:#111317;color:#918c81}.nft-search span{font-size:21px;line-height:1}.nft-search input{width:100%;border:0;outline:0;background:transparent;color:#e8dfcf;font:inherit;font-size:10px}.nft-search input::placeholder{color:#70767d}
    .nft-filter-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:19px 0 14px;padding-bottom:12px;border-bottom:1px solid var(--line)}.nft-type-filters{display:flex;align-items:center;gap:7px;overflow:auto;scrollbar-width:none}.nft-type-filters::-webkit-scrollbar{display:none}.nft-type-filters button{flex:0 0 auto;padding:8px 12px;border:1px solid transparent;border-radius:999px;background:transparent;color:#8f949a;font-size:10px;cursor:pointer}.nft-type-filters button:hover{color:#ded2bd}.nft-type-filters button.active{border-color:#d2ae7233;background:#d2ae7214;color:#e1c895}.nft-live-status{display:flex;align-items:center;gap:7px;flex:0 0 auto;color:#838981;font-size:9px}.nft-live-status i{width:6px;height:6px;border-radius:50%;background:#747b70}.nft-live-status.ready{color:#b5cc8d}.nft-live-status.ready i{background:#a6c76b;box-shadow:0 0 8px #a6c76b90}.nft-live-status.error{color:#db9d7e}.nft-live-status.error i{background:#db9d7e}
    .nft-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.nft-card{overflow:hidden;border:1px solid #ffffff12;border-radius:17px;background:linear-gradient(155deg,#191b1f,#111316);transition:transform .2s,border-color .2s,box-shadow .2s}.nft-card:hover{transform:translateY(-3px);border-color:#d2ae7245;box-shadow:0 16px 36px #0004}.nft-card-art{height:190px;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 45%,#84633865,transparent 60%),linear-gradient(145deg,#28221a,#111316)}.nft-card-art:before,.nft-card-art:after{content:"";position:absolute;border:1px solid #d2ae7233;border-radius:50%;width:185px;height:185px;transform:scaleY(.65) rotate(-28deg)}.nft-card-art:after{width:230px;height:230px;transform:scaleY(.65) rotate(24deg);border-color:#d2ae721c}.nft-card-art img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover}.nft-card-art .nft-card-placeholder{position:relative;z-index:1;color:#d6b77d;font:italic 43px Georgia,serif;text-shadow:0 4px 25px #d2ae7240}.nft-card-index{position:absolute;z-index:2;top:11px;left:11px;padding:6px 8px;border:1px solid #ffffff22;border-radius:999px;background:#1113179c;color:#eadab8;font-size:8px;letter-spacing:.1em;backdrop-filter:blur(8px)}.nft-card-body{padding:14px}.nft-card-title{display:flex;justify-content:space-between;align-items:center;gap:7px}.nft-card-title strong{font-size:12px;font-weight:600;color:#eee6d8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nft-card-title span{flex:0 0 auto;color:#9b8b69;font:italic 10px Georgia,serif}.nft-card-meta{display:flex;justify-content:space-between;align-items:center;margin-top:13px;padding-top:11px;border-top:1px solid #ffffff10;color:#858991;font-size:9px}.nft-card-meta strong{display:block;color:#ded0b4;font-size:11px;font-weight:550;margin-top:4px}.nft-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.nft-card-footer span{color:#797f84;font-size:9px}.nft-card-footer button{padding:7px 9px;border:1px solid #d2ae7236;border-radius:9px;background:#d2ae720c;color:#d7bd8d;font-size:9px;cursor:pointer}.nft-card-footer button:hover{background:#d2ae721a}
    .nft-empty{min-height:230px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;margin-top:6px;border-radius:18px;background:radial-gradient(ellipse at 50% 0%,#d2ae720e,transparent 56%),#11131780}.nft-empty[hidden]{display:none}.nft-empty-mark{width:45px;height:45px;display:grid;place-items:center;margin-bottom:13px;border:1px solid #d2ae7240;border-radius:15px;background:#d2ae7211;color:#e0c58f;font:italic 22px Georgia,serif}.nft-empty strong{font-size:13px;font-weight:580;color:#d9cbb0}.nft-empty p{max-width:390px;color:#858a91;font-size:10px;line-height:1.75;margin:8px 0 14px}.nft-empty .nft-primary{height:35px;padding:0 13px;font-size:10px}.nft-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px}.nft-pagination[hidden]{display:none}.nft-pagination button{padding:8px 12px;border:1px solid var(--line);border-radius:9px;background:#111317;color:#b6ab97;font-size:10px;cursor:pointer}.nft-pagination button:disabled{opacity:.4;cursor:default}.nft-pagination span{color:#858a91;font-size:10px}.nft-market-footnote{display:flex;justify-content:space-between;gap:15px;margin-top:19px;color:#747a81;font-size:9px;line-height:1.7}.nft-market-footnote span:last-child{color:#988869}
    .nft-detail-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:20px;background:#050607bd;backdrop-filter:blur(8px)}.nft-detail-backdrop[hidden]{display:none}.nft-detail{position:relative;width:min(420px,100%);padding:19px;border:1px solid #d2ae7240;border-radius:20px;background:#15171a;box-shadow:0 24px 90px #0009}.nft-detail-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border:1px solid #ffffff19;border-radius:10px;background:#111317;color:#c2b59c;font-size:16px;cursor:pointer}.nft-detail-image{height:215px;display:grid;place-items:center;overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at 50% 45%,#84633865,transparent 60%),linear-gradient(145deg,#28221a,#111316)}.nft-detail-image img{width:100%;height:100%;object-fit:cover}.nft-detail-image span{color:#d6b77d;font:italic 48px Georgia,serif}.nft-detail h3{margin:16px 0 8px;color:#eee6d8;font-size:17px}.nft-detail p{color:#92969b;font-size:10px;line-height:1.8}.nft-detail-info{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#858991;font-size:10px}.nft-detail-info strong{color:#e0d2b6;font-size:12px;font-weight:580}.nft-detail-note{margin-top:13px!important;color:#b3a27d!important}
    .owned-nft-card{margin-top:16px;padding:23px 25px}.owned-nft-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:15px}.owned-nft-item{min-width:0;display:flex;align-items:center;gap:10px;padding:9px;border:1px solid #ffffff12;border-radius:12px;background:#0c0e10}.owned-nft-thumb{width:43px;height:43px;flex:0 0 auto;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:radial-gradient(circle,#876640aa,transparent 75%),#181715;color:#e0c58f;font:italic 13px Georgia,serif}.owned-nft-thumb img{width:100%;height:100%;object-fit:cover}.owned-nft-item strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d8c9ad;font-size:10px;font-weight:550}.owned-nft-item small{display:block;margin-top:4px;color:#858a91;font-size:8px}.owned-nft-empty{padding:20px 4px 2px;text-align:center;color:#858a91;font-size:10px}.owned-nft-empty[hidden]{display:none}
    .owned-nft-actions{display:flex;align-items:center;gap:12px}.my-nft-open{padding:6px 9px;border:1px solid #d2ae7230;border-radius:9px;background:#d2ae720c;color:#cdb17d;font-size:9px;cursor:pointer}.my-nft-open:hover{background:#d2ae7219}
    @media(max-width:900px){.nft-hero-card{padding:32px;min-height:315px}.nft-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.nft-card-art{height:175px}.owned-nft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:640px){.nft-page-heading{align-items:start;margin:8px 0 17px}.nft-page-heading h1{font-size:34px}.nft-page-heading p{font-size:11px;line-height:1.6}.nft-hero-card{grid-template-columns:1fr;padding:24px 20px 14px;min-height:auto;border-radius:18px}.nft-hero-copy h2{font-size:32px;margin:13px 0 9px}.nft-hero-copy p{font-size:11px}.nft-hero-actions{margin-top:17px}.nft-primary,.nft-secondary{height:37px;padding:0 13px}.nft-signature-note{font-size:8px;margin-top:11px}.nft-hero-art{min-height:205px;margin-top:1px}.nft-cat-art{width:157px;height:169px}.nft-art-glow{width:175px;height:175px}.nft-orbit{width:250px;height:130px}.nft-orbit-b{width:285px;height:150px}.nft-art-caption{bottom:2px;font-size:7px}.nft-overview-grid{gap:7px;margin-top:9px}.nft-overview-card{min-height:79px;padding:12px 10px;border-radius:13px;gap:5px}.nft-overview-card>span{font-size:9px}.nft-overview-card>strong{font-size:15px}.nft-overview-card>small{font-size:8px}.nft-market-section{padding-top:33px}.nft-market-heading{align-items:start;flex-direction:column;gap:13px}.nft-market-heading h2{font-size:22px;margin:8px 0 5px}.nft-market-heading p{font-size:10px}.nft-search{width:100%;height:37px}.nft-filter-row{align-items:start;flex-direction:column;gap:8px;margin:13px 0 11px}.nft-type-filters{width:100%}.nft-live-status{font-size:8px;align-self:flex-end}.nft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.nft-card{border-radius:14px}.nft-card-art{height:150px}.nft-card-body{padding:11px}.nft-card-title strong{font-size:10px}.nft-card-meta{margin-top:10px;padding-top:9px;font-size:8px}.nft-card-meta strong{font-size:10px}.nft-card-footer button{font-size:8px;padding:7px}.nft-empty{min-height:205px;padding:20px 15px}.nft-empty strong{font-size:12px}.nft-market-footnote{flex-direction:column;gap:4px;font-size:8px}.nft-detail{padding:14px}.nft-detail-image{height:195px}.owned-nft-card{margin-top:11px;padding:20px}.owned-nft-grid{grid-template-columns:1fr;gap:8px;margin-top:12px}.owned-nft-actions{gap:7px}.owned-nft-actions>span{font-size:9px}}
  
/* swap/maowang-swap.css */
.mw-swap-heading,.nft-page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:0 0 25px}
.mw-swap-heading h1{margin:12px 0 8px;font-size:clamp(34px,4vw,51px)}
.mw-swap-heading p{margin:0;color:#92979e;font-size:12px;line-height:1.7}
.mw-swap-heading>.network{margin-bottom:3px}
.mw-swap-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:17px;align-items:start}
.mw-swap-card{padding:24px 25px;border-radius:22px}
.mw-swap-card-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:19px}
.mw-swap-kicker,.mw-aside-label{color:#c5a56d;font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.mw-swap-card-head p{margin:5px 0 0;color:#81868e;font-size:10px}
.mw-swap-settings{display:flex;gap:8px}
.mw-swap-settings label{display:grid;gap:4px;color:#858a91;font-size:8px}
.mw-swap-settings input{width:72px;height:30px;padding:0 8px;border:1px solid #ffffff17;border-radius:8px;background:#101215;color:#d5c9b3;font:inherit;font-size:10px;outline:none}
.mw-swap-settings input:focus{border-color:#d2ae7280}
.mw-swap-settings input:invalid{border-color:#d5856a}
.mw-swap-field{padding:15px 16px;border:1px solid #ffffff12;border-radius:15px;background:#101215;transition:border-color .2s}
.mw-swap-field:focus-within{border-color:#d2ae7250}
.mw-field-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#858a91;font-size:9px}
.mw-field-label>div{display:flex;align-items:center;gap:9px}
.mw-field-label button{padding:2px 7px;border:1px solid #d2ae7230;border-radius:6px;background:#d2ae7210;color:#d2ae72;font-size:8px;cursor:pointer}
.mw-field-label button:disabled{opacity:.45}
.mw-token-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:9px}
.mw-token-row input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#f0e9dc;font-size:29px;font-weight:520;letter-spacing:-.04em}
.mw-token-row input::placeholder{color:#555a60}
.mw-token-row input[readonly]{color:#bdb19a}
.mw-token-pick{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-width:118px;padding:8px 10px;border:1px solid #ffffff12;border-radius:12px;background:#1a1c20;color:#e8e0d2;font-size:11px;font-weight:600;cursor:pointer}
.mw-token-pick:hover{border-color:#d2ae7250;background:#201e19}
.mw-token-icon{width:27px;height:27px;flex:0 0 auto;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#efd7a5,#98713c);color:#241c10;font-size:11px;font-weight:700}
.mw-token-icon[data-symbol="USDT"]{background:linear-gradient(145deg,#9bd8c2,#379d7d)}
.mw-token-icon[data-symbol="USDC"]{background:linear-gradient(145deg,#a7d3ff,#4b83dd)}
.mw-chevron{margin-left:auto;color:#aaa18f;font-size:13px}
.mw-flip-row{position:relative;z-index:1;height:0;display:flex;justify-content:center}
.mw-flip-row button{position:relative;top:-15px;width:31px;height:31px;border:4px solid #111317;border-radius:11px;background:#27251f;color:#dbbf88;font-size:16px;line-height:20px;cursor:pointer;transform:rotate(0);transition:transform .2s,background .2s}
.mw-flip-row button:hover{background:#383126;transform:rotate(180deg)}
.mw-swap-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 1px 0}
.mw-swap-details>div{min-width:0;display:grid;gap:5px;padding:9px 10px;border:1px solid #ffffff0c;border-radius:10px;background:#ffffff03}
.mw-swap-details span{color:#787e86;font-size:8px}
.mw-swap-details strong{overflow-wrap:anywhere;color:#c7bba3;font-size:9px;font-weight:530;line-height:1.5}
.mw-fee-breakdown{margin-top:12px;padding:13px 14px;border:1px solid #ffffff0e;border-radius:12px;background:#0d0f11}
.mw-fee-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px;color:#b9ad98;font-size:9px}
.mw-fee-title span:last-child{color:#72777e;font-size:8px}
.mw-fee-breakdown>div:not(.mw-fee-title):not(.mw-bound-referrer){display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;color:#858a91;font-size:8px}
.mw-fee-breakdown>div strong{color:#c9bea9;font-size:8px;font-weight:500;text-align:right}
.mw-fee-breakdown small{display:block;margin-top:3px;color:#e1cfaa;font-size:9px;font-weight:550}
.mw-fee-dot{display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#d7ba7b}
.mw-fee-dot.referral{background:#9b87c1}
.mw-fee-dot.treasury{background:#7b9a78}
.mw-bound-referrer{display:block!important;padding-top:8px!important;border-top:1px solid #ffffff0b;color:#817b6f!important;font-size:8px}
.mw-bound-referrer span{color:#c8b488}
.mw-fee-breakdown>a{display:block;margin-top:8px;color:#8f8061;font-size:8px;text-align:right}
.mw-fee-breakdown>a span{color:#c8b488}
.mw-fee-rule-note{display:grid;gap:5px;margin-top:9px;padding:10px 12px;border:1px solid #ffffff0b;border-radius:10px;background:#ffffff03}
.mw-fee-rule-note b{color:#b9ad98;font-size:8px;font-weight:550}
.mw-fee-rule-note span{color:#7d8288;font-size:8px;line-height:1.65}
.mw-swap-action{width:100%;height:47px;margin-top:13px;border:1px solid #e6c789;border-radius:13px;background:linear-gradient(135deg,#e8ce9a,#bb9254);box-shadow:0 8px 22px #b18b4a20;color:#1a160e;font-size:12px;font-weight:700;cursor:pointer;transition:filter .15s,transform .15s}
.mw-swap-action:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}
.mw-swap-action:disabled{border-color:#ffffff0d;background:#292a2c;box-shadow:none;color:#75797e;cursor:not-allowed}
.mw-swap-status{min-height:17px;margin:9px 1px 0;color:#8a8d91;font-size:8px;line-height:1.6;text-align:center}
.mw-swap-status.success{color:#a8c886}
.mw-swap-status.error{color:#e4a27a}
.mw-swap-status.warning{color:#e3c27c}
.mw-swap-security{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:10px 11px;border:1px solid #ffffff0a;border-radius:10px;background:#ffffff03}
.mw-swap-security>span{color:#bd9e65;font-size:12px}
.mw-swap-security p{margin:0;color:#777d83;font-size:8px;line-height:1.7}
.mw-swap-aside{display:grid;gap:11px}
.mw-swap-aside-card{padding:19px 20px;border-radius:17px}
.mw-split-stat{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:12px 0 11px;padding-bottom:12px;border-bottom:1px solid #ffffff12}
.mw-split-stat strong{color:#ead5aa;font-size:34px;font-weight:550;letter-spacing:-.04em}
.mw-split-stat span{color:#858a91;font-size:9px}
.mw-split-line{display:flex;justify-content:space-between;gap:10px;padding:6px 0;color:#858a91;font-size:9px}
.mw-split-line b{color:#c8b992;font-size:8px;font-weight:500;text-align:right}
.mw-wallet-address{display:flex;justify-content:space-between;gap:9px;margin-top:9px;padding-top:10px;border-top:1px solid #ffffff10;color:#777d83;font-size:8px}
.mw-wallet-address code{color:#b9a57c;font:8px ui-monospace,Consolas,monospace}
.mw-no-fee-note{margin-top:9px;padding:9px 0 0;border-top:1px solid #ffffff10;color:#8a9d83;font-size:8px;line-height:1.6}
.mw-process-step{display:flex;align-items:flex-start;gap:10px;margin-top:14px}
.mw-process-step i{width:22px;height:22px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #d2ae7230;border-radius:7px;color:#c8aa70;font-size:8px;font-style:normal}
.mw-process-step div{display:grid;gap:4px}
.mw-process-step b{color:#cfc4af;font-size:9px;font-weight:550}
.mw-process-step span{color:#7d8288;font-size:8px;line-height:1.5}
.mw-contract-state{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid #ffffff10;border-radius:13px;background:#111317}
.mw-state-dot{width:7px;height:7px;flex:0 0 auto;border-radius:50%;background:#d0a85f;box-shadow:0 0 10px #d0a85f65}
.mw-contract-state div{display:grid;gap:4px}
.mw-contract-state b{color:#c9bea9;font-size:9px;font-weight:550}
.mw-contract-state span{color:#81868c;font-size:8px}
.mw-token-modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px;background:#050607c9;backdrop-filter:blur(9px)}
.mw-token-modal[hidden]{display:none}
.mw-token-dialog{width:min(440px,100%);max-height:min(620px,88vh);display:flex;flex-direction:column;padding:19px;border:1px solid #d2ae7235;border-radius:18px;background:#15171a;box-shadow:0 25px 90px #000a}
.mw-token-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.mw-token-modal-head h2{margin:6px 0 0;color:#e8e0d2;font-size:19px}
.mw-token-modal-head>button{width:31px;height:31px;border:1px solid #ffffff16;border-radius:9px;background:#101215;color:#c9bea9;font-size:18px;cursor:pointer}
.mw-token-dialog>input{height:39px;padding:0 12px;border:1px solid #ffffff14;border-radius:10px;outline:none;background:#0e1012;color:#e9e1d2;font-size:10px}
.mw-token-dialog>input:focus{border-color:#d2ae7260}
.mw-token-results{min-height:90px;overflow:auto;display:grid;align-content:start;gap:4px;margin-top:10px}
.mw-token-option{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px;border:1px solid transparent;border-radius:10px;background:transparent;color:#e1d9cb;text-align:left;cursor:pointer}
.mw-token-option:hover{border-color:#ffffff10;background:#ffffff06}
.mw-token-option>span:nth-child(2){display:grid;gap:3px;font-size:10px;font-weight:600}
.mw-token-option small{color:#82878e;font-size:8px;font-weight:400}
.mw-token-option>span:last-child{color:#82878e;font:8px ui-monospace,Consolas,monospace}
.mw-token-empty{padding:18px;color:#878c92;font-size:9px;text-align:center}
.mw-token-add{padding:10px;border:1px solid #d2ae7230;border-radius:9px;background:#d2ae7210;color:#d5bd8c;font-size:9px;cursor:pointer}
.mw-token-dialog>p{margin:11px 0 0;color:#757a81;font-size:8px;line-height:1.6}
.mw-my-swap-card{margin-top:16px;padding:23px 25px}
.mw-my-swap-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mw-my-swap-heading h2{margin:7px 0 5px;color:#e9e1d2;font-size:20px;font-weight:580}
.mw-my-swap-heading p{margin:0;color:#858a91;font-size:9px}
.mw-my-swap-heading>button{padding:8px 11px;border:1px solid #d2ae7236;border-radius:9px;background:#d2ae720c;color:#d6bb88;font-size:9px;cursor:pointer}
.mw-my-swap-heading>button:disabled{opacity:.55;cursor:wait}
.mw-my-summary,.mw-referral-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:17px}
.mw-my-summary article,.mw-referral-summary article{min-width:0;padding:13px 14px;border:1px solid #ffffff10;border-radius:12px;background:#101215}
.mw-my-summary article span,.mw-referral-summary article span{display:block;color:#81868c;font-size:8px}
.mw-my-summary article strong,.mw-referral-summary article strong{display:block;margin-top:7px;overflow:hidden;text-overflow:ellipsis;color:#e0cfaa;font-size:17px;font-weight:540;white-space:nowrap}
.mw-my-tabs{display:flex;gap:5px;margin-top:19px;padding:4px;border:1px solid #ffffff0e;border-radius:11px;background:#101215}
.mw-my-tabs button{flex:1;padding:8px;border:0;border-radius:8px;background:transparent;color:#848990;font-size:9px;cursor:pointer}
.mw-my-tabs button.active{background:#29251e;color:#e1c58d}
.mw-my-pane{display:none}
.mw-my-pane.active{display:block}
.mw-record-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 8px;color:#cfc2a8;font-size:9px}
.mw-record-heading span{color:#777c82;font-size:8px;text-align:right}
.mw-record-list{display:grid;gap:6px}
.mw-record-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #ffffff0b;border-radius:10px;background:#101215}
.mw-record-left{min-width:0;display:grid;gap:4px}
.mw-record-left strong{overflow:hidden;color:#d8d0c1;font-size:9px;font-weight:540;text-overflow:ellipsis;white-space:nowrap}
.mw-record-left span{color:#797e85;font-size:8px;line-height:1.5}
.mw-record-right{flex:0 0 auto;display:grid;justify-items:end;gap:4px}
.mw-record-right strong{color:#d9c395;font-size:9px;font-weight:540;text-align:right}
.mw-record-right a{color:#8e8064;font-size:8px}
.mw-record-empty{padding:19px 10px;border:1px dashed #ffffff13;border-radius:10px;color:#7f848a;font-size:9px;line-height:1.65;text-align:center}
.mw-bind-row{display:grid;grid-template-columns:minmax(120px,.7fr) minmax(240px,1.3fr);gap:14px;align-items:center;margin-top:15px;padding:13px 14px;border:1px solid #ffffff10;border-radius:12px;background:#101215}
.mw-bind-row>div:first-child strong,.mw-bind-row>div:first-child span{display:block}
.mw-bind-row>div:first-child strong{color:#cfc2a8;font-size:9px;font-weight:550}
.mw-bind-row>div:first-child span{margin-top:5px;color:#858a91;font-size:8px}
.mw-bind-controls{display:flex;gap:6px}
.mw-bind-controls input{width:100%;min-width:0;height:32px;padding:0 9px;border:1px solid #ffffff16;border-radius:8px;outline:0;background:#0d0f11;color:#d6cbb8;font-size:8px}
.mw-bind-controls button,.mw-share-link button{flex:0 0 auto;padding:0 10px;border:1px solid #d2ae7235;border-radius:8px;background:#d2ae7212;color:#d7bc8a;font-size:8px;cursor:pointer}
.mw-bind-controls button:disabled,.mw-share-link button:disabled{opacity:.45;cursor:not-allowed}
.mw-share-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:11px 14px;border:1px solid #ffffff0e;border-radius:11px;background:#101215}
.mw-share-link>span{color:#858a91;font-size:8px}
.mw-share-link>div{min-width:0;display:flex;align-items:center;gap:7px}
.mw-share-link code{overflow:hidden;color:#c4b18b;font:8px ui-monospace,Consolas,monospace;text-overflow:ellipsis;white-space:nowrap}
.mw-share-link button{height:27px}
.mw-reward-heading{margin-top:19px}
.mw-indexer-footnote{margin:14px 0 0;color:#72777e;font-size:8px;line-height:1.7}
@media(max-width:900px){.mw-swap-layout{grid-template-columns:minmax(0,1fr) 270px;gap:12px}.mw-swap-card{padding:20px}.mw-swap-aside-card{padding:16px}}
@media(max-width:700px){.mw-swap-heading{align-items:flex-start;margin:8px 0 17px}.mw-swap-heading h1{font-size:34px;margin:10px 0 7px}.mw-swap-heading p{max-width:350px;font-size:10px}.mw-swap-heading>.network{margin-top:5px;height:30px;padding:0 8px;font-size:8px}.mw-swap-layout{grid-template-columns:1fr;gap:10px}.mw-swap-card{padding:16px;border-radius:17px}.mw-swap-card-head{align-items:flex-start;margin-bottom:13px}.mw-swap-settings{gap:5px}.mw-swap-settings input{width:56px}.mw-swap-field{padding:12px;border-radius:13px}.mw-token-row input{font-size:24px}.mw-token-pick{min-width:100px;padding:7px 8px;font-size:10px}.mw-swap-aside{grid-template-columns:1fr 1fr;gap:8px}.mw-swap-aside-card{padding:14px;border-radius:14px}.mw-swap-aside-card:nth-child(2){grid-column:1/-1}.mw-process-step{margin-top:12px}.mw-process-step span{font-size:8px}.mw-contract-state{grid-column:1/-1;padding:11px 13px}.mw-split-stat strong{font-size:27px}.mw-wallet-address{flex-direction:column;gap:5px}.mw-my-swap-card{margin-top:11px;padding:19px 16px}.mw-my-summary,.mw-referral-summary{gap:6px;margin-top:13px}.mw-my-summary article,.mw-referral-summary article{padding:11px 9px;border-radius:10px}.mw-my-summary article span,.mw-referral-summary article span{font-size:7px}.mw-my-summary article strong,.mw-referral-summary article strong{font-size:12px}.mw-bind-row{grid-template-columns:1fr;gap:9px;padding:11px}.mw-share-link{align-items:flex-start;flex-direction:column}.mw-share-link>div{width:100%}.mw-record-item{padding:9px}.mw-record-left strong,.mw-record-right strong{font-size:8px}.mw-record-heading{font-size:8px}}
@media(max-width:440px){.mw-swap-card-head{gap:7px}.mw-swap-settings label{font-size:7px}.mw-swap-settings input{width:52px;height:27px;padding:0 5px}.mw-token-pick{min-width:89px;gap:5px;padding:6px}.mw-token-icon{width:24px;height:24px}.mw-token-row input{font-size:21px}.mw-swap-details{gap:7px}.mw-swap-details>div{padding:8px}.mw-swap-aside{grid-template-columns:1fr}.mw-swap-aside-card:nth-child(2){grid-column:auto}}

/* assets/catking-theme.css */
/* CatKing candy pastel system: Android-first layout shared by Home, Swap, NFT and Mine. */
:root {
  color-scheme: light;
  --bg: #FFF8F0;
  --panel: #FFFFFF;
  --panel2: #F5F0E8;
  --line: #E0DAD0;
  --muted: #9E9990;
  --ink: #2D2A32;
  --ink-soft: #6B6660;
  --pink: #FFB7C5;
  --yellow: #FFE082;
  --lilac: #D4BBFF;
  --success: #B8E0D2;
  --warning: #FFCC80;
  --error: #FF8A80;
  --info: #A3D5FF;
  --radius: 16px;
  --shadow: 0 4px 8px rgba(45,42,50,.08);
  font-family: ui-rounded, "Nunito", "Nunito Sans", "Arial Rounded MT Bold", system-ui, sans-serif;
  font-synthesis: none;
}

* { box-sizing: border-box; }
html { min-width: 320px; scroll-behavior: smooth; background: var(--bg); }
body {
  min-height: 100vh;
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: inherit;
  -webkit-font-smoothing: antialiased;
}
button, input { font: inherit; }
button { min-height: 48px; color: inherit; }
button:disabled { cursor: not-allowed; opacity: .72; }
button:focus-visible, a:focus-visible, input:focus-visible {
  outline: 2px solid var(--lilac);
  outline-offset: 2px;
}
a { color: inherit; text-decoration: none; }
.app {
  position: relative;
  width: min(100%, 480px);
  min-height: 100vh;
  margin: 0 auto;
  overflow: clip;
  background: var(--bg);
  box-shadow: var(--shadow);
}
.shell { width: calc(100% - 32px); max-width: 440px; margin: 0 auto; }
.topbar {
  position: sticky;
  top: 0;
  z-index: 12;
  height: 64px;
  gap: 8px;
  border: 0;
  border-bottom: 1px solid var(--panel2);
  background: rgba(255,248,240,.96);
  backdrop-filter: blur(14px);
}
.brand { min-width: 0; min-height: 48px; gap: 9px; }
.mark {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(145deg, var(--pink), var(--yellow));
  box-shadow: var(--shadow);
}
.mark svg { width: 25px; height: 25px; }
.mark svg path { stroke: var(--ink); }
.brand-name { color: var(--ink); font-size: 16px; font-weight: 800; letter-spacing: .02em; }
.brand-sub { display: block; margin-top: 1px; color: var(--muted); font-size: 9px; letter-spacing: .08em; }
.nav { display: none; }
.right-tools { min-width: 0; gap: 7px; }
.network {
  height: 34px;
  padding: 0 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--ink-soft);
  font-size: 10px;
}
.network-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--success); box-shadow: none; }
.wallet-btn {
  min-height: 42px;
  padding: 0 13px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(110deg, var(--pink), var(--yellow));
  color: var(--ink);
  box-shadow: var(--shadow);
  font-size: 12px;
  font-weight: 750;
}
.wallet-btn.connected { border: 1px solid var(--success); background: var(--panel); color: var(--ink); }
.wallet-address { max-width: 98px; }
.mobile-nav {
  position: fixed;
  z-index: 30;
  left: 50%;
  bottom: 0;
  display: flex;
  width: min(100%, 480px);
  height: calc(64px + env(safe-area-inset-bottom));
  margin: 0;
  padding: 5px 8px calc(5px + env(safe-area-inset-bottom));
  gap: 4px;
  transform: translateX(-50%);
  border: 0;
  border-top: 1px solid var(--panel2);
  border-radius: 0;
  background: var(--panel);
  box-shadow: none;
  backdrop-filter: blur(14px);
}
.mobile-nav button {
  flex: 1;
  min-width: 0;
  min-height: 48px;
  padding: 0 4px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: var(--muted);
  font-size: 12px;
  font-weight: 650;
  cursor: pointer;
  transition: background .18s ease, color .18s ease;
}
.mobile-nav button.active { background: rgba(255,183,197,.32); color: var(--ink); }
.view { min-height: calc(100vh - 64px); padding: 14px 0 calc(88px + env(safe-area-inset-bottom)); }
.view.active { display: block; }
.eyebrow { color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.eyebrow:before { width: 18px; height: 2px; border-radius: 999px; background: var(--pink); }
h1, h2, h3, p { color: var(--ink); }
h1 { margin: 10px 0 11px; font-size: 32px; line-height: 1.18; letter-spacing: -.035em; font-weight: 850; }
.title-glow { color: var(--ink); }
.lead { max-width: 390px; color: var(--ink-soft); font-size: 14px; line-height: 1.65; }
.hero { display: flex; flex-direction: column-reverse; gap: 14px; padding: 4px 0 23px; }
.hero-copy { padding: 0 2px; }
.hero-copy h1 { margin-top: 8px; font-size: 31px; }
.hero-meta { margin-top: 12px; color: var(--muted); font-size: 11px; }
.hero-meta strong { color: var(--ink-soft); font-weight: 700; }
.hero-meta .line { width: 24px; background: var(--line); }
.hero-slogan { margin: 2px 0 7px; color: var(--ink-soft); font-size: 11px; font-weight: 750; letter-spacing: .08em; }
.hero-visual {
  min-height: 226px;
  border: 0;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,183,197,.58), rgba(255,224,130,.68) 55%, rgba(212,187,255,.5));
  box-shadow: var(--shadow);
}
.hero-visual:before, .hero-visual:after { width: 210px; height: 210px; border-color: rgba(255,255,255,.65); }
.hero-visual:after { width: 270px; height: 270px; border-color: rgba(255,255,255,.4); }
.hero-visual:before, .hero-visual:after, .hero-visual .halo, .spark, .nft-art-glow, .nft-orbit, .nft-empty-mark, .coin, .connected-mark:before { border-radius: 999px; }
.hero-visual .halo { width: 194px; height: 194px; background: rgba(255,255,255,.42); filter: blur(16px); }
.cat-emblem { position: relative; z-index: 1; width: 208px; height: 208px; object-fit: contain; filter: none; animation: float 5.5s ease-in-out infinite; }
.visual-index, .visual-word { z-index: 2; color: var(--ink-soft); font-size: 9px; letter-spacing: .1em; }
.spark { background: var(--panel); box-shadow: 0 0 10px rgba(255,255,255,.72); }
.section-label { align-items: center; margin: 2px 0 11px; }
.section-label h2 { margin: 0; color: var(--ink); font-size: 18px; font-weight: 800; }
.section-label p { max-width: 53%; color: var(--muted); font-size: 10px; line-height: 1.4; text-align: right; }
.feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  color: var(--ink);
  box-shadow: var(--shadow);
}
.subscription {
  grid-column: 1 / -1;
  padding: 19px;
  border-color: rgba(255,183,197,.7);
  background: linear-gradient(128deg, rgba(255,183,197,.25), rgba(255,224,130,.23) 70%, var(--panel));
}
.subscription:after { color: rgba(255,183,197,.25); }
.weekly-claim { grid-column: 1 / -1; padding: 15px; background: linear-gradient(120deg, rgba(212,187,255,.18), rgba(255,224,130,.2), var(--panel)); }
.weekly-claim-head, .weekly-claim-body, .weekly-countdown { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.weekly-claim-state { padding: 6px 9px; border-radius: 999px; background: rgba(255,204,128,.28); color: var(--ink-soft); font-size: 9px; font-weight: 700; }
.weekly-claim-body { margin-top: 10px; }
.weekly-claim-body > div { display: flex; align-items: baseline; gap: 7px; }
.weekly-claim-body strong { color: var(--ink); font-size: 24px; font-weight: 900; }
.weekly-claim-body strong small { font-size: 12px; }
.weekly-claim-body > div > span { color: var(--ink-soft); font-size: 10px; }
.weekly-claim-action { min-width: 132px; padding: 0 12px; border: 0; border-radius: 12px; background: var(--panel2); color: var(--muted); font-size: 10px; font-weight: 800; }
.weekly-countdown { margin-top: 11px; padding-top: 10px; border-top: 1px solid rgba(45,42,50,.1); color: var(--ink-soft); font-size: 10px; }
.weekly-countdown span, .weekly-countdown small { display: block; }
.weekly-countdown small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.weekly-countdown b { color: var(--muted); font-size: 12px; font-variant-numeric: tabular-nums; font-weight: 750; text-align: right; white-space: nowrap; }
.card-kicker { color: var(--ink-soft); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.sub-amount { margin: 9px 0 6px; }
.sub-amount strong { color: var(--ink); font-size: 34px; font-weight: 850; }
.sub-amount span, .sub-detail { color: var(--ink-soft); }
.sub-detail { max-width: 340px; margin-bottom: 12px; font-size: 12px; line-height: 1.6; }
.sub-bottom { padding-top: 12px; border-top: 1px solid rgba(45,42,50,.1); }
.sub-bottom .reward { color: var(--ink-soft); font-size: 10px; }
.reward b { margin-top: 3px; color: var(--ink); font-size: 14px; font-weight: 800; }
.small-btn, .nft-primary, .mw-swap-action {
  min-height: 48px;
  padding: 0 15px;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(110deg, var(--pink), var(--yellow));
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  box-shadow: var(--shadow);
}
.small-btn:disabled { border: 1px solid var(--line); background: var(--panel); color: var(--muted); opacity: 1; box-shadow: none; }
.tile {
  min-height: 132px;
  padding: 14px;
  border-radius: 16px;
  background: var(--panel);
}
.tile:hover { border-color: var(--pink); transform: translateY(-2px); }
.tile-icon { width: 38px; height: 38px; border-radius: 12px; background: rgba(212,187,255,.3); color: var(--ink); }
.tile-icon img { width: 23px; height: 23px; object-fit: contain; }
.tile h3 { margin: 11px 0 4px; color: var(--ink); font-size: 13px; font-weight: 800; }
.tile p { margin: 0; color: var(--ink-soft); font-size: 10px; line-height: 1.5; }
.tile-go { color: var(--ink-soft); }
.how { grid-template-columns: 1fr; gap: 12px; margin-top: 15px; padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); box-shadow: var(--shadow); }
.how-item { gap: 12px; }
.how-item b { color: var(--ink); font-size: 12px; }
.how-item span, .notice { color: var(--ink-soft); font-size: 10px; }
.step-no { color: var(--pink); font-weight: 800; }
.how-arrow { display: none; }
.notice { margin: 12px 2px 0; line-height: 1.55; }
.page-heading, .nft-page-heading { align-items: start; margin: 8px 0 17px; }
.page-heading h1, .nft-page-heading h1 { margin: 8px 0 6px; font-size: 30px; }
.page-heading p, .nft-page-heading p { color: var(--ink-soft); font-size: 12px; line-height: 1.55; }

/* Swap stays wallet-signed but shares CatKing surfaces and controls. */
#view-swap .mw-swap-heading { display: flex; flex-direction: column; align-items: start; gap: 8px; margin: 8px 0 14px; }
#view-swap .mw-swap-heading h1 { margin: 8px 0 5px; font-size: 30px; }
#view-swap .mw-swap-heading p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.55; }
.mw-swap-layout { display: flex; flex-direction: column; gap: 12px; }
.mw-swap-card, .mw-swap-aside-card { border: 1px solid var(--line); border-radius: 16px; background: var(--panel); color: var(--ink); box-shadow: var(--shadow); }
.mw-swap-card { padding: 16px; }
.mw-swap-card-head { align-items: start; flex-direction: column; gap: 12px; }
.mw-swap-kicker, .mw-aside-label { color: var(--ink-soft); font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.mw-swap-card-head p { margin: 4px 0 0; color: var(--muted); font-size: 10px; }
.mw-swap-settings { width: 100%; gap: 8px; }
.mw-swap-settings label { flex: 1; color: var(--ink-soft); }
.mw-swap-settings input, .mw-swap-field, .mw-token-row, #mwTokenSearch {
  border-color: var(--line);
  border-radius: 12px;
  background: var(--bg);
  color: var(--ink);
}
.mw-swap-field { margin-top: 10px; padding: 12px; border: 1px solid var(--line); }
.mw-field-label { color: var(--ink-soft); font-size: 10px; }
.mw-field-label span, .mw-field-label button { color: var(--ink-soft); }
.mw-token-row { margin-top: 7px; padding: 5px 8px; border: 1px solid transparent; }
.mw-token-row:focus-within { border-color: var(--pink); }
.mw-token-row input { min-width: 0; color: var(--ink); font-size: 20px; font-weight: 800; }
.mw-token-pick { min-height: 48px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--ink); }
.mw-token-icon { background: linear-gradient(135deg, var(--pink), var(--yellow)); color: var(--ink); }
.mw-flip-row button { width: 48px; height: 48px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--ink); }
.mw-swap-details, .mw-fee-breakdown { margin-top: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); color: var(--ink); }
.mw-swap-details div, .mw-fee-breakdown > div { border-color: var(--line); }
.mw-swap-details span, .mw-fee-breakdown span, .mw-swap-aside-card span { color: var(--ink-soft); }
.mw-swap-details strong, .mw-fee-breakdown strong, .mw-split-line b { color: var(--ink); }
.mw-fee-title { font-weight: 800; }
.mw-fee-dot.shareholder { background: var(--pink); }
.mw-fee-dot.referral { background: var(--lilac); }
.mw-fee-dot.treasury { background: var(--yellow); }
.mw-bound-referrer, .mw-fee-breakdown a { color: var(--ink-soft); }
.mw-fee-rule-note, .mw-swap-security { border-radius: 12px; background: rgba(212,187,255,.2); color: var(--ink-soft); }
.mw-swap-action { width: 100%; margin-top: 12px; }
.mw-swap-action:disabled { background: var(--panel2); color: var(--muted); box-shadow: none; }
.mw-swap-status { margin: 10px 0 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel2); color: var(--ink-soft); font-size: 11px; line-height: 1.45; text-align: center; }
.mw-swap-status.error { border-color: rgba(255,138,128,.5); background: rgba(255,138,128,.16); color: var(--error); }
.mw-swap-status.warning { border-color: rgba(255,204,128,.65); background: rgba(255,204,128,.2); color: var(--ink); }
.mw-swap-status.success { border-color: rgba(184,224,210,.75); background: rgba(184,224,210,.28); color: var(--ink); }
.mw-swap-aside { display: grid; gap: 10px; }
.mw-swap-aside-card { padding: 15px; }
.mw-split-stat strong { color: var(--ink); }
.mw-split-line, .mw-wallet-address, .mw-process-step { border-color: var(--line); }
.mw-no-fee-note, .mw-contract-state { color: var(--ink-soft); }
.mw-token-dialog { border: 1px solid var(--line); border-radius: 16px; background: var(--panel); color: var(--ink); box-shadow: 0 8px 16px rgba(45,42,50,.12); }
.mw-token-modal-head h2 { color: var(--ink); }
.mw-token-dialog p { color: var(--ink-soft); }

/* NFT catalog, gameplay rules and detail sheet use the same CatKing identity. */
.nft-hero-card, .nft-game-rules, .nft-overview-card, .nft-detail, .nft-empty {
  border-color: var(--line) !important;
  border-radius: 16px !important;
  background: var(--panel) !important;
  color: var(--ink) !important;
  box-shadow: var(--shadow) !important;
}
.nft-hero-card { min-height: auto; grid-template-columns: 1fr .8fr; gap: 6px; padding: 17px; }
.nft-hero-card:after { opacity: .25; background-image: radial-gradient(rgba(255,183,197,.38) .6px, transparent .7px); }
.nft-overline { color: var(--ink-soft); font-size: 9px; font-weight: 800; letter-spacing: .1em; }
.nft-hero-copy h2 { margin: 10px 0 7px; color: var(--ink); font-size: 23px; line-height: 1.28; letter-spacing: -.025em; font-weight: 850; }
.nft-hero-copy h2 span { color: var(--ink-soft); }
.nft-hero-copy p { color: var(--ink-soft); font-size: 10px; line-height: 1.6; }
.nft-hero-actions { flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.nft-primary, .nft-secondary { min-height: 48px; border-radius: 12px; font-size: 11px; }
.nft-secondary { padding: 0 13px; border: 1px solid var(--line); background: var(--panel); color: var(--ink); }
.nft-hero-art { min-height: 180px; }
.nft-art-glow { width: 150px; height: 150px; background: rgba(255,224,130,.4); filter: blur(13px); }
.nft-orbit { border-color: rgba(255,183,197,.45); }
.nft-cat-art { width: 100%; max-width: 170px; height: 210px; object-fit: contain; filter: none; animation: none; }
.nft-overview-grid { gap: 8px; margin-top: 10px; }
.nft-overview-card { min-height: 77px; padding: 11px 10px; }
.nft-overview-card > span { color: var(--muted); font-size: 9px; }
.nft-overview-card > strong { color: var(--ink); font-size: 13px; }
.nft-overview-card > small { color: var(--muted); font-size: 8px; }
.nft-game-rules { margin-top: 12px; padding: 15px; }
.nft-game-rules-head { display: block; margin-bottom: 12px; }
.nft-game-rules-head h2 { margin: 6px 0 4px; color: var(--ink); font-size: 19px; font-weight: 850; }
.nft-game-rules-head p { color: var(--ink-soft); font-size: 10px; line-height: 1.55; }
.nft-live-status { color: var(--ink-soft); }
.nft-live-status.ready { color: var(--ink-soft); }
.nft-live-status.error { color: var(--error); }
.nft-live-status i { background: var(--warning); }
.nft-game-grid { grid-template-columns: 1fr; gap: 8px; }
.nft-game-rule, .nft-game-rule-wide { grid-column: auto; padding: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.nft-game-rule b { color: var(--ink); font-size: 11px; }
.nft-game-rule p { margin: 5px 0 0; color: var(--ink-soft); font-size: 10px; line-height: 1.6; }
.nft-game-rule strong, .nft-rule-foot code { color: var(--ink); }
.nft-rule-foot { color: var(--ink-soft); font-size: 9px; line-height: 1.55; }
.nft-market-section { padding-top: 24px; }
.nft-market-heading { display: block; }
.nft-market-heading h2 { margin: 5px 0 3px; color: var(--ink); font-size: 21px; }
.nft-market-heading p { color: var(--ink-soft); font-size: 10px; }
.nft-search { width: 100%; height: 48px; margin-top: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.nft-search input { color: var(--ink); }
.nft-filter-row { align-items: center; margin: 12px 0 10px; padding-bottom: 8px; border-color: var(--line); }
.nft-type-filters button { min-height: 48px; border-radius: 999px; color: var(--ink-soft); }
.nft-type-filters button.active { border-color: var(--pink); background: rgba(255,183,197,.28); color: var(--ink); }
.nft-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.nft-card { border: 1px solid var(--line); border-radius: 12px; background: var(--panel); box-shadow: var(--shadow); }
.nft-card-art { height: 155px; background: linear-gradient(140deg, rgba(255,183,197,.4), rgba(255,224,130,.5) 64%, rgba(212,187,255,.4)); }
.nft-card-index { color: var(--ink-soft); }
.nft-card-placeholder { color: var(--ink); }
.nft-card-body { padding: 10px; }
.nft-card-title strong, .nft-card-meta strong { color: var(--ink); }
.nft-card-title span { border-radius: 8px; background: rgba(212,187,255,.35); color: var(--ink); }
.nft-card-meta { border-color: var(--line); color: var(--ink-soft); }
.nft-card-footer { color: var(--muted); }
.nft-card-footer button { min-height: 48px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); color: var(--ink); }
.nft-empty { min-height: 228px; padding: 21px 16px; }
.nft-empty-mark { width: 56px; height: 56px; margin-bottom: 9px; border: 0; border-radius: 999px; background: linear-gradient(140deg, rgba(255,183,197,.45), rgba(255,224,130,.55)); color: var(--ink); font-size: 20px; }
.nft-empty-mark img { width: 100%; height: 100%; padding: 4px; object-fit: contain; }
.nft-empty strong { color: var(--ink); }
.nft-empty p { color: var(--ink-soft); font-size: 11px; line-height: 1.55; }
.nft-detail-backdrop { z-index: 40; padding: 14px; background: rgba(45,42,50,.42); backdrop-filter: blur(5px); }
.nft-detail { width: min(420px, 100%); padding: 16px; }
.nft-detail-close { width: 48px; height: 48px; border-radius: 12px; background: var(--panel); color: var(--ink); }
.nft-detail-image { height: 240px; border-radius: 12px; background: linear-gradient(140deg, rgba(255,183,197,.42), rgba(255,224,130,.5), rgba(212,187,255,.4)); }
.nft-detail-image img { width: 100%; height: 100%; object-fit: contain; }
.nft-detail h3 { color: var(--ink); }
.nft-detail p, .nft-detail-info { color: var(--ink-soft); }
.nft-detail-properties { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 12px 0; }
.nft-detail-property { min-width: 0; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.nft-detail-property span, .nft-detail-property strong { display: block; overflow: hidden; text-overflow: ellipsis; }
.nft-detail-property span { color: var(--muted); font-size: 9px; }
.nft-detail-property strong { margin-top: 4px; color: var(--ink); font-size: 11px; }
.nft-buy-disabled { width: 100%; min-height: 48px; border: 0; border-radius: 12px; background: var(--panel2); color: var(--muted); font-size: 12px; font-weight: 800; }
.nft-detail-note { border-radius: 12px; background: var(--bg); }
.nft-pagination button { min-height: 48px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--ink); }
.nft-market-footnote { color: var(--muted); font-size: 9px; line-height: 1.5; }

/* Account, balances, activity, referrals and owned collectibles. */
.my-grid { grid-template-columns: 1fr; gap: 10px; }
.account-card, .balance-card, .mw-my-swap-card, .owned-nft-card, .equity-card { padding: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--panel); color: var(--ink); box-shadow: var(--shadow); }
.account-avatar { width: 48px; height: 48px; border-radius: 12px; background: linear-gradient(145deg, var(--pink), var(--yellow)); color: var(--ink); }
.account-top h2, .balance-card h3 { color: var(--ink); font-size: 15px; font-weight: 850; }
.account-top p, .account-foot, .balance-card .caption { color: var(--ink-soft); }
.address-box { margin-top: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.address-label, .balance-row .asset small { color: var(--muted); }
.address-value, .balance-value { color: var(--ink); }
.copy-btn { min-height: 48px; color: var(--ink-soft); }
.connected-mark { color: var(--ink-soft); }
.connected-mark:before { background: var(--success); }
.balance-row { border-color: var(--line); }
.asset b { color: var(--ink); }
.coin { background: linear-gradient(145deg, var(--pink), var(--yellow)); color: var(--ink); }
.coin.usdt { background: var(--success); }
.mw-my-swap-card { margin-top: 10px; }
.mw-my-swap-heading { align-items: start; }
.mw-my-swap-heading h2 { margin: 4px 0; color: var(--ink); font-size: 17px; font-weight: 850; }
.mw-my-swap-heading p { color: var(--ink-soft); font-size: 10px; }
.mw-my-swap-heading button, .mw-bind-controls button, .mw-share-link button { min-height: 48px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); color: var(--ink); }
.mw-my-summary { grid-template-columns: 1fr; gap: 7px; }
.mw-my-summary article { padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.mw-my-summary span { color: var(--ink-soft); font-size: 10px; }
.mw-my-summary strong { color: var(--ink); font-size: 17px; }
.mw-my-tabs { border-color: var(--line); }
.mw-my-tabs button { min-height: 48px; border-radius: 12px; color: var(--muted); }
.mw-my-tabs button.active { background: rgba(255,183,197,.3); color: var(--ink); }
.mw-record-heading strong, .mw-bind-row strong, .mw-share-link > span { color: var(--ink); }
.mw-record-heading span, .mw-record-item span, .mw-record-empty, .mw-bind-row span { color: var(--ink-soft); }
.mw-record-list, .mw-record-item, .mw-bind-row, .mw-share-link, .owned-nft-card { border-color: var(--line); }
.mw-record-item, .mw-downline-item, .mw-reward-item { border-radius: 12px; background: var(--bg); }
.mw-referral-summary article { border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.mw-bind-controls input, .mw-share-link code, .mw-record-item code { border-color: var(--line); border-radius: 8px; background: var(--bg); color: var(--ink); }
.owned-nft-card { margin-top: 10px; }
.owned-nft-card h3 { color: var(--ink); }
.owned-nft-empty { color: var(--ink-soft); }
.owned-nft-item { border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
.owned-nft-item strong { color: var(--ink); }
.owned-nft-item small { color: var(--ink-soft); }
.equity-card { margin-top: 10px; }
.equity-card h3, .equity-card p { color: var(--ink); }

.toast { z-index: 60; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); color: var(--ink); box-shadow: 0 8px 16px rgba(45,42,50,.12); }
.splash-screen {
  position: fixed;
  z-index: 80;
  inset: 0;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 10px;
  background: linear-gradient(145deg, var(--bg), rgba(255,183,197,.55), rgba(255,224,130,.55));
  color: var(--ink);
  opacity: 1;
  transition: opacity .28s ease, visibility .28s ease;
}
.splash-screen[hidden] { display: none; }
.splash-screen.leaving { opacity: 0; visibility: hidden; }
.splash-mascot { width: 176px; height: 176px; object-fit: contain; filter: none; animation: float 2s ease-in-out infinite; }
.splash-title { font-size: 30px; font-weight: 900; letter-spacing: .08em; }
.splash-slogan { color: var(--ink-soft); font-size: 11px; font-weight: 750; letter-spacing: .1em; }

@media (min-width: 700px) {
  body { background: var(--panel2); }
  .app { min-height: 100vh; }
  .topbar { width: calc(100% - 32px); }
  .mobile-nav { bottom: 12px; width: min(calc(100% - 32px), 440px); height: 64px; padding: 6px; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 8px 16px rgba(45,42,50,.12); }
  .view { padding-bottom: 100px; }
}
@media (max-width: 390px) {
  .network { display: none; }
  .section-label p { max-width: 48%; }
  .nft-hero-card { grid-template-columns: 1fr; }
  .nft-hero-art { min-height: 155px; }
  .nft-cat-art { width: 100%; max-width: 180px; height: 185px; }
  .nft-overview-card { padding: 9px 7px; }
  .nft-overview-card > strong { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* assets/business.css */
.business-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.business-toolbar h2{font-size:20px;margin:0}.business-toolbar>div{display:flex;gap:8px}.business-help,.business-notice,.business-empty{font-size:13px;line-height:1.7;color:#75635a}.business-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.business-filters label{font-size:13px;font-weight:650;display:grid;gap:6px}.business-filters input,.business-filters select{width:100%;min-height:42px;box-sizing:border-box;border:1px solid #e3d6cd;background:#fffaf4;border-radius:12px;padding:9px;color:#513d31;font:inherit}.business-filters button,.business-toolbar button,.business-pagination button,.business-action{min-height:42px;padding:9px 14px;border:1px solid #dfd0c4;border-radius:12px;background:#fff7ea;color:#523c2e;font-size:13px;font-weight:650;cursor:pointer}.business-action.primary{background:#f4c54f;color:#33200b}.business-record-list{display:grid;gap:10px}.business-record{display:grid;gap:6px;padding:15px;background:#fffaf4;border:1px solid #ecdfd4;border-radius:16px;overflow-wrap:anywhere}.business-record-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.business-status{font-size:11px;border-radius:99px;background:#f1e7d8;color:#715534;padding:4px 8px}.business-record small{font-size:12px;color:#837266;line-height:1.5}.business-amount{font-size:16px;color:#5c3e2a}.business-record a{font-size:12px;color:#7e56c1;justify-self:start}.business-pagination{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:15px;font-size:12px}.business-pagination button:disabled{opacity:.45;cursor:default}.business-dialog{position:fixed;inset:0;z-index:300;background:#30201070;display:flex;align-items:center;justify-content:center;padding:16px}.business-dialog[hidden]{display:none}.business-dialog>section{width:min(420px,100%);max-height:85dvh;overflow:auto;background:#fffaf4;border-radius:24px;padding:24px;box-sizing:border-box;color:#49382b}.business-dialog h3{margin-top:0}.business-dialog p{line-height:1.7;font-size:14px}.business-quote-number{font-size:24px;font-weight:750;overflow-wrap:anywhere}.business-actions{display:flex;gap:10px;flex-wrap:wrap}.business-admin-grid{display:grid;gap:16px}.business-admin-card{background:#1d1a15;border:1px solid #504334;border-radius:18px;padding:22px;color:#f3e0bd}.business-admin-card h2{margin:0 0 12px;font-size:22px}.business-admin-card p{line-height:1.7;font-size:15px;color:#cbbb9e}.business-admin-card .business-help,.business-admin-card .business-notice,.business-admin-card .business-empty{color:#cbbb9e;font-size:14px}.business-admin-card .business-filters label{font-size:15px}.business-admin-card .business-filters input,.business-admin-card .business-filters select{background:#29241d;color:#f8e4c1;border-color:#665640;min-height:48px;font-size:16px}.business-admin-card .business-record{background:#29231b;color:#f7e1bb;border-color:#594832}.business-admin-card .business-amount{color:#ffe2ac}.business-admin-card .business-record small{color:#cab797;font-size:14px}.business-admin-card .business-record-head strong{font-size:16px}.business-admin-card .business-action,.business-admin-card button{min-height:46px;font-size:15px}.business-admin-card pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#f4dfb9;font-size:15px;line-height:1.7}.business-table-wrap{overflow:auto}.business-table{border-collapse:collapse;width:100%;min-width:640px;font-size:15px}.business-table td,.business-table th{padding:13px 10px;text-align:left;border-bottom:1px solid #54442f}.business-table th{color:#ebc37c}.business-table small{display:block;overflow-wrap:anywhere}.business-state-list{display:grid;gap:10px}.business-state-item{padding:14px;border-radius:12px;background:#29231b;line-height:1.7}.business-admin-card input{box-sizing:border-box;max-width:100%}.business-admin-card .business-status{font-size:13px}.business-alert{color:#ffb2a3!important}.business-owned-list{display:grid;gap:10px}@media(min-width:750px){.business-admin-card .business-filters{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:380px){.business-filters{grid-template-columns:1fr}.business-pagination{flex-wrap:wrap}}

/* assets/base-inline-3.css */

    .nft-game-rules{margin-top:18px;padding:24px 26px;border:1px solid #d2ae7228;border-radius:20px;background:radial-gradient(ellipse at 90% 0%,#d2ae7214,transparent 42%),linear-gradient(145deg,#17181a,#111317)}
    .nft-game-rules-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.nft-game-rules-head h2{margin:7px 0 5px;font-size:21px;font-weight:580;letter-spacing:-.03em}.nft-game-rules-head p{margin:0;color:#898e94;font-size:10px;line-height:1.7}.nft-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.nft-game-rule{padding:15px 16px;border:1px solid #ffffff12;border-radius:14px;background:#08090b65}.nft-game-rule b{display:block;margin-bottom:7px;color:#d9c49b;font-size:11px;font-weight:620}.nft-game-rule p{margin:0;color:#9b9ea1;font-size:10px;line-height:1.8}.nft-game-rule strong{color:#e8dcc4;font-weight:600}.nft-game-rule-wide{grid-column:span 2}.nft-rule-foot{display:flex;align-items:start;gap:9px;margin-top:13px;padding:11px 13px;border:1px solid #d2ae7224;border-radius:12px;background:#d2ae7209;color:#b4a27d;font-size:9px;line-height:1.75}.nft-rule-foot i{flex:0 0 auto;color:#d2ae72;font-style:normal}
    @media(max-width:760px){.nft-game-rules{padding:19px 17px}.nft-game-rules-head{align-items:start;flex-direction:column;gap:7px}.nft-game-grid{grid-template-columns:1fr 1fr}.nft-game-rule-wide{grid-column:span 2}}
    @media(max-width:480px){.nft-game-grid{grid-template-columns:1fr}.nft-game-rule-wide{grid-column:span 1}.nft-game-rule{padding:13px 14px}}
  
/* assets/base-inline-4.css */
@font-face{font-family:"Phosphor-Fill";src:url("/assets/phosphor-fill.660bd6045c0e.woff2") format("woff2");font-weight:normal;font-style:normal;font-display:swap}.ph-fill{font-family:"Phosphor-Fill"!important;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased}.ph-fill.ph-arrow-right:before{content:"\e06c"}.ph-fill.ph-arrows-left-right:before{content:"\e0a0"}.ph-fill.ph-caret-down:before{content:"\e136"}.ph-fill.ph-caret-right:before{content:"\e13a"}.ph-fill.ph-cat:before{content:"\e748"}.ph-fill.ph-clock-countdown:before{content:"\ed2c"}.ph-fill.ph-copy:before{content:"\e1ca"}.ph-fill.ph-crown:before{content:"\e614"}.ph-fill.ph-gear:before{content:"\e270"}.ph-fill.ph-gift:before{content:"\e276"}.ph-fill.ph-heart:before{content:"\e2a8"}.ph-fill.ph-house:before{content:"\e2c2"}.ph-fill.ph-magnifying-glass:before{content:"\e30c"}.ph-fill.ph-paw-print:before{content:"\e648"}.ph-fill.ph-plus:before{content:"\e3d4"}.ph-fill.ph-user:before{content:"\e4c2"}.ph-fill.ph-users-three:before{content:"\e68e"}.ph-fill.ph-wallet:before{content:"\e68a"}
/* assets/lovart-layout.css */
/* CatKing screens aligned to the supplied Lovart Home / NFT / Mine designs. */
:root {
  --lovart-brown: #4d3025;
  --lovart-brown-soft: #70594f;
  --lovart-purple: #8d6bff;
  --lovart-pink: #ff74bd;
  --lovart-cream: #fff8f0;
  --lovart-muted: #a6a29f;
  --lovart-shadow: 0 6px 18px rgba(92,65,45,.1);
  --ink: var(--lovart-brown);
  --ink-soft: var(--lovart-brown-soft);
}
[hidden] { display: none !important; }
html, body { background: var(--lovart-cream); }
body { color: var(--lovart-brown); font-family: "Noto Sans SC", "Microsoft YaHei", "SimHei", system-ui, sans-serif; }
body > .app { width: min(100%,480px); background: var(--lovart-cream); box-shadow: none; }
body .footer { display: none; }
.app > main.shell { width: calc(100% - 34px); max-width: 446px; }
.view { padding: 16px 0 calc(104px + env(safe-area-inset-bottom)); }
.view h1,.view h2,.view h3 { color: var(--lovart-brown); }

/* The original top bar is replaced by page-specific Lovart headings. */
.app > .topbar { display: none; }
body[data-view="home"] .app > .topbar {
  position: absolute;
  z-index: 14;
  top: 14px;
  left: 50%;
  display: flex;
  width: min(calc(100% - 34px),446px);
  height: 48px;
  padding: 0;
  transform: translateX(-50%);
  border: 0;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
}
.app > .topbar .brand,.app > .topbar .nav,.app > .topbar .network { display: none; }
.app > .topbar .right-tools { width: 100%; justify-content: flex-end; }
.app > .topbar .wallet-btn {
  min-height: 42px;
  max-width: 142px;
  padding: 0 12px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.97);
  color: var(--lovart-brown);
  box-shadow: var(--lovart-shadow);
  font-size: 11px;
  font-weight: 800;
}
.app > .topbar .wallet-btn.connected { background: rgba(255,255,255,.97); color: var(--lovart-brown); }
.app > .topbar .wallet-address { max-width: 110px; }

/* Four persistent icon tabs. */
body .mobile-nav {
  position: fixed;
  top: auto;
  left: 50%;
  bottom: max(7px,env(safe-area-inset-bottom));
  z-index: 60;
  margin: 0;
  transform: translateX(-50%);
  width: min(calc(100% - 22px),456px);
  height: 68px;
  padding: 6px 8px;
  border: 0;
  border-radius: 30px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 7px 22px rgba(92,65,45,.12);
}
body .mobile-nav button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-height: 54px;
  border-radius: 20px;
  background: transparent;
  color: #aaa9a9;
  font-size: 11px;
  font-weight: 800;
}
body .mobile-nav button i { font-size: 25px; line-height: 1; }
body .mobile-nav button.active { background: transparent; color: var(--lovart-purple); }

/* Home: oversized logo, freely placed character, two rights cards, round shortcuts. */
#view-home { padding-top: 24px; }
#view-home .hero { display: flex; flex-direction: column; gap: 0; padding: 0; }
#view-home .hero-copy { width: min(73vw,330px); min-height: min(33vw,148px); margin-left: -8px; padding: 4px 0 0 8px; overflow: hidden; background: url("/assets/lovart-home-title-maowang.c7fd4f684ac3.webp") -10vw -14vw / min(calc(100vw - 34px),446px) auto no-repeat; text-align: left; }
#view-home .hero-copy > * { opacity: 0; }
#view-home .hero-copy .home-logo-crown { display: block; width: 155px; color: #ffba05; font-size: 25px; text-align: center; line-height: 1; }
#view-home .hero-copy h1 { margin: -1px 0 0; color: var(--lovart-brown); font-family: "YouYuan", "Microsoft YaHei", ui-rounded, sans-serif; font-size: clamp(31px,8.6vw,41px); font-weight: 1000; letter-spacing: .02em; line-height: 1.12; white-space: nowrap; }
#view-home .hero-slogan { margin: 4px 0 0 2px; color: var(--lovart-brown-soft); font-size: 10px; font-weight: 900; letter-spacing: .02em; white-space: nowrap; }
#view-home .hero-visual {
  position: relative;
  width: 100%;
  height: min(71vw,320px);
  min-height: 250px;
  margin: -4px 0 5px;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  background: var(--lovart-cream);
  box-shadow: none;
  -webkit-mask-image: linear-gradient(#000 0 88%,transparent 100%);
  mask-image: linear-gradient(#000 0 88%,transparent 100%);
}
#view-home .hero-visual::before,#view-home .hero-visual::after { display: none; }
#view-home .lovart-home-art { position: absolute; top: -55vw; left: 0; width: 100%; max-width: none; height: auto; }
#view-home .feature-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
#view-home .subscription {
  grid-column: 1 / -1;
  position: relative;
  min-height: 126px;
  padding: 15px 15px 13px;
  overflow: hidden;
  border: 0;
  border-radius: 24px;
  background: linear-gradient(112deg,#ffe1ed 0%,#fff3c7 100%);
  box-shadow: var(--lovart-shadow);
}
#view-home .subscription::after { display: none; }
#view-home .subscription-icon { position: absolute; top: 17px; left: 15px; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.7); color: #ffba05; font-size: 27px; }
#view-home .subscription-main { padding-left: 56px; }
#view-home .subscription-main h2 { margin: 0; font-size: 19px; font-weight: 900; line-height: 1.35; }
#view-home .subscription-main p { margin: 2px 0 0; color: var(--lovart-brown-soft); font-size: 12px; line-height: 1.4; white-space: nowrap; }
#view-home .subscription-main p b { color: var(--lovart-purple); font-size: 14px; }
#view-home .subscription-perk { position: absolute; bottom: 14px; left: 15px; display: inline-flex; align-items: center; gap: 6px; max-width: calc(100% - 133px); min-height: 38px; padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.68); color: var(--lovart-brown); font-size: 10px; font-weight: 800; white-space: nowrap; }
#view-home .subscription-perk i,#view-home .subscription-perk strong { color: #fa67b5; font-size: 14px; }
#view-home .subscription .small-btn { position: absolute; right: 13px; bottom: 14px; display: inline-flex; align-items: center; justify-content: center; gap: 5px; width: 109px; min-height: 40px; padding: 0 8px; border: 0; border-radius: 999px; background: linear-gradient(100deg,#ff78bd,#f25bc2); color: #fff; box-shadow: 0 3px 7px rgba(244,84,178,.24); font-size: 12px; font-weight: 900; opacity: .76; }
#view-home .subscription .small-btn i { font-size: 14px; }
#view-home .weekly-claim { grid-column: 1 / -1; display: flex; align-items: center; gap: 11px; min-height: 88px; padding: 12px 14px; border: 0; border-radius: 24px; background: linear-gradient(110deg,#fff 0%,#f7f5ff 100%); box-shadow: var(--lovart-shadow); }
#view-home .claim-icon { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 16px; background: #eee6ff; color: var(--lovart-purple); font-size: 27px; }
#view-home .claim-copy { min-width: 0; flex: 1; }
#view-home .claim-copy > span { display: block; color: var(--lovart-brown-soft); font-size: 11px; font-weight: 800; }
#view-home .claim-copy > strong { display: block; overflow: hidden; color: var(--lovart-purple); font-size: clamp(17px,5vw,24px); font-weight: 950; white-space: nowrap; text-overflow: ellipsis; }
#view-home .claim-copy > small { display: none; }
#view-home .claim-action { display: grid; justify-items: center; flex: 0 0 82px; gap: 2px; }
#view-home .weekly-claim-action { width: 82px; min-width: 0; min-height: 40px; padding: 0; border: 0; border-radius: 999px; background: linear-gradient(100deg,#a77dff,#7e5bfa); color: #fff; font-size: 14px; font-weight: 900; opacity: .65; }
#view-home .claim-action > span { color: var(--lovart-purple); font-size: 9px; font-weight: 850; white-space: nowrap; }
#view-home .claim-action > span i { font-size: 11px; }
#view-home .tile { display: flex; flex-direction: column; align-items: center; min-height: 106px; padding: 5px 0 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; text-align: center; }
#view-home .tile:hover { transform: none; border-color: transparent; }
#view-home .tile-icon { display: grid; place-items: center; width: min(16vw,60px); height: min(16vw,60px); min-width: 49px; min-height: 49px; margin: 0 auto 5px; border-radius: 50%; background: #fff4d8; color: #ffbb0b; box-shadow: 0 3px 7px rgba(92,65,45,.06); }
#view-home .tile:nth-of-type(4) .tile-icon { background: #e1f7ff; color: #42a6f1; }
#view-home .tile:nth-of-type(5) .tile-icon { background: #e0f9eb; color: #2bcc99; }
#view-home .tile:nth-of-type(6) .tile-icon { background: #ffe9f4; color: #f55cae; }
#view-home .tile-icon i { font-size: 27px; }
#view-home .tile h3 { margin: 0; font-size: 11px; font-weight: 900; line-height: 1.25; white-space: nowrap; }
#view-home .tile p { margin: 3px 0 0; color: var(--lovart-muted); font-size: 9px; font-weight: 700; white-space: nowrap; }
#view-home .how { display: none; }
#view-home .notice { margin: 8px 1px 0; color: #9f9b96; font-size: 9px; line-height: 1.4; text-align: center; }

/* NFT: collection title, rarity pills and image-led two-column cards. */
#view-nft.active { display: flex; flex-direction: column; padding-top: 23px; }
#view-nft .nft-page-heading { order: 0; display: flex; align-items: flex-start; justify-content: space-between; margin: 0 0 13px; }
#view-nft .nft-page-heading h1 { margin: 0 0 4px; color: var(--lovart-brown); font-size: 28px; font-weight: 950; letter-spacing: -.02em; }
#view-nft .nft-page-heading h1 i { color: #f3a8d0; font-size: 19px; vertical-align: .06em; }
#view-nft .nft-page-heading p { margin: 0; color: var(--lovart-muted); font-size: 11px; font-weight: 750; }
#view-nft .nft-top-search { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--lovart-brown); font-size: 25px; }
#view-nft .nft-hero-card,#view-nft .nft-overview-grid { display: none !important; }
#view-nft .nft-market-section { order: 1; margin: 0; padding: 0; }
#view-nft .nft-market-heading { display: block; margin: 0; }
#view-nft .nft-market-heading > div { display: none; }
#view-nft .nft-search { display: none; width: 100%; margin: 0 0 11px; }
#view-nft .nft-market-section.searching .nft-search { display: flex; }
#view-nft .nft-filter-row { display: block; margin: 0 0 12px; padding: 0; border: 0; }
#view-nft .nft-filter-row > .nft-live-status { display: none; }
#view-nft .nft-type-filters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; width: 100%; }
#view-nft .nft-type-filters button { min-height: 42px; padding: 0 6px; border: 0; border-radius: 999px; background: #f2f0ec; color: var(--lovart-brown); font-size: 12px; font-weight: 850; }
#view-nft .nft-type-filters button.active { background: var(--lovart-purple); color: #fff; box-shadow: 0 4px 9px rgba(141,107,255,.2); }
#view-nft .nft-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
#view-nft .nft-card { position: relative; min-width: 0; overflow: hidden; border: 0; border-radius: 16px; background: #fff; box-shadow: var(--lovart-shadow); }
#view-nft .nft-card-art { position: relative; width: 100%; height: auto; aspect-ratio: 1 / 1; overflow: hidden; background: #f7e8fb; }
#view-nft .nft-card-art img { width: 100%; height: 100%; object-fit: cover; }
#view-nft .nft-card-index { top: 8px; left: 8px; padding: 5px 9px; border-radius: 999px; background: #a783ff; color: #fff; font-size: 9px; font-weight: 850; letter-spacing: 0; }
#view-nft .nft-card-body { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 4px; padding: 7px 8px; }
#view-nft .nft-card-title { min-width: 0; }
#view-nft .nft-card-title strong { overflow: hidden; color: var(--lovart-brown); font-size: 11px; font-weight: 900; white-space: nowrap; text-overflow: ellipsis; }
#view-nft .nft-card-title span { display: none; }
#view-nft .nft-card-meta { margin: 0; padding: 0; border: 0; }
#view-nft .nft-card-meta > div:first-child { display: none; }
#view-nft .nft-card-meta > div:last-child { color: transparent; font-size: 0; }
#view-nft .nft-card-meta strong { color: var(--lovart-brown); font-size: 10px; font-weight: 900; white-space: nowrap; }
#view-nft .nft-card-footer { position: absolute; inset: 0; margin: 0; padding: 0; border: 0; }
#view-nft .nft-card-footer > span { display: none; }
#view-nft .nft-card-footer button { width: 100%; height: 100%; min-height: 0; padding: 0; border: 0; opacity: 0; }
#view-nft .lovart-preview-gallery { display: block; }
#view-nft #nftGrid:not(:empty) + .lovart-preview-gallery { display: none; }
#view-nft .nft-market-section:has(#nftGrid:empty) .nft-filter-row { display: none; }
#view-nft #nftGrid:empty ~ #nftEmpty { display: none !important; }
#view-nft .lovart-preview-filters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; margin-bottom: 12px; }
#view-nft .lovart-preview-filters button { min-height: 46px; padding: 0 6px; border: 0; border-radius: 999px; background: #f1efeb; color: var(--lovart-brown); font-size: 12px; font-weight: 850; }
#view-nft .lovart-preview-filters button.active { background: var(--lovart-purple); color: #fff; box-shadow: 0 4px 9px rgba(141,107,255,.2); }
#view-nft .lovart-preview-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
#view-nft .lovart-preview-card { display: block; min-width: 0; min-height: 0; padding: 0; overflow: hidden; border: 0; border-radius: 16px; background: #fff; box-shadow: var(--lovart-shadow); text-align: left; cursor: pointer; }
#view-nft .lovart-preview-card[hidden] { display: none !important; }
#view-nft .lovart-preview-art { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: #f5e9fb; }
#view-nft .lovart-preview-art img { display: block; width: 100%; height: 100%; object-fit: cover; }
#view-nft .lovart-preview-art em { position: absolute; top: 8px; left: 8px; padding: 4px 9px; border-radius: 999px; background: #a585ff; color: #fff; font-size: 10px; font-style: normal; font-weight: 900; }
#view-nft .lovart-preview-card[data-preview-filter-item="epic"] em { background: #45d49e; }
#view-nft .lovart-preview-card[data-preview-filter-item="legend"] em { background: #f879b6; }
#view-nft .lovart-preview-caption { display: flex; justify-content: space-between; align-items: center; gap: 4px; min-height: 31px; padding: 4px 8px 6px; }
#view-nft .lovart-preview-caption b { overflow: hidden; color: var(--lovart-brown); font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
#view-nft .lovart-preview-caption small { color: var(--lovart-muted); font-size: 9px; white-space: nowrap; }
#view-nft .lovart-preview-gallery > p { margin: 12px 0 0; color: var(--lovart-muted); font-size: 10px; line-height: 1.5; text-align: center; }
#view-nft .nft-rules-disclosure { order: 3; margin-top: 24px; border: 0; }
#view-nft .nft-rules-disclosure summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 15px; border-radius: 16px; background: #fff; box-shadow: var(--lovart-shadow); color: var(--lovart-brown); font-size: 13px; font-weight: 900; cursor: pointer; list-style: none; }
#view-nft .nft-rules-disclosure summary::-webkit-details-marker { display: none; }
#view-nft .nft-rules-disclosure[open] summary i { transform: rotate(180deg); }
#view-nft .nft-game-rules { margin: 10px 0 0; }
#view-nft .nft-market-footnote { order: 4; margin-top: 14px; color: var(--lovart-muted); font-size: 10px; }
#view-nft .nft-fab { position: fixed; z-index: 28; right: max(20px,calc((100vw - 480px)/2 + 21px)); bottom: calc(91px + env(safe-area-inset-bottom)); display: grid; place-items: center; width: 56px; height: 56px; min-height: 56px; border: 0; border-radius: 50%; background: linear-gradient(140deg,#b28dff,#805ff5); color: #fff; box-shadow: 0 6px 14px rgba(141,107,255,.34); font-size: 29px; }

/* NFT detail opens as the full mobile screen shown in the Lovart reference. */
.nft-detail-backdrop { position: fixed; z-index: 45; inset: 0; display: flex; justify-content: center; padding: 0; background: var(--lovart-cream); }
body:has(#nftDetailBackdrop:not([hidden])) .mobile-nav { display: none; }
body:has(#nftDetailBackdrop:not([hidden])) #view-nft .nft-fab { display: none; }
.nft-detail { position: relative; width: min(100%,480px); max-width: none; max-height: 100dvh; min-height: 100dvh; overflow: auto; padding: 70px 17px 35px; border: 0 !important; border-radius: 0 !important; background: var(--lovart-cream) !important; box-shadow: none !important; }
.nft-detail-close { position: absolute; z-index: 2; top: 15px; left: 17px; width: 48px; height: 48px; border: 0; border-radius: 50%; background: #fff; box-shadow: var(--lovart-shadow); color: var(--lovart-brown); font-size: 28px; }
.nft-detail-image { width: 100%; height: auto; aspect-ratio: 1 / 1; border: 0; border-radius: 28px; background: #e8dafa; }
.nft-detail-image img { width: 100%; height: 100%; object-fit: cover; }
.nft-detail-copy { padding: 15px 0 0; }
.nft-detail-copy .nft-overline { display: none; }
.nft-detail-copy h3 { margin: 0 0 4px; color: var(--lovart-brown); font-size: 27px; font-weight: 950; }
.nft-detail-copy > p { color: var(--lovart-muted); font-size: 12px; }
.nft-detail-info { display: flex; align-items: center; justify-content: space-between; min-height: 86px; margin: 18px 0; padding: 14px 18px; border: 0; border-radius: 22px; background: linear-gradient(100deg,#fff0b7,#fff8d7); color: var(--lovart-brown); }
.nft-detail-info span { color: var(--lovart-brown-soft); font-size: 13px; font-weight: 800; }
.nft-detail-info strong { color: var(--lovart-brown); font-size: 22px; font-weight: 950; }
.nft-detail-properties { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; }
.nft-detail-property { min-height: 72px; padding: 12px; border: 0; border-radius: 17px; background: #fff; box-shadow: var(--lovart-shadow); }
.nft-detail-property span { color: var(--lovart-muted); font-size: 11px; }
.nft-detail-property strong { color: var(--lovart-purple); font-size: 14px; font-weight: 900; }
.nft-buy-disabled { min-height: 54px; margin-top: 12px; border: 0; border-radius: 999px; background: linear-gradient(100deg,#a6a4ff,#bb89fa,#ffb6ae); color: #fff; font-size: 17px; font-weight: 900; opacity: .7; }
.nft-detail-note { color: var(--lovart-muted); font-size: 10px; line-height: 1.5; }

/* Mine: avatar, yellow wallet card, four tiny previews and five menu rows. */
#view-mine.active { display: flex; flex-direction: column; padding-top: 23px; }
#view-mine .page-heading { order: 0; display: flex; align-items: center; justify-content: space-between; margin: 0 0 15px; }
#view-mine .page-heading h1 { margin: 0; color: var(--lovart-brown); font-size: 28px; font-weight: 950; }
#view-mine .mine-top-settings { display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--lovart-brown); font-size: 25px; }
#view-mine .my-grid { order: 1; display: flex; flex-direction: column; gap: 10px; }
#view-mine .account-card { position: relative; min-height: 80px; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#view-mine .account-top { align-items: center; gap: 13px; }
#view-mine .account-avatar { width: 68px; height: 68px; border-radius: 50%; overflow: hidden; background: #f8d8e8; }
#view-mine .account-avatar img { width: 100%; height: 100%; object-fit: cover; object-position: center 32%; }
#view-mine .account-top h2 { margin: -14px 0 0; color: var(--lovart-brown); font-size: 19px; font-weight: 950; }
#view-mine .account-top h2 i { color: #ffbc0a; font-size: 17px; }
#view-mine .account-top p { display: none; }
#view-mine .address-box { position: absolute; top: 40px; left: 81px; display: flex; align-items: center; justify-content: flex-start; gap: 4px; width: calc(100% - 81px); min-height: 37px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
#view-mine .address-label { display: none; }
#view-mine .address-value { margin: 0; color: var(--lovart-brown-soft); font-family: inherit; font-size: 12px; font-weight: 800; }
#view-mine .copy-btn { display: grid; place-items: center; width: 36px; min-width: 36px; min-height: 36px; padding: 0; color: var(--lovart-brown-soft); font-size: 17px; }
#view-mine .account-foot { display: none; }
#view-mine .balance-card { min-height: 105px; padding: 16px; border: 0; border-radius: 24px; background: linear-gradient(112deg,#ffe699,#fff7cf); box-shadow: var(--lovart-shadow); }
#view-mine .mine-wallet-summary { display: flex; align-items: center; gap: 12px; min-height: 72px; }
#view-mine .mine-wallet-icon { display: grid; place-items: center; flex: 0 0 48px; width: 48px; height: 48px; border-radius: 16px; background: rgba(255,191,42,.5); color: #a56b00; font-size: 26px; }
#view-mine .mine-wallet-summary > div { min-width: 0; flex: 1; }
#view-mine .mine-wallet-summary small { display: block; color: var(--lovart-brown-soft); font-size: 11px; font-weight: 800; }
#view-mine .mine-wallet-summary strong { display: block; overflow: hidden; color: var(--lovart-brown); font-size: clamp(15px,4.5vw,23px); font-weight: 950; white-space: nowrap; text-overflow: ellipsis; }
#view-mine .mine-wallet-summary button { flex: 0 0 70px; min-height: 40px; padding: 0; border: 0; border-radius: 999px; background: #ff7cbb; color: #fff; font-size: 13px; font-weight: 900; }
#view-mine .balance-list { margin-top: 8px; padding: 0 6px; border-top: 1px solid rgba(92,65,45,.12); }
#view-mine .balance-row { padding: 9px 0; }
#view-mine .owned-nft-card { order: 2; margin: 17px 0 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
#view-mine .owned-nft-card .empty-title { align-items: center; }
#view-mine .owned-nft-card h3 { margin: 0; color: var(--lovart-brown); font-size: 18px; font-weight: 950; }
#view-mine .owned-nft-actions > span { display: none; }
#view-mine .my-nft-open { display: flex; align-items: center; gap: 2px; min-height: 40px; border: 0; background: transparent; color: var(--lovart-muted); font-size: 11px; font-weight: 800; }
#view-mine .owned-nft-empty { margin: 6px 0; padding: 0; color: var(--lovart-muted); font-size: 10px; text-align: left; }
#view-mine .mine-nft-preview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 11px; }
#view-mine .mine-nft-preview img { display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: 13px; object-fit: cover; box-shadow: var(--lovart-shadow); }
#view-mine #ownedNftGrid:not(:empty) ~ .mine-nft-preview,#view-mine #ownedNftGrid:not(:empty) ~ .mine-nft-caption { display: none; }
#view-mine .mine-nft-caption { margin: 6px 0 0; color: var(--lovart-muted); font-size: 9px; text-align: center; }
#view-mine .mine-menu { order: 3; margin-top: 21px; padding: 7px 14px; border-radius: 24px; background: #fff; box-shadow: var(--lovart-shadow); }
#view-mine .mine-menu button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 61px; padding: 0 5px; border: 0; border-bottom: 1px solid #f3eee8; background: transparent; color: var(--lovart-brown); text-align: left; font-size: 14px; font-weight: 800; }
#view-mine .mine-menu button:last-child { border-bottom: 0; }
#view-mine .mine-menu button > span:nth-child(2) { flex: 1; }
#view-mine .mine-menu button > i { color: #b7b5b5; font-size: 18px; }
#view-mine .mine-menu-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: #fff; font-size: 20px; }
#view-mine .mine-menu-icon.purple { background: #9879ff; }
#view-mine .mine-menu-icon.green { background: #48d7a1; }
#view-mine .mine-menu-icon.pink { background: #fc76af; }
#view-mine .mine-menu-icon.yellow { background: #ffbd26; }
#view-mine .mw-my-swap-card { order: 4; margin-top: 15px; }
#view-mine .empty-card { order: 5; margin-top: 12px; }
#view-mine .mine-settings-panel { order: 6; margin-top: 14px; padding: 18px; border-radius: 20px; background: #fff; box-shadow: var(--lovart-shadow); }
#view-mine .mine-settings-panel h2 { margin: 0 0 8px; font-size: 18px; }
#view-mine .mine-settings-panel p { margin: 7px 0; color: var(--lovart-brown-soft); font-size: 12px; }
#view-mine .mine-settings-panel button { min-height: 44px; margin-top: 8px; padding: 0 18px; border: 0; border-radius: 999px; background: var(--lovart-purple); color: #fff; font-weight: 850; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (min-width: 700px) { body { background: #f4eee9; } body > .app { box-shadow: 0 7px 24px rgba(92,65,45,.1); } }
@media (max-width: 355px) { #view-home .subscription-main h2 { font-size: 17px; } #view-home .subscription-main p { font-size: 10px; } #view-home .subscription-perk { font-size: 9px; } #view-home .subscription .small-btn { width: 98px; font-size: 11px; } #view-home .tile h3 { font-size: 10px; } #view-mine .mine-wallet-summary { gap: 8px; } }

/* assets/lovart-swap.css */
/* Lovart Swap composition. Load after catking-theme.css. */
#view-swap {
  --swap-purple: #8e73f5;
  --swap-lilac: #d4bbff;
  --swap-pink: #ffb7c5;
  --swap-yellow: #ffe082;
  --swap-ink: #2d2a32;
  --swap-muted: #9e9990;
}

#view-swap .mw-swap-heading {
  position: relative;
  display: block;
  min-height: 126px;
  margin: 5px 0 10px;
  padding: 14px 126px 12px 3px;
  overflow: visible;
  isolation: isolate;
}
#view-swap .mw-swap-heading::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0 -16px 0 auto;
  width: 72%;
  background: radial-gradient(circle at 74% 70%, rgba(255,224,130,.6), transparent 53%),
              radial-gradient(circle at 40% 24%, rgba(255,183,197,.35), transparent 42%);
  pointer-events: none;
}
#view-swap .mw-swap-heading::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -8px;
  bottom: -2px;
  width: 155px;
  height: 136px;
  background: url("/assets/catking-mascot.webp") center bottom / contain no-repeat;
  filter: drop-shadow(0 5px 7px rgba(45,42,50,.12));
  pointer-events: none;
}
#view-swap .mw-swap-heading .eyebrow,
#view-swap .mw-swap-heading p,
#view-swap .mw-swap-heading > .network { display: none; }
#view-swap .mw-swap-heading h1 {
  margin: 15px 0 0;
  color: var(--swap-ink);
  font-size: clamp(31px, 9vw, 40px);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -.04em;
}

#view-swap .mw-swap-layout {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-width: 0;
}
#view-swap .mw-swap-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

/* Keep the real input and selector controls. Their visual order matches the reference. */
#view-swap .mw-swap-card > .mw-swap-field:nth-child(2) { order: 1; margin-top: 0; }
#view-swap .mw-swap-card > .mw-flip-row { order: 2; }
#view-swap .mw-swap-card > .mw-swap-field:nth-child(4) { order: 3; margin-top: 17px; }
#view-swap .mw-swap-card > .mw-swap-card-head { order: 4; }
#view-swap .mw-swap-card > .mw-swap-action { order: 5; }
#view-swap .mw-swap-card > .mw-swap-status { order: 6; }
#view-swap .mw-swap-card > .mw-swap-details { order: 7; }
#view-swap .mw-swap-card > .mw-fee-breakdown { order: 8; }
#view-swap .mw-swap-card > .mw-fee-rule-note { order: 9; }
#view-swap .mw-swap-card > .mw-swap-security { order: 10; }

#view-swap .mw-swap-field {
  min-height: 116px;
  padding: 15px 16px 13px;
  border: 1px solid rgba(224,218,208,.55);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(45,42,50,.09);
}
#view-swap .mw-swap-field:focus-within {
  border-color: var(--swap-lilac);
  box-shadow: 0 0 0 3px rgba(212,187,255,.25), 0 4px 16px rgba(45,42,50,.09);
}
#view-swap .mw-field-label {
  color: var(--swap-ink);
  font-size: 14px;
  font-weight: 750;
}
#view-swap .mw-field-label > div { gap: 6px; }
#view-swap .mw-field-label span { color: #6b6660; }
#view-swap .mw-field-label button {
  min-height: 30px;
  padding: 3px 8px;
  border: 0;
  border-radius: 999px;
  background: rgba(212,187,255,.24);
  color: #6d54c4;
  font-size: 11px;
  font-weight: 850;
}
#view-swap .mw-token-row {
  flex-direction: row-reverse;
  gap: 8px;
  min-height: 56px;
  margin-top: 7px;
  padding: 0;
  border: 0;
  background: transparent;
}
#view-swap .mw-token-row input {
  flex: 1 1 auto;
  min-width: 0;
  padding: 0;
  color: var(--swap-ink);
  font-size: clamp(25px, 7vw, 31px);
  font-weight: 800;
  text-align: right;
  background: transparent;
}
#view-swap .mw-token-row input::placeholder { color: #c8c5c9; }
#view-swap .mw-token-row input[readonly] { color: #807d85; }
#view-swap .mw-token-pick {
  flex: 0 1 auto;
  min-width: 106px;
  min-height: 48px;
  gap: 7px;
  padding: 5px 9px;
  border: 0;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(212,187,255,.26), rgba(245,240,232,.5));
  color: var(--swap-ink);
  font-size: 15px;
  font-weight: 850;
  box-shadow: none;
}
#view-swap .mw-token-pick:hover { background: rgba(212,187,255,.38); }
#view-swap .mw-token-icon {
  width: 33px;
  height: 33px;
  color: #fff;
  font-size: 14px;
  box-shadow: 0 2px 5px rgba(45,42,50,.16);
}
#view-swap .mw-chevron { color: #6b6660; }
#view-swap .mw-flip-row { position: relative; z-index: 2; height: 0; margin: 0; }
#view-swap .mw-flip-row button {
  top: -21px;
  width: 54px;
  height: 54px;
  min-height: 54px;
  padding: 0;
  border: 4px solid #fff8f0;
  border-radius: 50%;
  background: linear-gradient(135deg, #b8a2ff, #8166ec);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  box-shadow: 0 4px 12px rgba(142,115,245,.28);
}
#view-swap .mw-flip-row button:hover { background: linear-gradient(135deg, #a78fff, #765aea); }

#view-swap .mw-swap-card-head {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 10px;
  margin: 16px 0 0;
  padding: 15px;
  border: 1px solid rgba(224,218,208,.55);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 4px 16px rgba(45,42,50,.07);
}
#view-swap .mw-swap-card-head > div:first-child { display: block; }
#view-swap .mw-swap-kicker {
  color: var(--swap-ink);
  font-size: 14px;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: none;
}
#view-swap .mw-swap-card-head p { margin-top: 2px; color: var(--swap-muted); font-size: 11px; }
#view-swap .mw-swap-settings { display: flex; flex-wrap: wrap; width: 100%; gap: 8px; }
#view-swap .mw-swap-settings label {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  gap: 4px;
  padding: 5px 7px 5px 10px;
  border-radius: 999px;
  background: #f5f0e8;
  color: #6b6660;
  font-size: 11px;
  font-weight: 700;
}
#view-swap .mw-swap-settings input {
  width: 56px;
  min-width: 50px;
  height: 37px;
  padding: 0 3px;
  border: 1px solid rgba(142,115,245,.35);
  border-radius: 999px;
  background: var(--swap-lilac);
  color: var(--swap-ink);
  font-size: 13px;
  font-weight: 850;
  text-align: center;
  font-variant-numeric: tabular-nums;
}
#view-swap .mw-swap-settings input:focus { border-color: #8e73f5; outline: 2px solid rgba(142,115,245,.26); }
#view-swap .mw-swap-settings input:invalid { border-color: #ff8a80; }
#view-swap .mw-slip-presets { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; width: 100%; margin-top: 1px; }
#view-swap .mw-slip-presets button { min-width: 0; min-height: 43px; padding: 0 4px; border: 0; border-radius: 999px; background: #f2f0ee; color: #6b6660; font-size: 12px; font-weight: 850; }
#view-swap .mw-slip-presets button.active { background: #8e73f5; color: #fff; box-shadow: 0 3px 8px rgba(142,115,245,.18); }
#view-swap .mw-swap-action,
#view-swap .mw-swap-action:disabled {
  min-height: 54px;
  height: auto;
  margin-top: 18px;
  padding: 12px 18px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(105deg, #b9a8ff 0%, #d4bbff 28%, #ffb7c5 75%, #ffe082 100%);
  color: var(--swap-ink);
  font-size: 16px;
  font-weight: 850;
  box-shadow: 0 5px 13px rgba(142,115,245,.18);
}
#view-swap .mw-swap-action:disabled { opacity: .67; box-shadow: none; }

/* Quote, fee allocation and explanatory content follow the action area. */
#view-swap .mw-swap-status {
  position: relative;
  min-height: 45px;
  margin: 10px 0 0;
  padding: 12px 13px 12px 33px;
  border: 1px solid rgba(212,187,255,.38);
  border-radius: 15px;
  background: rgba(212,187,255,.16);
  color: #6b6660;
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}
#view-swap .mw-swap-status::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 14px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #8e73f5;
  box-shadow: 0 0 0 4px rgba(142,115,245,.12);
}
#view-swap .mw-swap-status.warning { border-color: rgba(255,204,128,.7); background: rgba(255,204,128,.21); color: var(--swap-ink); }
#view-swap .mw-swap-status.warning::before { background: #ffcc80; box-shadow: 0 0 0 4px rgba(255,204,128,.2); }
#view-swap .mw-swap-status.error { border-color: rgba(255,138,128,.48); background: rgba(255,138,128,.15); color: #7b3d40; }
#view-swap .mw-swap-status.error::before { background: #ff8a80; box-shadow: 0 0 0 4px rgba(255,138,128,.17); }
#view-swap .mw-swap-status.success { border-color: rgba(184,224,210,.8); background: rgba(184,224,210,.32); color: #336e5c; }
#view-swap .mw-swap-status.success::before { background: #64bea0; box-shadow: 0 0 0 4px rgba(184,224,210,.34); }
#view-swap .mw-swap-details,
#view-swap .mw-fee-breakdown,
#view-swap .mw-fee-rule-note,
#view-swap .mw-swap-security {
  margin-top: 12px;
  border: 1px solid rgba(224,218,208,.6);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(45,42,50,.05);
}
#view-swap .mw-swap-details { gap: 7px; padding: 12px; }
#view-swap .mw-swap-details > div { padding: 10px; border: 0; border-radius: 11px; background: #fff8f0; }
#view-swap .mw-swap-details span { color: #9e9990; font-size: 11px; }
#view-swap .mw-swap-details strong { color: var(--swap-ink); font-size: 12px; }
#view-swap .mw-fee-breakdown { padding: 14px; }
#view-swap .mw-fee-title { font-size: 12px; }
#view-swap .mw-fee-title span:last-child { font-size: 10px; }
#view-swap .mw-fee-breakdown > div:not(.mw-fee-title):not(.mw-bound-referrer) { font-size: 11px; }
#view-swap .mw-fee-breakdown > div strong,
#view-swap .mw-fee-breakdown small { color: var(--swap-ink); font-size: 10px; }
#view-swap .mw-fee-rule-note { padding: 12px 14px; }
#view-swap .mw-fee-rule-note b { color: var(--swap-ink); font-size: 11px; }
#view-swap .mw-fee-rule-note span { color: #6b6660; font-size: 11px; }
#view-swap .mw-swap-security { align-items: center; padding: 12px 14px; }
#view-swap .mw-swap-security > span { color: #8e73f5; }
#view-swap .mw-swap-security p { color: #6b6660; font-size: 11px; }

#view-swap .mw-swap-aside { display: grid; grid-template-columns: 1fr; gap: 10px; }
#view-swap .mw-swap-aside-card { padding: 15px; border-radius: 16px; }
#view-swap .mw-swap-aside-card:nth-child(2),
#view-swap .mw-contract-state { grid-column: auto; }
#view-swap .mw-aside-label { color: var(--swap-ink); font-size: 12px; font-weight: 800; }
#view-swap .mw-split-stat strong { color: var(--swap-ink); font-size: 29px; font-weight: 850; }
#view-swap .mw-split-stat span,
#view-swap .mw-split-line,
#view-swap .mw-wallet-address,
#view-swap .mw-no-fee-note,
#view-swap .mw-process-step span { color: #6b6660; font-size: 11px; }
#view-swap .mw-split-line b,
#view-swap .mw-wallet-address code,
#view-swap .mw-process-step b { color: var(--swap-ink); font-size: 11px; }
#view-swap .mw-process-step i { border-color: var(--swap-lilac); color: #765aea; }
#view-swap .mw-contract-state { border-color: #e0dad0; border-radius: 15px; background: #fff; }
#view-swap .mw-contract-state b { color: var(--swap-ink); font-size: 11px; }
#view-swap .mw-contract-state span { color: #6b6660; font-size: 10px; }

/* The token dialog remains fully usable above the fixed navigation. */
#view-swap .mw-token-modal { z-index: 50; background: rgba(45,42,50,.48); }
#view-swap .mw-token-dialog { border-color: #e0dad0; border-radius: 22px; background: #fff; }
#view-swap .mw-token-modal-head > button { min-width: 48px; min-height: 48px; border-color: #e0dad0; border-radius: 50%; background: #fff8f0; color: var(--swap-ink); }
#view-swap .mw-token-dialog > input { min-height: 48px; border-color: #e0dad0; background: #fff8f0; color: var(--swap-ink); font-size: 14px; }
#view-swap .mw-token-option { min-height: 48px; color: var(--swap-ink); }
#view-swap .mw-token-option:hover { border-color: var(--swap-lilac); background: #fff8f0; }
#view-swap .mw-token-option > span:nth-child(2) { font-size: 13px; }
#view-swap .mw-token-option small,
#view-swap .mw-token-option > span:last-child { color: #6b6660; font-size: 10px; }

@media (max-width: 360px) {
  #view-swap .mw-swap-heading { padding-right: 105px; }
  #view-swap .mw-swap-heading::after { width: 132px; }
  #view-swap .mw-swap-heading h1 { font-size: 30px; }
  #view-swap .mw-swap-settings label { padding-left: 7px; font-size: 10px; }
  #view-swap .mw-swap-settings input { width: 49px; min-width: 47px; }
}

/* assets/project-refinement.css */
/* Image scale refinements. Load after the Lovart layout and Swap styles. */
#view-home,
#view-nft { container-type: inline-size; }

/* Use the app's own width for the Lovart crop, so desktop preview stays mobile sized. */
#view-home .hero-copy {
  width: min(77cqw, 274px);
  min-height: 0;
  height: min(38cqw, 135px);
  background-size: min(100cqw, 356px) auto;
  background-position: max(-11cqw, -39px) max(-14cqw, -50px);
}

#view-home .hero-visual {
  height: clamp(165px, 56cqw, 205px);
  min-height: 0;
  margin-top: 0;
}

#view-home .lovart-home-art {
  top: max(-43cqw, -154px);
  left: 50%;
  width: min(70cqw, 250px);
  max-width: none;
  height: auto;
  transform: translateX(-50%);
}

/* The illustrated catalogue remains two columns while each cover becomes shorter. */
#view-nft .nft-card-art,
#view-nft .lovart-preview-art {
  height: clamp(112px, 36cqw, 145px);
  aspect-ratio: auto;
}

#view-nft .nft-card-art img,
#view-nft .lovart-preview-art img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}

/* My: four compact series previews; actual holdings keep readable text rows. */
#view-mine .mine-nft-preview {
  grid-template-columns: repeat(4, 60px);
  justify-content: space-between;
  gap: 6px;
}

#view-mine .mine-nft-preview img,
#view-mine .owned-nft-thumb {
  width: 60px;
  height: 60px;
  aspect-ratio: auto;
  background: #f5e9fb;
}

#view-mine .mine-nft-preview img,
#view-mine .owned-nft-thumb img { object-fit: contain; }

/* Keep detail art centered and fully visible instead of stretching it to page width. */
.nft-detail-image {
  width: min(210px, 70%);
  height: auto;
  aspect-ratio: 1 / 1;
  margin-inline: auto;
}

.nft-detail-image img { object-fit: contain; }

/* The Swap header cat is a small corner character, at any viewport width. */
#view-swap .mw-swap-heading {
  min-height: 106px;
  padding-right: 112px;
}

#view-swap .mw-swap-heading::after {
  right: 0;
  bottom: 2px;
  width: 108px;
  height: 100px;
}

/* assets/project-rules.css */
/* CatKing project content: compact imagery, readable rules and actual destinations. */
:root { --project-copy: #665147; --project-muted: #8d8179; --project-line: #f0e8e1; }
.view { overflow-wrap: anywhere; }
.view p { font-weight: 400; }
.project-info-card,.nft-activity-card { margin-top: 18px; padding: 17px; border: 1px solid #f1e9e1; border-radius: 22px; background: #fff; box-shadow: 0 5px 18px rgba(92,65,45,.06); }
.project-section-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.project-section-title h2 { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 800; }
.project-section-title > span { color: var(--project-muted); font-size: 10px; white-space: nowrap; }
.project-kicker { display: block; margin-bottom: 2px; color: #9b88c4; font-size: 9px; letter-spacing: .08em; }
.project-rule-list { margin: 0; }
.project-rule-list > div { display: grid; grid-template-columns: 76px minmax(0,1fr); gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--project-line); }
.project-rule-list > div:last-child { border: 0; }
.project-rule-list dt { color: var(--lovart-brown); font-size: 12px; font-weight: 700; line-height: 1.8; }
.project-rule-list dd { margin: 0; color: var(--project-copy); font-size: 12px; line-height: 1.8; font-weight: 400; }
.project-address-links { display: grid; gap: 8px; margin-top: 11px; padding-top: 13px; border-top: 1px solid var(--project-line); }
.project-address-links a { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px; color: var(--project-copy); font-size: 10px; }
.project-address-links a span { color: #9274d9; }
.project-status-note { margin: 13px 0 0; padding: 9px 11px; border-radius: 11px; background: #f7f3ff; color: #817297; font-size: 10px; line-height: 1.7; }

/* Home information takes priority over decoration. */
#view-home .subscription { min-height: 134px; }
#view-home .subscription-main h2 { font-size: 18px; font-weight: 800; }
#view-home .subscription-main p { font-size: 11px; }
#view-home .subscription-main p b { font-size: 13px; }
#view-home .subscription-perk { gap: 4px; left: 13px; padding-inline: 8px; font-size: 9px; }
#view-home .subscription-perk strong { font-size: 12px; }
#view-home .subscription .small-btn { width: 96px; right: 12px; font-size: 12px; opacity: .76; }
#view-home .claim-copy > strong { font-size: 18px; font-weight: 800; line-height: 1.5; }
#view-home .claim-copy > small { display: block; color: var(--project-muted); font-size: 10px; }
#view-home .weekly-claim { min-height: 94px; }
#view-home .tile { min-height: 91px; padding-top: 7px; cursor: pointer; }
#view-home .tile-icon { width: 52px; height: 52px; }
#view-home .tile h3 { font-weight: 700; }
#view-home .project-info-card { margin-top: 10px; }

/* NFT flow summary belongs to the same cream-and-white visual system. */
#view-nft .nft-page-heading h1 { font-size: 25px; font-weight: 800; }
#view-nft .nft-page-heading p { font-size: 11px; color: var(--project-muted); }
#view-nft .nft-activity-card { order: 1; margin: 0 0 19px; padding: 15px; }
#view-nft .project-state { padding: 5px 9px; border-radius: 999px; background: #fff4dc; color: #a48340; font-size: 10px; }
#view-nft .nft-activity-flow { display: grid; grid-template-columns: 1fr 11px 1fr 11px 1fr; align-items: center; gap: 5px; margin: 11px 0 8px; }
#view-nft .nft-activity-flow > div { min-width: 0; text-align: center; }
#view-nft .nft-activity-flow b { display: inline-grid; place-items: center; width: 25px; height: 25px; margin-bottom: 7px; border-radius: 8px; background: #f1ebff; color: #9a7be5; font-size: 10px; }
#view-nft .nft-activity-flow span { display: block; color: var(--lovart-brown); font-size: 11px; font-weight: 700; }
#view-nft .nft-activity-flow small { display: block; margin-top: 3px; color: var(--project-muted); font-size: 9px; line-height: 1.6; }
#view-nft .nft-activity-flow > i { color: #cabee0; font-size: 11px; }
#view-nft .nft-activity-times { margin: 13px 0 11px; padding: 11px; border: 1px solid #eee5f7; border-radius: 15px; background: #fbf8ff; }
#view-nft .nft-activity-times-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 9px; }
#view-nft .nft-activity-times-head strong { color: var(--lovart-brown); font-size: 12px; font-weight: 800; }
#view-nft .nft-activity-times-head span { color: #907e9f; font-size: 10px; }
#view-nft .nft-activity-time-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
#view-nft .nft-activity-time { min-width: 0; padding: 10px 11px; border: 1px solid #ebe1f5; border-radius: 12px; background: #fff; }
#view-nft .nft-activity-time--window { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 8px; border-color: #e6d7f6; background: linear-gradient(110deg,#fff,#f5ecff); }
#view-nft .nft-activity-time span { display: block; color: #786985; font-size: 11px; font-weight: 700; line-height: 1.5; }
#view-nft .nft-activity-time strong { display: block; margin-top: 4px; color: #7856bb; font-size: 15px; font-weight: 850; line-height: 1.4; white-space: nowrap; }
#view-nft .nft-activity-time--window strong { margin-top: 0; color: #5d3e8e; font-size: 18px; }
.project-text-button { display: flex; align-items: center; justify-content: center; gap: 3px; width: 100%; min-height: 40px; padding: 0; border: 0; border-top: 1px solid var(--project-line); background: transparent; color: #8d6bcd; font-size: 11px; font-weight: 600; cursor: pointer; }
@media (max-width: 355px) {
  #view-nft .nft-activity-time-grid { grid-template-columns: 1fr; }
  #view-nft .nft-activity-time--window { grid-column: auto; }
}
#view-nft .nft-market-section { order: 2; }
.preview-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 11px; }
.preview-section-heading h2 { margin: 0; font-size: 15px; font-weight: 800; }
.preview-section-heading > span { color: var(--project-muted); font-size: 10px; }
#view-nft .lovart-preview-filters button { min-height: 40px; font-weight: 600; }
#view-nft .lovart-preview-caption { min-height: 35px; }
#view-nft .lovart-preview-caption b { font-size: 11px; font-weight: 700; }
#view-nft .lovart-preview-caption small { color: #a391a3; }
#view-nft .lovart-preview-art { background: #fbf7f1; }
#view-nft .nft-fab { display: none; }

/* Full rule area: no dark remnants, clear titles, legible copy and grouped values. */
#view-nft .nft-rules-disclosure { order: 3; margin-top: 19px; padding: 0; border-radius: 19px; background: #fff; box-shadow: 0 5px 18px rgba(92,65,45,.06); overflow: hidden; }
#view-nft .nft-rules-disclosure > summary { min-height: 56px; padding: 0 16px; border-radius: 19px; box-shadow: none; color: var(--lovart-brown); font-size: 13px; font-weight: 700; }
#view-nft .nft-rules-disclosure > summary > span { display: flex; align-items: center; gap: 8px; }
#view-nft .nft-rules-disclosure > summary > span i { color: #a382e8; font-size: 18px; }
#view-nft .nft-rules-disclosure[open] > summary { border-bottom: 1px solid var(--project-line); border-radius: 0; }
#view-nft .nft-game-rules { margin: 0; padding: 16px; border: 0; border-radius: 0; background: #fff; box-shadow: none; color: var(--lovart-brown); }
#view-nft .nft-game-rules-head { display: block; margin: 0 0 15px; }
#view-nft .nft-game-rules-head h2 { margin: 0 0 5px; color: var(--lovart-brown); font-size: 17px; font-weight: 800; letter-spacing: 0; }
#view-nft .nft-game-rules-head p { margin: 0; color: var(--project-muted); font-size: 11px; line-height: 1.8; }
#view-nft .nft-game-grid { display: flex; flex-direction: column; gap: 9px; }
#view-nft .nft-rule-item { overflow: hidden; border: 1px solid #eee6f5; border-radius: 14px; background: #fff; }
#view-nft .nft-rule-item > summary { display: flex; align-items: center; gap: 9px; min-height: 52px; padding: 11px 12px; color: var(--lovart-brown); font-size: 12px; font-weight: 700; cursor: pointer; list-style: none; }
#view-nft .nft-rule-item > summary::-webkit-details-marker { display: none; }
#view-nft .nft-rule-item > summary > span:nth-child(2) { flex: 1; }
#view-nft .nft-rule-item > summary > i { color: #a58ac8; font-size: 13px; transform: none; transition: transform .15s; }
#view-nft .nft-rules-disclosure[open] > summary > span i { transform: none; }
#view-nft .nft-rule-item[open] > summary { background: #faf7ff; }
#view-nft .nft-rule-item[open] > summary > i { transform: rotate(180deg); }
#view-nft .rule-number { display: grid; place-items: center; flex: 0 0 26px; width: 26px; height: 26px; border-radius: 8px; background: #eee7fc; color: #9a77d4; font-size: 10px; }
#view-nft .nft-rule-body { padding: 12px; color: var(--project-copy); background: #fff; }
#view-nft .nft-rule-body p { display: block; margin: 0 0 10px; color: var(--project-copy); font-size: 12px; font-weight: 400; line-height: 1.9; opacity: 1; }
#view-nft .nft-rule-body p:last-child { margin-bottom: 0; }
#view-nft .nft-rule-body strong { color: #8e68c7; font-weight: 700; }
#view-nft .rule-callout { padding: 10px 11px; border-radius: 10px; background: #f4f9f4; color: #617865; font-size: 11px; line-height: 1.8; }
#view-nft .nft-rule-values { margin: 0 0 12px; }
#view-nft .nft-rule-values > div { display: flex; align-items: flex-start; justify-content: space-between; gap: 13px; padding: 8px 0; border-bottom: 1px solid var(--project-line); }
#view-nft .nft-rule-values > div:last-child { border: 0; }
#view-nft .nft-rule-values dt { color: var(--project-muted); font-size: 11px; }
#view-nft .nft-rule-values dd { margin: 0; color: var(--lovart-brown); font-size: 12px; font-weight: 600; text-align: right; }
#view-nft .nft-quota-levels { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; margin-bottom: 13px; }
#view-nft .nft-quota-levels > div { padding: 11px 7px; border-radius: 11px; background: #fff8eb; text-align: center; }
#view-nft .nft-quota-levels b { display: block; color: #b68b37; font-size: 18px; }
#view-nft .nft-quota-levels span { display: block; margin-top: 5px; color: var(--project-copy); font-size: 10px; line-height: 1.7; }
#view-nft .nft-rule-foot { display: block; margin: 13px 0 0; padding: 11px; border: 0; border-radius: 11px; background: #f8f5ee; color: var(--project-muted); font-size: 10px; line-height: 1.8; }
#view-nft .nft-market-footnote { display: block; color: var(--project-muted); font-size: 10px; line-height: 1.8; }
#view-nft .nft-market-footnote span { display: block; }

/* Swap keeps quote controls prominent and places longer explanations in disclosures. */
#view-swap .mw-swap-heading h1 { font-size: 29px; font-weight: 800; }
#view-swap .mw-token-pick { flex: 0 0 auto; min-width: 116px; }
#view-swap .mw-token-pick > span { white-space: nowrap; overflow-wrap: normal; }
#view-swap .mw-swap-card > .swap-fee-disclosure { order: 8; margin-top: 12px; }
.swap-fee-disclosure,.swap-project-rules { overflow: hidden; border: 1px solid var(--project-line); border-radius: 18px; background: #fff; box-shadow: 0 3px 13px rgba(92,65,45,.05); }
.swap-fee-disclosure > summary,.swap-project-rules > summary { display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 12px 14px; color: var(--lovart-brown); font-size: 12px; font-weight: 700; list-style: none; cursor: pointer; }
.swap-fee-disclosure > summary::-webkit-details-marker,.swap-project-rules > summary::-webkit-details-marker { display: none; }
.swap-fee-disclosure > summary > span { flex: 1; color: var(--project-muted); font-size: 9px; font-weight: 400; text-align: right; }
.swap-project-rules > summary > i { margin-left: auto; }
.swap-fee-disclosure[open] > summary > i,.swap-project-rules[open] > summary > i { transform: rotate(180deg); }
#view-swap .swap-fee-disclosure .mw-fee-breakdown { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
#view-swap .swap-fee-disclosure .mw-fee-rule-note { margin: 0; border: 0; border-top: 1px solid var(--project-line); border-radius: 0; box-shadow: none; color: var(--project-copy); font-size: 11px; }
#view-swap .mw-swap-aside { display: flex; flex-direction: column; width: 100%; max-width: none; gap: 12px; }
.swap-project-rules-body { padding: 0 14px 14px; }
.swap-project-rules-body p { margin: 11px 0 0; color: var(--project-muted); font-size: 11px; line-height: 1.8; }
#view-swap .mw-contract-state { width: 100%; max-width: none; margin: 0; padding: 12px 14px; }
#view-swap .mw-swap-security p { font-size: 11px; line-height: 1.8; }

/* My page is about shareholder rights, personal balances and Swap records. */
#view-mine .page-heading h1 { font-weight: 800; }
#view-mine .account-top h2 { font-size: 18px; font-weight: 800; }
#view-mine .mine-wallet-summary strong { font-size: 18px; font-weight: 800; }
#view-mine .mine-wallet-summary button { font-size: 11px; }
#view-mine .owned-nft-card { padding: 15px; border: 1px solid var(--project-line); border-radius: 19px; background: #fff; box-shadow: 0 5px 18px rgba(92,65,45,.05); }
#view-mine .owned-nft-card h3 { font-size: 16px; font-weight: 800; }
#view-mine .owned-nft-empty { margin: 10px 0 0; padding: 0; color: var(--project-muted); font-size: 11px; line-height: 1.8; }
#view-mine .owned-nft-grid:empty { display: none; margin: 0; }
#view-mine .mine-menu { margin-top: 15px; padding: 4px 13px; border-radius: 20px; }
#view-mine .mine-menu button { min-height: 69px; font-size: 13px; font-weight: 700; }
#view-mine .mine-menu button small { display: block; margin-top: 4px; color: var(--project-muted); font-size: 10px; font-weight: 400; line-height: 1.6; }
#view-mine #mineEquityPanel { padding: 17px; border: 1px solid var(--project-line); border-radius: 20px; background: #fff; }
#view-mine #mineEquityPanel .empty-content { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; min-height: 0; padding: 12px 0; text-align: left; }
#view-mine #mineEquityPanel .empty-content strong { color: #9571c6; font-size: 15px; }
#view-mine #mineEquityPanel .empty-content span { color: var(--project-copy); font-size: 12px; line-height: 1.8; }
#view-mine .my-hint { color: var(--project-muted); font-size: 10px; line-height: 1.8; }
#view-mine .mw-my-swap-heading h2 { font-size: 17px; }
#view-mine .mw-my-summary { gap: 7px; }
#view-mine .mw-my-summary article { min-width: 0; padding: 11px 8px; }
#view-mine .mw-my-summary article span { font-size: 10px; }
#view-mine .mw-my-summary article strong { overflow-wrap: anywhere; font-size: 16px; }

/* Expanded trade and referral panels use the same cream, brown and purple palette. */
#view-mine #mineTradePanel[hidden],
#view-mine #mineEquityPanel[hidden] { display: none; }
#view-mine .mw-my-swap-card {
  min-width: 0;
  padding: 15px;
  border: 1px solid #eee3da;
  border-radius: 20px;
  background: #fff;
  color: var(--lovart-brown);
  box-shadow: 0 5px 18px rgba(92,65,45,.07);
}
#view-mine .mw-my-swap-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
#view-mine .mw-my-swap-heading > div:first-child { flex: 1; min-width: 0; }
#view-mine .mw-my-swap-heading .mw-aside-label { color: #7b5eaa; font-size: 10px; font-weight: 700; }
#view-mine .mw-my-swap-heading h2 { margin: 3px 0; color: var(--lovart-brown); font-size: 17px; font-weight: 800; }
#view-mine .mw-my-swap-heading p { margin: 0; color: #6d625c; font-size: 11px; line-height: 1.6; }
#view-mine .mine-panel-actions { display: flex; align-items: center; flex: 0 0 auto; gap: 5px; }
#view-mine .mw-my-swap-heading #mwRefreshStats {
  min-width: 60px;
  min-height: 44px;
  padding: 0 8px;
  border: 1px solid #ded2f0;
  border-radius: 12px;
  background: #f4efff;
  color: #6546a3;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}
#view-mine .mine-panel-close {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 1px solid #eadff4;
  border-radius: 12px;
  background: #faf6ff;
  color: #6546a3;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
#view-mine .mine-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; }
#view-mine .mine-panel-heading > :first-child { flex: 1; min-width: 0; color: var(--lovart-brown); }
#view-mine #mineBalanceDetails[hidden] { display: none; }
#view-mine #mineBalanceDetails { background: transparent; color: var(--lovart-brown); }
#view-mine #mineBalanceDetails .balance-row { border-color: rgba(92,65,45,.14); }
#view-mine #mineBalanceDetails .balance-value,
#view-mine #mineBalanceDetails .asset b { color: var(--lovart-brown); font-weight: 800; }
#view-mine #mineBalanceDetails .asset small { color: #6d625c; }
#view-mine #mineEquityPanel .empty-title { display: flex; align-items: center; gap: 8px; }
#view-mine #mineEquityPanel .empty-title h3 { flex: 1; min-width: 0; }
#view-mine #mineEquityPanel .mine-panel-close { margin-left: auto; }

#view-mine .mw-my-swap-card .mw-my-summary,
#view-mine .mw-my-swap-card .mw-referral-summary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin: 15px 0; }
#view-mine .mw-my-swap-card .mw-my-summary article,
#view-mine .mw-my-swap-card .mw-referral-summary article {
  min-width: 0;
  padding: 12px;
  border: 1px solid #eee4dc;
  border-radius: 14px;
  background: #fff9f1;
  box-shadow: none;
}
#view-mine .mw-my-swap-card .mw-my-summary article:last-child,
#view-mine .mw-my-swap-card .mw-referral-summary article:last-child { grid-column: 1 / -1; background: #f6f0ff; border-color: #e9def8; }
#view-mine .mw-my-swap-card .mw-my-summary span,
#view-mine .mw-my-swap-card .mw-referral-summary span { display: block; color: #6d625c; font-size: 11px; line-height: 1.5; }
#view-mine .mw-my-swap-card .mw-my-summary strong,
#view-mine .mw-my-swap-card .mw-referral-summary strong { display: block; margin-top: 5px; color: var(--lovart-brown); font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#view-mine .mw-my-swap-card .mw-my-summary article:last-child strong,
#view-mine .mw-my-swap-card .mw-referral-summary article:last-child strong { color: #6546a3; }

#view-mine .mw-my-swap-card .mw-my-tabs { display: flex; gap: 4px; margin-top: 14px; padding: 4px; border: 1px solid #eadff4; border-radius: 15px; background: #f6f1fb; }
#view-mine .mw-my-swap-card .mw-my-tabs button { flex: 1; min-width: 0; min-height: 44px; padding: 0 7px; border: 0; border-radius: 11px; background: transparent; color: #665b6a; font-size: 12px; font-weight: 700; }
#view-mine .mw-my-swap-card .mw-my-tabs button.active,
#view-mine .mw-my-swap-card .mw-my-tabs button[aria-selected="true"] { background: #fff; color: #6546a3; box-shadow: 0 2px 7px rgba(99,71,153,.14); }
#view-mine .mw-my-swap-card .mw-my-pane { display: none; min-width: 0; margin-top: 14px; color: var(--lovart-brown); }
#view-mine .mw-my-swap-card .mw-my-pane.active { display: block; }

#view-mine .mw-my-swap-card .mw-record-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 4px 9px; margin: 15px 0 8px; }
#view-mine .mw-my-swap-card .mw-record-heading:first-child { margin-top: 0; }
#view-mine .mw-my-swap-card .mw-record-heading strong { color: var(--lovart-brown); font-size: 13px; font-weight: 800; }
#view-mine .mw-my-swap-card .mw-record-heading span { color: #6d625c; font-size: 10px; line-height: 1.5; }
#view-mine .mw-my-swap-card .mw-record-list { display: grid; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; background: transparent; }
#view-mine .mw-my-swap-card .mw-record-empty,
#view-mine .mw-my-swap-card .mw-record-item { min-width: 0; padding: 12px; border: 1px solid #eee4dc; border-radius: 13px; background: #fffaf5; color: #665147; }
#view-mine .mw-my-swap-card .mw-record-empty { font-size: 11px; line-height: 1.7; }
#view-mine .mw-my-swap-card .mw-record-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 9px; }
#view-mine .mw-my-swap-card .mw-record-left { flex: 1; min-width: 0; }
#view-mine .mw-my-swap-card .mw-record-right { min-width: 0; max-width: 48%; text-align: right; }
#view-mine .mw-my-swap-card .mw-record-left strong,
#view-mine .mw-my-swap-card .mw-record-right strong { display: block; color: var(--lovart-brown); font-size: 12px; font-weight: 800; overflow-wrap: anywhere; }
#view-mine .mw-my-swap-card .mw-record-right strong { color: #6546a3; }
#view-mine .mw-my-swap-card .mw-record-left span,
#view-mine .mw-my-swap-card .mw-record-right span { display: block; margin-top: 4px; color: #6d625c; font-size: 10px; line-height: 1.6; overflow-wrap: anywhere; }
#view-mine .mw-my-swap-card .mw-record-right a { display: inline-block; margin-top: 5px; color: #6546a3; font-size: 10px; font-weight: 700; text-decoration: underline; }
#view-mine .mw-my-swap-card .mw-record-item code { border: 0; background: #f3ecff; color: #6546a3; }

#view-mine .mw-my-swap-card .mw-bind-row,
#view-mine .mw-my-swap-card .mw-share-link { display: grid; grid-template-columns: minmax(0,1fr); gap: 9px; min-width: 0; margin: 12px 0; padding: 13px; border: 1px solid #e9ddf6; border-radius: 14px; background: #f8f4ff; color: var(--lovart-brown); }
#view-mine .mw-my-swap-card .mw-share-link { background: #fff; }
#view-mine .mw-my-swap-card .mw-bind-row strong,
#view-mine .mw-my-swap-card .mw-share-link > span { display: block; color: var(--lovart-brown); font-size: 12px; font-weight: 800; }
#view-mine .mw-my-swap-card .mw-bind-row span { display: block; margin-top: 4px; color: #6d625c; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
#view-mine .mw-my-swap-card .mw-bind-controls,
#view-mine .mw-my-swap-card .mw-share-link > div { display: grid; grid-template-columns: minmax(0,1fr) 86px; gap: 7px; min-width: 0; }
#view-mine .mw-my-swap-card .mw-share-link > div { grid-template-columns: minmax(0,1fr) 62px; }
#view-mine .mw-my-swap-card .mw-bind-controls input,
#view-mine .mw-my-swap-card .mw-share-link code { display: block; width: 100%; min-width: 0; min-height: 44px; padding: 0 10px; border: 1px solid #ddd0ed; border-radius: 10px; background: #fff; color: var(--lovart-brown); font-size: 11px; }
#view-mine .mw-my-swap-card .mw-bind-controls input::placeholder { color: #746b72; opacity: 1; }
#view-mine .mw-my-swap-card .mw-share-link code { display: block; overflow: hidden; line-height: 42px; text-overflow: ellipsis; white-space: nowrap; }
#view-mine .mw-my-swap-card .mw-bind-controls button,
#view-mine .mw-my-swap-card .mw-share-link button { min-height: 44px; padding: 0 7px; border: 1px solid #7655bb; border-radius: 10px; background: #7859bc; color: #fff; font-size: 11px; font-weight: 800; white-space: nowrap; }
#view-mine .mw-my-swap-card .mw-bind-controls button:disabled,
#view-mine .mw-my-swap-card .mw-share-link button:disabled { border-color: #ddd5e4; background: #eee9f2; color: #625b68; opacity: 1; cursor: not-allowed; }
#view-mine .mw-my-swap-card .mw-indexer-footnote { margin: 16px 0 0; padding: 11px 12px; border-radius: 11px; background: #f7f3ed; color: #665b55; font-size: 10px; line-height: 1.7; }

#view-mine .mine-menu button[aria-expanded="true"] { background: #f7f2ff; color: #6546a3; }
#view-mine .mine-menu button[aria-expanded="true"] > i:last-child { transform: rotate(90deg); }
#view-mine .mine-menu button > i:last-child { transition: transform .18s ease; }
#view-mine .mw-my-swap-card button:focus-visible,
#view-mine .mw-my-swap-card input:focus-visible,
#view-mine .mine-panel-close:focus-visible,
#view-mine .mine-menu button:focus-visible { outline: 2px solid #8764d0; outline-offset: 2px; }

@media (max-width: 355px) {
  #view-mine .mw-my-swap-card { padding: 12px; }
  #view-mine .mw-my-swap-heading h2 { font-size: 15px; }
  #view-mine .mw-my-swap-heading #mwRefreshStats { min-width: 54px; padding-inline: 5px; }
  #view-mine .mw-my-swap-card .mw-my-summary article,
  #view-mine .mw-my-swap-card .mw-referral-summary article { padding: 10px; }
  #view-mine .mw-my-swap-card .mw-my-summary strong,
  #view-mine .mw-my-swap-card .mw-referral-summary strong { font-size: 14px; }
}
.nft-detail { padding-top: 67px; }
.nft-detail-copy h3 { font-size: 23px; font-weight: 800; }
.nft-detail-info { min-height: 69px; margin: 14px 0; }
.nft-detail-property { min-height: 61px; }
.nft-detail-note { font-size: 11px; line-height: 1.8; }
@media (max-width: 355px) {
  #view-home .subscription-perk { font-size: 8px; gap: 2px; }
  #view-home .subscription-perk strong { font-size: 10px; }
  #view-home .subscription .small-btn { width: 80px; font-size: 10px; }
  #view-home .claim-copy > strong { font-size: 16px; }
  #view-nft .nft-page-heading h1 { font-size: 22px; }
  .project-rule-list > div { grid-template-columns: 63px minmax(0,1fr); gap: 8px; }
}

/* assets/profile-settings.css */
/* CatKing profile editor. Load after Lovart and project rules styles. */
#view-mine #mineSettingsPanel[hidden] { display: none; }

/* The profile header keeps a long nickname above the wallet address. */
#view-mine .account-card {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  grid-template-rows: minmax(30px, auto) minmax(30px, auto);
  column-gap: 13px;
  align-items: center;
  min-height: 72px;
}
#view-mine .account-card .account-top { display: contents; }
#view-mine .account-card .account-avatar { grid-column: 1; grid-row: 1 / 3; width: 68px; height: 68px; border-radius: 50%; }
#view-mine #accountAvatarImage { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: center; }
#view-mine .account-card .account-top > div:last-child { grid-column: 2; grid-row: 1; min-width: 0; }
#view-mine .account-card .account-top h2 { display: flex; align-items: center; gap: 5px; min-width: 0; max-width: 100%; margin: 0; white-space: nowrap; }
#view-mine #accountNickname { display: block; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view-mine .account-card .account-top h2 i { flex: 0 0 auto; }
#view-mine .account-card .address-box { position: static; grid-column: 2; grid-row: 2; width: 100%; min-width: 0; min-height: 30px; margin: 0; padding: 0; }
#view-mine .account-card .address-box > div { min-width: 0; }
#view-mine .account-card .address-value { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

#view-mine #mineSettingsPanel {
  min-width: 0;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #eee3dc;
  border-radius: 20px;
  background: #fff;
  color: #4b3025;
  box-shadow: 0 5px 18px rgba(92,65,45,.07);
}
#view-mine #mineSettingsPanel .mine-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 44px; margin-bottom: 15px; padding-bottom: 12px; border-bottom: 1px solid #f0e8e1; }
#view-mine #mineSettingsPanel .mine-panel-heading h2 { flex: 1; min-width: 0; margin: 0; color: #4b3025; font-size: 18px; font-weight: 800; }
#view-mine #mineSettingsPanel .mine-panel-close { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 1px solid #e7dcf4; border-radius: 12px; background: #faf6ff; color: #6546a3; font-size: 13px; font-weight: 700; }

#view-mine #profileSettingsForm { display: grid; gap: 14px; min-width: 0; }
#view-mine .profile-editor-preview { display: flex; align-items: center; gap: 13px; min-width: 0; padding: 12px; border-radius: 16px; background: linear-gradient(110deg,#fff4e8,#f5efff); }
#view-mine #profileAvatarPreview { display: block; flex: 0 0 80px; width: 80px; height: 80px; border: 3px solid #fff; border-radius: 50%; background: #f9e8f1; object-fit: cover; object-position: center; box-shadow: 0 4px 12px rgba(92,65,45,.13); }
#view-mine .profile-editor-preview > div { min-width: 0; }
#view-mine #profileNicknamePreview { display: block; max-width: 100%; overflow: hidden; color: #4b3025; font-size: 17px; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
#view-mine .profile-editor-preview small { display: block; margin-top: 4px; color: #6d625c; font-size: 11px; }

#view-mine .profile-field { display: grid; gap: 7px; min-width: 0; color: #4b3025; font-size: 13px; font-weight: 800; }
#view-mine .profile-field > span { display: block; }
#view-mine #profileNicknameInput { width: 100%; min-width: 0; height: 48px; padding: 0 13px; border: 1px solid #d9c9ec; border-radius: 12px; outline: 0; background: #fff; color: #4b3025; font-size: 16px; font-weight: 600; }
#view-mine #profileNicknameInput::placeholder { color: #776f72; opacity: 1; }
#view-mine #profileNicknameInput:focus { border-color: #8b6ccf; box-shadow: 0 0 0 3px rgba(139,108,207,.16); }
#view-mine #profileNicknameInput[aria-invalid="true"] { border-color: #c94d66; background: #fff8f8; }
#view-mine .profile-field-meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; color: #6d625c; font-size: 11px; font-weight: 500; }
#view-mine #profileNicknameCount { color: #7657b4; font-variant-numeric: tabular-nums; }

#view-mine .profile-avatar-field { min-width: 0; margin: 0; padding: 11px 12px 12px; border: 1px solid #eee3f5; border-radius: 16px; background: #fffcf8; }
#view-mine .profile-avatar-field legend { padding: 0 5px; color: #4b3025; font-size: 13px; font-weight: 800; }
#view-mine .profile-avatar-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; }
#view-mine #mineSettingsPanel .profile-avatar-option { display: grid; place-items: center; justify-self: center; width: 100%; max-width: 72px; min-width: 0; min-height: 48px; aspect-ratio: 1 / 1; margin: 0; padding: 3px; overflow: hidden; border: 2px solid transparent; border-radius: 14px; background: #f8edf8; color: #4b3025; cursor: pointer; }
#view-mine #mineSettingsPanel .profile-avatar-option img { display: block; width: 100%; height: 100%; border-radius: 10px; object-fit: contain; }
#view-mine #mineSettingsPanel .profile-avatar-option[aria-pressed="true"] { border-color: #7859bc; background: #f1e9ff; box-shadow: 0 0 0 2px rgba(120,89,188,.16); }
#view-mine #mineSettingsPanel .profile-avatar-option:disabled { opacity: .55; cursor: not-allowed; }

#view-mine .profile-upload-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#view-mine .profile-upload-button,
#view-mine #mineSettingsPanel #profileAvatarReset { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 0 14px; border: 1px solid #dacbed; border-radius: 12px; background: #f6f0ff; color: #6546a3; font-size: 12px; font-weight: 800; cursor: pointer; }
#view-mine .profile-upload-button { position: relative; }
#view-mine #profileAvatarUpload { display: none; }
#view-mine #mineSettingsPanel #profileAvatarReset { background: #fff; }
#view-mine #profileAvatarHelp { margin: 0; color: #6d625c; font-size: 11px; line-height: 1.7; }
#view-mine #profileSaveStatus { min-height: 18px; margin: 0; color: #6546a3; font-size: 11px; line-height: 1.6; }
#view-mine #profileSaveStatus.error,
#view-mine #profileSaveStatus[data-state="error"] { color: #a9344c; }
#view-mine #profileSaveStatus.success,
#view-mine #profileSaveStatus[data-state="success"] { color: #276c51; }
#view-mine #mineSettingsPanel .profile-save-button { width: 100%; min-height: 48px; margin: 0; padding: 0 14px; border: 0; border-radius: 12px; background: linear-gradient(105deg,#8d6bdb,#f498c4); color: #fff; font-size: 14px; font-weight: 800; cursor: pointer; }
#view-mine #mineSettingsPanel .profile-save-button:disabled { background: #eee9f2; color: #625b68; opacity: 1; cursor: not-allowed; }
#view-mine #mineSettingsPanel .profile-storage-note { margin: 0; padding: 10px 12px; border-radius: 10px; background: #fff8ef; color: #665147; font-size: 10px; line-height: 1.7; }

#view-mine .profile-settings-footer { display: flex; align-items: center; gap: 12px; min-width: 0; margin-top: 16px; padding-top: 14px; border-top: 1px solid #f0e8e1; }
#view-mine #mineSettingsPanel #profileSwapSettings { flex: 0 0 auto; min-height: 44px; margin: 0; padding: 0 13px; border: 1px solid #dccfee; border-radius: 12px; background: #fff; color: #6546a3; font-size: 12px; font-weight: 800; }
#view-mine .profile-settings-footer small { min-width: 0; color: #6d625c; font-size: 10px; line-height: 1.5; }

#view-mine #mineSettingsPanel button:focus-visible,
#view-mine .profile-upload-button:focus-within { outline: 2px solid #8764d0; outline-offset: 2px; }

@media (max-width: 355px) {
  #view-mine #mineSettingsPanel { padding: 13px; }
  #view-mine .profile-avatar-options { gap: 6px; }
  #view-mine .profile-editor-preview { gap: 10px; padding: 10px; }
  #view-mine #profileAvatarPreview { flex-basis: 72px; width: 72px; height: 72px; }
  #view-mine #profileNicknamePreview { font-size: 15px; }
  #view-mine .profile-settings-footer { align-items: flex-start; flex-direction: column; gap: 6px; }
}

/* assets/token-icons.css */
/* Consistent local token artwork in the Swap card and token picker. Load last. */
#view-swap .mw-token-icon {
  position: relative;
  display: grid;
  place-items: center;
  flex: 0 0 33px;
  width: 33px;
  height: 33px;
  padding: 0;
  overflow: visible;
  border-radius: 50%;
  font-style: normal;
  line-height: 1;
}

#view-swap .mw-token-icon.mw-token-icon--image {
  background: #fff;
  color: transparent;
}

#view-swap .mw-token-icon.mw-token-icon--image img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

#view-swap .mw-token-icon.mw-token-icon--image[data-symbol="猫王"] {
  background: #000;
}

#view-swap .mw-token-icon[data-symbol="猫王"] img {
  box-sizing: border-box;
  padding: 2px;
  object-fit: contain;
}

.balance-row .asset .coin--maowang {
  padding: 2px;
  overflow: hidden;
  background: #000;
}

.balance-row .asset .coin--maowang img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* WBNB reuses the BNB mark with a compact wrap indicator. */
#view-swap .mw-token-icon.mw-token-icon--wrapped::after {
  content: "W";
  position: absolute;
  right: -4px;
  bottom: -3px;
  display: grid;
  place-items: center;
  width: 15px;
  height: 15px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #8166ec;
  color: #fff;
  box-shadow: 0 1px 3px rgba(45,42,50,.22);
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}

#view-swap .mw-token-results .mw-token-option {
  grid-template-columns: 33px minmax(0,1fr) auto;
  min-height: 52px;
  gap: 11px;
}

/* assets/account-panel.css */
#view-mine #mineBalanceDetails .mw-account-panel {
  --account-ink: #4b3025;
  --account-muted: #75675f;
  --account-purple: #6b50b4;
  --account-pale: #f4eefe;
  margin: 12px 0 0;
  padding: 17px 0 6px;
  border-top: 1px solid rgba(92, 65, 45, .16);
  color: var(--account-ink);
  font-size: 16px;
  line-height: 1.55;
}
#view-mine #mineBalanceDetails .mw-account-panel *,
#view-mine #mineBalanceDetails .mw-account-panel *::before,
#view-mine #mineBalanceDetails .mw-account-panel *::after { box-sizing: border-box; }
#view-mine #mineBalanceDetails .mw-account-panel [hidden] { display: none !important; }
#view-mine #mineBalanceDetails .mw-account-head { display: flex; align-items: center; gap: 11px; }
#view-mine #mineBalanceDetails .mw-account-head-logo {
  display: grid; place-items: center; flex: 0 0 43px; width: 43px; height: 43px;
  overflow: hidden; border: 1px solid #d9c9f2; border-radius: 14px; background: #fff;
}
#view-mine #mineBalanceDetails .mw-account-head-logo img { width: 37px; height: 37px; object-fit: contain; }
#view-mine #mineBalanceDetails .mw-account-head strong { display: block; color: #4b3025; font-size: 18px; font-weight: 850; }
#view-mine #mineBalanceDetails .mw-account-head small { display: block; color: #826e8e; font-size: 13px; font-weight: 650; }
#view-mine #mineBalanceDetails .mw-account-explain,
#view-mine #mineBalanceDetails .mw-account-note,
#view-mine #mineBalanceDetails .mw-account-action-card > p,
#view-mine #mineBalanceDetails .mw-account-verify small,
#view-mine #mineBalanceDetails .mw-account-records-head p {
  margin: 8px 0 0;
  color: var(--account-muted);
  font-size: 14px;
  line-height: 1.7;
}
#view-mine #mineBalanceDetails .mw-account-auth,
#view-mine #mineBalanceDetails .mw-account-action-card {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #e8ddf7;
  border-radius: 17px;
  background: linear-gradient(145deg, #fffdfa, #fbf7ff);
  box-shadow: 0 7px 20px rgba(85, 50, 115, .07);
}
#view-mine #mineBalanceDetails .mw-account-auth {
  display: grid; gap: 12px; justify-items: start;
  background: linear-gradient(145deg, #f9f3ff, #fffdf9);
}
#view-mine #mineBalanceDetails .mw-account-auth p { margin: 0; color: #5f5275; font-size: 14px; line-height: 1.7; }
#view-mine #mineBalanceDetails .mw-account-panel button {
  min-height: 44px;
  padding: 9px 15px;
  border: 1px solid #d8c4ed;
  border-radius: 12px;
  background: #f4eafd;
  color: #614697;
  font: inherit;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
  cursor: pointer;
}
#view-mine #mineBalanceDetails .mw-account-panel button:hover { background: #ead9fa; }
#view-mine #mineBalanceDetails .mw-account-panel button:focus-visible,
#view-mine #mineBalanceDetails .mw-account-panel input:focus-visible {
  outline: 2px solid #8e66d3;
  outline-offset: 2px;
}
#view-mine #mineBalanceDetails .mw-account-panel button:disabled,
#view-mine #mineBalanceDetails .mw-account-panel input:disabled { opacity: .55; cursor: not-allowed; }
#view-mine #mineBalanceDetails #mwAccountLogin,
#view-mine #mineBalanceDetails #mwDepositButton,
#view-mine #mineBalanceDetails #mwWithdrawalButton {
  border-color: #7953b9;
  background: linear-gradient(140deg, #8b69d0, #7052b5);
  color: #fff;
}
#view-mine #mineBalanceDetails .mw-account-balances {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  margin-top: 16px;
}
#view-mine #mineBalanceDetails .mw-account-balance {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e9def3;
  border-radius: 14px;
  background: #fffdfc;
}
#view-mine #mineBalanceDetails .mw-account-balance--gift { background: #fff7fb; border-color: #f3dce8; }
#view-mine #mineBalanceDetails .mw-account-balance--locked { background: #f8f5fc; }
#view-mine #mineBalanceDetails .mw-account-balance--available { background: #f4efff; border-color: #dccaf5; }
#view-mine #mineBalanceDetails .mw-account-balance span { display: block; color: #75647e; font-size: 14px; font-weight: 750; }
#view-mine #mineBalanceDetails .mw-account-balance strong {
  display: block; margin-top: 4px; color: #4c3275;
  font-size: 17px; font-weight: 900; line-height: 1.35; overflow-wrap: anywhere;
}
#view-mine #mineBalanceDetails .mw-account-balance small { display: block; margin-top: 5px; color: #7f7484; font-size: 12px; line-height: 1.5; }
#view-mine #mineBalanceDetails .mw-account-note {
  margin-top: 12px; padding: 10px 12px;
  border-radius: 11px; background: #f6ecfb; color: #67527a;
}
#view-mine #mineBalanceDetails .mw-account-action-card h3 { margin: 0; color: #4b3025; font-size: 18px; font-weight: 850; }
#view-mine #mineBalanceDetails .mw-account-addresses {
  display: grid; gap: 8px; margin: 14px 0;
}
#view-mine #mineBalanceDetails .mw-account-addresses > div {
  min-width: 0; padding: 9px 11px; border-radius: 11px;
  border: 1px solid #eee4f6; background: #fbf8ff;
}
#view-mine #mineBalanceDetails .mw-account-addresses span { display: block; color: #766888; font-size: 12px; font-weight: 750; }
#view-mine #mineBalanceDetails .mw-account-addresses strong {
  display: block; margin-top: 4px; color: #563d7e;
  font: 600 12px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace;
  overflow-wrap: anywhere;
}
#view-mine #mineBalanceDetails .mw-account-form,
#view-mine #mineBalanceDetails .mw-account-verify { display: grid; gap: 7px; margin-top: 14px; }
#view-mine #mineBalanceDetails .mw-account-form label,
#view-mine #mineBalanceDetails .mw-account-verify label { color: #573b66; font-size: 15px; font-weight: 800; }
#view-mine #mineBalanceDetails .mw-account-input-row { display: flex; min-width: 0; gap: 8px; }
#view-mine #mineBalanceDetails .mw-account-input-row input {
  flex: 1 1 auto; min-width: 0; width: 100%; min-height: 46px; padding: 10px 12px;
  border: 1px solid #dfcdeb; border-radius: 11px; background: #fff;
  color: #4b3025; font: inherit; font-size: 16px; line-height: 1.4;
}
#view-mine #mineBalanceDetails .mw-account-input-row input::placeholder { color: #97889b; opacity: 1; }
#view-mine #mineBalanceDetails .mw-account-input-row button { flex: 0 0 auto; }
#view-mine #mineBalanceDetails .mw-account-verify { padding-top: 13px; border-top: 1px solid #efe5f6; }
#view-mine #mineBalanceDetails .mw-account-verify small { margin: 0; }
#view-mine #mineBalanceDetails .mw-account-status { min-height: 0; margin: 9px 0 0; color: #75647e; font-size: 14px; line-height: 1.65; overflow-wrap: anywhere; }
#view-mine #mineBalanceDetails .mw-account-status:empty { display: none; }
#view-mine #mineBalanceDetails .mw-account-status[data-kind="ok"] { color: #386f51; }
#view-mine #mineBalanceDetails .mw-account-status[data-kind="warn"] { color: #8a5a29; }
#view-mine #mineBalanceDetails .mw-account-status[data-kind="error"] { color: #b54455; }
#view-mine #mineBalanceDetails .mw-account-withdrawable {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  margin-top: 12px; padding: 10px 12px; border-radius: 11px; background: #f5effe;
}
#view-mine #mineBalanceDetails .mw-account-withdrawable span { color: #6e5b7e; font-size: 14px; }
#view-mine #mineBalanceDetails .mw-account-withdrawable strong { color: #5b3e9d; font-size: 17px; overflow-wrap: anywhere; text-align: right; }
#view-mine #mineBalanceDetails .mw-account-records-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
#view-mine #mineBalanceDetails .mw-account-records-head p { margin-top: 3px; }
#view-mine #mineBalanceDetails .mw-account-records-head button { padding: 7px 12px; }
#view-mine #mineBalanceDetails .mw-account-record-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 15px; padding: 4px; border-radius: 13px; background: #f2eaf8; }
#view-mine #mineBalanceDetails .mw-account-record-tabs button { min-height: 40px; border: 0; background: transparent; color: #796a83; font-size: 14px; }
#view-mine #mineBalanceDetails .mw-account-record-tabs button[aria-selected="true"] { background: #fff; color: #5a3e9e; box-shadow: 0 2px 8px #6f4a9320; }
#view-mine #mineBalanceDetails .mw-account-record-list { display: grid; gap: 8px; margin-top: 12px; }
#view-mine #mineBalanceDetails .mw-account-record {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 10px;
  padding: 11px 12px; border: 1px solid #eee6f4; border-radius: 11px; background: #fff;
}
#view-mine #mineBalanceDetails .mw-account-record > div { min-width: 0; }
#view-mine #mineBalanceDetails .mw-account-record > div:last-of-type { text-align: right; }
#view-mine #mineBalanceDetails .mw-account-record strong { display: block; color: #4b3025; font-size: 14px; overflow-wrap: anywhere; }
#view-mine #mineBalanceDetails .mw-account-record small { display: block; color: #7e7182; font-size: 12px; }
#view-mine #mineBalanceDetails .mw-account-record small[data-state="confirmed"],
#view-mine #mineBalanceDetails .mw-account-record small[data-state="completed"] { color: #397050; }
#view-mine #mineBalanceDetails .mw-account-record small[data-state="failed"],
#view-mine #mineBalanceDetails .mw-account-record small[data-state="rejected"] { color: #b54455; }
#view-mine #mineBalanceDetails .mw-account-record a { grid-column: 1 / -1; color: #6a4aa5; font-size: 12px; font-weight: 700; text-decoration: none; }
#view-mine #mineBalanceDetails .mw-account-empty { margin: 0; padding: 24px 12px; border: 1px dashed #ded0ec; border-radius: 12px; color: #766b7c; text-align: center; font-size: 14px; }
#view-mine #mineBalanceDetails .mw-account-pagination { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: 12px; }
#view-mine #mineBalanceDetails .mw-account-pagination button { min-height: 40px; padding: 7px 10px; font-size: 13px; }
#view-mine #mineBalanceDetails .mw-account-pagination span { min-width: 0; color: #796b80; text-align: center; font-size: 12px; }

@media (max-width: 355px) {
  #view-mine #mineBalanceDetails .mw-account-balances { grid-template-columns: 1fr; }
  #view-mine #mineBalanceDetails .mw-account-input-row { flex-wrap: wrap; }
  #view-mine #mineBalanceDetails .mw-account-input-row button { width: 100%; }
  #view-mine #mineBalanceDetails .mw-account-withdrawable { align-items: flex-start; flex-direction: column; }
  #view-mine #mineBalanceDetails .mw-account-withdrawable strong { text-align: left; }
}

/* assets/nft-prices.css */
.nft-token-price-panel{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:12px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(110deg,#fff5e2,#fbf5ff);color:var(--ink)}.nft-token-price-panel>div{display:grid;gap:4px;min-width:0}.nft-token-price-panel strong{font-size:14px;overflow-wrap:anywhere}.nft-token-price-panel small{font-size:11px;line-height:1.5;color:var(--ink-soft)}.nft-token-price-panel button{flex-shrink:0;min-height:42px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--ink);font-size:12px;cursor:pointer}.nft-token-price-panel button:disabled{opacity:.5}.nft-payment-lines{display:grid;gap:9px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line)}.nft-payment-lines>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.nft-payment-lines dt{flex-shrink:0;color:var(--ink-soft);font-size:11px}.nft-payment-lines dd{min-width:0;margin:0;color:var(--ink);font-size:12px;font-weight:700;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.nft-payment-lines .nft-payment-line{display:block;padding:9px;border-radius:10px;background:#fff7eb}.nft-payment-line dd{margin-top:5px;font-size:13px;text-align:left;color:#7852a0}.nft-payment-line dd.unavailable{font-size:11px;color:var(--ink-soft)}.nft-card .nft-card-meta{margin-top:8px;padding-top:0;border:0;display:block}.nft-card .nft-card-meta strong{display:inline;margin-left:5px}.nft-card .nft-card-index{max-width:85%;box-sizing:border-box;overflow-wrap:anywhere;letter-spacing:0;font-weight:700;background:#ffffffd9;font-size:10px}.nft-detail .nft-detail-info{gap:14px;align-items:baseline;font-size:12px;padding:12px 0}.nft-detail .nft-detail-info strong{max-width:70%;text-align:right;color:var(--ink);font-size:14px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.nft-detail .nft-detail-payment{background:#fff6e7;border:1px solid var(--line);padding:12px;border-radius:12px;margin-top:10px}.nft-detail #nftDetailPriceUpdated{font-size:11px;line-height:1.65;margin:8px 0;color:var(--ink-soft)}.nft-detail .nft-buy-disabled:not(:disabled){background:linear-gradient(110deg,#ffd267,#f5bd61);color:#53351c;cursor:pointer}.nft-detail{max-height:90dvh;overflow:auto}.nft-detail .nft-detail-image{height:200px}.nft-token-price-panel.unavailable{background:var(--panel2)}

/* assets/gallery-settings.css */
/* A quiet gallery frame for the existing Maowang artwork. */
#nftDetailBackdrop {
  --gallery-ink: #463a31;
  --gallery-muted: #88796a;
  --gallery-line: #e7ddd0;
  position: fixed;
  inset: 0;
  z-index: 45;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  background: rgba(50, 42, 37, .44);
  backdrop-filter: blur(9px);
}
#nftDetailBackdrop[hidden],
#nftDetailBackdrop [hidden] { display: none !important; }
#nftDetailBackdrop .nft-detail {
  width: min(360px, 100%);
  max-width: 360px;
  min-height: 0;
  max-height: calc(100dvh - 28px);
  overflow: auto;
  overscroll-behavior: contain;
  padding: 14px 16px 16px;
  border: 1px solid rgba(255, 255, 255, .85) !important;
  border-radius: 20px !important;
  background: #fffcf7 !important;
  color: var(--gallery-ink);
  box-shadow: 0 24px 80px rgba(52, 40, 31, .22) !important;
  scrollbar-width: thin;
  scrollbar-color: #d8cabc transparent;
  animation: maowang-gallery-in .22s ease-out;
}
#nftDetailBackdrop .nft-gallery-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 36px;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 0 12px;
}
#nftDetailBackdrop .nft-gallery-wordmark { flex: 1; min-width: 0; }
#nftDetailBackdrop .nft-gallery-wordmark > small {
  display: block;
  margin-top: 3px;
  color: var(--gallery-muted);
  font-size: 9px;
  letter-spacing: .05em;
}
#nftDetailBackdrop .nft-gallery-state {
  flex-shrink: 0;
  padding: 4px 7px;
  border: 1px solid #ddcfb9;
  border-radius: 999px;
  color: #80694d;
  background: transparent;
  font-size: 10px;
  font-weight: 500;
  white-space: nowrap;
}
#nftDetailBackdrop .nft-detail-close {
  position: static;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid var(--gallery-line);
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
  color: #756355;
  font-size: 21px;
  line-height: 1;
  cursor: pointer;
}
#nftDetailBackdrop .nft-detail-close:hover { background: #f3ece3; }
#nftDetailBackdrop .nft-gallery-art {
  width: min(190px, 100%);
  margin: 0 auto;
  padding: 6px;
  border: 1px solid #e5d9c8;
  border-radius: 12px;
  background: #f6f0e7;
  box-shadow: inset 0 0 0 3px #fffcf7, 0 8px 24px rgba(86, 65, 43, .05);
}
#nftDetailBackdrop .nft-detail-image {
  width: 100%;
  height: clamp(126px, 22dvh, 164px);
  min-height: 0;
  aspect-ratio: auto;
  margin: 0;
  border: 0;
  border-radius: 9px;
  background: #f9f4ec;
  overflow: hidden;
}
#nftDetailBackdrop .nft-detail-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 0;
}
#nftDetailBackdrop .nft-detail-copy { padding: 10px 0 0; }
#nftDetailBackdrop #nftDetailTitle {
  margin: 0;
  color: var(--gallery-ink);
  font-family: "Noto Serif SC", "Songti SC", "SimSun", Georgia, serif;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: .02em;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
#nftDetailBackdrop #nftDetailDescription {
  margin: 0;
  color: var(--gallery-muted);
  font-size: 11px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
#nftDetailBackdrop .nft-gallery-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 10px 0 0;
  padding: 9px 0;
  border-top: 1px solid var(--gallery-line);
  border-bottom: 1px solid var(--gallery-line);
}
#nftDetailBackdrop .nft-gallery-meta > div { min-width: 0; }
#nftDetailBackdrop .nft-gallery-meta > div + div {
  padding-left: 12px;
  border-left: 1px solid var(--gallery-line);
}
#nftDetailBackdrop .nft-gallery-meta dt { color: var(--gallery-muted); font-size: 11px; line-height: 1.5; }
#nftDetailBackdrop .nft-gallery-meta dd {
  margin: 3px 0 0;
  color: var(--gallery-ink);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.5;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}
#nftDetailBackdrop .nft-gallery-price {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #e8dece;
  border-radius: 11px;
  background: #f8f3eb;
}
#nftDetailBackdrop .nft-gallery-price-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 9px;
}
#nftDetailBackdrop .nft-gallery-price-row > span,
#nftDetailBackdrop .nft-gallery-payment > span { color: var(--gallery-muted); font-size: 11px; }
#nftDetailBackdrop #nftDetailPrice {
  color: var(--gallery-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 18px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  text-align: right;
  overflow-wrap: anywhere;
  min-width: 0;
}
#nftDetailBackdrop .nft-gallery-payment { margin-top: 8px; padding-top: 8px; border-top: 1px solid #e4d9c8; }
#nftDetailBackdrop #nftDetailPayment {
  display: block;
  margin-top: 4px;
  color: #695032;
  font-size: 16px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
#nftDetailBackdrop #nftDetailPriceUpdated {
  margin: 5px 0 0;
  color: var(--gallery-muted);
  font-size: 10px;
  line-height: 1.5;
}
#nftDetailBackdrop[data-mode="preview"] #nftDetailPrice,
#nftDetailBackdrop[data-mode="preview"] #nftDetailPayment {
  font-family: inherit;
  font-size: 14px;
  font-weight: 600;
  color: #897660;
}
#nftDetailBackdrop .nft-detail-properties {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 8px;
  gap: 0 12px;
}
#nftDetailBackdrop .nft-detail-property {
  display: block;
  min-height: 0;
  margin: 0;
  padding: 7px 0;
  border: 0;
  border-bottom: 1px solid var(--gallery-line);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#nftDetailBackdrop .nft-detail-property span { color: var(--gallery-muted); font-size: 11px; }
#nftDetailBackdrop .nft-detail-property strong { display: block; margin-top: 4px; color: var(--gallery-ink); font-size: 12px; font-weight: 500; overflow-wrap: anywhere; }
#nftDetailBackdrop #nftDetailNote {
  margin: 9px 0 0 !important;
  color: #8a7b6b !important;
  font-size: 11px;
  line-height: 1.6;
}
#nftDetailBackdrop .nft-buy-disabled {
  display: block;
  width: 100%;
  min-height: 40px;
  margin-top: 10px;
  padding: 9px 12px;
  border: 1px solid #e1d6c8;
  border-radius: 10px;
  background: #eee6da;
  color: #8a7965;
  box-shadow: none;
  font-size: 12px;
  font-weight: 600;
  opacity: 1;
}
#nftDetailBackdrop .nft-buy-disabled:not(:disabled) { background: #584637; border-color: #584637; color: #fff7e8; cursor: pointer; }
#nftDetailBackdrop .nft-buy-disabled:not(:disabled):hover { background: #705943; }
#nftDetailBackdrop button:focus-visible { outline: 2px solid #ad8e66; outline-offset: 3px; }

/* Keep saved swap parameters behind one compact entry. */
#view-swap .mw-swap-card-head.mw-settings-entry {
  display: block;
  margin: 12px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
#mwSettingsPanel[hidden], #mwSettingsError[hidden] { display: none !important; }
#view-swap #mwSettingsToggle {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 40px;
  margin-left: auto;
  padding: 7px 11px;
  border: 1px solid #e8e0d5;
  border-radius: 12px;
  background: #fffcf7;
  color: #796955;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
#mwSettingsToggle > span:first-child { font-size: 17px; line-height: 1; }
#mwSettingsToggle .mw-settings-chevron { display: inline-block; transition: transform .18s; }
#mwSettingsToggle[aria-expanded="true"] .mw-settings-chevron { transform: rotate(180deg); }
#view-swap #mwSettingsPanel {
  margin-top: 9px;
  padding: 16px;
  border: 1px solid #e8e0d5;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 18px rgba(69, 52, 37, .04);
}
#view-swap #mwSettingsPanel .mw-settings-intro { margin: 0 0 13px; color: #81756b; font-size: 12px; line-height: 1.65; }
#view-swap #mwSettingsPanel .mw-swap-settings { gap: 9px; }
#view-swap #mwSettingsPanel .mw-swap-settings label { flex-direction: column; align-items: stretch; gap: 7px; padding: 10px; border-radius: 12px; background: #f7f4ef; font-size: 11px; color: #7c6f61; }
#view-swap #mwSettingsPanel .mw-swap-settings input { width: 100%; min-width: 0; height: 39px; border: 1px solid #ded4f1; border-radius: 9px; background: #fff; color: #59436e; font-size: 16px; font-weight: 600; text-align: left; padding: 0 10px; }
#view-swap #mwSettingsPanel .mw-slip-presets { margin-top: 1px; }
#view-swap #mwSettingsPanel .mw-slip-presets button { min-height: 38px; border-radius: 10px; font-weight: 600; }
#view-swap #mwSettingsHint { margin: 11px 0 0; color: #938579; font-size: 11px; line-height: 1.6; }
#view-swap #mwSettingsError { margin: 9px 0 0; color: #b34941; font-size: 12px; line-height: 1.6; }
#view-swap .mw-settings-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 14px; }
#view-swap .mw-settings-actions button { min-height: 40px; padding: 9px 16px; border: 1px solid #e6ded4; border-radius: 11px; background: #fff; color: #807160; font-size: 12px; font-weight: 600; cursor: pointer; }
#view-swap .mw-settings-actions #mwSettingsSave { border-color: #8e73f5; background: #8e73f5; color: #fff; }
#view-swap .mw-settings-saved { display: block; min-height: 0; margin-top: 0; color: #7d6c9f; font-size: 11px; text-align: right; }
#view-swap .mw-settings-saved:not(:empty) { margin-top: 7px; }
#view-swap #mwSettingsToggle:focus-visible,
#view-swap .mw-settings-actions button:focus-visible { outline: 2px solid #ad97eb; outline-offset: 3px; }
@keyframes maowang-gallery-in { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 380px) {
  #nftDetailBackdrop { padding: 12px; }
  #nftDetailBackdrop .nft-detail { padding: 12px 14px 14px; max-height: calc(100dvh - 24px); border-radius: 18px !important; }
  #nftDetailBackdrop .nft-gallery-header { gap: 7px; padding-bottom: 10px; }
  #nftDetailBackdrop #nftDetailTitle { font-size: 19px; }
  #nftDetailBackdrop .nft-gallery-wordmark > small { font-size: 9px; }
  #nftDetailBackdrop .nft-gallery-state { padding-inline: 7px; font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  #nftDetailBackdrop .nft-detail { animation: none; }
  #mwSettingsToggle .mw-settings-chevron { transition: none; }
}

/* assets/subscription-bnb.css */
#view-home .subscription { min-height: 0; padding: 15px; }
#view-home .subscription-main p { white-space: normal; line-height: 1.65; }
#view-home .subscription-quantity { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; margin-top: 14px; padding-top: 12px; border-top: 1px solid #c58b6d24; }
#view-home .subscription-quantity > label { color: #79635b; font-size: 12px; }
#view-home .subscription-quantity > span { color: #9a7f70; font-size: 11px; }
#view-home .subscription-stepper { display: flex; align-items: center; border: 1px solid #decbb9; border-radius: 11px; background: #fffaf5; overflow: hidden; }
#view-home .subscription-stepper button { width: 34px; height: 38px; border: 0; background: transparent; color: #88644d; font-size: 19px; cursor: pointer; }
#view-home .subscription-stepper button:disabled { opacity: .4; cursor: default; }
#view-home .subscription-stepper input { width: 62px; height: 38px; padding: 0 2px; border: 0; background: transparent; color: #5e3e38; font: inherit; font-size: 16px; font-weight: 700; text-align: center; appearance: textfield; }
#view-home .subscription-stepper input::-webkit-outer-spin-button,#view-home .subscription-stepper input::-webkit-inner-spin-button { appearance: none; margin: 0; }
#view-home .subscription-payment { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
#view-home .subscription-payment > div { min-width: 0; }
#view-home .subscription-payment span { display: block; color: #987d70; font-size: 11px; }
#view-home .subscription-payment strong { display: block; margin-top: 3px; color: #6b435d; font-size: 19px; line-height: 1.35; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
#view-home .subscription .small-btn { position: static; flex-shrink: 0; min-height: 41px; width: auto; min-width: 106px; padding: 9px 13px; opacity: 1; }
#view-home .subscription .small-btn:disabled { opacity: .56; cursor: default; }
#view-home .subscription-perk { position: static; display: inline-flex; min-height: 0; max-width: 100%; margin-top: 12px; padding: 5px 8px; font-size: 10px; white-space: normal; }
#view-home .subscription-status { margin: 7px 0 0; color: #97776d; font-size: 11px; line-height: 1.6; overflow-wrap: anywhere; }
#view-home .subscription button:focus-visible,#view-home .subscription input:focus-visible { outline: 2px solid #b47a98; outline-offset: 2px; }
@media(max-width:350px){#view-home .subscription-quantity > span{flex-basis:100%;text-align:right}#view-home .subscription-payment strong{font-size:17px}}
