:root{color-scheme:light;--paper:#f7f5ee;--ink:#192a2e;--mint:#b9f2d4;--orange:#fcb877;--accent:var(--mint);font-family:Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}body{margin:0}body.dialog-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}a{color:inherit}button:disabled{cursor:default;opacity:.45}[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline:3px solid #087559;outline-offset:4px}p,h1,h2,h3{margin:0}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.site-header{max-width:1180px;margin:auto;padding:22px 23px 8px;display:flex;align-items:center;justify-content:space-between;gap:12px;height:85px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none}.brand img{width:36px;height:36px}.brand-type{display:grid;gap:4px}.brand-en{font-size:24px;font-weight:900;letter-spacing:-1.2px}.brand-en>span{color:#159470}.brand-ja{font-size:9px;letter-spacing:3px;font-weight:bold}
.arcade{max-width:1180px;margin:auto;min-height:calc(100svh - 85px);display:flex;flex-direction:column;justify-content:center;padding:0 0 max(25px,env(safe-area-inset-bottom));--accent:var(--mint)}.arcade[data-theme=wari]{--accent:var(--orange)}.deck-stage{height:clamp(400px,62svh,580px);position:relative;overflow:hidden;overflow:clip;touch-action:pan-y;cursor:grab;isolation:isolate;--card-width:300px;--card-height:339px;--wind:0}.deck-stage.is-dragging{cursor:grabbing}.deck-track{position:absolute;inset:0;user-select:none;-webkit-user-select:none}.cartridge{position:absolute;left:0;top:0;width:var(--card-width);height:var(--card-height);padding:19px 12px 23px;border:1.5px solid var(--ink);border-radius:16px 16px 10px 10px;background:var(--mint);box-shadow:0 5px 0 var(--ink),0 13px 14px #192a2e0c;display:flex;flex-direction:column;align-items:flex-start;overflow:hidden;will-change:transform;transform-origin:center;contain:layout paint style;text-align:left}.cartridge[data-theme=wari]{background:var(--orange)}.cartridge-ridges{height:5px;width:54px;position:absolute;right:16px;top:8px;border-top:1px solid #192a2e45;border-bottom:1px solid #192a2e45}.cartridge-image{width:100%;height:calc((var(--card-width) - 27px)*.625);object-fit:cover;border:1px solid var(--ink);border-radius:4px;pointer-events:none;background:var(--ink)}.cartridge-genre{font-size:9px;font-weight:700;border:1px solid #192a2e60;border-radius:20px;padding:3px 7px;margin:12px 1px 7px}.cartridge-title{font-size:clamp(15px,4.25vw,21px);font-weight:900;line-height:1.4;letter-spacing:-.7px;margin:0 1px;white-space:nowrap}.cartridge-summary{font-size:clamp(10px,2.8vw,13px);line-height:1.5;margin:6px 1px 0;white-space:nowrap;letter-spacing:-.2px}.cartridge-author{font:10px monospace;margin:13px 1px 0;letter-spacing:.9px}.cartridge-contacts{position:absolute;bottom:0;left:28%;height:9px;width:44%;background:repeating-linear-gradient(90deg,#deac42 0,#deac42 8px,#78643a 8px,#78643a 9px);border:1px solid var(--ink);border-bottom:0;border-radius:4px 4px 0 0}
.wind-orbit{position:absolute;inset:0;pointer-events:none;z-index:-1}.wind-orbit span{position:absolute;width:128%;height:33%;left:-14%;top:53%;border:1px solid #adbcb342;border-radius:50%;transform:rotate(-9deg)}.wind-orbit span:nth-child(2){top:51%;height:37%;width:134%;left:-17%;border-style:dashed;opacity:.55}.wind-orbit span:nth-child(3){height:29%;top:55%;opacity:.45}.wind-streaks{position:absolute;inset:0;width:100%;height:100%;z-index:25;pointer-events:none;opacity:var(--wind);transform:translateX(calc(var(--wind)*-18px))}.wind-streaks path{fill:none;stroke:#159470;stroke-width:1.8;stroke-linecap:round;stroke-dasharray:65 55 18 160;stroke-dashoffset:calc(var(--wind)*-200px)}.is-spinning .wind-streaks path{animation:wind-flow .4s linear infinite}.deck-console{display:flex;justify-content:center;align-items:center;gap:43px;padding-top:13px;min-height:126px}.direction-button{width:44px;height:44px;border:1px solid #c4cbbd;background:transparent;border-radius:50%;font-size:20px}.direction-button:active{background:var(--accent);transform:scale(.94)}.wind-button{position:relative;display:flex;flex-direction:column;align-items:center;gap:15px;border:0;background:none;padding:13px 18px 7px;min-width:92px;min-height:100px}.pinwheel{width:43px;height:43px;position:relative;z-index:1;overflow:visible}.wind-label{font-size:10px;font-weight:bold;letter-spacing:1px}.wind-ring{position:absolute;left:12px;top:3px;width:68px;height:68px;border:1px solid #a6b9a6;border-top-color:transparent;border-radius:50%;pointer-events:none}.wind-ring:after{content:"";position:absolute;right:6px;top:8px;width:5px;height:5px;border-top:1px solid #799479;border-right:1px solid #799479;transform:rotate(-8deg)}.wind-button:active .pinwheel{scale:.9}.wind-button[aria-busy=true]{opacity:1}.is-spinning .wind-ring{border-color:#159470;border-top-color:transparent;box-shadow:0 0 0 7px #b9f2d440}.is-spinning .wind-label{color:#087559}
.game-dialog{width:min(480px,calc(100% - 24px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid var(--ink);border-radius:16px;background:var(--paper);color:var(--ink);box-shadow:0 15px 70px #192a2e35;overflow:auto;overscroll-behavior:contain;--accent:var(--mint)}.game-dialog[data-theme=wari]{--accent:var(--orange)}.game-dialog::backdrop{background:#192a2e80}.dialog-inner{position:relative}.game-dialog[open]{animation:sheet-in .22s cubic-bezier(.2,.7,.2,1)}.dialog-close{position:absolute;right:10px;top:10px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid #192a2e30;border-radius:50%;background:#f7f5eef2;font-size:25px}.detail-art{position:relative;background:var(--ink);overflow:hidden}.detail-art>img{display:block;width:100%;height:auto;aspect-ratio:1.6;object-fit:cover}.scene-buttons{position:absolute;bottom:2px;left:0;right:0;display:flex;justify-content:center;gap:0}.scene-buttons button{width:44px;height:44px;border:0;background:none;display:grid;place-items:center}.scene-buttons span{width:7px;height:7px;background:#ffffff75;border-radius:50%;box-shadow:0 0 0 1px #192a2e60}.scene-buttons button[aria-pressed=true] span{background:var(--accent);width:16px;border-radius:4px}.detail-body{padding:22px}.detail-meta{display:flex;align-items:center;gap:10px;margin-bottom:11px}#detail-genre{font-size:10px;padding:4px 8px;border:1px solid #c5d0bf;border-radius:20px;background:var(--accent)}#detail-author{font:10px monospace;letter-spacing:1px}#detail-title{font-size:24px;font-weight:900;letter-spacing:-.7px;line-height:1.35}#detail-description{font-size:13px;line-height:1.7;margin-top:11px}#detail-controls{font-size:11px;color:#637368;line-height:1.7;margin-top:6px}.selected-play{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px 17px;text-decoration:none;border:1.5px solid var(--ink);border-radius:8px;background:var(--accent);box-shadow:0 3px 0 var(--ink);font-size:17px;font-weight:900;margin-top:20px}.selected-play>span:last-child{font-size:25px}.selected-play:active{transform:translateY(2px);box-shadow:0 1px 0 var(--ink)}
.fallback{max-width:900px;padding:30px 22px;margin:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.game-card{background:#fffdf6;border:1px solid #cad1c0;border-radius:10px;overflow:hidden}.game-art img{width:100%;height:auto;display:block}.game-art{position:relative}.game-number{display:none}.genre-label{position:absolute;bottom:8px;left:10px;padding:5px;background:var(--paper);font-size:10px}.game-body{padding:18px}.creator{font:11px monospace}.creator-mark,.creator-line{display:none}.game-card h3{font-size:21px;margin-top:12px}.game-description,.game-controls{font-size:12px;line-height:1.6;margin-top:8px}.play-button{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:10px;background:var(--mint);margin-top:15px;text-decoration:none;border:1px solid var(--ink);border-radius:6px}.theme-wari .play-button{background:var(--orange)}.play-en{display:none}
@keyframes wind-flow{to{stroke-dashoffset:-350}}@keyframes sheet-in{from{opacity:0;transform:translateY(25px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:699px){.fallback{grid-template-columns:1fr}.game-dialog{margin:auto auto max(12px,env(safe-area-inset-bottom));max-height:calc(100dvh - 35px)}}@media(max-width:359px){.site-header{padding-left:16px;padding-right:12px}.brand-en{font-size:21px}.brand img{width:30px;height:30px}.deck-console{gap:29px}.cartridge-summary{font-size:10px}.detail-body{padding:18px}#detail-title{font-size:21px}}@media(min-width:700px){.site-header{height:98px;padding-top:27px}.arcade{min-height:calc(100svh - 98px)}.deck-stage{height:clamp(450px,65svh,620px)}.cartridge-title{font-size:21px}.cartridge-genre{font-size:10px}.cartridge-author{font-size:11px}.deck-console{gap:68px;padding-top:22px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.cartridge{will-change:auto}}
/* 正面の1枚だけに、固定サムネイルと同じ寸法で動画を重ねる。 */
.cartridge-preview{position:absolute;left:12px;top:19px;width:calc(100% - 24px)}
