/* Shared RPG skin: real text and forms over a decorative pixel-art world. */
:root{--paper:#f6ebcf;--ink:#222637;--muted:#565644;--accent:#a8391f;--line:#cabc96;--soft:#e9dcb9;--night:#101420;--white:#fffdf0;--blue:#1456b8;--purple:#573492}
body{background:#16202a}
.masthead{background:var(--night);color:var(--white);height:auto;min-height:88px;padding:17px max(28px,calc((100vw - 1280px)/2));border-bottom:4px solid #dcd8bd;gap:24px;position:relative;z-index:20}
.wordmark{display:flex;align-items:flex-start;flex-direction:column;gap:5px;flex-shrink:0;letter-spacing:0}
.brand-name{font:900 clamp(22px,2.6vw,32px)/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-1.5px;text-shadow:2px 2px #4e499e}
.brand-caption{font-size:10px;font-weight:600;letter-spacing:.07em;color:#d2d4df}
.main-nav{display:flex;gap:clamp(14px,2.2vw,30px);margin-left:auto;align-items:center}
.main-nav a{color:#f7f5e9;text-decoration:none;font-weight:750;font-size:13px;white-space:nowrap;padding-block:8px;border-bottom:2px solid transparent}
.main-nav a:hover,.main-nav a[aria-current=page]{color:#ffe194;border-color:#ffe194}
.language-menu summary{border:2px solid #aaaec1;padding:7px 10px;color:white;gap:7px;white-space:nowrap;letter-spacing:0}
.language-menu .globe,.language-menu .chevron{color:#eee8c8}.language-list{color:var(--ink);border-radius:0;border:3px solid #83889c;box-shadow:5px 5px #0006}
.home-main{max-width:1440px;margin:auto;background:var(--paper)}
.rpg-hero{position:relative;isolation:isolate;max-width:none;min-height:700px;padding:42px 46px 28px;display:grid;grid-template-columns:minmax(0,760px) 1fr;align-content:space-between;gap:42px 24px;overflow:hidden}
.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 57%;z-index:-2;image-rendering:pixelated}
.rpg-hero:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#173e7638,transparent 75%)}
.landing-inner{max-width:740px}
.hero-kicker{display:inline-block;font-size:11px;color:white;background:#14243b;padding:6px 10px;margin:0 0 16px;font-weight:700;letter-spacing:.05em;box-shadow:3px 3px #13223380}
.rpg-hero h1{font-family:inherit;font-size:clamp(30px,4.2vw,60px);font-weight:950;line-height:1.15;letter-spacing:-.045em;color:#fffef3;margin:0 0 14px;text-shadow:4px 4px 0 #0e1830, -2px -2px 0 #0e1830,2px -2px 0 #0e1830,-2px 2px 0 #0e1830;paint-order:stroke fill;-webkit-text-stroke:2px #0e1830;overflow-wrap:normal}
.rpg-hero .hero-gmo{font:950 clamp(68px,8.7vw,124px)/.97 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:-.06em;-webkit-text-stroke:4px #101627;text-shadow:5px 6px #101627}
.hero-tagline{font-size:clamp(16px,2vw,25px);font-weight:900;color:white;line-height:1.5;margin:16px 0;text-shadow:2px 2px #111c31,-1px -1px #111c31;paint-order:stroke fill;-webkit-text-stroke:0}
.rpg-hero .intro{font-size:14px;line-height:1.9;color:white;font-weight:700;max-width:530px;margin:0;text-shadow:1px 2px #102543,-1px -1px #102543}
.pixel-panel,.quest-nav>a{background:#101420f5;color:var(--white);border:3px solid #fffde9;outline:3px solid #171b2b;box-shadow:inset 0 0 0 2px #676d82,5px 6px 0 #11182770;border-radius:2px}
.newsletter{margin-top:24px;padding:18px 20px;max-width:640px;scroll-margin-top:25px}
.newsletter-heading{font-size:16px;margin:0 0 14px;line-height:1.7;font-weight:800}
.newsletter-heading:before{content:'✉';color:#a5d9ff;margin-right:10px;font-size:21px}
.input-group{min-height:52px;background:#fffef6;border:2px solid #e7e2d0;box-shadow:none;gap:0}
.input-group input{font-size:16px;padding:12px 14px;color:#242637;min-width:0}
.input-group button{min-width:180px;background:#c53a19;border:2px solid #ffca91;box-shadow:inset -3px -3px #8d2916;padding:12px 16px;font-size:14px;gap:8px}
.input-group button:disabled{opacity:1;background:#545769;box-shadow:inset -3px -3px #333747;border-color:#9a9eae;color:#f3f1ea;cursor:not-allowed}
.input-group button:hover:not(:disabled){background:#ad3115}.input-group button svg{width:18px;height:18px}
.newsletter .consent{font-size:11px;color:#e2e2db;line-height:1.8;margin-top:8px}.newsletter .signup-status{color:#ffe19a;font-size:12px;min-height:0;margin-top:10px}.signup-status:empty{display:none}
.hero-dialog{justify-self:end;align-self:start;margin-top:20px;padding:18px 20px;min-width:200px;max-width:250px;font-size:14px;line-height:1.8}.hero-dialog p{margin:0 0 10px;font-weight:750}.hero-dialog a{display:block;padding:5px 0;text-decoration:none}.hero-dialog a:before{content:'▶';margin-right:8px;font-size:10px;color:#ffe091}.hero-dialog a:hover{text-decoration:underline}
.quest-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;grid-column:1/-1}
.quest-nav>a{display:flex;align-items:center;gap:12px;padding:17px 14px;text-decoration:none;min-height:85px}.quest-nav>a:hover{background:#252c47;transform:translateY(-2px)}.quest-nav strong{display:block;font-size:17px}.quest-nav small{display:block;color:#d3d6dc;font-size:10px;line-height:1.8;margin-top:3px}.quest-nav>a>span:last-child{margin-left:auto;color:#ffdd92;font-size:26px}.quest-icon{font-family:serif;font-size:32px;color:#ffe4a0;text-shadow:2px 2px #756145}
.home-below{padding:38px 46px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;border-top:5px solid #8b744e}.home-reading h2{font-size:21px;margin:0 0 12px}.home-reading p{font-size:13px;line-height:1.9;margin:0 0 12px}.text-link{color:#92351f;font-weight:750}.game-invite{display:flex;gap:18px;align-items:center;text-decoration:none;padding:22px}.game-invite small{display:block;color:#ffe096;font-size:11px;margin-bottom:6px}.game-invite strong{display:block;font-size:18px;margin-bottom:9px}.game-invite span span{display:block;font-size:11px;color:#d8dbe6;line-height:1.7}.tiny-ship{color:#81d6ed;font-size:42px}.game-invite:hover{background:#252c47}
.site-footer{max-width:1440px;background:var(--night);color:#eee9d5;padding:0 40px;border-top:3px solid #dcd8bd}.footer-top{padding:22px 0 16px;border-color:#4d5265}.footer-bottom{color:#d1d2d9;padding:20px 0 28px;gap:24px}.footer-bottom nav{flex-wrap:wrap;gap:16px}.php-line{color:#c1c6d2;font-size:10px}.footer-brand{letter-spacing:0;font-family:monospace}.footer-bottom p{max-width:650px;font-size:11px}
.inner-main{max-width:1440px;margin:auto;background:var(--paper);padding-bottom:40px;min-height:70vh}.page-scenery{height:156px;background:#488bd2 url('/images/casewatch-town.jpg') center 49%/cover;image-rendering:pixelated;display:flex;align-items:center;padding:30px 7%;border-bottom:5px solid #8d794e}.page-scenery > .scenery-title{background:#101420f0;border:3px solid #fffde9;outline:2px solid #151b2a;color:white;font:bold 24px ui-monospace,SFMono-Regular,monospace;padding:16px 24px;box-shadow:4px 4px #10142070}
.prose{max-width:1000px;padding:38px 48px 64px;margin:30px auto 0;background:#fff8e5;border:1px solid #cbb891;box-shadow:5px 5px #d4c4a1;line-height:1.95;min-height:0}
.prose h1,.confirmation h1{font-family:inherit;font-weight:900;font-size:clamp(24px,3.3vw,39px);line-height:1.45;letter-spacing:-.035em;margin:22px 0}.prose h2{font-size:21px;margin-top:36px}.prose .lead,.confirmation .lead{font-size:16px;line-height:1.95;margin:20px 0 30px}.prose .overline{font-size:11px;color:#665835;letter-spacing:.07em}.prose a{color:#184e93}.prose .caution{border:2px solid #cbbb95;background:#f4e9cb;padding:18px}.prose .timeline{margin-top:28px}.confirmation{max-width:850px;margin:32px auto;padding:40px;background:#fff8e5;border:3px solid #9f8c61;box-shadow:5px 5px #c9b58e}.confirmation .overline{color:#665835}.contact{overflow-wrap:anywhere}.survey-question select,.survey-amount input{border-radius:0;border:2px solid #a89979;background:white}.survey-submit{background:#1859a8;border:2px solid #17416f;box-shadow:3px 3px #b7a27a}.survey-submit:disabled{background:#60616a;cursor:not-allowed}.survey-form fieldset:disabled{opacity:.8}
.news-list{list-style:none;padding:0}.news-list li{display:grid;grid-template-columns:100px 1fr;gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}.news-list time{font:13px/1.8 ui-monospace,monospace;color:#655b42}.news-list a{font-weight:750}.news-list p{margin:8px 0 0;font-size:13px;color:var(--muted)}
.faq-list details{border-bottom:1px solid var(--line);padding:18px 0}.faq-list summary{cursor:pointer;font-weight:750;font-size:16px;line-height:1.7;padding-right:10px}.faq-list summary::marker{color:#2159a2}.faq-list details p{font-size:14px;margin:16px 0 4px}.info-note{padding:18px 22px;background:#e9ddbc;border-left:4px solid #947741;font-size:14px}.page-actions{display:flex;flex-wrap:wrap;gap:16px;margin:28px 0}.page-actions a{padding:10px 16px;border:2px solid #907e56;text-decoration:none;font-weight:700}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #267ad1;outline-offset:4px}.pixel-panel a:focus-visible,.masthead a:focus-visible{outline-color:#ffdd88}.input-group:focus-within{outline:3px solid #9fceff;outline-offset:3px}.skip-link{z-index:1000}
@media(min-width:1441px){.masthead{padding-inline:max(40px,calc((100vw - 1320px)/2))}}
@media(max-width:1050px){.masthead{gap:16px;padding:16px 24px}.main-nav{gap:16px}.brand-name{font-size:25px}.rpg-hero{padding:32px 30px 28px;grid-template-columns:minmax(0,650px) 1fr}.hero-dialog{display:none}.landing-inner{grid-column:1/-1;max-width:650px}.rpg-hero .intro{max-width:480px}.quest-nav{gap:12px}.quest-nav>a{padding:14px 10px;gap:8px}.quest-nav strong{font-size:14px}.quest-icon{font-size:25px}.home-below{padding:30px;gap:24px}.game-invite{padding:18px;gap:12px}.game-invite strong{font-size:16px}.prose{margin-inline:24px}.footer-bottom{flex-wrap:wrap}}
@media(max-width:720px){.masthead{display:grid;grid-template-columns:1fr auto;padding:16px 18px 0;gap:16px 10px}.brand-name{font-size:26px}.brand-caption{font-size:9px}.language-menu{grid-column:2;grid-row:1}.language-menu summary{padding:6px 8px}.main-nav{grid-row:2;grid-column:1/-1;margin:0;justify-content:space-between;gap:8px;overflow-x:auto}.main-nav a{font-size:12px;padding:0 0 12px}.rpg-hero{padding:28px 20px 24px;min-height:0;display:block}.hero-art{object-position:62% center}.rpg-hero:before{background:linear-gradient(90deg,#14375c55,#14375c15)}.hero-kicker{font-size:9px;margin-bottom:15px}.rpg-hero h1,html[lang=ja] .rpg-hero h1{font-size:clamp(28px,7.3vw,46px);line-height:1.2;letter-spacing:-.045em;-webkit-text-stroke:2px #0e1830;max-width:100%;margin:0 0 14px}.rpg-hero .hero-gmo{font-size:82px;-webkit-text-stroke:3px #101627}.hero-tagline{font-size:clamp(14px,3.8vw,21px);margin:10px 0 14px}.rpg-hero .intro{font-size:12px;max-width:90%;line-height:1.95}.newsletter{margin-top:130px;padding:16px 14px;max-width:none}.newsletter-heading{font-size:13px;line-height:1.8;margin-bottom:12px}.newsletter-heading:before{font-size:16px;margin-right:7px}.input-group{display:flex;flex-direction:column;min-height:0;background:none;border:0;gap:9px}.input-group input{background:white;border:2px solid #e4dfd0;min-height:50px;padding:12px;font-size:16px;width:100%}.input-group button{min-height:49px;min-width:0;padding:10px;width:100%}.input-group button span{display:inline}.input-group button svg{height:18px;width:18px}.newsletter .consent{font-size:10px}.quest-nav{grid-template-columns:1fr 1fr;gap:14px;margin-top:26px}.quest-nav>a{min-height:76px;padding:12px 10px;gap:8px}.quest-nav strong{font-size:14px}.quest-nav small{font-size:9px}.quest-icon{font-size:24px}.quest-nav>a>span:last-child{font-size:18px}.home-below{grid-template-columns:1fr;padding:28px 20px;gap:26px}.home-reading h2{font-size:20px}.home-reading p{font-size:12px}.game-invite strong{font-size:16px}.site-footer{padding:0 20px}.footer-top{display:block}.php-line{display:block;margin-top:10px;font-size:9px}.footer-bottom{display:block;padding-bottom:24px}.footer-bottom p{font-size:10px}.footer-bottom nav{margin-top:18px;font-size:11px;gap:14px}.page-scenery{height:115px;padding:20px}.page-scenery > .scenery-title{font-size:20px;padding:10px 16px}.prose{padding:24px 20px 40px;margin:20px 14px 0;box-shadow:3px 3px #d4c4a1}.prose h1,.confirmation h1{font-size:26px;line-height:1.5}.prose h2{font-size:19px}.prose .lead,.prose>p:not(.overline):not(.lead){font-size:14px}.prose li{font-size:14px}.confirmation{margin:20px 16px;padding:24px}.news-list li{grid-template-columns:1fr;gap:6px}.news-list time{font-size:12px}.news-list a{font-size:14px}.faq-list summary{font-size:14px}.page-actions a{font-size:13px}.inner-main{padding-bottom:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.quest-nav>a:hover{transform:none}.input-group button{transition:none}}
@media(min-width:1051px){.hero-dialog{position:absolute;right:46px;top:290px;margin:0;max-width:225px}}
@media(max-width:720px){.hero-art{object-position:right center}}
