:root{color:#171713;font-synthesis:none;--ink:#171713;--soft-ink:#55534c;--paper:#e9e5d8;--pale-paper:#f3f0e6;--cinnabar:#7c201b;background:#d4cebd;font-family:fangsong,STFangsong,SimSun,serif}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{background:radial-gradient(circle at 20% 12%,#ffffffb3,#0000 28%),repeating-linear-gradient(88deg,#17171304 0 1px,#0000 1px 7px),#d4cebd;min-height:100vh}button,input,select{color:inherit;font:inherit}#app{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}input,textarea{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}button{cursor:pointer}[hidden]{display:none!important}.auth-screen,.character-screen{place-items:center;min-height:100vh;padding:24px;display:grid}.paper-panel{background:#f3f0e6ed;border:1px solid #17171380;box-shadow:5px 7px #1717131f}.auth-card,.character-card{width:min(420px,100%);padding:38px 42px;position:relative}.seal{border:2px solid var(--cinnabar);width:43px;height:49px;color:var(--cinnabar);place-items:center;font-weight:700;line-height:1;display:grid;position:absolute;top:31px;left:34px;transform:rotate(-3deg)}.eyebrow{color:var(--cinnabar);letter-spacing:.28em;text-transform:uppercase;margin:0 0 6px;font-size:11px}.auth-card .eyebrow,.auth-card h1,.auth-card .subtitle{margin-left:66px}h1,h2{letter-spacing:.13em;margin-top:0;font-weight:500}h1{margin-bottom:5px;font-size:39px}.subtitle{color:var(--soft-ink);margin-top:0;margin-bottom:30px;font-size:13px}label>span,legend{color:var(--soft-ink);margin-bottom:6px;font-size:12px;display:block}.auth-card>label,.character-card>label{margin-top:14px;display:block}input,select{background:#ffffff5c;border:1px solid #17171366;border-radius:0;outline:none}input:focus,select:focus{border-color:var(--ink);box-shadow:0 2px #7c201b59}.auth-card input,.character-card>label input{width:100%;padding:11px 12px}.form-error{min-height:18px;color:var(--cinnabar);margin:10px 0 4px;font-size:11px}.button-row{gap:12px;display:flex}.ink-button,.paper-button,.existing-characters button{border:1px solid var(--ink);padding:10px 17px}.ink-button{color:var(--pale-paper);background:var(--ink)}.paper-button,.existing-characters button{background:0 0}fieldset{border:0;gap:8px;margin:19px 0 0;padding:0;display:flex}.class-option{text-align:center;border:1px solid #17171359;flex:1;padding:10px}.class-option:has(input:checked){border-color:var(--cinnabar);box-shadow:inset 0 -2px var(--cinnabar)}.class-option input{margin-right:5px}.existing-characters{gap:7px;margin-top:18px;display:grid}.character-select-button{text-align:left;width:100%;min-height:44px}.existing-characters p{color:var(--soft-ink);margin:0;font-size:11px}.gender-confirm-actions{flex-wrap:wrap}.gender-confirm-actions button{flex:90px}.character-login-back{width:100%;min-height:44px;margin-top:8px}.world-screen{--header-height:56px;--dock-height:124px;background:#cfc9b8;position:fixed;inset:0;overflow:hidden}.world-header{z-index:10;min-height:var(--header-height);padding:7px max(14px, env(safe-area-inset-right)) 7px max(14px, env(safe-area-inset-left));pointer-events:none;border-width:0 0 1px;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;display:grid;position:absolute;top:0;left:0;right:0;box-shadow:0 4px 12px #1717131f}.map-identity{align-items:baseline;gap:10px;display:flex}.map-identity .eyebrow{margin:0}.world-header strong{letter-spacing:.16em;font-size:15px;display:block}.map-action{color:var(--ink);letter-spacing:.12em;pointer-events:auto;background:#ffffff38;border:1px solid #17171373;padding:6px 13px;font-size:11px}.map-action:hover{border-color:var(--cinnabar);color:var(--cinnabar)}.map-action.quiet{color:var(--soft-ink);opacity:.78}.header-primary-actions{pointer-events:auto;justify-self:center;gap:6px;display:flex}.dock-menu-toggle{display:none}.connection-state{justify-self:end;align-items:center;gap:8px;font-size:11px;display:flex}.connection-state i{background:var(--soft-ink);border-radius:50%;width:7px;height:7px}.connection-state i.connected{background:var(--cinnabar)}.connection-state i.reconnecting,.connection-state i.error{background:var(--cinnabar);animation:.9s ease-in-out infinite alternate reconnect-pulse}.connection-state small{min-width:35px;color:var(--soft-ink);text-align:right}.connection-state small.slow{color:var(--cinnabar)}.connection-state b{margin-left:8px}.world-canvas{inset:var(--header-height) 0 var(--dock-height);position:absolute;overflow:hidden}.world-canvas canvas{touch-action:none;width:100%;height:100%;display:block}.move-joystick{z-index:15;bottom:max(22px, env(safe-area-inset-bottom));left:max(24px, env(safe-area-inset-left));touch-action:none;background:radial-gradient(circle,#f3f0e62e 0 27%,#0000 28%),#f3f0e680;border:1px solid #1717136b;border-radius:50%;place-items:center;width:104px;height:104px;display:none;position:absolute;box-shadow:inset 0 0 18px #17171317}.move-joystick:before,.move-joystick:after{content:"";background:#17171329;position:absolute}.move-joystick:before{width:1px;height:72%}.move-joystick:after{width:72%;height:1px}.move-joystick-knob{z-index:1;pointer-events:none;will-change:transform;background:#f3f0e6d1;border:2px solid #7c201bb8;border-radius:50%;width:42px;height:42px;box-shadow:0 3px 9px #17171333}.activity{z-index:8;bottom:calc(var(--dock-height) + 10px);left:max(14px, env(safe-area-inset-left));width:min(340px,36vw);box-shadow:none;pointer-events:none;background:linear-gradient(90deg,#f3f0e6c7,#f3f0e600);border:0;border-left:2px solid #7c201b80;padding:6px 10px;font-size:10px;position:absolute}.activity>strong{display:none}.quest-tracker{z-index:9;top:calc(var(--header-height) + 12px);right:max(12px, env(safe-area-inset-right));width:min(270px,29vw);padding:8px 10px;transition:width .16s,opacity .16s;position:absolute}.quest-tracker-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.quest-tracker-head .eyebrow{margin:0}.quest-tracker-head button{width:26px;height:24px;color:var(--soft-ink);background:0 0;border:1px solid #17171352;padding:0;font-size:10px}.quest-tracker strong,.quest-tracker p,.quest-tracker small{display:block}.quest-tracker p{text-overflow:ellipsis;white-space:nowrap;margin:4px 0 2px;line-height:1.45;overflow:hidden}.quest-tracker small{color:var(--cinnabar);text-align:right}.quest-route{width:100%;color:var(--cinnabar);text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#7c201b0a;border:1px solid #7c201b57;margin-top:5px;padding:4px 6px;font-size:10px;overflow:hidden}.quest-tracker.collapsed{width:min(185px,25vw)}.quest-tracker.collapsed>p,.quest-tracker.collapsed>small,.quest-tracker.collapsed>.quest-route{display:none}.quest-tracker.collapsed>strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;overflow:hidden}.npc-dialog{z-index:28;width:min(480px,100vw - 40px);padding:14px 16px;position:absolute;bottom:124px;right:50%;transform:translate(50%)}.npc-dialog>header,.npc-dialog>header>div{align-items:center;display:flex}.npc-dialog>header{justify-content:space-between;gap:15px}.npc-dialog>header>div{gap:10px}.npc-dialog>header button{width:32px;height:32px}.npc-dialog p{margin:10px 0;line-height:1.7}.npc-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.activity ol{color:var(--soft-ink);margin:0;padding:0;list-style:none}.activity li+li{margin-top:3px}.activity li:nth-child(n+4){display:none}.combat-hud{pointer-events:none;grid-area:1/1/3;min-width:0;padding:3px 10px 2px 2px;font-size:10px}.hud-head,.hud-row{align-items:center;gap:7px;display:flex}.hud-head{color:var(--soft-ink);justify-content:space-between;margin-bottom:6px}.hud-head strong{color:var(--ink);letter-spacing:.12em;font-size:13px}.hud-row+.hud-row{margin-top:5px}.hud-row>span{color:var(--soft-ink);flex:0 0 26px}.hud-row>b{text-align:right;flex:0 0 62px;font-weight:400}.hud-track{background:#17171314;border:1px solid #17171357;flex:1;height:6px;overflow:hidden}.hud-track i{background:var(--ink);width:0;height:100%;transition:width .16s ease-out;display:block}.hud-track.hp i{background:var(--cinnabar)}.hud-track.mp i{background:#4d5660}.hud-stats{color:var(--soft-ink);text-align:right;margin-top:6px}.target-panel{z-index:13;top:calc(var(--header-height) + 12px);width:min(330px,36vw);padding:8px 11px;position:absolute;left:50%;transform:translate(-50%)}.target-panel>div,.target-panel>p{justify-content:space-between;align-items:center;gap:8px;display:flex}.target-panel strong{letter-spacing:.08em;flex:1}.target-panel small,.target-panel p{color:var(--soft-ink);font-size:10px}.target-panel p{margin:4px 0 0}.target-panel p b{color:var(--cinnabar);font-weight:400}.target-track{background:#17171314;border:1px solid #1717136b;height:7px;margin-top:6px;overflow:hidden}.target-track i{background:var(--cinnabar);width:0;height:100%;transition:width .12s ease-out;display:block}.combat-notice{z-index:30;max-width:min(340px,66vw);color:var(--cinnabar);letter-spacing:.12em;text-align:center;pointer-events:none;background:linear-gradient(90deg,#0000,#f3f0e6db 18% 82%,#0000);border-top:1px solid #7c201b94;border-bottom:1px solid #7c201b94;padding:7px 15px;font-size:13px;font-weight:700;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.combat-notice[data-tone=ink]{color:var(--ink)}.death-notice{z-index:40;top:max(92px, calc(env(safe-area-inset-top) + 64px));text-align:center;pointer-events:none;justify-content:center;align-items:center;gap:10px;width:max-content;min-width:0;max-width:calc(100% - 24px);padding:6px 10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.death-notice strong{color:var(--cinnabar);letter-spacing:.1em;white-space:nowrap;font-size:14px}.death-notice span{color:var(--soft-ink);font-size:11px}.connection-recovery{z-index:45;text-align:center;pointer-events:none;min-width:250px;padding:15px 20px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.connection-recovery strong{color:var(--cinnabar);letter-spacing:.18em;font-size:19px}.connection-recovery span{color:var(--soft-ink);margin-top:7px;font-size:11px}.guide-overlay{z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#1717135c;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.settings-card,.guide-card,.map-sheet-card,.quest-journal-list,.monster-journal-list,.inventory-panel>section,.npc-dialog,.install-hint,.appearance-sidebar{-webkit-overflow-scrolling:touch}.guide-card{background:linear-gradient(90deg,#0000 0 9%,#17171306 9.2% 9.5%,#0000 9.7%),#f3f0e6fa;width:min(540px,100vw - 40px);padding:34px 42px 30px;position:relative}.guide-seal,.victory-seal{border:2px solid var(--cinnabar);width:45px;height:45px;color:var(--cinnabar);place-items:center;font-size:22px;display:grid;position:absolute;top:29px;right:35px;transform:rotate(4deg)}.guide-card h2{margin:12px 0 14px;font-size:28px}.guide-card>p{min-height:54px;color:var(--soft-ink);margin:0;line-height:1.8}.guide-card>small{color:var(--cinnabar);letter-spacing:.08em;margin-top:14px;display:block}.guide-progress{gap:7px;margin:22px 0 17px;display:flex}.guide-progress i{background:#17171333;width:26px;height:3px}.guide-progress i.active{background:var(--cinnabar)}.guide-actions{justify-content:flex-end;gap:8px;display:flex}.guide-actions button{min-width:82px}.settings-card{background:#f3f0e6fa;width:min(560px,100vw - 40px);padding:26px 32px 24px}.settings-card>header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.settings-card h2{margin:5px 0 0}.settings-card>header>button{background:0 0;border:1px solid #17171366;width:34px;height:34px;font-size:20px}.setting-row{border-top:1px solid #17171329;justify-content:space-between;align-items:center;gap:25px;min-height:58px;display:flex}.setting-row>span{margin:0}.setting-row strong,.setting-row small{display:block}.setting-row strong{font-size:14px;font-weight:500}.setting-row small{color:var(--soft-ink);margin-top:4px;font-size:10px}.setting-row input[type=checkbox]{appearance:none;background:#1717131f;border:1px solid #17171373;border-radius:0;width:38px;height:20px;margin:0}.setting-row input[type=checkbox]:after{background:var(--soft-ink);content:"";width:16px;height:16px;margin:1px;transition:transform .12s;display:block}.setting-row input[type=checkbox]:checked{border-color:var(--cinnabar);background:#7c201b21}.setting-row input[type=checkbox]:checked:after{background:var(--cinnabar);transform:translate(18px)}.setting-row input[type=range]{width:min(230px,42vw);accent-color:var(--cinnabar)}.display-mode-row{align-items:flex-start;padding:9px 0}.display-mode-options{grid-template-columns:repeat(4,minmax(46px,1fr));gap:4px;display:grid}.display-mode-options button{background:#ffffff42;border:1px solid #17171357;min-height:34px;padding:4px 7px;font-size:11px}.display-mode-options button.selected{border-color:var(--cinnabar);color:var(--pale-paper);background:var(--cinnabar)}.control-layout-row>button{min-width:104px}.control-layout-editor{z-index:95;top:max(58px, calc(env(safe-area-inset-top) + 12px));justify-content:space-between;align-items:center;gap:12px;width:min(560px,100% - 32px);padding:10px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.control-layout-editor strong,.control-layout-editor small{display:block}.control-layout-editor small{color:var(--soft-ink);margin-top:3px;font-size:10px}.control-layout-editor>div:last-child{gap:6px;display:flex}.control-layout-editor button{white-space:nowrap;min-height:36px;padding:5px 9px}.world-screen[data-control-editing=true] .move-joystick,.world-screen[data-control-editing=true] .combat-controls{z-index:96;outline-offset:5px;cursor:move;touch-action:none;outline:3px dashed #7c201bdb}.settings-card>footer{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.map-sheet-card{background:#f3f0e6fa;width:min(760px,100vw - 40px);padding:22px 26px 20px}.map-sheet-card>header,.map-sheet-card>footer{justify-content:space-between;align-items:center;display:flex}.map-sheet-card h2{margin:3px 0 0}.map-sheet-card>header>button{background:0 0;border:1px solid #17171366;width:34px;height:34px;font-size:20px}.map-sheet-card>p{color:var(--cinnabar);margin:8px 0 10px;font-size:12px}.map-sheet-image{aspect-ratio:3/2;background-color:#d4cebd;background-position:50%;background-size:cover;border:1px solid #1717138c;position:relative;overflow:hidden;box-shadow:inset 0 0 35px #1717132e}.map-sheet-image:after{z-index:1;content:"";pointer-events:none;border:8px solid #f3f0e626;position:absolute;inset:0}.map-sheet-markers{position:absolute;inset:0}.map-marker{z-index:3;border:2px solid var(--pale-paper);background:var(--soft-ink);border-radius:50%;width:12px;height:12px;display:block;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #1717138c}.map-marker.portal{border-color:var(--ink);background:var(--pale-paper);border-radius:0;transform:translate(-50%,-50%)rotate(45deg)}.map-marker.npc{background:var(--pale-paper);border-color:var(--ink)}.map-marker.quest{z-index:4;border:3px solid var(--cinnabar);background:#f3f0e6cc;width:17px;height:17px;box-shadow:0 0 0 5px #7c201b2e}.map-marker.player{z-index:5;border:2px solid var(--pale-paper);background:var(--cinnabar);width:22px;height:22px;color:var(--pale-paper)}.map-marker.player b{text-align:center;font-size:9px;font-style:normal;line-height:18px;display:block}.map-sheet-legend{color:var(--soft-ink);flex-wrap:wrap;gap:9px 18px;margin:10px 0;font-size:10px;display:flex}.map-sheet-legend span{align-items:center;gap:5px;display:flex}.map-sheet-legend i{border:1px solid var(--ink);background:var(--pale-paper);width:9px;height:9px}.map-sheet-legend i.player{border-color:var(--cinnabar);background:var(--cinnabar);border-radius:50%}.map-sheet-legend i.quest{border:2px solid var(--cinnabar);border-radius:50%}.map-sheet-legend i.portal{transform:rotate(45deg)}.map-sheet-legend i.npc{border-radius:50%}.map-sheet-card>footer small{color:var(--soft-ink)}.quest-journal-card{background:#f3f0e6fa;width:min(780px,100vw - 40px);max-height:calc(100vh - 40px);padding:21px 25px 18px;overflow:hidden}.quest-journal-card>header,.quest-journal-card>footer{justify-content:space-between;align-items:center;display:flex}.quest-journal-card h2{margin:3px 0 0}.quest-journal-card>header>button{background:0 0;border:1px solid #17171366;width:34px;height:34px;font-size:20px}.quest-journal-card>p{color:var(--cinnabar);margin:6px 0 9px;font-size:12px}.journal-tabs{border-bottom:1px solid #1717132e;gap:5px;margin:7px 0 0;display:flex}.journal-tabs button{color:var(--soft-ink);background:0 0;border:0;border-bottom:2px solid #0000;padding:5px 13px;font-size:11px}.journal-tabs button.active{border-bottom-color:var(--cinnabar);color:var(--cinnabar)}.quest-journal-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.quest-journal-entry{background:#ffffff2e;border:1px solid #17171333;min-height:88px;padding:9px 12px 8px;position:relative}.quest-journal-entry.current{border-color:var(--cinnabar);box-shadow:inset 3px 0 var(--cinnabar)}.quest-journal-entry.locked{opacity:.52}.quest-journal-entry.completed{background:#17171309}.quest-journal-entry>small{color:var(--soft-ink);letter-spacing:.08em;font-size:9px}.quest-journal-entry h3{margin:3px 0 2px;font-size:15px;font-weight:500}.quest-journal-entry p{color:var(--soft-ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:10px;line-height:1.45;overflow:hidden}.quest-journal-meta{color:var(--soft-ink);justify-content:space-between;gap:8px;margin-top:5px;font-size:9px;display:flex}.quest-journal-progress{background:#17171326;height:2px;margin-top:5px}.quest-journal-progress i{background:var(--cinnabar);height:100%;display:block}.quest-journal-seal{border:1px solid var(--cinnabar);width:24px;height:24px;color:var(--cinnabar);place-items:center;font-size:10px;display:grid;position:absolute;top:8px;right:9px;transform:rotate(-6deg)}.quest-journal-card>footer{gap:12px;margin-top:10px}.quest-journal-card>footer small{color:var(--soft-ink)}.quest-journal-card>footer div{gap:8px;display:flex}.monster-journal-list{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.monster-journal-entry{background:#ffffff2e;border:1px solid #17171338;min-height:126px;padding:10px 11px 8px;position:relative}.monster-journal-entry.boss{border-color:var(--cinnabar);box-shadow:inset 0 3px #7c201bc2}.monster-journal-entry>small{color:var(--soft-ink);letter-spacing:.07em;font-size:9px}.monster-journal-entry h3{margin:3px 0 5px;font-size:16px;font-weight:500}.monster-journal-stats{color:var(--soft-ink);flex-wrap:wrap;gap:2px 8px;font-size:9px;display:flex}.monster-journal-map,.monster-journal-drops{color:var(--soft-ink);text-overflow:ellipsis;white-space:nowrap;margin:5px 0 0;font-size:9px;line-height:1.45;overflow:hidden}.monster-journal-drops{color:var(--ink)}.monster-journal-boss-seal{border:1px solid var(--cinnabar);width:24px;height:24px;color:var(--cinnabar);place-items:center;font-size:10px;display:grid;position:absolute;top:8px;right:8px;transform:rotate(5deg)}body.reduced-motion *,body.reduced-motion :before,body.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important}.victory-card{text-align:center}.victory-card>p{min-height:0}.victory-card>button{margin-top:24px}.victory-seal{background:var(--pale-paper);width:58px;height:58px;font-size:27px;top:-18px;right:calc(50% - 29px);transform:rotate(-5deg)}@keyframes reconnect-pulse{0%{opacity:.35}to{opacity:1}}.classic-dock{z-index:14;height:var(--dock-height);padding:6px max(12px, env(safe-area-inset-right)) 8px max(12px, env(safe-area-inset-left));border-width:1px 0 0;grid-template-rows:34px 76px;grid-template-columns:270px minmax(300px,1fr) auto;column-gap:12px;display:grid;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -5px 15px #17171324}.classic-menu-actions{grid-area:1/3;justify-content:flex-end;align-items:center;gap:4px;display:flex}.classic-menu-actions .map-action{letter-spacing:.06em;min-height:32px;padding:5px 8px}.combat-controls{z-index:14;grid-area:2/2/auto/4;justify-content:flex-end;align-items:end;gap:9px;min-width:0;display:flex}.skill-buttons{flex:1;justify-content:center;align-items:end;gap:6px;display:flex}.skill-button,.potion-buttons button{min-width:62px;height:58px;color:var(--ink);background:#f3f0e6e0;border:1px solid #171713a6;place-content:center;padding:5px 7px;font-size:11px;display:grid;position:relative;box-shadow:2px 3px #17171324}.skill-button.locked{filter:grayscale();opacity:.58}.skill-button.mana-required{filter:grayscale(.6);opacity:.66}.skill-button.cooling{opacity:.82}.skill-button>span,.skill-button>small,.skill-button>kbd,.skill-button>.skill-lock,.skill-button>.skill-cooldown-time{z-index:2;position:relative}.skill-button>kbd{color:var(--soft-ink);background:0 0;font-family:inherit;font-size:8px;position:absolute;top:3px;left:4px}.skill-cooldown-mask{z-index:1;pointer-events:none;background:#17171380;height:0;position:absolute;bottom:0;left:0;right:0}.skill-cooldown-time{color:var(--pale-paper);text-shadow:0 1px 2px var(--ink);font-size:12px;font-style:normal;font-weight:700;inset:50% auto auto 50%;transform:translate(-50%,-50%);position:absolute!important}.skill-lock{color:var(--cinnabar);background:#f7f4eaf0;border:1px solid #7c201b80;padding:1px 4px;font-size:8px;font-style:normal;position:absolute;inset:auto 3px 3px auto}.skill-button small,.potion-buttons small{color:var(--cinnabar);margin-top:3px;font-size:8px}.potion-buttons{grid-template-columns:repeat(2,48px);gap:5px;display:grid}.potion-buttons button{min-width:48px;color:var(--cinnabar);font-size:17px}.return-home-button{display:none}.attack-button{width:68px;height:68px;color:var(--pale-paper);background:radial-gradient(circle at 38% 32%,#ffffff2e,#0000 34%),#171713e0;border:2px solid #7c201bc7;border-radius:50%;place-content:center;display:grid;transform:rotate(-2deg);box-shadow:3px 5px #1717132e}.attack-button span{color:#b84a40;font-size:25px;line-height:1}.attack-button small{margin-top:4px;font-size:9px}.attack-button:disabled{cursor:default;filter:grayscale();opacity:.42}.inventory-panel{z-index:30;width:min(820px,100vw - 36px);height:min(680px,100vh - 36px);padding:15px;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.inventory-panel>header,.inventory-panel>footer,.inventory-tabs,.equipment-grid{align-items:center;display:flex}.inventory-panel>header{border-bottom:1px solid #17171347;justify-content:space-between;padding-bottom:9px}.inventory-panel>header strong{letter-spacing:.08em}.inventory-panel>header button{background:0 0;border:1px solid #17171373;width:34px;height:34px;font-size:22px}.equipment-grid{justify-content:center;gap:8px;padding:10px 0}.equipment-slot{background:#ffffff38;border:1px solid #1717136b;place-items:center;width:66px;height:66px;display:grid;position:relative}.equipment-slot small{color:var(--soft-ink);font-size:8px;position:absolute;bottom:2px;right:3px}.inventory-tabs{gap:5px;margin-bottom:9px}.inventory-tabs button,.item-actions button,.inventory-tools button{background:#fff3;border:1px solid #17171366;padding:6px 10px;font-size:11px}.inventory-tabs button.active,.inventory-tools button.active{color:var(--pale-paper);background:var(--ink)}.inventory-tools{align-items:center;gap:6px;min-height:35px;margin-bottom:7px;display:flex}.inventory-tools span{color:var(--cinnabar);font-size:10px}.inventory-panel>section{height:calc(100% - 214px);overflow-y:auto}.item-grid{grid-template-columns:repeat(10,1fr);gap:5px;display:grid}.item-slot{aspect-ratio:1;background:#ffffff2e;border:1px solid #17171345;min-width:0;position:relative}.item-slot[draggable=true]{cursor:grab}.item-slot.dragging{cursor:grabbing;opacity:.45}.item-slot.drop-target{border-color:var(--ink);box-shadow:inset 0 0 0 2px #1717133d}.item-slot.batch-selected{border-color:var(--cinnabar);box-shadow:inset 0 0 0 2px #8b2a1e47}.item-slot.batch-selected:after{color:var(--cinnabar);content:"✓";font-size:11px;font-weight:700;position:absolute;top:2px;left:3px}.item-slot b{color:var(--cinnabar);font-size:10px;position:absolute;bottom:2px;right:3px}.item-icon{background-image:url(/art/items-v1.png);background-repeat:no-repeat;background-size:500% 200%;width:100%;height:100%;display:block}.shop-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.shop-item{text-align:left;background:#ffffff2e;border:1px solid #1717134d;grid-template-columns:46px 1fr;align-items:center;min-height:52px;display:grid}.shop-item .item-icon{width:44px;height:44px}.inventory-panel>footer{border-top:1px solid #17171347;justify-content:space-between;min-height:52px;position:absolute;bottom:12px;left:15px;right:15px}.item-detail{gap:3px;font-size:10px;display:grid}.item-detail span{color:var(--soft-ink)}.item-actions{gap:5px;display:flex}.chat-panel{z-index:16;min-width:0;box-shadow:none;background:0 0;border:0;grid-area:1/2;padding:0;display:grid;position:relative}.chat-list{background:linear-gradient(90deg,#f3f0e6e6,#f3f0e6b3);border-left:2px solid #7c201b73;width:min(420px,100%);height:68px;padding:6px 8px;font-size:11px;position:absolute;bottom:40px;left:0;overflow-y:auto;box-shadow:3px 4px #17171314}.chat-list:empty{display:none}.chat-list p{margin:2px 0}.chat-list span{color:var(--cinnabar)}.chat-panel form{grid-template-columns:68px 1fr 52px;gap:5px;height:34px;display:grid}.chat-panel.compact .chat-list{display:none}.chat-panel input,.chat-panel select,.chat-panel button{background:#ffffff59;border:1px solid #17171361;min-height:30px;padding:4px 7px;font-size:11px}.orientation-hint{display:none}.orientation-hint p{width:min(330px,100vw - 48px);color:var(--soft-ink);text-align:center;margin:10px 0 14px;font-size:12px;line-height:1.55}.orientation-actions{gap:8px;display:flex}.orientation-actions button{min-width:132px;min-height:44px}@media (orientation:portrait) and (width<=700px){html[data-layout-mode=mobile] .world-screen:not([hidden])~.orientation-hint,html[data-layout-mode=tablet] .world-screen:not([hidden])~.orientation-hint{z-index:100;color:var(--ink);background:var(--paper);align-content:center;justify-items:center;display:grid;position:fixed;inset:0}.rotate-mark{color:var(--cinnabar);margin-bottom:13px;font-size:44px}}html[data-software-landscape=true],html[data-software-landscape=true] body{width:100%;height:100%;overflow:hidden}html[data-software-landscape=true] #app{width:var(--app-viewport-width);height:var(--app-viewport-height);transform-origin:0 0;position:fixed;top:0;left:0;transform:rotate(90deg)translateY(-100%)}html[data-software-landscape=true] .orientation-hint{display:none!important}html[data-software-landscape=true] .settings-card,html[data-software-landscape=true] .guide-card,html[data-software-landscape=true] .map-sheet-card,html[data-software-landscape=true] .appearance-sidebar,html[data-software-landscape=true] .quest-journal-list,html[data-software-landscape=true] .monster-journal-list,html[data-software-landscape=true] .inventory-panel>section,html[data-software-landscape=true] .npc-dialog,html[data-software-landscape=true] .install-hint{touch-action:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-screen{--header-height:54px;--dock-height:0px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-header{min-height:var(--header-height);grid-template-columns:minmax(110px,1fr) auto minmax(120px,1fr);padding:5px 10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-header .map-action{letter-spacing:.04em;min-height:40px;padding:5px 8px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .map-identity{display:block}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .map-identity .eyebrow{font-size:8px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-header strong{font-size:13px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .header-primary-actions{gap:4px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .dock-menu-toggle{display:inline-block}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .connection-state{gap:4px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .connection-state b{margin-left:2px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .activity{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-canvas{inset:var(--header-height) 0 0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .classic-dock{z-index:14;height:auto;box-shadow:none;pointer-events:none;background:0 0;border:0;padding:0;display:block;inset:0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud{z-index:15;pointer-events:none;background:#f3f0e6c7;border-left:2px solid #7c201b73;width:min(215px,31vw);padding:7px 9px;position:absolute;top:64px;left:10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-row:nth-child(4),:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-stats{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-head{margin-bottom:4px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-row+.hud-row{margin-top:3px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker{width:min(250px,34vw);padding:7px 9px;top:64px;right:10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker p{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker.collapsed{width:min(170px,26vw)}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .target-panel{width:min(250px,30vw);padding:6px 8px;top:64px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .target-panel .eyebrow{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-notice{max-width:52vw;padding:5px 12px;font-size:11px;top:38%}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .npc-dialog{width:min(470px, calc(var(--app-viewport-width,100vw) - 24px));max-height:calc(var(--app-viewport-height,100dvh) - 108px);overscroll-behavior:contain;touch-action:pan-y;padding:9px 11px;bottom:92px;overflow-y:auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .move-joystick{display:grid}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel{z-index:16;right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom));pointer-events:auto;width:min(42vw,350px);position:absolute;left:auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel .chat-list{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .classic-menu-actions{z-index:22;pointer-events:auto;background:#f3f0e6f5;border:1px solid #17171380;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:210px;padding:7px;display:none;position:absolute;top:58px;right:10px;box-shadow:4px 5px #1717131f}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .classic-menu-actions.open{display:grid}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .classic-menu-actions .map-action{min-height:42px;padding:6px 8px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-controls{right:calc(min(42vw,350px) + 14px);bottom:max(18px, env(safe-area-inset-bottom));pointer-events:auto;grid-template-columns:1fr auto;grid-template-areas:"skills skills""attack potions";justify-items:end;width:260px;display:grid;position:absolute}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-buttons{grid-area:skills}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .attack-button{grid-area:attack;width:60px;height:60px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button{width:78px;min-width:78px;height:44px;padding:3px 5px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-buttons.has-final .skill-button{width:58px;min-width:58px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button small{text-overflow:ellipsis;white-space:nowrap;max-width:50px;overflow:hidden}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons{grid-area:potions;grid-template-columns:repeat(2,36px)}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons button{min-width:36px;height:44px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .inventory-panel{width:calc(var(--app-viewport-width,100vw) - 20px);height:calc(var(--app-viewport-height,100dvh) - 16px);padding:9px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .inventory-panel>header{padding-bottom:4px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .equipment-grid{padding:0;position:absolute;top:7px;left:205px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .equipment-slot{width:48px;height:48px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .inventory-tabs{margin:5px 0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .inventory-panel>section{overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;height:calc(100% - 132px)}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .item-grid{gap:3px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .inventory-panel>footer{min-height:43px;bottom:5px;left:9px;right:9px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .guide-overlay{padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));overflow:hidden}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .guide-card{width:min(600px, calc(var(--app-viewport-width,100vw) - 24px));overscroll-behavior:contain;touch-action:pan-y;max-width:100%;max-height:100%;padding:20px 30px 18px;overflow-y:auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .guide-card h2{margin:6px 0 8px;font-size:23px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .guide-card>p{min-height:42px;line-height:1.5}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .guide-card>small{margin-top:7px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .guide-progress{margin:10px 0 9px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .guide-seal{width:38px;height:38px;font-size:18px;top:17px;right:25px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .settings-card{width:min(620px, calc(var(--app-viewport-width,100vw) - 24px));overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;max-width:100%;max-height:100%;padding:13px 22px 12px;overflow-y:auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .settings-overlay{padding:max(8px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(8px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));overflow:hidden}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .settings-card>header{margin-bottom:2px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .settings-card h2{font-size:21px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .setting-row{min-height:45px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .settings-card>footer{margin-top:9px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .map-sheet-card{width:min(650px, calc(var(--app-viewport-width,100vw) - 24px));overscroll-behavior:contain;touch-action:pan-y;max-width:100%;max-height:100%;padding:10px 16px 9px;overflow-y:auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .map-sheet-card h2{font-size:20px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .map-sheet-card>p{margin:3px 0 5px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .map-sheet-image{aspect-ratio:auto;height:205px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .map-sheet-legend{gap:5px 12px;margin:5px 0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .map-sheet-card>footer button{padding:6px 12px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-card{width:min(720px, calc(var(--app-viewport-width,100vw) - 24px));max-width:100%;max-height:calc(var(--app-viewport-height,100dvh) - 16px);flex-direction:column;padding:9px 15px 8px;display:flex}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-card h2{font-size:20px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .journal-tabs{margin-top:2px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .journal-tabs button{padding:3px 10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-card>p{margin:2px 0 4px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-list{overscroll-behavior:contain;touch-action:pan-y;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;min-height:0;overflow-y:auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-entry{min-height:76px;padding:6px 8px 5px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-entry h3{margin:2px 0;font-size:13px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-entry p{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-meta{margin-top:3px;display:block}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-meta span{display:block}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-progress{margin-top:3px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-seal{width:20px;height:20px;top:5px;right:6px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-card>footer{margin-top:5px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-journal-card>footer button{padding:5px 10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .monster-journal-list{overscroll-behavior:contain;touch-action:pan-y;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;min-height:0;overflow-y:auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .monster-journal-entry{min-height:88px;padding:6px 8px 5px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .monster-journal-entry h3{margin:2px 0 3px;font-size:13px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .monster-journal-map,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .monster-journal-drops{margin-top:2px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .monster-journal-boss-seal{width:20px;height:20px;top:5px;right:5px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .move-joystick{display:grid}.chat-toggle{display:none}.install-hint{z-index:42;justify-content:space-between;align-items:flex-start;gap:14px;width:min(420px,100vw - 36px);padding:18px 20px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.install-hint .eyebrow{margin-bottom:4px}.install-hint strong{letter-spacing:.08em;display:block}.install-hint p{color:var(--soft-ink);margin:8px 0 0;font-size:12px;line-height:1.55}.install-hint button{background:0 0;border:1px solid #1717136b;flex:0 0 32px;width:32px;height:32px;font-size:20px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]),:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) body,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) #app{height:var(--app-viewport-height,100dvh);min-height:var(--app-viewport-height,100dvh);overscroll-behavior:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-screen{--header-height:42px;--mobile-combat-bottom:max(var(--control-combat-y,44px), calc(env(safe-area-inset-bottom) + 20px));--mobile-combat-right:max(var(--control-combat-x,48px), calc(env(safe-area-inset-right) + 20px));--mobile-joystick-bottom:max(var(--control-joystick-y,44px), calc(env(safe-area-inset-bottom) + 20px));--mobile-joystick-left:max(var(--control-joystick-x,48px), calc(env(safe-area-inset-left) + 20px));--mobile-middle-left:max(146px, calc(env(safe-area-inset-left) + 124px));height:var(--app-viewport-height,100dvh);min-height:0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-header{min-height:var(--header-height);padding:3px max(8px, env(safe-area-inset-right)) 3px max(8px, env(safe-area-inset-left));box-shadow:none;background:linear-gradient(#f3f0e69e,#f3f0e600);border:0;grid-template-columns:minmax(88px,1fr) auto auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .map-identity{gap:5px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .map-identity .eyebrow{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-header strong{letter-spacing:.11em;font-size:12px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .header-primary-actions{gap:3px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-header .map-action{letter-spacing:0;place-items:center;width:40px;min-width:40px;min-height:34px;padding:2px;font-size:10px;display:grid}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-header #map-action{width:46px;min-width:46px;font-size:0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-header #map-action:after{content:"前往";font-size:10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-header .dock-menu-toggle{font-size:0;display:grid}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-header .dock-menu-toggle:after{color:var(--ink);content:"⋯";font-size:22px;line-height:1}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .connection-state{gap:0;padding-left:5px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .connection-state span,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .connection-state small,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .connection-state b{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-canvas{inset:0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .classic-dock{height:auto;box-shadow:none;pointer-events:none;background:0 0;border:0;padding:0;display:block;position:absolute;inset:0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud{z-index:15;top:auto;bottom:max(54px, calc(env(safe-area-inset-bottom) + 46px));left:var(--mobile-middle-left);width:clamp(220px,34vw,292px);height:25px;box-shadow:none;pointer-events:none;background:linear-gradient(90deg,#f3f0e6b3,#f3f0e661,#f3f0e6b3);border:0;border-bottom:1px solid #7c201b6b;grid-template-columns:42px minmax(0,1fr) minmax(0,1fr);gap:5px;padding:3px 6px;display:grid;position:absolute}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-head{align-self:center;margin:0;display:block}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-head span,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-row:nth-child(4),:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-stats{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-head strong{white-space:nowrap;font-size:10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px;min-width:0;margin:0;display:grid;position:relative}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-row+.hud-row{margin-top:0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-row>span{white-space:nowrap;font-size:8px;display:inline}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-row>b{text-overflow:ellipsis;white-space:nowrap;font-size:8px;display:block;overflow:hidden}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-track{opacity:.75;height:2px;position:absolute;bottom:0;left:0;right:0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .target-panel{top:calc(var(--header-height) + 5px);width:min(190px,25vw);box-shadow:none;background:linear-gradient(#f3f0e6d6,#f3f0e65c);border:0;border-bottom:1px solid #7c201b8c;padding:4px 7px 5px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .target-panel .eyebrow,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .target-panel>p{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .target-panel strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .target-panel small{font-size:9px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .target-track{height:5px;margin-top:4px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker{top:calc(var(--header-height) + 5px);right:max(7px, env(safe-area-inset-right));width:min(190px,27vw);min-height:28px;box-shadow:none;background:linear-gradient(270deg,#f3f0e6d1,#f3f0e652);border:0;border-right:2px solid #7c201b8c;padding:5px 27px 5px 7px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker-head{position:absolute;top:1px;right:2px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker-head .eyebrow,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker p,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker .quest-route{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker-head button{width:22px;height:24px;color:var(--soft-ink);background:0 0;border:0;margin:0;font-size:12px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker>strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;display:inline;overflow:hidden}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker>small{float:right;margin-top:1px;font-size:9px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker.collapsed{width:42px;padding-right:25px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker.collapsed>strong,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker.collapsed>small{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .activity{top:calc(var(--header-height) + 5px);bottom:auto;left:max(8px, env(safe-area-inset-left));background:linear-gradient(90deg,#f3f0e6bf,#f3f0e600);border-left-width:2px;width:min(220px,30vw);padding:3px 6px;font-size:9px;display:block}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .activity li:not(:first-child){display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .move-joystick{bottom:var(--mobile-joystick-bottom);left:var(--mobile-joystick-left);opacity:.7;width:90px;height:90px;transition:opacity .12s,transform .12s}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .move-joystick.engaged{opacity:1;transform:scale(1.04)}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .move-joystick-knob{width:37px;height:37px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-toggle{z-index:21;width:38px;height:38px;color:var(--ink);background:#f3f0e6d1;border:1px solid #17171380;border-radius:50%;place-items:center;font-size:13px;display:grid;position:absolute;bottom:3px;left:auto;right:3px;box-shadow:2px 3px #1717131f}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-toggle[aria-expanded=true]{inset:-40px 3px auto auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel{z-index:20;bottom:max(8px, env(safe-area-inset-bottom));left:var(--mobile-middle-left);pointer-events:auto;width:clamp(220px,34vw,292px);height:42px;position:absolute}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel:not(.expanded) form{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel .chat-list{width:100%;height:42px;box-shadow:none;background:linear-gradient(90deg,#f3f0e69e,#f3f0e640,#f3f0e69e);border:0;border-bottom:1px solid #7c201b57;padding:2px 42px 2px 5px;font-size:9px;display:block;position:absolute;bottom:0;left:0;overflow:hidden}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel .chat-list p{text-overflow:ellipsis;white-space:nowrap;margin:1px 0;overflow:hidden}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel .chat-list p:not(:nth-last-child(-n+2)){display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel.expanded{bottom:max(10px, env(safe-area-inset-bottom));left:var(--mobile-middle-left);width:clamp(220px,34vw,292px);height:118px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel.expanded .chat-list{background:#f3f0e6e8;height:76px;padding:5px 7px;bottom:42px;overflow-y:auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel.expanded .chat-list p{white-space:normal}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel.expanded .chat-list p:not(:nth-last-child(-n+2)){display:block}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel.expanded form{grid-template-columns:48px 1fr 42px;height:36px;display:grid;position:absolute;bottom:0;left:0;right:0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel form input,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel form select,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel form button{min-height:36px;font-size:10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .classic-menu-actions{top:calc(var(--header-height) + 4px);right:max(7px, env(safe-area-inset-right));background:#f3f0e6f7;border-color:#17171375;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;width:min(238px,42vw);padding:6px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .classic-menu-actions .map-action{min-height:38px;padding:4px;font-size:10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-controls{right:var(--mobile-combat-right);bottom:var(--mobile-combat-bottom);width:228px;height:168px;display:block}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-buttons{width:auto;display:block;position:absolute;inset:0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-buttons.has-final .skill-button{border-radius:50%;width:48px;min-width:48px;height:48px;padding:2px;position:absolute;box-shadow:1px 2px #17171321}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button:first-child{bottom:80px;right:15px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button:nth-child(2){bottom:64px;right:70px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button:nth-child(3){bottom:10px;right:88px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button:nth-child(4){width:42px;min-width:42px;height:42px;bottom:68px;right:124px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button>kbd,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button small{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button>span{font-size:18px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-lock{padding:0 2px;font-size:7px;bottom:1px;right:1px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .attack-button{width:70px;height:70px;position:absolute;bottom:3px;right:3px;box-shadow:2px 3px #1717132e}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .attack-button span{font-size:24px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .attack-button small{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons{grid-template-columns:repeat(3,34px);gap:5px;display:grid;position:absolute;top:0;right:0}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons button{border-radius:50%;width:34px;min-width:34px;height:34px;padding:2px;font-size:14px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons small{display:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .return-home-button{display:grid;color:var(--ink)!important}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .return-home-button:disabled{opacity:.42}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .npc-dialog{width:min(460px, calc(var(--app-viewport-width,100vw) - 24px));bottom:91px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .install-hint{width:min(500px, calc(var(--app-viewport-width,100vw) - 24px));max-height:calc(var(--app-viewport-height,100dvh) - 16px);overscroll-behavior:contain;touch-action:pan-y;padding:13px 16px;overflow-y:auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .inventory-panel{width:calc(var(--app-viewport-width,100vw) - 16px);border-bottom:0;height:min(76%,300px);padding:8px 10px;top:auto;bottom:0;transform:translate(-50%)}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .inventory-panel>section{height:calc(100% - 126px)}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .inventory-panel>footer{min-height:39px;bottom:4px;left:10px;right:10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .item-slot{overflow:hidden}html[data-layout-mode=pc] .world-screen{--pc-dock-height:102px;--pc-hud-width:286px;--pc-skill-width:60px;--pc-skill-height:56px;--pc-attack-size:72px;--pc-support-size:42px;--header-height:0px;--dock-height:0px}html[data-layout-mode=pc] .world-screen[data-ui-scale="85"]{--pc-dock-height:88px;--pc-hud-width:248px;--pc-skill-width:52px;--pc-skill-height:49px;--pc-attack-size:62px;--pc-support-size:37px}html[data-layout-mode=pc] .world-screen[data-ui-scale="115"]{--pc-dock-height:116px;--pc-hud-width:324px;--pc-skill-width:68px;--pc-skill-height:64px;--pc-attack-size:82px;--pc-support-size:48px}html[data-layout-mode=pc] .world-canvas{inset:0}html[data-layout-mode=pc] .world-header{min-height:52px;box-shadow:none;opacity:.86;background:linear-gradient(#f3f0e6c7,#f3f0e63d,#0000);border:0;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);padding:7px 16px 12px;transition:opacity .15s}html[data-layout-mode=pc] .world-header:hover,html[data-layout-mode=pc] .world-header:focus-within{opacity:1}html[data-layout-mode=pc] .dock-menu-toggle{display:inline-block}html[data-layout-mode=pc] .move-joystick{display:none}html[data-layout-mode=pc] .classic-dock{height:var(--pc-dock-height);box-shadow:none;grid-template-columns:var(--pc-hud-width) minmax(280px, 1fr) auto;pointer-events:none;background:0 0;border:0;grid-template-rows:1fr;gap:12px;padding:0;transition:opacity .15s;display:grid;inset:auto 14px 12px}html[data-layout-mode=pc] .classic-dock:hover,html[data-layout-mode=pc] .classic-dock:focus-within{opacity:1}html[data-layout-mode=pc] .combat-hud,html[data-layout-mode=pc] .chat-panel{background:linear-gradient(#f3f0e6d6,#f3f0e67a);border:0;border-bottom:1px solid #7c201b6b;height:100%;box-shadow:3px 5px #17171314}html[data-layout-mode=pc] .combat-hud{grid-area:1/1;padding:8px 11px 7px;font-size:10px}html[data-layout-mode=pc] .combat-hud .hud-head{margin-bottom:5px}html[data-layout-mode=pc] .combat-hud .hud-row+.hud-row{margin-top:4px}html[data-layout-mode=pc] .combat-hud .hud-stats{margin-top:5px}html[data-layout-mode=pc] .chat-panel{z-index:16;pointer-events:auto;grid-area:1/2;grid-template-rows:minmax(0,1fr) 32px;gap:5px;min-width:0;padding:7px 8px;display:grid;position:relative}html[data-layout-mode=pc] .chat-list{width:100%;height:auto;min-height:0;box-shadow:none;opacity:.76;background:linear-gradient(90deg,#f3f0e66b,#0000);border:0;border-left:2px solid #7c201b66;padding:2px 7px;transition:opacity .14s,background .14s;position:static;overflow-y:hidden}html[data-layout-mode=pc] .chat-panel:hover .chat-list,html[data-layout-mode=pc] .chat-panel:focus-within .chat-list{opacity:1;background:#f3f0e6ad;overflow-y:auto}html[data-layout-mode=pc] .chat-panel form{height:32px}html[data-layout-mode=pc] .chat-panel.compact{grid-template-rows:1fr}html[data-layout-mode=pc] .chat-panel.compact form{align-self:end}html[data-layout-mode=pc] .combat-controls{z-index:17;pointer-events:auto;grid-area:1/3;justify-content:flex-end;align-items:center;gap:7px;min-width:0;height:100%;display:flex;position:relative}html[data-layout-mode=pc] .skill-buttons{flex:0 auto;order:1;justify-content:flex-end;align-items:center;gap:5px;display:flex}html[data-layout-mode=pc] .skill-button,html[data-layout-mode=pc] .skill-buttons.has-final .skill-button{width:var(--pc-skill-width);min-width:var(--pc-skill-width);height:var(--pc-skill-height);padding:4px 5px;transition:border-color .11s,color .11s,transform 80ms}html[data-layout-mode=pc] .skill-button:hover:not(.locked),html[data-layout-mode=pc] .potion-buttons button:hover:not(:disabled){border-color:var(--cinnabar);color:var(--cinnabar);transform:translateY(-2px)}html[data-layout-mode=pc] .skill-button:active:not(.locked),html[data-layout-mode=pc] .potion-buttons button:active:not(:disabled),html[data-layout-mode=pc] .attack-button:active:not(:disabled){transform:translateY(1px)scale(.97)}html[data-layout-mode=pc] .attack-button{width:var(--pc-attack-size);height:var(--pc-attack-size);flex:0 0 var(--pc-attack-size);order:2;transition:filter .11s,transform 80ms;position:relative}html[data-layout-mode=pc] .attack-button:hover:not(:disabled){filter:contrast(1.12);transform:rotate(-2deg)scale(1.04)}html[data-layout-mode=pc] .attack-button>kbd,html[data-layout-mode=pc] .potion-buttons kbd{color:var(--soft-ink);background:0 0;font-family:inherit;font-size:8px;font-weight:400;position:absolute;top:3px;left:5px}html[data-layout-mode=pc] .attack-button>kbd{color:#f3f0e6b8;text-align:center;left:0;right:0}html[data-layout-mode=pc] .potion-buttons{grid-template-columns:repeat(3, var(--pc-support-size));order:3;align-self:center;gap:4px;margin-top:0;display:grid}html[data-layout-mode=pc] .potion-buttons button{width:var(--pc-support-size);min-width:var(--pc-support-size);height:var(--pc-support-size);padding:7px 3px 3px;font-size:15px;transition:border-color .11s,color .11s,transform 80ms}html[data-layout-mode=pc] .potion-buttons small{display:none}html[data-layout-mode=pc] .return-home-button{color:var(--ink);display:grid}html[data-layout-mode=pc] .return-home-button:disabled{opacity:.42}html[data-layout-mode=pc] .world-screen[data-return-home-armed=true] .return-home-button{border-color:var(--cinnabar);box-shadow:0 0 0 2px #7c201b29}html[data-layout-mode=pc] .classic-menu-actions{z-index:26;pointer-events:auto;background:#f3f0e6f5;border:1px solid #17171380;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;width:276px;padding:8px;display:none;position:fixed;top:54px;right:16px;box-shadow:5px 7px #1717131f}html[data-layout-mode=pc] .classic-menu-actions.open{display:grid}html[data-layout-mode=pc] .classic-menu-actions .map-action{min-height:38px}html[data-layout-mode=pc] .target-panel,html[data-layout-mode=pc] .quest-tracker,html[data-layout-mode=pc] .activity{box-shadow:none;opacity:.78;border:0;transition:opacity .14s,width .16s,max-height .16s}html[data-layout-mode=pc] .target-panel:hover,html[data-layout-mode=pc] .quest-tracker:hover,html[data-layout-mode=pc] .quest-tracker:focus-within,html[data-layout-mode=pc] .activity:hover{opacity:1}html[data-layout-mode=pc] .target-panel{background:linear-gradient(#f3f0e6c7,#f3f0e64d);border-bottom:1px solid #7c201b7a;padding:7px 10px;top:58px}html[data-layout-mode=pc] .quest-tracker{background:linear-gradient(270deg,#f3f0e6c7,#f3f0e647);top:62px;right:16px}html[data-layout-mode=pc] .activity{bottom:calc(var(--pc-dock-height) + 22px);pointer-events:auto;max-height:27px;left:16px;overflow:hidden}html[data-layout-mode=pc] .activity:hover{background:linear-gradient(90deg,#f3f0e6e0,#f3f0e62e);max-height:92px}html[data-layout-mode=pc] .activity li:not(:first-child){opacity:.72}html[data-layout-mode=pc] .npc-dialog{bottom:calc(var(--pc-dock-height) + 22px);width:min(520px,52vw)}html[data-layout-mode=pc] .inventory-panel{width:min(570px,44vw);height:auto;padding:14px;inset:14px 14px 14px auto;transform:none;box-shadow:-7px 9px #17171324}html[data-layout-mode=pc] .inventory-panel>section{height:calc(100% - 214px)}html[data-layout-mode=pc] .inventory-panel .item-grid{grid-template-columns:repeat(5,minmax(0,1fr))}html[data-layout-mode=pc] .map-sheet-overlay,html[data-layout-mode=pc] .quest-journal-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(90deg,#17171314,#1717133d);place-items:stretch end;padding:14px}html[data-layout-mode=pc] .map-sheet-card,html[data-layout-mode=pc] .quest-journal-card{border-top:0;border-bottom:0;width:min(650px,48vw);height:100%;max-height:none;box-shadow:-7px 9px #17171324}html[data-layout-mode=pc] .map-sheet-card{overflow-y:auto}html[data-layout-mode=pc] .quest-journal-card{flex-direction:column;display:flex}html[data-layout-mode=pc] .quest-journal-list,html[data-layout-mode=pc] .monster-journal-list{min-height:0;overflow-y:auto}html[data-layout-mode=pc] .monster-journal-list{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-layout-mode=pc] .scale-row select{background:#ffffff47;min-width:104px;padding:7px 10px}html[data-layout-mode=pc] button:focus-visible,html[data-layout-mode=pc] input:focus-visible,html[data-layout-mode=pc] select:focus-visible{outline:2px solid var(--cinnabar);outline-offset:2px}.appearance-overlay{z-index:46;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.appearance-card{width:min(980px, calc(var(--app-viewport-width,100vw) - 24px));height:min(720px, calc(var(--app-viewport-height,100dvh) - 20px));flex-direction:column;min-height:0;padding:16px 18px;display:flex;overflow:hidden}.appearance-card>header{border-bottom:1px solid #1717133d;flex:none;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;padding-bottom:8px;display:flex}.appearance-card h2,.appearance-card h3,.appearance-card p{margin:0}.appearance-card>header button{width:44px;min-width:44px;height:44px;padding:0;font-size:28px}.appearance-layout{flex:auto;grid-template-columns:minmax(250px,.92fr) minmax(310px,1.08fr);gap:16px;min-height:0;display:grid}.appearance-figure,.appearance-sidebar{min-width:0;min-height:0}.appearance-figure{background:radial-gradient(circle at 50% 45%,#ffffffb8,#0000 58%),linear-gradient(#ece8dbd6,#dcd8ca85);border:1px solid #17171333;flex-direction:column;justify-content:space-between;align-items:center;padding:10px;display:flex;overflow:hidden}.appearance-preview{filter:drop-shadow(0 8px 5px #1717132e);background-color:#0000;background-position:50%;background-repeat:no-repeat;flex:none;width:min(240px,78%);max-height:calc(100% - 104px)}.appearance-directions{flex:none;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;width:100%;display:grid}.appearance-directions button{background:#f8f5ebc7;border:1px solid #17171342;grid-template-rows:48px auto;gap:1px;min-width:0;min-height:72px;padding:2px;font-size:10px;display:grid;overflow:hidden}.appearance-directions button[data-selected=true],.appearance-skins button[data-selected=true]{border-color:var(--cinnabar);box-shadow:inset 0 0 0 1px var(--cinnabar);color:var(--cinnabar)}.appearance-directions i,.appearance-skins i{background-repeat:no-repeat;justify-self:center;width:auto;max-width:100%;height:100%;display:block}.appearance-sidebar{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;gap:10px;padding:1px 5px 8px 1px;display:flex;overflow-y:auto}.appearance-stats,.appearance-wardrobe{background:#f9f6ecad;border:1px solid #1717132e;padding:11px 12px}.appearance-stats dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;margin:8px 0 0;display:grid}.appearance-stats dl>div{border-bottom:1px dotted #17171338;justify-content:space-between;gap:8px;padding-bottom:4px;display:flex}.appearance-stats dt{color:var(--soft-ink)}.appearance-stats dd{margin:0;font-weight:700}.appearance-message{color:var(--soft-ink);margin-top:4px;font-size:12px}.appearance-unequip{min-height:44px}.appearance-skins{grid-template-columns:repeat(3,minmax(92px,1fr));gap:8px;margin-top:8px;display:grid}.appearance-skins button{background:#f8f5ebd1;border:1px solid #17171342;grid-template-rows:96px auto;gap:4px;min-height:132px;padding:5px;display:grid;overflow:hidden}.appearance-wardrobe>.paper-button{width:100%;margin-top:9px}@media (orientation:landscape) and (height<=540px){.appearance-overlay{padding:max(4px, env(safe-area-inset-top)) max(6px, env(safe-area-inset-right)) max(4px, env(safe-area-inset-bottom)) max(6px, env(safe-area-inset-left))}.appearance-card{width:calc(var(--app-viewport-width,100vw) - 12px);height:calc(var(--app-viewport-height,100dvh) - 8px);padding:7px 9px}.appearance-card>header{margin-bottom:5px;padding-bottom:4px}.appearance-card>header h2{font-size:18px}.appearance-card>header button{width:40px;min-width:40px;height:40px}.appearance-layout{grid-template-columns:minmax(320px,1.08fr) minmax(300px,.92fr);gap:8px}.appearance-figure{padding:5px}.appearance-preview{width:min(190px,68%);max-height:calc(100% - 68px)}.appearance-directions{grid-template-columns:repeat(8,minmax(38px,1fr));gap:2px}.appearance-directions button{grid-template-rows:42px auto;min-height:60px;font-size:10px}.appearance-sidebar{gap:6px;padding-right:3px}.appearance-stats,.appearance-wardrobe{padding:7px 8px}.appearance-stats dl{gap:3px 10px;margin-top:4px;font-size:11px}.appearance-message{font-size:10px}.appearance-unequip{min-height:40px}.appearance-skins{grid-template-columns:repeat(3,minmax(82px,1fr));margin-top:4px}.appearance-skins button{grid-template-rows:72px auto;min-height:100px}}@media (width>=760px) and (width<=1199px) and (height>=621px),(pointer:fine) and (width>=760px) and (width<=1199px) and (height>=521px){html[data-layout-mode=pc] .world-screen,html[data-layout-mode=pc] .world-screen[data-ui-scale="85"],html[data-layout-mode=pc] .world-screen[data-ui-scale="115"]{--pc-dock-height:88px;--pc-hud-width:clamp(168px, 21vw, 190px);--pc-skill-width:clamp(38px, 5vw, 44px);--pc-skill-height:50px;--pc-attack-size:clamp(54px, 7vw, 62px);--pc-support-size:clamp(30px, 3.8vw, 34px)}html[data-layout-mode=pc] .classic-dock{grid-template-columns:var(--pc-hud-width) minmax(190px, 1fr) auto;gap:6px;inset:auto 8px 8px}html[data-layout-mode=pc] .combat-hud{padding:6px 8px 5px}html[data-layout-mode=pc] .combat-hud .hud-head{margin-bottom:3px}html[data-layout-mode=pc] .combat-hud .hud-row+.hud-row{margin-top:2px}html[data-layout-mode=pc] .combat-hud .hud-stats{margin-top:3px}html[data-layout-mode=pc] .chat-panel{grid-template-rows:minmax(0,1fr) 29px;gap:3px;padding:5px 6px}html[data-layout-mode=pc] .chat-panel form{height:29px}html[data-layout-mode=pc] .chat-panel form input,html[data-layout-mode=pc] .chat-panel form select,html[data-layout-mode=pc] .chat-panel form button{min-height:29px;padding:3px 6px}html[data-layout-mode=pc] .combat-controls{gap:4px}html[data-layout-mode=pc] .skill-buttons{gap:3px}html[data-layout-mode=pc] .skill-button,html[data-layout-mode=pc] .skill-buttons.has-final .skill-button{padding:3px}html[data-layout-mode=pc] .skill-button small{font-size:7px}html[data-layout-mode=pc] .potion-buttons{gap:3px}html[data-layout-mode=pc] .potion-buttons button{padding:6px 2px 2px;font-size:13px}html[data-layout-mode=pc] .inventory-panel{width:min(520px,54vw)}html[data-layout-mode=pc] .map-sheet-card,html[data-layout-mode=pc] .quest-journal-card{width:min(600px,58vw)}}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .attack-button>kbd,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons kbd{display:none}.world-canvas{isolation:isolate}.world-canvas canvas{z-index:1;image-rendering:auto;position:relative}.world-canvas:after{z-index:2;pointer-events:none;content:"";mix-blend-mode:multiply;background:radial-gradient(at 50% 48%,#0000 48%,#1717131a 100%),linear-gradient(#ffffff0a,#0000 24%,#17171309);position:absolute;inset:0}.world-canvas[data-map-id=skeleton-cave]:after,.world-canvas[data-map-id=corpse-king-hall]:after{background:radial-gradient(at 50% 45%,#0000 34%,#0c0c0a33 100%),linear-gradient(#ffffff06,#0000 20%,#0c0c0a14)}.world-header strong,.combat-hud strong,.target-panel strong,.quest-tracker>strong{text-shadow:0 1px #f3f0e6b8}.target-panel,.quest-tracker{background:linear-gradient(90deg,#7c201b1a 0 2px,#0000 2px),linear-gradient(145deg,#f3f0e6e0,#e9e5d87a);border-bottom:1px solid #7c201b75;box-shadow:inset 0 1px #ffffff7a,0 7px 20px #1717131a}.skill-button,.potion-buttons button{background:linear-gradient(145deg,#ffffff7a,#0000 42%),linear-gradient(160deg,#f3f0e6f0,#d4cebdd1);border:0;border-radius:2px 7px 3px 5px;box-shadow:inset 0 0 0 1px #17171375,inset 0 -2px #7c201b33,2px 4px 10px #1717131f}.attack-button{background:radial-gradient(circle at 38% 30%,#ffffff24,#0000 31%),radial-gradient(circle at 52% 55%,#32302a 0 44%,#171713 72%,#090908 100%);border:1px solid #7c201bdb;box-shadow:inset 0 0 0 3px #f3f0e614,inset 0 -8px 14px #00000047,0 6px 16px #1717133d}.attack-button span{text-shadow:0 1px 7px #b84a4075}html[data-layout-mode=pc] .world-header{background:linear-gradient(90deg,#7c201b14 0 2px,#0000 2px),linear-gradient(#f3f0e6d1,#f3f0e638,#0000)}html[data-layout-mode=pc] .combat-hud,html[data-layout-mode=pc] .chat-panel{background:linear-gradient(90deg,#7c201b1f 0 3px,#0000 3px),linear-gradient(145deg,#f3f0e6e6,#e9e5d894);border:0;border-bottom:1px solid #7c201b80;border-radius:3px 10px 3px 8px;box-shadow:inset 0 1px #ffffff8c,0 8px 24px #17171324}html[data-layout-mode=pc] .combat-hud{color:#f3f0e6eb;background:linear-gradient(90deg,#7c201b80 0 3px,#0000 3px),linear-gradient(145deg,#2a2823f0,#171713cc);box-shadow:inset 0 1px #ffffff14,0 8px 24px #1717133d}html[data-layout-mode=pc] .combat-hud .hud-head,html[data-layout-mode=pc] .combat-hud .hud-row>span,html[data-layout-mode=pc] .combat-hud .hud-row>b,html[data-layout-mode=pc] .combat-hud .hud-stats{color:#f3f0e6cc}html[data-layout-mode=pc] .combat-hud .hud-head strong{color:var(--pale-paper);text-shadow:0 1px 5px #00000073}html[data-layout-mode=pc] .combat-hud .hud-track{background:#f3f0e61a;border-color:#f3f0e647}html[data-layout-mode=pc] .chat-list{opacity:.86;background:linear-gradient(90deg,#1717130e,#0000);border-left-width:1px}html[data-layout-mode=pc] .chat-panel input,html[data-layout-mode=pc] .chat-panel select,html[data-layout-mode=pc] .chat-panel button{background:#ffffff3d;border:0;border-bottom:1px solid #17171357}html[data-layout-mode=pc] .skill-button{font-size:12px}html[data-layout-mode=pc] .skill-button small{font-size:9px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .chat-panel .chat-list{background:linear-gradient(90deg,#7c201b1f 0 2px,#0000 2px),linear-gradient(145deg,#f3f0e6c2,#e9e5d857);border-radius:2px 8px 2px 6px;box-shadow:0 5px 16px #1717131a}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-head strong,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .target-panel strong,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .quest-tracker>strong{font-size:11px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-row>span,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-hud .hud-row>b,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button small,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons small{font-size:9px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-button,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-buttons.has-final .skill-button,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons button{background:radial-gradient(circle at 34% 28%,#ffffff85,#0000 34%),linear-gradient(155deg,#f3f0e6f0,#cdc6b4d1);border-radius:50%;box-shadow:inset 0 0 0 1px #17171375,2px 4px 10px #17171324}#appearance-panel .appearance-card{width:min(900px, calc(var(--app-viewport-width,100vw) - 20px));height:min(570px, calc(var(--app-viewport-height,100dvh) - 16px));gap:6px;padding:10px;container-type:inline-size}#appearance-panel .appearance-card>header{gap:8px;min-height:38px;margin:0;padding-bottom:5px}.profile-heading{align-items:center;gap:8px;min-width:0;display:flex}#appearance-panel .appearance-card h2{font-size:16px}.profile-avatar{background:#e9e4d4;border:1px solid #647c70;flex:none;width:38px;height:38px;padding:0;display:block;position:relative;overflow:hidden}.profile-avatar-frame{background-repeat:no-repeat;display:block;position:absolute}#hud-avatar{pointer-events:auto;float:left;width:34px;height:34px;margin:0 6px 3px 0}#profile-view-target{background:#f0eddf;border:1px solid #89978a;min-width:110px;max-width:220px;min-height:34px;font-size:12px}#appearance-panel .appearance-card>header button{width:36px;min-width:36px;height:36px;padding:0}#appearance-panel .appearance-layout{flex:1 1 0;grid-template-columns:minmax(155px,.8fr) 58px minmax(280px,1.3fr);gap:8px;min-height:0;display:grid}#appearance-panel .appearance-figure{flex-direction:column;justify-content:start;gap:5px;padding:5px;display:flex}#appearance-stage{flex:1 1 0;place-items:center;width:100%;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}#appearance-panel .appearance-preview{filter:none;background-repeat:no-repeat;flex:none;max-width:none;max-height:none}#appearance-panel .appearance-directions{touch-action:pan-x;flex:none;gap:3px;padding-bottom:2px;display:flex;overflow-x:auto}#appearance-panel .appearance-directions button{flex:none;min-width:35px;min-height:32px;padding:3px;font-size:11px;display:block}#profile-wardrobe{flex:none;width:100%}#profile-wardrobe h3{margin:0 0 4px;font-size:12px}#appearance-panel .appearance-skins{touch-action:pan-x;gap:4px;margin:0;display:flex;overflow-x:auto}#appearance-panel .appearance-skins button{flex:none;min-width:80px;min-height:32px;padding:4px 8px;font-size:12px;display:block}#appearance-panel .profile-equipment{touch-action:pan-y;min-width:0;min-height:0;overflow-y:auto}#appearance-panel .profile-equipment h3{text-align:center;margin:0 0 5px;font-size:12px}#appearance-panel .profile-equipment .equipment-grid{grid-template-columns:1fr;gap:5px;margin:0;padding:0;display:grid;position:static;inset:auto}#appearance-panel .profile-equipment .equipment-slot{overflow-wrap:anywhere;background:#eeecde;border:1px solid #909a88;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;height:auto;min-height:52px;padding:3px;font-size:10px;display:flex}#appearance-panel .profile-equipment .item-icon{flex:none;width:28px;height:28px}#appearance-panel .profile-equipment small{font-size:10px;position:static}#inventory-panel{width:auto;min-width:0;max-width:none;height:auto;min-height:0;max-height:none;box-shadow:none;background:0 0;border:0;flex-direction:column;gap:5px;padding:0;display:flex;position:static;inset:auto;overflow:hidden;transform:none}#inventory-panel>header{flex:none;margin:0;padding:0;font-size:12px}#inventory-panel .inventory-tabs{flex:none;gap:4px;margin:0;display:flex}#inventory-panel .inventory-tabs button{flex:1;min-height:32px;padding:4px;font-size:12px}#inventory-panel [data-inventory-section]{touch-action:pan-y;overscroll-behavior:contain;flex:1 1 0;min-height:0;overflow-y:auto}#inventory-panel .inventory-tools{flex-wrap:wrap;gap:4px;margin:0 0 5px;padding:0;display:flex}#inventory-panel .inventory-tools button{min-height:30px;padding:3px 7px;font-size:11px}#inventory-panel .item-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;max-height:none;padding:0;display:grid;overflow:visible}#inventory-panel .item-slot{aspect-ratio:1;width:100%;min-width:0;height:auto;min-height:40px;padding:3px}#inventory-panel .item-slot .item-icon{width:28px;height:28px}#inventory-panel .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:none}#inventory-panel .shop-item{min-height:44px;padding:4px;font-size:12px}#inventory-panel>footer{border-top:1px solid #a8ae9b;flex:none;margin:0;padding:5px 0 0}#item-detail{min-height:28px;font-size:12px}#item-actions{flex-wrap:wrap;gap:4px;display:flex}#item-actions button{min-height:32px;padding:4px 8px;font-size:12px}.profile-facts{flex:none;align-items:center;gap:8px;min-height:22px;font-size:11px;display:flex}#appearance-stats{flex-wrap:wrap;gap:3px 12px;margin:0;display:flex}#appearance-stats>div{gap:4px;display:flex}#appearance-stats dt,#appearance-stats dd{margin:0}#appearance-message{flex:none;min-height:15px;margin:0;font-size:11px}#profile-other-details{border:1px solid #a8ae9b;padding:10px;font-size:13px;display:none}#profile-other-equipment,#appearance-panel[data-profile-mode=other] #inventory-panel,#appearance-panel[data-profile-mode=other] #equipment-grid{display:none}#appearance-panel[data-profile-mode=other] #profile-other-details,#appearance-panel[data-profile-mode=other] #profile-other-equipment{display:block}#appearance-panel[data-profile-mode=other] #profile-other-equipment{display:grid}@media (height<=540px){#appearance-panel .appearance-card{gap:4px;padding:5px 7px}#appearance-panel .appearance-card>header{min-height:32px}#appearance-panel .appearance-card h2{font-size:14px}.profile-heading .profile-avatar{width:30px;height:30px}#appearance-panel .appearance-layout{grid-template-columns:minmax(145px,.75fr) 48px minmax(255px,1.35fr);gap:5px}#appearance-panel .profile-equipment .equipment-slot{gap:0;min-height:44px}#appearance-panel .profile-equipment .equipment-grid{gap:3px}#appearance-panel .profile-equipment .item-icon{width:25px;height:25px}.profile-facts{min-height:18px}#inventory-panel .item-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}@media (width<=700px) and (orientation:landscape){#appearance-panel .appearance-layout{grid-template-columns:minmax(125px,.7fr) 44px minmax(215px,1.3fr)}#inventory-panel .item-grid{grid-template-columns:repeat(5,minmax(0,1fr))}#profile-view-target{max-width:160px}}@media (pointer:coarse){#appearance-panel .appearance-card>header button,#profile-view-target{min-height:40px}#appearance-panel .appearance-directions button,#appearance-panel .appearance-skins button,#item-actions button,#inventory-panel .inventory-tabs button{min-height:36px}#inventory-panel .item-slot,#appearance-panel .profile-equipment .equipment-slot{min-height:44px}}#world-screen .paper-panel{box-shadow:2px 3px #1717131f}#world-screen .eyebrow{letter-spacing:1px;font-size:10px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-controls{pointer-events:none;width:268px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .skill-buttons,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons{pointer-events:none}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .combat-controls button,:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .world-screen[data-control-editing=true] .combat-controls{pointer-events:auto}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons{grid-template-columns:repeat(3,44px);right:120px}:is(html[data-layout-mode=mobile],html[data-layout-mode=tablet]) .potion-buttons button{width:44px;min-width:44px;height:44px}.world-entry-overlay{z-index:100;background:#e6e3d3f0;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.world-entry-card{text-align:center;width:min(380px,100%);padding:24px}.world-entry-card h2{color:var(--cinnabar);margin:0 0 12px}.world-entry-card p{margin:10px 0;line-height:1.6}.world-entry-card small{color:var(--soft-ink);margin:12px 0;line-height:1.5;display:block}.world-entry-card button{min-height:44px;margin:4px;padding:8px 16px}html[data-layout-mode] .chat-panel,html[data-layout-mode] .chat-panel .chat-list,html[data-layout-mode] .chat-panel form{pointer-events:none}html[data-layout-mode] .chat-panel :is(input,select,button),html[data-layout-mode] .chat-panel.expanded .chat-list{pointer-events:auto}html[data-layout-mode] .chat-panel .chat-list:empty{display:none}html[data-layout-mode] .chat-panel.expanded .chat-list{overscroll-behavior:contain;touch-action:pan-y}html[data-layout-mode=pc] .chat-panel.expanded{width:100%;height:var(--pc-dock-height);min-height:0;box-shadow:none;background:#f3f0e6c7;border:1px solid #70644c40;border-radius:5px;grid-template-rows:36px minmax(0,1fr);grid-template-columns:minmax(0,1fr) 36px;align-self:stretch;gap:4px;padding:5px 6px}html[data-layout-mode=pc] .chat-panel form{grid-area:1/1;grid-template-columns:clamp(44px,12%,68px) minmax(0,1fr) 44px;gap:4px;min-width:0;height:36px}html[data-layout-mode=pc] .chat-panel form :is(input,select,button){min-width:0;height:36px;min-height:0}html[data-layout-mode=pc] .chat-panel .chat-toggle{z-index:1;background:#f3f0e6e6;border:1px solid #7c201b66;grid-area:1/2;place-items:center;width:36px;height:36px;display:grid;position:static}html[data-layout-mode=pc] .chat-panel .chat-list{grid-area:2/1/auto/-1;height:100%;min-height:0;padding:0 3px;position:static}html[data-layout-mode=pc] .chat-panel.expanded .chat-list:not(:empty){opacity:1;background:0 0;display:block;overflow-y:auto}html[data-layout-mode] .chat-panel:not(.expanded){width:44px;height:44px;box-shadow:none;background:0 0;border:0;padding:0}html[data-layout-mode] .chat-panel:not(.expanded) :is(.chat-list,form){display:none}html[data-layout-mode] .chat-panel:not(.expanded) .chat-toggle{width:44px;height:44px;position:absolute;inset:0 auto auto 0}
