:root{--bg:#0e0e12;--panel:#18181e;--soft:#202028;--line:#34343e;--text:#f4f1f2;--muted:#b8b4bc;--accent:#d8425a;--accent2:#ff9aaa;--good:#78dda6}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 80% 0,#28151c 0,transparent 32rem),var(--bg);color:var(--text);font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic",sans-serif;line-height:1.75}
a{color:inherit}.age{margin:0;padding:8px 16px;background:#291419;color:#ffc5cd;text-align:center;font-size:12px;border-bottom:1px solid #73313b;overflow-wrap:anywhere}
.wrap,main,footer{width:min(100% - 32px,1080px);margin-inline:auto}header{border-bottom:1px solid var(--line);background:rgba(17,17,21,.92);backdrop-filter:blur(8px);position:sticky;top:0;z-index:10}.wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:14px 0}.brand{font-weight:900;text-decoration:none}nav{display:flex;flex-wrap:wrap;gap:14px;font-size:13px}nav a{color:var(--muted);text-decoration:none;transition:color .18s ease}nav a:hover,nav a:focus-visible{color:var(--accent2)}
main{padding:48px 0 64px}h1{margin:5px 0 12px;font-size:clamp(29px,5vw,48px);line-height:1.22}h2{margin:32px 0 12px;font-size:clamp(21px,4vw,30px);line-height:1.4}h1,h2,.card-body{overflow-wrap:anywhere}p{margin:0 0 12px}.eyebrow{color:var(--accent2);font-weight:850;font-size:13px;letter-spacing:.02em}.lead,.meta,.source-note,.ad-note,footer{color:var(--muted)}.hero{max-width:820px;margin-bottom:34px}.hero:before{content:"";display:block;width:64px;height:4px;margin-bottom:18px;border-radius:99px;background:linear-gradient(90deg,var(--accent),#ffb36b)}
.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:38px 0 16px}.section-heading h2{margin:0}.section-heading span{color:var(--muted);font-size:13px}.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:20px}.work-card{min-width:0;border:1px solid var(--line);border-radius:16px;background:linear-gradient(160deg,#1d1d24,var(--panel));overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.15);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.work-card:hover,.work-card:focus-within{transform:translateY(-3px);border-color:#71515a;box-shadow:0 18px 38px rgba(0,0,0,.26)}.card-media{display:block;overflow:hidden;background:#111}.card-media img,.work-visual img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.card-media img{transition:transform .2s ease}.work-card:hover .card-media img{transform:scale(1.02)}.card-body{padding:18px}.card-body h2{margin:3px 0 10px;font-size:19px}.card-body h2 a{text-decoration:none}.meta{font-size:12px}.text-link{display:inline-flex;gap:7px;align-items:center;color:#ffb1bd;font-weight:800;text-decoration:none}.text-link span{transition:transform .18s ease}.text-link:hover span,.text-link:focus-visible span{transform:translateX(3px)}
.media-placeholder{display:grid;width:100%;aspect-ratio:16/9;place-items:center;background:linear-gradient(135deg,#2b2228,#18181f);color:var(--muted);font-weight:800}.work-visual{overflow:hidden;margin:20px 0 34px;border:1px solid var(--line);border-radius:18px;background:#141419}.work-visual .media-placeholder{font-size:18px}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.theme-link{display:grid;gap:4px;padding:18px;border:1px solid var(--line);border-radius:13px;background:var(--panel);text-decoration:none;transition:transform .18s ease,border-color .18s ease,background .18s ease}.theme-link:hover,.theme-link:focus-visible{transform:translateY(-2px);border-color:#71515a;background:#202027}.theme-link span{color:var(--muted);font-size:13px}
.guide,.limitation,.official-box{margin:24px 0 30px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.guide h2,.limitation h2,.official-box h2{margin:0 0 6px;font-size:20px}.limitation{border-left:4px solid #8a6370}.review-list{padding-left:1.25em}.review-list li{margin:7px 0}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:18px 0}.facts div{padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.facts dt{color:var(--muted);font-size:12px}.facts dd{margin:2px 0 0;font-weight:750}.fit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0}.fit-grid>div{padding:18px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.fit-grid h2{margin:0 0 7px;font-size:20px}.source-note,.ad-note{font-size:12px}.official-box{margin-top:34px;background:linear-gradient(135deg,#251a1e,#1d1d24)}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.button{display:inline-block;padding:12px 18px;border:1px solid transparent;border-radius:9px;background:var(--accent);color:#fff;text-decoration:none;font-weight:900;transition:transform .18s ease,filter .18s ease,border-color .18s ease}.button:hover,.button:focus-visible{transform:translateY(-2px);filter:brightness(1.08)}.button.secondary{background:#30303a;border-color:#454550}.reveal{opacity:1;transform:none}.motion-ready .reveal:not(.is-visible){opacity:0;transform:translateY(8px)}.motion-ready .reveal{transition:opacity .3s ease,transform .3s ease}
footer{padding:28px 0 40px;border-top:1px solid var(--line);font-size:12px}.footer-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:10px}
@media(max-width:680px){header{position:static}.wrap{align-items:flex-start;flex-direction:column}.fit-grid{grid-template-columns:1fr}.theme-results{grid-template-columns:1fr}main{padding-top:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.motion-ready .reveal:not(.is-visible){opacity:1;transform:none}}
