:root{color:#f4f0e5;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#182832;--surface-raised:#20343d;--muted:#a8b7b4;--accent:#d9bc83;--line:#344951;background:#101b24;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100svh;margin:0}button,a{font:inherit}button{color:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #f3cc83}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(100%,1440px);min-height:100svh;margin:0 auto;padding:0 clamp(1rem,4vw,3.5rem) 2rem}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;display:flex;position:relative}.brand,.header-actions{align-items:center;display:flex}.brand{color:inherit;gap:.75rem;text-decoration:none}.brand-mark{width:38px;height:38px;color:var(--accent);border:1px solid #71816f;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:1.4rem;display:grid}.brand-name{letter-spacing:.04em;font-family:Georgia,serif;font-size:1.15rem}.header-actions{gap:1rem}.environment-label,.eyebrow{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:.72rem;font-weight:700}.menu-toggle,.account-button,.retry-button{color:#f4f0e5;cursor:pointer;background:#283b3e;border:1px solid #8f815f;border-radius:8px;min-height:42px}.menu-toggle{min-width:82px;padding:.55rem .9rem}.menu-toggle[aria-expanded=true]{background:#354b4b}.menu-panel{z-index:2;border:1px solid var(--line);background:#20343d;border-radius:10px;gap:.35rem;width:min(18rem,100vw - 2rem);padding:.5rem;display:grid;position:absolute;top:calc(100% - .35rem);right:0;box-shadow:0 12px 32px #0006}.menu-panel[hidden]{display:none}.menu-panel button{min-height:44px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;padding:.65rem .8rem}.menu-panel button:not(:disabled):hover{background:#30484b}.app-main{grid-template-columns:minmax(0,1fr) minmax(220px,280px);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);padding-top:clamp(1.5rem,5vh,3.25rem);display:grid}.game-section{min-width:0}.section-heading{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.eyebrow{margin:0 0 .5rem}h1,h2,p{margin-top:0}h1,h2{margin-bottom:0;font-family:Georgia,Times New Roman,serif;font-weight:500}h1{font-size:clamp(1.65rem,3vw,2.5rem);line-height:1.1}.preview-badge{color:#c7d2be;border:1px solid #60736a;border-radius:999px;flex:none;padding:.45rem .65rem;font-size:.74rem}.game-frame{aspect-ratio:16/10;background:#263d37;border:1px solid #50625d;border-radius:12px;position:relative;overflow:hidden;box-shadow:0 18px 42px #0003}.game-viewport{width:100%;height:100%}.game-viewport canvas{width:100%;height:100%;display:block}.game-state{color:#f4f0e5;text-align:center;background:#101b24e8;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;display:flex;position:absolute;inset:0}.game-state[hidden]{display:none}.loading-indicator{border:2px solid #fff5;border-top-color:var(--accent);border-radius:50%;width:25px;height:25px;animation:.8s linear infinite loading-spin}.game-error strong{font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.game-error span{color:#c3cfcc}.retry-button{padding:.55rem 1rem}.game-caption{color:var(--muted);align-items:center;gap:.6rem;margin-top:.75rem;font-size:.86rem;display:flex}.game-caption p{margin:0}.location-marker{background:#83a989;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 0 4px #83a98920}.journey-card{border:1px solid var(--line);background:radial-gradient(ellipse at top right, #40524755, transparent 65%), var(--surface);border-radius:12px;padding:1.4rem}.journey-card h2,.account-dialog h2{margin-bottom:.8rem;font-size:1.45rem;line-height:1.25}.journey-card>p:not(.eyebrow),.account-dialog>p:not(.eyebrow){color:#bdc9c5;font-size:.93rem;line-height:1.65}.account-button{width:100%;margin-top:.25rem;padding:.6rem .8rem}.account-dialog{color:#f4f0e5;background:#182832;border:1px solid #50636a;border-radius:14px;width:min(26rem,100vw - 2rem);padding:1.75rem;box-shadow:0 24px 80px #0008}.account-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#071116bf}.account-dialog form{justify-content:flex-end;margin:-.8rem -.8rem 1rem 0;display:flex}.dialog-close{background:var(--surface-raised);width:36px;height:36px;color:inherit;cursor:pointer;border:0;border-radius:50%;font-size:1.4rem}.unavailable-button{border:1px solid var(--line);background:var(--surface-raised);color:#c3cfcc;border-radius:8px;min-height:42px;padding:.55rem .8rem}@keyframes loading-spin{to{transform:rotate(360deg)}}@media (width<=760px){.app-header{min-height:64px}.environment-label{display:none}.app-main{grid-template-columns:minmax(0,1fr);gap:1.25rem;padding-top:1.5rem}.journey-card{padding:1.1rem 1.25rem}.journey-card h2{font-size:1.25rem}.journey-card>p:not(.eyebrow){margin-bottom:.8rem}}@media (orientation:landscape) and (height<=520px){.app-shell{padding-bottom:1rem}.app-header{min-height:54px}.app-main{grid-template-columns:minmax(0,1fr) minmax(200px,250px);gap:1rem;padding-top:.8rem}.section-heading{margin-bottom:.55rem}h1{font-size:1.55rem}.game-frame{aspect-ratio:2}.game-caption{margin-top:.5rem;font-size:.78rem}.journey-card{padding:1rem}.journey-card h2{font-size:1.2rem}}@media (prefers-reduced-motion:reduce){.loading-indicator{animation-duration:2.5s}}
