[hidden]{display:none!important}*{box-sizing:border-box}body{background:var(--c-town-1);font:var(--fs-md) var(--font-ui);color:var(--c-text);margin:0;overflow:hidden}canvas{touch-action:none;display:block}button,input,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--c-shell-1);border-radius:var(--r-md);background:var(--c-bg-2);color:var(--c-text);padding:var(--sp-3) var(--sp-3)}button:hover{background:var(--c-camp-16)}button:disabled{opacity:.5;cursor:wait}header{pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;top:16px;left:18px;right:18px}.brand,.status{background:color-mix(in srgb,var(--c-bg-1) 93%,transparent);border:1px solid color-mix(in srgb,var(--c-town-2) 53%,transparent);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-4)}.brand small{color:var(--c-auth-10);font-size:var(--fs-xs);letter-spacing:.22em}h1{font-size:var(--fs-2xl);letter-spacing:.12em;margin:var(--sp-1) 0}#location{color:var(--c-text-dim);font-size:var(--fs-sm);margin:0}.status{gap:var(--sp-2);font-size:var(--fs-xs);color:var(--c-town-3);display:grid}nav{gap:var(--sp-2);white-space:nowrap;display:flex;position:fixed;bottom:36px;left:50%;transform:translate(-50%)}#help{white-space:nowrap;font-size:var(--fs-xs);text-shadow:0 1px 4px var(--c-camp-1);background:color-mix(in srgb,var(--c-bg-1) 60%,transparent);padding:var(--sp-1) var(--sp-3);border-radius:var(--r-sm);position:fixed;bottom:10px;left:50%;transform:translate(-50%)}#map-panel{background:color-mix(in srgb,var(--c-bg-1) 93%,transparent);border:1px solid color-mix(in srgb,var(--c-story-2) 53%,transparent);border-radius:var(--r-lg);padding:var(--sp-2);width:222px;position:fixed;top:139px;right:18px}#map-toggle{font-size:var(--fs-sm);width:100%;padding:var(--sp-2)}#minimap{border-radius:var(--r-sm);width:100%;height:auto;margin-top:var(--sp-1);cursor:crosshair}#map-panel p{font-size:var(--fs-xs);color:var(--c-text-dim);margin:var(--sp-2) 0 0}#city-list{gap:var(--sp-1);margin-top:var(--sp-2);grid-template-columns:repeat(3,1fr);display:grid}#city-list[hidden]{display:none}#city-list button{font-size:var(--fs-xs);padding:var(--sp-2)}#map-panel.expanded{width:min(610px,94vw);max-height:85dvh;z-index:var(--z-float);top:50%;left:50%;right:auto;overflow:auto;transform:translate(-50%,-50%)}#labels{pointer-events:none;position:fixed;inset:0;overflow:hidden}.label{white-space:nowrap;background:color-mix(in srgb,var(--c-bg-1) 91%,transparent);border:1px solid color-mix(in srgb,var(--c-town-2) 53%,transparent);border-radius:var(--r-sm);padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs);text-shadow:0 1px 2px var(--c-auth-2);position:absolute;transform:translate(-50%,-100%)}.label.city{font-weight:var(--fw-bold);color:var(--c-accent-strong);font-size:var(--fs-md)}.label.npc{color:var(--c-text)}.label.peer{color:var(--c-town-4);background:color-mix(in srgb,var(--c-town-5) 93%,transparent);border-color:var(--c-town-6);font-weight:var(--fw-medium)}.label.peer:before{content:"● ";color:var(--c-town-6);font-size:var(--fs-sm)}.label.self{color:var(--c-on-accent);background:color-mix(in srgb,var(--c-camp-3) 93%,transparent);border-color:var(--c-town-7);font-weight:var(--fw-bold);z-index:var(--z-world-markers);text-shadow:none}.label.self:before{content:"★ ";font-size:var(--fs-sm)}#interact{background:var(--c-town-8);color:var(--c-bg-1);font-weight:var(--fw-bold);box-shadow:0 5px 20px color-mix(in srgb,var(--c-bg-2) 33%,transparent);position:fixed;bottom:95px;left:50%;transform:translate(-50%)}#toast{background:color-mix(in srgb,var(--c-bg-1) 94%,transparent);max-width:70vw;padding:var(--sp-3) var(--sp-4);border:1px solid var(--c-town-9);border-radius:var(--r-md);z-index:var(--z-toast);text-align:center;display:none;position:fixed;top:115px;left:50%;transform:translate(-50%)}#loading{background:var(--c-bg-1);z-index:var(--z-critical);font-size:var(--fs-xl);place-content:center;display:grid;position:fixed;inset:0}#chat{background:color-mix(in srgb,var(--c-bg-1) 86%,transparent);border:1px solid color-mix(in srgb,var(--c-town-2) 40%,transparent);border-radius:var(--r-md);width:250px;position:fixed;bottom:35px;left:18px;overflow:hidden}.chat-title{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);justify-content:space-between;align-items:center;display:flex}.chat-title button{font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-2)}#messages{height:105px;padding:0 var(--sp-3);font-size:var(--fs-xs);line-height:var(--lh-body);overflow:auto}#messages p{margin:var(--sp-1) 0;overflow-wrap:anywhere}#chat-form{gap:var(--sp-1);padding:var(--sp-2);display:flex}input,textarea{background:var(--c-camp-1);color:var(--c-text);border:1px solid var(--c-camp-15);border-radius:var(--r-sm);padding:var(--sp-2);min-width:0}#chat-input{width:100%;font-size:var(--fs-xs)}#chat-form button{font-size:var(--fs-xs);padding:var(--sp-2)}dialog{background:var(--c-bg-2);color:var(--c-text);border:1px solid var(--c-story-2);border-radius:var(--r-lg);box-shadow:0 18px 70px color-mix(in srgb,var(--c-bg-0) 53%,transparent);padding:var(--sp-5);width:min(520px,94vw);max-height:88dvh;overflow:auto}dialog::backdrop{background:color-mix(in srgb,var(--c-camp-1) 47%,transparent)}.dialog-head{justify-content:space-between;align-items:center;display:flex}.dialog-head h2{margin:var(--sp-1) 0;font-size:var(--fs-2xl)}.dialog-head small,#npc-intro{font-size:var(--fs-sm);color:var(--c-text-dim);line-height:var(--lh-body)}#npc-messages{height:min(32dvh,270px);margin:var(--sp-4) 0;background:var(--c-bg-1);border-radius:var(--r-md);padding:var(--sp-3);overflow:auto}.bubble{padding:var(--sp-2) var(--sp-3);margin:var(--sp-2) 0;line-height:var(--lh-body);font-size:var(--fs-md);white-space:pre-wrap;overflow-wrap:anywhere}.bubble.user{background:var(--c-bg-3);border-radius:var(--r-md);margin-left:var(--sp-6)}.bubble.assistant{color:var(--c-town-10);border-bottom:1px solid color-mix(in srgb,var(--c-camp-10) 33%,transparent)}#npc-form{gap:var(--sp-2);display:flex}#question{resize:vertical;width:100%;height:72px}.dialog-actions{justify-content:space-between;align-items:center;gap:var(--sp-2);font-size:var(--fs-xs);display:flex}.dialog-actions button{font-size:var(--fs-xs);padding:var(--sp-2)}#npc-state{font-size:var(--fs-sm);color:var(--c-auth-10);min-height:18px}#wardrobe-list{gap:var(--sp-2);margin:var(--sp-4) 0;flex-wrap:wrap;display:flex}#joystick{border:2px solid color-mix(in srgb,var(--c-town-11) 53%,transparent);border-radius:var(--r-circle);background:color-mix(in srgb,var(--c-bg-3) 33%,transparent);touch-action:none;width:100px;height:100px;display:none;position:fixed;bottom:52px;left:20px}#joystick div{border-radius:var(--r-circle);background:color-mix(in srgb,var(--c-auth-6) 67%,transparent);pointer-events:none;width:32px;height:32px;position:absolute;top:32px;left:32px}@media (pointer:coarse){#joystick{display:block}#help{display:none}#chat{bottom:170px}}@media (max-width:700px){header{top:10px;left:10px;right:10px}.brand{padding:var(--sp-2) var(--sp-3)}h1{font-size:var(--fs-lg)}.status{padding:var(--sp-3);font-size:var(--fs-xs);gap:var(--sp-1)}#map-panel{width:148px;padding:var(--sp-2);top:112px;right:10px}#map-panel p{display:none}nav{flex-wrap:wrap;justify-content:flex-end;max-width:74vw;bottom:35px;left:auto;right:10px;transform:none}#chat{width:170px;bottom:86px;left:10px}#messages{height:75px}#chat-form{flex-wrap:wrap}#chat-form button{flex:1}#chat-form input{flex-basis:100%}#interact{font-size:var(--fs-sm);max-width:75vw;bottom:125px}.label{font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-1)}.label.city{font-size:var(--fs-xs)}.touch #chat{bottom:170px}#account-status{max-width:80vw;font-size:var(--fs-xs)!important}#overview,#help{display:none}nav{gap:var(--sp-1);max-width:66vw;bottom:55px}nav button{font-size:var(--fs-xs);padding:var(--sp-2)}#chat,.touch #chat{bottom:195px}#interact{bottom:150px}#joystick{bottom:70px;left:10px}}#travel-status{font-size:var(--fs-xs);color:var(--c-camp-4);margin:var(--sp-2) 0 0}#horse-list{gap:var(--sp-2);margin-top:var(--sp-4);max-height:50dvh;display:grid;overflow:auto}.horse-option{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4);text-align:left;display:flex}.horse-option strong{font-size:var(--fs-lg);color:var(--c-camp-4)}.horse-option span{font-size:var(--fs-xs);color:var(--c-camp-5)}#horse-dialog>p{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--c-camp-5)}#sprint[aria-pressed=true]{background:var(--c-town-12);color:var(--c-camp-1)}.label.horse{border-color:var(--c-camp-6);color:var(--c-camp-4)}.status{box-shadow:0 8px 25px color-mix(in srgb,var(--c-camp-1) 13%,transparent)}nav button{box-shadow:0 3px 10px color-mix(in srgb,var(--c-camp-1) 19%,transparent)}@media (max-width:700px){#horse-list .horse-option{padding:var(--sp-3)}.horse-option span{max-width:60%;font-size:var(--fs-xs)}#travel-status{max-width:145px;font-size:var(--fs-xs)}nav{max-width:68vw}}.brand{padding-right:var(--sp-6);position:relative}#guide-toggle{pointer-events:auto;padding:var(--sp-1) var(--sp-2);border-radius:var(--r-circle);font-size:var(--fs-xs);background:var(--c-town-13);position:absolute;top:9px;right:7px}#guide-dialog dl{font-size:var(--fs-md);line-height:var(--lh-body)}#guide-dialog dt{color:var(--c-camp-4);font-weight:var(--fw-bold);margin-top:var(--sp-3)}#guide-dialog dd{margin:var(--sp-1) 0;color:var(--c-camp-5)}@media (max-width:700px){#map-panel{width:122px;padding:var(--sp-1);top:98px;right:8px}#map-toggle{font-size:var(--fs-xs);padding:var(--sp-2)}nav{gap:var(--sp-2);white-space:normal;grid-template-columns:repeat(3,minmax(0,1fr));width:68vw;display:grid;bottom:48px}nav button{min-height:40px;padding:var(--sp-2) var(--sp-1);white-space:normal;word-break:keep-all;line-height:var(--lh-tight)}#interact{min-height:40px;bottom:154px}#guide-toggle{min-width:25px;min-height:25px;top:7px}}@media (max-width:700px) and (pointer:coarse){nav button{min-height:44px}}#travel-status{pointer-events:auto;text-align:left;cursor:pointer;line-height:var(--lh-body);background:0 0;border:0;padding:0;display:block}#speech-layer{pointer-events:none;z-index:var(--z-world-speech);position:fixed;inset:0}.world-speech{background:var(--c-story-3);width:max-content;max-width:230px;color:var(--c-bg-1);border:1px solid var(--c-town-14);border-radius:var(--r-lg);padding:var(--sp-3) var(--sp-3);font-size:var(--fs-md);line-height:var(--lh-body);white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:0 3px 12px color-mix(in srgb,var(--c-town-15) 27%,transparent);position:absolute;transform:translate(-50%,-100%)}.world-speech:after{content:"";bottom:-8px;left:calc(var(--speech-tail,50%) - 7px);border-style:solid;border-width:8px 7px 0;border-color:var(--c-story-3) transparent transparent;position:absolute}.npc-speech{background:var(--c-text);border-color:var(--c-town-16)}.npc-speech:after{border-top-color:var(--c-text)}#chat{width:330px;z-index:var(--z-hud)}#messages{height:145px}#messages strong{color:var(--c-camp-4)}#chat-target{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--c-camp-12);font-size:var(--fs-sm);justify-content:space-between;align-items:center;display:flex}#chat-target[hidden]{display:none}#chat-target button{padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs)}#chat-input{font-size:var(--fs-md)}#npc-state{padding:0 var(--sp-3) var(--sp-2);font-size:var(--fs-xs);color:var(--c-auth-10);min-height:0;margin:0}.chat-actions{gap:var(--sp-1);padding:0 var(--sp-2);display:flex}.chat-actions button{font-size:var(--fs-xs);padding:var(--sp-1);margin-bottom:var(--sp-2)}@media (max-width:700px){#chat{width:min(300px,100vw - 20px);bottom:138px}#messages{height:105px}.world-speech{max-width:210px;font-size:var(--fs-sm)}#chat-form{flex-wrap:nowrap}#chat-form input{flex-basis:auto}.touch #chat{bottom:195px}.touch #chat-target button,.touch #chat-form button{min-height:36px}}#chat-input{flex:1;width:0}#chat-form button{white-space:nowrap;flex-shrink:0}.world-speech strong{font-size:var(--fs-xs);color:var(--c-town-17);margin-bottom:var(--sp-1);display:block}.world-speech span{display:block}.thinking span{font-size:var(--fs-xl);line-height:var(--lh-tight);letter-spacing:4px;animation:1.2s ease-in-out infinite thinking-pulse}@keyframes thinking-pulse{50%{opacity:.4}}@media (prefers-reduced-motion:reduce){.thinking span{animation:none}}#money{color:var(--c-accent-strong);font-weight:var(--fw-bold)}.fish-tabs{gap:var(--sp-2);margin:var(--sp-4) 0;display:flex}.fish-tabs button[aria-pressed=true]{background:var(--c-town-18);color:var(--c-bg-2)}#fish-items{margin-top:var(--sp-4);gap:var(--sp-2);display:grid}#fish-items article{gap:var(--sp-2) var(--sp-3);padding:var(--sp-3);background:var(--c-camp-1);border:1px solid color-mix(in srgb,var(--c-town-16) 33%,transparent);border-radius:var(--r-md);grid-template-columns:1fr auto;display:grid;position:relative}#fish-items article small{color:var(--c-text-dim);font-size:var(--fs-xs);grid-column:1}#fish-items article button{padding:var(--sp-2) var(--sp-3);grid-area:1/2/3}#fish-items p{font-size:var(--fs-sm);line-height:var(--lh-body)}.fish-odds{color:var(--c-text-dim)}.fish-silhouette{display:none}#fish-error{color:var(--c-camp-4);font-size:var(--fs-sm)}#fishing-state{z-index:var(--z-float);padding:var(--sp-4) var(--sp-4);border-radius:var(--r-lg);border:1px solid var(--c-town-19);background:color-mix(in srgb,var(--c-bg-2) 93%,transparent);text-align:center;width:min(390px,100vw - 24px);position:fixed;bottom:145px;left:50%;transform:translate(-50%)}#fish-phase{font-size:var(--fs-md);min-height:30px;display:block}.fish-meters{gap:var(--sp-2);margin:var(--sp-2) 0;display:grid}.fish-meters label{gap:var(--sp-2);font-size:var(--fs-sm);align-items:center;display:flex}progress{width:100%;height:12px;accent-color:var(--c-town-20)}#fish-tension{accent-color:var(--c-town-21)}#fish-tension.danger{accent-color:var(--c-town-22)}.bite{background:var(--c-accent);color:var(--c-bg-1);box-shadow:0 0 22px color-mix(in srgb,var(--c-camp-3) 47%,transparent)}nav{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 380px)}#interact{bottom:140px}@media (max-width:700px){nav{max-width:calc(100vw - 20px)}#fishing-state{width:min(330px,100vw - 24px);bottom:215px}#interact{bottom:185px}.touch #chat{bottom:235px}#chat{bottom:185px}#fish-reel,#fish-cancel{min-height:44px}.fish-tabs button{font-size:var(--fs-sm);padding:var(--sp-3)}}#fish-items article.fish-card{grid-template-columns:34px 1fr auto}.fish-card .fish-silhouette{border-radius:var(--r-fish-silhouette);width:28px;height:17px;box-shadow:inset 0 -4px 0 color-mix(in srgb,var(--c-town-15) 15%,transparent);grid-area:1/1/3;align-self:center;display:block;position:relative}.fish-silhouette:after{content:"";border-top:6px solid #0000;border-bottom:6px solid #0000;border-right:9px solid var(--c-grade-1);position:absolute;top:3px;right:-7px}.fish-card strong,#fish-items article.fish-card small{grid-column:2}#fish-items article.fish-card button{grid-column:3}#fish-items article.fish-card{grid-template-columns:84px 1fr auto;align-items:center;min-height:98px}.item-thumbnail{object-fit:contain;background:radial-gradient(circle,color-mix(in srgb,var(--c-line) 40%,transparent),color-mix(in srgb,var(--c-camp-1) 67%,transparent));border:1px solid color-mix(in srgb,var(--c-town-23) 20%,transparent);border-radius:var(--r-md);grid-area:1/1/3;width:80px;height:80px}.item-thumbnail.undiscovered{filter:brightness(0)opacity(.55)}.book-card strong,.book-card small{grid-column:2!important}.rod-card .item-thumbnail{transform:none}#fish-catch-card{z-index:var(--z-float);align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-5) var(--sp-3) var(--sp-3);border:1px solid var(--c-camp-11);border-radius:var(--r-lg);background:color-mix(in srgb,var(--c-bg-2) 95%,transparent);box-shadow:0 6px 30px color-mix(in srgb,var(--c-camp-1) 40%,transparent);display:flex;position:fixed;top:110px;left:50%;transform:translate(-50%)}#fish-catch-card img{object-fit:contain;width:95px;height:82px}#fish-catch-card strong{color:var(--c-accent-strong);font-size:var(--fs-lg)}#fish-catch-card p{font-size:var(--fs-sm);color:var(--c-camp-5);margin:var(--sp-2) 0}.fish-travel{gap:var(--sp-2);margin:var(--sp-3) 0;flex-wrap:wrap;display:flex}.fish-travel button{font-size:var(--fs-sm)}@media (max-width:700px){#fish-items article.fish-card{grid-template-columns:68px 1fr auto}.item-thumbnail{width:64px;height:64px}#fish-catch-card{width:calc(100vw - 24px);padding:var(--sp-2);top:105px}#fish-catch-card strong{font-size:var(--fs-lg)}#fish-catch-card img{width:75px;height:70px}}#fish-bite-window{align-items:center;gap:var(--sp-2);margin:var(--sp-2) 0;color:var(--c-town-24);font-size:var(--fs-sm);display:flex}#fish-bite-window span{white-space:nowrap;word-break:keep-all;flex:none}#fish-bite-time{min-width:0;accent-color:var(--c-town-24);flex:1}.fish-card[data-grade=A],.fish-card[data-grade=S]{border-color:var(--c-town-2)!important}.fish-card[data-grade=SS],.fish-card[data-grade=SSS]{box-shadow:inset 0 0 22px color-mix(in srgb,var(--c-accent) 5%,transparent);border-color:var(--c-camp-6)!important}#fish-items article.rod-card{grid-template-columns:112px 1fr auto;min-height:132px}.rod-card .item-thumbnail{background:radial-gradient(circle,var(--c-camp-14),var(--c-town-25));width:108px;height:108px}@media (max-width:700px){#fish-items article.rod-card{grid-template-columns:84px 1fr auto;min-height:108px}.rod-card .item-thumbnail{width:80px;height:80px}}#fishing-state{width:315px;bottom:105px;left:auto;right:18px;transform:none}.fish-meters label{white-space:nowrap}.fish-meters progress{flex:1;width:0}#fish-catch-card{top:112px}#fish-catch-card strong{display:block}@media (max-width:700px){#fishing-state{width:auto;max-width:none;padding:var(--sp-3) var(--sp-4);inset:106px 12px auto}.is-fishing #map-panel{display:none}.is-fishing #chat{width:170px;top:315px;bottom:auto}#fish-phase{font-size:var(--fs-md)}.fish-meters{margin:var(--sp-2) 0}}#fishing-state{width:254px;padding:var(--sp-4);background:linear-gradient(160deg,color-mix(in srgb,var(--c-town-26) 96%,transparent),color-mix(in srgb,var(--c-town-15) 96%,transparent));border:1px solid var(--c-town-19);box-shadow:0 12px 40px color-mix(in srgb,var(--c-camp-1) 40%,transparent)}#fish-phase{font-size:var(--fs-md);line-height:var(--lh-body);min-height:24px}#fish-fight-meters{margin-top:var(--sp-3)}.fight-stage{justify-content:center;align-items:stretch;gap:var(--sp-3);height:260px;margin:0 auto var(--sp-3);display:flex}.fight-scale{width:18px;color:var(--c-text-faint);font-size:var(--fs-xs);flex-direction:column;justify-content:space-between;display:flex}.fight-scale span{writing-mode:vertical-rl;letter-spacing:4px}.fight-scale i{background:color-mix(in srgb,var(--c-town-25) 53%,transparent);align-self:flex-end;width:9px;height:1px}#fight-water{border:2px solid var(--c-town-9);border-radius:var(--r-md);background:linear-gradient(var(--c-town-27),var(--c-town-28) 45%,var(--c-town-29));width:90px;height:100%;box-shadow:inset 0 0 20px var(--c-town-15);position:relative;overflow:hidden}.fight-water-glints{opacity:.25;background:repeating-linear-gradient(0deg,transparent 0 32px,var(--c-town-30) 33px,transparent 34px 66px);animation:4s linear infinite fight-flow;position:absolute;inset:0}#fight-zone{border:2px solid var(--c-town-31);border-radius:var(--r-sm);background:linear-gradient(90deg,color-mix(in srgb,var(--c-town-32) 53%,transparent),color-mix(in srgb,var(--c-town-11) 33%,transparent),color-mix(in srgb,var(--c-town-32) 60%,transparent));height:27%;box-shadow:0 0 12px color-mix(in srgb,var(--c-town-33) 27%,transparent);will-change:bottom;position:absolute;bottom:30%;left:5px;right:5px}#fight-zone:before,#fight-zone:after{content:"";background:color-mix(in srgb,var(--c-town-34) 67%,transparent);height:3px;position:absolute;left:0;right:0}#fight-zone:before{top:0}#fight-zone:after{bottom:0}#fight-fish{width:37px;height:24px;color:var(--c-town-7);filter:drop-shadow(0 2px 2px #102e4b);will-change:bottom;position:absolute;left:50%;transform:translate(-50%,50%)}#fight-fish svg{width:100%;height:100%}.in-zone #fight-fish{color:var(--c-town-35)}.out-zone #fight-zone{border-color:var(--c-auth-6)}.fight-catch-column{border:1px solid var(--c-auth-9);border-radius:var(--r-sm);background:var(--c-camp-1);width:15px;position:relative;overflow:hidden}#fight-catch-fill{background:linear-gradient(var(--c-town-24),var(--c-town-32));width:100%;height:22%;transition:height 80ms linear;position:absolute;bottom:0}#fight-percent{writing-mode:vertical-rl;color:var(--c-town-36);font-size:var(--fs-xs);letter-spacing:1px;text-shadow:0 1px 3px var(--c-camp-1);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#fight-feedback{min-height:20px;font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--c-town-37);display:block}#fight-feedback.good{color:var(--c-town-38)}.fight-escape-label{gap:var(--sp-2);margin-top:var(--sp-2);white-space:nowrap;font-size:var(--fs-xs);color:var(--c-camp-5);align-items:center;display:flex}.fight-escape-label progress{flex:1;width:0;height:7px}.fight-instructions{margin:var(--sp-3) 0;font-size:var(--fs-xs);line-height:var(--lh-body);color:var(--c-town-39)}.fight-instructions br{display:none}.fight-actions{gap:var(--sp-1);display:flex}.fight-actions button{padding:var(--sp-2);font-size:var(--fs-xs);min-height:40px}#fish-reel{touch-action:none;-webkit-user-select:none;user-select:none;flex:1}#fish-reel.holding{background:var(--c-town-18);color:var(--c-bg-1);box-shadow:0 0 13px color-mix(in srgb,var(--c-town-40) 27%,transparent)}.is-fishing #map-panel{display:none}@keyframes fight-flow{to{background-position-y:-66px}}@media (prefers-reduced-motion:reduce){.fight-water-glints{animation:none}}@media (max-width:700px){#fishing-state{width:136px;padding:var(--sp-3) var(--sp-2);inset:106px 10px auto auto}.fight-stage{gap:var(--sp-1);height:215px;margin-bottom:var(--sp-2)}.fight-scale{width:8px}.fight-scale span{display:none}.fight-scale i{width:5px}#fight-water{width:70px}.fight-catch-column{width:12px}#fight-fish{width:30px;height:20px}#fish-phase{font-size:var(--fs-xs);line-height:var(--lh-body)}#fight-feedback{font-size:var(--fs-xs);min-height:28px}.fight-instructions{font-size:var(--fs-xs);margin:var(--sp-2) 0;line-height:var(--lh-body)}.fight-instructions br{display:block}.fight-actions{gap:var(--sp-1);flex-direction:column}.fight-actions button{font-size:var(--fs-xs);padding:var(--sp-2) var(--sp-1);min-height:35px}.fight-escape-label{font-size:var(--fs-xs);gap:var(--sp-1);margin-top:var(--sp-1)}.is-fishing #chat{width:210px;top:106px;bottom:auto;left:10px}#fish-bite-window{flex-wrap:wrap}#fish-bite-time{width:100%}}nav{flex-wrap:wrap;justify-content:center;max-width:calc(100vw - 40px);bottom:42px}nav button{padding:var(--sp-2) var(--sp-3)}#wardrobe{width:min(740px,94vw);padding:var(--sp-5)}#wardrobe-count{color:var(--c-town-19);font-size:var(--fs-sm)}#wardrobe-list{gap:var(--sp-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.costume-card{background:linear-gradient(145deg,var(--c-camp-13),var(--c-bg-1));padding:var(--sp-3);flex-direction:column;align-items:center;display:flex;overflow:hidden}.costume-card img{aspect-ratio:1;object-fit:contain;width:100%;max-width:160px}.costume-card strong{font-size:var(--fs-xl)}.costume-card span{font-size:var(--fs-xs);margin:var(--sp-2);color:var(--c-town-41)}.costume-card[aria-pressed=true]{border:2px solid var(--c-camp-3);background:var(--c-camp-16)}.wardrobe-guide{border-top:1px solid color-mix(in srgb,var(--c-town-12) 40%,transparent);padding-top:var(--sp-4);margin-top:var(--sp-5)}.wardrobe-guide strong{color:var(--c-camp-4)}.wardrobe-guide p{line-height:var(--lh-body);font-size:var(--fs-md);color:var(--c-town-41)}#fish-catch-open{font-size:var(--fs-xs);padding:var(--sp-1) var(--sp-2);margin-top:var(--sp-1)}#fish-catch-card{pointer-events:auto}@media (max-width:700px){nav{justify-content:flex-end;max-width:66vw;bottom:55px;left:auto;right:10px}#wardrobe{padding:var(--sp-4)}#wardrobe-list{gap:var(--sp-2)}.costume-card{padding:var(--sp-1)}.costume-card strong{font-size:var(--fs-md)}.costume-card span{font-size:var(--fs-xs);margin:var(--sp-1) 0}}.player-equipment{margin:var(--sp-4) 0;padding:var(--sp-4);background:var(--c-bg-1);border:1px solid var(--c-camp-21);border-radius:var(--r-md);gap:var(--sp-3);grid-template-columns:100px 1fr;align-items:center;display:grid}.player-equipment h3,.player-equipment p{grid-column:1/-1;margin:0}.player-equipment p{font-size:var(--fs-sm);line-height:var(--lh-body);color:var(--c-camp-5)}.player-equipment select{background:var(--c-town-13);width:100%;color:var(--c-text);border:1px solid var(--c-town-23);border-radius:var(--r-sm);padding:var(--sp-3);font:inherit}.player-equipment h3{color:var(--c-camp-4);font-size:var(--fs-lg)}@media (max-width:700px){.player-equipment{padding:var(--sp-3);grid-template-columns:70px 1fr}}#fish-items>a{color:var(--c-camp-4);background:var(--c-town-13);border:1px solid var(--c-shell-1);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-4);min-height:44px;text-decoration:none;display:inline-block}#fish-items>a:focus-visible{outline:3px solid var(--c-camp-4)}.weapon-card small{overflow-wrap:anywhere}#attack{justify-content:center;align-items:center;gap:var(--sp-2);background:var(--c-town-42);border-color:var(--c-camp-11);touch-action:none;-webkit-user-select:none;user-select:none;min-width:70px;min-height:44px;display:inline-flex}#attack kbd{font:var(--fw-bold) var(--fs-xs) var(--font-ui);border:1px solid var(--c-town-12);padding:var(--sp-1) var(--sp-1);border-radius:var(--r-sm)}#attack:active{background:var(--c-town-43);transform:translateY(1px)}.touch #attack kbd{display:none}.touch #attack{min-width:52px;min-height:48px;font-size:var(--fs-md)}#wardrobe{width:min(980px,95vw)}.wardrobe-tabs{gap:var(--sp-2);margin:var(--sp-3) 0;display:flex}.wardrobe-tabs button{flex:1;min-height:44px}.wardrobe-tabs [aria-selected=true]{background:var(--c-camp-11);color:var(--c-bg-1);font-weight:var(--fw-bold)}.wardrobe-search{align-items:center;gap:var(--sp-3);font-size:var(--fs-md);display:flex}.wardrobe-search input{flex:1}.wardrobe-content{gap:var(--sp-4);margin-top:var(--sp-4);grid-template-columns:minmax(0,1fr) 220px;display:grid}.wardrobe-content>div{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--c-story-2) var(--c-bg-1);max-height:48dvh;padding-right:var(--sp-2);overflow:auto}#wardrobe-list{margin:0}.gear-card-grid{gap:var(--sp-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.gear-card-grid[hidden],#wardrobe-list[hidden],.gear-choice[hidden],.costume-card[hidden]{display:none}.gear-choice{align-items:center;gap:var(--sp-2);min-width:0;padding:var(--sp-2);background:var(--c-bg-1);flex-direction:column;display:flex}.gear-choice img,.gear-empty{aspect-ratio:1;object-fit:contain;border-radius:var(--r-md);width:100%}.gear-empty{font-size:var(--fs-display);background:var(--c-bg-1);place-content:center;display:grid}.gear-choice strong{font-size:var(--fs-md);overflow-wrap:anywhere}.gear-choice>span:last-child{font-size:var(--fs-xs);color:var(--c-town-3)}.gear-choice[aria-pressed=true]{outline:2px solid var(--c-accent-strong);outline-offset:-2px;background:var(--c-camp-12)}.wardrobe-preview{background:var(--c-camp-1);border:1px solid var(--c-camp-21);border-radius:var(--r-lg);padding:var(--sp-3);text-align:center;align-self:start;position:sticky;top:0}.wardrobe-preview h3{margin:0}.wardrobe-preview img{aspect-ratio:1;object-fit:contain;width:100%}.wardrobe-preview p{font-size:var(--fs-sm);line-height:var(--lh-body);overflow-wrap:anywhere}#player-equipment-state{font-size:var(--fs-md);min-height:2em;line-height:var(--lh-body)}.wardrobe-content>div::-webkit-scrollbar{width:7px}.wardrobe-content>div::-webkit-scrollbar-thumb{background:var(--c-story-2);border-radius:var(--r-md)}@media (max-width:700px){.wardrobe-content{gap:var(--sp-2);grid-template-columns:minmax(0,1fr) 108px}.wardrobe-content>div{max-height:48dvh}.gear-card-grid,#wardrobe-list{grid-template-columns:repeat(2,minmax(0,1fr))}.wardrobe-preview{padding:var(--sp-2)}.wardrobe-preview h3,.wardrobe-preview strong,.gear-choice strong{font-size:var(--fs-sm)}.wardrobe-preview p{font-size:var(--fs-xs)}.wardrobe-search{font-size:var(--fs-sm)}}.gear-choice img,.gear-empty{aspect-ratio:auto;height:132px}.gear-choice{min-height:185px}@media (max-width:700px){.gear-choice img,.gear-empty{height:100px}.gear-choice{min-height:150px}}body{background:var(--c-bg-1)}#loading-boot{background:var(--c-bg-1);z-index:var(--z-critical);font-size:var(--fs-xl);color:var(--c-text);place-content:center;display:grid;position:fixed;inset:0}#loading~#account-status{display:none}body:has(#loading) [id=account-status]{display:none}.label.peer,.label.self{will-change:transform;backface-visibility:hidden;transition:none}.label.landmark{font-size:var(--fs-sm);color:var(--c-town-10);background:color-mix(in srgb,var(--c-camp-12) 74%,transparent);border-color:color-mix(in srgb,var(--c-town-9) 40%,transparent);letter-spacing:.05em}.world-speech.tail-on-top:after{top:-8px;bottom:auto;transform:rotate(180deg)}.world-speech{word-break:keep-all}body.is-fishing .inbox-button{visibility:hidden;pointer-events:none}body{word-break:keep-all;overflow-wrap:break-word}#fish-phase{line-height:var(--lh-body);margin-bottom:var(--sp-2)}.fight-actions{margin-top:var(--sp-3)}
body.m-hud{--c-mobile-line:var(--line);--c-mobile-panel:var(--panel);--c-mobile-accent:var(--accent);--c-mobile-ink:var(--ink);--g:10px;--st:var(--sp-mobile-safe-top);--sr:var(--sp-mobile-safe-right);--sl:var(--sp-mobile-safe-left);--sb:var(--sp-mobile-safe-bottom);--sp-mobile-safe-left:max(var(--g),env(safe-area-inset-left));--sp-mobile-safe-right:max(var(--g),env(safe-area-inset-right));--sp-mobile-safe-top:max(var(--g),env(safe-area-inset-top));--sp-mobile-safe-bottom:max(12px,env(safe-area-inset-bottom));--panel:#1d352cf0;--line:#b8a77488;--ink:#f2ead0;--accent:#e2c77a;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}body.m-hud input{-webkit-user-select:text;user-select:text}body.m-hud nav,body.m-hud #help{display:none!important}body.m-hud header{left:var(--sp-mobile-safe-left);right:auto;top:var(--sp-mobile-safe-top);pointer-events:auto}body.m-hud header .brand{align-items:center;gap:var(--sp-1) var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-lg);background:var(--c-mobile-panel);flex-wrap:wrap;max-width:min(62vw,340px);display:flex}body.m-hud header .brand small,body.m-hud header .brand h1{display:none}body.m-hud #location{font-size:var(--fs-sm);color:var(--c-mobile-ink);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}body.m-hud header #money{font-size:var(--fs-sm);color:var(--c-mobile-accent);font-weight:var(--fw-bold)}body.m-hud #travel-status{padding:var(--sp-2) var(--sp-2);font-size:var(--fs-xs);border-radius:var(--r-md);text-align:left;flex-basis:100%;max-width:none;min-height:32px;margin:0}body.m-hud #travel-status[hidden]{display:none}body.m-hud #m-chat-peek{z-index:var(--z-controls);left:var(--sp-mobile-safe-left);top:calc(var(--sp-mobile-safe-top) + 48px);max-width:min(62vw,340px);min-height:34px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);border:1px solid var(--c-mobile-line);background:color-mix(in srgb,var(--c-bg-1) 78%,transparent);color:var(--c-camp-32);font-size:var(--fs-xs);line-height:var(--lh-body);text-align:left;white-space:nowrap;text-overflow:ellipsis;box-shadow:none;position:fixed;overflow:hidden}body.m-hud.m-chat-open #m-chat-peek,body.m-hud #chat{display:none}body.m-hud.m-chat-open #chat{z-index:var(--z-window);left:var(--sp-mobile-safe-left);right:var(--sp-mobile-safe-right);top:var(--sp-mobile-safe-top);border-radius:var(--r-lg);background:color-mix(in srgb,var(--c-bg-1) 96%,transparent);width:auto;max-width:520px;box-shadow:0 10px 40px color-mix(in srgb,var(--c-bg-0) 53%,transparent);display:block;position:fixed;bottom:auto}body.m-hud.m-chat-open #messages{height:min(24dvh,200px);font-size:var(--fs-md)}body.m-hud .chat-title{padding:var(--sp-3) var(--sp-3);font-size:var(--fs-md)}body.m-hud .chat-title button{min-width:64px;min-height:36px;font-size:var(--fs-sm)}body.m-hud #chat-form{flex-wrap:nowrap}body.m-hud #chat-input{font-size:var(--fs-lg);min-height:42px}body.m-hud #chat-form button{min-height:42px;font-size:var(--fs-md);padding:0 var(--sp-4);flex:none}body.m-hud #chat-target button,body.m-hud .chat-actions button{min-height:36px}body.m-hud #m-corner{z-index:var(--z-hud);top:var(--sp-mobile-safe-top);right:var(--sp-mobile-safe-right);gap:var(--sp-2);display:flex;position:fixed}body.m-hud #m-corner button{border-radius:var(--r-circle);width:48px;height:48px;font-size:var(--fs-sm);font-weight:var(--fw-bold);background:var(--c-mobile-panel);border-color:var(--c-mobile-line);padding:0}body.m-hud #m-menu[aria-expanded=true]{background:var(--c-mobile-accent);color:var(--c-bg-1)}body.m-hud #map-panel{display:none}body.m-hud #map-panel.expanded{z-index:var(--z-map);top:calc(var(--sp-mobile-safe-top) + 56px);width:min(560px,calc(100vw - 2 * var(--g)));max-height:calc(100dvh - var(--sp-mobile-safe-top) - 56px - var(--sp-mobile-safe-bottom));display:block;left:50%;right:auto;transform:translate(-50%)}@media (max-height:500px){body.m-hud #map-panel.expanded{top:var(--sp-mobile-safe-top);max-height:calc(100dvh - var(--sp-mobile-safe-top) - var(--sp-mobile-safe-bottom));gap:var(--sp-2);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;width:min(760px,100vw - 140px);display:grid}body.m-hud #map-panel.expanded #map-toggle{grid-column:1/-1}body.m-hud #map-panel.expanded #city-list{margin-top:var(--sp-1)}body.m-hud #map-panel.expanded p{grid-column:1/-1}}body.m-hud #map-panel.expanded #map-toggle{min-height:44px;font-size:var(--fs-md)}body.m-hud #map-panel.expanded p{font-size:var(--fs-xs);display:block}body.m-hud #city-list button{min-height:42px;font-size:var(--fs-sm)}body.m-hud #m-sheet{z-index:var(--z-menu);max-height:78dvh;padding:var(--sp-4) var(--sp-mobile-safe-right) calc(var(--sp-mobile-safe-bottom) + var(--sp-2)) var(--sp-mobile-safe-left);background:color-mix(in srgb,var(--c-bg-1) 97%,transparent);border-top:1px solid var(--c-mobile-line);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:0 -12px 40px color-mix(in srgb,var(--c-bg-0) 60%,transparent);position:fixed;bottom:0;left:0;right:0;overflow:auto}body.m-hud #m-sheet[hidden]{display:none}body.m-hud .m-sheet-head{margin-bottom:var(--sp-3);font-size:var(--fs-lg);justify-content:space-between;align-items:center;display:flex}body.m-hud .m-sheet-close{min-width:64px;min-height:40px}body.m-hud .m-sheet-actions{gap:var(--sp-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}body.m-hud .m-sheet-actions button{min-height:50px;font-size:var(--fs-md);width:100%;position:static;display:block!important}body.m-hud .m-sheet-actions #guide-toggle{border-radius:var(--r-md);width:100%;min-width:0;height:auto;min-height:50px;font-size:var(--fs-md);inset:auto;transform:none;position:static!important}body.m-hud .m-sheet-actions #guide-toggle:after{content:" 조작 안내"}body.m-hud .m-sheet-status{margin-top:var(--sp-4);gap:var(--sp-3);display:grid}body.m-hud .m-sheet-status .status{gap:var(--sp-2) var(--sp-3);padding:var(--sp-3);font-size:var(--fs-sm);box-shadow:none;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}body.m-hud .m-sheet-status #account-status{width:auto;font-size:var(--fs-sm);padding:var(--sp-3) var(--sp-3);justify-content:space-between;display:flex;position:static;inset:auto}body.m-hud .m-sheet-status #account-status button{min-height:40px;padding:0 var(--sp-2)}body.m-hud #joystick{left:calc(var(--sp-mobile-safe-left) + 6px);bottom:calc(var(--sp-mobile-safe-bottom) + 8px);background:color-mix(in srgb,var(--c-bg-1) 33%,transparent);width:128px;height:128px;z-index:var(--z-controls);border-width:2px;display:block}body.m-hud #joystick div{width:44px;height:44px;top:40px;left:40px}body.m-hud #m-actions{z-index:var(--z-controls);right:var(--sp-mobile-safe-right);bottom:var(--sp-mobile-safe-bottom);pointer-events:none;width:220px;height:170px;position:fixed}body.m-hud #m-actions>button{pointer-events:auto;border-radius:var(--r-circle);text-align:center;line-height:var(--lh-tight);font-size:var(--fs-sm);font-weight:var(--fw-bold);background:var(--c-mobile-panel);border:1.5px solid var(--c-mobile-line);box-shadow:0 4px 14px color-mix(in srgb,var(--c-bg-0) 33%,transparent);touch-action:none;place-content:center;padding:0;display:grid;position:absolute}body.m-hud #m-actions>button[hidden]{display:none}body.m-hud #m-actions>button:active{transform:scale(.94)}body.m-hud #m-actions #attack{width:88px;height:88px;font-size:var(--fs-lg);background:var(--c-town-42);border-color:var(--c-camp-11);color:var(--c-town-36);bottom:0;right:0}body.m-hud #attack kbd{display:none}body.m-hud #m-jump{width:64px;height:64px;bottom:2px;right:100px}body.m-hud #mount{white-space:normal;word-break:keep-all;width:64px;height:64px;bottom:100px;right:4px}body.m-hud #sprint{width:58px;height:58px;bottom:80px;right:84px}body.m-hud #slam{white-space:normal;word-break:keep-all;width:58px;height:58px;bottom:148px;right:84px}body.m-hud #m-actions:has(>#slam:not([hidden])) #m-context{bottom:216px}body.m-hud #m-actions #sprint[aria-pressed=true]{background:var(--c-town-12);color:var(--c-camp-1)}body.m-hud #m-context{align-items:flex-end;gap:var(--sp-2);pointer-events:auto;flex-direction:column;display:flex;position:absolute;bottom:176px;right:0}body.m-hud #m-context button{max-width:min(60vw,260px);min-height:46px;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-lg);font-size:var(--fs-md);font-weight:var(--fw-bold);background:var(--c-town-8);color:var(--c-bg-1);box-shadow:0 5px 18px color-mix(in srgb,var(--c-bg-0) 40%,transparent);white-space:nowrap;text-overflow:ellipsis;border:0;position:static;overflow:hidden;transform:none}body.m-hud #m-context button[hidden]{display:none}body.m-hud #m-context #fish-cast{background:var(--c-townm-1);color:var(--c-camp-1)}body.m-hud #toast{top:calc(var(--sp-mobile-safe-top) + 92px);max-width:min(84vw,420px);font-size:var(--fs-md)}body.m-hud.is-fishing #m-jump,body.m-hud.is-fishing #attack,body.m-hud.is-fishing #m-chat-peek{display:none}body.m-hud #fishing-state{top:calc(var(--sp-mobile-safe-top) + 58px);right:var(--sp-mobile-safe-right)}@media (max-height:500px){body.m-hud #m-chat-peek{top:calc(var(--sp-mobile-safe-top) + 44px);max-width:40vw}body.m-hud #joystick{width:112px;height:112px;bottom:calc(var(--sp-mobile-safe-bottom) + 2px)}body.m-hud #joystick div{top:33px;left:33px}body.m-hud #m-actions{transform-origin:100% 100%;transform:scale(.88)}body.m-hud #m-sheet{border-radius:var(--r-lg) 0 0 var(--r-lg);border-top:0;border-left:1px solid var(--c-mobile-line);width:min(380px,60vw);max-height:none;padding-top:calc(var(--sp-mobile-safe-top) + var(--sp-1));top:0;left:auto}body.m-hud.m-chat-open #chat{width:min(420px,55vw);right:auto}body.m-hud.m-chat-open #messages{height:min(40dvh,170px)}body.m-hud #toast{top:calc(var(--sp-mobile-safe-top) + 50px)}}body.m-hud.is-fishing #fish-reel{z-index:var(--z-float);right:var(--sp-mobile-safe-right);bottom:var(--sp-mobile-safe-bottom);border-radius:var(--r-circle);width:104px;height:104px;min-height:0;padding:var(--sp-2);font-size:var(--fs-md);font-weight:var(--fw-bold);line-height:var(--lh-tight);white-space:normal;word-break:keep-all;background:var(--c-bg-3);border:2px solid var(--c-auth-6);box-shadow:0 6px 20px color-mix(in srgb,var(--c-bg-0) 47%,transparent);position:fixed}body.m-hud.is-fishing #fish-reel.bite{background:var(--c-accent);color:var(--c-bg-1);border-color:var(--c-town-35);animation:.6s ease-in-out infinite alternate m-bite}body.m-hud.is-fishing #fish-reel.holding{background:var(--c-town-18);color:var(--c-bg-1);transform:scale(.95)}body.m-hud.is-fishing #fish-reel:disabled{opacity:.55}body.m-hud.is-fishing #m-actions,body.m-hud.is-fishing .fight-instructions{display:none}@keyframes m-bite{to{box-shadow:0 0 0 10px color-mix(in srgb,var(--c-town-24) 27%,transparent)}}@media (prefers-reduced-motion:reduce){body.m-hud.is-fishing #fish-reel.bite{animation:none}}@media (max-height:500px){body.m-hud #fishing-state{top:var(--sp-mobile-safe-top);right:calc(var(--sp-mobile-safe-right) + 114px);width:150px;padding:var(--sp-2);max-height:calc(100dvh - var(--sp-mobile-safe-top) - var(--sp-mobile-safe-bottom));bottom:auto;overflow:hidden}body.m-hud #fishing-state .fight-stage{height:calc(100dvh - var(--sp-mobile-safe-top) - var(--sp-mobile-safe-bottom) - 150px);min-height:120px}body.m-hud #fish-phase{font-size:var(--fs-xs);min-height:0}}body.m-hud #fish-cancel{width:100%;min-height:40px}@media (max-height:500px){body.m-hud dialog{padding:var(--sp-3) var(--sp-4);max-height:96dvh}body.m-hud .dialog-head small{display:none}body.m-hud .dialog-head h2{font-size:var(--fs-xl);margin:0}body.m-hud #wardrobe-count,body.m-hud #horse-dialog>p{margin:var(--sp-1) 0;font-size:var(--fs-xs)}body.m-hud .wardrobe-tabs{margin:var(--sp-2) 0}body.m-hud .wardrobe-tabs button{min-height:36px}body.m-hud .wardrobe-search{display:none}body.m-hud .wardrobe-content{margin-top:var(--sp-2)}body.m-hud .wardrobe-content>div{max-height:calc(96dvh - 130px)}body.m-hud .wardrobe-preview img{max-height:110px}body.m-hud .costume-card img{max-width:96px}body.m-hud .gear-choice img,body.m-hud .gear-empty{height:72px}body.m-hud .gear-choice{min-height:0}body.m-hud .wardrobe-guide,body.m-hud #player-equipment-state{display:none}body.m-hud #horse-list{margin-top:var(--sp-2);max-height:calc(96dvh - 110px)}body.m-hud .horse-option{padding:var(--sp-3) var(--sp-4)}}body.m-hud #m-corner #fish-bag{border-radius:var(--r-circle);width:48px;height:48px;font-size:var(--fs-sm);font-weight:var(--fw-bold);background:var(--c-mobile-panel);border-color:var(--c-mobile-line);padding:0;display:block}body.m-hud-pending header,body.m-hud-pending nav,body.m-hud-pending #chat,body.m-hud-pending #map-panel,body.m-hud-pending #account-status,body.m-hud-pending #help,body.m-hud-pending #interact{visibility:hidden}body.m-hud .inbox-button,body.m-hud .sound-float{z-index:var(--z-hud)}body.m-hud.m-chat-open .inbox-button,body.m-hud.m-chat-open .sound-float{visibility:hidden;pointer-events:none}body.m-hud .sound-float{line-height:var(--lh-tight);top:calc(var(--sp-mobile-safe-top) + 2 * (var(--hud-button-size) + var(--sp-2)));bottom:auto;right:var(--sp-mobile-safe-right);place-items:center;display:grid}body.m-hud .sound-float:before{line-height:var(--lh-tight);place-items:center;display:grid;position:absolute;inset:0}body.m-hud #fight-feedback{word-break:keep-all;line-height:var(--lh-body)}body.m-hud .fight-escape-label{min-height:14px;line-height:var(--lh-body)}@media (max-height:500px){body.m-hud #fishing-state{overflow:auto}body.m-hud #fishing-state .fight-stage{height:clamp(96px,100dvh - 240px,180px);min-height:96px}}body.m-chat-open #chat-toggle,body.m-chat-open #chat-form input,body.m-chat-open #chat-form button{min-height:var(--tap-min);min-width:var(--tap-min)}
