:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;color:#f2eee5;background:#111214}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #666461;color:inherit;background:#272829;padding:10px 16px}button:disabled{opacity:.45;cursor:default}[hidden]{display:none!important}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f4c931;outline-offset:3px}#game-shell{width:100%;height:100dvh;position:relative;overflow:hidden;background:#0c0d0e}#canvas{width:100%;height:100%;object-fit:contain;display:block;border:0;background:#090a0b}.welcome,.loading-screen{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:radial-gradient(ellipse at 70% 15%,#55504838,transparent 60%),repeating-linear-gradient(130deg,#ffffff02 0 1px,transparent 1px 8px),#191b1d}.welcome:before,.loading-screen:after{content:"";position:absolute;inset:auto 0 0;height:24px;background:repeating-linear-gradient(120deg,#e8bd2c 0 34px,#222325 34px 68px);opacity:.85}.edition{font-size:12px;font-weight:bold;letter-spacing:.28em;color:#b4afa4;margin:0 0 18px}h1{margin:0;font-style:italic;letter-spacing:-.07em;font-size:clamp(50px,10vw,116px);line-height:1;transform:skew(-4deg);text-shadow:3px 5px #0008}h1 span{color:#f3c933}h1 b{font-size:1.3em;margin-left:14px;color:#f3c933}.tagline{font-size:clamp(14px,2.1vw,20px);margin:24px 0 40px;color:#c8c3b8}.primary{color:#171819;background:#f1c62d;border:0;font-weight:900;font-style:italic;min-width:228px;padding:16px 24px;letter-spacing:.07em;box-shadow:5px 5px #0007}.primary:hover{background:#ffdb4b}.primary span{margin-left:35px}.controls{color:#d4cec0;font-size:14px;line-height:1.8;margin:27px 0 17px}.controls small{color:#96958e;font-size:12px}.text-button{background:transparent;border:0;border-bottom:1px solid #696960;color:#b8b4a8;font-size:13px;padding:4px}.loading-screen{z-index:5}.load-panel{width:min(600px,82vw);text-align:left}.load-panel h2{font-size:clamp(22px,4vw,34px);font-style:italic;margin:0 0 25px}.load-panel progress{appearance:none;width:100%;height:14px;border:1px solid #565550;background:#111;display:block;accent-color:#e9c22f}.load-panel progress::-webkit-progress-bar{background:#121313}.load-panel progress::-webkit-progress-value{background:repeating-linear-gradient(120deg,#f0ca35 0 18px,#d6a918 18px 36px)}.load-panel progress:indeterminate{background:repeating-linear-gradient(120deg,#f0ca35 0 18px,#242525 18px 36px);animation:loading-stripes 1s linear infinite}.load-panel progress:indeterminate::-webkit-progress-bar{background:repeating-linear-gradient(120deg,#f0ca35 0 18px,#242525 18px 36px);background-size:84px 100%;animation:loading-stripes 1s linear infinite}@keyframes loading-stripes{to{background-position:84px 0}}[data-load-detail]{font-size:14px;color:#c9c4b9;line-height:1.6;min-height:45px}.load-tip{font-size:12px;line-height:1.8;color:#8e918e;margin-top:48px}.loading-screen[data-state=error] progress{display:none}.loading-screen[data-state=error] h2{color:#e0ae65}.game-tools{position:absolute;top:12px;right:12px;display:flex;gap:6px;z-index:6;opacity:.5}.game-tools:hover,.game-tools:focus-within{opacity:1}.game-tools button{padding:5px 10px;background:#141515b3;font-size:22px}.audio-status{position:absolute;left:15px;bottom:30px;color:#c9c4b9;font-size:12px;pointer-events:none;z-index:7}body:not([data-started]) .game-tools{display:none}body[data-started] #welcome{display:none}#options-panel{position:absolute;inset:0 0 0 auto;width:min(430px,100%);padding:22px;background:#212325fa;border-left:2px solid #cba629;z-index:9;overflow:auto;text-align:left}#options-panel header{display:flex;align-items:center;justify-content:space-between}#options-panel h2{font-style:italic}fieldset{margin:22px 0;border:1px solid #565952;padding:14px}legend{color:#e2c866}label{display:flex;flex-direction:column;gap:9px;margin:14px 0;font-size:14px}label.check{flex-direction:row;align-items:center}input[type=file]{max-width:100%;font-size:12px}fieldset button{padding:8px;font-size:12px;margin:5px 2px}fieldset p{font-size:12px;line-height:1.5;color:#bebfb5}a{color:#e9c53d}#setup{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(680px,95%);max-height:94%;overflow:auto;background:#252728;border:2px solid #dfbd3a;padding:25px;z-index:8}#fields{display:grid;grid-template-columns:1fr 1fr;gap:5px 18px}@media(max-width:600px){.tagline{margin-bottom:28px}#fields{grid-template-columns:1fr}.load-tip{margin-top:24px}.primary{min-width:200px}.game-tools{top:5px;right:5px}}
.file-choice{position:relative;display:inline-block;align-self:flex-start;border:1px solid #666461;padding:8px 12px;background:#303231;font-size:12px;cursor:pointer}.file-choice input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.file-choice:focus-within{outline:3px solid #f4c931;outline-offset:3px}#language-note{font-size:12px;color:#bbb;line-height:1.5}
#web-credit{position:absolute;right:12px;bottom:8px;z-index:6;margin:0;font:12px/1 Arial,Helvetica,sans-serif;color:#fff;text-shadow:0 1px 3px #000;pointer-events:none;animation:web-credit 30s ease-in forwards}@keyframes web-credit{0%,20%{opacity:.55}to{opacity:0}}
#fps-counter{position:absolute;top:12px;left:12px;z-index:6;padding:6px 9px;background:#000a;color:#f2eee5;font:14px monospace;pointer-events:none}
.welcome{overflow:auto;padding:24px 16px}.gpu-choice .gpu-status{font-size:12px;color:#c8c3b8;margin:0;max-width:430px;overflow-wrap:anywhere}.gpu-warning,.gpu-settings .gpu-warning{max-width:430px;color:#efd78b;border-left:3px solid #d3ab35;background:#d3ab3510;padding:9px 12px;margin:0;font-size:12px;line-height:1.5;text-align:left}.gpu-settings .gpu-status{overflow-wrap:anywhere}.gpu-settings .gpu-warning{margin:12px 0}@media(max-height:600px){.welcome{justify-content:flex-start;padding-top:28px}}
.load-panel{width:min(780px,88vw);text-align:center}
/* Trim the official PNG's transparent top/bottom padding without altering the artwork. */
.load-logo{display:block;width:min(100%,160dvh);height:auto;aspect-ratio:1280/492;object-fit:cover;margin:0 auto clamp(28px,6dvh,52px)}
.load-panel h2{font-size:18px;letter-spacing:2px;text-transform:uppercase;margin:0 0 18px}
.load-panel progress{width:min(380px,75vw);height:8px;margin:0 auto;border:1px solid #5c5540;background:#121313}
.load-panel progress::-webkit-progress-value{background:linear-gradient(#ffcf31,#ec9a09)}
.load-panel progress::-moz-progress-bar{background:linear-gradient(#ffcf31,#ec9a09)}
.load-panel [data-load-detail]{margin:18px auto;max-width:440px;min-height:0;font-size:12px;color:#99968c}
.loading-screen[data-state=error] [data-load-detail]{color:#c9c4b9}
.load-panel [data-load-retry]{margin-top:12px}
.return-button{display:block;margin:28px 0 8px;font-size:14px}body:not([data-started]) .return-button{display:none}
.gpu-choice{display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:19px}.secondary{border:1px solid #9d863e;background:#28271e;color:#e9d694;font-size:13px;padding:10px 18px}.secondary:hover{background:#393424}.gpu-choice small{font-size:11px;color:#96958e;padding:0 12px}#gpu-help{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid #cba629;background:#212325;color:#f2eee5;padding:24px;line-height:1.6}#gpu-help::backdrop{background:#000b}#gpu-help header{display:flex;align-items:center;justify-content:space-between;gap:16px}#gpu-help h2{font-size:21px;font-style:italic;line-height:1.3;margin:0}#gpu-help header button{font-size:12px;padding:7px 10px}#gpu-help p,#gpu-help li{font-size:14px}#gpu-help h3{font-size:15px;margin:22px 0 8px}#gpu-help code{overflow-wrap:anywhere;font-size:12px;color:#e9d694}.gpu-command{display:block;padding:10px 12px;background:#151616;border:1px solid #45473f;user-select:all}.gpu-note{color:#aaa99f;font-size:12px!important}@media(max-height:600px){.welcome .edition{margin-bottom:10px}.welcome h1{font-size:clamp(45px,9vw,82px)}.welcome .tagline{margin:14px 0 20px}.gpu-choice{margin-top:12px}.welcome .controls{margin:14px 0 10px}}
