:root{color-scheme:dark;--gold:#e5bd64;--ink:#071019;--panel:#101d27;--text:#eaf0f2;--muted:#93a5ae}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#071019;color:var(--text);font-family:"Noto Sans JP",system-ui,sans-serif}.content-header{position:sticky;top:0;z-index:20;border-bottom:1px solid #ffffff14;background:#071019e8;backdrop-filter:blur(16px)}.content-header__inner{width:min(1160px,calc(100% - 32px));height:76px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.content-header img{display:block;width:150px;height:58px;object-fit:contain}.content-header nav{display:flex;gap:10px}.content-header a{color:inherit;text-decoration:none}.content-header nav a{padding:10px 14px;border:1px solid #ffffff18;border-radius:999px;color:#cbd6da;font-size:13px}.content-hero{position:relative;overflow:hidden;padding:clamp(70px,10vw,130px) 20px 60px;background:radial-gradient(circle at 50% 20%,#7f5a252d,transparent 38%),linear-gradient(180deg,#101d27,#071019);text-align:center}.content-hero::before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(30deg,#e5bd6415 12%,transparent 12.5%,transparent 87%,#e5bd6415 87.5%),linear-gradient(150deg,#e5bd6415 12%,transparent 12.5%,transparent 87%,#e5bd6415 87.5%);background-size:70px 122px}.content-hero>*{position:relative}.content-eyebrow{margin:0 0 12px;color:var(--gold);font-size:12px;font-weight:900;letter-spacing:.22em}.content-hero h1{margin:0;font-family:serif;font-size:clamp(34px,6vw,72px)}.content-hero__lead{max-width:780px;margin:22px auto 0;color:#b8c5ca;line-height:1.9;white-space:pre-wrap}.content-main{width:min(1040px,calc(100% - 32px));margin:0 auto;padding:54px 0 100px}.empty-state{min-height:280px;padding:35px;border:1px solid #ffffff16;border-radius:18px;background:#101d27;display:grid;place-items:center;text-align:center;color:var(--muted)}.rules-tree{display:grid;gap:14px}.rule-accordion{overflow:hidden;border:1px solid #e5bd6430;border-radius:15px;background:linear-gradient(135deg,#14232d,#0d1821);box-shadow:0 20px 45px #0003}.rule-accordion .rule-accordion{margin:0 18px 16px;border-color:#ffffff14;background:#0a151d;box-shadow:none}.rule-accordion summary{position:relative;padding:20px 58px 20px 22px;cursor:pointer;list-style:none;color:#f2dfaa;font-size:clamp(16px,2vw,21px);font-weight:900}.rule-accordion summary::-webkit-details-marker{display:none}.rule-accordion summary::after{content:"＋";position:absolute;right:22px;top:50%;transform:translateY(-50%);color:var(--gold);font-size:22px}.rule-accordion[open]>summary::after{content:"−"}.rule-accordion[open]>summary{border-bottom:1px solid #ffffff10}.rule-accordion__content{padding:0 22px 20px}.rule-accordion__content>p{margin:18px 0;color:#c3cfd4;line-height:2;white-space:pre-wrap}.rule-children{display:grid;gap:12px;margin-top:16px}.villain-body{background:#08090a;color:#e8e5df}.villain-hero{min-height:420px;padding:90px 20px 60px;background:radial-gradient(circle at 50% 35%,#b80d222b,transparent 38%),linear-gradient(145deg,#140d10,#050607);display:grid;place-items:center;text-align:center}.villain-hero__inner{max-width:850px}.villain-hero h1{margin:10px 0;color:#f0e7d8;font-family:serif;font-size:clamp(42px,8vw,92px);text-shadow:0 7px 28px #000}.villain-hero p{white-space:pre-wrap;color:#b8aaa4;line-height:1.9}.villain-mark{color:#e33b4f;font-size:12px;font-weight:900;letter-spacing:.25em}.villain-main{width:min(1020px,calc(100% - 32px));margin:auto;padding:55px 0 100px}.villain-story{padding:clamp(22px,4vw,50px);border:1px solid #72253266;border-radius:18px;background:linear-gradient(145deg,#171214,#0c0d0e);box-shadow:0 26px 70px #0006}.story-heading{margin:42px 0 14px;padding-bottom:10px;border-bottom:1px solid #b32a3d55;color:#f0d6b2;font-family:serif;font-size:clamp(25px,4vw,38px)}.story-heading:first-child{margin-top:0}.story-subheading{margin:30px 0 12px;color:#e0b36e;font-size:clamp(18px,2.5vw,24px)}.story-text{margin:0 0 24px;color:#c8bfb7;line-height:2;white-space:pre-wrap}.story-text strong,.story-list strong{color:#ffe09b}.story-text a,.story-list a{color:#e46e7d}.story-list{margin:0 0 24px;padding:20px 22px 20px 46px;border:1px solid #7b293555;border-radius:12px;background:#2a111755;color:#d0c7c0;display:grid;gap:10px;line-height:1.8}.story-image{margin:26px 0}.story-image img{display:block;width:100%;max-height:760px;border-radius:13px;object-fit:contain;background:#050607}.story-image figcaption{margin-top:8px;color:#766f6b;font-size:12px;text-align:center}.story-link{margin:24px 0;padding:18px;border:1px solid #7b293566;border-radius:13px;background:#100b0d;display:grid;gap:6px;color:inherit;text-decoration:none}.story-link small{color:#d35163}.story-link p{margin:0;color:#928783}.villain-shops{margin-top:65px}.villain-shops>h2{text-align:center;font-family:serif;font-size:clamp(30px,5vw,50px)}.villain-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.villain-shop{overflow:hidden;border:1px solid #7b293555;border-radius:16px;background:#121011}.villain-shop__image{aspect-ratio:3/2;background:repeating-linear-gradient(135deg,#1c1517,#1c1517 12px,#120e0f 12px,#120e0f 24px);display:grid;place-items:center;color:#776c67}.villain-shop__image img{width:100%;height:100%;object-fit:contain}.villain-shop__copy{padding:22px}.villain-shop__copy small{color:#e04d60}.villain-shop__copy h3{margin:7px 0;font-size:22px}.villain-shop__copy p{color:#aaa09a;line-height:1.8;white-space:pre-wrap}.villain-shop__location{display:block;padding-top:13px;border-top:1px solid #ffffff0f;color:#d8b46d}.villain-video{margin:25px 0;aspect-ratio:16/9}.villain-video iframe,.villain-video video{width:100%;height:100%;border:0;border-radius:13px}.page-footer{padding:28px;text-align:center;color:#687983;border-top:1px solid #ffffff0e}.page-footer a{color:var(--gold)}
@media(max-width:700px){.content-header__inner{height:66px}.content-header img{width:120px;height:48px}.content-header nav a:first-child{display:none}.content-main,.villain-main{width:min(100% - 22px,1040px);padding-top:30px}.rule-accordion summary{padding:17px 48px 17px 17px}.rule-accordion .rule-accordion{margin:0 10px 10px}.rule-accordion__content{padding:0 13px 13px}.villain-shop-grid{grid-template-columns:1fr}}
