@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600&display=swap');
:root{--bg:#f3f3f6;--paper:#fafafd;--ink:#171722;--muted:#777789;--line:#c9c9d5;--pink:#f2a9d2;--pink-soft:#f8d8e9;--blue:#b8cbe9;--purple:#c9b9e9;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:linear-gradient(rgba(90,90,110,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(90,90,110,.045) 1px,transparent 1px),var(--bg);background-size:24px 24px;font-family:"Space Grotesk",Arial,sans-serif;min-height:100vh}a{color:inherit}.site{width:min(calc(100% - 48px),var(--max));margin:auto}
.top{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none}.planet{width:38px;height:20px;border:2px solid var(--ink);border-radius:50%;position:relative;transform:rotate(-15deg)}.planet:after{content:"";position:absolute;left:-7px;top:6px;width:50px;height:7px;border:1px solid var(--ink);border-radius:50%}.brand strong{display:block;font:600 18px/1 "IBM Plex Mono",monospace;letter-spacing:.18em}.brand small{display:block;margin-top:5px;color:var(--muted);font:11px/1 "IBM Plex Mono",monospace;letter-spacing:.08em}.socials{display:flex;gap:8px}.socials a{width:42px;height:42px;display:grid;place-items:center;text-decoration:none;border:1px solid var(--line);background:#fafafdba;font:600 12px "IBM Plex Mono",monospace;transition:.15s}.socials a:hover{background:var(--pink-soft);transform:translateY(-2px)}
.layout{display:grid;grid-template-columns:220px 1fr;gap:34px;padding:0 0 44px;align-items:start}.sidebar{position:sticky;top:20px;align-self:start}.window{border:1px solid var(--line);background:#fafafdcc;box-shadow:4px 4px 0 #2828370a}.window-bar{height:31px;border-bottom:1px solid var(--line);padding:0 10px;display:flex;align-items:center;justify-content:space-between;font:11px "IBM Plex Mono",monospace;letter-spacing:.06em}.window-buttons{display:flex;gap:5px}.window-buttons i{display:block;width:10px;height:10px;border:1px solid var(--muted)}.nav{padding:9px}.nav a{display:flex;align-items:center;justify-content:space-between;padding:12px 10px;margin:2px 0;text-decoration:none;font:500 13px "IBM Plex Mono",monospace;border-left:3px solid transparent}.nav a:hover,.nav a.active{background:var(--pink-soft);border-left-color:#d96aa8}.nav a span:last-child{color:#9b9baa;font-size:10px}
.main{min-width:0;align-self:start}.hero{min-height:385px;height:385px;display:grid;grid-template-columns:1fr 1.02fr;border-bottom:1px solid var(--line);overflow:hidden;align-items:start}.hero-copy{padding:5px 18px 20px 8px;display:flex;flex-direction:column;justify-content:flex-start}.eyebrow{font:11px "IBM Plex Mono",monospace;letter-spacing:.14em;color:var(--muted);margin-bottom:20px}.logo{margin:0;font-family:Impact,"Arial Black",sans-serif;font-size:clamp(62px,8vw,108px);line-height:.72;letter-spacing:.015em;transform:skew(-7deg)}.tagline{margin:19px 0 0;font:12px "IBM Plex Mono",monospace;letter-spacing:.1em;color:#555565}.intro{max-width:430px;margin-top:29px;font:12px/1.65 "IBM Plex Mono",monospace}.intro b{font-weight:600}.hero-photo{height:385px;position:relative;display:flex;align-items:flex-start;justify-content:center;padding-top:2px}.hero-photo:before{content:"";position:absolute;inset:9% 0 0 8%;background:linear-gradient(145deg,#c2b8e98c,#b8cbe94d 50%,#f2a9d280);clip-path:polygon(10% 15%,82% 0,100% 75%,70% 100%,0 92%)}.hero-photo .placeholder{width:67%;height:380px;position:relative;z-index:1;border:1px solid var(--line);background:radial-gradient(circle at 55% 27%,#d8d8e0 0 9%,transparent 9.5%),radial-gradient(ellipse at 54% 60%,#3a3a45 0 24%,transparent 24.5%),linear-gradient(140deg,#dadbe4,#aeb0be 45%,#292a34);filter:grayscale(.35)}.hero-photo .placeholder:after{content:"YOUR PHOTO";position:absolute;left:16px;bottom:14px;font:10px "IBM Plex Mono",monospace;color:#ffffffe6;letter-spacing:.12em}.jpn{position:absolute;right:20px;top:55px;writing-mode:vertical-rl;font:12px "IBM Plex Mono",monospace;letter-spacing:.18em;color:#666678}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:28px 0}.card{text-decoration:none;border:1px solid var(--line);background:#fafafdba;padding:10px;transition:.15s}.card:hover{transform:translateY(-3px);background:#fff}.card-top{display:flex;justify-content:space-between;font:11px "IBM Plex Mono",monospace}.thumb{aspect-ratio:1.25/1;margin:10px 0 12px;position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,var(--purple),var(--blue) 55%,var(--pink))}.thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,#fff6,transparent 55%)}.thumb.anime{background:linear-gradient(135deg,#7779a4,#d2a8ca 55%,#eecbe0)}.thumb.games{background:linear-gradient(135deg,#c5c9d6,#73798f)}.thumb.collection{background:linear-gradient(135deg,#9e8c99,#ddd3d8 60%,#9da8bc)}.thumb.photo{background:linear-gradient(145deg,#30333f,#777c91 52%,#d9b8cf)}.card h2{font:600 14px "IBM Plex Mono",monospace;margin:0 0 5px}.card p{margin:0;color:var(--muted);font:10px/1.5 "IBM Plex Mono",monospace}
.page-title{border-bottom:1px solid var(--line);padding:35px 0 24px}.page-title h1{margin:0;font:600 clamp(38px,6vw,72px) "IBM Plex Mono",monospace;letter-spacing:-.07em}.page-title p{color:var(--muted);font:12px "IBM Plex Mono",monospace}.article{padding:25px 0;max-width:820px}.article h2{font:600 20px "IBM Plex Mono",monospace}.article p,.article li{font:14px/1.85 "IBM Plex Mono",monospace}.track{display:grid;grid-template-columns:45px 1fr auto;gap:15px;align-items:center;padding:16px 10px;border-bottom:1px solid var(--line);font-family:"IBM Plex Mono",monospace}.track:last-child{border-bottom:0}.track .num{color:var(--muted)}.track small{display:block;color:var(--muted);margin-top:4px}.badge{display:inline-block;padding:4px 7px;border:1px solid var(--line);background:var(--pink-soft);font:9px "IBM Plex Mono",monospace}.panel{border:1px solid var(--line);background:#fafafdbf}.panel .inside{padding:18px}.panel h2{font:600 13px "IBM Plex Mono",monospace;margin:0;letter-spacing:.08em}.update{display:grid;grid-template-columns:65px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid #dedee6;font:11px/1.5 "IBM Plex Mono",monospace}.update:last-child{border-bottom:0}.update time{color:var(--muted)}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.concert-photo{aspect-ratio:4/3;border:1px solid var(--line);background:linear-gradient(145deg,#292b35,#73778a 55%,#d1b5ca);position:relative}.concert-photo:after{content:"CONCERT PHOTO";position:absolute;left:10px;bottom:9px;color:#fff;font:9px "IBM Plex Mono",monospace;letter-spacing:.1em}.guest-form input,.guest-form textarea{width:100%;border:1px solid var(--line);background:#fff;padding:12px;margin-bottom:10px;font:12px "IBM Plex Mono",monospace}.guest-form textarea{min-height:130px;resize:vertical}.button{border:1px solid var(--ink);background:var(--ink);color:#fff;padding:11px 18px;font:11px "IBM Plex Mono",monospace;cursor:pointer}
@media(max-width:900px){.layout{grid-template-columns:1fr;padding:20px 0 44px}.sidebar{position:static}.nav{display:grid;grid-template-columns:repeat(4,1fr)}.hero{grid-template-columns:1fr}.hero-photo{min-height:430px}.cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.site{width:calc(100% - 24px)}.top{min-height:70px}.socials a{width:34px;height:34px}.socials a:nth-child(n+5){display:none}.nav{grid-template-columns:1fr}.hero-photo{min-height:350px}.cards{grid-template-columns:1fr}.photo-grid{grid-template-columns:1fr}.footer{display:none}}

.main-photo{width:67%;height:380px;display:block;position:relative;z-index:1;object-fit:cover;object-position:center 42%;border:1px solid var(--line);filter:grayscale(.15)}
.thumb img{width:100%;height:100%;display:block;object-fit:cover}
.thumb.anime img{object-position:center center}
.thumb.games img{object-position:center center}
.thumb.collection img{object-position:center center}
.thumb.photo img{object-position:center center}
@media(max-width:900px){.main-photo{width:78%;height:380px}}
