:root{--bg:#07101d;--panel:#101c2e;--panel2:#14243a;--ink:#f4efe1;--muted:#aab6c7;--line:#2b3a50;--gold:#e8bd63;--teal:#65d0c3;--shadow:0 18px 55px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 80% -10%,#173456 0,transparent 35%),var(--bg);color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;line-height:1.75}button,input,select{font:inherit}button{color:inherit}a{color:inherit}main{overflow:hidden}.no-scroll{overflow:hidden}
.site-header{min-height:64px;padding:7px clamp(16px,4vw,48px);display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(7,16,29,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:20}.brand-name{font-family:"Yu Mincho","Noto Serif JP",serif;color:var(--ink);font-size:.95rem;font-weight:700;letter-spacing:.04em;text-decoration:none}.season{flex:0 0 auto;font-size:.78rem;color:var(--gold);border:1px solid #665633;border-radius:99px;padding:5px 10px}
.hero{padding:34px 20px 32px;max-width:1120px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);grid-template-areas:"copy logo";align-items:center;gap:clamp(24px,5vw,64px)}.hero-copy-column{grid-area:copy;min-width:0}.hero-logo{grid-area:logo;opacity:.76}.hero-logo img{display:block;width:100%;height:auto;max-width:480px;margin-inline:auto}.eyebrow{margin:0 0 8px;color:var(--gold);letter-spacing:.18em;font-size:.72rem;font-weight:800}.hero h1{font-family:"Yu Mincho","Noto Serif JP",serif;font-size:clamp(2rem,4.8vw,3.35rem);line-height:1.28;margin:0;letter-spacing:-.035em}.hero h1 span,.hero h1 em{display:block;white-space:nowrap}.hero h1 em{font-style:normal;color:var(--gold)}.hero-copy{color:var(--muted);max-width:680px;margin:14px 0 16px;font-size:1rem}.coverage{font-size:.9rem;color:var(--gold);margin:10px 0 2px}.snapshot{font-size:.75rem;color:var(--muted);margin:0}
.catalog{max-width:1120px;margin:auto;padding:34px 20px 54px;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading h2,.about h2{font-family:"Yu Mincho","Noto Serif JP",serif;font-size:clamp(1.7rem,4vw,2.4rem);margin:0;line-height:1.35}.result-count{font-size:.88rem;color:var(--muted);white-space:nowrap}.search-box{margin:24px 0 14px;min-height:52px;display:flex;align-items:center;gap:12px;background:#0b1626;border:1px solid var(--line);padding:0 16px;border-radius:12px;color:var(--gold)}.search-box input{border:0;outline:0;background:transparent;color:var(--ink);font-size:1rem;width:100%;min-width:0}.search-box input::placeholder{color:#738095}.search-box:focus-within{outline:3px solid var(--teal);outline-offset:3px}
.filter-panel{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:14px;background:rgba(16,28,46,.72);border:1px solid var(--line);border-radius:12px;margin-bottom:22px}.select-label{display:grid;gap:5px;min-width:150px;color:var(--muted);font-size:.78rem}.select-label[hidden]{display:none}.select-label select{width:100%;min-height:42px;background:var(--panel2);color:var(--ink);border:1px solid #40516b;border-radius:8px;padding:7px 34px 7px 10px}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.atlas-card{position:relative;border:1px solid var(--line);border-radius:15px;background:linear-gradient(155deg,var(--panel2),var(--panel));overflow:hidden;color:inherit;text-align:left;padding:0;cursor:pointer;box-shadow:0 8px 28px rgba(0,0,0,.16);transition:.2s transform,.2s border-color}.atlas-card:hover{transform:translateY(-3px);border-color:#64728a}.card-art{height:190px;display:grid;place-items:center;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#233d54,#101c2e)}.image-wrap{display:grid;place-items:center}.card-image{width:100%;height:100%}.image-wrap img{width:100%;height:100%;object-fit:contain;display:block}.image-wrap img[hidden],.image-fallback[hidden]{display:none}.image-fallback{color:var(--muted);font-size:.8rem;padding:16px}.relation{display:inline-flex;align-items:center;border-radius:5px;padding:4px 8px;font-size:.7rem;font-weight:800;letter-spacing:.03em}.card-art .relation{position:absolute;bottom:9px;right:9px;z-index:2}.relation.lore{background:#d8b561;color:#251b08}.relation.noorigin{background:#3d2f2f;color:#e0b9ad}.card-body{padding:13px;overflow-wrap:anywhere}.type-label{font-size:.72rem;color:var(--gold);letter-spacing:.08em}.card-body h3{font-size:1rem;line-height:1.45;margin:4px 0 7px}.card-tags,.detail-tags{display:flex;gap:5px;flex-wrap:wrap}.card-tag,.detail-tag{display:inline-flex;font-size:.72rem;padding:3px 7px;border:1px solid var(--line);border-radius:6px;color:var(--muted);line-height:1.4}.tier-lesser{border-color:#527089;color:#bbd2e3}.tier-greater{border-color:#8b6e36;color:#f0cd82}.card-body>p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.82rem;line-height:1.65;color:var(--muted);margin:10px 0 0}.empty{text-align:center;color:var(--muted);padding:50px}.load-more{display:block;margin:28px auto 0;min-height:44px;border:1px solid var(--gold);color:var(--gold);background:transparent;border-radius:9px;padding:10px 26px;font-size:.9rem;cursor:pointer}.load-more[hidden]{display:none}.text-button{background:transparent;color:var(--gold);border:0;text-decoration:underline;cursor:pointer}
.about{max-width:920px;margin:8px auto 60px;padding:0 20px;color:var(--muted);font-size:.95rem}.about h2{font-size:1.4rem;color:var(--ink)}footer{border-top:1px solid var(--line);padding:28px 20px 45px;text-align:center;color:#748196;font-size:.75rem}footer p{margin:.25rem 0}footer .footer-brand{color:var(--ink);font-weight:700}footer a{color:var(--gold)}
.detail-dialog{width:min(880px,calc(100% - 24px));max-width:none;max-height:92dvh;height:auto;margin:auto;border:1px solid var(--line);border-radius:22px;padding:0;background:#0b1626;color:var(--ink);box-shadow:var(--shadow);overflow:auto}.detail-dialog::backdrop{background:rgba(1,5,11,.77);backdrop-filter:blur(4px)}.detail-top{position:relative;display:grid;grid-template-columns:160px 1fr;align-items:center;gap:22px;background:radial-gradient(at top,#25435b,#111f30);padding:42px 28px 24px}.detail-top h2{font-family:"Yu Mincho","Noto Serif JP",serif;font-size:clamp(1.6rem,4vw,2.25rem);line-height:1.4;margin:12px 0 3px;overflow-wrap:anywhere}.detail-image{width:160px;height:210px}.english{font-size:.8rem;color:var(--muted);margin:0;overflow-wrap:anywhere}.close{position:absolute;right:14px;top:14px;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.3);color:#fff;font-size:1.35rem;cursor:pointer;z-index:4}.detail-body{padding:24px clamp(22px,5vw,52px)}.lead{max-width:68ch;font-size:1.08rem;font-weight:700;line-height:1.9;margin:18px auto 28px;color:var(--ink)}.detail-section{padding:24px 0;border-top:1px solid var(--line)}.detail-section h3{font-size:1rem;letter-spacing:.02em;color:var(--gold);margin:0 0 13px}.detail-section p{max-width:68ch;font-size:1rem;line-height:2;margin:0 auto 16px;color:#cbd3de}.ability{white-space:pre-line;line-height:1.8!important}.article-copy h3{max-width:68ch;margin-left:auto;margin-right:auto}.sources{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.sources summary{cursor:pointer;padding:18px 0;font-weight:700;font-size:.9rem;list-style:none}.sources summary::after{content:"＋";float:right;color:var(--gold)}.sources[open] summary::after{content:"−"}.sources ul{padding-left:22px}.sources li{margin-bottom:10px}.sources a,.card-links a{color:var(--gold);font-size:.9rem;overflow-wrap:anywhere}.no-origin-note{background:var(--panel);border-radius:10px;padding:20px;margin:20px 0}.no-origin-note h3{font-size:1rem;margin:0}.card-links{display:flex;gap:18px;flex-wrap:wrap;padding:24px 0}.form-grid{display:grid;gap:14px}.form-card{display:grid;grid-template-columns:120px 1fr;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.form-image{width:120px;height:158px}.form-card h4{font-size:.95rem;margin:8px 0}.form-card p{font-size:.9rem;margin:0;line-height:1.75}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
@media(min-width:700px){.card-grid{grid-template-columns:repeat(3,1fr);gap:18px}.card-art{height:230px}.card-body{padding:17px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1000px){.card-grid{grid-template-columns:repeat(4,1fr)}.card-art{height:245px}}
@media(max-width:900px){.hero{grid-template-columns:1fr;grid-template-areas:"logo" "copy";gap:18px;padding:24px 16px 26px}.hero-logo{width:min(82vw,440px);justify-self:center;opacity:.8}.hero h1{font-size:clamp(1.5rem,8vw,3.2rem)}}
@media(max-width:520px){.site-header{min-height:58px;padding-block:5px}.brand-name{font-size:.82rem}.season{font-size:.66rem;padding:4px 7px}.hero-copy{font-size:.9rem}.catalog{padding:28px 14px 46px}.section-heading{align-items:start}.filter-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px}.select-label{min-width:0}.card-grid{gap:9px}.card-art{height:160px}.card-body{padding:11px}.card-body h3{font-size:.9rem}.card-body>p{font-size:.75rem;-webkit-line-clamp:2}.detail-dialog{width:100%;max-height:94dvh;margin:auto 0 0;border-radius:20px 20px 0 0}.detail-top{grid-template-columns:115px 1fr;gap:13px;padding:42px 17px 18px}.detail-image{width:115px;height:155px}.detail-body{padding:18px}.form-card{grid-template-columns:96px 1fr;padding:10px}.form-image{width:96px;height:128px}.detail-section p{font-size:.95rem}.lead{font-size:1rem}}
@media(max-width:350px){.season{display:none}.filter-panel{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr}.card-art{height:230px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
