@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--bg:#0b1118;--panel:rgba(11,18,25,.91);--panel2:#101b25;--edge:#526071;--gold:#ddae61;--cream:#e9ddc0;--muted:#99a6a8;--teal:#59bdba;--blood:#c75250}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#070d12;color:#e3e4de;font-family:Inter,system-ui,sans-serif}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.hidden{display:none!important}#app{width:100vw;height:100dvh;position:relative;overflow:hidden;background:#111b20}#world{width:100%;height:100%;display:block;image-rendering:pixelated;cursor:crosshair}#worldTint{position:absolute;pointer-events:none;inset:0;background:radial-gradient(ellipse at center,transparent 31%,rgba(5,9,15,.42) 100%);z-index:1}
.landing{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:4.5vw 7vw;gap:40px;background:linear-gradient(90deg,rgba(4,10,15,.97) 0%,rgba(6,12,18,.91) 35%,rgba(5,10,16,.37) 72%,rgba(5,10,16,.8) 100%);overflow-y:auto}.landing::before,.landing::after{content:'';position:absolute;pointer-events:none}.landing::before{inset:17px;border:1px solid rgba(184,151,95,.12)}.landing::after{inset:26px;border:1px solid rgba(184,151,95,.06)}.landing-haze{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 58% 90%,rgba(199,87,43,.23),transparent 46%),radial-gradient(ellipse at 0% 22%,rgba(50,117,111,.17),transparent 47%)}.landing-left{z-index:1;max-width:670px;min-width:360px;align-self:center}.eyebrow{font-family:Cinzel,serif;font-size:11px;letter-spacing:.21em;color:#e8c98c;display:flex;gap:13px;align-items:center}.crest-mini{font-size:18px;color:var(--gold)}.line{height:1px;width:44px;background:#b19564;opacity:.5}.tag{font-size:9px;color:#a6acaa;letter-spacing:.14em}.title-logo{font-family:Cinzel,Georgia,serif;font-size:clamp(65px,7vw,130px);font-weight:900;letter-spacing:-.085em;margin:27px 0 0;line-height:1.1;color:#f1e6cb;text-shadow:0 3px 0 #645640,0 11px 30px rgba(0,0,0,.95)}.title-logo span{color:#d8a65b;text-shadow:0 3px 0 #64472b,0 12px 38px rgba(232,115,39,.24)}.brand-subtitle{display:flex;align-items:center;gap:12px;margin-top:12px;margin-left:3px;color:#bbaf94;font-family:Cinzel,serif;letter-spacing:.48em;font-size:13px;font-weight:600}.brand-subtitle span{height:1px;background:linear-gradient(90deg,transparent,#a88c60);width:47px}.brand-subtitle span:last-child{transform:rotate(180deg)}.tagline{margin-top:46px;border-left:2px solid #c08a4e;padding-left:22px;font-family:Cinzel,serif;font-size:clamp(15px,1.45vw,21px);line-height:1.9;color:#ecdfc7}.tagline em{color:#bcb59f;font-weight:400;font-style:normal}.features{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin-top:42px;max-width:490px;font-size:10px;color:#aeb7af;letter-spacing:.08em}.features span::first-letter{color:#eebc64}.landing-footer{margin-top:80px;font-size:10px;letter-spacing:.16em;color:#697579}.landing-footer span{color:#bd8b51;padding:0 7px}
.creator-frame{position:relative;z-index:2;flex:0 0 410px;padding:5px;background:linear-gradient(145deg,rgba(196,154,98,.54),rgba(58,73,72,.19) 30%,rgba(117,91,54,.57) 72%,rgba(36,54,58,.44));box-shadow:0 32px 110px #000b;border:1px solid #66533d}.creator-inner{padding:25px 26px 21px;background:linear-gradient(155deg,rgba(18,28,35,.98),rgba(9,17,24,.99));outline:1px solid #273137;outline-offset:-9px}.pane-heading{display:flex;justify-content:center;align-items:center;gap:15px;font-family:Cinzel,serif;font-size:18px;font-weight:700;letter-spacing:.08em;color:#f0d3a1}.little-diamond{font-size:10px;color:#9b7746}.creator-intro{margin:8px 0 0;text-align:center;color:#839393;font-size:12px}#heroPreview{display:block;width:190px;height:171px;margin:3px auto 3px;image-rendering:pixelated}.input-label{font-size:10px;letter-spacing:.14em;color:#baaa8c;font-weight:700;display:block}.hero-input{margin-top:8px;width:100%;height:40px;border:1px solid #42515b;background:#0c141a;color:#f0e9d5;padding:0 11px;border-radius:0;font-family:Cinzel,serif;font-size:14px}.hero-input:focus{border-color:var(--gold)}.class-select{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:10px}.class-card{display:flex;flex-direction:column;align-items:center;padding:10px 3px 9px;gap:5px;border:1px solid #34414b;background:linear-gradient(#18232c,#0e171f);color:#acb6b5;transition:.18s}.class-card:hover{border-color:#aa8859;transform:translateY(-2px)}.class-card.selected{background:linear-gradient(#303127,#1a221f);border-color:#d3a45c;box-shadow:inset 0 0 18px #b9872d18;color:#f2d59c}.class-symbol{font-size:25px;height:31px;color:#e3ba78}.class-card b{font-family:Cinzel,serif;letter-spacing:.05em;font-size:12px}.class-card small{font-size:10px;color:#84918e}.appearance{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:15px 0 19px}.appearance label{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:2px}.appearance label>span{width:100%;text-align:center;font-size:9px;letter-spacing:.13em;color:#aaaeaa}.appearance button{background:none;border:0;font-size:21px;color:#daaf67;padding:1px 7px}.appearance strong{font-size:10px;font-weight:600;color:#e3e1d3}.gold-button{border:1px solid #e6b763;color:#2e2317;background:linear-gradient(180deg,#edca85,#bd8640);height:48px;font-family:Cinzel,serif;font-weight:900;letter-spacing:.1em;font-size:14px;width:100%;box-shadow:inset 0 1px #fff9,0 5px 0 #634321,0 12px 30px #0009;display:flex;align-items:center;justify-content:center;gap:12px}.gold-button:hover{filter:brightness(1.14)}.gold-button:active{transform:translateY(3px);box-shadow:0 2px 0 #634321}.button-arrow{font-size:22px}.creator-footnote{text-align:center;color:#647276;font-size:10px;margin:18px 0 0}.connect-error{color:#e68d75;font-size:12px;text-align:center;margin-top:10px;min-height:0}
.hud{position:absolute;inset:0;pointer-events:none;z-index:5}.hud button,.hud input,.hud .chat-panel,.hud .game-modal,.hud .dialogue{pointer-events:auto}.panel{border:1px solid rgba(184,154,100,.36);background:var(--panel);box-shadow:inset 0 0 0 2px rgba(5,11,18,.75),0 7px 28px rgba(0,0,0,.55);backdrop-filter:blur(8px)}.top-left{position:absolute;left:23px;top:21px;width:350px;height:113px;display:flex;padding:11px 13px;gap:12px}.character-head{position:relative;width:78px;height:87px;border:1px solid #98764b;flex:none;background:radial-gradient(circle at center,#3a4130,#192029);box-shadow:inset 0 0 0 3px #151f23}.character-head canvas{width:68px;height:73px;margin:5px;image-rendering:pixelated}.character-head #levelBadge{position:absolute;bottom:-3px;right:-3px;font-family:Cinzel,serif;font-size:12px;font-weight:900;background:#c39959;color:#131b1f;padding:3px 8px;border:1px solid #f2ca7c}.character-meta{flex:1;min-width:0;padding-top:2px}.person-name{font-family:Cinzel,serif;color:#f1ddb5;font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-desc{font-size:10px;color:#a2aaac;letter-spacing:.1em;margin:4px 0 9px}.person-desc span{color:#d8ac66;margin:0 4px}.meter{height:17px;border:1px solid #3b4348;margin-bottom:5px;position:relative;background:#18212a;box-shadow:inset 0 1px 5px #000}.meter>span{position:absolute;inset:0 auto 0 0;width:100%;background:linear-gradient(180deg,#cd6755,#7e2b2c);transition:width .18s}.meter.mp>span{background:linear-gradient(180deg,#65b6ca,#226b9d)}.meter b{position:relative;display:block;line-height:15px;text-align:center;color:#f7f1e2;text-shadow:1px 1px 2px #000;font-size:10px;font-weight:700}.xp-meter{height:4px;background:#29343b;position:relative;margin-top:8px}.xp-meter span{position:absolute;inset:0 auto 0 0;background:#e3bf68}.button-gear{border:none;background:none;color:#bdac80;font-size:24px;padding:0;align-self:flex-start}.button-gear:hover{color:white}.region-header{position:absolute;left:50%;top:18px;transform:translateX(-50%);text-align:center;white-space:nowrap;text-shadow:0 2px 12px #000}.region-small{font-size:9px;letter-spacing:.28em;color:#d3bd94}.region-header #regionTitle{font:700 23px Cinzel,serif;color:#f2e4bc;letter-spacing:.09em;text-shadow:1px 2px 3px #000}.region-header #pvpFlag{display:inline-block;color:#b0e5c8;font-size:9px;letter-spacing:.22em;border-top:1px solid #777f78;padding-top:4px;margin-top:4px}.region-header #pvpFlag.danger{color:#ff766c}.top-right{position:absolute;right:23px;top:21px;width:219px;display:flex;gap:12px;flex-direction:column}.map-container{padding:11px 9px 9px}.map-heading,.chat-title{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.12em;font-weight:800;color:#ccad79;padding:0 5px 8px}.map-heading span:last-child{color:#829797}#minimap{width:100%;height:138px;image-rendering:pixelated;border:1px solid #374448;background:#111a1b}.map-coords{display:flex;justify-content:space-between;color:#839694;font-size:9px;letter-spacing:.04em;margin:5px 2px 0}.map-coords span:last-child{color:#66bfa8}.quest-panel{padding:14px}.panel-label{color:#cfa66d;font-size:10px;letter-spacing:.13em;font-weight:700}.quest-title{margin:10px 0 5px;font:700 15px Cinzel,serif;color:#f4e5c4}.quest-desc{line-height:1.5;font-size:11px;color:#9caeaa}.quest-progress{background:#1c2a2d;margin-top:14px;border:1px solid #49514d;height:7px}.quest-progress span{display:block;background:linear-gradient(90deg,#98713e,#e0b66a);height:100%;width:0%;transition:width .2s}.quest-count{text-align:right;margin-top:6px;font-size:9px;color:#d4c099}.controls-helper{position:absolute;top:144px;left:25px;display:flex;flex-direction:column;gap:8px;color:#d7ddcc;text-shadow:0 1px 5px #000;font-size:10px;letter-spacing:.1em;opacity:.8}.controls-helper span{display:flex;align-items:center;gap:3px}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:19px;padding:3px 5px;background:rgba(19,30,35,.85);border:1px solid #8c937b;color:#e6d6ad;box-shadow:0 2px 0 #0007;font-family:Inter,sans-serif;font-size:9px;font-weight:800;border-radius:2px}.controls-helper span>kbd:last-of-type{margin-right:7px}.bottom-wrap{position:absolute;left:23px;right:23px;bottom:23px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}.chat-panel{width:350px;height:183px;padding:10px;pointer-events:auto;display:flex;flex-direction:column}.chat-title{padding:0 4px 7px}.chat-title>span:last-child{color:#7e9b94}.chat-messages{flex:1;overflow-y:auto;font-size:11px;line-height:1.55;color:#c3d1c5;scrollbar-width:thin;scrollbar-color:#586653 transparent}.chat-msg{padding:2px 3px;overflow-wrap:anywhere}.chat-msg.player{color:#e1e4d7}.chat-msg.epic{color:#e9ba5a}.chat-msg.arrival{color:#7cbbac}.chat-msg.departure{color:#7b8584}.chat-compose{height:31px;background:#0b151c;border:1px solid #33434b;display:flex;align-items:center;gap:8px;padding:0 9px;color:#deb16a}.chat-compose input{width:100%;background:none;border:0;outline:none;color:#f0e6d7;font-size:11px}.chat-compose input::placeholder{color:#71838a}.ability-bar{position:absolute;left:50%;bottom:0;transform:translateX(-50%)}.skill-shell{position:relative;padding:9px 11px 5px;background:linear-gradient(#293037,#0e141b);border:1px solid #84704c;box-shadow:inset 0 0 0 3px #10171e,0 0 25px #000c}.skill-group{display:flex;align-items:center;gap:6px}.skill-slot{position:relative;width:58px;height:57px;display:flex;align-items:center;justify-content:center;color:#e7ddc4;border:1px solid #77715c;background:radial-gradient(circle at center,#3c4b4d,#151f28 77%);box-shadow:inset 0 0 0 2px #18232c}.skill-slot:hover{border-color:#edd49d;background:radial-gradient(circle,#4f625e,#1e272c)}.skill-slot.basic{background:radial-gradient(#63543f,#272928)}.skill-slot.potion{background:radial-gradient(#743d46,#2a2027)}.skill-icon{font-size:32px;text-shadow:1px 3px 6px #000;line-height:1}.skill-slot:nth-child(2) .skill-icon{color:#e4a35c}.skill-slot:nth-child(3) .skill-icon{color:#97c9ab}.skill-slot:nth-child(4) .skill-icon{color:#9da9ed}.skill-slot small{position:absolute;bottom:1px;right:4px;font-size:9px;color:#f9e4ab;font-weight:900;text-shadow:0 1px 3px #000}.skill-slot b{position:absolute;top:2px;left:4px;color:#fff;font-size:10px}.skill-tooltip{display:none;position:absolute;bottom:68px;left:50%;transform:translateX(-50%);padding:9px 13px;white-space:nowrap;background:#101b22;border:1px solid #b69e68;color:#eddec0;font-size:11px;z-index:6;box-shadow:0 8px 20px #000}.skill-slot:hover .skill-tooltip{display:block}.slot-divider{height:40px;width:1px;background:#827153;margin:0 3px}.cooldown{position:absolute;inset:0;pointer-events:none;background:rgba(4,9,16,.7);display:none;align-items:center;justify-content:center;font-weight:800;font-size:17px;color:#fff}.hotbar-foot{display:flex;justify-content:space-between;padding:5px 3px 0;font-size:8px;letter-spacing:.17em;color:#ad9d82}.hotbar-foot>span:last-child{color:#e4b86e}.action-panel{display:flex;gap:7px}.action-panel button{background:rgba(15,24,31,.92);border:1px solid #837458;color:#d7c8ad;padding:12px;font-size:11px;letter-spacing:.06em}.action-panel #helpBtn{font-weight:bold;font-size:16px}.action-panel button:hover{border-color:#e5c98b}.interact-prompt{position:absolute;bottom:159px;left:50%;transform:translateX(-50%);padding:9px 16px;border:1px solid #a58b58;background:rgba(14,24,27,.89);color:#f6db9c;font:700 11px Cinzel,serif;white-space:nowrap}.interact-prompt kbd{margin:0 7px}.toast-wrap{position:absolute;top:145px;left:50%;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;gap:8px;pointer-events:none}.toast{padding:10px 18px;color:#e8dfc6;border:1px solid #857450;background:rgba(12,19,26,.9);box-shadow:0 7px 28px #000a;text-align:center;font-size:12px;animation:toastIn .22s ease-out}.toast.epic{border-color:#e5b460;color:#f2d89a}.toast.danger{border-color:#b95150;color:#faa29a}.toast.success{border-color:#5dad7f;color:#add8b9}.toast.warning{border-color:#c39d51;color:#f7d28b}@keyframes toastIn{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}.dialogue{position:absolute;left:50%;bottom:125px;transform:translateX(-50%);width:min(530px,90vw);padding:20px 24px 12px;background:linear-gradient(#1e292c,#0c171e);border:1px solid #ad8a51;box-shadow:0 0 0 3px #0e171c,0 0 0 4px #554d3c,0 25px 60px #000b;text-align:center;cursor:pointer}.dialogue-overline{font-size:9px;letter-spacing:.19em;color:#8eac9d}.dialogue #dialogueSpeaker{font:700 19px Cinzel,serif;color:#edd3a4;margin:6px}.dialogue p{line-height:1.6;font-size:13px;color:#d4d9cb}.dialogue-hint{font-size:9px;letter-spacing:.12em;color:#81968f;margin-top:18px}
.game-modal{position:absolute;inset:0;z-index:9;display:flex;justify-content:center;align-items:center;background:#02090ac2;backdrop-filter:blur(5px)}.modal-panel{width:min(740px,93vw);background:linear-gradient(130deg,#15252c,#09141c);border:1px solid #a08759;box-shadow:0 0 0 4px #101922,0 0 0 5px #424437,0 30px 90px #000e}.modal-top{height:53px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;border-bottom:1px solid #45514c;font:700 16px Cinzel,serif;color:#ead4a9;letter-spacing:.1em}.modal-top button{border:0;background:none;color:#c9bba3;font-size:18px}.modal-body{display:grid;grid-template-columns:260px 1fr;gap:21px;padding:24px}.equip-panel{text-align:center;border-right:1px solid #3d4b4f;padding-right:20px}.equip-panel canvas{image-rendering:pixelated;width:140px;height:175px}.equip-name{color:#e3cc9e;font:700 17px Cinzel,serif}.equip-panel #equipClass{font-size:10px;letter-spacing:.15em;color:#8ca6a1;margin-top:5px}.equip-slots{display:flex;gap:7px;margin-top:21px}.equip-slots>div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px;border:1px solid #435653;background:#0d1a21}.equip-slots span{font-size:25px;color:#d9b16d}.equip-slots small{color:#879d9c;font-size:9px}.equip-slots strong{font-size:9px;color:#e7dbc2}.stats-panel{padding:0 5px}.stats-panel h3,.help-content h3{font:700 13px Cinzel,serif;color:#d0ac74;letter-spacing:.09em;margin:4px 0 14px}.stats-panel h3:not(:first-child){margin-top:27px}.statrow{display:flex;justify-content:space-between;border-bottom:1px solid #27363b;padding:8px 1px;color:#afc0bb;font-size:12px}.statrow b{color:#f1dfb9}.inventory-items{display:flex;gap:9px}.inventory-items>div{flex:1;background:#0b181d;border:1px solid #43524e;display:flex;align-items:center;flex-direction:column;padding:13px 4px;gap:4px}.inventory-items span{color:#e7b667;font-size:23px}.inventory-items b{font:700 18px Cinzel,serif}.inventory-items small{color:#879b97;font-size:9px;letter-spacing:.1em}.stats-note{font-size:11px;line-height:1.6;color:#738783;margin-top:15px}.shop-panel{width:min(520px,93vw)}.merchant-welcome{padding:21px 22px 8px;color:#c8d5c9;font:italic 13px Georgia,serif;text-align:center}.merchant-gold{text-align:center;color:#e1b26f;font:700 13px Cinzel,serif;margin:12px 0}.wares{padding:12px 23px 27px;display:flex;flex-direction:column;gap:10px}.wares button{width:100%;display:flex;gap:13px;align-items:center;text-align:left;background:linear-gradient(100deg,#1d2f33,#111e25);border:1px solid #53635b;padding:15px;color:#ead5af}.wares button:hover{border-color:#f0c77c;background:#253b3c}.ware-art{font-size:26px;width:43px;text-align:center;color:#d8a76a}.ware-text{display:flex;flex-direction:column;gap:6px;flex:1}.ware-text b{font:700 13px Cinzel,serif}.ware-text small{color:#9fb1a9;font-size:10px}.wares strong{font-size:10px;color:#e4bd77;white-space:nowrap}.help-panel{width:min(630px,95vw);max-height:85vh;overflow-y:auto}.help-content{padding:21px 27px}.help-content p{color:#b6c3b9;font-size:12px;line-height:1.75}.help-content h3:not(:first-child){margin-top:24px}.help-keys{display:grid;grid-template-columns:1fr 1fr;gap:11px;border-top:1px solid #3f5558;padding-top:14px}.help-keys span{color:#e0be83;font-size:11px;letter-spacing:.07em}.help-keys b{color:#a9b7b1;font-size:11px;font-weight:500}.disconnect{position:absolute;inset:0;z-index:30;background:#050b0fe8;display:flex;justify-content:center;align-items:center}.disconnect-box{padding:45px;max-width:430px;text-align:center;border:1px solid #826f4c;background:#0c171e}.disconnect-icon{font-size:45px;color:#bda374}.disconnect h2{font:700 22px Cinzel,serif;color:#efd4a4}.disconnect p{color:#a8afa6;line-height:1.65}.disconnect button{margin-top:28px}
@media(max-width:1100px){.landing{padding:4vw;gap:15px}.creator-frame{flex-basis:365px}.creator-inner{padding:23px 18px}.title-logo{font-size:clamp(53px,6vw,83px)}.top-left{width:310px}.chat-panel{width:300px}.top-right{width:200px}.action-panel{display:none}.controls-helper{display:none}}@media(max-width:820px){.landing{flex-direction:column;justify-content:flex-start;padding:30px 15px;gap:30px}.landing-left{min-width:0;width:100%;text-align:center}.eyebrow,.brand-subtitle{justify-content:center}.title-logo{font-size:clamp(58px,12vw,95px)}.tagline{margin:24px auto}.features{margin:20px auto}.landing-footer{display:none}.creator-frame{flex:none;width:min(410px,100%)}.top-left{top:8px;left:8px;width:230px;height:92px;padding:7px;gap:8px}.character-head{width:55px;height:73px}.character-head canvas{width:48px;height:62px;margin:3px}.character-meta{padding:2px 0}.person-name{font-size:13px}.person-desc{font-size:8px;margin:3px 0 5px}.meter{height:12px;margin-bottom:3px}.meter b{line-height:10px;font-size:8px}.button-gear{font-size:19px}.region-header{top:13px;left:auto;right:11px;transform:none;text-align:right}.region-header #regionTitle{font-size:15px}.region-small{font-size:7px}.top-right{right:8px;top:119px;width:130px}.map-container{padding:7px}.map-heading{font-size:8px}#minimap{height:90px}.map-coords{font-size:7px}.quest-panel{padding:9px}.quest-title{font-size:11px}.quest-desc{font-size:9px}.panel-label{font-size:8px}.bottom-wrap{left:8px;right:8px;bottom:9px}.chat-panel{width:180px;height:111px;padding:5px}.chat-title{font-size:8px}.chat-messages{font-size:9px}.chat-compose{height:21px}.chat-compose input{font-size:9px}.skill-shell{padding:5px}.skill-group{gap:3px}.skill-slot{width:37px;height:42px}.skill-icon{font-size:22px}.skill-slot small{font-size:7px}.slot-divider{height:27px}.hotbar-foot{font-size:6px}.ability-bar{left:auto;right:2px;transform:none}.toast-wrap{top:130px}.modal-body{grid-template-columns:1fr;padding:13px;max-height:75vh;overflow-y:auto}.equip-panel{border-right:0;border-bottom:1px solid #3d4b4f;padding:0 0 12px}.equip-panel canvas{width:80px;height:100px}.equip-slots{max-width:250px;margin:10px auto}.quest-panel{display:none}}

/* Shattered Continent cartographic UI */
#minimap{cursor:pointer}
.atlas-panel{max-width:790px;width:min(95vw,790px);padding-bottom:20px}
#atlasMap{display:block;width:calc(100% - 34px);height:auto;max-height:68vh;object-fit:contain;margin:15px auto;border:2px solid #75614b;box-shadow:0 4px 40px #0008;background:#12202a;cursor:crosshair}
.atlas-caption,.atlas-note{text-align:center;color:#e4c79e;font-size:11px;letter-spacing:.10em;margin:16px 10px 5px;line-height:1.7}
.atlas-note{font-size:10px;color:#9dbcb8;margin-bottom:6px}
#openAtlas{min-width:55px}

.meter.stamina{height:11px;margin-top:5px;background:#182a2e;border-color:#4c625b}.meter.stamina>span{background:linear-gradient(90deg,#578e82,#81dec5);box-shadow:0 0 10px #7ce4c955}.meter.stamina>b{font-size:8px;letter-spacing:.09em;color:#ddf8e5}

/* v3.1 world-character scale setting */
.actor-size-setting{border:1px solid #425450;background:#101e24;padding:15px 16px;margin-bottom:17px}
.actor-size-setting label{display:flex;align-items:center;justify-content:space-between;color:#dfc99e;font-size:11px;font-weight:700;letter-spacing:.08em}
.actor-size-setting strong{color:#a2e0c9;font-size:14px}
.actor-size-setting input[type=range]{display:block;width:100%;accent-color:#d9b16d;margin:14px 0 8px;cursor:pointer}
.actor-size-setting p{margin:0;color:#a8b6b0;font-size:11px;line-height:1.55}
/* EMBERFALL IV — The Adventurer's Codex: original responsive RPG management interface */
.rpg-overlay{position:absolute;inset:0;z-index:28;background:rgba(3,8,13,.80);backdrop-filter:blur(7px);display:flex;justify-content:center;align-items:center;padding:22px;color:#e7dcc3}
.rpg-shell{width:min(1110px,97vw);height:min(770px,92vh);display:grid;grid-template-columns:205px minmax(0,1fr);background:linear-gradient(130deg,#121d27,#0c151d 55%,#15212a);border:1px solid #88734f;box-shadow:0 27px 90px #000e,0 0 0 7px #0b141ae8;border-radius:10px;overflow:hidden}
.rpg-sidebar{background:linear-gradient(180deg,#1d2b33,#101c25 80%);border-right:1px solid #384a4e;display:flex;align-items:center;flex-direction:column;padding:28px 12px 16px;min-height:0}
.rpg-mark{font-size:38px;color:#e7bc74;text-shadow:0 0 30px #dd963b88}.rpg-sidebar>b{font:700 19px Cinzel,serif;letter-spacing:.15em;color:#f4dbaa}.rpg-sidebar>small{color:#9b9c92;font:500 8px Inter,sans-serif;letter-spacing:.15em;margin:7px 0 25px}.rpg-sidebar-foot{margin-top:auto;text-align:center;color:#6a8b88;font-size:9px;letter-spacing:.10em;padding-top:18px}
#rpgTabs{width:100%;display:grid;gap:5px;overflow:auto}.rpg-tab{display:flex;align-items:center;gap:10px;width:100%;background:transparent;color:#9ea9aa;border:1px solid transparent;padding:12px 13px;text-align:left;font-size:12px;font-weight:700;letter-spacing:.025em;border-radius:5px;transition:.16s}.rpg-tab span{color:#a49578;font-size:20px;line-height:15px;width:22px}.rpg-tab:hover{color:#fff;background:#223540}.rpg-tab.selected{color:#ffe1a0;background:linear-gradient(90deg,#7f573448,#2c37402e);border-color:#6e644e}
.rpg-main{display:flex;flex-direction:column;min-width:0;min-height:0}.rpg-topbar{padding:19px 26px 14px;display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid #45545755}.rpg-topbar>div{display:flex;gap:26px;align-items:center}.rpg-kicker{color:#90b5ac;letter-spacing:.17em;font-size:10px;font-weight:700}#rpgHeaderGold{font:600 12px Cinzel,serif;color:#dfc18a}#rpgClose{font-size:19px;color:#e6c892;background:#263440;border:1px solid #465860;border-radius:4px;width:37px;height:35px}
#rpgContent{padding:27px 28px;flex:1;overflow-y:auto;min-height:0;scrollbar-color:#6e654f #17222b}#rpgContent h2{margin:0 0 7px;color:#f1d6a1;font:700 clamp(20px,3vw,28px) Cinzel,serif}#rpgContent h3{font:700 13px Cinzel,serif;color:#d6bd8e;margin:8px 0 15px;letter-spacing:.045em}#rpgContent h3 small{color:#83979b;font:11px Inter,sans-serif}#rpgContent p{line-height:1.55}.rpg-title{border-bottom:1px solid #8a835635;padding-bottom:17px;margin-bottom:19px}.rpg-title p{color:#9faeb3;font-size:12px;margin:0;max-width:690px}.rpg-split{display:grid;grid-template-columns:1fr 1.1fr;gap:25px}.rpg-split section{min-width:0}.rpg-scroll{display:grid;align-content:start;gap:7px;max-height:425px;overflow:auto;padding-right:4px}.rpg-item{min-width:0;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #3d4c5299;border-radius:5px;background:#1a2931af}.rpg-item.rare{border-color:#536ca0}.rpg-item.epic{border-color:#8167a0}.rpg-item.legendary{border-color:#af8e43}.rpg-item-ico{display:grid;place-items:center;background:#344440;width:40px;height:40px;flex:0 0 40px;border:1px solid #7f856042;font-size:23px;border-radius:4px}.rpg-item-main{display:grid;gap:4px;flex:1;min-width:0}.rpg-item-main b{font-size:12px;color:#efdfbc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpg-item-main small{color:#819c9f;font-size:9px;letter-spacing:.04em}.rpg-quantity{color:#d2c8a8;font-size:11px}.rpg-btn,#rpgContent button:not(.rpg-tab){flex-shrink:0;background:linear-gradient(180deg,#996f3e,#674e34);border:1px solid #c19d61;border-radius:4px;padding:10px 12px;color:#fff1c8;font-size:10px;letter-spacing:.06em;font-weight:800}.rpg-btn:hover:not(:disabled){filter:brightness(1.19)}.rpg-btn.subtle{background:#273c44;color:#b7e0d7;border-color:#47666a}.rpg-btn:disabled{opacity:.32;cursor:not-allowed}.rpg-empty{padding:30px 16px;text-align:center;color:#8fa5aa;font-size:12px;line-height:1.8;border:1px dashed #3e5558;border-radius:5px}.rpg-equip-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.rpg-equip{display:grid;gap:7px;padding:12px;background:#203039;border:1px solid #4c5958;border-radius:5px}.rpg-equip small{color:#8faeaa;font-size:10px;letter-spacing:.1em}.rpg-equip b{min-height:29px;font-size:11px;color:#edd6a9}.rpg-equip button{justify-self:start}.rpg-info{font-size:12px;color:#aebdc0!important;background:#192931;padding:11px;border:1px solid #364b4f;border-radius:4px}
.rpg-skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.rpg-skill{background:#1b2b32;border:1px solid #49544f;padding:14px;border-radius:5px}.rpg-skill>div:first-child{display:flex;justify-content:space-between;gap:6px;font-size:12px}.rpg-skill b{color:#edd196}.rpg-skill small{color:#799aa1;font-size:10px}.rpg-track{height:6px;background:#0b161c;border:1px solid #3f4d4e;overflow:hidden;border-radius:3px;margin:10px 0 5px}.rpg-track span{display:block;height:100%;background:linear-gradient(90deg,#638d70,#e2c27f)}.rpg-hint{font-size:12px;line-height:1.8;color:#b7b7a3;margin-top:20px;border-left:3px solid #d0b778;padding:12px;background:#202d32}
.rpg-recipes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rpg-recipe{padding:15px;background:#192932;border:1px solid #405051;border-radius:6px;display:flex;flex-direction:column;gap:13px}.rpg-recipe.ready{border-color:#9b885b}.rpg-recipe-head{display:flex;align-items:center;gap:12px}.rpg-recipe-head>div:last-child{display:grid;gap:6px}.rpg-recipe-head b{font:600 14px Cinzel,serif;color:#e8cea5}.rpg-recipe-head small{color:#86a5a5;font-size:9px}.rpg-ingredients{display:flex;flex-wrap:wrap;gap:5px}.rpg-ing{padding:5px 8px;background:#253842;border:1px solid #40565b;font-size:10px;border-radius:3px}.rpg-ing.missing{opacity:.42}.rpg-recipe-footer{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-top:auto}.rpg-recipe-footer span{font-size:10px;color:#abbab4}.rpg-task{margin-bottom:19px}.rpg-task>div:first-child{display:flex;justify-content:space-between;font-size:11px;color:#d4ddce}.rpg-achieve{display:flex;align-items:center;gap:10px;background:#1b2830;padding:10px;border:1px solid #354951;border-radius:4px}.rpg-achieve.done{border-color:#9b8451}.rpg-achieve>span{font-size:21px;color:#c29b51}.rpg-achieve>div{flex:1;display:grid;gap:4px}.rpg-achieve b{font-size:11px;color:#ddcda8}.rpg-achieve small{font-size:10px;color:#8d9fa4}.rpg-achieve strong{font-size:10px;color:#cdb27e}.rpg-player{border:1px solid #445657;padding:11px;background:#1e2a32;border-radius:5px;display:grid;gap:8px}.rpg-player>div:first-child{display:grid;gap:5px}.rpg-player b{font-size:12px}.rpg-player small{font-size:10px;color:#93b5ae}.rpg-player>div:last-child{display:flex;gap:5px;flex-wrap:wrap}.rpg-form{display:flex;gap:5px;margin:10px 0}.rpg-form input,.rpg-form select,.rpg-market-form input,.rpg-market-form select{min-width:0;flex:1;width:100%;background:#0d1b23;color:#efdfc1;padding:11px;border:1px solid #57666a;border-radius:4px;font-size:11px}.rpg-trade-split{display:grid;grid-template-columns:1fr 1fr;gap:7px}.rpg-trade-split>div{padding:13px;background:#273b3f;min-width:0;word-wrap:break-word;font-size:12px}.rpg-trade-split small{display:block;margin-bottom:8px;color:#d8b678}.rpg-market-form{display:flex;gap:8px;margin-bottom:14px}.rpg-market-form>select{flex:2}.rpg-market-list{max-height:420px}.rpg-market-row{display:flex;gap:9px;align-items:center;padding:6px;background:#18262d;border:1px solid #344a4b}.rpg-market-row>.rpg-item{flex:1}.rpg-market-row>small{color:#839a98;font-size:10px}.rpg-market-row>b{color:#e0c58c;font-size:11px;white-space:nowrap}.rpg-house{text-align:center;border:1px solid #647153;background:#1e2e32;padding:26px 15px;border-radius:6px}.rpg-house-emoji{font:100px Cinzel,serif;color:#c9a86c;text-shadow:0 0 40px #c0934266}.rpg-house p{font-size:12px;color:#99abb0}.rpg-footer{border-top:1px solid #344547;padding:12px 24px;text-align:center;font-size:9px;color:#839b98;letter-spacing:.12em}.rpg-footer span{color:#d7b373;margin:0 8px}
#openCodex{color:#ffe1a0;border-color:#947b55}
@media(max-width:800px){.rpg-overlay{padding:6px}.rpg-shell{width:100%;height:94dvh;grid-template-columns:88px minmax(0,1fr)}.rpg-sidebar{padding:10px 3px}.rpg-sidebar>b{font-size:9px;letter-spacing:0}.rpg-sidebar>small,.rpg-sidebar-foot{display:none}.rpg-mark{font-size:23px;margin-bottom:15px}.rpg-tab{display:grid;justify-items:center;font-size:9px;padding:8px 0;gap:4px}.rpg-tab span{width:auto}.rpg-main{min-width:0}#rpgContent{padding:12px}.rpg-split,.rpg-recipes{grid-template-columns:1fr}.rpg-skills-grid{grid-template-columns:1fr 1fr}.rpg-market-form{flex-wrap:wrap}.rpg-market-form>*{flex:1 1 39%!important}.rpg-topbar{padding:9px}.rpg-footer{font-size:8px}.rpg-market-row{flex-wrap:wrap}}

.rpg-rank{display:flex;justify-content:space-between;align-items:center}.rpg-rank b span{color:#dfb875;margin-right:12px}.rpg-rank strong{font:600 18px Cinzel,serif;color:#f5d695}
@media(max-width:800px){.action-panel{display:flex!important;position:fixed;bottom:94px;right:7px;z-index:8;gap:3px}.action-panel button{padding:8px 6px!important;font-size:9px!important}}

/* v5 account and real character roster */
.account-auth,.hero-roster,.character-creator{width:100%}
.auth-eyebrow{font-family:Cinzel,serif;letter-spacing:2px;color:#e6c281;font-size:13px;text-align:center;margin:12px 0 18px}
.auth-toggle{display:flex;background:#111d26;border:1px solid #52606a;border-radius:7px;padding:4px;gap:3px;margin-bottom:19px}
.auth-toggle button{flex:1;border:0;background:transparent;color:#a5aca9;padding:11px;cursor:pointer;font:700 12px system-ui;letter-spacing:1px;border-radius:5px}
.auth-toggle button.active{background:#47554c;color:#f7dc99}
.account-auth .input-label{display:block;margin:12px 0 8px}
.account-auth .hero-input{margin-bottom:9px}
.account-auth .gold-button{width:100%;margin-top:14px}
.auth-divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:#89928a;letter-spacing:2px;font-size:10px}
.auth-divider:before,.auth-divider:after{content:'';height:1px;background:#4b5b5e;flex:1}
.guest-button{display:block;width:100%;border:1px solid #c1a16d;background:rgba(185,153,99,.09);color:#f5d9a2;padding:14px 10px;border-radius:5px;cursor:pointer;font:700 11px Cinzel,serif;letter-spacing:1px}
.guest-button:hover{background:rgba(208,176,113,.2)}
.auth-notice{color:#92a9a5;font-size:11px;line-height:1.6;margin:14px 0;text-align:center}
.roster-card{border:1px solid #6d766e;background:linear-gradient(105deg,#1d2d32,#2b3432);border-radius:7px;color:#ebdcc0;padding:13px;display:flex;align-items:center;text-align:left;gap:14px;width:100%;margin:7px 0;cursor:pointer}
.roster-card:hover{border-color:#e6c281;background:#354346}
.roster-icon{color:#e6c281;font-size:30px;width:39px;text-align:center}.roster-card span:nth-child(2){flex:1}.roster-card b{display:block;font-family:Cinzel,serif;font-size:16px}
.roster-card small{display:block;color:#9ab7b1;font-size:10px;letter-spacing:.7px;margin-top:3px}.roster-card>span:last-child{color:#eac88e;font-size:11px;font-weight:bold}
.hero-roster .guest-button{margin-top:17px}.text-button{display:block;background:transparent;border:0;color:#aebeb5;margin:10px auto;padding:10px;cursor:pointer;letter-spacing:1px}
.text-button:hover{color:#eacc95}.empty-roster{text-align:center;color:#b7b5ad;padding:12px}
.creator-frame{max-height:94vh;overflow-y:auto;scrollbar-width:thin}

/* 6.0 character atelier, explorer journal and expanded creator */
.appearance-expanded{margin-top:5px;padding-top:8px;border-top:1px solid #384e54}
.appearance-expanded label{min-height:36px}
.exploration-modal,.wardrobe-modal{width:min(610px,96vw);max-height:88vh;overflow:auto}
.journal-body{padding:20px}.realm-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.realm-kpis>div{background:#192c33;border:1px solid #45605a;border-radius:7px;padding:13px;text-align:center}
.realm-kpis b{font:700 27px Cinzel,serif;color:#e6c88f;display:block}
.realm-kpis small{color:#9ebeb2;font:700 10px system-ui;letter-spacing:1px}
.realm-adventure{background:rgba(35,53,55,.7);border:1px solid #4e6866;border-radius:7px;padding:17px 19px;margin-top:11px}
.realm-adventure h3{font:700 16px Cinzel,serif;color:#ecd39e;letter-spacing:1px}
.realm-adventure p{color:#c4d2cb;line-height:1.65;font-size:13px}.realm-adventure strong{color:#eecb91}
.wardrobe-modal{padding-bottom:22px}.atelier-intro,.atelier-tip{font-size:13px;color:#b6c7c2;padding:15px 23px;line-height:1.6}
.wardrobe-row{display:grid;grid-template-columns:1fr 40px minmax(120px,160px) 40px;align-items:center;gap:10px;margin:8px 22px;padding:9px 13px;background:#172830;border:1px solid #415d61;border-radius:7px;color:#f1d6a0}
.wardrobe-row span{font-size:11px;color:#c6d4c9;letter-spacing:1.3px}.wardrobe-row strong{text-align:center;font-size:12px}
.wardrobe-row button{background:#344b4d;color:#f5dba9;border:1px solid #82988e;border-radius:4px;padding:5px;font-size:24px;cursor:pointer}
.wardrobe-row button:hover{background:#667267}
.action-panel{flex-wrap:wrap}.action-panel button{white-space:nowrap}
@media(max-width:650px){.realm-kpis{grid-template-columns:1fr}.wardrobe-row{grid-template-columns:1fr 30px 96px 30px;gap:3px;margin:5px}.journal-body{padding:10px}}

/* Emberfall 8.0 character forge & optimized rendering controls */
.creator-frame{flex:0 0 500px;max-width:min(500px,96vw);max-height:95dvh;scrollbar-color:#6a5b40 #101b24}
.creator-inner{padding:23px 26px}.forge-preview{position:relative;background:radial-gradient(ellipse at 50% 60%,#29454b 0%,#14242b 59%,#0b151d 100%);border:1px solid #6b705e;box-shadow:inset 0 0 0 4px #111a20,0 14px 30px #0007;margin:15px 0 12px;text-align:center;min-height:288px}
.forge-preview:after{content:'';pointer-events:none;position:absolute;inset:8px;border:1px solid #7e785c33}.forge-preview-kicker{font:700 10px Cinzel,serif;letter-spacing:.18em;color:#ebcc87;margin:12px auto 0}
#heroPreview{display:block!important;margin:-12px auto -2px;width:min(100%,300px)!important;height:236px!important;image-rendering:pixelated}
.forge-preview-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;padding:0 14px 13px}.forge-preview-controls button,.forge-preset-bar button,.forge-tab{background:linear-gradient(#22363c,#13232c);border:1px solid #57736c;color:#edddb4;padding:10px 5px;font-size:10px;font-weight:700;letter-spacing:.04em;border-radius:4px}.forge-preview-controls button:hover,.forge-preset-bar button:hover,.forge-tab:hover{border-color:#e8ba6e;background:#364743}
.forge-tabs{display:grid;grid-template-columns:repeat(3,1fr);margin-top:17px;gap:5px}.forge-tab.active{background:#695437;border-color:#f1c782;color:#fff1bf}.forge-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.forge-choices label{min-width:0;background:#14262e;border:1px solid #38515b;border-radius:5px;padding:6px;display:grid;grid-template-columns:30px 1fr 30px;align-items:center;gap:2px}.forge-choices label>span{grid-column:1/-1;text-align:left;padding-left:5px;color:#97b3b1}.forge-choices strong{font-size:10px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forge-choices button{font-size:23px;background:#243842;border-radius:4px}.forge-choices button:hover{background:#445e62;color:#fff}
.forge-preset-bar{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0 18px}.forge-preset-bar button{font-size:9px;min-height:40px}.graphics-setting{padding:13px;background:#182c33;border:1px solid #435d62;color:#d6d6cb}.graphics-setting label{display:flex;justify-content:space-between;font-size:11px;margin-bottom:10px}.graphics-setting select{width:100%;height:38px;background:#0d2028;color:#f7dca7;border:1px solid #7e8e77}.graphics-setting p{font-size:11px;line-height:1.6;color:#9eb7b3}#perfMeter{font-size:12px;color:#b9dfd3;font-weight:700}
.wardrobe-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:5px 22px 15px}.wardrobe-tabs button{background:#24343b;color:#d9c29b;border:1px solid #556c6b;border-radius:4px;padding:9px 11px;font-size:10px;cursor:pointer}.wardrobe-tabs button.active{background:#685235;color:#ffe5a3;border-color:#deb877}
.wardrobe-row{grid-template-columns:minmax(92px,1fr) 35px minmax(95px,185px) 35px}.wardrobe-row strong{word-break:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1100px){.creator-frame{flex-basis:460px}}
@media(max-width:820px){.creator-frame{flex:initial;width:min(500px,96vw)}}
@media(max-width:450px){.forge-choices{grid-template-columns:1fr 1fr}.forge-preset-bar{grid-template-columns:repeat(2,1fr)}.creator-inner{padding:18px 13px}.forge-preview{min-height:266px}}
