:root{--page-gutter:28px;font-family:system-ui,sans-serif;color:#e8e8dc;background:#121a18;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 0,#263e32,transparent 65%);min-height:100vh}#app{width:100%}header,footer{width:calc(100% - 2 * var(--page-gutter));max-width:944px;margin-left:auto;margin-right:auto}#welcome,#game,#error{width:calc(100% - 2 * var(--page-gutter));max-width:800px;margin-left:auto;margin-right:auto}header{display:flex;justify-content:space-between;align-items:center;padding:28px 0;border-bottom:1px solid #ffffff18}.brand{font-size:20px;font-weight:800;letter-spacing:.13em;color:inherit;text-decoration:none}.brand span{color:#b9d394}.edition,.eyebrow{font-size:11px;letter-spacing:.2em;color:#b9d394}main{width:100%}.welcome{padding:42px 0 28px}h1{font-family:Georgia,serif;font-size:clamp(36px,6vw,58px);font-weight:400;line-height:1.06;margin:16px 0 20px}.welcome p{color:#c3cabe;line-height:1.7}.start-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}.start-row label{font-size:12px}button,select{font:inherit}button{background:#c2d99e;color:#17211b;border:0;border-radius:5px;padding:12px 18px;font-weight:650;cursor:pointer}button:hover{background:#d7e9ba}button:disabled{opacity:.5;cursor:wait}select{padding:10px;border:1px solid #6b7c68;border-radius:5px;background:#18221f}#load-status{font-size:12px;color:#a3b09e}.scene{margin:28px 0 18px;background:#0b110f;border-block:1px solid #526047;overflow:hidden;box-shadow:0 12px 40px #0003}#scene{width:100%;height:auto;display:block;image-rendering:auto}.scene-footer{display:flex;justify-content:space-between;padding:12px 18px;font-size:12px;color:#bfd1aa;border-top:1px solid #526047}#transcript p{white-space:pre-wrap}#transcript{height:clamp(220px,30vh,420px);overflow:auto;overscroll-behavior:contain;scrollbar-color:#647855 transparent;padding:10px 16px 16px 0;font-size:16px;line-height:1.6}#transcript p{margin:12px 0}#transcript .command{color:#c2d99e;margin-top:26px;font-weight:650}:focus-visible{outline:2px solid #c2d99e;outline-offset:3px}footer{display:flex;justify-content:space-between;border-top:1px solid #ffffff18;padding:22px 0;margin-top:38px;font-size:10px;letter-spacing:.1em;color:#9da995}#error{padding:20px;background:#572b2b;color:#fff}[hidden]{display:none!important}@media(max-width:600px){:root{--page-gutter:16px}.edition{display:none}.welcome{padding-top:24px}.start-row{gap:10px}.start-row button{width:100%}.scene{margin-top:20px}.scene-footer{padding:10px}#transcript{height:32vh;font-size:15px}footer span{max-width:180px;text-align:right}header{padding:20px 0}}#icon-controls{margin:12px 0 20px;padding:16px;background:linear-gradient(120deg,#2a2119,#1b1814);border:1px solid #70502c;border-radius:7px}#icon-controls:empty{display:none}.icon-options,.icon-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.icon-options{justify-content:flex-end}.control-group{margin-top:12px}.control-group h3{font-size:12px;font-weight:500;color:#c5b598;margin:0 0 6px}.game-icon{position:relative;display:grid;place-items:center;width:62px;height:62px;padding:6px;background:#30251c;border:1px solid #705536;border-radius:6px;color:#f3dfb8}.game-icon img{width:48px;height:48px;object-fit:contain}.game-icon:hover,.game-icon[aria-pressed=true]{background:#4b3825;border-color:#e4bd79}.game-icon span{position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);z-index:3;background:#17120d;border:1px solid #b18d55;padding:5px 8px;border-radius:4px;font-size:12px;white-space:nowrap;display:none;pointer-events:none}.game-icon:hover span,.game-icon:focus-visible span{display:block}.object-name{font-size:13px;padding:9px 12px;min-height:44px;background:#372c20;color:#f3dfb8;border:1px solid #705536}.object-name:hover,.object-name[aria-pressed=true]{background:#59432c}.icon-selection{font-size:13px;color:#e1cba4;min-height:24px;margin:16px 0 4px}.icon-selection button{margin-left:10px}.icon-labels .game-icon{width:auto;min-width:62px;height:auto}.icon-labels .game-icon span{display:block;position:static;transform:none;white-space:normal;max-width:140px;background:none;border:0;padding:4px 2px 0}.icon-row>span{font-size:12px;color:#b9a98e}@media(hover:none){.game-icon{height:auto;min-height:62px;width:auto;min-width:62px}.game-icon span{display:block;position:static;transform:none;white-space:normal;max-width:130px;background:none;border:0;padding:4px 2px 0}}@media(max-width:600px){#icon-controls{padding:12px}.icon-row{gap:6px}}body.playing{height:100dvh;min-height:0;overflow:hidden;background:#080b0a}.playing #app,.playing main{height:100%;min-height:0}.playing header,.playing footer{display:none}.playing main{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:64px 20px 14px;gap:8px;isolation:isolate}.playing .scene{position:absolute;inset:0;margin:0;border:0;z-index:-2;box-shadow:none}.playing .scene:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0005,transparent 18%,transparent 45%,#0009)}.playing #scene{width:100%;height:100%;object-fit:contain;object-position:center top}.playing .scene-footer{position:absolute;inset:14px 82px auto 22px;padding:0;border:0;color:#eadfc9;font-size:11px;letter-spacing:.08em;text-shadow:0 2px 4px #000;z-index:1}.journal-toggle{position:fixed;top:10px;right:18px;width:46px;height:46px;padding:3px;background:#17130dbb;border:1px solid #ad895966;border-radius:50%;z-index:8}.journal-toggle img{width:100%;height:100%;object-fit:contain}.journal-toggle:hover{background:#4d3826}.playing #game{position:relative;width:min(100%,1040px);max-width:none;margin:0;min-height:0;max-height:26dvh;display:flex;flex-direction:column;padding:12px 22px;background:linear-gradient(110deg,#101510ed,#15201be0);border:1px solid #be9a5459;border-radius:12px;box-shadow:0 8px 30px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.playing #transcript{height:auto;min-height:0;overflow:auto;padding:0 8px 0 0;font-family:Georgia,serif;font-size:17px;line-height:1.5;scrollbar-width:thin}.playing #transcript p{margin:5px 0}.playing #transcript .previous,.playing #transcript .command{display:none}.playing #icon-controls{flex:none;width:min(100%,1100px);max-height:36dvh;overflow:auto;scrollbar-width:thin;margin:0;padding:8px 12px;display:flex;flex-wrap:wrap;justify-content:center;gap:5px 10px;border:1px solid #be9a5466;border-radius:14px;background:linear-gradient(100deg,#211a12eb,#100e0cde);box-shadow:0 8px 30px #0008;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.playing .control-group{margin:0}.playing .control-group h3{display:none}.playing .action-group{order:0}.playing .icon-options{order:1;gap:4px}.playing .icon-row{gap:3px}.playing .game-icon{width:44px;height:44px;min-width:44px;padding:3px;background:transparent;border-color:transparent;border-radius:8px}.playing .game-icon img{width:38px;height:38px;filter:drop-shadow(0 2px 2px #0009)}.playing .game-icon:hover,.playing .game-icon[aria-pressed=true]{background:#be914133;border-color:#d7af64}.playing .object-name{min-height:34px;padding:5px 8px;font-size:11px;background:#ffffff08;border-color:#a78b5144;border-radius:6px}.playing .icon-selection{order:2;flex-basis:100%;text-align:center;margin:0;min-height:0;font-size:11px;line-height:20px;color:#c9b797}.playing .icon-selection button{padding:1px 7px;min-height:22px}.playing .object-group{order:3;flex:1;min-width:120px;border-top:1px solid #c7a46133;padding-top:4px}.playing .object-group .icon-row{justify-content:center}.playing .object-group+.object-group{border-left:1px solid #c7a46133}.playing .game-icon span{bottom:auto;top:calc(100% + 1px);font:11px system-ui,sans-serif}.playing .icon-labels .game-icon{width:auto;height:auto}.playing .icon-labels .game-icon span{max-width:110px;padding:1px}.playing #new-game{padding:8px 12px;margin-top:8px}.playing.journal-open #game{position:absolute;inset:65px max(20px,calc((100% - 1040px)/2)) 20px;width:auto;max-height:none;z-index:6;background:#121b17f5;padding:20px}.playing.journal-open #transcript{flex:1}.playing.journal-open #transcript .previous,.playing.journal-open #transcript .command{display:block}.playing #error{position:fixed;top:64px;left:20px;right:20px;z-index:10;max-height:40dvh;overflow:auto}@media(max-width:600px){.playing main{padding:58px 8px 8px;gap:6px}.playing #game{padding:9px 12px;max-height:28dvh}.playing #transcript{font-size:14px;line-height:1.45}.playing #icon-controls{padding:6px;gap:4px;max-height:42dvh}.playing .game-icon{width:40px;min-width:40px;height:42px}.playing .game-icon img{width:34px;height:34px}.playing .scene-footer{left:12px;right:74px;font-size:10px}.playing.journal-open #game{inset:62px 8px 8px;padding:12px}}@media(hover:none){.playing .game-icon{height:auto;width:auto;min-height:44px;min-width:44px}.playing .game-icon span{font-size:10px;max-width:85px;padding:1px}.playing .object-name{min-height:44px}}html,body{height:100%;overflow:hidden}body:not(.playing){height:100dvh;min-height:0;background:radial-gradient(ellipse at 50% 35%,#24463b,#101c19,#070b0a 90%)}body:not(.playing) #app,body:not(.playing) main{height:100%;min-height:0}body:not(.playing) .scene,body:not(.playing) #icon-controls{display:none}body:not(.playing) #welcome{width:100%;max-width:none;height:100%;margin:0;padding:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:clamp(8px,2dvh,20px)}.title-crystal{width:clamp(70px,18dvh,180px);height:clamp(70px,18dvh,180px);object-fit:contain;filter:drop-shadow(0 0 30px #72e9b540)}#welcome h1{font-family:Georgia,serif;font-size:clamp(30px,7vw,82px);line-height:1.1;letter-spacing:.12em;color:#f0dfb5;margin:0;text-shadow:0 3px 20px #000}#welcome h1 span{color:#a7d5b7}#welcome .language-prompt{margin:8px 0;color:#bdc7b9;font-size:clamp(12px,2vw,15px);letter-spacing:.07em}.language-choices{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.language-choices button{min-width:140px;padding:16px 28px;border:1px solid #b2955d88;border-radius:3px;background:linear-gradient(#30392ddd,#18231ddd);color:#f3e3bb;font-family:Georgia,serif;font-size:22px;box-shadow:0 6px 22px #0005}.language-choices button:hover{background:#3c4e3a;border-color:#e1c783;box-shadow:0 0 24px #c6b77622}#welcome #load-status{margin:0;min-height:18px;font-size:12px}#welcome .github-link{color:#bdc7b9;font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:6px 12px}#welcome .github-link:hover{color:#f3e3bb}#welcome .github-link:focus-visible{outline:2px solid #e1c783;outline-offset:4px;border-radius:3px}body:not(.playing) #error{position:fixed;bottom:12px;left:12px;right:12px;max-height:30dvh;overflow:auto;z-index:10}@media(max-height:440px){body:not(.playing) #welcome{padding:10px;gap:6px}.title-crystal{width:60px;height:60px}#welcome h1{font-size:32px}.language-choices button{padding:10px 24px}}body:not(.playing) #adventure-overlay{display:none}.playing #adventure-overlay{width:min(100%,1500px);height:clamp(250px,35dvh,380px);min-height:0;display:grid;grid-template-columns:minmax(180px,1fr) minmax(280px,2.5fr) minmax(180px,1fr);gap:0;padding:12px;background:linear-gradient(110deg,#182018e8,#101810dd);border:1px solid #be9a5466;border-radius:14px;box-shadow:0 8px 30px #0008;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.playing #icon-controls{display:contents}.playing #game{grid-column:2;grid-row:1;width:auto;max-height:none;height:100%;padding:0 18px;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:hidden}.playing #transcript{flex:1;font-size:16px}.playing .verb-panel,.playing .object-panel{min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 8px;display:flex;flex-direction:column;gap:8px}.playing .verb-panel{grid-column:1;grid-row:1;border-right:1px solid #c7a46133}.playing .object-panel{grid-column:3;grid-row:1;border-left:1px solid #c7a46133}.playing .icon-options{order:0;justify-content:center;flex-wrap:wrap}.playing .action-group{order:1}.playing .icon-row{justify-content:center}.playing .icon-selection{order:2;flex-basis:auto;line-height:1.4;padding-bottom:5px}.playing .object-group{flex:0 0 auto;min-width:0;border:0;padding:0}.playing .object-group+.object-group{border-left:0;border-top:1px solid #c7a46133;padding-top:8px}.playing .object-group h3{display:block;text-align:center;font-size:10px;letter-spacing:.06em;margin:0 0 5px;color:#b6b59f}.playing.journal-open #game{position:fixed;inset:65px max(20px,calc((100vw - 1040px)/2)) 20px;width:auto;height:auto;max-height:none;background:#121b17fa;z-index:6;padding:20px;border:1px solid #be9a5466;border-radius:12px;overflow:hidden}.playing.journal-open #adventure-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}@media(max-width:760px){.playing #adventure-overlay{height:min(66dvh,650px);padding:8px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(75px,1fr) minmax(90px,1.65fr) minmax(65px,1fr)}.playing .verb-panel{grid-column:1;grid-row:1;flex-direction:row;flex-wrap:wrap;align-content:flex-start;justify-content:center;gap:4px 8px;border-right:0;border-bottom:1px solid #c7a46133;padding:0 0 6px}.playing .icon-options{order:2}.playing .icon-selection{order:3;width:100%;margin:0}.playing #game{grid-column:1;grid-row:2;padding:8px 2px}.playing #transcript{font-size:14px}.playing .object-panel{grid-column:1;grid-row:3;flex-direction:row;border-left:0;border-top:1px solid #c7a46133;padding:6px 0 0;gap:8px}.playing .object-group{flex:1;min-width:0}.playing .object-group+.object-group{border-top:0;border-left:1px solid #c7a46133;padding:0 0 0 8px}.playing.journal-open #game{inset:62px 8px 8px;padding:12px}}@media(max-height:500px)and (min-width:761px){.playing #adventure-overlay{height:62dvh;min-height:0;grid-template-columns:minmax(160px,1fr) minmax(240px,2fr) minmax(150px,1fr);padding:8px}.playing #transcript{font-size:14px}.playing #game{padding:0 10px}}#save-dialog{width:min(680px,calc(100vw - 24px));max-height:85dvh;padding:20px;border:1px solid #b2955d;border-radius:12px;background:#172019;color:#eee4ce;overflow:auto;box-shadow:0 15px 80px #000b}#save-dialog::backdrop{background:#000a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.save-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.save-heading h2{font:28px Georgia,serif;margin:0}#save-local,.save-slot p{font-size:12px;color:#c0bba8;line-height:1.5}#save-list{display:grid;gap:10px}.save-slot{border-top:1px solid #b2955d55;padding:12px 0}.save-slot h3{font:18px Georgia,serif;margin:0}.save-slot button{padding:8px 16px;margin-right:8px}.save-delete{background:#3a3027;color:#dfc7a6}#save-message{font-size:13px}#save-notice{position:fixed;top:52px;left:12px;max-width:min(480px,80vw);z-index:9;font-size:12px;color:#efe2c5;text-shadow:0 2px 4px #000;pointer-events:none}#save-notice:empty{display:none}#welcome-load{background:transparent;color:#c6c5ae;border:1px solid #b2955d55;padding:10px 22px;font-size:14px}#ended-load{margin:4px 0;padding:8px}@media(max-height:440px){#welcome-load{padding:6px 18px}#save-dialog{padding:12px}}#test-save-list{border:1px solid #ac9059;padding:12px;margin:14px 0;border-radius:8px}#test-save-list>p{font-size:12px;color:#c0bba8}#test-save-list>h3{margin:0 0 8px;font:20px Georgia,serif}.game-icon.no-exit img{opacity:.32;filter:grayscale(.9)}.playing .game-icon.no-exit img{opacity:.32;filter:grayscale(.9) drop-shadow(0 1px 2px #0006)}.game-icon.no-exit:hover img,.game-icon.no-exit:focus-visible img{opacity:.6}.game-icon.no-exit span{color:#b6afa3}.cutscene{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#000;color:#f0f8ff}.cutscene-stage{position:relative;width:min(100vw,calc(100dvh*16/9));aspect-ratio:16/9;container-type:size}.cutscene canvas{width:100%;height:100%;display:block}.cutscene-cue{position:absolute;left:24%;right:24%;bottom:5%;text-align:center;font-size:4.6cqh;font-weight:600;white-space:pre-line;text-shadow:0 0 3px #101010,0 0 3px #101010,1px 1px 2px #000}.cutscene-start{position:absolute;inset:0;margin:auto;width:8em;height:3em;font-size:3cqh}.cutscene-skip{position:absolute;right:2%;top:3%;font-size:2.4cqh;opacity:.6}.cutscene-skip:hover{opacity:1}.cutscene-bar{position:absolute;left:3%;right:3%;bottom:2%;display:flex;gap:1em;align-items:center;font-size:2.2cqh;transition:opacity .4s}.cutscene-bar.idle{opacity:0}.cutscene-bar input{flex:1;accent-color:#f0d890}.cutscene-bar button{font-size:inherit;width:2.2em}.cutscene-bar span{min-width:7em;text-align:right;font-variant-numeric:tabular-nums;text-shadow:1px 1px 2px #000}
