@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Serif+SC:wght@500;600;700&family=Noto+Sans+SC:wght@400;500;600&display=swap');
:root{--navy:#102c4d;--navy2:#173e67;--ink:#172638;--muted:#718094;--line:#dce4eb;--paper:#f7f9fb;--white:#fff;--gold:#b58942;--teal:#267d75;--red:#b94b43}
*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Noto Sans SC',Arial,sans-serif}main{display:block;position:static;z-index:auto}.topbar{height:72px;background:var(--white);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 5vw;gap:34px;position:relative;z-index:150}.brand-mark{display:flex;flex-direction:column;color:var(--navy);font:700 20px Inter, sans-serif;letter-spacing:.08em;line-height:1}.brand-mark small{font:500 9px Inter,sans-serif;letter-spacing:.18em;color:var(--gold);margin-top:5px}.top-meta{font-size:12px;color:var(--muted);flex:1}.top-meta i{display:inline-block;width:4px;height:4px;background:var(--teal);border-radius:50%;margin:0 10px 2px}.top-actions{display:flex;gap:10px}.ghost-btn,.primary-btn{border:1px solid var(--line);background:#fff;color:var(--navy);padding:9px 15px;border-radius:4px;font-size:12px;cursor:pointer}.primary-btn{background:var(--navy);border-color:var(--navy);color:#fff}.hero{background:var(--navy);color:#fff;min-height:330px;padding:58px 8vw 48px;display:flex;justify-content:space-between;align-items:flex-end;position:relative;z-index:1;overflow:clip}.hero:after{content:'';position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-110px;top:-300px}.hero-copy{max-width:650px;position:relative;z-index:1}.eyebrow{font:600 10px Inter,sans-serif;letter-spacing:.18em;color:var(--gold);margin:0 0 14px}.hero h1{font:600 48px/1.15 'Noto Serif SC',serif;margin:0;letter-spacing:.03em}.hero h1 em{font-style:normal;color:#d9b36b}.hero-desc{font-size:14px;color:rgba(255,255,255,.7);line-height:1.9;max-width:520px;margin:20px 0}.hero-status{font-size:12px;color:rgba(255,255,255,.55)}.status-dot{display:inline-block;width:7px;height:7px;background:#66b9a3;border-radius:50%;margin-right:7px}.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;min-width:420px;position:relative;z-index:1}.hero-stats div{border-left:1px solid rgba(255,255,255,.2);padding-left:16px}.hero-stats strong{display:block;font:600 28px Inter;color:#e0bd7b}.hero-stats span{font-size:11px;color:rgba(255,255,255,.55)}.workspace{max-width:1400px;margin:0 auto;padding:48px 5vw;display:grid;grid-template-columns:220px 1fr;gap:58px;position:relative;z-index:1;overflow:visible}.sidebar{border-right:1px solid var(--line);padding-right:25px}.side-label{font:600 10px Inter;color:var(--muted);letter-spacing:.12em;margin-bottom:20px}.category-group{margin-bottom:20px}.category-group h3{font:600 13px 'Noto Serif SC';margin:0 0 8px;color:var(--navy)}.category-item{display:flex;justify-content:space-between;padding:7px 8px;font-size:12px;color:var(--muted);cursor:pointer;border-radius:3px}.category-item:hover,.category-item.active{background:#e9eff4;color:var(--navy)}.category-item.active{font-weight:600;border-left:2px solid var(--gold)}.side-note{margin-top:40px;display:flex;gap:10px;color:#8c99a8;font-size:11px;line-height:1.7}.side-note p{margin:0}.line{width:18px;height:1px;background:var(--gold);margin-top:8px;flex:none}.content-area{min-width:0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:26px}.section-head h2{font:600 28px 'Noto Serif SC';margin:0;color:var(--navy)}.collection-date{font-size:11px;color:var(--muted)}.collection-date b{color:var(--red);font-weight:500;margin-left:8px}.filter-row{display:flex;gap:14px;align-items:flex-end;margin-bottom:20px}.filter-row label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:6px}.filter-row select,.filter-row input{height:36px;border:1px solid var(--line);background:#fff;border-radius:3px;padding:0 11px;color:var(--ink);min-width:140px;outline:none}.filter-row input{min-width:260px}.search-label{flex:1}.notice-card{display:flex;align-items:flex-start;gap:12px;background:#f2f6f8;border:1px solid #d6e3e7;padding:16px;margin-bottom:24px}.notice-icon{width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;text-align:center;line-height:22px;font:600 14px Inter;flex:none}.notice-card strong{font-size:13px;color:var(--navy)}.notice-card p{font-size:12px;color:var(--muted);line-height:1.7;margin:5px 0 0}.notice-card button{margin-left:auto;border:0;background:none;color:var(--teal);font-size:11px;white-space:nowrap;cursor:pointer}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.summary-card{background:#fff;border:1px solid var(--line);padding:18px;cursor:pointer;transition:.2s}.summary-card:hover{border-color:#aebfcc;box-shadow:0 8px 22px rgba(16,44,77,.08)}.summary-card .card-top{display:flex;justify-content:space-between;align-items:center}.summary-card h3{font:600 16px 'Noto Serif SC';margin:0;color:var(--navy)}.summary-card .group{font-size:10px;color:var(--gold);border:1px solid #eadab9;padding:3px 6px}.summary-card p{color:var(--muted);font-size:12px;margin:15px 0 18px}.card-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:var(--muted)}.card-foot b{color:var(--red);font-weight:500}.source-section{background:#fff;border-top:1px solid var(--line);padding:42px 8vw 70px;position:relative;z-index:1;overflow:visible}.section-head.compact{max-width:1400px;margin:0 auto 22px}.source-count{font-size:11px;color:var(--muted)}.source-table-wrap{max-width:1400px;margin:0 auto;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px;min-width:720px}th{text-align:left;background:#f2f5f7;color:var(--muted);font-weight:500;padding:12px;border-bottom:1px solid var(--line)}td{padding:14px 12px;border-bottom:1px solid var(--line);color:var(--ink)}.source-status{color:var(--gold)}.source-status.ready{color:var(--teal)}.source-link{color:var(--navy);text-decoration:none}.modal{display:none;position:fixed;inset:0;z-index:1000}.modal.show{display:block}.modal-backdrop{position:absolute;inset:0;background:rgba(8,23,40,.64)}.detail-panel{position:relative;background:#fff;width:min(760px,calc(100% - 32px));max-height:calc(100vh - 80px);overflow:auto;margin:40px auto;padding:34px}.close-btn{position:absolute;right:15px;top:10px;border:0;background:none;font-size:25px;color:var(--muted);cursor:pointer}.detail-panel h2{font:600 28px 'Noto Serif SC';color:var(--navy);margin:0 0 8px}.detail-panel .detail-meta{color:var(--muted);font-size:12px;margin-bottom:22px}.detail-block{border-top:1px solid var(--line);padding:18px 0}.detail-block h3{font:600 14px 'Noto Serif SC';color:var(--navy);margin:0 0 12px}.top-five{display:grid;gap:9px}.product-row{display:grid;grid-template-columns:36px 1fr 120px 100px;gap:10px;align-items:center;background:var(--paper);padding:10px;font-size:12px}.product-row .rank{font:600 18px Inter;color:var(--gold)}.product-row small{display:block;color:var(--muted);margin-top:3px}.product-row .price{color:var(--red)}.detail-table{width:100%;min-width:0}.detail-table td,.detail-table th{padding:9px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--navy);color:#fff;padding:11px 18px;border-radius:4px;font-size:12px;display:none}.toast.show{display:block}.site-footer{background:var(--navy);color:rgba(255,255,255,.6);padding:20px 5vw;border-top:1px solid rgba(255,255,255,.1);position:relative;z-index:1}

/* ===== Main Navigation ===== */
.main-nav{background:#0d233f;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:stretch;padding:0 5vw;gap:0;overflow-x:visible !important;overflow-y:visible !important;position:sticky;top:0;z-index:9999;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.nav-item{position:relative;flex:none}
.nav-link{display:flex;align-items:center;gap:6px;height:46px;padding:0 18px;color:rgba(255,255,255,.6);font:500 13px 'Noto Sans SC',sans-serif;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;transition:.2s}
.nav-link:hover{color:#fff}
.nav-item.active .nav-link{color:#d9b36b;border-bottom-color:#d9b36b}
.nav-link .nav-arrow{font-size:10px;transition:.2s}
.nav-item.active .nav-arrow,.nav-link:hover .nav-arrow{transform:rotate(180deg)}
.nav-dropdown{display:none;position:absolute;top:100%;left:0;min-width:220px;background:#0d233f;border:1px solid rgba(255,255,255,.15);border-top:none;padding:6px 0;box-shadow:0 16px 40px rgba(0,0,0,.4);z-index:10000;max-height:400px;overflow-y:auto}
.nav-item.open .nav-dropdown{display:block}
.nav-dropdown a{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;color:rgba(255,255,255,.65);font-size:12px;text-decoration:none;cursor:pointer}
.nav-dropdown a:hover{background:rgba(217,179,107,.12);color:#d9b36b}
.nav-dropdown a .dd-count{font:500 10px Inter;color:rgba(255,255,255,.3)}

/* ===== Home Nav Cards ===== */
.nav-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:0;background:#fff;border-bottom:1px solid var(--line)}
.nav-card{padding:28px 24px;border-right:1px solid var(--line);cursor:pointer;transition:.2s;position:relative}
.nav-card:last-child{border-right:none}
.nav-card:hover{background:#f2f6f8}
.nav-card .nc-num{font:600 11px Inter;color:var(--gold);letter-spacing:.12em}
.nav-card .nc-title{font:600 18px 'Noto Serif SC',serif;color:var(--navy);margin:8px 0 6px}
.nav-card .nc-count{font-size:12px;color:var(--muted)}
.nav-card .nc-desc{font-size:12px;color:var(--muted);line-height:1.6;margin-top:8px}
.nav-card:hover .nc-title{color:var(--gold)}

/* ===== Category Hero ===== */
.cat-hero{background:var(--navy);color:#fff;padding:42px 8vw 36px;position:relative;z-index:1}
.cat-hero .eyebrow{color:#d9b36b}
.cat-hero h1{font:600 36px/1.2 'Noto Serif SC',serif;margin:0}
.cat-hero p{font-size:13px;color:rgba(255,255,255,.6);line-height:1.8;margin:12px 0 0;max-width:680px}
.cat-hero .cat-breadcrumb{font-size:11px;color:rgba(255,255,255,.4);margin-bottom:14px}
.cat-hero .cat-breadcrumb a{color:rgba(255,255,255,.5);text-decoration:none;cursor:pointer}
.cat-hero .cat-breadcrumb a:hover{color:#d9b36b}

/* ===== Category Workspace ===== */
.cat-workspace{max-width:1400px;margin:0 auto;padding:32px 5vw 48px}
.cat-toolbar{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.sort-bar{display:flex;align-items:center;gap:6px}
.sort-label{font:600 10px Inter;color:var(--muted);letter-spacing:.12em;margin-right:8px}
.sort-btn{border:1px solid var(--line);background:#fff;color:var(--muted);padding:7px 14px;border-radius:3px;font-size:12px;cursor:pointer;transition:.2s}
.sort-btn:hover{border-color:#aebfcc;color:var(--navy)}
.sort-btn.active{background:var(--navy);border-color:var(--navy);color:#fff}
.cat-filter{display:flex;gap:12px;align-items:flex-end}
.cat-filter label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px}
.cat-filter select,.cat-filter input{height:34px;border:1px solid var(--line);background:#fff;border-radius:3px;padding:0 11px;color:var(--ink);min-width:130px;outline:none}
.cat-filter input{min-width:180px}

/* ===== Category Sub-item Grid ===== */
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cat-card{background:#fff;border:1px solid var(--line);padding:20px;cursor:pointer;transition:.2s;display:flex;flex-direction:column;gap:14px}
.cat-card:hover{border-color:#aebfcc;box-shadow:0 8px 22px rgba(16,44,77,.08)}
.cat-card-header{display:flex;justify-content:space-between;align-items:flex-start}
.cat-card h3{font:600 16px 'Noto Serif SC';margin:0;color:var(--navy)}
.cat-card .cc-group{font-size:10px;color:var(--gold);border:1px solid #eadab9;padding:3px 6px}
.cat-card .cc-importance{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
.cat-card .cc-importance .imp-dot{width:8px;height:8px;border-radius:50%;background:var(--line)}
.cat-card .cc-importance .imp-dot.high{background:var(--red)}
.cat-card .cc-importance .imp-dot.medium{background:var(--gold)}
.cat-card .cc-importance .imp-dot.low{background:var(--teal)}
.cat-card .cc-status{display:inline-block;font-size:10px;padding:3px 8px;border-radius:2px;background:#f2f6f8;color:var(--muted)}
.cat-card .cc-status.published{background:#e6f4f1;color:var(--teal)}
.cat-card .cc-status.collecting{background:#fdf6e8;color:var(--gold)}
.cat-card .cc-body{font-size:12px;color:var(--muted);line-height:1.7}
.cat-card .cc-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;font-size:11px;color:var(--muted)}
.cat-card .cc-foot b{color:var(--navy);font-weight:500}
.cat-card .cc-trend{display:flex;align-items:center;gap:4px}
.cat-card .cc-trend .arrow-up{color:var(--red)}
.cat-card .cc-trend .arrow-down{color:var(--teal)}
.cat-card .cc-trend .arrow-flat{color:var(--muted)}


/* ===== Detail data collector ===== */
.collector-controls{display:flex;align-items:flex-end;gap:12px;margin:18px 0 4px;padding:14px;background:var(--paper);border:1px solid var(--line)}
.collector-controls label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px}
.collector-controls select{height:34px;border:1px solid var(--line);background:#fff;border-radius:3px;padding:0 10px;color:var(--ink);min-width:110px}
.refresh-data-btn{height:34px;border:1px solid var(--navy);background:var(--navy);color:#fff;border-radius:3px;padding:0 16px;font-size:12px;cursor:pointer;margin-left:auto}
.refresh-data-btn:hover{background:var(--navy2)}
.refresh-data-btn:disabled{opacity:.55;cursor:wait}
#dataSources a{color:var(--teal);text-decoration:none;font-size:11px}

/* ===== Login Modal ===== */
.login-panel{position:relative;background:#fff;width:min(400px,calc(100% - 32px));margin:80px auto;padding:34px;border-radius:2px}
.login-panel h2{font:600 24px 'Noto Serif SC',serif;color:var(--navy);margin:0 0 24px}
.login-form{display:flex;flex-direction:column;gap:16px}
.login-form label{font-size:12px;color:var(--muted);display:flex;flex-direction:column;gap:6px}
.login-form input{height:40px;border:1px solid var(--line);border-radius:3px;padding:0 12px;font-size:14px;outline:none}
.login-form input:focus{border-color:var(--navy2)}
.login-submit{margin-top:8px;height:42px;font-size:14px;border-radius:3px}
.login-hint{font-size:11px;color:var(--muted);text-align:center;margin:0}

/* ===== User Area ===== */
.user-chip{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--navy)}
.user-chip .avatar{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font:600 13px Inter}
.user-chip .uname{font-weight:500}
.user-chip .role-tag{font:500 9px Inter;color:var(--gold);border:1px solid #eadab9;padding:2px 5px;border-radius:2px}
.user-chip .logout-link{color:var(--muted);cursor:pointer;font-size:11px;margin-left:4px}
.user-chip .logout-link:hover{color:var(--red)}

/* ===== Interaction Buttons ===== */
.interaction-bar{display:flex;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid var(--line)}
.interaction-bar .ia-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--line);background:#fff;border-radius:3px;font-size:13px;color:var(--muted);cursor:pointer;transition:.2s}
.interaction-bar .ia-btn:hover{border-color:var(--navy2);color:var(--navy)}
.interaction-bar .ia-btn.active{background:#fdf6e8;border-color:#eadab9;color:var(--gold)}
.interaction-bar .ia-btn.active .ia-icon{color:var(--gold)}
.interaction-bar .ia-btn .ia-icon{font-size:16px}
.interaction-bar .ia-btn .ia-count{font:600 13px Inter;color:var(--navy)}
.interaction-bar .ia-btn:disabled{opacity:.5;cursor:not-allowed}

/* ===== Profile View ===== */
#profileView .cat-grid .fav-card{background:#fff;border:1px solid var(--line);padding:20px;cursor:pointer;transition:.2s}
#profileView .cat-grid .fav-card:hover{border-color:#aebfcc;box-shadow:0 8px 22px rgba(16,44,77,.08)}
#profileView .cat-grid .fav-card h3{font:600 16px 'Noto Serif SC';margin:0 0 8px;color:var(--navy)}
#profileView .cat-grid .fav-card .fav-time{font-size:11px;color:var(--muted)}
.fav-empty{text-align:center;padding:40px;color:var(--muted);font-size:13px;grid-column:1/-1}

@media(max-width:900px){
  .nav-cards{grid-template-columns:repeat(2,1fr)}
  .nav-card{border-bottom:1px solid var(--line)}
  .cat-grid{grid-template-columns:repeat(2,1fr)}
  .cat-toolbar{flex-direction:column;align-items:stretch}
  .sort-bar{overflow-x:auto}
}
@media(max-width:600px){
  .main-nav{padding:0 16px}
  .nav-link{padding:0 12px;font-size:12px}
  .nav-cards{grid-template-columns:1fr}
  .cat-grid{grid-template-columns:1fr}
  .cat-hero{padding:32px 16px}
  .collector-controls{align-items:stretch;flex-direction:column}
  .collector-controls select{width:100%}
  .refresh-data-btn{margin-left:0;width:100%}
  .cat-hero h1{font-size:28px}
  .cat-filter{flex-direction:column}
  .cat-filter input{min-width:0}
}
background:var(--navy);color:rgba(255,255,255,.6);padding:20px 5vw;border-top:1px solid rgba(255,255,255,.1)}.footer-inner{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.footer-copyright{font-size:12px}.footer-icp{font-size:11px}.footer-icp a{color:rgba(255,255,255,.5);text-decoration:none}.footer-icp a:hover{color:#d9b36b}.footer-sep{margin:0 8px;color:rgba(255,255,255,.25)}@media(max-width:900px){.hero{display:block;padding:45px 7vw}.hero-stats{margin-top:38px;min-width:0}.workspace{grid-template-columns:1fr;gap:25px}.sidebar{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px}.category-group{display:inline-block;width:48%;vertical-align:top}.side-note{display:none}.summary-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.topbar{padding:0 16px;height:62px;gap:12px}.top-meta{display:none}.top-actions .ghost-btn{display:none}.hero h1{font-size:38px}.hero-stats{grid-template-columns:repeat(2,1fr);gap:16px}.workspace{padding:34px 16px}.section-head{display:block}.collection-date{margin-top:10px}.filter-row{display:grid;grid-template-columns:1fr 1fr}.search-label{grid-column:1/-1}.filter-row input{min-width:0}.summary-grid{grid-template-columns:1fr}.source-section{padding:34px 16px}.notice-card{display:block}.notice-card button{display:block;margin:12px 0 0}.product-row{grid-template-columns:30px 1fr 80px}.product-row .metric{display:none}.footer-inner{flex-direction:column;text-align:center;gap:6px}}
@media(min-width:1440px){.workspace{max-width:1500px}.hero-stats{min-width:480px}}
@media(max-width:1200px){.nav-link{padding:0 14px;font-size:13px}.hero{padding:48px 5vw 40px}.hero h1{font-size:42px}}
