:root { --review-black:#070a12; --review-ink:#f6f0e2; --review-muted:#c1bdd7; --review-cyan:#96f5ff; --review-lime:#c4f55d; --review-violet:#400099; --review-pink:#f0478f; --review-orange:#ffb846; --review-line:rgba(246,240,226,.28); --review-mono:"IBM Plex Mono",monospace; --review-display:"Bodoni Moda",serif; --review-sans:"Noto Sans JP",sans-serif; }
* { box-sizing:border-box; } html { background:var(--review-black); scroll-behavior:smooth; } body { margin:0; color:var(--review-ink); background:radial-gradient(circle at 87% 0%,rgba(64,0,153,.42),transparent 25%),var(--review-black); font-family:var(--review-sans); } a { color:inherit; text-decoration:none; } p,h1,h2,h3 { margin:0; }.review-noise { position:fixed; z-index:10; inset:0; opacity:.045; pointer-events:none; mix-blend-mode:screen; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.review-header { display:grid; grid-template-columns:1fr auto 1fr; gap:15px; align-items:center; min-height:52px; padding:0 24px; border-bottom:1px solid var(--review-line); color:var(--review-muted); font-family:var(--review-mono); font-size:.56rem; letter-spacing:.09em; }.review-header p { text-align:center; }.review-header > p:last-child { color:var(--review-lime); text-align:right; }.review-return span { margin-right:7px; color:var(--review-lime); font-size:1.2rem; }.review-return:hover { color:var(--review-lime); }
.review-feature { max-width:1320px; margin:0 auto; border-right:1px solid var(--review-line); border-left:1px solid var(--review-line); }.review-masthead { position:relative; display:grid; grid-template-columns:minmax(0,1.13fr) minmax(290px,.7fr); min-height:630px; overflow:hidden; padding:clamp(58px,8vw,120px) clamp(25px,8vw,115px); background:radial-gradient(circle at 82% 52%,rgba(104,244,255,.18),transparent 22%),linear-gradient(122deg,#0c1325 0%,#1d1450 57%,#400099 100%); }.review-masthead::before { position:absolute; inset:0; content:""; opacity:.23; background-image:linear-gradient(rgba(213,218,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(213,218,255,.3) 1px,transparent 1px); background-size:33px 33px; }.review-masthead-copy { position:relative; z-index:1; align-self:center; }.review-eyebrow,.review-serial { color:var(--review-lime); font-family:var(--review-mono); font-size:.58rem; font-weight:600; letter-spacing:.11em; }.review-serial { margin-top:54px; color:var(--review-cyan); }.review-masthead h1 { max-width:860px; margin:16px 0 23px; color:#fff7e8; font-family:var(--review-display); font-size:clamp(2.5rem,5.5vw,5.9rem); font-weight:700; line-height:.67; letter-spacing:-.105em; text-shadow:4px 4px 0 var(--review-violet); }.review-record-title { max-width:800px; color:var(--review-orange); font-size:clamp(.92rem,1.7vw,1.35rem); font-weight:700; line-height:1.7; letter-spacing:.04em; }.review-lead { margin-top:23px; color:#e5e0f0; font-size:.92rem; line-height:1.9; }.review-byline { margin-top:31px; color:#d8d0e9; font-family:var(--review-mono); font-size:.57rem; letter-spacing:.07em; }
.review-album-art { position:relative; z-index:1; align-self:center; justify-self:end; display:grid; width:min(390px,29vw); min-width:260px; aspect-ratio:1; place-items:center; overflow:hidden; border:2px solid #f9ebc6; border-radius:50%; background:radial-gradient(circle at 50% 45%,#8026db,transparent 25%),linear-gradient(150deg,#1a143f,#02050d 62%); box-shadow:0 0 0 14px rgba(255,255,255,.06),0 0 95px rgba(108,67,255,.64); }.review-album-art::before { position:absolute; width:125%; height:32%; border:1px solid var(--review-lime); border-radius:50%; content:""; transform:rotate(-25deg); }.review-album-art::after { position:absolute; width:85%; height:115%; border:1px solid var(--review-pink); border-radius:50%; content:""; transform:rotate(28deg); }.review-album-art p { position:relative; z-index:1; color:#fff6df; font-family:var(--review-display); font-size:clamp(2.6rem,5vw,5rem); font-weight:700; line-height:.62; letter-spacing:-.13em; text-align:center; transform:rotate(-9deg); }.review-album-art p em { color:var(--review-lime); font-style:normal; text-shadow:3px 3px 0 var(--review-pink); }.review-album-art small { position:absolute; z-index:1; right:24px; bottom:23px; color:var(--review-cyan); font-family:var(--review-mono); font-size:.46rem; line-height:1.6; letter-spacing:.08em; text-align:right; }
.review-rule { display:flex; gap:12px; align-items:center; padding:12px 24px; border-top:1px solid var(--review-line); border-bottom:1px solid var(--review-line); color:var(--review-cyan); background:#0c0d18; font-family:var(--review-mono); font-size:.5rem; font-weight:600; letter-spacing:.1em; }.review-rule i { flex:1; height:1px; background:var(--review-line); }.review-reading { position:relative; display:grid; grid-template-columns:150px minmax(0,1fr); overflow:hidden; padding:clamp(55px,8vw,105px) clamp(24px,8vw,130px) 130px; background:radial-gradient(ellipse at 76% 9%,rgba(51,185,255,.28),transparent 23%),radial-gradient(ellipse at 12% 57%,rgba(82,35,236,.34),transparent 30%),radial-gradient(ellipse at 62% 61%,rgba(249,74,158,.18),transparent 42%),linear-gradient(140deg,#070a18,#151034 50%,#180d2b); }.review-reading::before { position:absolute; inset:0; content:""; opacity:.73; pointer-events:none; background-image:radial-gradient(circle at 8% 14%,#fff 0 1px,transparent 1.6px),radial-gradient(circle at 26% 53%,#b7eefa 0 1px,transparent 1.5px),radial-gradient(circle at 47% 13%,#fff 0 1px,transparent 1.7px),radial-gradient(circle at 66% 68%,#f9ccff 0 1px,transparent 1.6px),radial-gradient(circle at 89% 38%,#fff 0 1px,transparent 1.6px); background-size:230px 190px,330px 260px,410px 250px,290px 220px,370px 310px; }.review-side { position:relative; z-index:1; padding-right:26px; border-right:1px solid rgba(239,229,209,.36); color:#cbc6e1; font-family:var(--review-mono); font-size:.53rem; font-weight:600; line-height:1.8; letter-spacing:.08em; }.review-side strong { display:block; margin:47px 0; color:var(--review-lime); font-family:var(--review-display); font-size:4rem; line-height:.65; letter-spacing:-.1em; }.review-main { position:relative; z-index:1; max-width:840px; padding-left:clamp(28px,7vw,105px); }.review-index { display:grid; grid-template-columns:160px minmax(0,1fr); gap:25px; margin-bottom:70px; padding-bottom:28px; border-bottom:1px solid rgba(239,229,209,.42); }.review-index-heading p { color:var(--review-lime); font-family:var(--review-mono); font-size:.52rem; font-weight:600; letter-spacing:.08em; line-height:1.6; }.review-index-heading h2 { margin:9px 0 0; color:#fff5e1; font-family:var(--review-display); font-size:3.4rem; line-height:.72; letter-spacing:-.1em; }.review-index ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; margin:0; padding:0; list-style:none; counter-reset:review-index; }.review-index li { min-width:0; border-top:1px solid rgba(239,229,209,.24); counter-increment:review-index; }.review-index a { display:grid; grid-template-columns:25px minmax(0,1fr); gap:8px; align-items:baseline; padding:9px 0; color:#f5ebdf; font-size:.7rem; line-height:1.6; transition:color .18s,padding-left .18s; }.review-index a::before { content:counter(review-index,decimal-leading-zero); color:var(--review-lime); font-family:var(--review-mono); font-size:.48rem; font-weight:600; letter-spacing:.04em; }.review-index a:hover { padding-left:5px; color:var(--review-lime); }
.review-prose { max-width:730px; font-size:1.03rem; line-height:2.15; letter-spacing:.035em; }.review-prose p { margin:0 0 1.36em; }.review-prose h2 { margin:3.3em 0 1.15em; padding-top:.7em; border-top:2px solid rgba(239,229,209,.76); color:#fff5e1; font-size:1.45rem; line-height:1.65; letter-spacing:.05em; }.review-prose h2:first-child { margin-top:0; }.review-prose ul { margin:0 0 2em; padding-left:1.3em; }.review-prose li { margin:.55em 0; }.review-prose strong { color:var(--review-lime); }.review-signature { margin-top:4em !important; color:var(--review-lime); font-family:var(--review-mono); font-size:.72rem; font-weight:600; letter-spacing:.08em; }.review-footer { display:flex; gap:20px; align-items:center; justify-content:space-between; padding:20px clamp(24px,8vw,115px); border-top:1px solid var(--review-line); color:#c2b6dc; background:#10111c; font-family:var(--review-mono); font-size:.55rem; letter-spacing:.09em; }.review-footer a { display:inline-flex; gap:16px; align-items:center; padding:10px 14px; color:#131429; background:var(--review-orange); font-weight:600; }.review-footer a b { font-size:1rem; }.review-site-footer { display:flex; justify-content:space-between; padding:18px 24px; border-top:1px solid var(--review-line); color:#aaa0b7; font-family:var(--review-mono); font-size:.5rem; letter-spacing:.08em; }
@media (max-width:720px) { .review-header { grid-template-columns:1fr auto; padding:0 12px; font-size:.43rem; }.review-header > p:nth-child(2) { display:none; }.review-masthead { display:block; min-height:0; padding:64px 24px 50px; }.review-serial { margin-top:38px; }.review-masthead h1 { font-size:3.85rem; line-height:.64; }.review-record-title { font-size:.86rem; }.review-lead { font-size:.82rem; }.review-album-art { width:72vw; min-width:0; margin:55px auto 12px; }.review-reading { display:block; padding:60px 24px 80px; }.review-side { display:flex; gap:12px; align-items:center; justify-content:space-between; margin-bottom:34px; padding:0 0 12px; border-right:0; border-bottom:1px solid rgba(239,229,209,.36); }.review-side strong { margin:0; font-size:2.3rem; }.review-main { max-width:none; padding-left:0; }.review-index { display:block; margin-bottom:48px; }.review-index-heading { display:flex; gap:20px; align-items:end; justify-content:space-between; margin-bottom:22px; }.review-index-heading h2 { margin:0; font-size:2.8rem; }.review-index ol { grid-template-columns:1fr; }.review-prose { font-size:.98rem; line-height:2.05; }.review-prose h2 { margin-top:2.7em; font-size:1.27rem; }.review-footer { display:block; padding:20px 24px; }.review-footer a { margin-top:16px; font-size:.48rem; }.review-site-footer { padding:14px; font-size:.4rem; } }
