*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#121f20;color:#e8e1ca;font-family:'Segoe UI','Noto Sans',Arial,sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:1px solid #9e8b5b66;background:#243731;padding:10px 14px;border-radius:4px;transition:background .15s,transform .15s}button:hover{background:#3d5141;border-color:#c9b775}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #d7bd76;outline-offset:3px}input,select{border:1px solid #9b9d7955;background:#172622;color:#ece6d5;padding:12px 13px;border-radius:4px;min-width:0}label{display:flex;flex-direction:column;gap:8px;color:#bdc4b1;font-size:12px}h1,h2,h3,p{margin:0}h2{font-family:"Palatino Linotype","Times New Roman",serif;font-weight:normal}small{color:#b0b6a3}kbd{font-family:inherit;border:1px solid #a7b69550;background:#131e1b90;border-radius:3px;padding:2px 4px;font-size:10px;color:#d7d8b8}button kbd{margin-left:5px}.muted{color:#9fae9d;line-height:1.6}.eyebrow{font-size:10px;letter-spacing:3px;color:#bbaa72;font-weight:bold}[hidden]{display:none!important}.panel{background:linear-gradient(125deg,#172a26ed,#101d1be8);border:1px solid #a69b6355;box-shadow:0 5px 25px #07110c40;border-radius:6px}#world{position:absolute;inset:0;touch-action:none;width:100%;height:100%}#entrance{position:absolute;inset:0;display:flex;align-items:center;justify-content:space-between;padding:6vh 8vw;gap:40px}.entry-art{position:absolute;inset:0;background:#0c1a17 center/cover}.entry-shade{position:absolute;inset:0;background:linear-gradient(90deg,#091713c2 0%,#152b2240 50%,#07120fc7 100%)}.brand,.entry-form{position:relative}.brand{flex:1;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.brand h1{font-family:"Palatino Linotype","Times New Roman",serif;font-weight:normal;font-size:clamp(54px,6vw,90px);line-height:1.1;letter-spacing:4px;margin:24px 0;color:#f1e6c4;text-shadow:0 3px 15px #0006}.brand h1 span{color:#d8bd7d}.brand p{font-size:16px;line-height:1.9;color:#d0d7c4}.entry-footer{position:absolute;bottom:5px;color:#c7d2c09c;font-size:11px}.entry-form{width:370px;flex:none;padding:30px 28px 20px;background:#10231ff2;border:1px solid #b8a46966;border-radius:8px;box-shadow:0 20px 60px #0005}.entry-form h2{font-size:27px;margin:12px 0 8px}.entry-form>.muted{font-size:12px;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;margin-top:15px}.primary{background:linear-gradient(135deg,#c7ae71,#a38a50);color:#17221b;font-weight:bold;letter-spacing:1px;width:100%;padding:16px}.primary:hover{background:#e1c78b}.primary span{float:right}.entry-character{height:175px;position:relative;display:flex;align-items:center;justify-content:center}.entry-character canvas{width:210px;height:170px;position:absolute;left:0}.entry-character span{position:absolute;left:175px;font-size:11px;color:#b2c5ad;line-height:1.9;width:100px}.quiet{background:transparent;width:100%;margin-top:9px;font-size:12px}#loadStatus{font-size:11px;text-align:center;color:#acbaa6;margin-top:13px;min-height:15px}#hud{position:absolute;inset:0;pointer-events:none}#hud button,#hud input,#chat,#joystick,#connection{pointer-events:auto}.player-panel{position:absolute;top:20px;left:20px;width:300px;display:flex;padding:10px;gap:8px}#avatar{width:56px;height:65px}.player-info{flex:1;min-width:0}.identity{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:1px 0 8px}.identity strong{font-size:14px;max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity span{font-size:10px;color:#d7c58c}.meter{height:14px;border:1px solid #151c16;background:#080e0b99;position:relative;overflow:hidden;border-radius:2px;margin:3px 0}.meter i{display:block;height:100%;transition:width .15s}.hp i{background:linear-gradient(90deg,#6f4030,#b57751)}.mp i{background:linear-gradient(90deg,#2e5f6a,#66969d)}.meter span{position:absolute;inset:0;text-align:center;font-size:9px;line-height:12px;text-shadow:0 1px 2px #000}.meter.exp{height:3px;margin-top:7px}.exp i{background:#c1b373}.player-info small{display:block;margin-top:5px;font-size:9px}.world-title{position:absolute;top:26px;left:50%;transform:translateX(-50%);text-align:center;text-shadow:0 2px 5px #12241e}.world-title>span{font-size:9px;letter-spacing:4px;color:#f4f1d5}.world-title h2{font-size:27px;margin:4px 0 6px;color:#fcf0ca}.world-title>div{font-size:10px;color:#f1eacb}.world-title i{display:inline-block;border-radius:50%;width:5px;height:5px;background:#7cca91;margin-right:6px}.map-panel{position:absolute;right:20px;top:20px;padding:8px;width:196px}#minimap{width:178px;height:116px;background:#243e34;border:1px solid #8d9e6250}.map-panel>div{display:flex;justify-content:space-between;margin-top:4px;align-items:center;gap:2px;font-size:9px}.map-panel button{padding:2px;font-size:8px;border:0;background:none}.quest{position:absolute;right:20px;top:183px;width:235px;padding:16px}.quest h3{margin:8px 0;font-size:15px;color:#dfd4aa}.quest p{color:#c7cfb7;font-size:12px;line-height:1.6}.quest small{font-size:10px;line-height:1.6;display:block;margin-top:10px}.quest-progress{height:3px;background:#090e08;margin:10px 0}.quest-progress i{display:block;background:#b7b272;height:100%}.quest button{font-size:11px;width:100%;padding:8px}#target{position:absolute;top:100px;left:50%;transform:translateX(-50%);width:260px;padding:9px 15px;text-align:center}#target strong{font-size:12px}#notices{position:absolute;top:165px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;width:min(90vw,540px)}.notice{padding:8px 16px;background:#192e26e8;border:1px solid #c7b67b66;color:#efe3b5;font-size:12px;animation:notice .2s ease;box-shadow:0 4px 12px #0003}.chat-panel{position:absolute;left:20px;bottom:87px;width:290px;background:linear-gradient(0deg,#11231dcd,#11231d33);padding:8px;border-radius:5px;font-size:11px}#chatLines{height:64px;overflow:auto;display:flex;flex-direction:column;justify-content:flex-end;line-height:1.7;color:#e1e6cf}#chatLines b{color:#d6bb7a}#chatForm{display:flex;gap:5px;margin-top:5px}#chatInput{padding:7px 8px;width:100%;font-size:10px;background:#132820b8}#chatForm button{font-size:10px;padding:5px 8px}.bottom-bar{position:absolute;bottom:20px;left:20px;right:20px;display:flex;align-items:end;justify-content:space-between;gap:15px}.currencies{display:flex;align-items:center;gap:18px;padding:10px 14px;height:47px;font-size:10px;color:#bdc9b5}.currencies span{display:flex;align-items:center;gap:5px}.currencies b{color:#eee2b4}.currencies img{width:20px;height:24px;object-fit:contain}.menu{display:flex;padding:5px;gap:3px}.menu button{background:none;border:0;font-size:11px;padding:9px 10px}.menu button:hover{background:#354a3a}.skillbar{position:absolute;bottom:29px;left:50%;transform:translateX(-50%);display:flex;gap:7px;pointer-events:auto}.skillbar button{position:relative;width:61px;height:65px;background:linear-gradient(#30473ae8,#0b1814ed);border:1px solid #b2a475aa;border-radius:7px;padding:4px;overflow:visible;box-shadow:0 3px 8px #0006}.skillbar img{width:43px;height:46px;object-fit:contain;filter:drop-shadow(0 1px 3px #0008)}.skillbar button span{font-size:9px;position:absolute;bottom:-17px;left:0;width:100%;text-shadow:0 1px 3px #000}.skillbar kbd{position:absolute;left:3px;top:3px;margin:0;font-size:8px}.skillbar i{position:absolute;inset:0;background:#08110de8;display:flex;align-items:center;justify-content:center;border-radius:6px;font:20px "Palatino Linotype","Times New Roman",serif;color:#d1c391;pointer-events:none}.skillbar i:empty{display:none}.hint{position:absolute;bottom:116px;left:50%;transform:translateX(-50%);font-size:11px;color:#fff0bf;text-shadow:0 2px 3px #000;background:#15281bc9;padding:5px 10px;border-radius:20px;white-space:nowrap}.gather{position:absolute;bottom:115px;right:24px;font-size:11px;background:#1c352be8}#joystick{display:none;width:100px;height:100px;border-radius:50%;border:1px solid #c2c49d60;background:#29473870;position:absolute;left:20px;bottom:110px;touch-action:none}#joystick>div{position:absolute;width:40px;height:40px;border-radius:50%;background:#a8b39080;border:1px solid #cdd0a2;left:29px;top:29px}#connection{position:absolute;inset:0;background:#101a14db;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}.modal-backdrop{position:absolute;inset:0;background:#050d0b9c;backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:min(1030px,96vw);max-height:90vh;overflow:auto;background:#172a24f7;border-color:#b9a46d8c;box-shadow:0 20px 90px #0008}.modal header{display:flex;align-items:center;justify-content:space-between;padding:20px 25px;border-bottom:1px solid #8f9e6b44}.modal h2{font-size:27px;margin-top:4px}.modal header button{font-size:28px;padding:0 10px;background:none;border:0;color:#c7bc9a}.inventory-layout{display:grid;grid-template-columns:270px 1fr 225px;gap:20px;padding:22px}.paperdoll{position:relative;min-height:405px;background:radial-gradient(ellipse at center,#68816623,transparent 70%);border:1px solid #8c9e6a2b}.paperdoll canvas{position:absolute;left:61px;top:72px;width:145px;height:260px}.slots{position:relative;display:grid;grid-template-columns:56px 1fr 56px;row-gap:5px;padding:10px}.slot{padding:3px;width:56px;height:50px;position:relative;background:#12211c;border:1px solid #6c815466}.slot:nth-child(odd){grid-column:1}.slot:nth-child(even){grid-column:3}.slot img{width:32px;height:30px;object-fit:contain}.slot span{display:block;font-size:8px;white-space:nowrap;color:#c5c6aa}.slot .plus{position:absolute;right:3px;top:2px;font-size:9px;color:#d8c171}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:13px;font-size:11px;border-top:1px solid #80946633}.stat-grid b{color:#ecd8a2;float:right}.bag-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px}.bag-heading small{font-size:10px}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:8px}.item{height:61px;padding:5px;position:relative;border-color:#9caa7766;background:#0f201ad6}.item img{width:36px;height:42px;object-fit:contain}.item.selected{outline:2px solid #e1c681;outline-offset:1px}.rarity1{border-color:#6c9e63}.rarity2{border-color:#6998d0}.rarity3{border-color:#b584d9}.rarity4{border-color:#d6ad52}.item .equipped{position:absolute;bottom:2px;right:2px;background:#344f35;color:#daebca;font-size:8px;padding:1px 3px}.item .plus{position:absolute;top:1px;right:3px;color:#efd39a;font-size:10px}.item-details{background:#10211b85;padding:16px;border:1px solid #79916833;min-height:280px}.item-details>img{width:68px;height:80px;object-fit:contain;display:block;margin:0 auto 15px}.item-details h3{font-size:16px;color:#e5d8b0;line-height:1.4}.item-details p{font-size:11px;color:#9eaf99;margin:8px 0;line-height:1.6}.item-details dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:12px;margin:17px 0}.item-details dd{margin:0;text-align:right;color:#cee1b2}.item-details button{width:100%;margin:4px 0;font-size:11px;padding:9px}.danger{color:#cda293!important;background:#37271e!important}.workshop,.party,.help{padding:25px}.workshop{display:grid;grid-template-columns:1.1fr 1fr;gap:25px}.workshop p{font-size:12px;line-height:1.8;color:#b7c7aa}.workshop h3{color:#e5d4a8;margin:20px 0 12px}.workshop .form-row{margin:20px 0}.workshop .primary{margin:15px 0}.forge-art{width:100%;height:140px;object-fit:contain;background:#314a2933;border:1px solid #71875544}.recipe-note{padding:14px;border:1px solid #a9aa6c33;background:#10231c66;font-size:12px;line-height:1.8}.party p,.help p{color:#bdcbb0;line-height:1.8;font-size:13px;margin:8px 0 16px}.party-code{font:32px "Palatino Linotype","Times New Roman",serif;letter-spacing:6px;color:#e4ca8b;margin:20px 0}.party-actions{display:flex;gap:12px;flex-wrap:wrap}.nearby{padding:14px 0;border-top:1px solid #78886044;display:flex;justify-content:space-between;font-size:12px}.help-list{display:grid;grid-template-columns:130px 1fr;gap:14px;font-size:13px}.help-list b{color:#dbca91}.tiny{font-size:10px;line-height:1.7;color:#879c83;margin-top:14px}@keyframes notice{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
@media(max-width:1150px){.currencies{flex-direction:column;gap:2px;align-items:start;padding:7px 10px}.menu button{padding:9px 7px}.skillbar{left:49%}.quest{width:190px}.hint{font-size:10px}.inventory-layout{grid-template-columns:240px 1fr 200px;gap:12px}.paperdoll canvas{left:45px}}
@media(max-width:800px){#entrance{padding:25px;gap:15px}.brand h1{font-size:44px}.brand p{font-size:12px}.brand .eyebrow{font-size:8px;letter-spacing:1px}.entry-form{width:320px;padding:20px}.entry-footer{max-width:180px;font-size:9px}.world-title{display:none}.player-panel{top:10px;left:10px;width:250px}.map-panel{top:10px;right:10px;width:130px}.map-panel canvas{width:112px;height:76px}.map-panel>div>span{display:none}.quest{top:135px;right:10px;width:155px;padding:11px}.quest small{display:none}.quest h3{font-size:13px}.quest .eyebrow{font-size:8px;letter-spacing:1px}.chat-panel{display:none}.currencies{display:none}.bottom-bar{bottom:12px;left:10px;right:10px}.menu{margin-left:auto}.menu kbd{display:none}.skillbar{left:auto;right:12px;transform:none;bottom:72px;gap:5px}.skillbar button{width:47px;height:53px}.skillbar img{width:33px;height:38px}.skillbar span{font-size:8px}#joystick{display:block}.gather{bottom:155px;right:15px}.hint{bottom:15px;left:14px;transform:none;max-width:170px;white-space:normal;font-size:9px}.inventory-layout{grid-template-columns:210px 1fr;gap:12px;padding:15px}.item-details{grid-column:1/-1;min-height:0;display:grid;grid-template-columns:80px 1fr;gap:8px}.item-details>img{grid-row:1/4}.item-details dl{margin:0}.item-details button{grid-column:auto}.paperdoll canvas{left:25px}.workshop{grid-template-columns:1fr}.modal header{padding:12px 18px}.modal{max-height:95vh}.entry-character{height:145px}.entry-character canvas{height:145px;width:180px}.entry-character span{left:150px}}
@media(max-width:550px) and (orientation:portrait){.brand{display:none}.entry-form{width:min(370px,100%);margin:auto}#entrance{justify-content:center}.player-panel{width:235px}.map-panel{width:103px}.map-panel canvas{width:85px;height:60px}.quest{top:130px;width:140px}.inventory-layout{grid-template-columns:1fr}.paperdoll{min-height:390px;max-width:270px;width:100%;margin:auto}.paperdoll canvas{left:60px}.item-details{grid-column:1}.skillbar{bottom:90px}.gather{bottom:170px}.menu button{padding:8px 6px;font-size:10px}.hint{bottom:53px;max-width:210px}.modal h2{font-size:23px}}
