*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f3f5f9;color:#202735;font-family:Arial,"Microsoft YaHei",sans-serif;font-size:14px}.side{position:fixed;left:0;top:0;bottom:0;width:118px;background:#fff;border-right:1px solid #e9edf5;z-index:50;display:flex;flex-direction:column;align-items:center}.logo{width:100%;padding:16px 10px 8px;text-align:center}.logo-mark{width:52px;height:44px;margin:0 auto 8px;border-radius:12px;background:#f7f7ff;display:flex;align-items:center;justify-content:center;font-weight:900;box-shadow:0 8px 20px rgba(39,55,155,.08);transform:rotate(-7deg)}.logo strong{font-size:15px;display:block;line-height:1.4}.side-nav{width:100%;padding-top:8px;overflow-y:auto}.side-link{display:flex;flex-direction:column;align-items:center;gap:5px;text-decoration:none;color:#1f2b48;padding:10px 0;border-left:4px solid transparent}.side-link span{font-size:22px}.side-link em{font-style:normal;font-size:13px}.side-link:hover,.side-link.active{background:#f6f7ff;border-left-color:#27379b;color:#27379b}.admin-link{margin-top:auto;margin-bottom:18px;background:#27379b;color:#fff;text-decoration:none;padding:8px 10px;border-radius:18px;font-size:12px}.main{margin-left:118px;min-height:100vh;padding-bottom:30px}.hero{position:relative;min-height:250px;padding:56px 24px 34px;text-align:center;background:linear-gradient(180deg,#f7f8fc 0,#eef2f7 100%);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 20%,rgba(39,55,155,.05),transparent 18%),radial-gradient(circle at 80% 35%,rgba(39,55,155,.05),transparent 15%);pointer-events:none}.top-actions{position:absolute;right:28px;top:22px;display:flex;gap:10px}.pill{background:#fff;border-radius:18px;padding:8px 12px;color:#27379b;box-shadow:0 6px 18px rgba(0,0,0,.06);font-size:13px}.hero h1{font-size:22px;margin:10px 0 20px;color:#1f2937}.search-box{position:relative;z-index:1;max-width:860px;height:54px;margin:0 auto;border:3px solid #27379b;border-radius:15px;background:#fff;display:flex;overflow:hidden}.search-box input{flex:1;border:0;outline:0;padding:0 20px;font-size:16px}.search-box button{width:70px;border:0;background:#27379b;color:#fff;font-size:16px;cursor:pointer}.quick-tabs{margin:14px auto 12px;display:flex;gap:22px;justify-content:center;flex-wrap:wrap}.quick-tabs button{border:0;background:transparent;color:#6b7280;cursor:pointer;font-weight:600}.quick-tabs button.active,.quick-tabs button:hover{color:#27379b}.notice{max-width:900px;margin:14px auto 0;background:#fff7d6;color:#7c5b00;padding:10px 16px;border-radius:12px;text-align:left}.layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:18px;max-width:1800px;margin:0 auto;padding:0 28px;transform:translateY(-8px)}.content{min-width:0}.block{background:#fff;border-radius:14px;margin-bottom:18px;padding:22px 28px;box-shadow:0 8px 24px rgba(28,39,64,.04)}.block-head{display:flex;align-items:center;gap:18px;margin-bottom:14px;flex-wrap:wrap}.block-head h2{font-size:19px;margin:0;white-space:nowrap}.tag-tabs{display:flex;gap:12px;flex-wrap:wrap}.tag-btn{border:0;background:transparent;color:#111827;cursor:pointer;padding:5px 0}.tag-btn.active,.tag-btn:hover{color:#27379b;font-weight:700;border-bottom:2px solid #ffd433}.recommend-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.recommend-card{display:flex;align-items:center;gap:10px;height:46px;border:1px solid #edf0f6;border-radius:10px;padding:0 12px;text-decoration:none;color:#111827;background:#fff}.recommend-card:hover{border-color:#27379b;box-shadow:0 8px 18px rgba(39,55,155,.08)}.recommend-card img{width:24px;height:24px;border-radius:6px}.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.site-card{display:flex;gap:12px;align-items:center;min-height:76px;border:1px solid #edf0f6;border-radius:12px;background:#fff;text-decoration:none;color:#111827;padding:12px;transition:.2s}.site-card:hover{transform:translateY(-2px);border-color:#c8d0ff;box-shadow:0 10px 22px rgba(28,39,64,.08)}.card-icon{width:38px;height:38px;border-radius:10px;background:#f7f8fb;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.card-icon img{width:28px;height:28px;border-radius:7px}.card-info{min-width:0}.card-title{font-weight:700;font-size:15px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-desc{font-size:12px;color:#6b7280;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.badges{margin-top:5px;display:flex;gap:5px;flex-wrap:wrap}.badges span{font-size:11px;background:#f0f2ff;color:#27379b;border-radius:8px;padding:2px 6px}.empty{color:#9ca3af;padding:20px}.rightbar{position:sticky;top:16px;height:max-content}.rank-box,.welfare-box{background:#fff;border-radius:14px;padding:14px;box-shadow:0 8px 24px rgba(28,39,64,.05);margin-bottom:14px}.rank-tabs{display:flex;gap:10px;justify-content:center;margin-bottom:12px}.rank-tabs button{border:0;background:transparent;cursor:pointer;color:#555;font-weight:700}.rank-tabs button.active{color:#27379b}.rank-list{display:flex;flex-direction:column;gap:9px}.rank-list a{display:flex;align-items:center;gap:9px;text-decoration:none;color:#333;background:#f7f8fb;border-radius:10px;padding:8px 10px}.rank-list a:hover{background:#eef1ff;color:#27379b}.rank-list img{width:20px;height:20px;border-radius:5px}.hide{display:none!important}.welfare-box{background:#fff2bf}.welfare-box h3{margin:0 0 10px;color:#7c4a03}.welfare-box p{margin:0;color:#7c5b00;line-height:1.7}.to-top{position:fixed;right:22px;bottom:26px;width:44px;height:44px;border:0;border-radius:15px;background:#27379b;color:#fff;font-size:20px;cursor:pointer;box-shadow:0 10px 25px rgba(39,55,155,.25);display:none}footer{text-align:center;color:#8b95a7;padding:26px 0 40px;margin-left:118px}.no-result{background:#fff;border-radius:14px;padding:28px;text-align:center;color:#6b7280}.hidden-by-search,.hidden-by-tag,.hidden-by-cat{display:none!important}@media(max-width:1300px){.layout{grid-template-columns:1fr}.rightbar{display:none}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.recommend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.side{display:none}.main,footer{margin-left:0}.hero{padding:40px 14px 24px}.top-actions{display:none}.layout{padding:0 12px}.block{padding:18px 14px}.card-grid,.recommend-grid{grid-template-columns:1fr}.search-box{height:48px}.quick-tabs{gap:12px}}
