*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:#8a7444 #14130f}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#14130f;border-left:1px solid #2a2620}::-webkit-scrollbar-thumb{background:#6a5a38;border:2px solid #14130f;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#c9a860}::-webkit-scrollbar-button{display:none;height:0}::-webkit-scrollbar-corner{background:#14130f}[hidden]{display:none!important}html,body{margin:0;height:100%;background:#0b0d12;overflow:hidden}body{font-family:Segoe UI,system-ui,sans-serif;color:#e8e3d3;user-select:none}#app{position:relative;width:100vw;height:100vh}#scene{display:block;width:100%;height:100%;image-rendering:pixelated}#hud{position:absolute;left:20px;top:18px;pointer-events:none;text-shadow:0 1px 3px #000}#title{font-family:Georgia,serif;font-size:1.6em;letter-spacing:3px;color:#e8c873}#name{font-family:Georgia,serif;font-size:1.05em;color:#cfc3a4;margin-top:4px}#zone{font-family:Georgia,serif;font-size:1em;color:#e8e3d3;margin-top:2px}#clock{font-family:Georgia,serif;font-size:.95em;color:#cfc3a4;margin-top:2px;letter-spacing:1px}#auto{display:inline-block;margin-top:6px;padding:2px 8px;font-size:.78em;color:#14130f;background:#e8c873;letter-spacing:.5px}#status{font-size:.8em;color:#cfc3a4;margin-top:6px;letter-spacing:.5px}.bars{margin-top:6px}.barrow{display:flex;align-items:center;gap:8px;margin-top:3px}.barrow span{width:44px;font-size:.72em;color:#a89f86;text-align:right}.bar{width:120px;height:5px;background:#00000073;border:1px solid #5a5244;transition:opacity .4s}.bar div{height:100%;background:#c9a860}#health div{background:#a04a3a}#food div{background:#a8843a}#water div{background:#4a7a9a}#rest div{background:#7a6a9a}#health.low div{background:#e05040}.bar.full{opacity:.35}.bar.winded div,.bar.low div{background:#a04a3a}.modal input{background:#1e1c17;color:#e8e3d3;border:1px solid #5a5244;padding:7px 10px;font:inherit;width:130px}.modal input:focus{outline:none;border-color:#e8c873}.modal input[type=range]{width:220px;padding:0;border:none;background:none;accent-color:#c9a860}.modal button.danger{border-color:#7a3a2e;color:#c98a72;margin-right:auto}.modal button.x{margin-left:auto;padding:4px 10px;font-size:1.1em}.settings{min-width:420px}.keys{display:grid;grid-template-columns:1fr auto 1fr auto;gap:6px 12px;align-items:center;font-size:.9em;color:#cfc3a4;margin-bottom:8px}.keys button{min-width:64px;padding:5px 10px;font-size:.9em}.statuses{margin:0 0 8px}.tale{padding:3px 0;font-size:.88em}.tale b{color:#e8c873;font-weight:400;font-family:Georgia,serif}.tale p{margin:1px 0 0;color:#cfc3a4}.tale.done b{color:#a89f86}.clues{font-size:.78em;margin:6px 0 10px}.clues i{color:#e8c873;font-style:normal}.tag{display:inline-block;border:1px solid #5a5244;padding:2px 7px;margin:0 4px 4px 0;font-size:.8em;color:#e8c873}.creation{min-width:720px;max-width:92vw}.creation .cols{display:flex;gap:28px}.creation .left{width:200px}.creation .right{flex:1}.creation .portrait{display:block;margin:0 auto 10px;background:#0b0d12;border:1px solid #5a5244;cursor:pointer}.swatches{display:flex;gap:6px;margin-bottom:10px}.modal button.sw{width:26px;height:26px;padding:0;border:2px solid #5a5244}.modal button.sw.on{border-color:#e8c873}.professions{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-height:44vh;overflow-y:auto;padding-right:12px}.modal .professions button{text-align:left;padding:7px 10px}.professions b{display:block;font-family:Georgia,serif;font-weight:400}.professions span{color:#a89f86;font-size:.8em;line-height:1.3}.professions button.on span{color:#cfc3a4}.kit{color:#a89f86;font-size:.85em;margin:12px 0 0;line-height:1.5}.kit i{color:#e8c873;font-style:normal}.inventory .tabs{display:flex;gap:6px;margin-bottom:14px}.inventory .tabs button{padding:6px 14px}.doll{display:flex;gap:18px}.doll .slots{display:grid;grid-template-columns:1fr;gap:6px;align-content:start}.slot{width:54px;height:54px;border:1px solid #5a5244;background:#1e1c17;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer}.slot img{image-rendering:pixelated;width:48px;height:48px}.slot span{position:absolute;bottom:2px;left:0;right:0;text-align:center;font-size:.62em;color:#6a6252;pointer-events:none}.slot.empty span,.slot.ghost span{bottom:auto}.slot:not(.empty):not(.ghost) span{display:none}.slot.ghost{opacity:.4;cursor:default}.slot:not(.ghost):not(.empty):hover{border-color:#e8c873}.figure{width:150px;text-align:center}.figure .portrait{background:#0b0d12;border:1px solid #5a5244;cursor:pointer}.figure .who{font-family:Georgia,serif;color:#e8c873;margin-top:6px}.figure .who i{display:block;color:#a89f86;font-style:normal;font-size:.8em}.doll .stats{flex:1;max-height:60vh;overflow-y:auto;padding-right:14px}.doll h3{font-family:Georgia,serif;font-weight:400;color:#e8c873;font-size:.95em;margin:4px 0 6px;border-bottom:1px solid #2a2620}.stat{display:flex;justify-content:space-between;font-size:.88em;padding:2px 0;color:#cfc3a4}.stat b{color:#e8e3d3;font-weight:400}.skill{display:grid;grid-template-columns:1fr auto;gap:2px 8px;font-size:.88em;padding:3px 0;color:#cfc3a4}.skill b{color:#e8c873;font-weight:400}.skill .xp{grid-column:1 / -1;height:3px;background:#2a2620}.skill .xp div{height:100%;background:#c9a860}.purse-row{display:flex;align-items:center;gap:14px;margin:0 0 12px;padding:6px 10px;border:1px solid #2a2620;background:#1e1c17;font-size:.9em;color:#a89f86}.purse-row .coin{display:inline-flex;align-items:center;gap:5px;color:#e8e3d3}.purse-row .coin:before{content:"";width:11px;height:11px;border-radius:50%;border:1px solid rgba(0,0,0,.5);box-shadow:inset -2px -2px #00000040}.purse-row .coin.g:before{background:#e8c040}.purse-row .coin.s:before{background:#c8c8d0}.purse-row .coin.b:before{background:#b87a48}.purse-row .coin.none{opacity:.35}.grid{display:grid;grid-template-columns:repeat(6,54px);gap:6px}.cell{width:54px;height:54px;border:1px solid #5a5244;background:#1e1c17;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center}.cell img{image-rendering:pixelated;width:48px;height:48px}.cell.empty{cursor:default;opacity:.5}.cell.on{border-color:#e8c873;background:#2a2620}.cell.eq:after{content:"";position:absolute;top:3px;left:3px;width:6px;height:6px;background:#e8c873}.cell b{position:absolute;right:3px;bottom:1px;font-size:.8em;color:#e8e3d3;text-shadow:0 1px 2px #000}.detail{display:flex;gap:12px;margin-top:14px;border-top:1px solid #2a2620;padding-top:12px}.detail img{image-rendering:pixelated;width:48px;height:48px}.detail b{font-family:Georgia,serif;font-weight:400;color:#e8c873}.detail i{color:#a89f86;font-style:normal;font-size:.8em}.detail p{color:#cfc3a4;margin:4px 0 8px;font-size:.9em}.hint{color:#a89f86;font-size:.85em}#gear{position:absolute;right:14px;top:12px;background:none;border:none;color:#6a6252;font-size:1.4em;cursor:pointer;padding:4px 8px}#gear:hover{color:#e8c873}#map{position:absolute;inset:0;width:100%;height:100%}.tip{position:absolute;max-width:300px;background:#14130f;border:1px solid #5a5244;padding:10px 12px;pointer-events:none;font-size:.9em;line-height:1.35;z-index:3}.tip b{font-family:Georgia,serif;font-size:1.1em;color:#e8c873}.tip i{display:block;color:#a89f86;font-size:.85em;margin-bottom:6px}.tip p{margin:0 0 6px}.tip em{color:#cfc3a4;font-style:normal}.veil{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#06080cf0;z-index:5}#loading{opacity:0;transition:opacity .25s}#loading.on{opacity:1}#loading .walk{image-rendering:pixelated;width:600px;max-width:86vw;border:1px solid #5a5244;margin-bottom:18px}#loading .text{font-family:Georgia,serif;font-size:1.4em;color:#e8c873;letter-spacing:1px}#loading .sub{color:#a89f86;margin-top:8px;font-size:.9em}.modal .panel{background:#14130f;border:1px solid #5a5244;padding:22px 26px;min-width:260px;max-width:90vw}.modal h2{font-family:Georgia,serif;font-weight:400;color:#e8c873;margin:0 0 14px;font-size:1.2em}.modal label{display:block;color:#a89f86;font-size:.85em;margin-bottom:6px}.modal .row{display:flex;gap:10px}.modal .row.end{justify-content:flex-end;margin-top:18px}.modal button{background:#1e1c17;color:#e8e3d3;border:1px solid #5a5244;padding:8px 16px;cursor:pointer;font:inherit}.modal button:hover{border-color:#e8c873;color:#e8c873}.modal button.on{background:#2a2620;border-color:#e8c873;color:#e8c873}.prompt{position:absolute;left:50%;bottom:40px;transform:translate(-50%);background:#14130fd9;border:1px solid #5a5244;padding:6px 14px;font-size:.9em;color:#e8c873;pointer-events:none;z-index:2}#floats{position:absolute;inset:0;pointer-events:none;overflow:hidden}.float{position:absolute;transform:translate(-50%);font-size:.85em;color:#e8e3d3;text-shadow:0 1px 2px #000,0 0 6px rgba(0,0,0,.6);animation:floatUp 1.5s ease-out forwards;white-space:nowrap}.float.rested{color:#8fd08a}.float.worn{color:#d87a6a}.float.normal{color:#e8c873}@keyframes floatUp{0%{opacity:0;transform:translate(-50%,6px)}15%{opacity:1}to{opacity:0;transform:translate(-50%,-46px)}}#levelup{position:absolute;left:50%;top:26%;transform:translate(-50%) scale(.6);opacity:0;pointer-events:none;text-align:center;font-family:Georgia,serif}#levelup b{display:block;font-weight:400;font-size:1.9em;color:#e8c873;letter-spacing:3px;text-shadow:0 0 12px rgba(232,200,115,.7),0 2px 4px #000}#levelup i{display:block;font-style:normal;color:#cfc3a4;letter-spacing:2px;font-size:.95em;text-shadow:0 1px 3px #000}#levelup.on{animation:levelPop 2.8s ease-out forwards}@keyframes levelPop{0%{opacity:0;transform:translate(-50%) scale(.6)}12%{opacity:1;transform:translate(-50%) scale(1.08)}22%{transform:translate(-50%) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(-18px) scale(1)}}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.rested{background:#6fbf68;box-shadow:0 0 5px #6fbf68}.dot.normal{background:#e8c873}.dot.worn{background:#d05a48}.legend{margin-top:10px;font-size:.75em}.legend .dot{margin-left:8px}#quick{position:absolute;left:50%;bottom:8px;transform:translate(-50%);display:flex;gap:6px}.qslot{width:46px;height:46px;border:1px solid #5a5244;background:#14130fcc;position:relative;display:flex;align-items:center;justify-content:center}.qslot img{image-rendering:pixelated;width:40px;height:40px}.qslot i{position:absolute;top:1px;left:3px;font-size:.65em;color:#a89f86;font-style:normal}.qslot b{position:absolute;right:3px;bottom:1px;font-size:.75em;color:#e8e3d3;text-shadow:0 1px 2px #000}.qslot.empty{opacity:.5}.qslot.eq{border-color:#e8c873}.row.quick{align-items:center;gap:6px;margin-top:8px;font-size:.8em;color:#a89f86}.row.quick button{padding:3px 8px;font-size:.85em}.prompt{bottom:64px}.trade{width:860px;max-width:94vw}.chest{width:720px}.trade .tabs{display:flex;align-items:center;gap:16px;margin-bottom:10px}.trade .tabs h2{margin:0}.trade .purse{color:#a89f86;font-size:.9em}.trade .purse b{color:#e8c873;font-weight:400;margin-left:6px}.trade .wants{color:#cfc3a4;font-size:.85em;margin:0 0 10px}.trade .wants b{color:#8fd08a;font-weight:400}.trade .cols{display:flex;gap:22px}.trade .cols>div{flex:1;max-height:58vh;overflow-y:auto;padding-right:12px}.trade h3{font-family:Georgia,serif;font-weight:400;color:#e8c873;font-size:.95em;margin:0 0 6px;border-bottom:1px solid #2a2620}.trade .line{display:flex;align-items:center;gap:10px;padding:5px 0;border-bottom:1px solid #1e1c17;font-size:.9em}.trade .line img{image-rendering:pixelated;width:32px;height:32px;flex:none}.trade .line span{flex:1;color:#e8e3d3}.trade .line span i{display:block;color:#a89f86;font-style:normal;font-size:.8em}.trade .line b{color:#e8c873;font-weight:400;white-space:nowrap}.trade .line button{padding:4px 10px;font-size:.85em}.dialog .text b{color:#e8c873;font-weight:400}.dialog{min-width:380px;max-width:520px}.dialog button i,.modal .tabs button i{font-style:normal;color:#a89f86;font-size:.75em;margin-right:7px}.focus{outline:2px solid #e8c873!important;outline-offset:1px}.pad{font-size:.8em;color:#a89f86;margin:4px 0 10px}.dialog .text{color:#e8e3d3;line-height:1.45;margin:4px 0 16px;min-height:2.9em}.modal .row.wrap{flex-wrap:wrap}.inventory{width:780px;max-width:92vw}
