@font-face{font-family:Inter;src:url('./assets/inter.ttf') format('truetype');font-display:swap}
@font-face{font-family:Cinzel;src:url('./assets/cinzel.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--ink:#111c20;--panel:#182427;--gold:#d8bf89;--gold-bright:#edd8ab;--line:#d8bf8938;--text:#eee9da;--muted:#a7b2aa;--green:#a7c6a0;--red:#e39c84;--blue:#9bbfd0;--shadow:0 16px 60px #06101666;font-family:Inter,system-ui,sans-serif;font-size:16px}
*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{color:var(--text);background:#152126}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}button{-webkit-tap-highlight-color:transparent}button svg{pointer-events:none}input{color:var(--text)}button,select,input{border-radius:4px}button{transition:background .16s,border-color .16s,filter .16s}button:hover:not(:disabled){filter:brightness(1.13)}button:active:not(:disabled){filter:brightness(.93)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Cinzel,Georgia,serif;font-weight:500}h2{font-size:clamp(1.6rem,3vw,2rem);line-height:1.25;color:#f0e4cb}h3{font-size:1.05rem;line-height:1.4}p{font-size:1rem;line-height:1.65}small{font-size:.8rem;line-height:1.55}strong{font-weight:550}a{color:var(--gold)}.icon{width:24px;height:24px;flex:none;vertical-align:middle}.eyebrow{font-family:Inter,sans-serif;font-size:.75rem;line-height:1.5;font-weight:600;letter-spacing:.16em;color:var(--gold);display:block}.muted{color:var(--muted)}.small{font-size:.8rem}.better{color:#abd2a3}.worse,.requirement{color:#e7a68f}.text-button{background:none;border:0;color:var(--gold);padding:10px 2px;font-size:.85rem;cursor:pointer;text-align:center;display:inline-block}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 18px;border:1px solid #d5ba8359;font-size:.9rem;font-weight:550;min-height:48px;text-align:center;cursor:pointer}.primary{background:linear-gradient(150deg,#c6b080,#a98d59);color:#1b231f;box-shadow:0 3px 16px #0002}.primary:disabled{background:#33413d;color:#95a095;border-color:#6673675c;box-shadow:none}.secondary{background:#223034;color:var(--text);border-color:#a9bcab38}.glass{background:linear-gradient(135deg,#192729ee,#111e22ee);border:1px solid var(--line);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
#world{position:absolute;inset:0;touch-action:none}#world>canvas{display:block;width:100%;height:100%;outline:none}#vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 120px 24px #0712113b;background:linear-gradient(0deg,#09141669,transparent 24%,transparent 83%,#09141622)}#hud{position:absolute;inset:0;pointer-events:none;user-select:none}#hud[hidden]{display:none}#hud button,#hud a,#hud input{pointer-events:auto}#loading{position:absolute;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:24px;background:radial-gradient(ellipse at 50% 40%,#304341,#111c20 70%);padding:28px;text-align:center}#loading h1{font-size:clamp(2.4rem,7vw,5rem);letter-spacing:.15em;color:var(--gold)}#loading p{max-width:530px;color:var(--muted)}.loading-track{height:2px;width:240px;background:#adba9a26;overflow:hidden}.loading-track i{display:block;background:var(--gold);width:35%;height:100%;animation:loading 2s ease-in-out infinite}@keyframes loading{from{transform:translateX(-100%)}to{transform:translateX(400%)}}
.player-hud{position:absolute;top:22px;left:24px;width:302px;padding:13px 14px 9px;border-radius:6px;display:grid;grid-template-columns:44px 1fr 29px;gap:10px}.portrait-button{border:1px solid var(--line);background:linear-gradient(#46554b,#273c39);height:55px;width:44px;color:var(--gold);display:grid;place-items:center}.portrait-button .icon{width:28px;height:28px}.vitals{min-width:0}.identity{display:flex;align-items:baseline;gap:7px;margin-bottom:8px;line-height:1}.identity strong{font-family:Cinzel,serif;font-size:.93rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:123px}.identity>span{font-size:.75rem;color:var(--muted)}.stat-bar{height:14px;border:1px solid #a3b19b26;background:#0a161a;border-radius:2px;position:relative;overflow:hidden}.stat-bar+.stat-bar{margin-top:5px}.stat-bar>i{height:100%;display:block;transition:width .16s;background:linear-gradient(90deg,#70493f,#af6f59)}.stat-bar.mana>i{background:linear-gradient(90deg,#325772,#6b9ab4)}.stat-bar>span{position:absolute;inset:0;display:grid;place-items:center;font-size:.75rem;letter-spacing:.02em;line-height:1;color:#fff5e2;text-shadow:0 1px 3px #000}.level-badge{border:1px solid var(--line);width:29px;height:31px;display:grid;place-items:center;font-family:Cinzel,serif;font-size:1.1rem;color:var(--gold);align-self:center;background:#b6a87f12}.status-line{grid-column:1/-1;display:flex;justify-content:space-between;padding-top:7px;border-top:1px solid #a9bd9e16;font-size:.75rem;line-height:1.3;color:#b8c6b0}.status-line .in-combat{color:#e3a28b}#gold-count{color:var(--gold)}
.compass{position:absolute;right:24px;top:22px;width:182px;border-radius:5px;overflow:hidden}.compass>button{background:#132125;border:0;padding:0;display:block;position:relative;width:180px;height:153px;overflow:hidden}.compass canvas{width:180px;height:180px;display:block;margin-top:-13px;opacity:.94}.compass:after{content:'';position:absolute;top:0;left:0;right:0;height:154px;box-shadow:inset 0 0 25px 9px #07171c79;pointer-events:none}.compass-n{position:absolute;top:5px;left:50%;transform:translateX(-50%);font-size:.75rem;color:#f2e4bf;font-family:Cinzel,serif;text-shadow:0 2px 3px #000;z-index:1}.compass>div{padding:10px 10px 11px;display:flex;flex-direction:column;gap:4px;text-align:center}.compass strong{font-family:Cinzel,serif;font-size:.85rem;line-height:1.4}.compass div span{font-size:.75rem;color:var(--muted)}
.quest-tracker{position:absolute;left:24px;top:158px;width:283px;padding:14px 15px;text-align:left;border-radius:5px;display:flex;flex-direction:column;gap:7px}.quest-tracker .eyebrow{font-size:.75rem;color:#b0bba7}.quest-tracker strong{font-family:Cinzel,serif;font-size:.94rem;color:#eadcc0}.quest-tracker>span:last-child{font-size:.77rem;line-height:1.5;color:#adbdac}.target-hud{position:absolute;left:50%;top:25px;transform:translateX(-50%);width:300px;text-align:center;padding:11px 15px 10px;border-radius:5px;line-height:1.5}.target-hud>span{font-family:Cinzel,serif;font-size:.88rem;color:#ecd4b6}.target-hud .stat-bar{height:5px;margin:7px 0 6px}.target-hud small{font-size:.75rem;display:block;color:#dcc5ad}.target-hud[hidden]{display:none}.zone-banner{position:absolute;top:24%;left:50%;transform:translateX(-50%);width:min(90%,680px);text-align:center;opacity:0;pointer-events:none;text-shadow:0 2px 15px #081714}.zone-banner h2{font-size:clamp(1.6rem,3vw,2.5rem);color:#f6edd9;letter-spacing:.07em;margin:10px 0 8px}.zone-banner>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.2em;color:#e9d8ae}.zone-banner p{color:#e4e2d0;font-size:.88rem}.zone-banner.show{animation:zone 4.8s ease both}@keyframes zone{0%{opacity:0;filter:blur(4px)}18%,68%{opacity:1;filter:blur(0)}100%{opacity:0}}
.interaction{position:absolute;bottom:174px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;padding:9px 16px;border-radius:4px;color:#ece3cb;font-size:.88rem}.interaction[hidden]{display:none}kbd{font-family:Inter,sans-serif;font-size:.75rem;line-height:1.15;display:inline-block;border:1px solid #bbc2a943;background:#112022c9;border-radius:3px;padding:3px 5px;color:#dddbc6}.action-dock{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);width:512px}.experience{height:4px;background:#132225;margin:0 1px 17px;position:relative;box-shadow:0 0 0 1px #122326a6}.experience>i{display:block;height:100%;background:linear-gradient(90deg,#9f8e62,#e0c78e);box-shadow:0 0 7px #ccb67635}.experience>span{position:absolute;right:0;top:-18px;color:#dfd5b5;font-size:.75rem;text-shadow:0 1px 3px #000}.hotbar{display:flex;gap:6px;padding:7px;background:linear-gradient(#182526f2,#122023fa);border:1px solid #d3bb8552;border-radius:6px;box-shadow:0 7px 28px #0814146b;justify-content:center}.ability{position:relative;width:64px;height:62px;border:1px solid #bead8359;background:linear-gradient(150deg,#34443f,#1e2c2b);display:grid;place-items:center;border-radius:4px;color:#e5d5b1;flex:1;min-width:0}.ability>.icon{width:30px;height:30px;filter:drop-shadow(0 2px 4px #0005)}.ability>kbd{position:absolute;left:3px;top:3px;font-size:.75rem;z-index:2;padding:2px 3px}.ability>small{position:absolute;bottom:3px;right:4px;font-size:.75rem;color:#b6d2db;z-index:2}.ability.common{background:linear-gradient(140deg,#314046,#1c2b30)}.ability .cooldown-mask{position:absolute;bottom:0;left:0;width:100%;background:#071319a1;pointer-events:none;max-height:100%}.ability-timer{position:absolute;color:#fff1ca;font-size:.9rem;text-shadow:0 2px 4px #061014;z-index:1}.ability.unavailable>.icon{opacity:.4}.ability.locked{border-color:#75837235}.ability-tooltip{position:absolute;bottom:calc(100% + 15px);left:50%;transform:translateX(-50%) translateY(4px);width:276px;padding:16px 18px;background:#18272afa;border:1px solid #c2ac7859;box-shadow:var(--shadow);text-align:left;opacity:0;visibility:hidden;transition:opacity .12s,transform .12s;pointer-events:none;border-radius:5px;z-index:50}.ability-tooltip strong{display:block;font-family:Cinzel,serif;color:var(--gold-bright);font-size:1rem;margin-bottom:8px}.ability-tooltip p{font-size:.85rem;line-height:1.6;color:#d1d6c9}.ability-tooltip span{display:block;font-size:.77rem;color:var(--blue);margin-top:10px}.ability:hover .ability-tooltip,.ability:focus-visible .ability-tooltip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.control-hint{display:flex;gap:14px;justify-content:center;color:#c7d0ba;font-size:.75rem;margin-top:10px;text-shadow:0 1px 4px #071112}.control-hint kbd{font-size:.75rem;padding:1px 3px}.game-menu{position:absolute;right:24px;bottom:30px;border-radius:5px;display:flex;padding:5px;gap:3px}.game-menu button{width:42px;height:49px;background:none;border:1px solid transparent;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:4px;color:#c4cdbd}.game-menu button:hover{background:#adc4a511;border-color:#c7b88747}.game-menu .icon{width:21px;height:21px}.game-menu kbd{padding:0;border:0;font-size:.75rem;color:#a6b59f;background:none}.touch-controls{display:none}
#overlay-root{position:absolute;inset:0;pointer-events:none;z-index:60}#overlay-root>*{pointer-events:auto}.start-screen{position:absolute;inset:0;display:grid;grid-template-columns:1fr 460px;align-items:center;gap:50px;padding:4vh 7vw;background:linear-gradient(90deg,#101e21e6 0%,#142523ae 43%,#102024bf 100%);overflow-y:auto}.start-heading{max-width:560px;text-align:center;justify-self:center;width:100%;padding-top:20px}.start-heading h1{font-size:clamp(3rem,6.6vw,6.6rem);letter-spacing:.13em;color:#e8d3a3;line-height:1.2;text-shadow:0 3px 1px #324b38,0 10px 35px #0912148f;margin:15px 0 13px}.title-rule{height:1px;width:64%;background:linear-gradient(90deg,transparent,#d1bb8299,transparent);margin:0 auto 20px}.start-heading>p{color:#c4cdbb;font-family:Cinzel,serif;font-size:.96rem;letter-spacing:.025em}.start-preview{height:min(38vh,320px);width:100%;margin-top:12px}.start-preview canvas{display:block;max-width:100%;height:100%}.start-heading .build-note{font:12px Inter,sans-serif;letter-spacing:.04em;color:#9fab9e;margin:2px 0 8px}.start-card{padding:30px 31px 25px;border-radius:8px;border-top-color:#d6c79b94}.start-card h2{margin:9px 0 22px;font-size:1.65rem}.class-choice{display:flex;gap:9px;margin-bottom:19px}.class-choice button{display:flex;flex:1;flex-direction:column;align-items:center;gap:11px;padding:16px 5px 13px;background:#152326;border:1px solid #899e8b3d;border-radius:5px;color:#a6b6a7}.class-choice strong{font-size:.85rem}.class-choice button.selected{border-color:#dfc895bd;background:linear-gradient(#465448,#2a3c35);color:var(--gold-bright);box-shadow:inset 0 0 0 2px #c3b78514}.class-choice .icon{width:28px;height:28px}#class-description{min-height:134px}#class-description>p{font-size:.88rem;color:#bec8ba;line-height:1.65}.class-numbers{display:flex;gap:22px;font-size:.75rem;color:var(--muted);padding:15px 0 10px}.class-numbers b{font-size:.85rem;color:#d5dec8;display:inline-block;margin-right:4px}.start-card label[for]{font-size:.83rem;color:#d7dcca;margin-bottom:9px;display:block}.start-card input:not([type=file]){width:100%;padding:13px 14px;background:#0d1b1e91;border:1px solid #becaa038;margin-bottom:16px;min-height:48px;font-size:.91rem}.start-card input::placeholder{color:#859688;font-size:.83rem}.start-card .primary{width:100%}.start-footer{display:flex;gap:18px;justify-content:center;border-top:1px solid #99a89222;padding-top:10px;margin-top:19px}.start-footer .text-button{font-size:.75rem;color:#a6b39f}.start-error{font-size:.8rem;color:#ddb297}.character-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.character-record{display:flex;align-items:center;border:1px solid #adba9a33;background:#18292c;border-radius:5px}.character-record>button:first-child{display:flex;align-items:center;gap:12px;padding:14px 12px;border:0;background:none;flex:1;min-width:0;text-align:left}.character-record>button:first-child>span:nth-child(2){display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.character-record strong{font-family:Cinzel,serif;color:#ece1c6}.character-record small{font-size:.75rem;color:var(--muted)}.record-icon{width:37px;height:44px;border:1px solid var(--line);display:grid;place-items:center;background:#33443d;color:var(--gold)}.character-record .delete-character{border:0;background:none;width:26px;padding:0 5px 0 0;opacity:.45}.delete-character .icon{width:17px}.start-card>.muted{font-size:.8rem;margin-top:12px}
.game-dialog{position:fixed;inset:0;margin:auto;width:min(600px,calc(100vw - 36px));max-height:calc(100dvh - 52px);border:1px solid #b8aa7859;border-top-color:#d0bd88a8;border-radius:8px;background:linear-gradient(135deg,#203034f7,#152329fc 65%);box-shadow:0 25px 100px #051118a1;color:var(--text);padding:34px 36px 30px;overflow:auto;scrollbar-color:#81937c4d #111f23}.game-dialog::backdrop{background:#0713169c;backdrop-filter:blur(5px)}.game-dialog.wide{width:min(1100px,calc(100vw - 40px))}.game-dialog>.eyebrow{margin-bottom:9px;padding-right:30px}.game-dialog>h2{margin-bottom:20px}.game-dialog>p{margin:14px 0}.close-dialog{position:absolute;right:17px;top:17px;width:30px;height:30px;background:#1b292d;border:1px solid #b6c3a92b;display:grid;place-items:center;color:#aab9a6}.close-dialog .icon{width:18px;height:18px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.point-count{font-size:.86rem;border:1px solid var(--line);color:var(--gold);background:#b5ab7411;padding:9px 12px;white-space:nowrap;border-radius:4px}.inventory-layout{display:grid;grid-template-columns:235px 1fr 245px;gap:25px;margin-top:16px;align-items:start}.paperdoll{position:relative;background:radial-gradient(ellipse at 50% 35%,#7387771c,transparent 75%);border-right:1px solid #9faf9321;padding-right:16px}.character-preview{height:272px;max-width:100%}.character-preview canvas{max-width:100%;display:block}.equipment-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.equipment-slot{height:68px;border:1px solid #bac09937;background:linear-gradient(#32423d77,#17282a);position:relative;display:flex;align-items:center;flex-direction:column;justify-content:center;padding:3px 2px 18px;border-radius:4px}.equipment-slot img{height:43px;width:43px;object-fit:contain;filter:drop-shadow(0 3px 3px #0005)}.equipment-slot span{position:absolute;bottom:5px;left:0;right:0;font-size:.75rem;color:#b9c2ad}.equipment-slot>.icon{opacity:.24;width:25px;height:25px}.paperdoll-stats{display:flex;justify-content:space-between;margin-top:20px;gap:7px}.paperdoll-stats span{font-size:.75rem;color:var(--muted);text-align:center}.paperdoll-stats b{font-family:Cinzel,serif;display:block;font-size:1.3rem;color:#e6d8b8;margin-bottom:3px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:8px 0 16px}.section-title span{font-size:.75rem;color:var(--muted)}.bag-grid{display:grid;grid-template-columns:repeat(5,minmax(42px,1fr));gap:7px}.item-slot{aspect-ratio:1;border:1px solid #b2c1a329;border-radius:4px;background:linear-gradient(135deg,#30403d,#172829);position:relative;min-width:0;display:grid;place-items:center;padding:3px}.item-slot.empty{border-color:#a2b59816;background:#101f2266}.item-slot img{max-width:100%;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 4px #0007)}.item-slot.selected,.equipment-slot.selected{outline:1px solid #f0d494;outline-offset:2px;background-color:#a2996733}.item-slot.uncommon,.equipment-slot.uncommon{border-color:#a2b99280}.item-slot.rare,.equipment-slot.rare{border-color:#76a7c6a6;background:linear-gradient(135deg,#34515d,#182c33)}.item-slot.epic,.equipment-slot.epic{border-color:#b594c4a3;background:linear-gradient(135deg,#514555,#222b30)}.item-slot.legendary,.equipment-slot.legendary{border-color:#e2b368bc;background:linear-gradient(135deg,#6b5336,#292a24)}.equipped-dot{position:absolute;right:3px;top:3px;font-size:.75rem;color:#e3d39a;background:#22322ebf;width:12px;height:12px;display:grid;place-items:center;border-radius:2px}.item-lock{position:absolute;left:3px;bottom:3px;font-size:.75rem;color:#eab6a0}.bag-footer{display:flex;flex-direction:column;gap:10px;font-size:.77rem;color:#9fae9b;margin-top:19px}.bag-footer>span:first-child{color:var(--gold);font-size:.9rem}.bag-footer .icon{width:17px;height:17px;margin-right:4px}.item-detail{padding-left:20px;border-left:1px solid #aebba025;min-height:440px}.item-art{height:126px;display:grid;place-items:center;background:radial-gradient(ellipse at center,#778d7530,transparent 69%);margin:-4px 0 8px}.item-art img{height:122px;width:122px;object-fit:contain;filter:drop-shadow(0 8px 6px #0005)}.item-art.rare{background:radial-gradient(ellipse at center,#5892bb30,transparent 69%)}.item-art.epic{background:radial-gradient(ellipse at center,#a789b630,transparent 69%)}.item-art.legendary{background:radial-gradient(ellipse at center,#ce9f4339,transparent 69%)}.eyebrow.common{color:#adb79f}.eyebrow.uncommon{color:#b5c9a7}.eyebrow.rare{color:#a2c9df}.eyebrow.epic{color:#ccaddd}.eyebrow.legendary{color:#ecc688}.item-detail>.eyebrow{font-size:.75rem;letter-spacing:.10em}.item-detail h3{font-size:1.19rem;line-height:1.5;margin:6px 0 8px;color:#eee2c9}.item-detail .item-lore{font-size:.80rem;line-height:1.7;color:#b0bca9;font-style:italic}.item-stats{margin:17px 0 13px;padding:11px 0;border-top:1px solid #acba9d27;border-bottom:1px solid #acba9d27}.item-stats>div{display:grid;grid-template-columns:1fr auto 36px;gap:8px;align-items:center;font-size:.8rem;line-height:2;color:#b8c8b7}.item-stats strong{color:#e7e4d0;text-align:right}.item-stats small{text-align:right;font-size:.75rem}.item-detail>.muted,.item-detail>.requirement{font-size:.75rem;line-height:1.6}.compare-note{font-size:.75rem;line-height:1.6;color:#a6b7a3;margin:9px 0 14px}.item-detail .primary{width:100%;font-size:.82rem;min-height:42px;padding:10px}.item-detail .small{margin-top:12px}.item-detail>.text-button{display:block;text-align:center;width:100%}
.talent-layout{display:grid;grid-template-columns:290px 1fr;gap:34px;margin-top:25px}.skills-panel{border-right:1px solid #a8b89a26;padding-right:26px}.skills-panel h3{margin-bottom:18px;color:#d8d9c2}.skill-progress{margin-bottom:23px}.skill-progress>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:.85rem;line-height:1.5}.skill-progress>div span{color:var(--muted);font-size:.77rem}.skill-track{height:5px;background:#0e1d21;margin:9px 0 5px}.skill-track i{display:block;height:100%;background:#a4ad80}.skill-progress small{color:var(--muted);font-size:.75rem}.spell-entry{display:flex;gap:12px;border-top:1px solid #9aab9028;padding:16px 0}.spell-entry>.icon{color:#c4b992;width:21px;margin-top:3px}.spell-entry strong{font-size:.86rem;color:#dbd8be}.spell-entry p{font-size:.8rem;line-height:1.7;color:#aebdab;margin:7px 0}.spell-entry small{font-size:.75rem;color:#96b9c8}.talent-branches{display:grid;grid-template-columns:1fr 1fr;gap:25px}.talent-branch h3{font-size:1.25rem;color:#e8d5a7;margin:0 0 21px;text-align:center}.talent-node{display:block;width:100%;min-height:140px;border:1px solid #a3b5954c;padding:17px;text-align:left;background:linear-gradient(#2b3b3966,#1c2c30);position:relative;margin-bottom:25px;border-radius:5px}.talent-node:not(:last-child):after{content:'';position:absolute;width:1px;height:26px;bottom:-26px;left:50%;background:linear-gradient(#c8b87c60,#b9c2a62c)}.talent-node strong{font-family:Cinzel,serif;font-size:.98rem;display:block;color:#e6dfc9;padding-right:22px}.talent-node p{font-size:.82rem;line-height:1.6;color:#b5c1b0;margin:10px 0}.talent-node small{font-size:.75rem;color:var(--gold)}.talent-node:disabled:not(.learned){opacity:.5}.talent-node.learned{border-color:#cbb5808f;background:linear-gradient(140deg,#58604a33,#203335)}.node-rank{position:absolute;right:12px;top:14px;font-size:.75rem;color:var(--gold)}
.journal-layout{display:grid;grid-template-columns:1fr 1fr;gap:38px;margin-top:28px}.journal-layout>section>h3{color:#dedac2;margin-bottom:18px;margin-top:27px}.journal-layout>section>h3:first-child{margin-top:0}.journal-contract{padding:21px 23px;border:1px solid #bfaf6e46;background:#4f59411a;border-left:2px solid #c7b77c;border-radius:4px}.journal-contract h3{font-size:1.15rem;margin:7px 0 12px;color:#eddfbd}.journal-contract p{font-size:.87rem;line-height:1.75;color:#bfcab6}.journal-contract strong{display:block;margin-top:15px;font-size:.84rem;color:#d7c792}.reward{font-size:.83rem;color:#e0c897!important;padding-top:14px}.journal-contract .primary{width:100%;margin-top:18px}.journal-layout details{margin-top:13px;font-size:.83rem;color:var(--muted)}summary{cursor:pointer;line-height:1.6;padding:9px 0;color:#c6d0bd}.mystery-card{padding:22px;border:1px solid #b3a8c34a;background:radial-gradient(ellipse at top left,#687c8b24,#152629);border-radius:5px}.mystery-card h3{margin:10px 0;color:#d5d5df}.mystery-card p{font-size:.85rem;line-height:1.8;color:#b4c0be}.mystery-card small{color:#9caeb0;font-size:.75rem;display:block;text-align:center}.mystery-seals{display:flex;gap:15px;justify-content:center;margin:18px 0 9px}.mystery-seals>span{font-size:26px;color:#657775;opacity:.45;width:43px;height:43px;display:grid;place-items:center;border:1px solid #abc0a92a;border-radius:50%}.mystery-seals .found{color:#d7c8a2;border-color:#e4cc8d7a;background:#c8b5821c;opacity:1}.chronicle{border-bottom:1px solid #acc19a27;padding:8px 0 10px}.chronicle summary{font-family:Cinzel,serif;color:#d7d3bc}.chronicle blockquote{font-size:.9rem;margin:12px 0;padding-left:16px}.chronicle small{color:#a7b5a1}.empty-copy{font-size:.89rem;color:#a7b4a4;line-height:1.9;padding:20px;border:1px dashed #a9bba532}.journey-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.journey-stats span{font-size:.75rem;color:#aebea7;line-height:1.6}.journey-stats b{font-family:Cinzel,serif;font-size:1.6rem;display:block;color:var(--gold)}blockquote{margin:23px 0 25px;padding-left:22px;border-left:1px solid #c9b57961;font-family:Cinzel,serif;font-size:1.04rem;line-height:1.9;color:#d3d7c5}
.map-layout{display:grid;grid-template-columns:230px 1fr;gap:25px;margin-top:24px}.map-regions{display:flex;flex-direction:column;gap:7px;max-height:550px;overflow:auto;padding-right:7px}.map-regions button{border:1px solid #9bae8e2e;background:#1e3133;text-align:left;padding:11px 13px;display:flex;flex-direction:column;gap:5px}.map-regions button span{font-size:.84rem;color:#c9d2bd}.map-regions button small{font-size:.75rem;color:#92aaa3}.map-regions button:disabled{opacity:.39}.map-regions button.selected{border-color:#c5b5849c;background:#adbd7e14}.atlas{min-width:0;background:#101e23;border:1px solid #9caf8a2a;border-radius:4px;overflow:hidden;align-self:start}.atlas canvas{width:100%;height:auto;display:block}.map-legend{display:flex;justify-content:center;gap:17px;padding:15px 8px;border-top:1px solid #adbd9022}.map-legend span{font-size:.75rem;color:#abbba6;display:flex;gap:6px;align-items:center}.map-legend i{width:6px;height:6px;display:inline-block;border-radius:50%;background:#d7bd83}.map-legend .passage{background:#8fd5d1}.map-legend .relic{background:#c79457}.map-legend .unknown{background:#3a4b4a;border-radius:0}
.shop-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px}.shop-layout h3{margin:19px 0 16px}.shop-list{display:flex;flex-direction:column;gap:7px;max-height:440px;overflow:auto;padding:2px 7px 4px 2px}.shop-item{display:flex;align-items:center;gap:12px;text-align:left;padding:9px 12px;border:1px solid #abc2a42b;background:#2438396b;min-height:70px}.shop-item img{width:43px;height:43px;object-fit:contain}.shop-item>span{flex:1;min-width:0}.shop-item strong{font-size:.83rem;display:block;color:#dce1cc}.shop-item small{font-size:.75rem;color:#a9bca7;display:block;margin-top:4px}.shop-item>b{font-size:.78rem;color:var(--gold);white-space:nowrap}.shop-item:disabled{opacity:.45}.shop-layout section>.muted{margin:17px 0}.loot-items{display:flex;flex-direction:column;gap:15px;margin:22px 0}.loot-gold{display:flex;align-items:center;gap:12px;color:var(--gold);padding:13px 15px;background:#a5975620;border:1px solid #c0b27726;border-radius:4px}.loot-item{display:flex;align-items:center;gap:20px;padding:18px;border:1px solid #97ada747;background:#70857118;border-radius:5px}.loot-item.rare{border-color:#8aafc861;background:#668ba518}.loot-item.epic{border-color:#b79bb65c;background:#b19db118}.loot-item.legendary{border-color:#d6b0687d;background:#bb9d6620}.loot-item>img{width:88px;height:88px;object-fit:contain}.loot-item .eyebrow{font-size:.75rem}.loot-item h3{font-size:1.1rem;margin:5px 0 7px;color:#e1ddc2}.loot-item p{font-size:.8rem;color:#acbbaa;line-height:1.6}.loot-item small{font-size:.75rem;color:#a4c1bb;display:block;margin-top:8px}#take-loot{width:100%}
.settings-list{display:flex;flex-direction:column;margin:20px 0;border-top:1px solid #a9bc9829}.settings-list label{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:17px 0;border-bottom:1px solid #a9bc9829;font-size:.87rem;color:#c6d0b9}.settings-list input[type=checkbox]{accent-color:#c6b583;width:20px;height:20px}.settings-list input[type=range]{accent-color:#c6b583;width:180px}.settings-list select{padding:7px 9px;background:#15252a;border:1px solid #aabb942d;font-size:.85rem;max-width:220px}.menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:23px 0}.menu-actions .primary{grid-column:1/-1}.menu-actions .secondary{font-size:.80rem}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px;margin-top:27px}.help-grid h3{color:#ded2b0;font-size:1.15rem;margin-bottom:20px}.help-grid p{font-size:.92rem;margin-bottom:20px;color:#bdc9b6;line-height:1.85}
#toasts{position:absolute;bottom:165px;right:25px;width:290px;z-index:80;pointer-events:none;display:flex;flex-direction:column;gap:8px}.toast{font-size:.81rem;line-height:1.6;padding:11px 14px;color:#d9decb;background:#13272bea;border:1px solid #b2c6a13e;border-left:2px solid #a9bf9a;box-shadow:0 5px 24px #0a151750;border-radius:3px;animation:toast-in .2s ease}.toast.warning{border-left-color:#de9f7d;color:#ebc5aa}.toast.loot{border-left-color:#d0b980;color:#e1d2ab}.toast.discovery,.toast.level{border-color:#d4c68b6b;color:#e4ddbb}.toast.skill{border-left-color:#9cbbbd}.toast.subtle{opacity:.9;font-size:.77rem}@keyframes toast-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.world-labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.actor-label{position:absolute;top:0;left:0;white-space:nowrap;text-align:center;pointer-events:none;color:#e8e5ce;font-size:12px;line-height:1.5;letter-spacing:.005em;text-shadow:0 2px 3px #071013,0 0 4px #071013;filter:drop-shadow(0 1px 3px #0a1716);will-change:transform}.actor-label i{display:block;background:#11211adb;border:1px solid #c2ba9555;height:4px;width:55px;margin:4px auto 0;overflow:hidden}.actor-label i>b{display:block;height:100%;background:#b27c60}.actor-label.npc{color:#e7d09e;font-size:12px}.actor-label.boss{color:#f0c092;font-size:14px}.actor-label.boss i{width:100px;height:5px}.damage-number{position:absolute;top:0;left:0;pointer-events:none;white-space:nowrap;color:#f2e7bd;font-size:20px;font-family:Cinzel,serif;font-weight:600;text-shadow:0 2px 4px #0d171a,0 0 4px #0d171a;will-change:transform,opacity}.damage-number.damage{color:#f0a890;font-size:22px}.damage-number.crit{font-size:27px;color:#ffdc93}.damage-number.heal{color:#bbdfa5}
@media(min-width:1500px){.player-hud{left:32px;top:28px}.quest-tracker{left:32px;top:164px}.compass{right:32px;top:28px}.action-dock{bottom:25px}.game-menu{right:32px;bottom:37px}}
@media(max-width:1120px){.game-menu{bottom:128px;right:24px}.inventory-layout{grid-template-columns:190px 1fr 220px;gap:18px}.character-preview{height:245px}.paperdoll{padding-right:12px}.game-dialog{padding:30px 28px}.bag-grid{gap:5px;grid-template-columns:repeat(5,minmax(35px,1fr))}.item-detail{padding-left:15px}.target-hud{width:250px;left:53%}.start-screen{grid-template-columns:1fr 420px;padding:4vh 4vw;gap:20px}.start-card{padding:25px}.start-heading h1{font-size:5.7vw}.start-heading .eyebrow{font-size:.75rem}.start-heading>p{font-size:.81rem}.start-preview{height:290px}}
@media(max-width:850px){.inventory-layout{grid-template-columns:210px 1fr}.item-detail{grid-column:1/-1;border-left:0;border-top:1px solid #acba9929;padding:22px 0 0;min-height:0;display:grid;grid-template-columns:150px 1fr;column-gap:24px}.item-detail>.item-art{grid-row:1/5;height:170px;align-self:center}.item-detail>.item-stats{grid-column:1/-1}.item-detail>h3,.item-detail>.eyebrow,.item-detail>.item-lore{grid-column:2}.item-detail>.primary{grid-column:1/-1}.talent-layout{grid-template-columns:1fr}.skills-panel{border-right:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.skills-panel>h3{grid-column:1/-1;margin:0}.spell-entry{grid-column:1/-1;padding:10px 0}.skill-progress{margin-bottom:9px}.talent-layout{gap:22px}.start-screen{grid-template-columns:1fr;padding:30px 20px;gap:20px;align-items:start}.start-heading{padding-top:0;max-width:440px}.start-heading h1{font-size:3.6rem;margin:10px 0}.start-heading>p{font-size:.86rem}.start-preview{height:190px;margin-top:0}.start-card{max-width:470px;width:100%;justify-self:center}.start-heading .build-note{display:none}.title-rule{margin-bottom:12px}.start-heading>.eyebrow{font-size:.75rem}.player-hud{width:265px;left:16px;top:16px;padding:11px;grid-template-columns:36px 1fr 26px;gap:8px}.portrait-button{width:36px}.portrait-button .icon{width:24px}.identity>span{display:none}.identity strong{max-width:130px}.quest-tracker{left:16px;top:143px;width:246px}.target-hud{top:100px;width:236px;left:50%;max-width:42vw}.compass{right:16px;top:16px;width:142px}.compass>button{width:140px;height:120px}.compass canvas{width:140px;height:140px;margin-top:-10px}.compass:after{height:121px}.compass strong{font-size:.75rem}.compass div span{font-size:.75rem}.compass>div{padding:8px 5px}.game-menu{right:16px;bottom:125px}.game-menu button{width:35px;height:42px}.game-menu .icon{width:19px}.action-dock{width:490px}.quest-tracker{opacity:.92}.map-layout{grid-template-columns:175px 1fr;gap:16px}.map-regions button{padding:9px}.map-regions button span{font-size:.77rem}.map-legend{gap:10px;flex-wrap:wrap}.journal-layout{gap:24px}.game-dialog.wide{width:calc(100vw - 26px)}#toasts{right:17px;width:240px;bottom:190px}.toast{font-size:.75rem}}
@media(max-width:600px){:root{font-size:16px}.player-hud{left:10px;top:10px;width:218px;padding:9px;grid-template-columns:29px 1fr 25px;gap:7px}.portrait-button{width:29px;height:48px}.portrait-button .icon{width:22px}.identity{margin-bottom:7px}.identity strong{max-width:110px;font-size:.84rem}.status-line{font-size:.75rem;padding-top:5px}.stat-bar{height:12px}.stat-bar>span{font-size:.75rem}.level-badge{font-size:.9rem;width:25px;height:28px}.compass{width:113px;top:10px;right:10px}.compass>button{width:111px;height:83px}.compass canvas{width:111px;height:111px;margin-top:-14px}.compass:after{height:83px}.compass>div{padding:7px 4px}.compass strong{font-size:.75rem;line-height:1.3}.compass div span{font-size:.75rem;line-height:1.4}.compass-n{font-size:.75rem;top:3px}.quest-tracker{top:120px;left:10px;width:207px;padding:10px 11px;gap:5px}.quest-tracker .eyebrow{font-size:.75rem}.quest-tracker strong{font-size:.75rem}.quest-tracker>span:last-child{font-size:.75rem}.target-hud{left:50%;top:210px;width:242px;max-width:80vw;padding:8px 12px}.target-hud>span{font-size:.8rem}.target-hud small{font-size:.75rem}.zone-banner{top:35%;width:92%}.zone-banner h2{font-size:1.7rem;letter-spacing:.02em}.zone-banner p{font-size:.77rem}.zone-banner>span{font-size:.75rem}.action-dock{width:calc(100% - 20px);max-width:440px;bottom:max(11px,env(safe-area-inset-bottom));}.control-hint{display:none}.hotbar{padding:5px;gap:4px}.ability{width:auto;height:56px}.ability>.icon{width:25px;height:25px}.ability>kbd{font-size:.75rem;left:2px;top:2px;padding:2px}.ability>small{font-size:.75rem;bottom:3px;right:3px}.ability-timer{font-size:.75rem}.experience{margin-bottom:10px}.experience>span{font-size:.75rem;top:-17px}.game-menu{bottom:102px;right:10px;padding:4px;gap:1px}.game-menu button{width:33px;height:34px}.game-menu kbd{display:none}.game-menu .icon{width:19px}.interaction{bottom:159px;padding:8px 12px;gap:8px;font-size:.77rem;max-width:86%;text-align:center;white-space:normal}.interaction>kbd{font-size:.75rem}#toasts{bottom:258px;right:12px;width:225px}.toast{font-size:.75rem;padding:9px 11px}.ability-tooltip{position:fixed;bottom:118px;left:10px;right:10px;width:auto;transform:none!important;text-align:left;padding:14px}.ability-tooltip p{font-size:.85rem}.ability-tooltip strong{font-size:.9rem}.start-screen{padding:23px 15px;gap:15px}.start-preview{height:165px}.start-heading h1{font-size:3rem}.start-heading>p{font-size:.75rem}.start-heading>.eyebrow{font-size:.75rem;letter-spacing:.14em}.start-card{padding:22px}.start-card h2{font-size:1.4rem;margin:9px 0 19px}.start-card>.eyebrow{font-size:.75rem}.class-choice{gap:7px;margin-bottom:15px}.class-choice button{padding:13px 5px 11px;gap:8px}.class-choice strong{font-size:.79rem}.class-choice .icon{width:25px;height:25px}#class-description{min-height:127px}#class-description>p{font-size:.84rem}.start-footer{gap:12px}.start-footer .text-button{font-size:.75rem}.game-dialog,.game-dialog.wide{width:calc(100vw - 20px);max-height:calc(100dvh - 22px);padding:27px 20px 25px}.game-dialog h2{font-size:1.5rem}.close-dialog{right:12px;top:12px;width:27px;height:27px}.game-dialog>.eyebrow{font-size:.75rem;padding-right:27px;letter-spacing:.12em}.inventory-layout{grid-template-columns:1fr;gap:22px}.paperdoll{border-right:0;padding:0;display:grid;grid-template-columns:1fr 140px;gap:13px;align-items:center}.character-preview{height:230px;min-width:0}.equipment-slots{grid-template-columns:1fr 1fr;gap:7px}.equipment-slot{height:63px}.equipment-slot span{font-size:.75rem}.equipment-slot img{height:37px;width:37px}.paperdoll-stats{grid-column:1/-1;justify-content:space-around;margin:0;padding-bottom:17px;border-bottom:1px solid #afc29525}.bag-grid{grid-template-columns:repeat(5,1fr);gap:7px}.section-title{margin:0 0 14px}.bag-footer{font-size:.75rem;margin-top:14px}.item-detail{grid-template-columns:95px 1fr;gap:0 14px}.item-detail .item-art{height:115px;grid-row:1/4}.item-art img{width:90px;height:100px}.item-detail h3{font-size:1.1rem}.item-detail .item-lore{font-size:.76rem}.item-stats{grid-column:1/-1}.item-detail>.requirement,.item-detail>.compare-note{grid-column:1/-1}.item-detail>.muted{grid-column:1/-1}.point-count{font-size:.75rem;padding:7px 9px}.panel-title{gap:10px;align-items:flex-start}.panel-title h2{font-size:1.4rem}.talent-branches{gap:13px}.talent-branch h3{font-size:1rem}.talent-node{padding:14px 12px;min-height:171px}.talent-node strong{font-size:.86rem;padding-right:0;padding-top:14px}.node-rank{font-size:.75rem;top:9px;right:10px}.talent-node p{font-size:.76rem;line-height:1.6}.talent-node small{font-size:.75rem}.skills-panel h3{font-size:1rem}.journal-layout{grid-template-columns:1fr;gap:27px}.journal-contract{padding:18px}.journal-contract h3{font-size:1rem}.mystery-card{padding:18px}.journal-layout>section>h3{font-size:1rem}.journey-stats b{font-size:1.4rem}.map-layout{grid-template-columns:1fr;gap:15px}.map-regions{display:grid;grid-template-columns:1fr 1fr;max-height:200px;padding-right:5px}.map-regions button{padding:9px}.map-regions button span{font-size:.75rem}.map-regions button small{font-size:.75rem}.map-legend{gap:10px;padding:13px 7px}.map-legend span{font-size:.75rem}.shop-layout{grid-template-columns:1fr;gap:10px}.shop-list{max-height:350px}.shop-item{padding:8px 10px;gap:10px}.shop-item strong{font-size:.77rem}.shop-item small{font-size:.75rem}.shop-item>b{font-size:.75rem}.shop-item img{width:37px;height:37px}.loot-item{gap:13px;padding:13px}.loot-item>img{width:67px;height:67px}.loot-item h3{font-size:.95rem}.loot-item p{font-size:.75rem}.loot-item small{font-size:.75rem}.help-grid{grid-template-columns:1fr;gap:18px}.help-grid p{font-size:.86rem}.settings-list input[type=range]{width:135px}.settings-list select{font-size:.77rem;max-width:156px}.settings-list label{font-size:.81rem}.menu-actions .secondary{font-size:.75rem;padding:10px}.menu-actions{gap:8px}.game-dialog blockquote{font-size:.94rem;line-height:1.9;padding-left:16px}.actor-label{font-size:12px}.actor-label.boss{font-size:12px}.damage-number{font-size:18px}}
@media(pointer:coarse){.touch-controls{display:block;pointer-events:none}.touch-controls>*{pointer-events:auto}#joystick{position:absolute;left:24px;bottom:117px;width:92px;height:92px;border-radius:50%;border:1px solid #d1c1905c;background:radial-gradient(#30463a70,#192f3270);touch-action:none;backdrop-filter:blur(8px);display:grid;place-items:center;box-shadow:0 3px 25px #0a17143b}#joystick i{width:38px;height:38px;border-radius:50%;background:#b3b39842;border:1px solid #dfce9d64;pointer-events:none}#touch-interact,#touch-target{position:absolute;right:27px;bottom:169px;width:46px;height:46px;border-radius:50%;background:#233b3bbf;border:1px solid #d8c58c68;color:var(--gold);font-family:Cinzel,serif;font-size:1.1rem;display:grid;place-items:center}#touch-target{right:88px;bottom:161px}.control-hint{visibility:hidden}.quest-tracker{max-width:215px}#toasts{bottom:248px}.interaction{bottom:220px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition:none!important}.zone-banner.show{opacity:0}}

.ability.queued{border-color:#edd8ab;box-shadow:inset 0 0 0 1px #edd8ab,0 0 12px #d8bf8940}.ability.queued>.icon{opacity:.4}.ability.queued .ability-timer{color:#ffedbd;font-weight:600}

/* Expanded talent paths and individual item rolls. */
.talent-layout{grid-template-columns:1fr}.talent-layout>.skills-panel{order:2;border:0;border-top:1px solid var(--line);padding:25px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.skills-panel>h3{grid-column:1/-1}.talent-branches{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.talent-branch[hidden]{display:none}.talent-branch h3{margin-bottom:6px}.branch-investment{font-size:13px;color:var(--muted);margin-bottom:16px}.talent-node{width:100%;min-height:165px}.talent-node p{font-size:14px}.talent-node.capstone{border-color:#d8bf8980;background:linear-gradient(140deg,#51483266,#203137)}.talent-node.capstone strong{color:#f4dba8}.talent-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0 25px;flex-wrap:wrap}.talent-tabs{display:flex;gap:6px;flex-wrap:wrap}.talent-tabs button{padding:9px 12px;background:#15252a;border:1px solid var(--line);font-size:14px}.talent-tabs button.selected{background:#d8bf8924;border-color:var(--gold);color:var(--gold-bright)}.talent-toolbar>.secondary{font-size:13px;padding:9px 12px;min-height:40px}.talent-toolbar>.secondary:disabled{opacity:.5}.quality-mark{display:inline-block;font-size:13px;line-height:1.5;margin:8px 0;color:#b9c5c2;border:1px solid currentColor;border-radius:3px;padding:2px 6px;width:fit-content}.quality-worn{color:#bd9a88}.quality-fine{color:#93c5aa}.quality-exceptional{color:#9cbddc}.quality-masterwork{color:#efcc88}.quality-explainer{font-size:13px;color:var(--muted);line-height:1.6}.base-stat{display:block;font-size:12px;color:var(--muted);margin-top:4px}.item-quality{position:absolute;bottom:3px;left:4px;font-size:12px;line-height:1.3;padding:1px 3px;border-radius:2px;background:#0a171de8;color:#e0d6bb;pointer-events:none}.actor-label.elite{color:#ffb978;font-size:14px}.actor-label.elite i{border-color:#e5aa64}.actor-label.hardened{color:#edd4a3}.item-detail>.quality-mark,.item-detail>.quality-explainer{grid-column:1/-1}.talent-node:disabled{opacity:.64}
@media(max-width:720px){.talent-branches{grid-template-columns:1fr}.talent-layout>.skills-panel{grid-template-columns:1fr}.talent-node{min-height:130px}.talent-toolbar{align-items:stretch}.talent-tabs{display:grid;grid-template-columns:1fr 1fr;flex:1}.talent-toolbar>.secondary{width:100%}.branch-investment{font-size:14px}.talent-node strong{font-size:16px}.bag-footer{flex-wrap:wrap;gap:8px}}
.enemy-tooltip{position:fixed;z-index:8;width:244px;max-width:calc(100vw - 24px);padding:14px 16px;border-radius:5px;pointer-events:none;box-shadow:0 8px 28px #0007}.enemy-tooltip[hidden]{display:none}.enemy-tooltip .eyebrow{font-size:11px;letter-spacing:.08em;line-height:1.6}.enemy-tooltip>strong{display:block;font-family:Cinzel,Georgia,serif;font-size:17px;margin:5px 0 10px;color:#f0e4cb}.enemy-tooltip-health{height:5px;border-radius:2px;background:#101a1d;overflow:hidden;margin-bottom:6px}.enemy-tooltip-health i{display:block;height:100%;background:#b97e64}.enemy-tooltip-vitals{font-size:13px;color:#e4ccba}.enemy-tooltip p{font-size:13px;margin-top:9px;line-height:1.5}.enemy-tooltip small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.enemy-tooltip.elite{border-color:#d6a876}.enemy-tooltip.hardened{border-color:#b19f85}
.enemy-trait{font-size:12px;line-height:1.5;color:#c2d2c9;margin-top:8px}.enemy-tooltip{width:288px}.atlas-filters{display:flex;gap:8px;margin:18px 0;flex-wrap:wrap}.atlas-filters button{padding:9px 14px;border:1px solid var(--line);background:#1a3039;font-size:14px}.atlas-filters .selected{border-color:var(--gold);color:var(--gold)}.map-regions button[hidden]{display:none}.narration-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding-top:22px;margin-top:22px;border-top:1px solid var(--line)}.narration-controls>span{font-size:13px;color:var(--muted)}.waystone-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:24px 0}.waystone-list button{display:flex;justify-content:space-between;text-align:left;gap:15px}.camp-supplies{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.bestiary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:25px}.bestiary-entry{padding:20px;border:1px solid var(--line);background:#172a32}.bestiary-entry.legendary{border-color:#ccb47780;background:linear-gradient(145deg,#423a3066,#172a32)}.bestiary-entry h3{margin:8px 0 12px;font-size:19px}.bestiary-entry p{font-size:14px;margin:10px 0}.bestiary-entry small{font-size:13px;color:var(--muted)}.trophy-note{color:var(--gold)}#open-bestiary{margin-bottom:24px}@media(max-width:720px){.bestiary-grid,.waystone-list{grid-template-columns:1fr}.narration-controls{gap:10px}.enemy-tooltip{width:260px;max-height:calc(100dvh - 24px);overflow:hidden}}

/* Steel, jewel cloth and readable field marks. */
:root{--ink:#0d1723;--panel:#172635;--line:#9aafc33d;--text:#eeeade;--muted:#b0bdc8;--gold:#dfbc7b;--gold-bright:#ffe0a6;--shadow:0 18px 60px #03091480}
.glass{background:linear-gradient(145deg,#192b3af5,#101c29f2);border-color:#7e9aae55;box-shadow:0 5px 24px #03091366,inset 0 1px #e2e6d90b}
#hud{--class-color:#eac387;--class-bg:#684c39}
#hud[data-vocation=ranger]{--class-color:#96e1c0;--class-bg:#285e59}
#hud[data-vocation=mage]{--class-color:#bbbcff;--class-bg:#464476}
.player-hud{border-top:2px solid var(--class-color)}
.portrait-button{background:radial-gradient(ellipse at 50% 20%,var(--class-bg),#172536);color:var(--class-color);border-color:var(--class-color);border-radius:5px 5px 12px 12px}
.stat-bar.health{height:18px;border-color:#e2a79955}.stat-bar.health>i{background:linear-gradient(90deg,#843f46,#d07068)}
.stat-bar.mana{height:16px;border-color:#8cc6ed50}.stat-bar.mana>i{background:linear-gradient(90deg,#2d6085,#72b8df)}
.stat-bar>span{text-shadow:0 1px 3px #040a13,0 0 3px #040a13;font-weight:600}
.level-badge{background:#dfbc7b12;border-color:#dfbc7b75}.status-line{color:#bfd5c4}.status-line .in-combat{color:#ffac94}
.target-hud{border-top:2px solid #d4a177}.target-hud.attacking{border-color:#ef997e;background:linear-gradient(145deg,#442c31f5,#171d2bf2)}
.target-hud.attacking small{color:#ffd3ae}.target-hud .stat-bar{height:7px}.target-hud .enemy>i{background:linear-gradient(90deg,#974750,#da8f6b)}
.ability{background:linear-gradient(145deg,var(--class-bg),#1a2635);border-color:#b8bcc16b;border-bottom:2px solid var(--class-color);color:var(--class-color)}
.ability[data-ability=potion]{color:#ffc1b0;background:linear-gradient(145deg,#673b43,#242638);border-bottom-color:#e99d87}
.ability[data-ability=manaPotion]{color:#a5deff;background:linear-gradient(145deg,#314f6f,#20293b);border-bottom-color:#91cbed}
.ability[data-ability=dash]{color:#d2e1e7}.ability.unavailable{border-bottom-color:#52606c}.ability.queued{border-color:#8ae8df;box-shadow:0 0 0 1px #8ae8df80,inset 0 0 20px #62c9d52b}.ability.queued .ability-timer{color:#befff0}
.ability-tooltip{background:#142331fc;border-color:#b5c3c467}.ability-tooltip p{color:#dee1df;font-size:14px}.ability-tooltip span{font-size:13px}
.interaction{border-color:var(--poi-color,#dcb977);background:#101e2bf5;box-shadow:0 5px 24px #02081166;color:#f7eedb;font-size:14px;max-width:min(520px,90vw)}
.interaction kbd{border-color:var(--poi-color,#dcb977);color:var(--poi-color,#dcb977);min-width:28px;text-align:center;font-size:14px}.interaction.blocked{border-color:#cf8c79;color:#f3c1b2}.interaction.blocked kbd{font-size:12px;color:#f3c1b2;border-color:#cf8c79}
.hero-world-label{position:absolute;top:0;left:0;font-size:12px;font-weight:700;line-height:1.4;letter-spacing:.10em;color:#ffebba;padding:2px 7px;background:#111d2ce6;border:1px solid #e1be7969;border-radius:3px;pointer-events:none}
.hero-world-label[hidden],.poi-label[hidden]{display:none!important}
.poi-label{--poi-color:#d8bf89;position:absolute;top:0;left:0;display:flex;align-items:center;gap:0;pointer-events:none;filter:drop-shadow(0 3px 5px #0008);z-index:1}
.poi-symbol{height:29px;width:29px;display:grid;place-items:center;background:#10212df2;border:1px solid var(--poi-color);border-radius:7px 7px 7px 2px;color:var(--poi-color);flex:none}
.poi-symbol .icon{width:19px;height:19px;stroke-width:1.7}
.poi-caption{display:none;background:#10212df2;border:1px solid #8dabb457;border-left:0;border-radius:0 4px 4px 0;padding:6px 10px;max-width:228px;line-height:1.35}
.poi-caption strong{display:block;color:#f6ead6;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.poi-caption small{display:block;color:var(--poi-color);font-size:12px;margin-top:2px;white-space:nowrap}
.poi-label.expanded .poi-caption{display:block}.poi-label.expanded .poi-symbol{height:49px;border-radius:4px 0 0 4px;width:34px}
.poi-label.active{z-index:3}.poi-label.active .poi-caption{border-color:var(--poi-color)}.poi-label.blocked .poi-caption small{color:#ffb49e}
.poi-label.gather{gap:4px;padding:3px 5px;border:0;border-radius:3px;background:#101b267d;filter:none;opacity:.86;text-shadow:0 1px 2px #071013}
.poi-label.gather.active{opacity:1}.poi-label.gather.expanded .poi-symbol{width:12px;height:12px;border:0;border-radius:0;background:none}.poi-label.gather .poi-symbol .icon{width:12px;height:12px;stroke-width:1.7}
.poi-label.gather.expanded .poi-caption{display:block;padding:0;border:0;border-radius:0;background:none;max-width:160px;line-height:1.2}.poi-label.gather .poi-caption strong{font-size:12px;font-weight:500;color:#d5decb}.poi-label.gather .poi-caption small{display:none}
.actor-label{background:#101b28ed;border:1px solid #778c9b65;border-radius:4px;padding:5px 8px 6px;color:#f4e3cc;font-size:13px;line-height:1.35;max-width:260px;text-shadow:none;filter:drop-shadow(0 3px 4px #0007)}
.actor-label .actor-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actor-label small{display:block;font-size:12px;line-height:1.3;color:#d4bfa5;margin-top:3px}.actor-label small:empty{display:none}
.actor-label .actor-health{height:5px;width:100%;min-width:70px;margin-top:5px;background:#060f1b;border:0;border-radius:1px}.actor-label .actor-health>b{background:linear-gradient(90deg,#a75050,#dc9272)}
.actor-label .actor-cast{display:none;height:3px;width:100%;border:0;background:#34292c}.actor-label.attacking{border-color:#f2a886}.actor-label.attacking .actor-cast{display:block}.actor-label .actor-cast>b{background:#ffda9b}.actor-label.attacking small{color:#ffcf94}
.actor-label.selected{border-color:#f0c783}.actor-label.boss{border-color:#d5a573;font-size:14px}.actor-label.legendary{border-top:2px solid #edc06d;background:#2b2330f2}.actor-label.legendary .actor-intent{color:#f7cf7a}
.actor-label.npc{border-color:#d8ba7966;font-size:14px;color:#f5ddb3;padding:5px 10px 6px 34px;min-height:31px;text-align:left}.npc-symbol{position:absolute;left:7px;top:5px}.npc-symbol .icon{width:19px;height:19px}.actor-label.npc small{color:#b4c4cb}
.damage-number{font-weight:700;text-shadow:0 2px 1px #09111c,1px 0 #09111c,-1px 0 #09111c,0 -1px #09111c}.damage-number.damage{color:#ff9c87}.damage-number.crit{color:#ffe3a1}
.game-dialog{background:linear-gradient(145deg,#1b2c3a,#111d2b);border-color:#c8ac7663}.game-dialog::backdrop{background:#050e1cb3;backdrop-filter:blur(5px)}
.game-dialog.wide{width:min(1240px,calc(100vw - 44px))}
.inventory-layout{grid-template-columns:minmax(290px,320px) minmax(230px,1fr) 260px;gap:24px}
.paperdoll{border:1px solid #809bab3a;padding:12px;background:radial-gradient(ellipse at 50% 30%,#32485688,transparent 69%),linear-gradient(#182b3d,#101c29);border-radius:7px}
.doll-stage{position:relative;min-width:0}.character-preview{height:380px;position:relative;width:100%;max-width:none}.character-preview canvas{height:100%;width:100%;cursor:grab}.character-preview canvas:active,.start-preview canvas:active{cursor:grabbing}
.equipment-slots{display:contents}.equipment-slot{position:absolute;z-index:2;width:63px;height:73px;border-color:#91a8b066;background:linear-gradient(145deg,#344752,#142333);box-shadow:0 5px 14px #030a1266;padding-bottom:20px}
.equipment-slot[data-slot=head]{left:0;top:24px}.equipment-slot[data-slot=armor]{left:0;top:121px}.equipment-slot[data-slot=boots]{left:0;top:218px}
.equipment-slot[data-slot=weapon]{right:0;top:24px}.equipment-slot[data-slot=offhand]{right:0;top:121px}.equipment-slot[data-slot=charm]{right:0;top:218px}
.equipment-slot span{font-size:12px;color:#dfddd1}.equipment-slot img{width:47px;height:47px}.equipment-slot.empty{border-style:dashed;box-shadow:none;background:#10203066}.equipment-slot.empty>.icon{opacity:.4}
.paperdoll-stats{margin:0;padding:13px 0 2px;border-top:1px solid #839aa63b;justify-content:space-around}.paperdoll-stats b{font-size:23px}.paperdoll-stats span{font-size:13px}
.preview-controls{position:absolute;left:0;right:0;bottom:5px;display:flex;justify-content:center;align-items:center;gap:10px;color:#b8c7cf;font-size:12px;z-index:1}.preview-controls button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #8da9ba55;background:#112333e0;color:#dbc597}.preview-controls .icon{width:17px;height:17px}.preview-controls button:first-child .icon{transform:rotate(180deg)}
.start-preview{position:relative;height:min(46vh,430px)}.start-preview canvas{cursor:grab}.start-preview .preview-controls{bottom:0}
.section-title{margin-bottom:8px}.bag-caption{font-size:13px;color:var(--muted);margin:0 0 18px;line-height:1.5}.bag-empty{font-size:15px;color:#d7d7c9;padding:16px;margin-bottom:14px;border:1px dashed #8299a044;background:#0b172633;text-align:center}.bag-empty span{font-size:13px;color:#aebec7}
.bag-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.item-slot{border-color:#839aaa4a;background:linear-gradient(145deg,#273949,#152334)}.item-slot.empty{border-color:#71869a20;background:#0b172652;box-shadow:inset 0 1px 4px #01091440}.item-slot.selected,.equipment-slot.selected{outline:2px solid #f7d599;outline-offset:2px}
.item-detail{border:1px solid #809bab36;border-radius:5px;background:#101e2c88;padding:16px}.item-detail h3{font-size:21px}.item-stats>div{border-color:#839aa332}.item-stats strong{font-size:17px}.item-art{background:radial-gradient(ellipse,#8a826032,transparent 70%)}
.map-legend{gap:12px;flex-wrap:wrap}.map-legend span{font-size:13px;display:flex;align-items:center;gap:5px}.map-legend .icon{width:18px;height:18px}.map-legend span>i{display:none}
.waystone-list button{border-color:#6cb8c570;background:linear-gradient(135deg,#244650,#142936)}
.reset-progress{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0;padding:20px 0;border-block:1px solid #c5897140}.reset-progress strong{font-size:15px}.reset-progress p{font-size:14px;color:var(--muted);margin-top:6px}.reset-progress button{flex:none}.danger-button.secondary{border-color:#d9957c80;color:#f0baaa;background:#432c344d}.danger-button.primary{background:#ad5e55;border-color:#e4a78d;color:#fff3e7}.reset-description{margin:20px 0}.reset-summary{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.reset-summary span{padding:8px 10px;background:#243747;font-size:14px;border:1px solid #8199a441}
@media(max-width:1100px){.inventory-layout{grid-template-columns:300px minmax(230px,1fr)}.item-detail{grid-column:1/-1}.paperdoll{padding:12px}.character-preview{height:380px}}
@media(max-width:720px){.inventory-layout{grid-template-columns:1fr;gap:20px}.paperdoll{display:block;max-width:370px;width:100%;justify-self:center}.doll-stage{width:100%}.character-preview{height:350px}.equipment-slot{height:70px;width:63px}.paperdoll-stats{margin:0;padding:13px 0 0}.game-dialog.wide{width:calc(100vw - 20px)}.item-detail{padding:14px}.start-preview{height:250px;max-width:360px;margin-inline:auto}.start-heading h1{font-size:3rem}.reset-progress{align-items:stretch;flex-direction:column}.reset-progress button{width:100%}.poi-caption{max-width:180px}.poi-caption strong{font-size:13px}.actor-label{font-size:12px;max-width:210px}.poi-label.expanded .poi-symbol{height:47px}.actor-label.npc{font-size:13px}.poi-label:not(.active) .poi-caption{display:none}.poi-label:not(.active) .poi-symbol{height:27px;width:27px;border-radius:5px}.stat-bar.health{height:15px}.stat-bar.mana{height:14px}}
@media(max-width:360px){.player-hud{width:200px}.compass{width:100px}.compass>button{width:98px}.compass canvas{width:98px;height:98px;margin-top:-7px}.poi-caption{max-width:160px}.bag-grid{gap:5px}.equipment-slot{width:58px}}
.shop-stock-note{font-size:13px;color:#d4b79a;line-height:1.6;margin:10px 0 16px}.shop-item small{line-height:1.5}

/* Character selection is a game lobby; the actual realm status stays explicit. */
.mmo-lobby{--vocation-color:#dfbc7b;display:grid;grid-template-columns:minmax(235px,290px) minmax(240px,1fr) minmax(260px,320px);grid-template-rows:auto minmax(0,1fr) auto;column-gap:clamp(18px,3vw,52px);row-gap:20px;padding:26px 4vw 18px;align-items:center;background:radial-gradient(ellipse at 50% 48%,#1e384960,transparent 46%),linear-gradient(90deg,#07121eec,#102433ba 48%,#091624ed);min-height:100dvh}
.lobby-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:1px solid #b7c5c12e}.lobby-top h1{font:500 clamp(32px,3.4vw,54px)/1.1 Cinzel,Georgia,serif;letter-spacing:.14em;color:#f0d39a;margin-top:8px}.lobby-top .eyebrow{font-size:12px;letter-spacing:.20em;color:#afbdc2}.realm-status{text-align:right;display:flex;flex-direction:column;gap:4px}.realm-status>span{font-size:12px;color:#d5bc89}.realm-status .icon{width:16px;height:16px;margin-right:4px}.realm-status strong{font-size:16px;color:#e2e6e2}.realm-status small{font-size:12px;color:#a6b8c6}
.lobby-roster,.lobby-details{align-self:center;border-radius:6px;padding:24px 21px;background:linear-gradient(150deg,#172937f0,#101b28f2)}.lobby-roster h2,.lobby-details h2{font-size:24px;margin:10px 0 22px}.lobby-roster .eyebrow,.lobby-details .eyebrow{font-size:12px;letter-spacing:.12em}.lobby-roster>.secondary{width:100%;font-size:14px;margin-top:18px}.roster-count{font-size:12px;text-align:center;color:#9caebb;margin-top:12px}.character-list{margin:0;display:grid;gap:8px;max-height:44vh;overflow-y:auto}.character-record{border:1px solid #829cac3d;background:#14273770;border-radius:4px}.character-record.selected{border-color:var(--vocation-color);background:linear-gradient(110deg,#a9c4ca21,#2a3e4a50);box-shadow:inset 3px 0 var(--vocation-color)}.character-record>button:first-child{padding:13px 9px;gap:10px;min-width:0}.character-record strong{font-size:15px;display:block;max-width:150px;overflow:hidden;text-overflow:ellipsis}.character-record small{font-size:12px}.record-icon{border-color:#7b959f55!important;color:var(--vocation-color);background:#112333}.delete-character{opacity:.48;align-self:center}.character-record:hover .delete-character,.delete-character:focus-visible{opacity:1}
.mmo-lobby .class-choice{display:grid;grid-template-columns:1fr;gap:12px;margin:0}.mmo-lobby .class-choice button{display:flex;flex-direction:row;text-align:left;gap:14px;padding:17px 13px;background:linear-gradient(130deg,#2a3c4966,#132535);border-color:#869ca447;align-items:center}.mmo-lobby .class-choice button.selected{border-color:var(--vocation-color);box-shadow:inset 3px 0 var(--vocation-color);background:#bfd4ce12}.mmo-lobby .class-choice strong{display:block;font-size:17px;color:#f1e4c9}.mmo-lobby .class-choice small{display:block;font-size:12px;line-height:1.5;color:#b3c0c8;margin-top:5px}.mmo-lobby .class-choice .icon{width:30px;height:30px;color:var(--vocation-color)}
.lobby-figure{align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;text-align:center}.lobby-figure-title .eyebrow{color:var(--vocation-color);font-size:13px;letter-spacing:.2em}.lobby-figure-title h2{font-size:clamp(21px,2.8vw,39px);line-height:1.35;margin:9px 0 0;color:#f2e9d8;overflow-wrap:anywhere}.mmo-lobby.creating .lobby-figure-title h2{font-size:clamp(20px,2vw,29px)}.mmo-lobby .start-preview{width:100%;max-width:640px;height:clamp(320px,52vh,570px);margin:0;flex:none}.figure-caption{font-size:12px;color:#a8bbc7;margin-top:7px}.mmo-lobby .preview-controls{bottom:2px}
.lobby-level{display:block;color:var(--vocation-color);font-size:15px;margin-top:-10px}.lobby-class-copy{font-size:14px;line-height:1.7;color:#bccbd1;margin:19px 0}.lobby-summary{margin:0 0 23px}.lobby-summary>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid #809baa30;font-size:13px;line-height:1.5}.lobby-summary dt{color:#a1b4c2}.lobby-summary dd{margin:0;color:#e2e2d3;text-align:right}.lobby-details>.primary{width:100%;min-height:54px}.lobby-save-note{font-size:12px;line-height:1.6;color:#a4b7c3;text-align:center;margin-top:12px}.lobby-paths{display:flex;flex-direction:column;border-top:1px solid #829caa36;margin:20px 0;padding-top:13px;gap:7px}.lobby-paths span{font-size:12px;color:#a3b7c4;margin-bottom:2px}.lobby-paths strong{font-size:14px;color:#dfd4b9}.lobby-details #class-description{min-height:0}.lobby-details #class-description>p{font-size:14px;line-height:1.7}.lobby-details .class-numbers{margin:20px 0}.lobby-details .class-numbers span{font-size:12px}.lobby-details .class-numbers b{font-size:22px}.lobby-details form label{font-size:14px}.lobby-details form input{margin:9px 0 14px;background:#0c1c2b;border-color:#89a5b05c;font-size:15px;width:100%}.lobby-details form .primary{width:100%;font-size:15px}
.lobby-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #b2c2c52e;padding-top:12px;flex-wrap:wrap}.lobby-bottom>p{font-size:12px;color:#9cb0bd;line-height:1.6}.lobby-tools{display:flex;gap:22px}.lobby-tools .text-button{font-size:13px}.lobby-bottom .start-error:empty{display:none}
@media(max-width:1000px){.mmo-lobby{grid-template-columns:235px 1fr;column-gap:20px;padding:22px;grid-template-rows:auto auto auto auto;align-content:start}.lobby-roster{grid-column:1;grid-row:2;align-self:start}.lobby-figure{grid-column:2;grid-row:2/4;align-self:start}.lobby-details{grid-column:1;grid-row:3;margin-top:0}.lobby-bottom{grid-row:4}.mmo-lobby .start-preview{height:440px}.lobby-roster,.lobby-details{padding:20px 17px}.lobby-details h2{font-size:21px}.lobby-class-copy{margin:12px 0}.lobby-summary>div{padding:8px 0}}
@media(max-width:640px){.mmo-lobby{display:flex;flex-direction:column;gap:18px;padding:18px 14px 22px;align-items:stretch}.lobby-top{order:0;padding-bottom:14px}.lobby-top h1{font-size:31px}.lobby-top .eyebrow{font-size:10px;letter-spacing:.11em}.realm-status strong{font-size:14px}.realm-status small{max-width:120px;font-size:11px}.realm-status>span{font-size:11px}.lobby-roster{order:1}.lobby-figure{order:2;align-self:stretch}.lobby-details{order:3;width:100%}.lobby-bottom{order:4}.mmo-lobby .start-preview{height:320px;max-width:350px}.lobby-figure-title h2{font-size:29px}.lobby-roster h2{margin:7px 0 14px}.mmo-lobby .class-choice{grid-template-columns:repeat(3,1fr);gap:7px}.mmo-lobby .class-choice button{flex-direction:column;gap:9px;text-align:center;padding:13px 5px}.mmo-lobby .class-choice strong{font-size:14px}.mmo-lobby .class-choice small{display:none}.mmo-lobby .class-choice .icon{width:25px;height:25px}.lobby-roster>.secondary{margin-top:12px}.character-list{max-height:230px}.lobby-bottom{gap:5px}.lobby-bottom>p{font-size:12px}.lobby-top .eyebrow{font-size:12px;max-width:155px}.realm-status small{font-size:12px}.realm-status>span{font-size:12px}.lobby-details .class-numbers b{font-size:25px}}

/* Shared-world account and communication surfaces. */
.login-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(540px,90vw);padding:44px;display:grid;gap:18px;text-align:center}.login-card h1{font:56px Cinzel,serif;color:var(--gold,#ddc398)}.login-card .primary{display:block;text-decoration:none;padding:16px}.login-card small{color:#aabdb9}.online-hud{position:absolute;left:22px;bottom:22px;width:290px;pointer-events:auto;padding:10px 13px;font-size:11px;color:#9bdbbd}.online-hud summary{cursor:pointer;list-style:none;margin-top:8px;color:#d4ddd5}.online-hud summary kbd{float:right}#chat-log{max-height:140px;overflow:auto;margin:10px 0;color:#d3ddd8;font-size:12px;overflow-wrap:anywhere}#chat-log p{margin:5px 0}#chat-log .presence{color:#98afa7;font-size:11px}#chat-log strong{color:#e4c68a}#chat-form{display:flex;gap:5px}#chat-input{min-width:0;width:100%;font-size:12px;padding:8px;background:#111e22;color:#e7e9df;border:1px solid #455653}#chat-form button{padding:6px;color:#e4c68a;background:#243b38;border:1px solid #496158}.actor-label.friendly .actor-name{color:#a4f0cf}.actor-label.friendly .actor-health b{background:#69c798}.actor-label.friendly .actor-intent{color:#91c9b0}.network-busy #create-character button,.network-busy #enter-selected,.network-busy .delete-character{pointer-events:none;opacity:.55}.lobby-tools a{color:inherit;text-decoration:none}@media(max-width:1000px){.online-hud{left:12px;bottom:185px;width:230px}}@media(max-width:650px){.online-hud{bottom:170px;left:8px;width:205px;font-size:10px}#chat-log{max-height:90px}.login-card{padding:24px}}
