:root{color-scheme:dark;--bg:#101815;--panel:#17211c;--line:#303c31;--muted:#8d9b88;--text:#e2e5d4;--gold:#c6ad70;--green:#91ad79}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.65 'Malgun Gothic',system-ui,sans-serif}button,input{font:inherit}button{cursor:pointer}header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;border-bottom:1px solid var(--line)}.brand{color:var(--gold);display:flex;gap:12px;align-items:center;font-size:33px;text-decoration:none}.brand span{font:22px Georgia,serif;letter-spacing:4px}.brand small{display:block;font:10px/2 sans-serif;letter-spacing:5px}.chapter{color:var(--muted);font-size:12px}.chapter b{color:var(--text);margin-left:18px;font-weight:400}.build{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:5px 13px}main{display:grid;grid-template-columns:232px minmax(300px,1fr) 248px;min-height:calc(100vh - 134px)}aside{padding:28px 23px}.left{border-right:1px solid var(--line)}.right{border-left:1px solid var(--line);background:#141e19}.eyebrow{font-size:9px;letter-spacing:2px;color:var(--gold)}h1{font:29px/1.3 Georgia,'Malgun Gothic',serif;margin:10px 0 20px}h2{font-size:13px;font-weight:500;margin:0 0 14px}h3{font-size:13px;font-weight:500}.intro{color:var(--muted);font-size:12px;line-height:1.9}.rule{height:1px;background:var(--line);margin:26px 0}.regions{display:grid;gap:8px}.region{border:1px solid transparent;padding:10px 12px;border-radius:4px;color:var(--muted)}.region.active{border-color:#586144;background:#283226;color:var(--text)}.region small{display:block;font-size:10px;opacity:.7;margin-left:22px}.quest{margin-top:36px;padding:18px 14px;background:linear-gradient(140deg,#293428,#1b261f);border:1px solid #384731;border-radius:5px}.quest p,.selection p{font-size:12px;color:var(--muted)}#quest-progress{border-top:1px solid #394731;padding-top:10px;font-size:11px;color:var(--gold)}.footnote{font-size:10px;line-height:2;color:#72806d;margin-top:30px}.world{min-width:0;display:flex;flex-direction:column}.world-toolbar{padding:16px 22px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);font-size:11px;height:57px}.world-toolbar b{font-weight:500}.dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:9px}.safe{margin-left:12px;font-size:9px;color:var(--green);padding:2px 7px;border:1px solid #435a3d;border-radius:3px}#connection{color:var(--muted)}.viewport{position:relative;flex:1;min-height:450px;background:#18251d;overflow:hidden}canvas{display:block;width:100%;height:100%;position:absolute;touch-action:none;outline:none}.location{position:absolute;top:23px;left:25px;pointer-events:none;display:grid;gap:4px}.location>span:last-child{font:10px Georgia,serif;letter-spacing:3px;color:#bac5a6}.compass{position:absolute;right:23px;top:20px;color:var(--gold);font:11px Georgia;text-align:center;pointer-events:none}.compass span{font-size:36px}.controls{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:10px;color:#c7d0b5;pointer-events:none;text-shadow:0 1px 4px #000}.controls span{margin:0 10px;color:#6d7e60}.chat{height:170px;background:#111b16;padding:12px 20px;display:flex;flex-direction:column;border-top:1px solid var(--line)}.chat-head{font-size:11px;color:var(--gold)}.chat-head span{color:#687b69;font-size:10px;margin-left:15px}#messages{flex:1;overflow:auto;font-size:11px;padding:6px 0;color:#a5b59d}#messages p{margin:2px 0}#chat-form{display:flex;border-top:1px solid #26392b;padding-top:8px;gap:10px}input{background:#101913;border:1px solid #354331;border-radius:3px;padding:10px 12px;color:var(--text);min-width:0}#chat-input{flex:1;background:transparent;border:0;padding:0;outline:none;font-size:11px}button{background:#b8a16d;color:#152019;border:0;border-radius:3px;padding:10px 15px;font-weight:600}button:disabled{cursor:default;opacity:.45}#chat-form button{background:transparent;color:var(--gold);padding:0;font-size:11px}.profile{display:flex;gap:12px;align-items:center;margin-bottom:25px}.profile h2{font-size:15px;margin:4px 0}.avatar{width:43px;height:49px;border:1px solid #617149;border-radius:22px 22px 7px 7px;background:#344630;display:grid;place-items:center;color:var(--gold);font-size:22px}.stat-row,.wealth,.bag-head,.network{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted)}.stat-row b{font-size:10px;font-weight:400;color:#b0c39c}.hp{height:5px;background:#303f30;border-radius:2px;margin-top:7px}.hp i{display:block;width:100%;height:100%;background:#799767;border-radius:2px}.wealth{margin-top:19px}.wealth b{color:var(--gold);font:20px Georgia}.wealth small{font-size:11px}.bag-head h2{margin:0}.bag-head>span{font-size:10px}.inventory{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:16px}.slot{position:relative;border:1px solid #35432f;background:linear-gradient(135deg,#263425,#1a251d);border-radius:4px;height:61px;display:grid;place-items:center;font-size:25px}.slot.empty{opacity:.35}.slot small{position:absolute;right:5px;bottom:2px;font-size:10px;color:var(--gold)}.slot span{font-size:9px;position:absolute;bottom:-19px}.tools{margin-top:28px}.tools h3{font-size:11px;color:var(--muted)}.tools p{font-size:11px;color:#b1bea3;display:flex;justify-content:space-between}.tools b{font-weight:400;color:var(--gold)}.selection{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.selection button{width:100%;font-size:11px}.selection h3{margin:7px 0}.network{border-top:1px solid var(--line);margin-top:25px;padding-top:13px;font-size:10px}footer{height:46px;border-top:1px solid var(--line);padding:0 30px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#819079}footer>span:last-child{font-size:8px;letter-spacing:2px}dialog{width:390px;max-width:92vw;border:1px solid #65734c;padding:34px;background:#19251d;color:var(--text);border-radius:8px;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#07100bcc;backdrop-filter:blur(6px)}dialog h2{font:24px Georgia,'Malgun Gothic',serif;margin-top:14px}dialog p{font-size:12px;color:var(--muted)}dialog label{display:block;font-size:11px;margin:22px 0 8px}dialog input,dialog button{width:100%;margin-bottom:12px}dialog small{display:block;font-size:10px;color:#7c8e76}#join-error{color:#e8a192}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#17251f;color:var(--gold);letter-spacing:2px}#loading[hidden]{display:none}#cast{position:absolute;bottom:55px;left:50%;transform:translateX(-50%);width:200px;text-align:center;background:#152019df;border:1px solid #5a7048;padding:10px;font-size:11px}progress{display:block;width:100%;height:6px;margin-top:8px;accent-color:var(--gold)}@media(min-width:1600px){main{grid-template-columns:270px minmax(300px,1fr) 280px}aside{padding:34px 30px}}@media(max-width:1050px){main{grid-template-columns:180px minmax(300px,1fr) 205px}aside{padding:22px 15px}h1{font-size:24px}.chapter{display:none}}@media(max-width:760px){header{height:66px;padding:0 18px}.brand span{font-size:17px}.build{font-size:9px}main{display:flex;flex-wrap:wrap}.left{width:100%;padding:12px 18px;border-right:0;border-bottom:1px solid var(--line)}.left .eyebrow,.left h1,.intro,.left .rule,.left h2,.quest,.footnote{display:none}.regions{display:flex;gap:5px}.region{font-size:11px;padding:6px}.region small{display:none}.world{width:100%}.viewport{height:58vh;min-height:360px;flex:none}.right{width:100%;border-left:0;padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.right .profile{margin:0}.right .rule,.right .stat-row,.right .hp,.right .wealth,.right .tools{display:none}.bag-head{grid-column:1}.inventory{grid-column:1;margin-top:0}.selection{grid-column:2;grid-row:1/4;margin:0;border:0;padding:0}.network{grid-column:1/3;margin:0}.controls{font-size:9px}.chat-head span{display:none}footer>span:last-child{display:none}}
.service-nav{display:flex;gap:9px;align-items:center;justify-content:center;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--line);background:#141f19}.service-nav>span{font-size:10px;color:var(--muted);margin-right:8px}.service-nav button{background:#273626;color:#c9d5b5;border:1px solid #42523a;font-size:11px;padding:7px 13px}.inventory{max-height:210px;overflow:auto}.bag-head>span{font-size:9px}#services{width:820px;max-height:85vh;padding:26px}#services .service-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}#services .service-heading h2{margin:8px 0 17px;font-size:22px}#services button{width:auto;margin:0;font-size:11px;padding:8px 13px}#services #service-close{background:transparent;border:1px solid var(--line);color:var(--muted)}#service-tabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:15px}#service-tabs button{background:#233023;color:var(--muted)}#service-tabs button.active{background:var(--gold);color:#142019}.service-location{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0;font-size:11px;color:var(--muted)}#services #service-travel{background:transparent;border:1px solid #536345;color:#bacd9f}.service-row{display:flex;gap:9px;align-items:center;padding:13px 0;border-bottom:1px solid #30402f}.service-row>div{flex:1;min-width:0}.service-row strong{font-size:12px;font-weight:500;display:block}.service-row small{font-size:10px;line-height:1.8;color:var(--muted);margin-top:4px}.service-row input{width:52px;padding:6px;font-size:11px;margin:0}.quantity-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.service-hint{font-size:11px;color:var(--gold)}#service-feedback{min-height:24px;font-size:12px;color:#d9c58f}#service-retry[hidden],#service-travel[hidden]{display:none}@media(max-width:760px){#services{padding:18px}.service-row{flex-wrap:wrap}.service-row>div{flex-basis:65%}.service-row small{font-size:9px}.service-nav{gap:6px}.service-nav button{padding:6px 9px;font-size:10px}}
.regions button{background:transparent;text-align:left;font-weight:400;cursor:pointer}#find-rat[hidden],#revive[hidden]{display:none}
#nearby-mobs{display:contents}#nearby-mobs button{border-color:#735c3d;color:#d3ba92}
#world-map{width:960px;max-width:96vw;max-height:92vh;padding:22px;overflow:auto}#world-map .service-heading h2{margin:8px 0 12px;font-size:22px}#world-map button{width:auto;margin:0;font-size:11px;padding:8px 13px}#world-map #world-map-close{background:transparent;border:1px solid var(--line);color:var(--muted)}#world-map-tabs{display:flex;gap:7px;flex-wrap:wrap;padding:0 0 12px}#world-map-tabs button{background:#233023;color:var(--muted)}#world-map-tabs button.active{background:var(--gold);color:#142019}.world-map-canvas{position:relative;height:min(62vh,560px);min-height:260px;background:#0d1a24;border:1px solid #2c4150;border-radius:6px;overflow:hidden}#world-map-canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline:none}#world-map-canvas:active{cursor:grabbing}.world-map-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:10px 0 2px}.world-map-legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-2px}.world-map-legend i.planned{background:#2f4a3a;border:1px dashed #5f8a6a}.world-map-legend i.published{background:#8fb3c7}.world-map-legend i.self{background:#ffd166;border-radius:50%}@media(max-width:760px){#world-map{padding:14px}#world-map-tabs button{padding:7px 9px}.world-map-canvas{height:52vh}}
.world-map-dev{margin-top:6px;font-size:11px;color:var(--muted)}.world-map-dev summary{cursor:pointer;opacity:.7}.world-map-dev p{margin:6px 0 0}
.service-dialogue{margin:0 0 12px;padding:10px 14px;border-left:3px solid var(--gold);background:#202d23;color:#e6dcb8!important;font-size:13px!important}.service-dialogue[hidden]{display:none}.service-nav button[data-npc]{border-color:#6b5d3a;color:#e3d3a3}

/* 030 NPC 말풍선: 뷰포트 안 절대 위치, 꼬리는 --tail-x(NPC x). below면 꼬리가 위를 향한다 */
#npc-bubble{position:absolute;z-index:4;width:max-content;max-width:min(320px,calc(100% - 16px));background:#f7efd6;color:#2b2416;border:2px solid #8a6b3a;border-radius:12px;padding:8px 10px 9px;box-shadow:0 6px 22px #0007;font-size:12px;line-height:1.5;pointer-events:auto}
#npc-bubble[hidden]{display:none}
#npc-bubble .npc-bubble-head{display:flex;justify-content:space-between;align-items:center;gap:10px;font-weight:600;color:#5a3f17;font-size:11px}
#npc-bubble #npc-bubble-close{background:transparent;border:0;color:#8a6b3a;padding:0 2px;font-size:12px;line-height:1}
#npc-bubble p{margin:4px 0 6px;color:#2b2416;font-size:12px}
#npc-bubble .npc-bubble-actions{display:flex;flex-wrap:wrap;gap:6px}
#npc-bubble .npc-bubble-actions button{background:#c9a862;color:#1f170b;border:1px solid #8a6b3a;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:600}
#npc-bubble .npc-bubble-actions button:focus-visible{outline:2px solid #2b2416;outline-offset:1px}
#npc-bubble .npc-bubble-tail{position:absolute;left:var(--tail-x,50%);bottom:-11px;margin-left:-8px;border:8px solid transparent;border-top-color:#8a6b3a;border-bottom:0}
#npc-bubble.below .npc-bubble-tail{bottom:auto;top:-11px;border-top:0;border-bottom:8px solid #8a6b3a}

/* 030C-2 네트워크 HUD: 뷰포트 우상단, 나침반(right 23, 폭 ~30px) 왼쪽 같은 줄. 색 + 글자 라벨 병기. 말풍선(z 4)보다 아래(z 3), 겹치면 .dim */
#net-hud{position:absolute;right:78px;top:22px;z-index:3;display:flex;gap:6px;align-items:baseline;font-size:11px;line-height:1.3;color:#d9d6bf;background:#0f1612cc;border:1px solid #3a4636;border-radius:4px;padding:3px 8px;pointer-events:none;max-width:46vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .2s}
#net-hud b{font-weight:600;color:var(--net-color,#d9d6bf)}#net-hud b::before{content:'●';margin-right:4px;color:var(--net-color,#d9d6bf)}
#net-hud span{font-variant-numeric:tabular-nums}#net-hud small{font-size:10px;color:#a9b39c}#net-hud.dim{opacity:.35}
#net-hud.blink b::before{animation:net-blink 1s steps(2,start) infinite}@keyframes net-blink{to{visibility:hidden}}
@media(max-width:760px){#net-hud{top:16px;right:64px;font-size:10px;padding:2px 6px;max-width:55vw}#net-hud small{display:none}}
/* 043 NPC 상반신 초상: 크기 예약(로딩/실패에도 레이아웃 고정), 실패 시 그림만 숨김. 크기(Codex 시각 리뷰): 말풍선 PC 112/모바일 88, 시설창 PC 160/모바일 112 */
.npc-portrait{width:112px;height:112px;flex:0 0 112px;border-radius:12px;background:#e9dfc2;border:1px solid #c9b58a;overflow:hidden;position:relative}.npc-portrait[hidden]{display:none}
.npc-portrait img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;opacity:0;transition:opacity .15s}.npc-portrait[data-state=loaded] img{opacity:1}
.npc-portrait[data-state=missing]::after,.npc-portrait[data-state=loading]::after{content:'';position:absolute;left:50%;top:60%;width:44%;height:44%;transform:translate(-50%,-50%);border-radius:50%;background:#d8cba6}
#npc-bubble{max-width:min(420px,calc(100% - 16px))}#npc-bubble .npc-bubble-body{display:flex;gap:12px;align-items:flex-start}#npc-bubble .npc-bubble-main{min-width:0;flex:1 1 auto}
/* 시설창 헤더: [초상][제목][닫기] grid — 제목이 길어도 초상·닫기와 겹치지 않는다 */
#services{position:relative}#services .service-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}#services .service-heading>div{min-width:0}#services .service-heading h2{overflow-wrap:anywhere}
.service-portrait{width:160px;height:160px;flex:0 0 160px;background:#202d23;border:1px solid var(--line)}
@media(max-width:760px){.npc-portrait{width:88px;height:88px;flex-basis:88px}.service-portrait{width:112px;height:112px;flex-basis:112px}#npc-bubble{max-width:calc(100% - 12px)}
 /* 모바일: 닫기 버튼은 창 상단 우측 고정, 헤더는 [초상][제목] 2열 */#services .service-heading{grid-template-columns:auto minmax(0,1fr);padding-right:64px}#services #service-close{position:absolute;top:10px;right:10px;width:auto;margin:0;padding:6px 10px;font-size:12px}}
/* 044 아이템/재화 아이콘: 크기 예약, 실패 시 글리프만 */
.item-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;position:relative;width:20px;height:20px;margin-right:6px;flex:0 0 auto}.item-icon-lg{width:34px;height:34px;margin:0}
.item-icon img{width:100%;height:100%;object-fit:contain;display:block;opacity:0;transition:opacity .12s;image-rendering:auto}.item-icon[data-state=loaded] img{opacity:1}.item-icon[data-state=loaded] .item-icon-glyph{display:none}
.item-icon .item-icon-glyph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--gold)}.item-icon-lg .item-icon-glyph{font-size:20px}
#inventory .slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
/* 044 초상 모션: 호흡(4초, 하단 기준 ≤1px) + 눈깜빡임 레이어(불투명도만 전환, src 교체 없음). reduced-motion 이면 정지 */
.npc-portrait-body{position:absolute;inset:0;transform-origin:50% 100%;will-change:transform}.npc-portrait[data-state=loaded][data-motion=on] .npc-portrait-body{animation:npc-breath 4s ease-in-out infinite}
@keyframes npc-breath{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-1px) scaleY(1.008)}}
.npc-portrait .npc-portrait-blink{position:absolute;inset:0;opacity:0;transition:none}.npc-portrait[data-state=loaded] .npc-portrait-blink{display:block}
@media(prefers-reduced-motion:reduce){.npc-portrait .npc-portrait-body{animation:none!important}}
/* ===== 052 FHD · 울티마온라인 클래식 식 HUD: 월드 전체화면 + 접이식 메뉴바 + 독립 창(드래그/앞으로/닫기/저장/복구) ===== */
body.hud{overflow:hidden;height:100dvh;margin:0}
body.hud .game-shell{position:fixed;inset:0;overflow:hidden;background:#18251d}
body.hud .world{position:absolute;inset:0;display:block;min-width:0}
body.hud .viewport{position:absolute;inset:0;min-height:0;height:auto;flex:none}
body.hud #hud-sources{display:none}
body.hud .location{top:14px;left:50%;transform:translateX(-50%);text-align:center}
body.hud .compass{top:54px}
body.hud .controls{bottom:8px}
.menubar{position:absolute;top:8px;left:8px;z-index:60;display:flex;gap:4px;align-items:center;background:#17211cd9;border:1px solid #65734c;border-radius:6px;padding:4px;backdrop-filter:blur(3px)}
.menubar .menubar-items{display:flex;gap:4px;flex-wrap:wrap}
.menubar.collapsed .menubar-items{display:none}
.menubar button{background:#273626;color:#c9d5b5;border:1px solid #42523a;font-size:11px;padding:5px 9px;border-radius:4px;cursor:pointer;width:auto;margin:0}
.menubar button.active{background:#4a5e3f;color:#f3ead0;border-color:#8a9a6a}
.menubar #menubar-toggle{font-size:13px;padding:3px 8px}
.hud-window{position:absolute;z-index:20;width:300px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 64px);background:#17211cf0;border:1px solid #65734c;border-radius:6px;box-shadow:0 10px 40px #0009;color:var(--text);display:flex;flex-direction:column}
.hud-window[hidden]{display:none}
.hud-head{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#243126;border-bottom:1px solid var(--line);cursor:move;user-select:none;touch-action:none;border-radius:6px 6px 0 0}
.hud-head b{flex:1;font-size:12px;font-weight:600}
.hud-head small{color:var(--muted);font-size:9px;border:1px solid var(--line);padding:0 4px;border-radius:3px}
.hud-close{background:transparent;border:0;color:var(--muted);font-size:12px;cursor:pointer;padding:2px 6px;width:auto;margin:0}
.hud-body{padding:10px 12px;overflow:auto;font-size:12px;min-height:0}
.hud-window.dragging{opacity:.92}
#win-status{width:260px}#win-skills{width:260px}#win-regions{width:260px}#win-village{width:280px}#win-journal{width:320px}#win-chat{width:520px}#win-settings{width:300px}
body.hud .world-toolbar{padding:0 0 8px;border:0;height:auto;font-size:11px}
body.hud .profile{margin:6px 0}
body.hud .selection{margin-top:10px}
.status-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.status-actions button{width:auto;margin:0;font-size:11px;padding:6px 10px}
body.hud .network{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:8px}
body.hud .inventory{grid-template-columns:repeat(5,1fr);gap:6px;margin-top:8px;max-height:none}
body.hud .slot{height:50px;font-size:20px}
body.hud .tools{margin-top:10px}
body.hud .service-nav{flex-direction:column;align-items:stretch;padding:0;border:0;background:transparent;gap:6px}
body.hud .service-nav button{width:100%;text-align:left;font-size:12px;padding:7px 10px}
body.hud .chat{height:auto;background:transparent;border:0;padding:0}
body.hud #messages{max-height:110px;overflow:auto}
body.hud #chat-form{display:flex;gap:6px;margin-top:6px}
body.hud #chat-form input{flex:1}
body.hud #chat-form button{width:auto;margin:0}
.settings-list{display:grid;gap:6px}
.settings-list button{width:100%;text-align:left}
.skills-list{display:grid;gap:4px}
.skills-list .skill-row{display:flex;justify-content:space-between;border-bottom:1px solid #26302a;padding:3px 0;font-size:12px}
.skills-list .skill-row b{color:var(--gold);font-variant-numeric:tabular-nums}
.paperdoll{display:grid;grid-template-columns:120px 1fr;gap:10px;align-items:start}
.paperdoll-figure{grid-row:1/3;width:120px;height:200px;background:#101815;border:1px solid var(--line);border-radius:4px}
.paperdoll-name{font-size:13px}
.paperdoll-slots{display:grid;gap:8px}
.pd-slot{border:1px dashed #35432f;border-radius:4px;padding:6px;display:grid;gap:4px}
.pd-slot.drop-ok{border-color:var(--gold);background:#2a3627}
.pd-label{font-size:10px;color:var(--muted)}
.pd-box{display:flex;align-items:center;gap:8px;min-height:36px}
.pd-info{font-size:10px;color:var(--muted)}
.pd-unequip{width:auto;margin:0;font-size:10px;padding:3px 8px}
body.hud .slot[draggable=true]{cursor:grab}
@media(max-width:760px){.hud-window{width:calc(100vw - 16px)!important;left:8px!important;max-height:calc(100dvh - 60px)}.menubar{max-width:calc(100vw - 16px)}.menubar button{font-size:11px;padding:7px 9px}#win-chat .hud-body{padding:6px 8px}}
/* 035 계정·슬롯 */.auth-row{display:flex;flex-direction:column;gap:8px;margin:8px 0 14px}.slots{display:grid;gap:8px;margin:10px 0}.slot-card button{width:100%;text-align:left;display:flex;flex-direction:column;gap:2px}.slot-card.empty{border:1px dashed var(--line);border-radius:6px;padding:10px 12px;color:var(--muted)}button.ghost{background:transparent;border-color:var(--line);color:var(--muted)}#account-status{color:var(--gold);margin:6px 0}#account-error,#join-error{color:#e09a8a;min-height:1.2em}#welcome-close{margin-top:12px}.profile #account-open{margin-left:auto;padding:4px 10px;font-size:12px}
/* 036 자동 작업 HUD */.job-status{margin:0 0 10px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:12px;color:var(--gold)}.job-row button{margin:4px 6px 0 0}
/* 037 */.chat-act{font-size:10px;padding:0 5px;margin-left:4px;line-height:1.4;vertical-align:middle}button.danger{color:#e09a8a;border-color:#7a3b3b;margin-top:8px}#account-blocks{margin:10px 0}#account-blocks-list p{margin:4px 0;font-size:12px}
