:root{--ink:#233c36;--muted:#63746d;--paper:#fafbf7;--green:#245d4c;--mint:#e6efdf;--line:#dce4dc;--orange:#cd6948}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 -apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:6px}.wrap{max-width:1160px;margin:auto;padding:0 40px}header{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:30px!important;padding-bottom:25px!important;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:23px;font-weight:850;letter-spacing:.03em;line-height:1.35}.brand span{color:var(--green);font-weight:500}.brand small{display:block;font-size:12px;letter-spacing:0;margin-top:7px;font-weight:600}nav{display:flex;gap:25px;align-items:center;font-size:14px;font-weight:600}nav a{text-decoration:none}.nav-live{border:1px solid var(--line);border-radius:30px;padding:8px 17px}.intro{position:relative;padding:56px 0 48px}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:750;color:var(--green);margin:0 0 12px}h1{font-size:clamp(32px,4.2vw,52px);line-height:1.45;letter-spacing:-.035em;margin:0 0 18px}h1 span{color:var(--green)}p{color:var(--muted);margin:0 0 20px}.text-link{font-size:14px;font-weight:700}.intro-number{position:absolute;right:30px;top:45px;font-size:140px;font-weight:750;line-height:1;color:#e6efdf;letter-spacing:-.07em}.intro-number span{display:block;font-size:12px;letter-spacing:.12em;color:var(--muted);margin-top:18px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.section-title .eyebrow{margin-bottom:5px}h2{font-size:28px;line-height:1.5;margin:0;letter-spacing:-.025em}.count{font-size:14px;color:var(--muted)}.game-card{display:grid;grid-template-columns:1.05fr 1fr;background:white;border:1px solid var(--line);border-radius:20px;overflow:hidden}.game-art{position:relative;display:block;min-height:350px;background:var(--mint)}.game-art img{width:100%;height:100%;object-fit:cover;display:block;position:absolute}.image-label{position:absolute;bottom:15px;left:15px;background:#fafbf7ed;border-radius:20px;padding:4px 13px;font-size:12px}.game-body{padding:30px 34px}.tags{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap}.status{background:#fff0d9;color:#82562f;border:1px solid #eddbc0;padding:3px 12px;border-radius:20px}.game-body h3{font-size:29px;line-height:1.5;margin:17px 0 12px}.provisional{font-size:18px;font-weight:500}.game-body p{font-size:15px}.game-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:21px}.button{display:inline-flex;justify-content:space-between;gap:32px;align-items:center;background:var(--green);color:white;border-radius:10px;padding:14px 23px;text-decoration:none;font-size:15px;font-weight:650;box-shadow:0 5px 15px #245d4c12;transition:background .2s}.button:hover{background:#184737}.game-body .availability{font-size:12px;margin:11px 0 0}.notes{padding:65px 0}details{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;display:flex;align-items:center;gap:24px;padding:22px 0;list-style:none;font-weight:700}summary::-webkit-details-marker{display:none}summary time{font-size:13px;font-weight:500;color:var(--muted);font-variant-numeric:tabular-nums}summary b{margin-left:auto;font-size:24px;font-weight:400}details[open] summary b{transform:rotate(45deg)}.note-content{max-width:780px;padding:0 0 14px 117px;font-size:15px}.join{background:#eef2e7;border-radius:22px;padding:38px 42px;display:flex;align-items:center;justify-content:space-between;gap:30px}.join h2{margin-bottom:16px}.join p:last-child{margin:0;font-size:15px}.join .button{flex-shrink:0}footer{padding-top:45px!important;padding-bottom:35px!important;display:flex;justify-content:space-between;gap:20px;align-items:center}footer small,footer>a:last-child{font-size:12px;color:var(--muted)}.detail{max-width:860px;padding-top:35px;padding-bottom:70px}.back{font-size:14px;display:inline-block;margin-bottom:30px}.detail h1{margin-top:18px}.detail .lead{font-size:18px}.detail-image{width:100%;border-radius:18px;display:block;margin:25px 0 8px}.caption{font-size:12px}.detail section{padding:30px 0;border-bottom:1px solid var(--line)}.detail section h2{font-size:23px;margin-bottom:16px}.detail ul{padding-left:23px;color:var(--muted)}.notice{background:var(--mint);border-radius:14px;padding:23px;margin-top:28px}.notice p:last-child{margin:0}.detail .button{margin-top:25px}@media(max-width:750px){.wrap{padding-left:22px;padding-right:22px}header{align-items:flex-start;flex-direction:column;gap:20px}nav{width:100%;justify-content:space-between;gap:10px}.brand{font-size:21px}.intro{padding:34px 0}.intro-number{display:none}.intro p br{display:none}.game-card{grid-template-columns:1fr}.game-art{min-height:0;aspect-ratio:16/9}.game-body{padding:24px}.section-title{align-items:start;flex-direction:column;gap:8px}.game-body h3{font-size:26px}.notes{padding:42px 0}summary{flex-wrap:wrap;gap:6px 15px}summary time{width:100%}.note-content{padding-left:0}.join{padding:28px;align-items:start;flex-direction:column}.join .button{width:100%;gap:12px;font-size:14px}footer{align-items:start;flex-direction:column}.detail .lead{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep key labels readable on compact screens. */
.brand small{font-size:14px}.tags{font-size:14px}.game-meta{font-size:14px}.game-body .availability{font-size:14px}.detail .caption{font-size:14px}

.youtube-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#d90000;color:#fff;border:1px solid #d90000;box-shadow:0 5px 15px #d9000014}.youtube-button:hover{background:#b80000;border-color:#b80000}.youtube-icon{width:22px;height:22px;flex:none}.nav-live.youtube-button{border-radius:10px}.youtube-button span{min-width:0}

/* Actual gameplay thumbnail; keep the puzzle tiles prominent. */
.game-art img{object-position:center 68%}.detail-image{max-height:600px;object-fit:contain;background:#f6e8d3}

.game-card + .game-card{margin-top:24px}

.game-art[href="/game-02/"]{background:#faf1dd}.game-art[href="/game-02/"] img{object-fit:contain;object-position:center}

/* Compact, aligned collection cards. */
.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.game-grid .game-card{display:flex;flex-direction:column;min-width:0;margin:0;border-radius:18px}
.game-card>h3{font-size:24px;line-height:1.4;margin:0;padding:20px 24px}
.game-grid .game-art{min-height:0;aspect-ratio:16/10;border-block:1px solid var(--line)}
.game-grid .game-art img{object-fit:contain;object-position:center}
.game-grid .game-body{display:flex;flex-direction:column;flex:1;padding:20px 24px 24px;gap:16px}
.game-facts{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.game-facts .tags{gap:6px;font-size:12px}
.game-facts .tags span{padding:2px 10px;border-radius:20px;background:var(--mint);color:var(--green);font-weight:650}
.play-time{font-size:13px;white-space:nowrap;color:var(--muted);font-variant-numeric:tabular-nums}
.game-grid .game-body p{margin:0;font-size:14px;line-height:1.8}
.game-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:4px}
.game-actions .button{justify-content:center;gap:12px;padding:12px 8px;font-size:14px;line-height:1.5;min-height:46px;white-space:nowrap}
button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.rules-button{background:transparent;color:var(--green);border:1px solid #a9c2b5;box-shadow:none}
.rules-button:hover{background:var(--mint)}
.notes details+details{border-top:0}
.dialog-open{overflow:hidden}
#rulesDialog{width:min(640px,calc(100% - 32px));max-height:85dvh;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);padding:24px;overflow:auto;overscroll-behavior:contain}
#rulesDialog::backdrop{background:#132d2866}
.rules-heading{display:flex;align-items:start;gap:16px;justify-content:space-between;margin-bottom:18px}
.rules-heading h2{font-size:21px;line-height:1.5}
#rulesClose{flex-shrink:0;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:white;color:var(--ink);font-size:25px;line-height:1}
.portal-rules{padding:0;list-style:none;margin:0 0 22px;display:grid;gap:12px;font-size:14px;line-height:1.85}
.portal-rules li{padding-bottom:12px;border-bottom:1px solid var(--line)}
@media(max-width:600px){.game-grid{grid-template-columns:1fr;gap:20px}.game-card>h3{font-size:22px;padding:16px 20px}.game-grid .game-body{padding:18px 20px 20px}.game-grid .game-art{aspect-ratio:16/9}#rulesDialog{padding:20px}.rules-heading h2{font-size:18px}}
.game-grid .game-art[href="/game-01/"] img{object-fit:cover;object-position:center 68%}

/* 準備中の作品：サムネイルだけ載せ、「遊ぶ」は押せない */
.game-art[href="/game-04/"]{background:#fbe9cf}
.button.is-disabled{background:#c9d2cc;border-color:#c9d2cc;color:#fff;box-shadow:none;cursor:not-allowed;pointer-events:none;user-select:none}
.game-facts .tags span.soon{background:#f6ebc2;color:#7a5d0e}
.intro p br.keep{display:inline}
.notes-pager{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin-top:26px}.notes-pager button{font:inherit;font-size:14px;font-weight:650;color:var(--ink);background:white;border:1px solid var(--line);border-radius:10px;min-width:42px;height:42px;padding:0 12px;cursor:pointer}.notes-pager button:hover:not(:disabled){border-color:var(--green)}.notes-pager button[aria-current=page]{background:var(--green);border-color:var(--green);color:white}.notes-pager button:disabled{color:#b5c0ba;cursor:default}.notes-pager .gap{color:var(--muted);padding:0 4px}.notes-pager .step{padding:0 14px}
.notes details[hidden]+details:not([hidden]){border-top:1px solid var(--line)}
