:root{--navy-950:#0b1630;--navy-900:#10203f;--navy-800:#182c52;--navy-700:#22396a;--navy-100:#e6eaf2;--gold-700:#9a7424;--gold-600:#b8892f;--gold-500:#c9a04a;--gold-400:#d9b866;--gold-100:#f6edd7;--gold-50:#fbf7ec;--ink:#1b2233;--ink-2:#4a5266;--muted:#7c8497;--line:#e4e1da;--line-soft:#efece6;--ground:#f7f5f0;--surface:#fff;--green:#2e9e4f;--green-bg:#e9f7ee;--orange:#d98300;--orange-bg:#fff4e2;--red:#d32f2f;--red-bg:#fdecec;--blue:#1878d4;--blue-bg:#e8f2fc;--gray:#7c8497;--gray-bg:#f0efeb;--font:"Prompt", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius:14px;--radius-sm:8px;--shadow:0 1px 2px #10203f0f, 0 8px 24px -14px #10203f47;--shadow-lg:0 18px 48px -18px #10203f6b;--wrap:1180px;--header-h:68px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);background:var(--ground);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.6}h1,h2,h3,h4{margin:0;font-weight:600;line-height:1.3}p{margin:0 0 10px}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--gold-500);outline-offset:2px;border-radius:6px}.material-icons-round{vertical-align:middle;font-size:20px;line-height:1}.num{font-variant-numeric:tabular-nums}.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}.muted{color:var(--muted)}.gold{color:var(--gold-600)}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:6px;height:42px;padding:0 18px;font-size:14.5px;font-weight:500;transition:background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:hover{border-color:var(--gold-500)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-gold{background:linear-gradient(180deg, var(--gold-400), var(--gold-600));border-color:var(--gold-600);color:#fff;box-shadow:0 6px 16px -8px #b8892fcc}.btn-gold:hover{background:linear-gradient(180deg, var(--gold-500), var(--gold-700))}.btn-navy{background:var(--navy-900);border-color:var(--navy-900);color:#fff}.btn-navy:hover{background:var(--navy-700)}.btn-ghost{background:0 0;border-color:#0000}.btn-ghost:hover{background:#10203f0f;border-color:#0000}.btn-outline-light{color:#fff;background:0 0;border-color:#ffffff8c}.btn-outline-light:hover{background:#ffffff1a;border-color:#fff}.btn-line{color:#fff;background:#06c755;border-color:#06c755}.btn-sm{height:34px;padding:0 13px;font-size:13.5px}.btn-block{width:100%}.btn-icon{width:42px;padding:0}.btn-icon.btn-sm{width:34px}.btn-danger{color:var(--red)}.field{margin-bottom:14px}.field>label{color:var(--ink-2);margin-bottom:5px;font-size:13.5px;font-weight:500;display:block}.req{color:var(--red);margin-left:2px}.input,.select,.textarea{border:1px solid var(--line);width:100%;height:44px;color:var(--ink);background:#fff;border-radius:10px;padding:0 13px;transition:border-color .15s,box-shadow .15s}.textarea{resize:vertical;height:auto;min-height:90px;padding:10px 13px}.input:focus,.select:focus,.textarea:focus{border-color:var(--gold-500);outline:none;box-shadow:0 0 0 3px #c9a04a2e}.is-error{border-color:var(--red)!important}.err{color:var(--red);margin-top:4px;font-size:12.5px}.hint{color:var(--muted);margin-top:4px;font-size:12.5px}.form-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0 12px;display:grid}.check{cursor:pointer;align-items:flex-start;gap:10px;font-size:14px;display:flex}.check input{width:18px;height:18px;accent-color:var(--gold-600);margin-top:2px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line-soft)}.card-body{padding:20px}.card-head{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:16px 20px;display:flex}.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12.5px;font-weight:500;display:inline-flex}.badge-green{background:var(--green-bg);color:var(--green)}.badge-orange{background:var(--orange-bg);color:var(--orange)}.badge-red{background:var(--red-bg);color:var(--red)}.badge-blue{background:var(--blue-bg);color:var(--blue)}.badge-gray{background:var(--gray-bg);color:var(--gray)}.badge-gold{background:var(--gold-100);color:var(--gold-700)}.badge-purple{color:#7c4dbe;background:#f2ecfa}.alert{border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.alert .material-icons-round{flex:none;margin-top:1px}.alert-info{background:var(--blue-bg);color:#0f5599}.alert-warn{background:var(--orange-bg);color:#8a5300}.alert-danger{background:var(--red-bg);color:#a31b1b}.alert-success{background:var(--green-bg);color:#1b7538}.site-header{z-index:50;background:var(--navy-950);color:#fff;position:sticky;top:0;box-shadow:0 1px #ffffff0f}.site-header .wrap{height:var(--header-h);align-items:center;gap:24px;display:flex}.brand{flex:none;align-items:center;gap:10px;display:flex}.brand-mark{width:40px;height:40px}.brand-name{letter-spacing:1.5px;color:var(--gold-400);font-size:20px;font-weight:600;line-height:1}.brand-sub{letter-spacing:2.4px;color:#fff9;margin-top:3px;font-size:9.5px;font-weight:400;display:block}.site-nav{flex:1;justify-content:center;gap:4px;display:flex}.site-nav a{color:#ffffffd1;border-radius:8px;padding:8px 14px;font-size:14.5px;position:relative}.site-nav a:hover{color:#fff}.site-nav a.router-link-exact-active,.site-nav a.is-active{color:var(--gold-400)}.site-nav a.router-link-exact-active:after,.site-nav a.is-active:after{content:"";background:var(--gold-500);border-radius:2px;height:2px;position:absolute;bottom:0;left:14px;right:14px}.header-actions{align-items:center;gap:8px;display:flex}.header-actions .btn-ghost{color:#fff}.header-actions .btn-ghost:hover{background:#ffffff14}.user-chip{align-items:center;gap:8px;display:flex}.user-chip .avatar{background:var(--gold-500);width:32px;height:32px;color:var(--navy-950);border-radius:50%;place-items:center;font-weight:600;display:grid}.cta-band{background:linear-gradient(100deg, var(--navy-900), var(--navy-700));color:#fff}.cta-band .wrap{flex-wrap:wrap;align-items:center;gap:20px;padding-top:28px;padding-bottom:28px;display:flex}.cta-band h3{font-size:22px}.site-footer{background:var(--navy-950);color:#ffffffb8;font-size:14px}.site-footer .wrap{grid-template-columns:1.3fr 1fr 1fr 1fr;gap:28px;padding-top:36px;padding-bottom:28px;display:grid}.site-footer h4{color:#fff;margin-bottom:12px;font-size:15px}.site-footer a:hover{color:var(--gold-400)}.site-footer li{align-items:flex-start;gap:8px;margin-bottom:7px;list-style:none;display:flex}.site-footer ul{margin:0;padding:0}.footer-bottom{text-align:center;color:#ffffff73;border-top:1px solid #ffffff14;padding:14px 20px;font-size:12.5px}.tabbar{display:none}.section{padding-top:44px;padding-bottom:44px}.section-head{align-items:flex-end;gap:14px;margin-bottom:20px;display:flex}.section-head .icon-badge{background:var(--gold-100);width:44px;height:44px;color:var(--gold-700);border-radius:12px;flex:none;place-items:center;display:grid}.section-head .icon-badge .material-icons-round{font-size:24px}.section-head h2{color:var(--navy-900);font-size:24px}.section-head p{color:var(--muted);margin:2px 0 0;font-size:14px}.section-head .more{color:var(--navy-800);white-space:nowrap;align-items:center;gap:2px;margin-left:auto;font-size:14px;font-weight:500;display:flex}.section-head .more:hover{color:var(--gold-600)}.listing-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.listing-card{border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line-soft);background:#fff;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.listing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.listing-card .media{aspect-ratio:4/3;background:linear-gradient(135deg, var(--navy-100), var(--gold-50));position:relative;overflow:hidden}.listing-card .media img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.listing-card:hover .media img{transform:scale(1.04)}.listing-card .media .placeholder{color:var(--navy-700);opacity:.35;place-items:center;display:grid;position:absolute;inset:0}.listing-card .media .placeholder .material-icons-round{font-size:56px}.listing-card .tag{background:var(--navy-900);color:#fff;border-radius:6px;padding:3px 10px;font-size:12px;font-weight:600;position:absolute;top:12px;left:12px}.listing-card .tag.featured{background:var(--gold-600)}.fav-btn{cursor:pointer;width:36px;height:36px;color:var(--navy-800);background:#ffffffeb;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #00000026}.fav-btn.on{color:#e53935}.listing-card .body{flex-direction:column;flex:1;gap:5px;padding:14px 16px 16px;display:flex}.listing-card h3{color:var(--navy-900);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;display:-webkit-box;overflow:hidden}.listing-card .meta{color:var(--muted);align-items:center;gap:5px;font-size:13px;display:flex}.listing-card .meta .material-icons-round{color:var(--gold-600);font-size:16px}.listing-card .price{color:var(--navy-900);margin-top:auto;padding-top:6px;font-size:20px;font-weight:600}.listing-card .price small{color:var(--muted);font-size:13px;font-weight:400}.listing-card .btn{margin-top:8px}.search-box{box-shadow:var(--shadow-lg);background:#fff;border-radius:16px;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:10px;padding:14px;display:grid}.search-box .field{margin:0}.search-box .field>label{align-items:center;gap:5px;font-size:12.5px;display:flex}.search-box .field>label .material-icons-round{color:var(--gold-600);font-size:16px}.search-box .btn{border-radius:10px;height:44px;padding:0 28px}.page-title{background:linear-gradient(100deg, var(--navy-950), var(--navy-800));color:#fff;padding:30px 0}.page-title h1{font-size:26px}.page-title p{color:#ffffffb3;margin:4px 0 0}.breadcrumbs{color:#fff9;flex-wrap:wrap;gap:6px;margin-bottom:6px;font-size:13px;display:flex}.breadcrumbs a:hover{color:var(--gold-400)}.empty{text-align:center;color:var(--muted);padding:50px 20px}.empty .material-icons-round{color:var(--gold-500);opacity:.7;margin-bottom:8px;font-size:52px}.empty h4{color:var(--ink);margin-bottom:4px;font-size:17px}.spinner{border:3px solid var(--line);border-top-color:var(--gold-500);border-radius:50%;width:28px;height:28px;margin:60px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pager{justify-content:center;gap:6px;margin-top:28px;display:flex}.pager button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;min-width:40px;height:40px}.pager button.on{background:var(--navy-900);color:#fff;border-color:var(--navy-900)}.pager button:disabled{opacity:.4;cursor:default}table.tbl{border-collapse:collapse;width:100%;font-size:14px}.tbl th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:var(--ground);white-space:nowrap;padding:10px 12px;font-size:12.5px;font-weight:500}.tbl td{border-bottom:1px solid var(--line-soft);vertical-align:middle;padding:11px 12px}.tbl .r{text-align:right}.tbl .c{text-align:center}.table-scroll{overflow-x:auto}.auth{justify-content:center;padding-top:40px;padding-bottom:50px;display:flex}.auth-card{width:min(440px,100%);padding:30px 28px}.auth-card.wide{width:min(540px,100%)}.auth-head{text-align:center;margin-bottom:22px}.auth-head h1{color:var(--navy-900);font-size:24px}.auth-head p{margin:4px 0 0}.auth-icon{background:var(--gold-50);border:1px solid var(--gold-100);width:60px;height:60px;color:var(--gold-600);border-radius:50%;place-items:center;margin-bottom:10px;display:inline-grid}.auth-icon .material-icons-round{font-size:32px}.auth-foot{text-align:center;color:var(--muted);margin:18px 0 0;font-size:14px}.pw{position:relative}.pw .input{padding-right:46px}.pw .btn{position:absolute;top:5px;right:5px}.toasts{z-index:200;flex-direction:column;gap:8px;width:min(420px,100% - 32px);display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--navy-900);color:#fff;box-shadow:var(--shadow-lg);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:14px;animation:.2s ease-out toast-in;display:flex}.toast.error{background:#a31b1b}.toast.success .material-icons-round{color:#7be39b}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.modal-backdrop{z-index:150;background:#0b16308c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{width:min(480px,100%);max-height:calc(100vh - 32px);box-shadow:var(--shadow-lg);background:#fff;border-radius:18px;overflow:auto}.modal-head{border-bottom:1px solid var(--line-soft);align-items:center;padding:16px 20px;display:flex}.modal-head h3{flex:1;font-size:18px}.modal-body{padding:20px}@media (width<=1080px){.listing-grid{grid-template-columns:repeat(3,1fr)}.site-nav a{padding:8px 9px}}@media (width<=820px){:root{--header-h:60px}body{padding-bottom:68px;font-size:14.5px}.wrap{padding:0 16px}.site-nav,.header-actions .hide-mobile{display:none}.site-header .wrap{justify-content:space-between}.brand-mark{width:34px;height:34px}.brand-name{font-size:17px}.listing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.listing-card .body{padding:10px 12px 12px}.listing-card h3{font-size:14.5px}.listing-card .price{font-size:17px}.listing-card .btn{display:none}.search-box{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.search-box .btn{grid-column:1/-1}.section{padding-top:30px;padding-bottom:30px}.section-head h2{font-size:19px}.section-head .icon-badge{width:38px;height:38px}.site-footer .wrap{grid-template-columns:1fr 1fr}.cta-band h3{font-size:18px}.page-title{padding:22px 0}.page-title h1{font-size:21px}.tabbar{z-index:60;background:var(--navy-950);padding:6px 4px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tabbar a{color:#ffffffa6;flex-direction:column;align-items:center;gap:1px;padding:4px 0;font-size:11px;display:flex}.tabbar a .material-icons-round{font-size:23px}.tabbar a.router-link-exact-active,.tabbar a.is-active{color:var(--gold-400)}.toasts{bottom:84px}}@media (width<=420px){.listing-grid{grid-template-columns:1fr 1fr;gap:10px}.search-box,.site-footer .wrap{grid-template-columns:1fr}}
