*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#090706;color:#eee6d8;font:14px Arial,sans-serif}button{font:inherit}#stage{position:relative;width:100%;height:100vh;height:100dvh;background:#000;overflow:hidden}#stage:fullscreen{width:100vw;height:100vh}#game{width:100%;height:100%;outline:none}#game canvas{display:block;object-fit:contain;outline:none}#cover{position:absolute;inset:0;z-index:10;overflow:auto;background:#100b09;isolation:isolate;transition:opacity .35s ease}#cover[hidden]{display:none}.art,.shade{position:absolute;inset:0;pointer-events:none;z-index:-1}.art{background:url('/assets/ghost-of-sparta.jpg') right bottom / auto 125% no-repeat}.shade{background:linear-gradient(90deg,#100b09 3%,rgba(16,11,9,.97) 21%,rgba(16,11,9,.8) 39%,rgba(16,11,9,.22) 65%,rgba(16,11,9,.04)),linear-gradient(0deg,#100b09 0%,transparent 28%,rgba(16,11,9,.15) 100%)}.menu{position:relative;margin-left:7.5vw;width:min(550px,43vw);min-height:calc(100% - 150px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0 28px;text-align:center}.title{width:100%;margin-bottom:45px}.rule{display:block;width:66%;height:1px;margin:0 auto;background:linear-gradient(90deg,transparent,#826749,transparent)}h1{margin:19px -15px 6px;font:700 clamp(36px,4.8vw,76px)/1.05 Georgia,serif;white-space:nowrap;letter-spacing:-.055em;color:#d7b077;text-shadow:0 3px 0 #452a19,0 8px 30px #000}.of{font-size:.43em;letter-spacing:-.06em;vertical-align:.22em}.subtitle{font:16px Georgia,serif;letter-spacing:.35em;color:#c9bba8;margin:12px 0 24px}#play{position:relative;display:flex;align-items:center;justify-content:center;gap:18px;width:270px;min-height:64px;padding:18px 32px;border:1px solid #ad8454;background:linear-gradient(110deg,#451b15,#6a2c1e 48%,#381611);box-shadow:inset 0 0 0 4px #21110cb3,0 8px 35px #0008;color:#f2dfbd;font:700 19px Georgia,serif;letter-spacing:.2em;cursor:pointer;transition:filter .2s,box-shadow .2s}#play:hover:enabled{filter:brightness(1.25);box-shadow:inset 0 0 0 4px #21110cb3,0 0 25px #b455292e}#play:focus-visible{outline:2px solid #f3cb82;outline-offset:5px}#play:disabled{opacity:.5;cursor:wait}.play-icon{font:12px Arial;letter-spacing:0}.hint{margin:26px 0 0;color:#988b7b;font-size:11px;line-height:1.8}.hint span{margin:0 5px;color:#9f7543}.loading{position:absolute;bottom:45px;left:7.5vw;right:7.5vw}.loading-label{display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:11px;letter-spacing:.12em;color:#c6b599;margin-bottom:17px;text-transform:uppercase;font-variant-numeric:tabular-nums}.track{position:relative;padding:5px 35px 5px 0;border-top:1px solid #92704766;border-bottom:1px solid #92704766;background:linear-gradient(90deg,#3a211122,transparent)}progress{display:block;width:100%;height:6px;border:0;appearance:none;background:#382920}progress::-webkit-progress-bar{background:#382920}progress::-webkit-progress-value{background:linear-gradient(90deg,#7c251a,#bb5630 60%,#e0b776);box-shadow:0 0 15px #ce5f3b80;transition:width .25s ease}progress::-moz-progress-bar{background:linear-gradient(90deg,#7c251a,#e0b776)}.omega{position:absolute;right:0;top:50%;transform:translateY(-50%);font:28px Georgia,serif;color:#b8935f;text-shadow:0 0 20px #cd784650}#cover.ready #play{opacity:1}#cover.error .loading-label{color:#ffc5ab}#game .ejs_menu_bar,#game .ejs_virtualGamepad{display:none!important}@media(min-width:1600px){.menu{width:620px}.subtitle{font-size:21px}#play{width:300px;min-height:72px}.loading{bottom:55px}}@media(max-width:850px){.art{background-position:60% bottom;opacity:.65}.shade{background:linear-gradient(90deg,#100b09d9,#100b0980),linear-gradient(0deg,#100b09,transparent 85%)}.menu{margin:0 auto;width:min(550px,86vw);min-height:calc(100% - 120px);padding-top:30px}.title{margin-bottom:26px}h1{font-size:clamp(35px,8vw,64px)}.subtitle{font-size:13px;letter-spacing:.25em}.loading{left:7vw;right:7vw;bottom:28px}.loading-label{font-size:10px;letter-spacing:.05em}.hint{font-size:10px}}@media(max-height:680px){#cover{display:flex;flex-direction:column}.menu{min-height:0;flex:1;padding:20px 0}.title{margin-bottom:18px}h1{font-size:46px;margin-top:10px}.subtitle{margin:9px 0 13px;font-size:12px}#play{min-height:50px;padding:13px}.hint{margin-top:16px}.loading{position:relative;inset:auto;margin:10px 7.5vw 24px;flex-shrink:0}}@media(max-width:450px){.subtitle{font-size:11px}h1{font-size:42px}.hint span{margin:0 2px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
.art{mask-image:linear-gradient(90deg,transparent 22%,#000 55%);-webkit-mask-image:linear-gradient(90deg,transparent 22%,#000 55%)}
@media(max-width:850px){.art{mask-image:none;-webkit-mask-image:none}}

.controller-guide{width:100%;max-width:540px;margin:24px 0 0}.controller-map{display:block;width:100%;height:auto;overflow:visible}.controller-shell{stroke:#8b7352;stroke-width:1.5}.controller-leaders{fill:none;stroke:#b29160;stroke-width:1;opacity:.8;stroke-linecap:round;stroke-linejoin:round}.controller-key{font:600 18px Arial,sans-serif;fill:#f1dfbf;letter-spacing:.03em}.controller-note{font:12px Arial,sans-serif;fill:#bcae9a;letter-spacing:.01em}.space-key{font-size:14px;letter-spacing:0}.controller-guide figcaption{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 20px;margin-top:17px;font-size:11px;color:#bcae9a}.controller-guide figcaption b{color:#e6d3b2;font-weight:400}.controller-guide+.hint{margin-top:17px}@media(max-height:800px){.controller-guide{max-width:440px;margin-top:20px}.title{margin-bottom:25px}}@media(max-height:680px){.controller-guide{max-width:390px;margin-top:14px}.controller-guide figcaption{margin-top:8px;font-size:10px;gap:6px 14px}.controller-guide+.hint{margin-top:12px}}@media(max-width:850px){.controller-guide{max-width:500px}.controller-note{font-size:14px}.controller-guide figcaption{gap:8px 13px;font-size:11px}}

#save-warning{position:absolute;z-index:20;bottom:20px;left:50%;transform:translateX(-50%);width:min(90%,560px);margin:0;padding:12px 18px;background:#321b13f2;border:1px solid #b8935f;color:#f4dec2;text-align:center;font-size:13px;line-height:1.5}
