@charset "UTF-8";
:root{color-scheme:light;--paper:#f8f6ee;--white:#fffef9;--ink:#153344;--muted:#49616b;--teal:#176b68;--teal-light:#e1eeea;--yellow:#f2c85c;--yellow-light:#fff1c9;--line:#d6ded6;--red:#a23531;--radius:22px;--shadow:0 5px 0 rgb(21 51 68 / 6%)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"BIZ UDPGothic","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:18px;line-height:1.85;overflow-wrap:anywhere}a{color:var(--teal);text-underline-offset:.25em;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}:focus-visible{outline:3px solid #a14513;outline-offset:5px;border-radius:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.5;letter-spacing:.025em}h1{font-size:clamp(32px,4.8vw,58px)}h2{font-size:clamp(25px,3vw,32px)}h3{font-size:23px}p:last-child{margin-bottom:0}img{max-width:100%}svg{flex-shrink:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:16px;z-index:20;background:var(--ink);color:white;padding:10px 18px}.skip-link:focus{top:12px}.site-header,.page-main,.footer-inner{width:min(1180px,calc(100% - 64px));margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:113px;padding-block:20px;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;flex-shrink:0;line-height:1.3}.brand-name{font-size:22px;font-weight:800;letter-spacing:.05em}.brand-name small{display:block;font-size:13px;letter-spacing:.18em;margin-bottom:4px}.brand-mark{width:45px;height:45px;border-radius:13px 13px 13px 4px;background:var(--teal);display:grid;grid-template-columns:repeat(2,8px);align-content:center;justify-content:center;gap:6px;transform:rotate(-7deg)}.brand-mark i{width:8px;height:8px;border-radius:50%;background:var(--yellow)}.site-nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px 26px}.site-nav a{color:var(--ink);text-decoration:none;padding:8px 0;font-size:18px;font-weight:700;border-bottom:2px solid transparent}.site-nav a:hover,.site-nav a[aria-current="page"]{border-color:var(--teal)}.site-nav .nav-about{color:var(--teal)}.page-main{padding-block:48px 88px}.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:center;padding-block:15px 56px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:.08em;color:var(--teal);margin-bottom:18px}.eyebrow::before{content:"";width:8px;height:8px;background:var(--teal);border-radius:50%}.hero h1{margin-bottom:20px;font-size:clamp(35px,4.5vw,56px);line-height:1.55;letter-spacing:.04em}.hero h1 em{font-style:normal;background:linear-gradient(transparent 75%,var(--yellow) 75%,var(--yellow) 92%,transparent 92%)}.hero-text{color:var(--muted);font-size:20px;margin-bottom:26px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}.button{min-height:54px;display:inline-flex;justify-content:center;align-items:center;gap:14px;background:var(--teal);border:2px solid var(--teal);border-radius:12px;color:white;font-weight:700;font-size:20px;padding:11px 23px;line-height:1.5;text-decoration:none}.button:hover{background:#105653;border-color:#105653;text-decoration:none}.button-secondary{background:transparent;color:var(--teal)}.button-secondary:hover{background:var(--teal-light);border-color:var(--teal)}.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:700}.arrow{font-family:sans-serif;font-size:25px;line-height:1}.guide-art{position:relative;min-height:348px;display:grid;place-items:center;padding:24px}.guide-art::before{content:"";position:absolute;inset:6% 0 1% 0;border-radius:48% 48% 44% 42%;background:#e6ece0;transform:rotate(6deg)}.guide-card{position:relative;width:330px;max-width:100%;padding:27px 26px 30px;background:var(--white);border:2px solid var(--ink);border-radius:16px;transform:rotate(-4deg);box-shadow:12px 12px 0 var(--yellow)}.guide-card-label{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:12px;font-size:15px;font-weight:700;color:var(--muted)}.guide-card-title{font-size:26px;font-weight:800;line-height:1.65;margin:17px 0 20px}.guide-card ol{padding:0;margin:0;list-style:none}.guide-card li{display:flex;align-items:center;gap:12px;font-size:18px;padding-block:8px}.guide-card li span{width:27px;height:27px;display:grid;place-items:center;background:var(--teal-light);border-radius:50%;color:var(--teal);font-size:15px;font-weight:700}.art-star{position:absolute;right:0;top:8px;color:var(--teal);font-size:56px;transform:rotate(12deg)}.art-dot{position:absolute;bottom:5px;left:10px;width:20px;height:20px;background:var(--teal);border-radius:50%}.promise-strip{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:20px 27px;background:var(--teal-light);border-radius:14px;margin-bottom:58px}.promise-strip p{margin:0;font-size:18px}.promise-strip strong{font-weight:800}.promise-strip a{white-space:nowrap}.section{margin-top:52px}.section-heading{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px 24px;margin-bottom:22px}.section-heading h2{margin:0}.section-heading .section-number{font-family:ui-monospace,monospace;font-size:14px;margin-right:13px;padding-bottom:4px;border-bottom:2px solid var(--yellow);color:var(--muted)}.section-description{color:var(--muted);margin:-6px 0 22px}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.category-card{border:1px solid var(--line);border-radius:16px;background:var(--white);padding:20px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:13px;font-weight:700;min-height:99px;box-shadow:var(--shadow)}.category-card:hover{border-color:var(--teal);background:#f0f7f0;text-decoration:none}.category-icon{display:grid;place-items:center;width:44px;height:44px;font-family:sans-serif;color:var(--teal);background:var(--teal-light);border-radius:12px;font-size:25px;flex-shrink:0}.category-card:nth-child(even) .category-icon{background:var(--yellow-light);color:#765310}.category-name{font-size:18px;line-height:1.6}.category-name small{font-size:14px;color:var(--muted);font-weight:400;display:block}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.game-card{padding:25px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);position:relative}.game-card h3{margin-bottom:12px}.game-card h3 a{color:var(--ink)}.game-card p{font-size:18px}.game-card .card-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.letter-tile{font-size:26px;font-weight:800;height:63px;width:63px;display:grid;place-items:center;background:var(--teal-light);color:var(--teal);border-radius:14px 14px 14px 3px}.game-card:nth-child(even) .letter-tile{color:#765310;background:var(--yellow-light)}.game-card .card-date{font-size:14px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-block:16px;padding:0;list-style:none}.tag{display:inline-flex;align-items:center;background:#eef0e8;color:var(--ink);padding:3px 10px;border-radius:7px;font-size:15px;line-height:1.7}.game-card .text-link{font-size:18px}.feed-status{min-height:132px;display:flex;gap:20px;align-items:center;padding:25px 30px;border:1px dashed #b5c3b9;border-radius:var(--radius);background:rgb(255 254 249 / 55%)}.empty-icon{display:grid;place-items:center;width:60px;height:65px;border:2px solid #b6c5ba;border-radius:12px 12px 12px 3px;color:var(--teal);font-size:28px;background:var(--white);flex-shrink:0}.feed-status h3{font-size:21px;margin-bottom:5px}.feed-status p{color:var(--muted);margin-bottom:0}.feed-status.is-error{border-color:#c9a29a;background:#fff5ef}.feed-status.is-error h3{color:var(--red)}.feed-status .button{margin-top:15px}.feed-more{display:flex;justify-content:center;margin-top:24px}.feed-announcement{color:var(--muted);font-size:16px;margin:12px 0 0}.how-panel{background:var(--ink);color:var(--white);border-radius:var(--radius);padding:35px;margin-top:64px;display:grid;grid-template-columns:.9fr 1.5fr;gap:35px}.how-panel h2{font-size:30px;margin-bottom:12px}.how-panel .eyebrow{color:var(--yellow)}.how-panel .eyebrow::before{background:var(--yellow)}.how-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:0;margin:0;list-style:none}.how-steps li{font-size:18px}.how-steps span{display:block;color:var(--yellow);font-size:15px;letter-spacing:.12em;margin-bottom:9px}.how-steps strong{display:block;font-size:21px;margin-bottom:8px}.how-note{color:#d2dedc;font-size:16px}.site-footer{border-top:1px solid var(--line);background:#eeeee4}.footer-inner{padding-block:38px 24px}.footer-top{display:flex;justify-content:space-between;align-items:start;gap:36px}.footer-note{margin-top:14px;color:var(--muted);font-size:16px;max-width:430px}.footer-links{display:flex;gap:14px 25px;flex-wrap:wrap;max-width:500px}.footer-links a{font-size:16px;color:var(--ink);min-height:32px}.footer-bottom{border-top:1px solid var(--line);padding-top:18px;margin-top:24px;color:var(--muted);font-size:14px}.breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:16px;margin:0 0 25px;padding:0;list-style:none}.breadcrumb li+li::before{content:"/";margin-right:9px;color:#71827b}.page-heading{margin-bottom:34px}.page-heading h1{font-size:clamp(31px,4vw,44px);margin-bottom:13px}.page-heading p{max-width:760px;color:var(--muted);font-size:20px}.prose{max-width:850px}.content-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px 34px;margin-bottom:24px}.content-panel h2{font-size:27px;margin-bottom:18px}.content-panel h3{margin-top:26px}.content-panel ul,.content-panel ol{padding-left:1.6em}.content-panel li{margin-bottom:10px}.content-panel li:last-child{margin-bottom:0}.note-panel{border-left:5px solid var(--teal);background:var(--teal-light);border-radius:0 14px 14px 0;padding:23px 27px;margin-block:26px}.note-panel p{margin:0}.notice{border:1px solid #d7bd79;background:var(--yellow-light);padding:23px 27px;border-radius:16px;margin-block:24px}.notice h2,.notice h3{font-size:23px;margin-bottom:12px}.notice p{color:#5b471b}.filter-links{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:28px 0}.filter-links a{display:inline-flex;align-items:center;min-height:46px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--white);padding:6px 15px;font-size:18px;text-decoration:none}.filter-links a:hover{border-color:var(--teal)}.filter-links a[aria-current="page"]{background:var(--teal);border-color:var(--teal);color:white}.source-list{display:grid;gap:20px}.source-card{background:var(--white);border:1px solid var(--line);padding:26px;border-radius:18px}.source-card h2{font-size:24px;margin-bottom:12px}.source-card p{margin-bottom:9px}.source-card a{overflow-wrap:anywhere}.detail-header{max-width:850px;margin-bottom:32px}.detail-header h1{font-size:clamp(32px,5vw,48px);margin-bottom:18px}.detail-intro{font-size:22px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start}.detail-aside{position:sticky;top:24px}.detail-aside .content-panel{padding:26px}.detail-aside .button{width:100%}.detail-meta,.game-facts{margin:0}.detail-meta div,.game-facts div{padding-block:13px;border-bottom:1px solid var(--line)}.detail-meta div:last-child,.game-facts div:last-child{border-bottom:0}.detail-meta dt,.game-facts dt{font-size:16px;color:var(--muted)}.detail-meta dd,.game-facts dd{margin:3px 0 0;font-size:18px;font-weight:700}.evidence-list{padding-left:1.5em}.detail-credit,.detail-date{color:var(--muted);font-size:16px}.play-note{font-size:16px;color:var(--muted);margin-top:14px}.not-found{text-align:center;max-width:700px;margin:55px auto}.not-found-code{color:var(--teal);font-family:ui-monospace,monospace;font-size:100px;line-height:1.3;font-weight:700;margin-bottom:18px;letter-spacing:.08em}.not-found h1{font-size:34px}
@media(max-width:960px){.site-header{align-items:flex-start}.site-nav{gap:6px 18px;justify-content:flex-end}.hero{gap:28px}.hero h1{font-size:40px}.guide-card{width:280px;padding:22px}.guide-art{padding:18px}.category-grid{grid-template-columns:repeat(2,1fr)}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.how-panel{grid-template-columns:1fr;gap:23px}.footer-top{flex-direction:column}.footer-links{max-width:none}.detail-layout{grid-template-columns:minmax(0,1fr) 280px;gap:20px}}
@media(max-width:680px){.site-header,.page-main,.footer-inner{width:calc(100% - 36px)}.site-header{display:block;padding-block:20px 12px}.brand-name{font-size:21px}.site-nav{justify-content:flex-start;margin-top:18px;gap:7px 21px}.site-nav a{font-size:17px}.page-main{padding-block:28px 55px}.hero{grid-template-columns:1fr;gap:20px;padding-block:9px 30px}.hero h1{font-size:clamp(34px,8vw,43px);line-height:1.6;margin-bottom:18px}.hero-text{font-size:18px}.hero-actions{gap:12px 20px}.guide-art{min-height:300px;padding:15px;max-width:360px;width:100%;margin-inline:auto}.guide-card{width:280px}.guide-card-title{margin-block:13px}.guide-art::before{inset:6% 0 2%}.art-star{top:1px;right:2px;font-size:44px}.promise-strip{display:block;padding:21px;margin-bottom:40px}.promise-strip a{margin-top:10px}.section{margin-top:39px}.section-heading{gap:6px 15px}.section-heading h2{font-size:25px}.section-heading .section-number{display:none}.category-grid{gap:10px}.category-card{padding:15px 12px;display:block;min-height:115px}.category-icon{margin-bottom:10px;width:35px;height:35px;font-size:22px}.category-name{font-size:17px}.game-grid{grid-template-columns:1fr;gap:16px}.game-card{padding:23px}.feed-status{padding:23px 20px;gap:14px;align-items:flex-start}.empty-icon{width:39px;height:46px;font-size:21px}.feed-status h3{font-size:20px}.how-panel{padding:25px;margin-top:42px}.how-steps{grid-template-columns:1fr;gap:20px}.how-steps li{border-top:1px solid #45616b;padding-top:17px}.how-steps span{display:inline-block;margin-right:13px}.how-steps strong{display:inline}.how-steps p{margin-block:7px 0}.footer-inner{padding-block:29px 20px}.footer-links{gap:12px 23px}.content-panel{padding:23px 21px}.content-panel h2{font-size:24px}.page-heading{margin-bottom:26px}.page-heading p{font-size:18px}.note-panel,.notice{padding:20px}.detail-layout{grid-template-columns:1fr}.detail-aside{position:static}.detail-intro{font-size:20px}.not-found{margin-block:30px}.not-found-code{font-size:80px}.not-found h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Shared presentation for server-rendered game and genre pages. */
.site-brand{display:inline-flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;font-size:22px;font-weight:800;line-height:1.5;letter-spacing:.04em}
.site-brand::before{content:"";width:45px;height:45px;flex-shrink:0;border-radius:13px 13px 13px 4px;background:radial-gradient(circle at 16px 16px,var(--yellow) 4px,transparent 4.5px),radial-gradient(circle at 29px 16px,var(--yellow) 4px,transparent 4.5px),radial-gradient(circle at 16px 29px,var(--yellow) 4px,transparent 4.5px),radial-gradient(circle at 29px 29px,var(--yellow) 4px,transparent 4.5px),var(--teal);transform:rotate(-7deg)}
.lead{font-size:22px;max-width:850px;color:var(--muted);margin-bottom:30px}
h1.page-heading{font-size:clamp(31px,4vw,44px);margin-bottom:18px}
.page-main>nav:first-child{margin-bottom:25px;font-size:16px}
article.content-panel{max-width:950px;margin-inline:auto}
article.content-panel>section{margin-top:34px}
article.content-panel>section h2{margin-bottom:15px}
.rights-note{border-top:1px solid var(--line);padding-top:28px}
.site-footer>p,.site-footer>nav{width:min(1180px,calc(100% - 64px));margin-inline:auto}
.site-footer>p{padding-top:30px;margin-bottom:15px;color:var(--muted)}
.site-footer>nav{display:flex;flex-wrap:wrap;gap:12px 24px;padding-bottom:32px}
.site-footer>nav a{font-size:16px;min-height:36px}
@media(max-width:680px){.site-brand{font-size:21px}.lead{font-size:20px}.site-footer>p,.site-footer>nav{width:calc(100% - 36px)}article.content-panel>section{margin-top:28px}}

ruby{ruby-position:over}rt{font-size:.6em;line-height:1.1;font-weight:500;color:#315459}a rt{color:inherit}

/* Home starts directly with the shared game feed. */
.game-directory-home .page-main{padding-top:24px}.directory-filters{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.directory-filters a{min-height:44px;display:inline-flex;align-items:center}.game-directory-home .site-footer{margin-top:24px}
.game-card{position:relative}.game-play-link::after{content:"";position:absolute;inset:0;border-radius:inherit}
.game-play-link:focus-visible::after{outline:3px solid var(--teal);outline-offset:2px}
.game-card-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px}
.game-play-button,.game-guide-link{position:relative;z-index:1}.game-play-button{min-height:48px}
