*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#152c2b;color:#efe9d9;font-family:Segoe UI,Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:#132d2bc9;border:1px solid #c6b27848;padding:13px 17px;text-align:left;transition:background .18s,border .18s,transform .18s}button:hover{background:#486557c9;border-color:#d6be80;transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #e9d69a;outline-offset:3px}button:disabled{opacity:.35;cursor:default}a{color:#e1c888}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:400}h2{font-size:32px;line-height:1.2}h3{font-size:20px}p{line-height:1.65;color:#d5ddce}small{font-size:11px}#world{display:block;width:100%;height:100%;touch-action:none}#ui,#labels{position:absolute;inset:0;pointer-events:none}#ui button,#ui input,#ui select,#ui a,#ui form,.panel,.creation{pointer-events:auto}#labels{overflow:hidden}.label{position:absolute;transform:translate(-50%,-100%);font-size:11px;text-align:center;text-shadow:0 2px 4px #000;color:#f1ebd1;white-space:nowrap}.label.enemy{color:#f0bcac}.label .enemy-bar{height:3px;background:#1c171799;margin:4px auto;width:55px}.label .enemy-bar i{display:block;height:100%;background:#c46c57}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;color:#c9ba8b}.sigil{font-family:Georgia;font-size:70px;color:#ddc891}.primary{background:linear-gradient(120deg,#dbc594,#bba66f);color:#20322e;border-color:#ead7a6;font-weight:650;letter-spacing:1.3px}.primary:hover{background:#ead7a8}.primary span{float:right;margin-left:25px}.muted{color:#a7b9aa;font-size:12px}.menu-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102526f5,#102625c9 30%,#10262518 65%),linear-gradient(0deg,#0e2428e0,transparent 25%)}.topline{position:absolute;top:33px;left:46px;right:46px;display:flex;justify-content:space-between;align-items:center}.brand-mark{font-family:Georgia;letter-spacing:3px;font-size:18px;color:#e0c993}.build-tag{font-size:10px;letter-spacing:2px;color:#e3e1ce;opacity:.8}.main-menu{position:absolute;left:7vw;top:23%;width:480px}.main-menu h1{font-size:clamp(35px,3.9vw,61px);letter-spacing:-1.5px;line-height:1.05;margin:22px 0 25px;color:#f2e7c9;text-shadow:0 2px 18px #153231}.main-menu h1 small{display:block;font-size:20px;letter-spacing:9px;margin-bottom:13px;color:#c7b787}.intro{font-size:14px;color:#b5c5b9;line-height:1.9;margin-bottom:34px}.play{width:330px;font-size:15px;padding:20px 23px}.mode-row{display:flex;margin-top:14px;gap:7px}.mode-row button{font-size:11px;padding:13px 12px}.menu-links{display:flex;gap:16px;margin-top:17px}.menu-links button{background:none;border:0;font-size:12px;padding:8px 0;color:#c6d3c5}.world-caption{position:absolute;bottom:24%;right:5vw;text-align:right;text-shadow:0 2px 10px #142b2a}.world-caption h2{font-size:28px;margin:14px 0}.world-caption p{font-size:12px;color:#edf0d9}.gold-line{display:block;width:48px;height:2px;margin-left:auto;margin-bottom:20px;background:#d8c38e}.menu-footer{position:absolute;bottom:25px;left:46px;right:46px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d5d8b626;padding-top:18px;font-size:10px;color:#9eb5ab}.menu-footer nav{display:flex;gap:19px}.menu-footer button{padding:5px 0;background:transparent;border:0;font-size:11px;color:#d4d9c5}.loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 45%,#355547,#102527 70%)}.loading h1{font-size:34px;margin:25px 0}.loading p{font-size:13px}.load-track{height:3px;width:330px;background:#ffffff18;margin:15px}.load-track i{display:block;height:100%;background:#d7c18b;transition:width .3s}.loading small{color:#91a99a}.panel-backdrop{position:absolute;inset:0;background:#071e26a6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.panel{position:absolute;width:min(540px,92vw);max-height:88vh;overflow:auto;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#1c3938f7,#132b2afc);border:1px solid #cfb46f60;padding:30px 34px;box-shadow:0 25px 80px #0007;animation:appear .2s ease}.panel.wide{width:min(800px,94vw)}.panel header{display:flex;align-items:start;justify-content:space-between;margin-bottom:17px}.panel header h2{margin:10px 0 0}.close{border:0;background:transparent;font-size:27px;padding:0 4px;color:#d9c897}.stack{display:grid;gap:10px;margin:20px 0}.stack button small{float:right;color:#adbaaa}.panel>button{margin-top:14px}.panel .primary{width:100%}label{display:block;font-size:12px;color:#c4cebc;margin-bottom:18px}input:not([type=checkbox]):not([type=range]):not([type=color]),select{width:100%;display:block;background:#102827;color:#e8e5d4;border:1px solid #a7a77b50;padding:12px;margin-top:8px;border-radius:0}input[type=range]{width:100%;accent-color:#cab477;margin:14px 0 0}input[type=checkbox]{accent-color:#c8b57f;width:17px;height:17px;vertical-align:middle;margin-left:12px}input[type=color]{display:block;border:0;background:transparent;padding:0;width:80px;height:35px;margin-top:10px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}.value{float:right;color:#e1cc8e}.toggle{display:flex;justify-content:space-between;align-items:center}.key-grid{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:15px}.key-grid button{padding:8px;font-size:11px}.creator-gradient{position:absolute;inset:0;background:linear-gradient(90deg,#102827f5,#102827bd 35%,#10282700 70%)}.creation{position:absolute;left:6vw;top:10%;width:360px;max-height:85vh;overflow:auto}.creation h2{font-size:42px;margin:20px 0}.creation form{margin-top:30px}.creation button.primary{width:100%;font-size:11px;margin:15px 0 9px}.form-row{display:flex;align-items:center;gap:20px}.class-desc{min-height:45px;font-size:12px;color:#d0c093}.preview-controls{display:flex;gap:10px}.preview-controls button{font-size:11px;padding:8px 16px}.preview-caption{position:absolute;right:17%;bottom:16%;text-align:center}.preview-caption span{display:block;font-family:Georgia;font-size:27px;margin-top:14px}.slot-list{display:grid;gap:10px;margin-bottom:20px}.slot{display:flex;align-items:center;gap:17px}.slot>span:last-child{margin-left:auto;font-size:11px}.slot-icon{font-size:28px;color:#d7bc7d}.slot b{display:block}.slot small{display:block;margin-top:6px;color:#b0bdab}.hud{position:absolute;inset:0;opacity:var(--hud-opacity, .94);font-size:calc(14px * var(--hud-scale, 1))}.player-card{position:absolute;left:25px;top:25px;display:flex;gap:12px;align-items:center;background:#122e2bd9;border:1px solid #cab8825c;padding:13px 17px 13px 10px;min-width:290px}.portrait{font-size:42px;color:#dcc891;border:1px solid #bfab704d;width:55px;text-align:center}.vitals{flex:1}.vitals>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:8px;gap:20px}#level{color:#d8c286;font-size:11px}.bar{height:16px;position:relative;background:#13211fd9;overflow:hidden;border:1px solid #d6c79322;margin:4px 0}.bar i{display:block;height:100%;transition:width .15s;background:linear-gradient(90deg,#648c69,#94b57b)}.bar span{position:absolute;inset:0;text-align:center;font-size:9px;line-height:14px;text-shadow:0 1px 2px #000}.mana{height:12px}.mana i{background:linear-gradient(90deg,#386785,#73bec5)}.mana span{line-height:10px}.xp{height:2px;background:#18322f;margin-top:7px}.xp i{display:block;height:100%;background:#e6ca7e}.region{position:absolute;left:50%;top:28px;transform:translate(-50%);text-align:center;text-shadow:0 2px 6px #102827}.region .eyebrow{font-size:9px}.region h3{margin:9px 0 3px;font-size:23px}.region>div{font-size:11px;color:#e3d5a8}.mini-wrap{position:absolute;right:26px;top:25px;width:166px;text-align:center}#minimap{width:150px;height:150px;border-radius:50%;border:2px solid #c2b182b3;box-shadow:0 0 0 5px #17322cbb}.mini-wrap>span{position:absolute;left:calc(50% - 4px);top:2px;font-size:10px;color:#eedb99}.mini-wrap>div{margin-top:12px;font-size:12px;text-shadow:0 2px 4px #000;color:#f0d48f}.quest-track{position:absolute;right:27px;top:230px;width:242px;padding:16px 17px;border-left:2px solid #c3ac6c;background:linear-gradient(90deg,#14302ada,#17312c22);text-shadow:0 1px 4px #152b21}.quest-track .eyebrow{font-size:8px;letter-spacing:2px}.quest-track h3{font-size:20px;margin:12px 0 8px}.quest-track p{font-size:11px;line-height:1.7;margin-bottom:10px}.quest-track small{font-size:10px;color:#e4ca88}.skills{position:absolute;left:50%;bottom:57px;transform:translate(-50%);display:flex;gap:5px}.skills button{width:54px;height:57px;position:relative;padding:8px;text-align:center;background:#102d2be8;border-color:#cbb47491}.skills button>span{font-size:25px;color:#ddc58a}.skills kbd{position:absolute;top:3px;left:5px;font-size:9px;color:#b6c3b2}.skills small{position:absolute;inset:0;background:#0c232cbd;font-size:18px;line-height:57px;pointer-events:none}.skills small:empty{display:none}.skill-names{position:absolute;bottom:37px;width:100%;text-align:center;font-size:9px;color:#c7d0bb;text-shadow:0 2px 4px #000}.hud-bottom{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:15px;white-space:nowrap}.hud-bottom button{border:0;background:transparent;font-size:9px;padding:3px;color:#c9d2bc}.interaction{position:absolute;bottom:155px;left:50%;transform:translate(-50%);background:#142e29df;border:1px solid #c8b17b8f;padding:12px 22px;color:#e9dba8;font-size:12px;white-space:nowrap}.boss-health{position:absolute;left:50%;top:115px;transform:translate(-50%);width:390px;text-align:center}.boss-health span{font-size:10px;letter-spacing:3px;text-shadow:0 2px 5px #000}.boss-health .bar{height:9px;margin-top:10px}.boss-health i{background:#ac6f52}.wallet{display:flex;justify-content:space-between;color:#dfc688;padding:10px 0}.items{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.items>div{text-align:center;border:1px solid #a3a37944;padding:15px 5px;background:#112827}.items span{display:block;font-size:32px;color:#cdb67c}.items b,.items small{display:block;margin-top:8px;font-size:11px}.quest-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quest-list article{border:1px solid #c7b77740;padding:18px;background:#102925}.quest-list h3{margin:10px 0}.quest-list p{font-size:12px}.quest-list small,.quest-list span{font-size:10px;color:#dac17e}.quest-list .locked{opacity:.45}.quest-list .done{border-color:#7bba8d50}.quest-list .active{border-color:#c7b777}#big-map{width:100%;max-height:57vh;object-fit:contain;border:1px solid #c5b67c44}.map-legend{text-align:center;font-size:11px;margin-top:14px}.map-legend span{color:#83d8c3}.map-legend em{color:#d47668;font-style:normal}.character-stats{text-align:center}.dialog-text{font-family:Georgia;font-style:italic;font-size:19px;line-height:1.7;color:#e4dfc9}#toast{position:absolute;left:50%;bottom:205px;transform:translate(-50%) translateY(10px);background:#142e2bed;border:1px solid #d8c3878a;padding:14px 25px;opacity:0;transition:.2s;max-width:90vw;text-align:center;font-size:12px;pointer-events:none;z-index:10}#toast.show{opacity:1;transform:translate(-50%)}#fps{position:absolute;bottom:18px;right:24px;font-size:11px;color:#e6e6c3}#connection-badge{position:absolute;bottom:18px;left:25px;font-size:8px;letter-spacing:1.3px;color:#c1d2bf;text-shadow:0 2px 3px #000}#chat-log{max-height:230px;min-height:110px;overflow:auto;background:#102523;padding:12px}#chat-log p{font-size:12px;margin-bottom:8px}#damage-flash{position:absolute;inset:0;box-shadow:inset 0 0 120px #ad302a;pointer-events:none;transition:opacity .2s;opacity:0}#connection-status{color:#dfbe79}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#b7a47477}@keyframes appear{0%{opacity:0;translate:0 6px}to{opacity:1;translate:0 0}}@media(max-width:1000px){.main-menu{top:21%;left:5vw}.world-caption{bottom:22%;right:4vw}.world-caption h2{font-size:22px}.menu-footer{left:25px;right:25px}.menu-footer>span{display:none}.menu-footer nav{width:100%;justify-content:space-between}.quest-track{width:200px;right:15px;top:215px}.player-card{left:15px;top:18px;min-width:255px;padding:10px}.region{top:24px}.region h3{font-size:18px}.creation{left:4vw;width:315px;top:7%}.preview-caption{right:12%}}@media(max-height:680px){.main-menu{top:17%}.main-menu h1{margin:16px 0}.intro{margin-bottom:20px}.creation h2{font-size:32px;margin:12px 0}.creation form{margin-top:12px}.creation label{margin-bottom:12px}.quest-track{top:200px}.quest-track p{line-height:1.4}.skills{bottom:50px}.skill-names{display:none}}.player-card{transform:scale(var(--hud-scale, 1));transform-origin:top left}.mini-wrap,.quest-track{transform:scale(var(--hud-scale, 1));transform-origin:top right}.skills{transform:translate(-50%) scale(var(--hud-scale, 1));transform-origin:bottom center}.region{transform:translate(-50%) scale(var(--hud-scale, 1));transform-origin:top center}#touch-controls{display:none;position:fixed;inset:0;pointer-events:none;z-index:4}#touch-controls[hidden]{display:none!important}#world{touch-action:none}@media(pointer:coarse),(max-width:600px){#touch-controls{display:block}.touch-stick{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:68px;width:112px;height:112px;border-radius:50%;border:2px solid #d8c38799;background:#10292599;pointer-events:auto;touch-action:none;display:grid;place-items:center}.touch-stick span{width:44px;height:44px;background:#d8c387bb;border-radius:50%;pointer-events:none}.touch-actions{position:absolute;right:max(12px,env(safe-area-inset-right));bottom:65px;width:150px;display:flex;flex-wrap:wrap;justify-content:end;gap:5px}.touch-actions button{min-width:66px;min-height:45px;padding:8px;font-size:11px;pointer-events:auto;touch-action:none;background:#122e2be6}.skills{bottom:8px!important;gap:3px}.skills button{width:38px;height:42px}.skills button>span{font-size:19px}.skills kbd{display:none}.hud-bottom{bottom:195px;left:auto;right:10px;transform:none;flex-wrap:wrap;width:180px;justify-content:end}.hud-bottom button{font-size:10px;padding:5px}.skill-names,.quest-track,.region,#connection-badge{display:none}.mini-wrap{right:10px;top:10px;width:95px}#minimap{width:90px;height:90px}.player-card{min-width:0;width:205px;left:8px;top:10px;transform:scale(.85)}.portrait{display:none}.interaction,#toast{bottom:245px}}@media(max-width:600px){.topline{left:20px;right:20px;top:18px}.build-tag{display:none}.main-menu{left:6%;right:6%;top:19%;width:auto}.main-menu h1{font-size:clamp(25px,7.6vw,43px)}.main-menu h1 small{font-size:16px}.world-caption{display:none}.menu-footer{left:12px;right:12px;bottom:20px}.menu-footer nav{flex-wrap:wrap;gap:8px}.menu-footer button{font-size:10px}.mode-row{flex-direction:column;align-items:stretch;gap:8px}.mode-row button{text-align:left}.panel,.panel.wide{width:94vw;max-height:92dvh;padding:20px;overflow:auto}.panel header h2{font-size:24px}.creation{left:5%;width:90%;top:7%;max-height:88dvh;overflow:auto;padding:18px;background:#102925ee}.preview-caption{display:none}.quest-list,.settings-grid{grid-template-columns:1fr}}@media(pointer:coarse)and (max-height:500px){.main-menu{top:12%}.intro{display:none}.main-menu h1{font-size:30px;margin:10px 0}.main-menu .play{padding:12px}.world-caption{display:none}.creation{top:3%;max-height:94dvh;overflow:auto}.hud-bottom{top:12px;bottom:auto;right:120px}.touch-stick{bottom:54px}.touch-actions{bottom:53px}.interaction{bottom:195px}}
