@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('./assets/fonts/dm-sans-regular.ttf') format('truetype')}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/libre-caslon.ttf') format('truetype')}
@font-face{font-family:'VT323';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/vt323.ttf') format('truetype')}
@font-face{font-family:'IBM VGA';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/fonts/ibm-vga-8x16.woff') format('woff')}
:root{font-family:'DM Sans',Arial,sans-serif;color:#2f4537;background:#f5f6f0}*{box-sizing:border-box}body{margin:0}button,a{font:inherit}button{cursor:pointer}a{color:#31583e}a:hover{text-decoration:underline}.site-header{height:152px;display:flex;align-items:center;justify-content:space-between;padding:0 max(25px,calc((100vw - 1260px)/2));border-bottom:1px solid #dfe4d9;background:#fffefa}.brand{display:flex;align-items:center;justify-content:space-between;width:100%;text-decoration:none}.brand-logo{display:block;height:108px;width:auto}.header-button{background:#264936;color:#f3ead0;border:1px solid #3a5a41;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:600;flex-shrink:0}.header-button:hover{background:#345b3e}main{max-width:1260px;margin:auto;padding:9px 25px 60px}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:700;color:#879974;margin:0 0 12px}h2{font-size:15px;margin:0 0 12px}.game-shell{max-width:1000px;margin:auto}.signal{display:none}.signal.error{display:flex;align-items:center;gap:9px;font-size:12px;color:#a8493c;background:#fdf2ef;border:1px solid #f3d4cd;border-radius:8px;padding:10px 16px;margin:0 0 14px}.signal.error:before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#d28468;flex-shrink:0}.crt-frame{position:relative;width:var(--frame-width, 100%);left:var(--frame-left, 0px);top:var(--frame-top, 0px);aspect-ratio:var(--frame-aspect-w, 1640)/var(--frame-aspect-h, 1749);box-sizing:border-box;height:calc(var(--frame-base-height, 1081.265625px) + var(--frame-height-add, 0px));padding:13.02% 12.68% calc(38.46% - var(--grey-extra-bottom, 0px)) 12.87%;background:#000000;background-clip:content-box;transform:scaleX(var(--frame-scale-x, 1));filter:drop-shadow(0 20px 45px #1c2a2050)}.crt-frame-photo{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}#dos-player{width:calc(100% + var(--dosbox-width-add, 20px));height:calc(var(--dosbox-base-height, 566.484375px) + var(--dosbox-height-add, 0px));background:#0b0e0b;border-radius:6px;overflow:visible;box-sizing:border-box;position:relative;left:var(--dosbox-left, -45px);top:var(--dosbox-top, 2px);box-shadow:inset 0 0 0 36px #000}#dos-player .jsdos{height:100%}#dos-player canvas{image-rendering:pixelated!important;position:relative!important;top:0!important;left:0!important;width:100%!important;height:100%!important}#dos-player .sidebar{position:fixed!important;left:0!important;top:calc(var(--bezel-row-top) - 8px)!important;width:100%!important;height:var(--bezel-row-height)!important;padding:0 0 0 var(--bezel-row-inset)!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:6px!important;background:transparent!important;z-index:10;pointer-events:none}#dos-player .sidebar>*{pointer-events:auto;flex:0 0 auto!important;margin:0!important}#dos-player .sidebar>.cycles{width:auto!important;display:flex!important;align-items:center!important}#dos-player .sidebar>.save-buttons,#dos-player .sidebar>.contentbar{display:none!important}#dos-player .sidebar>.sidebar-button:nth-child(2){position:absolute!important;left:50%!important;transform:translateX(-50%)}#dos-player .w-12.flex-shrink-0{width:0!important;flex-basis:0!important}#dos-player .sidebar .w-2.h-1{position:absolute!important;left:86.767%!important;top:calc(89.58% + 8px)!important;margin:0!important;width:var(--led-width, 8px)!important;height:var(--led-height, 4px)!important}#dos-player .sidebar .sidebar-button,#dos-player .sidebar-thin .sidebar-button{color:#2a2a2a!important}#dos-player .sidebar .sidebar-button:hover,#dos-player .sidebar-thin .sidebar-button:hover,#dos-player .sidebar-highlight{color:#a8493c!important}.touch-controls{margin-top:16px;padding:14px 16px;display:flex;flex-wrap:wrap;gap:14px;align-items:end;background:#1d2f24;border:1px solid #334936;border-radius:12px}.touch-controls>button,.touch-controls>div button{background:#2a4030;border:1px solid #547052;border-radius:6px;min-width:43px;height:39px;padding:0 11px;color:#ebf2df;font-size:16px;font-weight:600}.touch-controls>div{display:flex;gap:6px}.touch-controls>div:last-child button{font-size:11px}.touch-controls button:hover{background:#354d3a}.touch-controls button:focus-visible,a:focus-visible{outline:3px solid #bba359;outline-offset:2px}.header-actions{margin-left:auto;display:flex;gap:10px}#app-buttons{display:contents}.award{max-width:1000px;margin:27px auto 0;background:#fffefa;border:1px solid #e0e6d9;border-radius:9px;padding:28px 30px}.award h2{font-family:'Libre Caslon Text',Georgia,serif;font-size:24px;font-weight:400;color:#274634;margin:0 0 14px;letter-spacing:-.4px}.award p{font-size:13.5px;color:#4b5a44;line-height:1.85;margin:0 0 13px;max-width:760px}.award .citation{font-size:11.5px;color:#8b9781;font-style:italic;margin:16px 0 0}.float-win{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:640px;height:560px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);min-width:320px;min-height:220px;box-sizing:border-box;display:flex;flex-direction:column;resize:both;overflow:hidden;border:1px solid #dce4d2;border-radius:14px;color:#2f4537;background:#fffefa;box-shadow:0 24px 100px #23332640;z-index:1000}.float-win[hidden]{display:none}.float-win-keyboard{top:calc(50% - 30px);left:calc(50% + 30px);width:560px;height:400px}body.dragging-float-win{cursor:move;user-select:none}.float-win-bar{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e6d9;gap:15px;flex-shrink:0;cursor:move;touch-action:none}.float-win-bar h2{font-family:'Libre Caslon Text',Georgia,serif;font-size:21px;font-weight:400;color:#274634;margin:0}.icon-close{background:#edf1e7;border:none;border-radius:50%;width:32px;height:32px;color:#4a5c42;font-size:14px;line-height:1;flex-shrink:0}.icon-close:hover{background:#dce9d6}.float-win-body{flex:1;min-height:0;padding:22px 25px 28px;overflow:auto}.float-win-body h2{font-family:'Libre Caslon Text',Georgia,serif;font-size:21px;font-weight:400;color:#274634;margin:26px 0 12px;padding-top:14px;border-top:1px solid #eef1e8}.float-win-body h2:first-of-type{margin-top:0;padding-top:0;border-top:none}.float-win-body h3{font-size:13px;letter-spacing:.4px;text-transform:uppercase;color:#5c7351;margin:20px 0 9px}.float-win-body p{font-size:13.5px;line-height:1.8;color:#425140;margin:0 0 12px}.float-win-body ul{margin:0 0 14px;padding-left:20px}.float-win-body li{font-size:13.5px;line-height:1.8;color:#425140;margin-bottom:6px}.float-win-body .topic{display:block;background:#f2f6ec;border-left:3px solid #8ba876;border-radius:0 8px 8px 0;padding:12px 16px;margin:0 0 14px}.float-win-body .topic strong{display:block;font-size:10.5px;letter-spacing:1px;text-transform:uppercase;color:#5c7351;margin-bottom:5px}.float-win-body .topic p{margin:0;font-style:italic}.float-win-body-image{display:flex;align-items:center;justify-content:center;padding:14px;overflow:hidden}.float-win-body-image img{width:100%;height:100%;object-fit:contain}.manual-toc{position:sticky;top:0;z-index:1;background:#fffefa;display:flex;flex-wrap:wrap;gap:6px 10px;margin:0 0 20px;padding-bottom:18px;border-bottom:1px solid #eef1e8}.manual-toc a{font-size:11.5px;font-weight:600;color:#5c7351;text-decoration:none;background:#f2f6ec;padding:6px 11px;border-radius:999px}.manual-toc a:hover{background:#dce9d6;text-decoration:none}@media(max-width:700px){.site-header{height:auto;padding:12px 15px}.brand-logo{height:44px}main{padding:24px 12px 35px}.touch-controls{gap:9px;padding:12px}.header-actions{width:100%;justify-content:flex-end}.header-button{font-size:11px;padding:8px 12px}.award{padding:20px}.float-win{width:calc(100vw - 24px)!important;height:calc(100vh - 24px)!important;top:12px!important;left:12px!important;transform:none!important}}

[hidden]{display:none!important}.brand-logo.on-dark{padding:10px 16px;border-radius:6px}.brand-text{font-family:'Libre Caslon Text',Georgia,serif;font-size:44px;line-height:1.1;color:#274634;letter-spacing:-.5px}.crt-frame{container-type:inline-size;--bezel-row-top:76.3%;--bezel-row-height:4.358%;--bezel-row-inset:3.588%}
#dos-player.screen-menu{display:flex;flex-direction:column;padding:7% 9% 6.5%;background:#000;font-family:'VT323',monospace;color:#aaa}.screen-menu-prompt{margin:0 0 5cqw;font-size:3.2cqw}.screen-menu-prompt:after{content:'_';animation:screen-cursor 1.06s steps(1) infinite}@keyframes screen-cursor{50%{opacity:0}}.screen-menu-box{width:84%;margin:0 auto;padding:0 2.2cqw 2.8cqw;background:#0000aa;border:.5cqw double #aaa}.screen-menu-box h1{display:table;margin:-2.1cqw auto 2.4cqw;padding:0 1.4cqw;background:#0000aa;color:#ff5;font-size:3.4cqw;font-weight:400;letter-spacing:.2cqw;text-transform:uppercase}.screen-menu-box ol{list-style:none;margin:0;padding:0}.screen-menu-box a{display:flex;gap:2cqw;padding:.45cqw 1.6cqw;font-size:4cqw;line-height:1.15;color:#fff;text-decoration:none}.screen-menu-box a:hover,.screen-menu-box a:focus{background:#0aa;color:#000;outline:none;text-decoration:none}.screen-menu-key{color:#ff5}.screen-menu-box a:hover .screen-menu-key,.screen-menu-box a:focus .screen-menu-key{color:#000}.screen-menu-help{margin:auto 0 0;padding:.3cqw 1.2cqw;background:#aaa;color:#000;font-size:2.9cqw}.screen-menu-help b{font-weight:400;color:#a00;margin-left:1.2cqw}.screen-menu-help b:first-child{margin-left:0}
@media(prefers-reduced-motion:reduce){.screen-menu-prompt:after{animation:none}}
.brand-title{display:flex;align-items:center;gap:18px}.brand-icon{display:block;height:88px;width:auto}.menu-page .brand-text{font-family:'VT323',monospace;font-size:64px;line-height:1;letter-spacing:0}#dos-player .save-button{display:none!important}
.power-button{position:absolute;z-index:2;right:var(--bezel-row-inset);top:var(--bezel-row-top);width:7.234%;height:var(--bezel-row-height);display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:'VT323',monospace;font-size:max(12px,2.9cqw);line-height:1;letter-spacing:.3cqw;text-transform:uppercase;color:#4d4c47;text-decoration:none;border-radius:3px;background:#ffffff80}.power-button:hover{color:#1f1f1c;text-decoration:none;background:#ffffff80}.power-button:active{transform:translateY(1px)}
.brand-text.font-vga{font-family:'IBM VGA',monospace;font-size:64px;line-height:1;letter-spacing:0;-webkit-font-smoothing:none}
@media(max-width:700px){.brand-text{font-size:22px}.menu-page .brand-text,.brand-text.font-vga{font-size:32px}.brand-icon{height:44px}.brand-title{gap:10px}}
