:root{--paper:#f6f4ee;--ink:#252d28;--muted:#626c65;--accent:#305741;--line:#dcded5}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Meiryo",sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #bc592b;outline-offset:5px}img{display:block;max-width:100%}.header,main,footer{width:min(1120px,calc(100% - 64px));margin:auto}.header{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.logo{font-size:22px;font-weight:800;letter-spacing:-.5px}.logo span{font-size:13px;font-weight:400;letter-spacing:1px;color:var(--muted)}nav{display:flex;gap:28px;font-size:13px}nav a:hover,footer a:hover{color:var(--accent);text-decoration:underline}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;padding:76px 0 88px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2.6px;color:var(--accent);margin:0 0 20px}h1{font-size:clamp(32px,4.1vw,54px);line-height:1.5;letter-spacing:-1.6px;margin:0 0 24px}.intro{font-size:14px;color:var(--muted);margin:0 0 30px}.button{display:inline-flex;align-items:center;gap:36px;background:var(--accent);color:white;padding:13px 23px;border-radius:4px;font-size:13px}.button:hover{background:#203f2d}.hero-art{margin:0;padding:18px;background:#e9eadf;border-radius:120px 120px 8px 8px}.hero-art img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:108px 108px 4px 4px}.hero-art figcaption{display:flex;justify-content:space-between;gap:12px;padding:13px 6px 0;font-size:12px}.hero-art figcaption span{font-size:9px;letter-spacing:1.8px;color:var(--muted)}.works{padding:0 0 76px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:5px}h2{font-size:27px;margin:0}.section-heading>p{font-size:12px;color:var(--muted);margin:0 0 5px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden}.thumbnail{height:235px;display:flex;position:relative;align-items:center;justify-content:center;overflow:hidden}.image-thumbnail{background:#e9eadf}.image-thumbnail img{width:100%;height:100%;object-fit:contain;transition:transform .25s}.thumbnail:hover img{transform:scale(1.04)}.attraction{background:#dee8df;color:#345341}.pinball{background:#eee0d2;color:#8c4d32}.graphic-label{font-family:Arial,sans-serif;font-size:58px;line-height:1;font-weight:900;letter-spacing:-3px;transform:rotate(-7deg)}.graphic-label span{display:block;font-size:34px;letter-spacing:0}.thumbnail-note{position:absolute;bottom:18px;left:20px;font-size:9px;letter-spacing:2px}.card-body{padding:24px}.category{font-size:10px;letter-spacing:2px;color:var(--muted);margin:0 0 8px}h3{font-size:18px;line-height:1.6;margin:0 0 12px}.card-body>p:not(.category){font-size:12px;color:var(--muted);margin:0 0 24px}.work-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;font-size:12px;font-weight:bold}.work-link:hover{color:var(--accent);text-decoration:underline}.about{padding:42px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eeeee5}.about .eyebrow{margin-bottom:10px}.about p:last-child{font-size:13px;color:var(--muted);margin-bottom:0}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:30px 0}footer>a:last-child{font-size:11px;color:var(--muted)}
@media(max-width:800px){.hero{gap:32px;padding:50px 0}.grid{gap:16px}.card-body{padding:18px}.thumbnail{height:190px}.graphic-label{font-size:44px}.graphic-label span{font-size:26px}.section-heading{align-items:start;flex-direction:column;gap:8px}}
@media(max-width:600px){.header,main,footer{width:calc(100% - 36px)}.header{align-items:start;gap:18px;flex-direction:column;padding:20px 0}nav{gap:22px;font-size:12px}.hero{grid-template-columns:1fr;gap:32px;padding:42px 0 52px}.hero-art{width:min(100%,360px);justify-self:center}.grid{grid-template-columns:1fr;gap:22px}.thumbnail{height:250px}.card-body{padding:24px}.works{padding-bottom:44px}.about{padding:28px 22px}.about h2{font-size:22px}footer{align-items:start;flex-direction:column}.graphic-label{font-size:58px}.graphic-label span{font-size:34px}}
.bowling{background:#dce5ef;color:#334e72}.hero-game{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1;border-radius:108px 108px 4px 4px}.hero-game .graphic-label{font-size:clamp(50px,6vw,78px)}.hero-game .graphic-label span{font-size:clamp(27px,3vw,40px)}.hero-game:hover{background:#cfdbeb}
.detail-page{padding-top:48px;padding-bottom:48px}.detail-page h1{font-size:clamp(30px,5vw,48px);margin-bottom:16px}.detail-page section{margin:32px 0}.page-links{margin:20px 0}.page-links a{text-decoration:underline}.game-frame{display:block;width:100%;aspect-ratio:16/9;border:1px solid var(--line);background:#151a17;border-radius:8px}.guide-panel{padding:28px;background:white;border:1px solid var(--line);border-radius:8px}.controls{border-collapse:collapse;width:100%;margin:22px 0;text-align:left}.controls caption{text-align:left;color:var(--muted);font-size:13px;padding-bottom:10px}.controls th,.controls td{padding:12px;border-bottom:1px solid var(--line)}.controls thead{background:var(--paper)}.note{font-size:12px;color:var(--muted)}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:600px){.grid{grid-template-columns:1fr}.guide-panel{padding:20px}.controls th,.controls td{padding:8px}}
.post-body{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:20px}.author-form{display:grid;gap:12px}.author-form input,.author-form textarea,.author-form select{width:100%;font:inherit;padding:10px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink)}.author-form button{justify-self:start}.author-form textarea{resize:vertical}button.button{border:0;font:inherit;cursor:pointer}.guide-panel h2{overflow-wrap:anywhere}
.work-image{max-height:540px;margin:24px auto;object-fit:contain}.thumbnail>img{width:100%;height:100%;object-fit:contain}.work-placeholder{font-size:26px;font-weight:bold;text-align:center;padding:24px;overflow-wrap:anywhere}.card h3{overflow-wrap:anywhere}
.header{gap:24px;flex-wrap:wrap}.header>nav{margin-left:auto}.social-links{display:flex;align-items:center;gap:10px}.social-icon{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;background:#fff;transition:background .2s,color .2s}.social-icon svg{width:19px;height:19px;fill:currentColor}.social-youtube{color:#c52323}.social-youtube .play-mark{fill:#fff}.social-icon[href]:hover{background:var(--accent);color:#fff}.social-icon[aria-disabled="true"]{cursor:default}@media(max-width:600px){.header{display:grid;grid-template-columns:1fr auto;gap:16px}.header>.logo{grid-column:1;grid-row:1}.header>.social-links{grid-column:2;grid-row:1}.header>nav{grid-column:1/-1;grid-row:2;margin-left:0;flex-wrap:wrap}.social-icon{width:36px;height:36px}.logo{font-size:20px}.logo span{font-size:11px}}
.tag-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:14px 0}.tag{font-size:12px;line-height:1.6;padding:4px 10px;border-radius:20px;background:#e8eee6;color:var(--accent);overflow-wrap:anywhere;max-width:100%}
.button[hidden]{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.image-thumbnail img{transition:none}}
