:root{font-family:Tahoma,'MS Sans Serif',Arial,sans-serif;font-size:13px;color:#000;background:#008080;--face:#d4d0c8;--row-height:23px;--screen-height:100dvh;--screen-top:0px;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{position:fixed;top:var(--screen-top);height:var(--screen-height);padding:12px;display:flex;align-items:center;justify-content:center}button,input,select{font:inherit;color:#000;border-radius:0}button{background:var(--face);border:0;box-shadow:inset -1px -1px #404040,inset 1px 1px #fff,inset -2px -2px #808080,inset 2px 2px #eee;min-height:27px;padding:4px 9px;cursor:pointer;white-space:nowrap;touch-action:manipulation}button:active:not(:disabled),button.active{box-shadow:inset 1px 1px #404040,inset -1px -1px #fff,inset 2px 2px #808080;background:#c4c0b8}button:disabled{color:#808080;text-shadow:1px 1px white;cursor:default}button:focus-visible,a:focus-visible{outline:1px dotted #000;outline-offset:-5px}input:focus-visible,select:focus-visible{outline:2px solid #000080;outline-offset:1px}input,select{background:white;box-shadow:inset 1px 1px #808080,inset -1px -1px #fff;border:1px solid #404040;padding:5px 7px;min-width:0;max-width:100%;width:100%;height:33px}input[readonly]{cursor:pointer}input[type=range]{box-shadow:none;border:0;background:transparent;accent-color:#000080}input[type=file]{display:none}select{font-size:14px}p{line-height:1.5;margin:8px 0}h1,h2,h3{margin:0;font-size:13px}a{color:navy}b{font-weight:400}.desktop-label{display:none}.window{width:820px;height:min(720px,100%);background:var(--face);padding:3px;box-shadow:inset 1px 1px #fff,inset -1px -1px #000,inset 2px 2px #dfdfdf,inset -2px -2px #808080,6px 6px #0003;display:flex;flex-direction:column;gap:7px;min-height:0;overflow:hidden}.titlebar{height:24px;flex:0 0 24px;background:linear-gradient(90deg,#0a246a,#a6caf0);color:white;display:flex;align-items:center;gap:5px;padding:2px 3px;font-weight:bold}.titlebar h1,.titlebar h2{font-size:13px;flex:1;font-weight:700;min-width:0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.title-version{font-size:11px;color:#fff;font-weight:400}.window-close{height:18px;width:19px;min-height:0;padding:0;font:bold 17px/16px Arial}.titlebar img{image-rendering:pixelated}fieldset{min-width:0;min-height:0;border:1px solid #808080;box-shadow:1px 1px white,inset 1px 1px #fff;padding:7px;margin:0;background:var(--face)}legend{padding:0 3px;font-size:12px}.information{height:130px;flex:0 0 130px;margin:0 6px;display:flex;gap:5px}.message{font-family:Georgia,'Times New Roman',serif;font-size:15px;font-weight:bold;background:white;color:#006000;box-shadow:inset 1px 1px #808080,inset -1px -1px #fff;border:1px solid #404040;padding:6px;flex:1;min-width:0;line-height:1.35;overflow-wrap:anywhere}.message-nav{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;font:10px Tahoma;text-align:center}.message-nav button{min-height:25px;padding:2px 7px}.bad{color:#b00000!important}.good{color:#006000!important}.rumor{color:#7a5500!important}.game-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr);gap:9px;padding:0 6px}.market-panel,.right-column{min-width:0;min-height:0;display:flex;flex-direction:column}.market-field,.inventory-field{display:flex;flex-direction:column;flex:1;min-height:0}.controls{min-width:0;display:flex;flex-direction:column;gap:9px}.action-field{display:grid;gap:6px}.trade-buttons,.place-buttons,.desktop-game,.tomorrow{display:grid;gap:5px}.desktop-game{flex:1}.desktop-game button{min-height:24px}.right-column{gap:10px}.desktop-inventory{flex:1;min-height:0;display:flex;flex-direction:column}.paged-list{display:flex;flex-direction:column;flex:1;min-height:0;gap:5px}.table-slot{min-height:0;flex:1;overflow:hidden;background:#fff;border:2px solid;border-color:#808080 #fff #fff #808080;box-shadow:inset 1px 1px #000}.table-slot table{table-layout:fixed;width:100%;border-collapse:collapse;font-size:12px}.table-slot th{height:23px;line-height:21px;padding:0 6px;font-weight:400;text-align:left;background:var(--face);border:1px solid;border-color:white #808080 #808080 white}.table-slot td{height:var(--row-height);padding:2px 5px;line-height:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-slot th:first-child{width:48%}.table-slot th:nth-child(2){width:20%}.table-slot th:nth-child(3){width:32%}.num{text-align:right!important;font-variant-numeric:tabular-nums}.selectable{cursor:pointer;outline:none}.selectable:focus-visible{outline:1px dotted black;outline-offset:-2px}.selectable.selected{background:#000080;color:#fff}.arrow{font-family:Arial;font-weight:bold;font-size:17px;display:inline-block;width:18px;line-height:16px;vertical-align:-1px;text-shadow:0 1px #000}.arrow.up{color:#00b600}.arrow.down{color:red}.pager{display:flex;align-items:center;justify-content:space-between;gap:6px;height:27px;flex:0 0 27px;font-size:11px}.pager button{width:35px;padding:0;min-height:27px}.empty{padding:18px 9px;color:#707070;text-align:center;line-height:1.4}.status{flex:0 0 auto;display:grid;gap:3px;padding:6px}.status-location,.health,.status-day,.balances>div{background:#000;color:#ffcc00;box-shadow:inset 1px 1px #808080,inset -1px -1px #fff;min-height:25px;padding:5px 7px;font-size:11px}.status-location{text-align:left;overflow:hidden;text-overflow:ellipsis}.health{display:flex;align-items:center;gap:8px}.health span{white-space:nowrap}.health-bar{height:13px;padding:1px;background:white;box-shadow:inset 1px 1px #808080;flex:1}.health-bar i{display:block;height:100%;background:#008000}.status-day{display:flex;justify-content:space-between;gap:7px;white-space:nowrap}.status-day b{margin-left:3px}.balances{display:grid;gap:3px}.balances>div{display:flex;justify-content:space-between;color:#54ff54;font-size:12px;font-variant-numeric:tabular-nums}.balances .debt{color:#ff5050}.statusbar{display:flex;justify-content:space-between;gap:6px;border:1px solid;border-color:#808080 white white #808080;font-size:10px;min-height:20px;align-items:center;padding:2px 5px;white-space:nowrap;overflow:hidden}.statusbar span{overflow:hidden;text-overflow:ellipsis}.statusbar span:last-child{flex-shrink:0}.mobile-modes,.mobile-bottom{display:none}.save-warning{background:#ffffc0;font-size:11px;min-height:24px}.classic-dialog{background:var(--face);border:0;padding:3px;box-shadow:inset 1px 1px #fff,inset -1px -1px #000,inset 2px 2px #ddd,inset -2px -2px #808080,5px 5px #0005;width:min(430px,calc(100% - 16px));max-width:none;max-height:calc(var(--screen-height) - 20px);overflow:hidden;color:black;position:fixed;inset:0;margin:auto;top:var(--screen-top)}.classic-dialog[open]{display:flex;flex-direction:column;gap:6px}.classic-dialog::backdrop{background:#0005}.list-dialog{height:min(560px,calc(var(--screen-height) - 20px))}.dialog-body{padding:8px 10px;display:flex;flex-direction:column;gap:9px;min-height:0;overflow:hidden;flex:1}.dialog-body>p{font-size:13px}.dialog-footer{padding:5px 10px 10px;flex:0 0 auto;display:flex;justify-content:flex-end;gap:6px}.dialog-footer>button{min-width:80px}.button-row{display:flex;gap:7px;justify-content:flex-end;flex-shrink:0}.button-row>button{flex:1;min-width:0}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.menu-grid button{height:40px}.note{font-size:11px!important;color:#454545;line-height:1.4;margin:4px 0;flex-shrink:0}.detail{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;min-height:28px;flex-shrink:0}.detail b{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.form-fields{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:center;flex-shrink:0}.form-fields label{font-size:12px}.quantity-display{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}.quantity-display input{text-align:right;font-size:20px;height:40px}.quantity-display button{height:40px}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.keypad button{height:44px;font-size:19px}.quantity-description{font-size:12px!important;margin:0}.segmented{display:flex;gap:3px}.segmented button{flex:1;min-height:32px}.shipping-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px}.shipping-fields>div:nth-child(2){grid-row:2;grid-column:1 / -1}.shipping-fields label,.history-fields label{display:block;font-size:11px;margin-bottom:3px}.shipping-fields select,.history-fields select{font-size:13px}.history-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px}.chart{background:#000;border:2px inset #eee;flex:1;min-height:80px;max-height:300px;width:100%}.chart path{stroke:#00ff00;fill:none;stroke-width:1.6}.chart text{font:10px Tahoma;fill:#ffff00}.help-text,.message-page{min-height:155px;font-size:15px!important;line-height:1.6!important}.about-mark{font:bold 22px Georgia;color:#000080;margin:8px 0}.links{display:flex;gap:16px;flex-wrap:wrap;font-size:12px}.battle-message{border:2px inset white;background:#fff;padding:10px;min-height:86px;font:15px/1.5 Georgia;color:#800000;overflow-wrap:anywhere}.combat-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.combat-actions button{min-height:39px}#dialog-error{font-size:12px;color:#a00000;line-height:1.3;padding:0 12px;flex-shrink:0}#dialog-error:empty{display:none}.toast{position:fixed;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);max-width:95%;background:#ffffe1;color:black;border:1px solid black;box-shadow:2px 2px #0005;padding:10px 15px;font-size:12px;z-index:1000}.toast.error{color:#a00000}.docs-page{position:static;display:block;overflow:auto;height:auto;min-height:100%;padding:20px}.docs-page article{max-width:800px;background:var(--face);padding:20px;margin:auto}.docs-page table{white-space:normal}.docs-page p,.docs-page li{line-height:1.5}.docs-page h2{font-size:18px;margin:20px 0 10px}
@media(max-width:600px){:root{--row-height:34px}body{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);align-items:stretch}.window{width:100%;height:100%;padding:3px;gap:5px;box-shadow:inset 1px 1px white,inset -1px -1px black}.titlebar{height:25px;flex-basis:25px}.title-version{margin-right:4px}.information{height:81px;flex-basis:81px;margin:0 3px;padding:4px 5px;gap:4px}.message{font-size:12px;padding:4px;line-height:1.28}.message-nav{flex-direction:column;gap:0;justify-content:space-between;font-size:9px}.message-nav button{min-height:20px;padding:0 7px}.game-layout{display:flex;flex-direction:column;padding:0 3px;gap:5px}.right-column{order:0;flex:0 0 auto}.desktop-inventory,.desktop-only{display:none!important}.status{padding:3px 5px;gap:2px}.status legend{display:none}.status-location{min-height:23px;padding:3px 5px;font-size:12px;grid-column:1 / -1}.health{min-height:22px;padding:3px 5px;font-size:11px;grid-column:1 / -1}.status-day{padding:3px 5px;font-size:11px;min-height:22px;grid-column:1 / -1}.balances{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px}.balances>div{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:39px;padding:3px 5px;font-size:11px}.balances b{font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.market-panel{order:1;flex:1}.market-field{padding:4px;gap:4px}.market-field>legend{display:none}.mobile-modes{display:flex;gap:3px;height:32px;flex:0 0 32px}.mobile-modes button{flex:1;font-size:12px;min-width:0;padding:3px 6px;overflow:hidden;text-overflow:ellipsis}.controls{order:2;display:block;flex:0 0 auto}.action-field{border:0;box-shadow:none;padding:0;display:block}.action-field legend{display:none}.trade-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.trade-buttons button{height:38px;font-size:14px}.place-buttons{display:none}.table-slot table{font-size:13px}.table-slot th{font-size:12px;height:25px;line-height:23px}.table-slot td{line-height:19px;padding:3px 7px}.table-slot th:first-child{width:47%}.table-slot th:nth-child(2){width:20%}.table-slot th:nth-child(3){width:33%}.arrow{font-size:18px;width:21px}.pager{height:30px;flex-basis:30px;font-size:11px}.pager button{height:30px;min-height:30px;width:46px}.mobile-bottom{display:flex;flex-direction:column;gap:5px;padding:0 3px}.utility{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.utility button{height:34px}.mobile-bottom .tomorrow{display:grid;grid-template-columns:1fr 1fr;gap:5px}.mobile-bottom .tomorrow button{height:39px;font-size:14px}.statusbar{font-size:9px;min-height:19px;padding:1px 4px}.classic-dialog{width:calc(100% - 12px);max-height:calc(var(--screen-height) - 12px - env(safe-area-inset-top) - env(safe-area-inset-bottom));}.list-dialog{height:min(640px,calc(var(--screen-height) - 18px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))}.dialog-body{padding:7px 9px;gap:8px}.dialog-footer{padding:3px 9px 8px}.dialog-footer button,.dialog-body .button-row button{min-height:37px;font-size:13px}.form-fields select,.form-fields input{font-size:16px;height:37px}.dialog-body>p{font-size:13px;margin:4px 0}.quantity-display input{font-size:22px}.menu-grid{gap:10px}.menu-grid button{height:44px}.shipping-fields select,.history-fields select{font-size:16px}.type-combat .dialog-body{gap:6px}.help-text,.message-page{min-height:145px}.titlebar h2{font-size:13px}.type-quantity .dialog-body{gap:7px}.type-about p{font-size:12px}.type-about .about-mark{margin:4px 0}.type-about .dialog-body{gap:4px}}
@media(max-width:600px) and (max-height:670px){:root{--row-height:30px}.information{height:81px;flex-basis:81px}.status-location{min-height:21px}.health,.status-day{min-height:20px;padding:2px 5px}.balances>div{min-height:34px;gap:1px}.mobile-modes{height:29px;flex-basis:29px}.trade-buttons button{height:34px}.utility button{height:30px}.mobile-bottom .tomorrow button{height:35px}.window,.game-layout{gap:4px}.pager{height:27px;flex-basis:27px}.pager button{height:27px;min-height:27px}.dialog-body{gap:6px}.menu-grid button{height:38px}.keypad button{height:39px}.help-text,.message-page{min-height:120px}}
@media(max-height:480px){:root{--row-height:22px}.window{width:820px;gap:4px}.information{height:66px;flex-basis:66px}.desktop-game{display:grid;grid-template-columns:1fr 1fr;padding:3px;gap:3px}.desktop-game button{font-size:10px;min-height:21px;padding:2px}.controls{gap:5px}.status-location,.health,.status-day,.balances>div{min-height:20px;padding:3px 5px}.status{gap:2px}.dialog-body{gap:5px;padding:4px 9px}.dialog-body>p{font-size:12px;margin:2px 0}.detail{min-height:23px}.keypad{grid-template-columns:repeat(6,1fr)}.keypad button{height:33px;font-size:16px}.dialog-footer{padding:2px 9px 6px}.help-text,.message-page{min-height:80px;font-size:13px!important}.battle-message{min-height:50px;font-size:12px;padding:5px}.combat-actions{grid-template-columns:repeat(4,1fr)}.combat-actions button{min-height:30px}.form-fields input,.form-fields select{height:31px}.quantity-display input{height:34px}.type-new .dialog-body>p{display:none}}

[data-table-slot="scores"] th:first-child{width:40%}[data-table-slot="scores"] th:nth-child(2){width:45%}[data-table-slot="scores"] th:nth-child(3){width:15%}

.option-picker{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:33px;background:#fff;box-shadow:inset 1px 1px #808080,inset -1px -1px #fff;border:1px solid #404040;text-align:left;min-width:0;white-space:normal;font-size:13px}.option-picker span{flex-shrink:0;font-size:10px}.option-picker:active{background:#fff}.type-picker [data-table-slot] th:first-child{width:100%}.type-picker .table-slot td{white-space:normal;height:38px;line-height:18px}.shipping-fields .option-picker,.history-fields .option-picker{font-size:12px}
@media(max-width:600px){.option-picker{height:37px;font-size:14px}.shipping-fields .option-picker,.history-fields .option-picker{font-size:13px}}
.dialog-footer>.button-row{min-width:0}.dialog-footer .button-row>button{flex:0 0 auto;min-width:80px;padding-inline:12px}
@media(min-width:601px) and (max-height:480px){
body{padding:4px env(safe-area-inset-right,4px) 4px env(safe-area-inset-left,4px)}.window{width:min(940px,100%);height:100%}.information{height:57px;flex-basis:57px;padding:3px 5px}.message{font-size:12px;padding:3px}.message-nav button{min-height:16px;height:16px}.game-layout{grid-template-columns:minmax(0,1fr) 170px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:6px}.controls{min-height:0;gap:5px}.action-field{padding:4px;gap:5px}.trade-buttons{grid-template-columns:repeat(3,1fr);gap:3px}.trade-buttons button{padding:3px 2px;font-size:11px}.place-buttons{grid-template-columns:1fr 1fr;gap:3px}.tomorrow{grid-template-columns:1fr 1fr;padding:4px;gap:3px}.tomorrow button{padding:3px;font-size:11px}.desktop-game{flex:0 0 auto;display:block;padding:4px}.desktop-game button{display:none}.desktop-game button:last-child{display:block;width:100%;font-size:12px;min-height:26px}.right-column{gap:5px}.status{padding:3px;gap:2px}.status-location,.health,.status-day{min-height:18px;padding:2px 5px;font-size:10px}.health-bar{height:10px}.balances{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}.balances>div{display:flex;flex-direction:column;font-size:10px;min-height:30px;padding:2px 3px}.balances b{font-size:11px}.desktop-inventory .inventory-field{padding:4px}.desktop-inventory .pager{height:23px;flex-basis:23px}.desktop-inventory .pager button{min-height:23px}.empty{padding:4px;font-size:11px}.pager{height:24px;flex-basis:24px}.pager button{min-height:24px}.table-slot th{height:21px;line-height:19px}.table-slot td{height:22px}.type-picker .table-slot td{height:30px}
}

html:has(.docs-page){height:auto;overflow:auto}
.trade-hint{font-size:11px;line-height:16px;min-height:16px;flex:0 0 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px}.market-field>.trade-hint{display:none}.type-recovery .menu-grid button{white-space:normal;padding:6px}.titlebar h2:focus{outline:none}.toast{pointer-events:none;bottom:auto;top:calc(var(--screen-top) + 35px);max-width:calc(100% - 20px)}
@media(max-width:600px){.market-field>.trade-hint{display:block;margin-top:0;font-size:11px}.market-field{gap:3px}}

.arrow.flat{color:#808080;text-shadow:none}

/* Opaque legends mask the inset bevel behind fieldset titles. */
legend{background:var(--face)}
.sound-toggle{display:flex;align-items:center;justify-content:center;gap:6px}
.sound-indicator{position:relative;display:inline-block;flex:0 0 13px;width:13px;height:13px;background:#fff;border:1px solid;border-color:#808080 #fff #fff #808080;box-shadow:inset 1px 1px #404040,inset -1px -1px #dfdfdf}
.sound-toggle[aria-pressed="true"] .sound-indicator::after{content:"";position:absolute;left:3px;top:1px;width:4px;height:7px;border:solid #000;border-width:0 2px 2px 0;transform:rotate(45deg)}

/* Keep encounter actions outside the flexible message area. In constrained
   viewports or enlarged text, the message can scroll without hiding actions. */
.classic-dialog .dialog-body{flex:1 1 auto}
.type-combat{height:min(520px,calc(var(--screen-height) - 24px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)))}
.type-combat .dialog-body{overflow-y:auto;overscroll-behavior:contain}
.type-combat .battle-message{flex:0 0 auto}
.type-combat .pager{height:auto;min-height:27px;flex:0 0 auto}
.type-combat .pager span{white-space:nowrap}
.type-combat .pager button{height:auto}
.type-combat .option-picker{height:auto;min-height:37px}
.type-combat .dialog-footer{display:block}
.combat-panel{display:flex;flex-direction:column;gap:8px}
.combat-panel .combat-actions button{min-width:0;white-space:normal}
.type-combat .titlebar,.type-game-over .titlebar{height:auto;min-height:24px;flex:0 0 auto}
.type-combat .titlebar h2,.type-game-over .titlebar h2{line-height:1.3}
.type-game-over .dialog-body{overflow-y:auto;overscroll-behavior:contain}
