:root{font-family:Arial,Helvetica,sans-serif;color:#161714;background:#deded9;font-size:13px;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:grid;place-items:center;background-image:radial-gradient(#c4c5bf .55px,transparent .55px);background-size:4px 4px}main{width:min(1076px,100%);padding:24px}button,input,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #333;border-radius:3px;background:#fff;padding:7px 13px;box-shadow:0 1px #333}button:hover{background:#ededeb}button:active{transform:translateY(1px);box-shadow:none}button:disabled{cursor:default;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #111;outline-offset:3px}.page-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:13px;font-size:11px;letter-spacing:1.5px;font-weight:bold}.edition{font-weight:normal;color:#62655e}.mac-window{border:2px solid #111;background:white;box-shadow:7px 7px 0 #95978f;width:100%}#menus{display:flex;height:30px;align-items:stretch;border-bottom:2px solid #111;background:#fff;position:relative;z-index:3;gap:0}.menu-wrap{position:relative}.menu-label{height:100%;border:0;box-shadow:none!important;border-radius:0;padding:0 10px;background:transparent;display:flex;align-items:center}.bitmap-label{display:block;image-rendering:pixelated}.menu-wrap.open .menu-label,.menu-label:hover{background:#111;color:#fff}.menu-wrap.open .menu-label canvas,.menu-label:hover canvas{filter:invert(1)}.menu-popup{display:none;position:absolute;top:28px;left:0;min-width:244px;background:#fff;border:1px solid #111;box-shadow:3px 3px #111;padding:3px 0}.menu-wrap.open .menu-popup{display:block}.menu-item{border:0;border-radius:0;box-shadow:none!important;width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;text-align:left;white-space:nowrap;padding:5px 13px 5px 24px;position:relative}.menu-item:hover:not(:disabled){background:#111;color:#fff}.menu-item:hover:not(:disabled) canvas{filter:invert(1)}.menu-item .check{position:absolute;left:7px}.menu-item .shortcut{font-size:12px}.menu-popup hr{margin:4px 0;border:0;border-top:1px dotted #777}.titlebar{height:23px;border-bottom:1px solid #111;display:flex;align-items:center;justify-content:center;background:repeating-linear-gradient(0deg,#fff 0px,#fff 2px,#777 2px,#777 3px);background-clip:content-box;padding:3px 5px}.titlebar span{background:#fff;padding:0 12px;font-size:12px;font-weight:bold}#game{display:block;width:100%;height:auto;aspect-ratio:512/322;image-rendering:pixelated;outline:none;touch-action:none;cursor:crosshair;background:#fff}.under-game{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0 0;min-height:32px}#hint{margin:0;line-height:1.6;color:#4c4f48;font-size:12px}.under-game button{flex-shrink:0}footer{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:28px;font-size:10px;color:#696c64}footer button{padding:0;background:none!important;border:0;box-shadow:none;text-decoration:underline;font-size:11px;color:inherit}.touch-controls{display:none;margin-top:20px;gap:28px;justify-content:center}.direction-pad{display:grid;grid-template-columns:repeat(3,42px);gap:4px}.direction-pad button{height:36px;padding:0;font-size:19px;touch-action:none}.touch-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;align-content:center}.touch-actions button{font-size:12px}
dialog{border:2px solid #111;padding:23px;box-shadow:6px 6px 0 #111;background:#fff;max-width:min(580px,calc(100vw - 24px));max-height:90dvh;color:#111;border-radius:0}dialog::backdrop{background:#0007}dialog form{margin:0}#modal-title{font-size:16px;margin:0 0 18px}#modal-body p{line-height:1.6}#modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}#modal-actions .primary{outline:2px solid #111;outline-offset:3px;margin-left:5px}.field{display:grid;gap:6px;margin:12px 0}.field input,.field select{border:1px solid #111;border-radius:0;background:white;padding:8px}.character-columns{display:grid;grid-template-columns:1fr 1fr;gap:22px}.class-list{display:grid;gap:8px}.class-list label{display:flex;gap:7px;align-items:center}.class-stats{margin:0;display:grid;grid-template-columns:1fr auto;gap:8px 18px;font-size:13px}.class-stats dt,.class-stats dd{margin:0}.picker{display:grid;gap:0;max-height:48dvh;overflow-y:auto;min-width:260px;border:1px solid #111}.picker label{display:flex;align-items:center;gap:9px;border-bottom:1px solid #ddd;padding:9px 10px}.picker label:last-child{border-bottom:0}.picker label:has(input:checked){background:#111;color:#fff}.picker label:has(input:checked) .bitmap-label{filter:invert(1)}.picker input{accent-color:#111}.picture-sheet{display:block;max-width:100%;height:auto;image-rendering:pixelated}.port-detail{font-size:12px;color:#4c4f48}.save-list{display:grid;gap:8px}.save-entry{display:flex;gap:12px;justify-content:space-between;align-items:center}.save-entry button{flex:1;text-align:left}.save-entry small{display:block;color:#666;margin-top:4px}.error{color:#912222}.volume{width:250px}a{color:inherit}
@media(max-width:700px){main{padding:12px}.page-head{font-size:9px;letter-spacing:1px;margin-top:6px}.edition{display:none}#menus{height:27px}.menu-label{padding:0 5px}.menu-popup{top:25px;min-width:220px}.menu-wrap:nth-last-child(-n+3) .menu-popup{left:auto;right:0}.titlebar{height:20px}.titlebar span{font-size:10px}.mac-window{box-shadow:4px 4px #95978f}.touch-controls{display:flex}.under-game{margin-top:14px;gap:10px}#hint{font-size:11px}footer{margin-top:22px;align-items:flex-start;font-size:9px;line-height:1.5}.character-columns{gap:14px}.class-stats{gap:8px 10px;font-size:12px}dialog{padding:18px}}

/* Browser menus use scalable text for readability. */
#menus,.picker{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:14px;line-height:1.35} .menu-label{font-weight:600} .menu-item{min-height:30px} .menu-item .shortcut{color:inherit;opacity:.7}

.help-dialog{width:850px;max-width:calc(100vw - 32px);padding:20px;border:4px double #111;box-shadow:6px 6px #111;font-size:14px}
.help-dialog #modal-title{display:flex;align-items:center;gap:14px;text-transform:uppercase;font-size:15px;letter-spacing:1.5px;margin:0 0 19px}
.help-dialog #modal-title::after{content:"";flex:1;height:11px;background:repeating-linear-gradient(#fff 0 2px,#111 2px 3px)}
.help-dialog #modal-body p{line-height:1.4}.help-dialog #modal-actions{margin-top:18px}.help-sheet{padding:2px 8px}.help-menu-grid{display:grid;grid-template-columns:165px 1fr;gap:12px 22px;margin:0}.help-menu-grid dt{font-weight:bold;white-space:pre-line}.help-menu-grid dd{margin:0;line-height:1.4}.help-footnote{font-size:11px;color:#555;margin:18px 0 0;padding-top:9px;border-top:1px dotted #777}
.help-general p{margin:0 0 15px}.help-general p:last-child{margin-bottom:0}.rumors-dialog{width:730px;padding:22px 30px}.rumors-dialog #modal-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.rumor-heading{display:block;image-rendering:pixelated;margin:0 0 15px;width:176px;height:45px}.rumor-columns{display:grid;grid-template-columns:1fr 1fr;gap:36px}.rumor-column p{font-family:Georgia,"Times New Roman",serif;font-size:15px;margin:0 0 6px;white-space:nowrap}.rumor-column p:last-child{margin-bottom:0}.keyboard-help{display:grid;grid-template-columns:230px 1fr;gap:36px}.keyboard-help h3{font-size:14px;margin:0 0 8px}.keyboard-help p{margin:0 0 16px}.help-key-grid{display:grid;grid-template-columns:repeat(3,50px);gap:6px;margin:16px 0 18px}.help-key-grid kbd{border:1px solid #111;box-shadow:2px 2px #777;background:#f4f4f1;font:15px Arial;text-align:center;padding:10px 0}
@media(max-width:600px){.help-dialog{padding:16px 12px;max-width:calc(100vw - 20px)}.help-sheet{padding:0}.help-menu-grid{grid-template-columns:115px 1fr;gap:12px;font-size:13px}.rumor-columns{gap:13px}.rumor-column p{font-size:clamp(10px,2.8vw,15px);margin-bottom:9px}.rumors-dialog{padding:16px 12px}.keyboard-help{grid-template-columns:1fr;gap:12px}.help-key-grid{margin:10px auto 15px}.help-dialog #modal-title{font-size:13px}}

.help-command-list{grid-template-columns:205px 1fr;gap:0 22px}.help-command-list dt,.help-command-list dd{padding:10px 0;border-top:1px dotted #999}.help-command-list dt:first-child,.help-command-list dd:nth-child(2){border-top:0;padding-top:0}.help-general section+section{margin-top:22px;padding-top:17px;border-top:1px dotted #999}.help-general h3{font-size:14px;margin:0 0 11px}.help-general p{margin:0 0 14px;max-width:85ch}.help-general p:last-child{margin-bottom:0}.help-dialog #modal-body .help-general p{line-height:1.5}
@media(max-width:600px){.help-command-list{grid-template-columns:115px 1fr;column-gap:12px}.help-command-list dt,.help-command-list dd{padding:10px 0}}

@font-face{font-family:"Dungeon Mac Geneva";src:url('./assets/geneva-12.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Dungeon Mac Chicago";src:url('./assets/chicago-12.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
.help-dialog{font-family:"Dungeon Mac Geneva",Arial,sans-serif;font-size:12px;font-synthesis:none}.help-dialog #modal-title,.help-menu-grid dt,.help-general h3,.keyboard-help h3{font-family:"Dungeon Mac Chicago",Arial,sans-serif;font-size:12px;font-weight:400}.help-dialog #modal-title{letter-spacing:0;text-transform:none}.help-dialog #modal-actions button{font-family:"Dungeon Mac Chicago",Arial,sans-serif;font-size:12px}.help-dialog #modal-body p,.help-menu-grid dd{line-height:1.5}.rumor-column p{font-family:"Dungeon Mac Geneva",Arial,sans-serif;font-size:12px}.help-menu .menu-label,.help-menu .menu-item{font-family:"Dungeon Mac Chicago",Arial,sans-serif;font-size:12px;font-weight:400}.help-command-list dt,.help-command-list dd{padding:9px 0}.help-footnote{font-size:11px}
@media(max-width:600px){.help-dialog,.help-menu-grid,.help-dialog #modal-title{font-size:12px}.rumor-column p{font-size:clamp(9px,2.6vw,12px)}}
