:root{--night: #14121f;--panel: #241f33;--parchment: #f3e6d0;--gold: #c9a35c;--gold-dim: #8a713c;--teal-accent: #57d1c9;--font-display: "Saira", monospace;--font-display-weight: 700;--font-body: "Saira", monospace;--font-body-weight: 500}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--night);color:var(--parchment);font-family:var(--font-body);font-weight:var(--font-body-weight);height:100%;overflow:hidden}#app{display:flex;flex-direction:column;align-items:center;min-height:100vh;padding:16px;gap:12px}#hud{width:750;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--font-display)}.hud-title{font-size:24px;font-weight:var(--font-display-weight);color:var(--teal-accent);letter-spacing:2px}.hud-hint{font-size:18px;font-family:var(--font-body);color:var(--gold-dim)}#dialog-body,#welcome-text,#congrats-text{font-weight:var(--font-body-weight)}#game-container{border:4px solid var(--gold-dim);box-shadow:0 0 0 4px var(--night),0 8px 24px #0009;image-rendering:pixelated;line-height:0}#dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6%;background:#0a081059;z-index:20}#dialog-overlay.hidden{display:none}#dialog-box{position:relative;width:min(720px,90vw);background:var(--panel);border:3px solid var(--gold);box-shadow:0 0 0 3px var(--night),inset 0 0 0 2px #c9a35c4d,0 10px 30px #00000080;padding:28px 24px 20px}#dialog-nameplate{position:absolute;top:-22px;left:20px;background:var(--gold);color:var(--night);font-family:var(--font-display);font-weight:var(--font-display-weight);font-size:14px;padding:6px 12px;border:3px solid var(--night);box-shadow:0 0 0 2px var(--gold)}#dialog-title{font-family:var(--font-display);font-weight:var(--font-display-weight);font-size:20px;color:var(--teal-accent);margin:4px 0 14px;line-height:1.6}#dialog-body{font-size:22px;line-height:1.4;color:var(--parchment);max-height:40vh;overflow-y:auto}#dialog-body p{margin:0 0 12px}#dialog-body h1{font-size:20px;font-weight:var(--font-display-weight);color:var(--gold);margin:0 0 10px;padding:0;line-height:1.3}#dialog-body .quest-date{font-size:15px;letter-spacing:1px;text-transform:uppercase;color:var(--gold-dim);margin:-6px 0 14px}#dialog-body ul{margin:0 0 12px;padding-left:22px}#dialog-body a{color:var(--teal-accent)}#dialog-close{position:absolute;top:-22px;right:8px;font-family:var(--font-display);font-weight:var(--font-display-weight);font-size:18px;color:var(--gold-dim)}#achievement-label{white-space:nowrap}#achievement-count{color:var(--gold);min-width:48px;text-align:right;white-space:nowrap}#achievement-track{flex:1;height:8px;background:var(--panel);border:2px solid var(--gold-dim)}#achievement-fill{height:100%;width:0%;background:var(--gold);transition:width .4s ease}#welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0810b3;z-index:50}#welcome-overlay.hidden{display:none}#welcome-box{position:relative;background:var(--panel);border:3px solid var(--gold);box-shadow:0 0 0 3px var(--night),inset 0 0 0 2px #c9a35c4d,0 10px 40px #0009;padding:32px 36px 28px;text-align:center;max-width:min(480px,90vw);animation:congrats-pop .4s ease}#welcome-stars{font-size:28px;color:var(--gold);letter-spacing:8px;margin-bottom:12px}#welcome-title{font-family:var(--font-display);font-weight:var(--font-display-weight);font-size:22px;color:var(--teal-accent);margin:0 0 14px}#welcome-text{font-size:22px;line-height:1.4;color:var(--parchment);margin:0 0 20px}#welcome-close{font-family:var(--font-display);font-weight:var(--font-display-weight);font-size:13px;background:var(--night);color:var(--gold);border:3px solid var(--gold);padding:8px 12px;cursor:pointer}#welcome-close:hover,#welcome-close:focus-visible{background:var(--gold);color:var(--night);outline:none}#congrats-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#0a0810b3;z-index:50}#congrats-overlay.hidden{display:none}#congrats-box{position:relative;background:var(--panel);border:3px solid var(--gold);box-shadow:0 0 0 3px var(--night),inset 0 0 0 2px #c9a35c4d,0 10px 40px #0009;padding:32px 36px 28px;text-align:center;max-width:min(480px,90vw);animation:congrats-pop .4s ease}@keyframes congrats-pop{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}#congrats-stars{font-size:28px;color:var(--gold);letter-spacing:8px;margin-bottom:12px}#congrats-title{font-family:var(--font-display);font-weight:var(--font-display-weight);font-size:22px;color:var(--teal-accent);margin:0 0 14px}#congrats-text{font-size:22px;line-height:1.4;color:var(--parchment);margin:0 0 20px}#congrats-close{font-family:var(--font-display);font-weight:var(--font-display-weight);font-size:13px;background:var(--night);color:var(--gold);border:3px solid var(--gold);padding:8px 12px;cursor:pointer}#congrats-close:hover,#congrats-close:focus-visible{background:var(--gold);color:var(--night);outline:none}#contact-bar{width:750px;max-width:100%;display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:var(--font-display-weight);font-size:13px;color:var(--gold-dim);padding:4px 0}#contact-label{white-space:nowrap}#contact-link{color:var(--teal-accent);text-decoration:none;transition:color .2s}#contact-link:hover,#contact-link:focus-visible{color:var(--gold)}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}
