@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-1.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cinzel;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-1.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/font-2.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/font-3.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-4.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-4.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-5.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-6.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/font-7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-6.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/font-7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-6.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/font-7.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}#world{object-fit:contain;background:#17201c}#save-warning{padding:8px 10px;background:#583d28;border:1px solid #be915a;font-size:12px;line-height:1.4;margin:8px 0}#save-warning[hidden]{display:none}.contact-portrait{float:right;width:64px;height:64px;margin:0 0 10px 12px;border:2px solid #819071;image-rendering:pixelated}dialog:has(.contact-portrait) h1{font-size:30px}dialog .dialog-actions{clear:both}@media(max-width:650px){.contact-portrait{width:48px;height:48px}dialog:has(.contact-portrait) h1{font-size:25px}}.field-map{width:100%;height:auto;image-rendering:pixelated;max-height:180px;object-fit:contain}#field-map{margin-left:auto}header #journal{flex-shrink:0}@media(max-width:650px){header{gap:8px!important}header a{font-size:22px!important}header button{padding:8px 10px!important}}@media(min-width:651px){.shell .viewport{height:calc(100dvh - 330px);max-height:620px;min-height:240px;aspect-ratio:auto}.shell{padding-top:16px!important}.shell .operation{padding:14px 0}}:root{font-family:DM Sans,sans-serif;color:#e0ddcc;background:#151d1d;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:600 14px DM Sans,sans-serif;min-height:44px;color:#e0ddcc;background:#303b35;border:1px solid #62705e;border-radius:3px;padding:10px 16px;cursor:pointer}button:hover{background:#485642}button:focus-visible,a:focus-visible{outline:3px solid #efbf62;outline-offset:3px}.shell{max-width:1280px;margin:auto;padding:24px 40px}header{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #4a5446;padding-bottom:18px}header a{font:700 27px Barlow Condensed,sans-serif;color:#ece5cc;text-decoration:none}header b{color:#ce7b45}header span{font-size:10px;letter-spacing:3px;color:#9ba28e}.operation{display:flex;flex-direction:column;gap:7px;padding:22px 0}.operation span,.eyebrow{font-size:11px;letter-spacing:2px;color:#bcaf87}.operation strong{font-size:16px;font-weight:500}.viewport{position:relative;aspect-ratio:16/9;min-height:160px;overflow:hidden;background:#252b2b;border:1px solid #68715c}canvas{width:100%;height:100%;display:block;image-rendering:pixelated}.crosshair{position:absolute;left:50%;top:50%;color:#e2d8b1;opacity:.6}.stamp{position:absolute;top:18px;left:20px;font-size:10px;letter-spacing:2px;color:#d3caaa}#target{position:absolute;top:12%;width:100%;text-align:center;font:600 20px Barlow Condensed,sans-serif;text-shadow:0 2px 3px #000}#message{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;font-size:14px;text-shadow:0 2px 2px #000;background:#18211cc9}.resources{display:flex;justify-content:space-between;gap:12px;padding:18px;background:#232e29;border:1px solid #505f4d;font-size:11px;letter-spacing:1px}.resources b{font:600 22px Barlow Condensed,sans-serif;color:#eee2bd;margin-left:8px}.controls{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin-top:12px}.controls small{display:block;font-size:10px;margin-top:2px}.primary{background:#a45b35;color:#fff;border-color:#cb8051}footer{display:flex;justify-content:space-between;gap:20px;margin-top:20px;color:#788776;font-size:9px;letter-spacing:1px}dialog{background:#202b26;color:#e5e1cc;border:1px solid #84916e;width:min(560px,calc(100% - 28px));max-height:90dvh;padding:32px;box-shadow:0 30px 100px #000a}dialog::backdrop{background:#091211c9;backdrop-filter:blur(5px)}dialog h1{font:600 44px/1.05 Barlow Condensed,sans-serif;margin:20px 0}dialog p{white-space:pre-line;font-size:15px;line-height:1.7;color:#bbc4b1}.dialog-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.dialog-actions button:first-child{background:#a45b35;border-color:#cb8051}@media(max-width:650px){.shell{padding:12px}header span{display:none}header{padding-bottom:10px}.operation{padding:12px 0}.operation strong{font-size:13px}.viewport{aspect-ratio:1.2}.resources{padding:10px 6px;gap:5px;font-size:8px;letter-spacing:0}.resources b{font-size:18px;margin-left:2px}.controls{grid-template-columns:repeat(4,1fr)}.controls button{padding:6px;font-size:12px}footer{font-size:8px}footer span{display:none}dialog{padding:20px}dialog h1{font-size:32px}dialog p{font-size:13px}}.dialog-active .shell{padding:0!important}.dialog-active .shell>header,.dialog-active .operation,.dialog-active .resources,.dialog-active .controls,.dialog-active footer,.dialog-active #save-warning{display:none}.dialog-active .shell .viewport{position:fixed;top:0;left:0;right:0;margin:0 auto;width:100%;max-width:1280px;height:260px;min-height:260px;max-height:260px;aspect-ratio:auto}.dialog-active .stamp,.dialog-active #target,.dialog-active #message,.dialog-active .crosshair{display:none}.dialog-active dialog[open]{position:fixed;inset:260px 0 0;margin:0 auto;width:100%;max-width:1280px;max-height:none;height:calc(100dvh - 260px);padding:20px 28px;display:flex;flex-direction:column;gap:10px;overflow:hidden;box-shadow:none}.dialog-active dialog::backdrop{background:transparent;backdrop-filter:none}.dialog-active dialog .eyebrow{margin:0;font-size:10px;line-height:1.2;flex-shrink:0}.dialog-heading{display:flex;gap:12px;align-items:center;flex-shrink:0}.dialog-active dialog .dialog-heading h1{font-size:32px;line-height:1.1;margin:0;flex:1}.dialog-heading .contact-portrait{float:none;flex:none;width:48px;height:48px;margin:0}.dialog-active dialog .dialog-copy{font-size:16px;line-height:1.5;margin:0;flex:1;min-height:0;height:0;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.dialog-active .dialog-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;flex-shrink:0}.dialog-active .dialog-actions button{min-height:44px;white-space:normal}.dialog-pages{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;flex-shrink:0}.dialog-pages[hidden]{display:none}.dialog-pages span{text-align:center;font-size:12px;color:#c5bb91}.dialog-pages button:disabled{opacity:.4;cursor:default}.dialog-active .field-map{height:150px;max-height:150px;flex-shrink:0}@media(max-width:650px){.dialog-active .shell .viewport{height:160px;min-height:160px;max-height:160px}.dialog-active dialog[open]{top:160px;height:calc(100dvh - 160px);padding:12px;gap:8px}.dialog-active dialog .dialog-heading h1{font-size:24px}.dialog-active dialog .dialog-copy{font-size:13px;line-height:1.4}.dialog-active .dialog-actions button,.dialog-pages button{font-size:13px;padding:8px}.dialog-heading .contact-portrait{width:40px;height:40px}.dialog-active .field-map{height:110px;max-height:110px}}:root{font-family:ui-monospace,Courier New,monospace;color:#f1ecd2;background:#080a06;color-scheme:dark}body{overscroll-behavior:none}button{font:700 13px/1.15 ui-monospace,Courier New,monospace;border-radius:0;border:1px solid #95976a;border-top-color:#c2c395;border-left-color:#c2c395;background:linear-gradient(#565d2c,#313719);color:#fff8da;text-shadow:1px 1px #161b0c;box-shadow:inset -1px -1px #161b0c;touch-action:manipulation}button:hover{background:#68703b}button:active{background:#282e14;box-shadow:inset 2px 2px #141809;transform:translateY(1px)}button:focus-visible{outline:2px solid #f4d25d;outline-offset:-3px}.shell{width:100%;max-width:960px;height:100dvh;padding:0!important;display:flex;flex-direction:column;background:#11160d;overflow:hidden}.shell>header{order:5;flex:none;display:flex;gap:0!important;padding:0!important;border:0;height:44px;background:linear-gradient(#606638,#353b1c)}.shell>header a{display:flex;flex:1;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 8px;font:700 14px ui-monospace,Courier New,monospace;color:#fff8da;border:1px solid #909365;text-shadow:1px 1px #17200c}.shell>header a{font-size:14px!important}.shell>header a b,.shell>header span{display:none}.shell>header button{flex:1;height:44px;padding:4px!important;font-size:14px}.shell>header #field-map{margin:0}.shell .operation{order:0;flex:none;gap:0;padding:0!important;border:1px solid #8b9060;background:repeating-linear-gradient(0deg,#424a22 0 2px,#485126 2px 4px);min-height:44px;justify-content:center}.operation span{font:700 10px/1.2 ui-monospace,Courier New,monospace;letter-spacing:1px;color:#c7c89b;padding:2px 7px}.operation strong{font:700 12px/1.25 ui-monospace,Courier New,monospace;color:#fff5ce;padding:2px 7px;text-shadow:1px 1px #111700}.shell .viewport{order:1;flex:1;position:relative;width:100%;height:auto!important;min-height:160px;max-height:none;aspect-ratio:auto;border:0;margin:0}.stamp{display:none}#target{top:0;left:0;right:0;width:100%;min-height:22px;padding:4px 6px;text-align:left;font:700 12px/1.15 ui-monospace,Courier New,monospace;background:#303b18e8;color:#fff7d2;text-shadow:1px 1px #111700}#target:empty{display:none}#message{inset:8px 8px auto;margin:0;padding:6px 8px;text-align:left;font:700 12px/1.3 ui-monospace,Courier New,monospace;background:#151d0ed9;color:#fff1be;pointer-events:none;z-index:2}#message:empty{display:none}.resources{order:2;flex:none;display:grid;grid-template-columns:1fr 1fr 44px 1.2fr 1fr;gap:0;padding:0!important;height:50px;min-height:50px;border:0;border-block:1px solid #9ba16a;background:repeating-linear-gradient(0deg,#495226 0 2px,#424b22 2px 4px);font:700 9px/1.15 ui-monospace,Courier New,monospace;letter-spacing:0}.resources>span,.resources>button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;min-width:44px;min-height:44px;padding:1px 3px;border:0;border-right:1px solid #828953;color:#e0dfb3;text-align:center;background:transparent;box-shadow:none;border-radius:0}.resources>:last-child{border:0}.resources>button:hover{background:#7b864333}.resources>button:active{background:#252e19;transform:none}.resources b{font:700 15px/17px ui-monospace,Courier New,monospace;margin:0;color:#fff7d6}.resources #health{color:#ffb19b}.resources #armor{color:#b8d4d6}.shell .operation{min-height:26px}.operation #chapter,.operation #objective{display:none}.operation #target{position:static;min-height:24px;font-size:12px;padding:5px 7px;background:none}.resources canvas[data-icon],.resources #weapon-icon{width:24px;height:16px;object-fit:contain}.resources>.courier-portrait{padding:0;overflow:hidden}.resources #courier-face{width:42px;height:48px;border:0;image-rendering:pixelated}.resources .hud-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap!important}.resources .health-icons{display:flex;align-items:center;gap:2px;height:17px}.health-icons small{font:700 9px/1 monospace;color:#dedcb2;max-width:30px;overflow:hidden}.shell>header button{min-width:44px}.world-controls{position:absolute;right:12px;bottom:12px;z-index:3;display:grid;grid-template-columns:repeat(2,52px);gap:8px;margin:0;padding:0;background:none;border:0}.world-controls button{display:flex;align-items:center;justify-content:center;width:52px;height:52px;min-width:44px;min-height:44px;padding:10px;background:#101a1873;border:1px solid rgba(224,232,210,.5);border-radius:12px;box-shadow:0 2px 6px #0003;text-shadow:none;color:#fff9dd;touch-action:manipulation}.world-controls button:hover{background:#28352ab3}.world-controls button:active{background:#757e52b3;transform:scale(.96)}.world-controls button:focus-visible{outline-offset:2px}.world-controls svg{display:block;width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.world-controls [data-action=use]{border-color:#e7d6a28c;background:#5b4d2b7a}.world-controls [hidden]{display:none!important}.direction-pad .world-controls{grid-template-columns:repeat(3,52px)}.direction-pad [data-action=left]{grid-area:1/1}.direction-pad [data-action=forward]{grid-area:1/2}.direction-pad [data-action=right]{grid-area:1/3}.direction-pad [data-action=wait]{grid-area:2/1}.direction-pad [data-action=back]{grid-area:2/2}.direction-pad [data-action=use]{grid-area:2/3}.dialog-active .world-controls{visibility:hidden;pointer-events:none}.shell>footer{display:none}.viewport,#world{touch-action:none;user-select:none;-webkit-user-select:none}#save-warning{order:4;flex:none;margin:0;font-size:10px;padding:4px}.dialog-active .shell .viewport{max-width:960px;height:260px!important;flex:none}.dialog-active dialog[open]{max-width:960px;background:repeating-linear-gradient(0deg,#252e18 0 3px,#28311b 3px 6px);border:2px solid #9da572;color:#fff1c5;padding:12px;gap:8px}.dialog-active dialog .eyebrow{color:#d5cf94;font-family:ui-monospace,Courier New,monospace;letter-spacing:1px}.dialog-active dialog .dialog-heading h1{font:700 24px/1.15 ui-monospace,Courier New,monospace;color:#fff4c9;text-shadow:2px 2px #101709}.dialog-active dialog .dialog-copy{font:14px/1.45 ui-monospace,Courier New,monospace;color:#e7e4c7}.dialog-active .dialog-actions button:first-child{background:linear-gradient(#8e773b,#534323);border-color:#c9b377}.dialog-active .dialog-actions button,.dialog-pages button{font-family:ui-monospace,Courier New,monospace}.dialog-heading .contact-portrait{border-color:#a2a774}@media(max-width:650px){.dialog-active .shell .viewport{height:160px!important}.dialog-active dialog .dialog-heading h1{font-size:20px}.dialog-active dialog .dialog-copy{font-size:12px;line-height:1.4}.dialog-active .dialog-actions button,.dialog-pages button{font-size:12px;padding:6px}.shell .viewport{min-height:160px}}@media(max-height:550px)and (min-width:651px){.operation span{display:none}.shell .operation{min-height:28px}.dialog-active .shell .viewport{height:160px!important;min-height:160px;max-height:160px}.dialog-active dialog[open]{top:160px;height:calc(100dvh - 160px)}}.dialog-active .shell .viewport{height:var(--dialog-world-height,160px)!important;min-height:160px;max-height:none}.dialog-active dialog[open]{top:var(--dialog-world-height,160px);height:calc(100dvh - var(--dialog-world-height,160px))}
