:root,[data-theme="light"]{--bg:#F5F6FA;--surface:#FFFFFF;--surface2:#EAEDF4;--surface3:#DEE3ED;--text:#18202C;--muted:#667085;--border:rgba(24,32,44,.12);--primary:#6758D9;--accent:#38BDF8;--pink:#F4728A;--amber:#8B7CF6;--sh:0 2px 8px rgba(53,64,94,.08),0 12px 32px rgba(53,64,94,.10);--sh2:0 1px 4px rgba(53,64,94,.07);--font:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
[data-theme="dark"]{--bg:#0D111A;--surface:#161C28;--surface2:#1D2533;--surface3:#252F40;--text:#F1F4F8;--muted:#98A4B5;--border:rgba(139,124,246,.16);--primary:#8B7CF6;--accent:#38BDF8;--pink:#F4728A;--amber:#8B7CF6;--sh:0 4px 16px rgba(0,0,0,.35),0 16px 48px rgba(0,0,0,.30);--sh2:0 2px 8px rgba(0,0,0,.25)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:radial-gradient(ellipse 78% 36% at 50% -8%,color-mix(in oklch,var(--primary) 16%,transparent),transparent),var(--bg);color:var(--text);min-height:100dvh}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}p,li{line-height:1.75}p+p{margin-top:.75rem}.wrap{width:min(1180px,calc(100% - 32px));margin:0 auto}
.header{position:sticky;top:0;z-index:50;background:linear-gradient(180deg,rgba(13,17,26,.97),rgba(13,17,26,.90));backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}html[data-theme="light"] .header{background:linear-gradient(180deg,rgba(245,246,250,.96),rgba(245,246,250,.92))}.header .wrap.head{width:min(1240px,calc(100% - 24px))}.head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0}.brand{grid-column:1;grid-row:1;display:flex;align-items:center;gap:10px;flex-shrink:0}.logo-wrap{width:42px;height:42px;border-radius:13px;overflow:hidden;background:linear-gradient(135deg,var(--primary),var(--accent));display:grid;place-items:center;box-shadow:var(--sh2);flex-shrink:0}.logo-wrap img{width:100%;height:100%;object-fit:cover}.logo-fallback{font-size:1.2rem}.brand-name{font-size:.95rem;font-weight:700;line-height:1.2}.brand-sub{font-size:.76rem;color:var(--muted)}.nav-links{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;min-width:0}.nav-links a{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:600;border:1px solid color-mix(in oklch,var(--c) 22%,var(--border));transition:all .18s;white-space:nowrap;color:var(--c);background:color-mix(in oklch,var(--c) 14%,var(--surface));--c:#8B7CF6;--g1:#8B7CF6;--g2:#38BDF8}.nav-links a:hover{background:color-mix(in oklch,var(--c) 22%,var(--surface));transform:translateY(-1px)}.nav-links a.active{background:linear-gradient(135deg,var(--g1),var(--g2));color:#fff!important;border-color:transparent;font-weight:700;box-shadow:0 4px 14px color-mix(in oklch,var(--g1) 34%,transparent);transform:translateY(-1px)}.header-actions{grid-column:3;grid-row:1;display:flex;align-items:center;gap:8px;flex-shrink:0}.toggle{width:36px;height:36px;border-radius:999px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--sh2);display:grid;place-items:center;color:var(--text);font-size:1rem;flex-shrink:0;transition:background .18s}.toggle:hover{background:var(--surface2)}
.hero{padding:44px 0 20px}.hero-main{padding:26px;border-radius:24px;background:linear-gradient(135deg,rgba(139,124,246,.18),rgba(56,189,248,.10));border:1px solid rgba(139,124,246,.24);box-shadow:var(--sh)}.eyebrow{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.dot{width:6px;height:6px;border-radius:50%;background:var(--primary)}h1{font-size:clamp(1.9rem,2.6vw,2.8rem);line-height:1.05;margin:14px 0 10px}h2{font-size:1.35rem;font-weight:850;line-height:1.2;color:var(--text)}h3{font-size:1rem;font-weight:800;line-height:1.3;color:color-mix(in oklch,var(--primary) 52%,var(--text))}.lead{color:var(--muted);max-width:72ch}.section{padding:18px 0 42px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}.section-head p{color:var(--muted);margin:8px 0 0}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch}.tool-link,.tool-panel{display:grid;gap:14px;align-content:start;padding:18px;border-radius:18px;background:linear-gradient(160deg,var(--surface),var(--surface2));border:1px solid var(--border);box-shadow:var(--sh2)}.tool-link{min-height:170px;transition:transform .18s,box-shadow .18s,border-color .18s}.tool-link:hover{transform:translateY(-2px);box-shadow:var(--sh);border-color:color-mix(in oklch,var(--primary) 36%,var(--border))}.tool-head{display:flex;align-items:flex-start;gap:12px}.tool-icon{width:42px;height:42px;flex:0 0 42px;border-radius:14px;display:grid;place-items:center;color:#fff;font-size:1.05rem;background:linear-gradient(135deg,var(--g1),var(--g2));--g1:#6758D9;--g2:#38BDF8}.tool-link h3,.tool-panel h2{margin:0}.tool-link p{color:var(--muted);font-size:.9rem;margin:4px 0 0}.tool-more{margin-top:auto;color:var(--primary);font-weight:900;font-size:.9rem}.tool-page{display:grid;gap:16px}.tool-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 14px;border-radius:13px;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;font-weight:900}.btn.secondary{background:var(--surface3);color:var(--text);border:1px solid var(--border)}.form-grid{display:grid;gap:10px;max-width:760px}.field{display:grid;gap:6px}.field label{font-size:.78rem;font-weight:800;color:color-mix(in oklch,var(--primary) 68%,var(--text))}.field input,.field select{width:100%;padding:10px 11px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);min-width:0}.result{min-height:58px;padding:12px;border-radius:14px;background:var(--surface3);border:1px solid var(--border);color:var(--text);font-weight:800}.result small{display:block;margin-top:4px;color:var(--muted);font-weight:600;line-height:1.45}.check-field{display:flex;align-items:center;gap:9px;padding:10px 11px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.9rem;font-weight:800}.check-field input{width:18px;height:18px;accent-color:var(--primary);flex:0 0 auto}.pc-result{display:grid;gap:9px}.pc-result table{width:100%;border-collapse:collapse;font-size:.88rem}.pc-result th,.pc-result td{padding:7px 6px;border-bottom:1px solid var(--border);text-align:right}.pc-result th:first-child,.pc-result td:first-child{text-align:left}.pc-result tr:last-child td{border-bottom:0}.pc-result .pc-note{color:var(--muted);font-size:.78rem;font-weight:600;line-height:1.45}.stack-tool{display:grid;gap:14px}.stack-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stack-legend-item{display:flex;gap:10px;align-items:flex-start;padding:11px;border-radius:12px;background:var(--surface);border:1px solid var(--border);font-size:.86rem;color:var(--muted)}.stack-mark{width:28px;height:28px;flex:0 0 28px;border-radius:9px;display:grid;place-items:center;font-weight:950;background:var(--surface3);border:1px solid var(--border)}.yes{color:#4d9b09}.plus{color:#2563eb}.no{color:#ef2222}.stack-table-wrap{width:100%;overflow:auto;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.stack-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:.8rem}.stack-table th,.stack-table td{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:4px;text-align:center;white-space:nowrap}.stack-table th{position:sticky;top:0;background:var(--surface2);z-index:1;color:var(--text);font-weight:900}.stack-table th:first-child{left:0;z-index:2;min-width:50px}.stack-table td:first-child{position:sticky;left:0;background:var(--surface2);text-align:center;font-weight:850;color:var(--text);min-width:50px}.stack-table tr:last-child td{border-bottom:0}.stack-item-icon,.stack-head-icon{width:44px;height:44px;object-fit:contain;image-rendering:pixelated;border-radius:10px;background:rgba(255,255,255,.08);border:1px solid var(--border);padding:3px;box-shadow:0 6px 14px rgba(0,0,0,.16)}.stack-head-icon{display:block;margin:0 auto}.stack-cell{font-size:1.2rem;font-weight:950;display:inline-grid;place-items:center;width:26px;height:26px}.footer{padding:22px 0 38px;color:var(--muted);font-size:.84rem;border-top:1px solid var(--border);margin-top:16px;text-align:center}
@media(min-width:761px) and (max-width:1300px){.nav-links{gap:3px}.nav-links a{padding-left:9px;padding-right:9px;font-size:.82rem}}
@media(max-width:980px){.tools-grid{grid-template-columns:1fr 1fr}.stack-legend{grid-template-columns:1fr}}
@media(max-width:760px){.head{grid-template-columns:minmax(0,1fr) auto}.brand{grid-column:1;grid-row:1}.header-actions{grid-column:2;grid-row:1}.nav-links{grid-column:1/-1;grid-row:2;justify-content:flex-start}.nav-links a{padding:6px 10px;font-size:.78rem}.hero-main{padding:18px}.section-head{align-items:flex-start;flex-direction:column}.tools-grid{grid-template-columns:1fr}.stack-table{min-width:900px}.stack-item-icon,.stack-head-icon{width:38px;height:38px}}
/* ashina-affinity-club-tool */
.affinity-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:16px;align-items:start}.club-picker{display:grid;gap:9px;max-height:760px;overflow:auto;padding:4px}.club-card{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;align-items:center;padding:11px;border-radius:14px;border:1px solid var(--border);background:var(--surface);text-align:left;color:var(--text);transition:transform .18s,border-color .18s,background .18s}.club-card:hover{transform:translateY(-1px);background:var(--surface2)}.club-card.active{border-color:color-mix(in oklch,var(--primary) 55%,var(--border));background:linear-gradient(135deg,color-mix(in oklch,var(--primary) 18%,var(--surface)),var(--surface2));box-shadow:var(--sh2)}.club-card strong{display:block;font-size:.92rem;color:var(--text);line-height:1.25}.club-card small{display:block;margin-top:2px;color:var(--muted);font-weight:700}.chaos-icon{width:32px;height:32px;display:inline-block;flex:0 0 32px;border-radius:9px;border:0;outline:1px solid var(--border);background-repeat:no-repeat;background-size:auto;image-rendering:pixelated;background-color:rgba(255,255,255,.08);box-shadow:0 5px 12px rgba(0,0,0,.16)}.chaos-icon.small{width:32px;height:32px;flex-basis:32px;border-radius:9px}.club-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}.club-stat{padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);display:grid;gap:3px}.club-stat span{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:850}.club-stat strong{font-size:1rem;color:var(--text)}.affinity-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.affinity-controls .check-field{align-self:end}.target-custom{display:none}.target-custom.visible{display:grid}.affinity-result-box{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.affinity-callout{padding:13px;border-radius:14px;border:1px solid var(--border);background:var(--surface3);font-weight:850}.affinity-callout small{display:block;color:var(--muted);font-weight:650;margin-top:4px;line-height:1.45}.affinity-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.affinity-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:.78rem;font-weight:800}.affinity-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 10px}.affinity-tab{padding:9px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--muted);font-weight:900}.affinity-tab.active{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;border-color:transparent}.affinity-section{display:none}.affinity-section.active{display:grid;gap:10px}.affinity-table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--border);background:var(--surface)}.affinity-table{width:100%;border-collapse:collapse;min-width:560px;font-size:.88rem}.affinity-table th,.affinity-table td{padding:10px;border-bottom:1px solid var(--border);text-align:right;vertical-align:middle}.affinity-table th:first-child,.affinity-table td:first-child{text-align:left}.affinity-table tr:last-child td{border-bottom:0}.affinity-name-cell{display:flex;align-items:center;gap:10px;min-width:230px}.affinity-muted{color:var(--muted);font-size:.82rem;font-weight:650}.reward-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.reward-card{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;padding:10px;border-radius:13px;border:1px solid var(--border);background:var(--surface)}.reward-card strong{display:block;font-size:.86rem}.reward-card small{display:block;color:var(--muted);font-weight:700;margin-top:2px}@media(max-width:980px){.affinity-layout{grid-template-columns:1fr}.club-picker{grid-template-columns:repeat(2,1fr);max-height:none}.club-summary,.affinity-controls,.affinity-result-box{grid-template-columns:1fr 1fr}.reward-grid{grid-template-columns:1fr}}@media(max-width:680px){.club-picker,.club-summary,.affinity-controls,.affinity-result-box{grid-template-columns:1fr}.affinity-table{min-width:620px}}
/* ashina-affinity-readable-npcs */
.chaos-club-icon{width:48px;height:48px;display:block;flex:0 0 48px;object-fit:contain;border-radius:6px;image-rendering:pixelated;box-shadow:0 5px 12px rgba(0,0,0,.16)}.chaos-club-icon.large{width:54px;height:54px;flex-basis:54px}.club-npc-list{margin-top:14px;display:grid;gap:9px}.club-npc-title{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}.club-npc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.club-npc-card{padding:10px 12px;border-radius:13px;border:1px solid var(--border);background:var(--surface);display:grid;gap:3px}.club-npc-card strong{font-size:.9rem;color:var(--text)}.club-npc-card span{font-size:.78rem;color:var(--muted);font-weight:750}@media(max-width:680px){.club-npc-grid{grid-template-columns:1fr}}