:root{
  --blue:#167de7;
  --blue-dark:#0865cf;
  --blue-soft:#eaf4ff;
  --ink:#12284b;
  --text:#30445f;
  --muted:#8190a7;
  --line:#e7edf5;
  --ground:#f5f8fc;
  --card:#fff;
  --danger:#d9455d;
  --shadow:0 15px 42px rgba(22,73,132,.08);
  font-family:Inter,"Microsoft YaHei","PingFang SC",Arial,sans-serif;
  color:var(--text);
  background:var(--ground);
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);min-width:320px}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
.shell{min-height:100vh}
.site-header{height:72px;background:#fff;border-bottom:1px solid #edf1f6;display:flex;align-items:center}
.header-inner{width:min(1160px,calc(100% - 36px));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:22px}
.brand{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:800;color:#163158;white-space:nowrap}
.brand-mark{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;color:#fff;background:linear-gradient(135deg,#4ba8ff,#0969d9);box-shadow:0 8px 18px rgba(20,122,226,.25);font-size:18px}
.main-nav{display:flex;align-items:center;gap:8px}
.nav-link,.button-outline,.button-primary,.button-quiet,.icon-button{border:0;border-radius:8px;font-weight:700;transition:.16s ease}
.nav-link{padding:9px 13px;color:#60718c}
.nav-link:hover{background:#f2f7fd;color:var(--blue)}
.nav-link.active,.button-primary{color:#fff;background:linear-gradient(105deg,#2e99f5,#126fdc);box-shadow:0 8px 18px rgba(27,124,226,.23)}
.container{width:min(1160px,calc(100% - 36px));margin:30px auto 70px}
.hero{position:relative;overflow:hidden;min-height:150px;padding:30px;border-radius:14px;background:linear-gradient(112deg,#218be7,#1477dd);color:#fff;box-shadow:0 18px 36px rgba(20,114,214,.17)}
.hero:before,.hero:after{content:"";position:absolute;border:44px solid rgba(255,255,255,.08);border-radius:999px}
.hero:before{width:260px;height:260px;right:-113px;bottom:-183px}.hero:after{width:214px;height:214px;right:66px;top:-180px}
.hero-copy,.hero-metrics{position:relative;z-index:1}.hero-copy{max-width:600px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.1px;opacity:.72}.hero h1{margin:7px 0 8px;font-size:30px;line-height:1.22}.hero p{margin:0;font-size:14px;opacity:.87}
.hero{display:flex;align-items:center;justify-content:space-between;gap:20px}.hero-metrics{display:flex;gap:32px;text-align:center;flex:none}.metric strong{display:block;font-size:26px}.metric span{display:block;font-size:12px;margin-top:4px;opacity:.82}
.resource-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:20px;margin-top:20px}.category-panel,.resource-panel,.admin-panel,.auth-card,.notice-card{background:var(--card);border-radius:14px;box-shadow:var(--shadow)}
.category-panel{height:max-content;padding:13px}.panel-label{font-size:13px;font-weight:800;color:#63738b;padding:6px 8px 11px}.category-list{display:grid;gap:4px}.category-button{width:100%;text-align:left;border:0;border-radius:8px;background:transparent;color:#63738b;padding:11px 10px;font-weight:650;display:flex;justify-content:space-between;gap:9px}.category-button:hover,.category-button.active{background:#e7f3ff;color:#1178e3}.category-button span:last-child{font-size:12px;font-weight:700}
.resource-panel{min-height:470px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;border-bottom:1px solid var(--line)}.panel-head h2{font-size:16px;color:var(--ink);margin:0}.search-box{width:min(260px,55%);position:relative}.search-box input{width:100%;border:1px solid #e5ebf3;background:#f7f9fc;border-radius:8px;padding:9px 11px 9px 32px;outline:none;font-size:13px;color:var(--text)}.search-box:before{content:"⌕";position:absolute;left:11px;top:5px;color:#91a0b5;font-size:20px}.search-box input:focus{border-color:#77b8ef;background:#fff}
.resource-list{padding:0}.resource-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid #f0f3f7}.resource-row:last-child{border-bottom:0}.resource-icon{width:38px;height:38px;border-radius:9px;display:grid;place-items:center;background:#e5f4ff;color:#1685ed;font-size:21px}.resource-title{display:block;font-weight:750;font-size:14px;color:#253a58;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-description{font-size:12px;color:#8b9ab0;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resource-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:5px;font-size:11px;color:#a0acbc}.resource-actions{display:flex;gap:7px;align-items:center}.button-outline{border:1px solid #dfe7f1;color:#687991;background:#fff;padding:8px 10px;font-size:12px}.button-outline:hover{border-color:#8bc5f8;color:var(--blue);background:#f5fbff}.button-primary{border:0;padding:8px 12px;font-size:12px}.button-primary:hover{filter:brightness(.97);transform:translateY(-1px)}.button-quiet{border:0;background:transparent;color:#6c7e96;padding:8px 10px;font-size:12px}.button-quiet:hover{background:#eef5fc;color:var(--blue)}.empty{display:grid;place-items:center;min-height:330px;padding:28px;text-align:center;color:#8997aa}.empty-icon{font-size:38px;color:#79baff;margin-bottom:10px}.empty strong{color:#40536f}.empty p{font-size:13px;margin:8px 0 16px}
.toast{position:fixed;z-index:20;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:#1d3453;color:#fff;border-radius:9px;padding:11px 16px;font-size:13px;box-shadow:0 12px 30px rgba(11,38,72,.22);opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast.error{background:#ba3c52}
.access-page{min-height:100vh;background:#f5f7fa}.access-topbar{height:72px;background:#fff;border-bottom:1px solid #edf0f3;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px}.access-close{justify-self:start;border:0;background:transparent;font-size:25px;color:#52657e;padding:8px}.access-heading{text-align:center}.access-heading strong{display:block;color:#1c2d47;font-size:15px}.access-heading small{display:block;color:#9ba7b7;font-size:11px;margin-top:2px}.access-dots{justify-self:end;color:#748398;font-size:20px}.access-content{width:min(430px,calc(100% - 36px));margin:0 auto;padding:56px 0 70px}.access-brand{display:flex;justify-content:center;align-items:center;gap:10px;color:#1a7ee5;font-weight:850;font-size:28px;margin-bottom:42px}.access-brand .brand-mark{width:38px;height:38px;font-size:21px}.access-card{background:#fff;border-radius:12px;padding:20px 18px;box-shadow:0 4px 14px rgba(37,61,93,.06);margin-bottom:13px}.access-card h2{margin:0 0 12px;padding-left:9px;border-left:4px solid #1d92ef;font-size:16px;color:#2c3b54}.access-card p{margin:0;color:#738299;font-size:13px;line-height:1.65}.access-open{display:flex;align-items:center;justify-content:center;gap:7px;width:78%;margin:21px auto 18px;border-radius:23px;padding:12px;background:linear-gradient(105deg,#42a7f7,#1985e8);color:#fff;font-weight:800;box-shadow:0 8px 15px rgba(28,133,230,.23)}.access-open:hover{filter:brightness(.97)}.link-field{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#f3f5f8;color:#2589e6;border-radius:7px;padding:12px 13px;font-size:13px;margin-top:8px}.copy-center{display:flex;justify-content:center;margin-top:12px}.copy-center .button-outline{border-radius:18px;padding:8px 23px}.access-help{text-align:center;color:#9ba8b8;font-size:12px;margin:15px 0 0}.code-box{margin-top:12px;background:#f5f9fd;border-radius:8px;padding:11px;font-size:13px;color:#51647c}.code-box code{color:#167de7;font-size:15px;font-weight:800;letter-spacing:1px}
.auth-page{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:35px 18px;background:linear-gradient(135deg,#f2f8ff,#f7f9fc)}.auth-card{width:min(430px,100%);padding:28px}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#eff4fa;border-radius:10px;padding:4px;gap:4px;margin-bottom:26px}.tab{border:0;border-radius:8px;background:transparent;padding:10px;color:#69809c;font-weight:750}.tab.active{background:#fff;color:#147be3;box-shadow:0 3px 10px rgba(40,80,125,.1)}.auth-card h1{color:#142d50;font-size:28px;margin:0 0 8px}.auth-card .muted{font-size:13px;line-height:1.7;color:#71819c}.form-field{margin-top:15px}.form-field label{display:block;font-size:13px;color:#51647e;font-weight:750;margin-bottom:7px}.form-field input,.form-field textarea,.form-field select{display:block;width:100%;border:1px solid #d9e3ef;border-radius:8px;padding:11px 12px;outline:none;color:#283d5b;background:#fff}.form-field textarea{resize:vertical;min-height:88px}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:#55a9ef;box-shadow:0 0 0 3px rgba(44,146,237,.1)}.form-error{font-size:13px;color:#bd3d55;background:#fff2f4;border-radius:8px;padding:10px 12px;margin-top:14px}.wide{width:100%;padding:12px 15px;font-size:14px;margin-top:20px}.auth-note{color:#92a0b3;font-size:12px;line-height:1.7;text-align:center;margin:17px 0 0}
.member-page{min-height:calc(100vh - 72px);display:grid;place-items:center;padding:30px}.notice-card{max-width:480px;padding:34px;text-align:center}.notice-card h1{margin:0 0 10px;color:var(--ink);font-size:27px}.notice-card p{margin:0;color:#71819a;line-height:1.7;font-size:14px}.notice-actions{display:flex;gap:10px;margin-top:23px}.notice-actions>*{flex:1}
.admin-shell{min-height:calc(100vh - 72px);background:#f5f8fc}.admin-container{width:min(1240px,calc(100% - 36px));margin:0 auto;padding:28px 0 60px;display:grid;grid-template-columns:210px minmax(0,1fr);gap:20px}.admin-nav{height:max-content;background:#fff;border-radius:13px;padding:12px;box-shadow:var(--shadow)}.admin-user{border-bottom:1px solid var(--line);padding:11px 10px 16px;margin-bottom:8px}.admin-user strong{display:block;color:#1a3154;font-size:14px}.admin-user span{display:block;color:#94a0b1;font-size:12px;margin-top:5px}.admin-menu{display:grid;gap:4px}.admin-menu button{width:100%;border:0;border-radius:8px;text-align:left;background:transparent;color:#65768f;font-weight:750;padding:11px 10px}.admin-menu button.active,.admin-menu button:hover{background:#e8f4ff;color:#137ce6}.admin-main{min-width:0}.admin-titlebar{display:flex;align-items:end;justify-content:space-between;gap:14px;margin:3px 0 19px}.admin-titlebar h1{margin:0;color:#132d51;font-size:25px}.admin-titlebar p{margin:6px 0 0;font-size:13px;color:#7c8ca3}.admin-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.admin-stat{background:#fff;border-radius:12px;padding:18px;box-shadow:var(--shadow)}.admin-stat span{display:block;color:#8b9ab0;font-size:12px;font-weight:700}.admin-stat strong{display:block;color:#16345c;font-size:27px;margin-top:8px}.admin-panel{overflow:hidden}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:16px 18px;border-bottom:1px solid var(--line)}.admin-toolbar h2{font-size:16px;color:#1b3457;margin:0}.admin-toolbar .toolbar-controls{display:flex;gap:9px;align-items:center}.admin-toolbar .search-box{width:240px}.table-wrap{overflow:auto}.resource-table{width:100%;border-collapse:collapse;min-width:720px}.resource-table th,.resource-table td{text-align:left;padding:14px 17px;border-bottom:1px solid #eef2f6;font-size:13px;vertical-align:middle}.resource-table th{color:#8290a3;font-size:12px;background:#fbfcfe}.resource-table td{color:#5a6d86}.resource-table td strong{display:block;color:#2b405e;max-width:270px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800}.status.published{color:#16804f;background:#eaf8f0}.status.draft{color:#91712a;background:#fff7df}.action-group{display:flex;gap:5px}.tiny-button{border:0;background:transparent;color:#1a7fdf;padding:5px;font-size:12px;font-weight:750}.tiny-button.delete{color:#d04d5c}.tiny-button:hover{text-decoration:underline}.editor{margin-top:18px;background:#fff;border-radius:13px;box-shadow:var(--shadow);padding:22px}.editor-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:15px}.editor h2{margin:0;color:#1b3457;font-size:17px}.editor-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 16px}.editor-grid .full{grid-column:1/-1}.switch-row{display:flex;align-items:center;gap:9px;margin-top:18px;color:#5c6d84;font-size:13px;font-weight:700}.editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.editor-actions button{padding:10px 16px}
@media(max-width:820px){.header-inner,.container,.admin-container{width:min(100% - 24px,1160px)}.hero{padding:24px}.hero h1{font-size:25px}.resource-layout{grid-template-columns:1fr}.category-panel{display:none}.resource-row{grid-template-columns:42px minmax(0,1fr)}.resource-actions{grid-column:2;justify-content:flex-start}.admin-container{grid-template-columns:1fr}.admin-nav{display:flex;align-items:center;justify-content:space-between}.admin-user{border:0;padding:4px;margin:0}.admin-menu{display:flex}.admin-menu button{padding:8px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-toolbar{align-items:flex-start;flex-direction:column}.admin-toolbar .search-box{width:100%}.editor-grid{grid-template-columns:1fr}.editor-grid .full{grid-column:auto}}
@media(max-width:520px){.site-header{height:64px}.main-nav .nav-link{display:none}.main-nav .nav-link.active{display:block}.hero{display:block}.hero-metrics{justify-content:flex-start;margin-top:18px}.resource-row{padding:15px}.resource-description{display:none}.access-content{padding-top:38px}.access-topbar{padding:0 13px}.auth-card{padding:23px}.admin-titlebar{align-items:flex-start;flex-direction:column}.admin-stat-grid{gap:9px}.admin-stat{padding:14px}.admin-stat strong{font-size:22px}.notice-actions{flex-direction:column}.editor{padding:17px}.editor-actions{justify-content:stretch}.editor-actions button{flex:1}}
