/* 少培网（spw）绿色简洁门户 · 独立于 front/style.css 和 front_bbs/bbs.css */
:root{--spw:#10B981;--spw-d:#059669;--spw-l:#ECFDF5;--spw-bg:#F0FDFA;--spw-text:#1F2937;--spw-sub:#6B7280;--spw-weak:#9CA3AF;--spw-border:#E5E7EB;--spw-r:14px;--spw-max:1200px}
*{margin:0;padding:0;box-sizing:border-box}
::selection{background:var(--spw-l);color:var(--spw-d)}
body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:15px;color:var(--spw-text);background:var(--spw-bg);line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:var(--spw);text-decoration:none;transition:color .2s}a:hover{color:var(--spw-d)}
img{max-width:100%;display:block}
h1,h2,h3{line-height:1.3}
.spw-container{max-width:var(--spw-max);margin:0 auto;padding:0 16px}
.spw-main{padding:16px 0 48px}

/* header */
.spw-header{position:sticky;top:0;z-index:100;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.spw-topbar{background:var(--spw-d);color:rgba(255,255,255,.85);font-size:12px}
.spw-topbar-in{display:flex;justify-content:space-between;align-items:center;height:30px}
.spw-topnav a{color:rgba(255,255,255,.85)}.spw-topnav span{margin:0 6px;opacity:.5}
.spw-mainbar{background:#fff;border-bottom:1px solid var(--spw-border)}
.spw-mainbar-in{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px}
.spw-logo{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:700;color:var(--spw-text);flex-shrink:0}
.spw-logo i{font-size:28px;color:var(--spw)}
.spw-search{display:flex;flex:1;max-width:480px;border:2px solid var(--spw);border-radius:999px;overflow:hidden}
.spw-search input{flex:1;height:38px;padding:0 14px;border:0;outline:none;font-size:14px}
.spw-search button{width:52px;border:0;background:var(--spw);color:#fff;font-size:18px;cursor:pointer}
.spw-search button:hover{background:var(--spw-d)}
.spw-nav{background:var(--spw)}
.spw-nav-in{display:flex;align-items:center;height:44px;gap:4px;overflow-x:auto}
.spw-nav-in>a{display:flex;align-items:center;gap:4px;padding:0 14px;height:44px;line-height:44px;color:#fff;font-size:15px;white-space:nowrap}
.spw-nav-in>a:hover{background:var(--spw-d)}
.spw-nav-toggle{display:none}

/* nav dropdown */
.spw-nav-item{position:relative;display:inline-flex}
.spw-nav-item>a{display:flex;align-items:center;gap:2px;padding:0 14px;height:44px;line-height:44px;color:#fff;font-size:15px;white-space:nowrap}
.spw-nav-item:hover>a{background:var(--spw-d)}
.spw-nav-caret{font-size:13px;transition:transform .2s}
.spw-nav-item:hover .spw-nav-caret{transform:rotate(180deg)}
.spw-nav-sub{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--spw-border);border-radius:0 0 8px 8px;flex-direction:column;min-width:110px;z-index:50;padding:4px 0;box-shadow:0 4px 12px rgba(0,0,0,.1)}
.spw-nav-sub a{display:block;padding:8px 14px;color:var(--spw-sub);font-size:13px;white-space:nowrap}
.spw-nav-sub a:hover{background:var(--spw-l);color:var(--spw)}
.spw-nav-item:hover>.spw-nav-sub{display:flex}

/* hero */
.spw-hero{text-align:center;padding:48px 16px 40px;background:linear-gradient(135deg,var(--spw-l),#fff)}
.spw-hero-title{font-size:34px;font-weight:800;color:var(--spw-text);margin-bottom:10px}
.spw-hero-sub{font-size:16px;color:var(--spw-sub);margin-bottom:24px}
.spw-hero-search{display:flex;max-width:560px;margin:0 auto 16px;border:2px solid var(--spw);border-radius:999px;overflow:hidden;box-shadow:0 4px 12px rgba(16,185,129,.1)}
.spw-hero-search input{flex:1;height:46px;padding:0 18px;border:0;outline:none;font-size:15px}
.spw-hero-search button{padding:0 26px;border:0;background:var(--spw);color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.spw-hero-search button:hover{background:var(--spw-d)}
.spw-hero-tags{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.spw-hero-tags a{padding:5px 14px;background:#fff;border:1px solid var(--spw-border);border-radius:999px;color:var(--spw-sub);font-size:13px}
.spw-hero-tags a:hover{background:var(--spw);border-color:var(--spw);color:#fff}

/* type grid */
.spw-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.spw-type-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px;background:#fff;border:1px solid var(--spw-border);border-radius:var(--spw-r);color:var(--spw-text);transition:all .25s}
.spw-type-card:hover{border-color:var(--spw);box-shadow:0 4px 16px rgba(16,185,129,.12);transform:translateY(-2px)}
.spw-type-card i{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;background:var(--spw-l);color:var(--spw)}
.spw-type-card.type-keben i{background:#EFF6FF;color:#3B82F6}
.spw-type-card.type-shijuan i{background:#FFF7ED;color:#F97316}
.spw-type-card.type-wangke i{background:#ECFDF5;color:#10B981}
.spw-type-card.type-jiaofu i{background:#FAF5FF;color:#9333EA}
.spw-type-card span{font-size:16px;font-weight:600}

/* section + card grid */
.spw-section{background:#fff;border:1px solid var(--spw-border);border-radius:var(--spw-r);padding:20px;margin-bottom:16px}
.spw-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.spw-section-head h2{font-size:18px;font-weight:700;display:flex;align-items:center;gap:6px}
.spw-section-head h2 i{color:var(--spw)}
.spw-more{font-size:14px;color:var(--spw)}
.spw-card-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.spw-res-card{position:relative;background:#fff;border:1px solid var(--spw-border);border-radius:12px;overflow:hidden;color:var(--spw-text);transition:all .25s;display:flex;flex-direction:column}
.spw-res-card:hover{border-color:var(--spw);box-shadow:0 4px 16px rgba(16,185,129,.1);transform:translateY(-2px)}
.spw-res-thumb{aspect-ratio:3/4;overflow:hidden;background:#f9fafb}
.spw-res-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.spw-res-card:hover .spw-res-thumb img{transform:scale(1.05)}
.spw-res-info{padding:10px 12px;flex:1;display:flex;flex-direction:column;gap:4px}
.spw-res-info h3{font-size:14px;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.spw-res-card:hover h3{color:var(--spw)}
.spw-res-meta{font-size:12px;color:var(--spw-weak);display:flex;gap:8px;flex-wrap:wrap}
.spw-res-meta span{display:inline-flex;align-items:center;gap:2px}
.spw-res-brief{font-size:12px;color:var(--spw-sub);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.spw-badge{position:absolute;top:8px;left:8px;z-index:1;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff}
.spw-badge.hot{background:#F59E0B}.spw-badge.new{background:var(--spw)}

/* tabs */
.spw-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid var(--spw-border);flex-wrap:wrap}
.spw-tab{padding:8px 16px;color:var(--spw-sub);font-size:14px;border-bottom:2px solid transparent;margin-bottom:-2px}
.spw-tab:hover{color:var(--spw)}.spw-tab.active{color:var(--spw);border-bottom-color:var(--spw);font-weight:600}

/* pager */
.spw-pager{display:flex;justify-content:center;gap:6px;padding:20px 0;flex-wrap:wrap}
.spw-pg{min-width:36px;height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--spw-border);border-radius:8px;color:var(--spw-sub);font-size:14px;background:#fff}
.spw-pg:hover{border-color:var(--spw);color:var(--spw)}
.spw-pg.active{background:var(--spw);border-color:var(--spw);color:#fff}

/* crumb + title */
.spw-crumb{padding:8px 0;font-size:13px;color:var(--spw-weak);display:flex;align-items:center;gap:4px}
.spw-crumb a{color:var(--spw-sub)}
.spw-page-title{font-size:22px;font-weight:700;padding:8px 0 14px;border-bottom:2px solid var(--spw);margin-bottom:16px;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.spw-page-title small{font-size:13px;color:var(--spw-weak);font-weight:400;background:var(--spw-l);padding:2px 10px;border-radius:999px}
.spw-kw{color:#F59E0B}

/* detail */
.spw-detail{display:grid;grid-template-columns:1fr 300px;gap:16px;align-items:start}
.spw-detail-main{background:#fff;border:1px solid var(--spw-border);border-radius:var(--spw-r);padding:20px}
.spw-detail-title{font-size:22px;font-weight:700;margin-bottom:12px}
.spw-detail-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;color:var(--spw-sub);padding-bottom:14px;border-bottom:1px solid var(--spw-border);margin-bottom:16px}
.spw-detail-meta span{display:inline-flex;align-items:center;gap:4px}.spw-detail-meta i{color:var(--spw)}
.spw-detail-shot{max-width:360px;margin:0 auto 16px;border-radius:12px;overflow:hidden;border:1px solid var(--spw-border)}
.spw-detail-content{font-size:15px;line-height:1.9;color:var(--spw-sub)}.spw-detail-content p{margin-bottom:12px}
.spw-detail-side{position:sticky;top:130px}
.spw-dl-box{background:#fff;border:1px solid var(--spw-border);border-radius:var(--spw-r);padding:16px}
.spw-dl-box h3{font-size:15px;padding-bottom:10px;border-bottom:2px solid var(--spw);display:flex;align-items:center;gap:6px;margin-bottom:12px}
.spw-dl-box h3 i{color:var(--spw)}
.spw-dl-type{display:inline-block;font-size:12px;color:var(--spw);background:var(--spw-l);padding:3px 10px;border-radius:999px;margin-bottom:10px}
.spw-btn-dl{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px;background:var(--spw);color:#fff;border-radius:10px;font-size:15px;font-weight:600;margin-bottom:10px}
.spw-btn-dl:hover{background:var(--spw-d);color:#fff}
.spw-btn-read{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;border:1px solid var(--spw-border);border-radius:10px;color:var(--spw-sub);font-size:14px;margin-bottom:10px}
.spw-btn-read:hover{border-color:var(--spw);color:var(--spw)}
.spw-qr{text-align:center;padding-top:8px;border-top:1px dashed var(--spw-border)}
.spw-qr img{width:160px;height:160px;margin:0 auto 4px;border:1px solid var(--spw-border);border-radius:8px;padding:4px}
.spw-qr p{font-size:12px;color:var(--spw-weak)}
.spw-dl-memo{font-size:13px;color:var(--spw-sub);text-align:center;padding:8px;background:var(--spw-bg);border-radius:8px}
.spw-dl-memo b{color:#F59E0B;font-size:15px;background:#FFFBEB;padding:2px 8px;border-radius:4px;margin-left:4px}
.spw-empty-mini{text-align:center;color:var(--spw-weak);padding:24px 10px;font-size:14px}
.spw-rel{margin-top:20px;padding-top:16px;border-top:1px solid var(--spw-border)}
.spw-rel h3{font-size:15px;margin-bottom:10px}
.spw-rel ul{list-style:none}.spw-rel li{padding:6px 0;border-bottom:1px dashed var(--spw-border)}
.spw-rel li a{color:var(--spw-sub)}.spw-rel li a:hover{color:var(--spw)}

/* tags */
.spw-tag-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.spw-tag{padding:7px 16px;background:#fff;border:1px solid var(--spw-border);border-radius:999px;color:var(--spw-sub);font-size:14px}
.spw-tag:hover{background:var(--spw);border-color:var(--spw);color:#fff}
.spw-tag.active{background:var(--spw);border-color:var(--spw);color:#fff}

/* empty */
.spw-empty{text-align:center;padding:60px 20px;color:var(--spw-weak)}
.spw-empty i{font-size:40px;color:var(--spw-border);display:block;margin-bottom:10px}

/* footer */
.spw-footer{background:#1F2937;color:rgba(255,255,255,.6);padding:28px 0 18px;font-size:13px}
.spw-foot-links{display:flex;gap:18px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}
.spw-foot-links a{color:rgba(255,255,255,.8)}
.spw-friendlinks{padding:10px 0;line-height:1.9}
.spw-friendlinks a{color:rgba(255,255,255,.5);margin-right:8px}
.spw-copyright{padding-top:8px;color:rgba(255,255,255,.4)}
.spw-copyright a{color:rgba(255,255,255,.5)}

/* backtop */
.spw-backtop{position:fixed;right:20px;bottom:calc(20px+env(safe-area-inset-bottom));width:42px;height:42px;border-radius:50%;background:var(--spw);color:#fff;border:0;font-size:20px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .25s;z-index:50}
.spw-backtop.show{opacity:1;visibility:visible;transform:translateY(0)}
.spw-backtop:hover{background:var(--spw-d)}

/* mobile */
@media(max-width:992px){.spw-detail{grid-template-columns:1fr}.spw-detail-side{position:static}.spw-type-grid{grid-template-columns:repeat(2,1fr)}.spw-card-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.spw-topbar-in{font-size:11px}.spw-hello{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.spw-mainbar-in{height:58px;gap:10px}.spw-logo{font-size:18px}.spw-logo i{font-size:24px}.spw-nav-toggle{position:fixed;top:62px;right:12px;z-index:102;width:38px;height:38px;border-radius:6px;background:#fff;border:1px solid var(--spw-border);color:var(--spw-text);font-size:20px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1)}.spw-nav{display:none}.spw-nav.show{display:block}.spw-nav-in{flex-direction:column;align-items:stretch;height:auto;padding:6px 0}.spw-nav-in>a,.spw-nav-item>a{height:44px;padding:0 16px}.spw-hero{padding:32px 16px 28px}.spw-hero-title{font-size:26px}.spw-hero-sub{font-size:14px}.spw-type-grid{grid-template-columns:1fr 1fr;gap:10px}.spw-card-grid{grid-template-columns:repeat(2,1fr);gap:10px}.spw-page-title{font-size:18px}.spw-section{padding:14px}}
@media(max-width:480px){.spw-hello{display:none}.spw-topbar-in{justify-content:flex-end}.spw-card-grid{grid-template-columns:1fr 1fr}}
