.growth-menu{gap:10px;max-width:780px;display:grid}.growth-menu p{margin:3px 0;font-size:13px;line-height:1.5}.growth-menu button{touch-action:manipulation;min-height:44px}.equipment-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.equipment-cell{background:#293c37;align-content:start;gap:4px;padding:7px;display:grid}.equipment-cell strong{font-size:12px}.bag-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;display:grid}.bag-grid button,.bag-empty{background:#243730;border:1px solid #748473;place-items:center;min-height:68px;padding:4px;font-size:11px;display:grid}.gear-row,.gear-detail{background:#2e4039;gap:6px;padding:10px;display:grid}.gear-row small{line-height:1.5}.stat-row{grid-template-columns:1fr 70px 44px 44px;align-items:center;gap:6px;display:grid}.stat-row small{color:#d0d6bd;grid-column:1/-1;font-size:12px}.gear-icon{width:24px;height:24px;image-rendering:pixelated;color:#c7c6ac;display:inline-block;position:relative}.gear-icon[data-grade=고급]{color:#a9cfaa}.gear-icon[data-grade=희귀]{color:#aad6e8}.gear-icon:before{content:"";background:currentColor;position:absolute;box-shadow:2px 2px #152721}.gear-weapon:before{border-bottom:5px solid #9d7852;width:4px;height:19px;top:1px;left:12px;transform:rotate(30deg)}.gear-helmet:before{border-bottom:4px solid #6c7c6d;width:18px;height:13px;top:4px;left:3px}.gear-chest:before{border-top:4px solid #829c99;width:14px;height:18px;top:3px;left:5px}.gear-gloves:before{width:8px;height:14px;top:7px;left:3px;box-shadow:12px 0,2px 2px #152721}.gear-boots:before{border-bottom:5px solid #987952;width:7px;height:16px;top:3px;left:3px;box-shadow:11px 0}.modal-card:has(.growth-menu){width:min(800px,94vw);max-height:88dvh;overflow:auto}.growth-menu:empty{display:none}@media (width<=760px){.equipment-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.equipment-cell{padding:4px}.equipment-cell strong{font-size:10px}.bag-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.growth-menu{gap:7px}.modal-card:has(.growth-menu){max-height:90dvh}}body:has(#sheet:not([hidden])) #touch-controls{visibility:hidden}:root{color:#ede4cd;font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#172e32;font-family:Noto Sans KR,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:#253d3a;border:1px solid #81927a;border-radius:3px;min-height:44px;padding:10px 14px}button:hover{background:#3b5146}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:3px;outline:2px solid #f0d79a}input,select{color:#eee3c5;background:#1b302f;border:1px solid #718573;border-radius:3px;min-height:44px;padding:11px}input[type=checkbox]{accent-color:#cdb77b;width:22px;min-height:22px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}#app{flex-direction:column;height:100dvh;display:flex}.topline{background:#172b2c;border-bottom:1px solid #586b57;align-items:center;gap:20px;height:52px;padding:0 28px;display:flex}.wordmark{letter-spacing:2px;font-size:14px;font-weight:700}.build-label{color:#a5b69f;letter-spacing:2px;font-size:10px}.topline button{background:0 0;border:0;min-height:36px;margin-left:auto;padding:4px 12px;font-size:12px}kbd{opacity:.65;font-family:inherit;font-size:10px}.topline kbd{margin-left:10px}#stage{flex:1;min-height:0;position:relative;overflow:hidden}#game{touch-action:none;outline:none;width:100%;height:100%;display:block}#hud{pointer-events:none;position:absolute;inset:0}#hud button,#hud form,#chat-history{pointer-events:auto}footer{color:#9aad9c;background:#172b2c;justify-content:space-between;align-items:center;height:26px;padding:0 28px;font-size:9px;display:flex}.location{text-shadow:0 2px 4px #102723;position:absolute;top:22px;left:28px}.eyebrow{letter-spacing:2px;color:#d8ceae;font-size:9px}.location h1{margin:5px 0;font-size:22px}.location p{color:#e0dbc2;margin:0;font-size:10px}.player-panel{background:#1a302ddc;border-left:2px solid #adbb90;width:215px;padding:10px 12px;position:absolute;top:112px;left:28px}.player-name{justify-content:space-between;gap:8px;font-size:11px;display:flex}.player-name span{font-size:10px}.health-track{background:#192d2a;height:6px;margin-top:8px}.health-track>div{background:#b7c68b;height:100%}.xp-track{background:#273f35;height:2px;margin-top:5px}.xp-track>div{background:#d2b073;height:100%}.player-panel small{color:#cfbd8c;margin-top:5px;font-size:9px;display:block}.objective{background:#182e2be0;border-top:1px solid #a9b690;width:260px;padding:11px 14px;position:absolute;top:22px;right:28px}.objective strong{color:#e3d29c;font-size:11px}.objective p{color:#d9deca;margin:7px 0 0;font-size:11px;line-height:1.7}#map-open{background:#243d35;border:1px solid #9aab85;min-height:0;padding:0;position:absolute;top:138px;right:28px;overflow:hidden}#map{width:150px;height:100px;display:block}#map-open>span{text-align:center;padding:4px;font-size:9px;display:block}.utility{gap:5px;display:flex;position:absolute;top:276px;right:28px}.utility button{background:#1b332eea;padding:6px 9px;font-size:10px}.utility kbd{display:none}.skills{gap:4px;display:flex;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.skill{text-align:center;background:#152e2fe8;border-bottom:2px solid #8d9d7c;min-width:94px;padding:8px 12px;position:relative}.skill kbd{margin-bottom:3px;display:block}.skill span{font-size:11px}.skill small{color:#e3d49f;font-size:9px}.skill i{background:#d5c792;height:2px;display:block;position:absolute;bottom:-2px;left:0}#potion{background:#253c32e8;font-size:11px;position:absolute;bottom:27px;left:calc(50% + 215px)}#interact{background:#263c30ee;border-color:#d9c997;max-width:360px;min-height:46px;font-size:12px;position:absolute;bottom:110px;left:50%;transform:translate(-50%)}#combat-callout{text-align:center;color:#fff0ba;text-shadow:0 2px 5px #0a201a;font-size:13px;line-height:1.7;position:absolute;top:23%;left:27%;right:27%}#chat-history{text-shadow:0 1px 3px #102e26;scrollbar-width:thin;width:245px;max-height:100px;font-size:10px;position:absolute;bottom:26px;left:28px;overflow:auto}#chat-history p{overflow-wrap:anywhere;margin:3px 0}#chat-form{z-index:6;gap:4px;display:flex;position:absolute;bottom:14px;left:20px}#chat-input{width:270px;font-size:12px}#chat-form button{padding:8px;font-size:11px}#debug{color:#d8e3c6;pointer-events:none;white-space:pre-wrap;background:#102a26e8;max-width:440px;max-height:60%;padding:10px;font:11px/1.6 monospace;position:absolute;top:204px;left:28px;overflow:auto}.overlay{z-index:8;position:absolute;inset:0}.intro-copy{max-width:540px;margin:4vh 0 0 7%}.intro-copy h1{letter-spacing:-4px;margin:18px 0;font-size:clamp(44px,6vw,86px);font-weight:600;line-height:1.16}.intro-copy h1 span{color:#d4b56c}.intro-copy>p{color:#d0dbc1;margin:18px 0;font-size:13px;line-height:1.9}.intro-copy>label{margin-bottom:7px;font-size:11px;display:block}.intro-copy>input{width:270px;display:block}.intro-buttons{gap:8px;margin:12px 0;display:flex}.primary{color:#24352b;background:#d8c792;border-color:#d8c792;min-height:46px;font-weight:600}.primary:hover{background:#e9dba9}#intro{background:linear-gradient(90deg,#122b30f5,#122b30bb 46%,#18383122)}.intro-copy details{color:#c2cfb4;max-width:350px;font-size:11px}.intro-copy summary{cursor:pointer;padding:8px 0}.restore-row{gap:6px;display:flex}.restore-row input{width:230px;min-width:0;font-size:11px}.restore-row button{font-size:11px}.intro-copy #connection-status{max-width:350px;margin:12px 0;font-size:10px;line-height:1.6}.intro-copy>small{color:#a3b69f;font-size:9px}.intro-caption{letter-spacing:2px;color:#d3d7be;font-size:10px;position:absolute;bottom:30px;right:35px}.modal{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102b2bc7;justify-content:center;align-items:center;display:flex}.modal-card{background:#1d332e;border:1px solid #7e9072;width:min(550px,92vw);max-height:calc(100% - 28px);padding:24px 30px;overflow:auto;box-shadow:0 20px 80px #0a201c80}.modal-card h2{letter-spacing:-1px;margin:8px 0 16px;font-size:24px;font-weight:500}.modal-card>p{white-space:pre-line;color:#d0d6bd;font-size:12px;line-height:1.9}.modal-card>label{justify-content:space-between;align-items:center;gap:14px;min-height:42px;font-size:12px;display:flex}.modal-card>button{margin:10px 5px 0 0;font-size:12px}.modal-card .instructions{font-size:10px;line-height:1.9}.item-row{border-top:1px solid #435b45;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;display:flex}.item-row strong{font-size:12px}.item-row p{color:#abbf9d;margin:6px 0 0;font-size:11px;line-height:1.6}.item-row button{white-space:nowrap;font-size:12px}.recovery-code{width:100%;font:11px monospace}.large-map{border:1px solid #8f9b75;width:100%;height:auto}#touch-controls{pointer-events:none;z-index:4;position:absolute;inset:0}#joystick{bottom:24px;left:max(26px,env(safe-area-inset-left));pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;background:#193a363d;border:1px solid #d2d7b957;border-radius:50%;width:130px;height:130px;position:absolute}.joystick-knob{background:#bdc8a966;border:1px solid #dde4c898;border-radius:50%;width:49px;height:49px;position:absolute;top:40px;left:40px}.joystick-cross{border:1px solid #c9d5b622;border-radius:50%;position:absolute;inset:24px}.joystick-label{text-align:center;color:#d2dcbc;pointer-events:none;width:100%;font-size:9px;position:absolute;bottom:12px}.touch-actions{right:max(22px,env(safe-area-inset-right));grid-template-rows:62px 82px;grid-template-columns:68px 82px;gap:8px;display:grid;position:absolute;bottom:18px}.touch-action{pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none;color:#efedd0;background:#213b32b8;border:1px solid #bcc9a77f;border-radius:50%;width:64px;height:64px;padding:0;font-size:12px}.touch-action span,.touch-action small{display:block}.touch-action small{color:#bac9a7;margin-top:4px;font-size:9px}.touch-attack{background:#5a644bba;border-color:#ead19e;width:80px;height:80px;font-size:15px}.held{background:#8a997275!important}#orientation-hint,.touch-note{display:none}[data-control-mode=touch] .touch-note{display:block}[data-control-mode=touch] .keyboard-note,[data-control-mode=touch] .skills{display:none}[data-control-mode=touch] .utility{top:auto;bottom:12px;right:calc(50% - 103px)}[data-control-mode=touch] #potion{min-width:70px;min-height:48px;bottom:28px;left:auto;right:196px}[data-control-mode=touch] #interact{max-width:220px;min-height:48px;bottom:72px}[data-control-mode=touch] #chat-history{width:210px;max-height:65px;bottom:170px;left:22px}[data-control-mode=touch] #chat-form{bottom:174px;left:20px}[data-control-mode=touch] #chat-input{width:210px}@media (height<=600px){.topline{height:36px;padding:0 16px}.wordmark{font-size:12px}.build-label{font-size:8px}footer{display:none}.location{top:12px;left:18px}.location h1{margin:3px 0;font-size:17px}.location .eyebrow{display:none}.location p{font-size:9px}.player-panel{width:182px;padding:7px 9px;top:62px;left:18px}.objective{width:230px;padding:8px 11px;top:12px;right:18px}.objective p{margin-top:4px;font-size:10px}.objective strong{font-size:10px}#map-open{top:113px;right:18px}#map{width:96px;height:64px}#map-open>span{font-size:8px}.utility{top:204px;right:18px}.intro-copy{max-width:620px;margin-top:16px}.intro-copy h1{letter-spacing:-2px;margin:8px 0;font-size:40px}.intro-copy>p{margin:8px 0;font-size:10px;line-height:1.6}.intro-copy>input{width:240px;min-height:38px;padding:6px 10px}.intro-copy>label{margin-bottom:4px;font-size:9px}.intro-buttons{margin:8px 0}.intro-buttons button{min-height:40px;font-size:11px}.intro-copy details{width:40%;position:absolute;top:40%;left:53%}.intro-copy #connection-status{max-width:310px;margin:5px 0;font-size:9px}.intro-caption{font-size:8px;bottom:20px}.intro-copy>small{display:none}.modal-card{max-height:calc(100% - 12px);padding:16px 22px}.modal-card h2{margin-bottom:12px;font-size:20px}#combat-callout{font-size:11px;top:16px;left:31%;right:32%}#debug{max-width:300px;max-height:100px;font-size:9px;top:140px;left:18px}#chat-history{width:190px;font-size:9px}.skills{bottom:14px}.skill{min-width:75px;padding:6px 8px}.skill span{font-size:10px}#potion{padding:7px;font-size:10px;bottom:15px;left:calc(50% + 175px)}}@media (width<=700px){.build-label{display:none}.objective{width:190px}.objective p{font-size:9px}.player-panel{width:160px}.utility button{padding:7px;font-size:9px}.touch-actions{grid-template-rows:54px 66px;grid-template-columns:58px 68px;gap:7px;bottom:12px;right:14px}.touch-action{width:56px;height:56px;font-size:11px}.touch-attack{width:66px;height:66px;font-size:13px}#joystick{width:110px;height:110px;bottom:14px;left:15px}.joystick-knob{width:40px;height:40px;top:34px;left:34px}[data-control-mode=touch] #potion{font-size:9px;bottom:25px;right:154px}[data-control-mode=touch] #interact{max-width:180px;font-size:10px;bottom:82px}[data-control-mode=touch] #chat-history{max-height:40px;font-size:8px;bottom:146px}.intro-copy details{font-size:9px}.restore-row{flex-wrap:wrap}.restore-row input{max-width:100%;height:40px}.intro-copy h1{font-size:34px}.intro-caption{display:none}}@media (orientation:portrait) and (width<=700px){[data-control-mode=touch] #orientation-hint{text-align:center;pointer-events:none;font-size:11px;display:block;position:absolute;bottom:174px;left:0;right:0}.location h1{font-size:16px}.objective{width:165px;right:12px}.intro-copy{margin-top:45px}.intro-copy h1{font-size:58px}.intro-copy details{width:90%;margin-top:18px;position:static}.intro-copy>p{font-size:12px}.intro-copy #connection-status{font-size:11px}.player-panel{top:90px}#map-open{top:170px}}[data-control-mode=touch] #map{width:84px;height:56px}@media (height<=600px){[data-control-mode=touch] #map-open{right:196px}}#intro.creator{background:radial-gradient(at 25% 70%,#304e48c9,#101f2df5 76%);justify-content:center;align-items:center;padding:20px;display:flex;overflow:auto}.creator-frame{background:linear-gradient(115deg,#192f32f5,#1a2933f2);border:1px solid #8c8262;width:min(880px,96vw);padding:25px 36px 16px;position:relative;box-shadow:0 0 0 5px #121f25,0 0 0 6px #655e49,0 22px 75px #0008}.creator-frame:before,.creator-frame:after{content:"◆";color:#d1bd88;background:#192b30;padding:0 8px;font-size:16px;position:absolute;top:-11px}.creator-frame:before{left:22px}.creator-frame:after{right:22px}.creator-heading{text-align:center}.creator-heading>span{letter-spacing:4px;color:#c8b888;font:10px Georgia,serif}.creator-heading h1{letter-spacing:3px;color:#f3e5c2;margin:11px 0;font-size:27px;font-weight:500}.creator-heading p{color:#a3b4b2;margin:0 0 15px;font-size:11px}.creator-body{grid-template-columns:42% 58%;align-items:center;display:grid}.class-stage{text-align:center;padding:0 20px 10px 0}.class-stage canvas{width:100%;max-width:300px;image-rendering:pixelated;margin:auto;display:block}.class-stage>span{color:#e2d4aa;letter-spacing:2px;font-size:16px}.class-stage p{color:#abbfba;max-width:260px;margin:12px auto 0;font-size:11px;line-height:1.8}.creation-options{border-left:1px solid #6a77664d;padding:15px 0 12px 26px}.creation-label{letter-spacing:2px;color:#c9b684;margin-bottom:10px;font-size:10px;display:block}.class-choices{gap:6px;display:flex}.class-choices button{color:#d7dbc3;background:#172d30;border-color:#4e6462;flex:1;padding:13px 7px 10px;font-size:13px}.class-choices small{color:#a7b6a6;margin-top:6px;font-size:9px;display:block}.class-choices [aria-pressed=true]{background:#3e4f43;border-color:#d6c48b;box-shadow:inset 0 0 0 2px #263c32}.class-choices [aria-pressed=true]:before{content:"◆";color:#e8d492;margin-bottom:5px;font-size:9px;display:block}#class-skill-preview{color:#a9b9aa;min-height:53px;padding:13px 1px;font-size:10px;line-height:1.7}#guest-name{letter-spacing:1px;background:#101f2680;border:0;border-bottom:1px solid #b09d70;border-radius:0;width:100%;padding:12px 10px;font-size:16px}.creator .intro-buttons{flex-wrap:wrap;margin:15px 0 10px}.creator #start{color:#253431;background:linear-gradient(#e0c997,#b99b64);border:1px solid #f3dda7;flex:1;font-size:13px;box-shadow:inset 0 0 0 2px #957e57}.creator #continue{font-size:11px}.creator details{color:#b2c0b6;font-size:10px}.creator summary{cursor:pointer;padding:8px 0}.creator #connection-status{color:#b4c4b6;min-height:18px;margin:8px 0;font-size:10px;line-height:1.7}.creation-options>small{color:#92aaa5;font-size:9px}.creator-seal{letter-spacing:2px;text-align:center;color:#a39a7d;border-top:1px solid #5c6b594d;margin-top:12px;padding-top:14px;font-size:9px}.player-name strong{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.player-name>span{white-space:nowrap;flex:none}.skill span,.skill small{display:block}.skills .skill{min-width:100px;max-width:128px}.skill:disabled{opacity:.55}.tutorial-skill{box-shadow:0 0 0 2px #e5c57655,inset 0 0 16px #e5c57622;border-color:#f4d587!important}.skill-inventory{grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0;display:grid}.inventory-skill{min-height:55px;font-size:12px}.inventory-skill[aria-pressed=true]{background:#4a5c42;border-color:#f1d18c}.loadout-slots{gap:8px;display:grid}.loadout-slot{gap:8px;display:flex}.loadout-slot>button:first-child{white-space:pre-line;text-align:left;flex:1;font-size:12px;line-height:1.8}.loadout-slot>button:last-child{min-width:70px;font-size:11px}.skill-note{color:#e1c894;font-size:11px;line-height:1.7}.touch-action span{padding:0 5px;font-size:10px;line-height:1.35}.touch-attack span{font-size:12px}.touch-action small{padding:0 3px;font-size:8px;line-height:1.3}.touch-action:disabled{opacity:.38}#potion{left:calc(50% + 233px)}@media (height<=650px){#intro.creator{padding:12px}.creator-frame{width:min(810px,95vw);padding:12px 25px 10px}.creator-heading h1{margin:6px 0;font-size:20px}.creator-heading>span{font-size:8px}.creator-heading p{margin-bottom:6px;font-size:9px}.creator-body{grid-template-columns:39% 61%}.class-stage canvas{max-width:210px}.class-stage>span{font-size:13px}.class-stage p{margin-top:7px;font-size:10px}.creation-options{padding:7px 0 6px 20px}.creation-label{margin-bottom:5px;font-size:9px}.class-choices button{min-height:50px;padding:7px 5px;font-size:12px}.class-choices [aria-pressed=true]:before{display:none}.class-choices small{margin-top:3px;font-size:8px}#class-skill-preview{min-height:35px;padding:7px 0;font-size:9px}#guest-name{min-height:42px;padding:6px 8px}.creator .intro-buttons{margin:8px 0 3px}.creator #start{min-height:44px}.creator details{font-size:9px}.creator #connection-status{margin:3px 0;font-size:9px}.creator-seal{margin-top:4px;padding-top:8px}.skills .skill{min-width:83px;max-width:95px}#potion{left:calc(50% + 197px)}}@media (width<=650px){.creator-heading h1{letter-spacing:1px;font-size:17px}.creator-frame{padding:12px 15px}.creator-body{grid-template-columns:35% 65%}.class-stage{padding-right:10px}.class-stage p{font-size:9px}.class-stage>span{letter-spacing:0;font-size:11px}.creation-options{padding-left:12px}.creator-heading p{font-size:8px}.creator-seal{letter-spacing:0;font-size:8px}.class-choices button{font-size:11px}#class-skill-preview{font-size:8px}.creator .restore-row{flex-wrap:nowrap}.creator .restore-row input{flex:1;width:100px}.utility{gap:3px}}@media (orientation:portrait) and (width<=700px){#intro.creator{align-items:flex-start}.creator-frame{margin:14px 0}.creator-body{display:block}.class-stage canvas{max-width:180px}.class-stage{padding:0}.class-stage p{margin-bottom:15px}.creation-options{border-top:1px solid #5b6b5b55;border-left:0;padding:14px 0 0}.creator-heading h1{font-size:21px}.creator-heading p{font-size:10px}}@media (height>=651px) and (height<=760px){.creator-frame{padding:15px 28px 12px}.class-stage canvas{max-width:250px}.creator-heading h1{margin:9px 0;font-size:24px}.creator-heading p{margin-bottom:10px}.creation-options{padding-top:10px;padding-bottom:8px}.creator-seal{margin-top:7px;padding-top:10px}}@media (height<=460px) and (orientation:landscape){#intro.creator{align-items:flex-start;padding:9px}.creator-frame{width:min(810px,96vw);padding:8px 20px 6px}.creator-heading>span,.creator-heading p,.creator-seal,.class-stage p,.creation-options>small{display:none}.creator-heading h1{margin:3px 0 6px;font-size:17px}.creator-body{grid-template-columns:36% 64%}.class-stage canvas{max-width:183px}.class-stage>span{font-size:12px}.creation-options{padding:3px 0 1px 20px}.creation-label{margin-bottom:4px;font-size:8px;line-height:1.4}.class-choices button{min-height:46px;padding:6px;font-size:11px}.class-choices small{font-size:8px}#class-skill-preview{min-height:25px;padding:5px 0;font-size:9px}.creator .intro-buttons{margin:7px 0 1px}#guest-name{min-height:40px;padding:6px 8px;font-size:16px}.creator summary{padding:6px 0}.creator #connection-status{min-height:13px;margin:2px 0;font-size:9px;line-height:1.4}[data-kind=skills] .modal-card{width:min(670px,94vw);padding:10px 18px}[data-kind=skills] h2{margin:0 0 4px;font-size:17px}[data-kind=skills] .modal-card>p{margin:5px 0;font-size:10px;line-height:1.5}[data-kind=skills] .skill-inventory{grid-template-columns:repeat(4,1fr);gap:5px;margin:8px 0}[data-kind=skills] .inventory-skill{min-height:44px;padding:5px;font-size:10px}[data-kind=skills] .loadout-slots{grid-template-columns:repeat(2,1fr);gap:5px}[data-kind=skills] .loadout-slot{gap:4px}[data-kind=skills] .loadout-slot>button{min-height:45px;padding:5px 8px;font-size:10px}[data-kind=skills] .loadout-slot>button:last-child{min-width:52px}[data-kind=skills] .skill-note{margin:6px 0;font-size:10px}[data-kind=skills] #sheet-close{min-height:44px;margin-top:4px;padding:5px 12px}}#game,#joystick,button[data-action]{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}#hud button:not([data-action]),#pause button,#sheet button{touch-action:manipulation}.touch-actions{grid-template-rows:62px 78px;grid-template-columns:62px 62px 78px;gap:7px}.touch-actions [data-action=attack]{grid-area:2/3}.touch-actions [data-action=ultimate]{grid-area:1/3}.touch-actions kbd{opacity:.6;font-size:9px}[data-skill=skill1] i:before{content:"☾";color:#b5f1ff;font-size:23px}[data-skill=skill2] i:before{content:"≋";color:#f4d6a0;font-size:23px}@media (width<=700px){.touch-actions{grid-template-rows:52px 64px;grid-template-columns:52px 52px 64px;gap:6px}.skills{gap:3px}.skill{min-width:42px}}body[data-art=anime]{color:#263e4a;background:#8cbead}[data-art=anime] .topline{z-index:7;background:0 0;border:0;height:38px;padding:0;position:absolute;top:8px;right:12px}[data-art=anime] .wordmark,[data-art=anime] .build-label,[data-art=anime] footer{display:none}[data-art=anime] .topline button{color:#263e4a;background:#fff7dfef;border:1px solid #bb9c62;border-radius:20px;min-height:40px;padding:6px 15px}[data-art=anime] .location{text-shadow:0 2px 3px #244d4dbb;color:#fff8dc;top:22px;left:24px}[data-art=anime] .location h1{letter-spacing:1px;font-size:24px}[data-art=anime] .location p,[data-art=anime] .eyebrow{color:#fff6d9}[data-art=anime] .player-panel,[data-art=anime] .objective{color:#284354;background:#fff9e9ee;border:1px solid #b5a078;border-radius:4px 15px;box-shadow:0 3px #55756b30}[data-art=anime] .player-panel{border-left:4px solid #4a919b;width:228px;top:115px}[data-art=anime] .health-track{background:#ccc7b3;border-radius:4px;height:7px;overflow:hidden}[data-art=anime] .health-track>div{background:linear-gradient(90deg,#538f83,#9fc981)}[data-art=anime] .xp-track{background:#d7ccb0}[data-art=anime] .xp-track>div{background:#c49a46}[data-art=anime] .player-panel small{color:#9c782e}[data-art=anime] .objective{border-top:3px solid #c5a25a;top:65px}[data-art=anime] .objective strong{color:#947335}[data-art=anime] .objective p{color:#3a525e}[data-art=anime] #map-open{color:#3e5c60;background:#efe5c7;border:3px solid #efe5c7;border-radius:8px;top:181px;box-shadow:0 0 0 1px #a79973}[data-art=anime] .utility{top:320px}[data-art=anime] [data-control-mode=touch] .utility{top:auto}[data-art=anime] .utility button,[data-art=anime] #potion{color:#36505c;background:#fff4dfe8;border-color:#b69b68;border-radius:8px}[data-art=anime] .skills{gap:7px;bottom:22px}[data-art=anime] .skill{color:#354b59;background:linear-gradient(#fff8e8f2,#e7ddbef2);border:1px solid #a99464;border-bottom:3px solid #c2a15b;border-radius:5px 12px;min-height:66px;box-shadow:0 3px 9px #244c4b38}[data-art=anime] .skill kbd{color:#65808a;opacity:1}[data-art=anime] .skill small{color:#947b3e}[data-art=anime] .skill:disabled{opacity:.55}[data-art=anime] #interact{color:#3f575d;background:#fdf3ddeb;border-color:#af9662;border-radius:18px}[data-art=anime] #combat-callout{color:#fffdf0;text-shadow:0 1px 4px #345747}[data-art=anime] .touch-action{color:#344e5d;background:radial-gradient(circle at 40% 28%,#fff6dcee,#c1d5cadd);border:2px solid #e9d6a4;box-shadow:0 3px 8px #244a483a}[data-art=anime] .touch-action small{color:#677d77}[data-art=anime] #joystick{background:#f3e7c72e;border-color:#fff3ce9c}[data-art=anime] .joystick-knob{background:#f5e4b77a;border-color:#fff3dcb3}[data-art=anime] .modal-card{color:#34505a;background:#f9f0dc;border-color:#b49b64;box-shadow:0 20px 80px #26494460}[data-art=anime] .modal-card>p,[data-art=anime] .item-row p{color:#63786f}[data-art=anime] .modal-card button{color:#354e58;background:#e2d5b6;border-color:#b3a078}[data-art=anime] .modal-card .primary{color:#fff5de;background:#3e7884;border-color:#3e7884}[data-art=anime] .skill-note{color:#917234}[data-sample=art] [data-class]:not([data-class=swordsman]),[data-sample=art] .creator details{display:none}[data-sample=art] .class-choices{grid-template-columns:1fr}[data-art=anime] #intro.creator{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#6c9e9659}[data-art=anime] .creator-frame{background:#faf0dff2;border-color:#ae996c;border-radius:10px;box-shadow:0 0 0 4px #fff6d97a,0 18px 70px #2e535155}[data-art=anime] .creator-frame:before,[data-art=anime] .creator-frame:after{color:#ae9661;background:#faf0df}[data-art=anime] .creator-heading h1,[data-art=anime] .class-stage>span{color:#365563}[data-art=anime] .creator-heading>span,[data-art=anime] .creation-label,[data-art=anime] .creator-seal{color:#8e7340}[data-art=anime] .creator-heading p,[data-art=anime] .class-stage p,[data-art=anime] #class-skill-preview,[data-art=anime] .creator #connection-status{color:#5c746d}[data-art=anime] .class-stage canvas{image-rendering:auto;border-radius:10px}[data-art=anime] .class-choices button{color:#466262;background:#e2e7d8;border-color:#a8b2a0}[data-art=anime] .class-choices button[aria-pressed=true]{color:#3f5960;background:#e7dcbb;border-color:#ae955d}[data-art=anime] .class-choices small,[data-art=anime] .creation-options>small{color:#687b71}[data-art=anime] #guest-name{color:#35525e;background:#fff9eb;border-color:#c2ab7d;border-radius:5px}[data-art=anime] .creator #continue{color:#35565c;background:#dce6db;border-color:#9cae9f}[data-art=anime] .creation-options{border-color:#bbaa793f}@media (height<=600px){[data-art=anime] .location{top:10px;left:16px}[data-art=anime] .location h1{font-size:18px}[data-art=anime] .player-panel{width:186px;top:63px;left:16px}[data-art=anime] .objective{width:226px;padding:6px 10px;top:53px;right:16px}[data-art=anime] #map-open{top:145px;right:16px}[data-art=anime] [data-control-mode=touch] #map-open{top:139px;right:196px}[data-art=anime] .utility{top:auto;bottom:10px}[data-art=anime] #combat-callout{top:13px}[data-art=anime] .topline{top:5px}[data-art=anime] .topline button{min-height:38px}}body[data-art=pixel]{color:#ffedbe;background:#223b40}[data-art=pixel] .topline{z-index:7;background:0 0;border:0;height:40px;padding:0;position:absolute;top:12px;right:14px}[data-art=pixel] .wordmark,[data-art=pixel] .build-label,[data-art=pixel] footer{display:none}[data-art=pixel] .topline button{color:#ffebbd;background:#253d42ed;border:2px solid #d3ad70;min-height:40px}[data-art=pixel] button{border-radius:0}[data-art=pixel] .location{text-shadow:2px 2px #24332f;top:20px;left:24px}[data-art=pixel] .location h1{letter-spacing:1px;font-size:21px}[data-art=pixel] .location .eyebrow{color:#fff0c9}[data-art=pixel] .player-panel,[data-art=pixel] .objective{background:#263b42f2;border:2px solid #d6b780;box-shadow:0 0 0 2px #263630,3px 5px #26363040}[data-art=pixel] .player-panel{border-left:2px solid #d6b780;width:230px;min-height:77px;padding-left:48px;top:113px;left:24px}[data-art=pixel] .player-panel:before{content:"";width:32px;height:32px;image-rendering:pixelated;background:url(/art/pixel-sample-v1/hero.png) 0 0/128px 224px;position:absolute;top:11px;left:9px}[data-art=pixel] .health-track{background:#172e34;border:1px solid #0f232a;border-radius:0;height:7px}[data-art=pixel] .health-track>div{background:#9bc377;box-shadow:inset 0 2px #d8e794}[data-art=pixel] .xp-track>div{background:#75b8c8}[data-art=pixel] .objective{border-top:3px solid #e2be73;width:252px;top:68px;right:24px}[data-art=pixel] .objective strong{color:#f8cd7d}[data-art=pixel] .objective p{color:#f1e8ca;line-height:1.6}[data-art=pixel] #map-open{background:#243b40;border:3px solid #d6b780;border-radius:0;top:196px;right:24px;box-shadow:0 0 0 2px #263630}[data-art=pixel] .utility{top:334px;bottom:auto}[data-art=pixel] [data-control-mode=touch] .utility{top:auto;bottom:12px}[data-art=pixel] .utility button,[data-art=pixel] #potion{color:#fff0c9;background:#263b42ef;border:1px solid #c3a16a;box-shadow:2px 2px #26363080}[data-art=pixel] .skills{gap:8px;bottom:18px}[data-art=pixel] .skill{color:#fff1d0;background:#243b42f2;border:2px solid #c6ad78;border-bottom:4px solid #847552;border-radius:0;min-height:67px;box-shadow:0 0 0 2px #263630,3px 5px #26363060}[data-art=pixel] .skill kbd{color:#b8d3cd;opacity:1}[data-art=pixel] .skill small{color:#edc681}[data-art=pixel] .skill[data-action=ultimate]{background:#3a4550f2;border-color:#f1cb7b}[data-art=pixel] #interact{color:#2c4344;background:#ffebc4f2;border:2px solid #6f805b;box-shadow:2px 3px #31493e60}[data-art=pixel] #combat-callout{text-shadow:2px 2px #223730;color:#fff4d3}[data-art=pixel] .touch-action{color:#fff0c9;background:#263c46e8;border:2px solid #e0c187;box-shadow:inset 0 3px #6b8c8560,0 0 0 2px #263b4099}[data-art=pixel] .touch-action small{color:#d7dba7}[data-art=pixel] .touch-attack{background:#40606af0;border-color:#ffe3a1}[data-art=pixel] #joystick{background:#243e4640;border-color:#fff0bd8c}[data-art=pixel] .joystick-knob{background:#eddeb08c;border-color:#fff0c8}[data-art=pixel] #intro.creator{-webkit-backdrop-filter:none;backdrop-filter:none;background:#142f353b}[data-art=pixel] .creator-frame{background:#253b42ee;border:2px solid #d6b780;border-radius:0;box-shadow:0 0 0 4px #263630,0 18px 60px #102c3550}[data-art=pixel] .creator-frame:before,[data-art=pixel] .creator-frame:after{color:#e6bf76;background:#253b42}[data-art=pixel] .creator-heading h1{color:#fff1cd}[data-art=pixel] .class-stage canvas{image-rendering:pixelated;border:2px solid #b4b883}[data-art=pixel] #guest-name{color:#fff3cf;background:#142e35;border:2px solid #99aa83;border-radius:0;font-size:16px}[data-art=pixel] .creator #start{color:#25393e;background:#dfbd7c;border:2px solid #ffdf9d;border-radius:0;box-shadow:inset 0 -3px #a58d5b}[data-art=pixel] .modal-card{background:#253b42;border:2px solid #d6b780;border-radius:0}[data-art=pixel] .primary{background:#546f5a;border-color:#dec087}@media (height<=600px){[data-art=pixel] .topline{top:7px;right:12px}[data-art=pixel] .location{top:10px;left:16px}[data-art=pixel] .location h1{font-size:17px}[data-art=pixel] .player-panel{width:205px;min-height:65px;padding-top:7px;padding-bottom:7px;top:68px;left:16px}[data-art=pixel] .objective{width:220px;padding:6px 9px;top:55px;right:12px}[data-art=pixel] #map-open{top:151px;right:12px}[data-art=pixel] [data-control-mode=touch] #map-open{top:138px;right:200px}[data-art=pixel] .utility{top:auto;bottom:9px}[data-art=pixel] #combat-callout{top:12px}}#intro.entry-overlay{z-index:8;inset:auto;top:var(--entry-top,0);left:var(--entry-left,0);width:var(--entry-width,100vw);height:var(--entry-height,100dvh);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));touch-action:pan-y;background:0 0;display:flex;position:fixed;overflow:auto}.entry-panel{color:#fff0cf;background:#303b3cf5;border:2px solid #dac391;flex:none;width:300px;max-width:100%;margin:auto;padding:20px 22px 14px;position:relative;box-shadow:0 0 0 3px #273334,0 0 0 4px #a18d66,4px 8px #192d3233}.entry-panel:before,.entry-panel:after{content:"";background:#e6ca8f;width:6px;height:6px;position:absolute;top:5px;box-shadow:0 2px #847552}.entry-panel:before{left:5px}.entry-panel:after{right:5px}.entry-panel h1{letter-spacing:1px;text-align:center;color:#ffe3a8;text-shadow:2px 2px #172c30;margin:0 0 17px;font-size:22px;font-weight:700;line-height:1.4}.entry-panel h2{text-align:center;outline:none;margin:0 0 16px;font-size:15px}.entry-panel .entry-note{color:#e7d8b7;margin:0;font-size:12px;line-height:1.6}.entry-panel form{flex-direction:column;gap:10px;margin:0;display:flex}.entry-panel label{color:#ead9b5;font-size:12px}.entry-panel .entry-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}#intro input:not([type=checkbox]){color:#fff3d9;letter-spacing:0;background:#182c30;border:1px solid #a9956c;border-radius:0;width:100%;min-width:0;min-height:44px;padding:10px 12px;font-size:16px;box-shadow:inset 2px 2px #111f22}.entry-panel input::placeholder{color:#c0c3ac;opacity:1}.entry-panel button{touch-action:manipulation;border-radius:0;min-height:44px;font-size:13px;line-height:1.4}.entry-panel .entry-primary{color:#253436;background:#d6b57c;border:2px solid #f0d59d;width:100%;font-weight:700;box-shadow:inset 0 -3px #a3875c}.entry-panel .entry-primary:hover{background:#e5c58c}.entry-panel .entry-link{color:#e4d7b8;box-shadow:none;text-underline-offset:4px;background:0 0;border:1px solid #0000;padding:8px 3px;font-size:12px}.entry-panel .entry-link:hover{color:#fff0bf;background:#ffffff08;text-decoration:underline}.entry-account-links{justify-content:space-between;gap:8px;margin-top:3px;display:flex}.entry-guest-links{border-top:1px solid #b19b654a;flex-direction:column;margin-top:4px;padding-top:5px;display:flex}.entry-panel .entry-continue{color:#fff0cf;background:#415547;border:1px solid #aab284;width:100%;margin:5px 0}.entry-panel #connection-status{color:#f2daac;overflow-wrap:anywhere;margin:10px 0 2px;font-size:12px;line-height:1.6}.entry-panel #new-journey-warning{background:#172b2d;border-left:2px solid #d6b57c;padding:10px}.entry-panel #new-journey-warning p{color:#e7d8b7;margin:0 0 8px;font-size:12px;line-height:1.6}.entry-panel #previous-code{min-height:44px;padding:8px;font:12px monospace}.entry-panel .entry-confirm{align-items:center;gap:9px;min-height:44px;font-size:12px;line-height:1.5;display:flex}.entry-panel .entry-confirm input{flex:none;width:22px;height:22px;margin:0}.entry-panel [data-entry-view=loading]{text-align:center;padding:12px 0;font-size:13px;line-height:1.6}.entry-loading{color:#ffe1a4;font-size:28px;display:inline-block}.game-menu{top:max(12px,env(safe-area-inset-top));z-index:7;color:#fff0cf;background:#263b3bea;border:1px solid #c8b27b;border-radius:0;min-height:44px;padding:8px 12px;font-size:12px;position:absolute;left:50%;transform:translate(-50%)}.game-menu kbd{margin-left:5px}[data-art=pixel] .game-menu{left:auto;right:max(14px,env(safe-area-inset-right));transform:none}@media (height<=500px){#intro.entry-overlay{padding:max(8px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.entry-panel{padding:14px 18px 9px}.entry-panel h1{margin-bottom:10px;font-size:20px}.entry-panel form{gap:7px}.entry-account-links{margin-top:0}.entry-guest-links{flex-direction:row;justify-content:space-between;gap:6px;margin-top:0;padding-top:1px}}#stage{--skill-size:66px;--skill-gap:5px;--touch-size:68px;--attack-size:82px;--touch-gap:9px;--touch-inset:20px}body #hud .location{top:94px;left:max(20px,env(safe-area-inset-left));align-items:baseline;gap:10px;display:flex}body #hud .location h1{color:#f4ecd1;margin:0;font-size:12px;font-weight:500}body #hud .location p{color:#e0e5cc;font-size:10px}body #hud .player-panel{top:20px;left:max(20px,env(safe-area-inset-left));background:#253429d4;border:1px solid #a5b09966;width:224px;padding:9px 11px 7px;box-shadow:0 2px #18282077}body #hud .player-name{font-size:12px}body #hud .health-track{background:#17271e;border-radius:1px;height:7px;margin-top:7px}body #hud #health{background:#abc781}body #hud .xp-track{height:2px;margin-top:4px}body #hud .player-panel small{color:#e0cca0;margin-top:5px;font-size:10px}body #hud .objective{width:282px;box-shadow:none;background:#27352bbb;border:0;border-left:2px solid #c4c39a;padding:5px 10px 6px;top:20px;left:270px;right:auto}body #hud .objective strong{color:#e0d8b9;font-size:10px;font-weight:500}body #hud .objective p{color:#fff8df;word-break:keep-all;margin:4px 0 0;font-size:12px;line-height:1.55}body #hud .objective small{color:#d3dfc3;margin-top:3px;font-size:10px;line-height:1.5;display:block}body #hud .objective small:empty{display:none}body #hud #map-open{background:#293b31;border:1px solid #a2ae8e88;min-height:44px;top:76px;right:20px;box-shadow:0 2px #26352b99}body #hud #map{width:120px;height:80px;image-rendering:pixelated}body #hud #map-open span{padding:3px;font-size:9px}body #settings-open{top:20px;left:auto;right:max(20px,env(safe-area-inset-right));min-height:44px;box-shadow:none;background:#27382cdb;border:1px solid #a2ae8e88;padding:7px 13px;font-size:12px;transform:none}body #hud .skills{bottom:max(18px,env(safe-area-inset-bottom));gap:5px}body #hud .skills .skill{background:#24372bdf;border:1px solid #a6b29388;border-radius:3px;flex-direction:column;justify-content:center;align-items:center;width:66px;min-width:66px;max-width:66px;height:74px;padding:5px 3px 3px;display:flex;box-shadow:0 2px #1b291f99}body #hud .skill kbd{color:#faf3d7;opacity:.85;font-size:9px;position:absolute;top:3px;left:5px}body #hud .skill span{margin-top:3px;font-size:10px;line-height:1.2}body #hud .skill small{color:#f0d99e;height:11px;margin-top:2px;font-size:10px;line-height:1.2}body [data-action] i{pointer-events:none;background:#f0e8c6;width:23px;height:23px;margin-top:5px;display:block;position:static}body [data-skill=attack] i{clip-path:polygon(70% 0,93% 0,93% 24%,49% 69%,59% 81%,50% 91%,38% 79%,17% 100%,5% 88%,27% 67%,14% 54%,25% 43%,38% 56%)}body [data-skill=dash] i{clip-path:polygon(0 14%,30% 14%,53% 48%,29% 82%,0 82%,24% 48%,43% 14%,70% 14%,100% 48%,70% 82%,43% 82%,69% 48%)}body [data-skill=guard] i{clip-path:polygon(50% 0,94% 16%,86% 64%,50% 100%,14% 64%,6% 16%)}body [data-skill=ultimate] i{clip-path:polygon(45% 0,57% 0,60% 29%,84% 24%,87% 38%,61% 44%,61% 68%,50% 100%,39% 68%,39% 44%,13% 38%,16% 24%,41% 29%);background:#f4d28e}body [data-skill=locked] i{clip-path:polygon(25% 42%,25% 15%,39% 0,61% 0,75% 15%,75% 42%,89% 42%,89% 100%,11% 100%,11% 42%,35% 42%,35% 20%,43% 12%,57% 12%,65% 20%,65% 42%);background:#9cae99}body #hud #potion{bottom:max(19px,env(safe-area-inset-bottom));left:calc(50% + 3 * var(--skill-size) + 2.5 * var(--skill-gap) + 12px);background:#25382edb;border-color:#a6b29388;min-height:44px;padding:6px 10px;font-size:11px}body #hud #interact{background:#24372beb;border:1px solid #d5d0ab;min-width:104px;max-width:180px;min-height:44px;padding:7px 15px;font-size:12px;bottom:109px;box-shadow:0 2px #24312477}body #hud #combat-callout{color:#fff1bf;pointer-events:none;font-size:13px;line-height:1.5;top:122px;left:30%;right:30%}body #hud #chat-history{max-width:220px;max-height:82px;font-size:11px;bottom:26px;left:20px}body #hud #debug{max-width:350px;max-height:220px;font-size:10px;top:128px}body .modal{-webkit-backdrop-filter:none;backdrop-filter:none;background:#17221b60}body .modal-card{background:#26372ef7;border:1px solid #a3ad9166;border-radius:3px;padding:20px 24px;box-shadow:0 3px #14261eaa}body .modal-card h2{letter-spacing:0;color:#f2e6c7;margin:0 0 12px;font-size:20px}body .modal-card>p{color:#e1e5d1;font-size:13px;line-height:1.75}body .modal-card button{box-shadow:none;border-color:#8e9f8266}body .modal-card .primary{color:#25352a;background:#c6d0ab;border-color:#c6d0ab}body #sheet:not([data-kind=dialog]) .modal-card{flex-direction:column;display:flex;overflow:hidden}body #sheet:not([data-kind=dialog]) #sheet-items{overscroll-behavior:contain;scrollbar-width:thin;min-height:0;overflow:auto}body #sheet:not([data-kind=dialog]) h2,body #sheet:not([data-kind=dialog]) #sheet-text,body #sheet:not([data-kind=dialog]) #sheet-close{flex-shrink:0}body #sheet:not([data-kind=dialog]) #sheet-close{align-self:flex-end;min-width:76px}body #sheet[data-kind=dialog]{background:0 0;align-items:flex-end;padding-bottom:28px}body #sheet[data-kind=dialog] .modal-card{width:min(470px,90vw);max-height:44vh;padding:17px 21px}body #sheet[data-kind=dialog] h2{color:#e3d1a6;margin-bottom:8px;font-size:14px}body #sheet[data-kind=dialog] p{margin:0;font-size:13px;line-height:1.7}body #sheet[data-kind=dialog] #sheet-close{float:right;min-width:70px;min-height:44px;margin-top:10px}body .menu-tools{grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0 16px;display:grid}body .menu-tools button{min-height:44px;padding:6px;font-size:12px}body .menu-tools kbd{display:block}body .menu-settings{color:#d9e0c8;border-top:1px solid #a3ad9133;margin:8px 0;font-size:12px}body .menu-settings summary{cursor:pointer;min-height:44px;padding:13px 0}body .menu-settings label{justify-content:space-between;align-items:center;gap:15px;min-height:44px;display:flex}body .menu-settings .instructions{font-size:11px;line-height:1.8}body .menu-open #hud .skills,body .menu-open #potion,body .menu-open #map-open,body .menu-open #hud #combat-callout{visibility:hidden}body #touch-controls .touch-actions{right:max(var(--touch-inset),env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));grid-template-columns:var(--touch-size) var(--touch-size) var(--attack-size);grid-template-rows:var(--touch-size) var(--attack-size);gap:var(--touch-gap)}body #touch-controls .touch-action{background:#293f32c9;border-color:#cad0b780;flex-direction:column;justify-content:center;align-items:center;width:68px;height:68px;display:flex;box-shadow:0 2px #22372a77}body #touch-controls .touch-attack{background:#647651bf;width:82px;height:82px}body #touch-controls .touch-action i{width:21px;height:21px;margin:0}body #touch-controls .touch-action span{margin-top:3px;padding:0 2px;font-size:10px}body #touch-controls .touch-action small{min-height:10px;margin-top:1px;font-size:9px}body #touch-controls #joystick{width:124px;height:124px;left:max(24px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));background:#2c453933;border-color:#eef4cb66}body #touch-controls .joystick-knob{background:#d5dfb66b;top:37px;left:37px}body #touch-controls .joystick-label,body [data-control-mode=touch] #hud .skills{display:none}body [data-control-mode=touch] #hud #potion{left:auto;right:calc(max(var(--touch-inset),env(safe-area-inset-right)) + 2 * var(--touch-size) + var(--attack-size) + 2 * var(--touch-gap) + 12px);bottom:max(26px,env(safe-area-inset-bottom));min-width:68px;min-height:48px}body [data-control-mode=touch] #hud #interact{max-width:170px;min-height:48px;bottom:94px}body [data-control-mode=touch] #hud #chat-history{width:190px;max-height:44px;bottom:177px}body [data-control-mode=touch] #hud #map{width:102px;height:68px}body [data-control-mode=touch] #hud #map-open{right:20px}body .tutorial-skill{border-color:#efdda4!important;box-shadow:0 0 0 2px #eddda450!important}@media (height<=600px){#stage{--skill-size:60px}body #hud .player-panel{width:195px;padding:7px 9px 6px;top:12px;left:16px}body #hud .location{top:78px;left:17px}body #hud .location h1{font-size:11px}body #hud .objective{width:min(285px,38vw);padding:4px 9px;top:12px;left:230px}body #hud .objective p{font-size:11px}body #hud .objective small{font-size:10px}body #settings-open{top:12px;right:16px}body #hud #map-open{top:65px;right:16px}body #hud #map,body [data-control-mode=touch] #hud #map{width:81px;height:54px}body [data-control-mode=touch] #hud #map-open{right:16px}body #hud #combat-callout{font-size:11px;top:94px;left:30%;right:27%}body #hud .skills{bottom:12px}body #hud .skills .skill{width:60px;min-width:60px;height:68px}body #hud #potion{bottom:max(13px,env(safe-area-inset-bottom))}body #hud #interact{bottom:91px}body #hud #debug{max-height:100px;font-size:9px;top:107px;left:15px}body #sheet[data-kind=dialog]{padding-bottom:14px}body #sheet[data-kind=dialog] .modal-card{max-height:62vh}body #pause .modal-card{max-width:530px;padding:14px 20px}body #pause .instructions{font-size:10px}}@media (width<=720px){#stage{--touch-size:60px;--attack-size:72px;--touch-gap:7px;--touch-inset:12px}body #hud .player-panel{width:170px}body #hud .player-name{font-size:10px}body #hud .objective{width:calc(100vw - 293px);left:200px}body #hud .objective p{font-size:10px}body #hud #map-open{display:none}body #hud #combat-callout{left:30%;right:20%}body #touch-controls .touch-actions{bottom:max(12px,env(safe-area-inset-bottom))}body #touch-controls .touch-action{width:60px;height:60px}body #touch-controls .touch-attack{width:72px;height:72px}body #touch-controls #joystick{width:112px;height:112px;bottom:18px;left:18px}body #touch-controls .joystick-knob{top:31px;left:31px}body [data-control-mode=touch] #hud #potion{bottom:max(19px,env(safe-area-inset-bottom));font-size:10px}}@media (orientation:portrait) and (width<=700px){body #hud .objective{width:235px;top:125px;left:18px}body #hud .location{top:94px}body #hud #combat-callout{top:222px;left:18px;right:18px}}#target-help{color:#fff0cb;pointer-events:auto;z-index:12;background:#24382deb;align-items:center;gap:10px;max-width:46vw;padding:4px 8px;font-size:12px;display:flex;position:absolute;bottom:104px;left:50%;transform:translate(-50%)}#target-help[hidden]{display:none}#target-cancel{touch-action:manipulation;-webkit-user-select:none;user-select:none;min-width:48px;min-height:44px;padding:6px}[data-control-mode=touch] #target-help{font-size:11px;bottom:162px}@media (height<=460px){[data-control-mode=touch] #target-help{max-width:42vw;font-size:10px;bottom:145px}}.party-status{left:max(20px,env(safe-area-inset-left));color:#eee2c4;text-align:left;white-space:normal;pointer-events:auto;background:#253b31dd;max-width:224px;padding:5px 8px;font-size:11px;position:absolute;top:120px}body #hud:has(#party-status:not([hidden])) #debug{top:210px}#sheet-items blockquote{color:#f4e8c7;background:#253b31;margin:8px 0;padding:12px;font-size:17px;line-height:1.6}#sheet-items a{color:#cedac3;font-size:11px}#sheet-items textarea{box-sizing:border-box;color:#23392e;touch-action:auto;-webkit-user-select:text;user-select:text;background:#f3e7cd;width:100%;margin:8px 0;padding:10px;font:16px sans-serif;display:block}#chat-channel{color:#fff1d0;background:#293e36;min-height:40px;font-size:16px}@media (height<=600px){.party-status{max-width:195px;font-size:10px;top:103px;left:16px}body #hud:has(#party-status:not([hidden])) #debug{max-height:64px;top:180px}}@media (width<=720px){.party-status{max-width:170px}}@media (height<=520px){#sheet .modal-card{max-height:calc(100dvh - 16px);overflow:auto}}#sheet[data-kind=developer] .modal-card{width:min(720px,94vw);max-height:calc(100dvh - 28px);padding:16px;overflow:auto}.developer-tabs{flex-wrap:wrap;gap:4px;margin-bottom:12px;display:flex}.developer-tabs button{min-height:44px;padding:6px 10px}.developer-tabs [aria-pressed=true]{color:#fff4d8;background:#5d7052}.developer-row{border-bottom:1px solid #65755b66;grid-template-columns:minmax(140px,1fr) minmax(100px,180px) auto;align-items:center;gap:8px;padding:7px 0;display:grid}.developer-row label{font-size:13px}.developer-row input,.developer-row select{width:100%;min-width:0;min-height:44px;font-size:16px}.developer-row button{touch-action:manipulation;min-height:44px}.developer-status{color:#ead9b4;overflow-wrap:anywhere;font-size:12px}@media (width<=650px){.developer-row{grid-template-columns:1fr auto}.developer-row label{grid-column:1/-1}}
