:root{--bg:#f5f8fc;--bg2:#eef4fa;--panel:#fff;--panel2:#f3f7fb;--text:#0f172a;--muted:#64748b;--line:#dbe5ef;--brand:#0f766e;--brand2:#14b8a6;--blue:#2563eb;--blue2:#60a5fa;--gold:#f59e0b;--danger:#ef4444;--ok:#16a34a;--purple:#7c3aed;--shadow:0 14px 40px #0f172a14;--shadow-lg:0 30px 70px #0f172a24;--max:1400px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:radial-gradient(circle at 0 0,#14b8a614,#0000 20%),radial-gradient(circle at 100% 0,#2563eb14,#0000 18%),linear-gradient(#f8fbff 0%,#f1f6fb 46%,#f7f9fc 100%);min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}textarea{resize:vertical}.container{width:min(var(--max), calc(100% - 32px));margin:0 auto}.hidden{display:none!important}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 14px 34px #14b8a638}50%{box-shadow:0 18px 44px #2563eb40}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.topbar{z-index:100;-webkit-backdrop-filter:saturate(180%)blur(16px);backdrop-filter:saturate(180%)blur(16px);background:#f5f8fcd6;border-bottom:1px solid #dbe5efeb;position:sticky;top:0}.nav{align-items:center;gap:18px;min-height:78px;display:flex}.logo{letter-spacing:.2px;align-items:center;gap:12px;min-width:max-content;font-size:1.18rem;font-weight:900;display:flex}.logo-mark{background:linear-gradient(135deg,var(--brand),var(--blue) 58%, var(--blue2));border-radius:14px;width:44px;height:44px;animation:3.2s ease-in-out infinite floaty;position:relative;overflow:hidden;box-shadow:0 12px 28px #2563eb38}.logo-mark:before,.logo-mark:after{content:"";background:#ffffffeb;border-radius:999px;position:absolute}.logo-mark:before{width:21px;height:21px;top:9px;left:9px}.logo-mark:after{opacity:.76;width:12px;height:12px;bottom:8px;right:8px}.nav-links{flex-wrap:wrap;gap:8px;display:flex}.nav-link{color:var(--muted);border-radius:999px;padding:10px 14px;font-weight:800;transition:background .18s,color .18s,transform .18s}.nav-link:hover,.nav-link.router-link-active{color:var(--brand);background:#0f766e14;transform:translateY(-1px)}.searchbar-wrap{flex:1;min-width:220px;position:relative}.searchbar{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:10px 15px;transition:border-color .18s,box-shadow .18s;display:flex}.searchbar.active{box-shadow:0 0 0 3px #14b8a61a,var(--shadow);border-color:#14b8a659}.searchbar input{width:100%;color:var(--text);background:0 0;border:none;outline:none}.search-dropdown{z-index:200;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lg);border-radius:20px;max-height:min(420px,60vh);padding:10px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:auto}.search-group+.search-group{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.search-group-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;font-size:.78rem;font-weight:900}.search-item{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;display:flex}.search-item:hover{background:#0f766e14}.search-item-name{font-weight:800;line-height:1.35}.search-item-meta{color:var(--muted);font-size:.82rem}.search-more{cursor:pointer;text-align:left;width:100%;color:var(--brand);background:0 0;border:none;border-radius:12px;margin-top:4px;padding:8px 12px;font-size:.88rem;font-weight:800}.search-more:hover{background:#0f766e0f}.search-dropdown-empty{color:var(--muted);text-align:center;padding:16px 12px;font-size:.92rem;line-height:1.6}.nav-actions{align-items:center;gap:10px;display:flex}.btn,.btn-secondary,.btn-ghost,.icon-btn,.chip,.seg-btn{cursor:pointer;border:none;transition:transform .18s,background .18s,color .18s,box-shadow .18s,border-color .18s}.btn:hover,.btn-secondary:hover,.btn-ghost:hover,.icon-btn:hover,.chip:hover,.seg-btn:hover{transform:translateY(-1px)}.btn{color:#fff;background:linear-gradient(135deg,var(--brand),var(--blue));border-radius:999px;padding:12px 18px;font-weight:900;animation:3.2s ease-in-out infinite pulse;position:relative;overflow:hidden;box-shadow:0 14px 34px #14b8a638}.btn:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff2e,#0000) 0 0/200% 100%;animation:3.2s linear infinite shimmer;position:absolute;inset:0}.btn-secondary,.btn-ghost,.seg-btn{background:var(--panel);border:1px solid var(--line);color:var(--text);box-shadow:var(--shadow);border-radius:999px;padding:11px 16px}.icon-btn{background:var(--panel);border:1px solid var(--line);width:46px;height:46px;box-shadow:var(--shadow);border-radius:999px;position:relative}.badge-count{background:var(--brand);color:#fff;border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.76rem;font-weight:900;display:grid;position:absolute;top:-4px;right:-4px}.layout{grid-template-columns:290px 1fr;align-items:start;gap:22px;padding:26px 0 44px;display:grid}.sidebar{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:28px;padding:20px;position:sticky;top:96px}.portal-badge{color:var(--brand);background:#0f766e14;border:1px solid #14b8a624;border-radius:999px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 12px;font-weight:900;display:inline-flex}.menu-group+.menu-group{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.sidebar h3{margin:0 0 14px}.side-link{color:var(--muted);border-radius:16px;align-items:center;gap:12px;padding:12px 14px;font-weight:800;transition:background .18s,color .18s,transform .18s;display:flex}.side-link:hover,.side-link.router-link-active{color:var(--brand);background:#0f766e14;transform:translate(2px)}.notice,.warn{border-radius:16px;padding:12px 14px;line-height:1.6}.notice{color:var(--brand);background:#0f766e14;border:1px solid #14b8a624}.warn{color:#b91c1c;background:#ef444414;border:1px solid #ef444424}.footer{padding:8px 0 44px}.footer-grid{background:var(--panel);border:1px solid var(--line);width:100%;box-shadow:var(--shadow);border-radius:28px;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:18px;padding:28px;display:grid}.footer-brand{min-width:0}.footer-logo{margin-bottom:0}.footer-tagline{color:var(--muted);margin:10px 0 0;font-size:.88rem;line-height:1.6}.footer-nav-col{grid-column:2/-1;min-width:0}.footer h4{margin:0 0 14px;font-size:1rem;font-weight:900}.footer-links{flex-wrap:wrap;gap:8px;display:flex}.footer-link{background:var(--panel2);border:1px solid var(--line);color:var(--muted);border-radius:999px;align-items:center;padding:8px 14px;font-size:.84rem;font-weight:800;transition:background .18s,color .18s,transform .18s,border-color .18s,box-shadow .18s;display:inline-flex;box-shadow:0 4px 14px #0f172a0a}.footer-link:hover,.footer-link.router-link-active{color:var(--brand);background:#0f766e14;border-color:#14b8a647;transform:translateY(-1px)}.footer-copy{text-align:center;color:var(--muted);letter-spacing:.02em;margin:14px 0 0;font-size:.78rem}@media (width<=1180px){.layout{grid-template-columns:1fr}.sidebar{position:static}}@media (width<=820px){.nav{flex-wrap:wrap;padding:14px 0}.searchbar-wrap{order:3;width:100%}.nav-links{order:4;width:100%}.nav-actions{margin-left:auto}.footer-grid{grid-template-columns:1fr 1fr;padding:22px}.footer-nav-col{grid-column:1/-1}}
