:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#edf2ef;background:#0a1519;--gold:#e8c783;--muted:#a7bab8;--border:#31484c;--header:64px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}
body{margin:0;background:radial-gradient(ellipse at 10% 10%,#183438 0,transparent 48%),#0a1519}
a{color:var(--gold);text-underline-offset:4px}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #85e4e0;outline-offset:4px}
.skip-link{position:fixed;top:-100px;left:12px;z-index:20;background:#152a30;padding:14px}
.skip-link:focus{top:10px}
.topbar{position:sticky;top:0;z-index:10;min-height:var(--header);padding:10px max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:12px;background:#0a1519f5;border-bottom:1px solid var(--border);backdrop-filter:blur(16px)}
.home-link{display:inline-flex;align-items:center;gap:10px;min-height:40px;text-decoration:none;font-weight:750;color:#e3ece7}
.site-title{font-size:.9rem;letter-spacing:.035em;font-weight:700}
.comment-link{border:1px solid #826f48;border-radius:999px;text-decoration:none;font-size:.85rem;padding:10px 17px;font-weight:750}
.layout{display:grid;grid-template-columns:minmax(0,440px) minmax(0,430px);justify-content:center;gap:clamp(28px,5vw,78px);max-width:1140px;margin:0 auto;padding:36px 24px 50px;align-items:start}
.play-column{position:sticky;top:calc(var(--header) + 22px);width:100%;max-width:440px;margin-inline:auto}
.orientation-note{display:none}
.game-frame{position:relative;width:min(100%,calc((100dvh - 170px)*.4620853));aspect-ratio:390/844;min-height:320px;margin-inline:auto;background:#060b0e;border:1px solid #53625c;overflow:hidden;border-radius:22px;box-shadow:0 28px 70px #0008}
.game-frame iframe{width:100%;height:100%;border:0;display:block;background:#071014}
.game-frame iframe[hidden]{display:none}
.launch-screen{position:absolute;inset:0;display:flex;align-items:end;isolation:isolate}
.launch-screen[hidden]{display:none}
.launch-art{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:center}
.launch-screen::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#07101408 20%,#071014bd 53%,#071014 100%)}
.launch-copy{width:100%;padding:24px 22px 27px;text-align:center}
.eyebrow{font-size:.65rem;letter-spacing:.17em;text-transform:uppercase;color:var(--gold);font-weight:800;line-height:1.7;margin:0 0 14px}
.launch-copy h1{font-family:Georgia,serif;font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.05;margin:8px 0 14px;text-shadow:0 2px 15px #0008}
.launch-copy>p:not(.eyebrow){font-size:.85rem;line-height:1.5}
.launch-copy>a{font-size:.7rem;line-height:1.5}
.launch-note{color:#c2cfcc;margin:14px 0 6px}
.launch-desktop,.desktop-note{display:none}
@media(min-width:761px) and (hover:hover){.launch-desktop,.desktop-note{display:block}.launch-mobile{display:none}}
.primary-button{display:block;min-height:48px;width:100%;border:1px solid #ffe4a4;border-radius:12px;padding:12px 18px;background:linear-gradient(#eed5a0,#d5b571);box-shadow:0 3px 0 #7a6545;color:#19211c;font-weight:800}
.primary-button:hover{background:#ffe3a5}
.launch-copy .primary-button{margin-top:22px}
.play-tools{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:16px 0 8px;font-size:.75rem}
.play-tools button,.section-heading button{border:1px solid var(--border);background:#16272b;color:#dfe9e5;border-radius:9px;min-height:40px;padding:8px 12px;font-size:.75rem}
.play-column>.small-note{text-align:center;max-width:380px;margin:10px auto;line-height:1.55}
.small-note{font-size:.78rem;color:var(--muted);line-height:1.7}
.introduction{padding:12px 0 22px}
h2{font-size:1.5rem;line-height:1.2;margin:0 0 14px;letter-spacing:-.025em}
.introduction h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(2rem,3.8vw,3.2rem);line-height:1.1;letter-spacing:-.025em}
.introduction>p:not(.eyebrow){color:#bfcdca;line-height:1.8;font-size:.93rem}
.introduction>p.small-note{font-size:.78rem}
.feedback-panel{border:1px solid var(--border);padding:26px;border-radius:18px;background:linear-gradient(140deg,#192c30,#111f23);scroll-margin-top:10px}
.feedback-panel:focus{outline:none}
.form-intro{font-size:.85rem;line-height:1.7;color:#c0cecb;margin:0 0 22px}
form>label:not(.consent){display:block;margin:16px 0 8px;font-size:.82rem;font-weight:750}
input[type=text],textarea{display:block;width:100%;min-height:46px;border:1px solid #496066;border-radius:9px;background:#09181c;color:#f5f8f4;padding:12px;font-size:1rem;line-height:1.45}
input::placeholder,textarea::placeholder{color:#91a6a8;opacity:1}
textarea{resize:vertical;min-height:138px;max-height:380px}
.field-help{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:.7rem;margin-top:7px}
.consent{display:flex;gap:10px;align-items:start;font-size:.73rem;line-height:1.6;margin:20px 0;color:#c2cfcd}
.consent input{flex:none;width:19px;height:19px;accent-color:var(--gold);margin:2px 0 0}
.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.status{font-size:.84rem;line-height:1.65;margin:12px 0 0;color:#a1e0bf}
.status:empty{display:none}
.status[data-error=true]{color:#ffb3aa}
.moderation-note{font-size:.72rem;color:var(--muted);line-height:1.6;margin:20px 0 0}
.return-game{display:none;margin-top:18px;font-size:.85rem}
.published-comments{margin:28px 0}
.section-heading{display:flex;align-items:center;gap:12px;justify-content:space-between}
.section-heading h2{font-size:1.04rem;line-height:1.4;margin:0}
.comment-card{border-top:1px solid var(--border);padding:20px 0}
.comment-meta{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:baseline}
.comment-meta strong{font-size:.9rem;color:#e8d2a3}
.comment-meta time{font-size:.7rem;color:var(--muted)}
.comment-card p{font-size:.86rem;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0}
footer{border-top:1px solid var(--border);padding-top:20px;color:#a7bab8;font-size:.7rem;line-height:1.7}
footer p{margin:6px 0}
footer nav{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px}
.no-script{padding:20px;text-align:center}
@media(max-width:760px){
  :root{--header:58px}
  .topbar{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:8px;padding-inline:12px;gap:8px}
  .home-link{font-size:.82rem;gap:5px}
  .site-title{font-size:.76rem}
  .comment-link{font-size:.75rem;padding:9px 12px}
  .layout{display:block;padding:12px 12px max(28px,env(safe-area-inset-bottom))}
  .play-column{position:static;max-width:450px;scroll-margin-top:8px}
  .game-frame{width:min(100%,calc((100dvh - 145px)*.4620853));min-height:0;border-radius:16px}
  .launch-copy{padding:18px 16px}
  .launch-copy h1{font-size:clamp(1.55rem,7vw,2.5rem)}
  .launch-copy .eyebrow{font-size:.57rem;margin-bottom:8px}
  .launch-copy .primary-button{margin-top:14px}
  .play-tools{margin-top:10px;gap:10px}
  .play-column>.small-note{margin:6px auto;font-size:.7rem}
  .info-column{max-width:490px;margin:24px auto 0}
  .introduction{padding:16px 8px 18px}
  .introduction h2{font-size:2.2rem}
  .feedback-panel{padding:22px 18px}
  .return-game{display:inline-block}
  .published-comments,footer{margin-inline:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(orientation:landscape) and (max-height:600px) and (pointer:coarse) and (hover:none) and (any-hover:none){
  .play-column{position:static}
  .game-frame{width:min(100%,280px);min-height:0}
  .orientation-note{display:block;padding:12px 16px;background:#26352b;border:1px solid #826f48;border-radius:10px;color:#e8d2a3;font-size:.8rem;line-height:1.6}
}

/* Fill the viewport with the game itself; keep controls outside its canvas. */
html.game-expanded,body.game-expanded{overflow:hidden;overscroll-behavior:none}
.game-frame.is-expanded{position:fixed;inset:0;z-index:100;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;min-height:0;aspect-ratio:auto;margin:0;border:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;background:#071014}
.game-frame.is-expanded iframe{flex:1 1 0;min-height:0;width:100%;height:0}
.immersive-tools{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:max(2px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) 2px max(8px,env(safe-area-inset-left));background:#0a1519;border-bottom:1px solid var(--border)}
.immersive-tools[hidden]{display:none}
.immersive-tools span{font-size:.72rem;font-weight:700;text-align:center}
.immersive-tools button{min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:#172b30;color:#ead8ad;font-size:.78rem;font-weight:750;white-space:nowrap}
.immersive-tools button:hover{background:#294249}
@media(display-mode:standalone){.install-note{display:none}}

.field-dossier{margin:12px 0 30px;padding:28px;border:1px solid var(--border);background:linear-gradient(140deg,#1e353a99,#101b20);border-radius:18px}.field-dossier h2{font-family:Georgia,serif;font-size:1.7rem;font-weight:400}.field-dossier>p:not(.eyebrow){color:var(--muted);font-size:.9rem;line-height:1.8}.field-dossier dl{margin:24px 0 0}.field-dossier dl>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);padding:14px 0;font-size:.78rem}.field-dossier dt{color:var(--muted)}.field-dossier dd{margin:0;text-align:right}.immersive-tools span:last-child{margin-left:auto}
