@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700;900&family=ZCOOL+KuaiLe&display=swap";:root{--bg:#151229;--bg-elev:#1e1a3a;--bg-card:#241f45;--line:#3a3266;--txt:#f3f0ff;--txt-dim:#a99fd6;--goose:#3ba9ff;--duck:#ff5470;--neutral:#b06bff;--accent:#ffd84e;--ad:#2a2552;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--trans-fast: .12s ease;--trans-base: .18s ease;--shadow-card: 0 4px 12px -2px rgba(0,0,0,.25);--shadow-glow: 0 10px 30px -10px rgba(176,107,255,.5)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(1000px 600px at 85% -8%,rgba(59,169,255,.22),transparent 60%),radial-gradient(900px 700px at 5% 5%,rgba(176,107,255,.18),transparent 55%),radial-gradient(800px 600px at 50% 110%,rgba(255,84,112,.18),transparent 55%),var(--bg);background-attachment:fixed;color:var(--txt);font-family:Noto Sans SC,sans-serif;min-height:100vh;line-height:1.6}a{color:inherit;text-decoration:none}header{position:sticky;top:0;z-index:50;background:#151229d1;backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{max-width:1240px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:28px}.logo{font-family:ZCOOL KuaiLe,cursive;font-size:24px;display:flex;align-items:center;gap:8px}.logo .mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--goose),var(--neutral),var(--duck));display:grid;place-items:center;font-size:17px;box-shadow:0 0 16px -2px #b06bff99}.nav-links{display:flex;gap:22px;font-size:15px;color:var(--txt-dim)}.nav-links a:hover,.nav-links a.on{color:var(--txt)}.nav-links a.on{color:var(--accent)}.lang-switch:not(.mobile){margin-left:auto}.lang-switch{display:flex;align-items:center;gap:2px;font-size:13px;color:var(--txt-dim);font-family:Noto Sans SC,sans-serif;white-space:nowrap}.lang-switch a{color:var(--txt-dim);padding:1px 5px;border-radius:4px;transition:color var(--trans-fast),background var(--trans-fast);text-decoration:none}.lang-switch a:hover{color:var(--accent)}.lang-switch a.active{color:var(--accent);font-weight:600}.lang-switch .sep{opacity:.45;padding:0 1px}@media (max-width: 920px){.lang-switch:not(.mobile){display:none}.lang-switch.mobile{display:flex;margin-top:8px;padding-top:8px;border-top:1px solid var(--line);font-size:14px}}.wrap{max-width:1240px;margin:0 auto;padding:0 24px}.ad.ad-top,.ad.ad-side{margin:16px auto;background:var(--ad);border:1px dashed var(--line);border-radius:var(--radius-sm);color:var(--txt-dim);font-size:12px;display:flex;align-items:center;justify-content:center;text-align:center}.ad.ad-top{width:min(728px,100%);min-height:90px}.ad.ad-side{width:min(300px,100%);min-height:600px}.crumb{font-size:13px;color:var(--txt-dim);margin-bottom:var(--space-4)}.crumb a:hover{color:var(--accent)}.nav-toggle{display:none;background:none;border:1px solid var(--line);color:var(--txt-dim);font-size:20px;width:40px;height:40px;border-radius:var(--radius-sm);align-items:center;justify-content:center;cursor:pointer;transition:var(--trans-fast)}.nav-toggle:hover{color:var(--accent);border-color:var(--accent)}@media (max-width:920px){.nav-links{display:none}.nav-toggle{display:flex}}.mobile-menu{position:fixed;top:0;right:0;bottom:0;width:260px;background:var(--bg-card);border-left:1px solid var(--line);transform:translate(100%);transition:transform var(--trans-base);z-index:60;padding:60px 20px 20px;display:flex;flex-direction:column;gap:8px;box-shadow:-10px 0 30px #00000080}.mobile-menu.open{transform:translate(0)}.mobile-menu a{display:block;padding:12px 16px;font-size:15px;color:var(--txt-dim);border-radius:var(--radius-sm);transition:var(--trans-fast)}.mobile-menu a:hover,.mobile-menu a.on{background:#ffffff0a;color:var(--txt)}.mobile-menu a.on{color:var(--accent)}.mobile-menu-close{position:absolute;top:16px;right:16px;background:none;border:none;color:var(--txt-dim);font-size:24px;cursor:pointer;line-height:1}.mobile-menu-close:hover{color:var(--accent)}.mobile-overlay{position:fixed;inset:0;background:#0009;opacity:0;pointer-events:none;transition:opacity var(--trans-base);z-index:55}.mobile-overlay.open{opacity:1;pointer-events:auto}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--space-4)}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--space-4);cursor:pointer;transition:transform .25s cubic-bezier(.23,1,.32,1),border-color var(--trans-fast),box-shadow .25s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden;display:block;box-shadow:var(--shadow-card)}.card:before{content:"";position:absolute;inset:0 0 auto;height:4px;transition:all .3s ease;opacity:.9}.card[data-camp=goose]:before{background:linear-gradient(90deg,var(--goose),#7ec8ff)}.card[data-camp=duck]:before{background:linear-gradient(90deg,var(--duck),#ff8fa3)}.card[data-camp=neutral]:before{background:linear-gradient(90deg,var(--neutral),#d4a3ff)}.card:hover{transform:translateY(-8px) scale(1.01);border-color:var(--accent)}.card[data-camp=goose]:hover{box-shadow:0 20px 50px -12px #3ba9ffd9,0 0 0 1px #3ba9ff4d}.card[data-camp=duck]:hover{box-shadow:0 20px 50px -12px #ff5470d9,0 0 0 1px #ff54704d}.card[data-camp=neutral]:hover{box-shadow:0 20px 50px -12px #b06bffd9,0 0 0 1px #b06bff4d}.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.avatar{width:52px;height:52px;border-radius:var(--radius-md);display:grid;place-items:center;font-size:28px;transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s ease}.card:hover .avatar{transform:scale(1.15) rotate(2deg);box-shadow:0 4px 12px #0000004d}.card[data-camp=goose] .avatar{background:#3ba9ff29}.card[data-camp=duck] .avatar{background:#ff547029}.card[data-camp=neutral] .avatar{background:#b06bff29}.avatar.portrait{border:2px solid rgba(255,255,255,.15);box-shadow:0 2px 8px #0003}.real-tag{position:absolute;top:8px;right:8px;font-size:10px;background:var(--accent);color:#151229;padding:2px 6px;border-radius:4px;font-weight:700}.badge{font-size:11px;font-weight:700;padding:4px 9px;border-radius:var(--radius-sm)}.badge.goose{background:#3ba9ff29;color:var(--goose)}.badge.duck{background:#ff547029;color:var(--duck)}.badge.neutral{background:#b06bff29;color:var(--neutral)}.card h3{font-size:18px;font-weight:700;margin-bottom:2px}.card .role-en{font-size:12px;color:var(--txt-dim);margin-bottom:10px}.card .desc{font-size:13.5px;color:var(--txt-dim);min-height:62px}.card-foot{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;align-items:center}.tag{font-size:11px;color:var(--txt-dim);background:var(--bg-elev);border:1px solid var(--line);padding:3px 9px;border-radius:var(--radius-sm)}.diff{margin-left:auto;font-size:13px;color:var(--accent);letter-spacing:1px}.knife{font-size:13px;vertical-align:middle}footer{border-top:1px solid var(--line);padding:var(--space-6) 0;color:var(--txt-dim);font-size:13px;text-align:center;margin-top:50px}footer .foot-links{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin-bottom:12px}footer .foot-links a{color:var(--txt-dim);transition:color var(--trans-fast)}footer .foot-links a:hover{color:var(--accent)}footer .foot-note{color:var(--txt-dim)}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.primary-btn,.ghost-btn{transition:transform var(--trans-fast),background var(--trans-fast),border-color var(--trans-fast)}.primary-btn:hover{transform:translateY(-1px)}.ghost-btn:hover{border-color:var(--accent);color:var(--accent)}.fade-in{animation:fadeIn .5s cubic-bezier(.23,1,.32,1) forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.hover-lift{transition:transform .3s cubic-bezier(.23,1,.32,1),box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px)}img{transition:transform .4s cubic-bezier(.23,1,.32,1),filter .4s ease,box-shadow .3s ease}.img-enhanced{border-radius:var(--radius-md);box-shadow:0 4px 15px -3px #0000004d}.img-enhanced:hover{transform:scale(1.03);filter:brightness(1.05) contrast(1.05);box-shadow:0 10px 25px -5px #0006}.map-preview img,.tile-art{transition:transform .5s cubic-bezier(.23,1,.32,1),filter .4s}.map-preview:hover img,.tile:hover .tile-art{transform:scale(1.06);filter:saturate(1.15) contrast(1.08)}@media (max-width:920px){.nav{padding:12px 16px}.wrap{padding:0 16px}.crumb{margin-bottom:10px}}
