/* GO기릿 미니홈 — v2 UI (2026-10-09 전면 개편): 레트로 싸이월드 감성 + 모바일 우선. 탭 타깃 44px, 하단 탭바, 토글 스위치, 세그먼트 컨트롤 */
@font-face{font-family:Pretendard;font-weight:400;font-display:swap;src:url(/assets/fonts/Pretendard-Regular.woff2) format('woff2')}
@font-face{font-family:Pretendard;font-weight:500;font-display:swap;src:url(/assets/fonts/Pretendard-Medium.woff2) format('woff2')}
@font-face{font-family:Pretendard;font-weight:600;font-display:swap;src:url(/assets/fonts/Pretendard-SemiBold.woff2) format('woff2')}
@font-face{font-family:Pretendard;font-weight:800;font-display:swap;src:url(/assets/fonts/Pretendard-ExtraBold.woff2) format('woff2')}
:root{
  --bg:#f3eee4; --bg2:#ebe4d6; --panel:#fffdf8; --line:#e3dccb; --line2:#efe9db; --text:#2a2622; --muted:#7d7466; --soft:#f7f3ea;
  --p:#ff6f61; --p-d:#e8584b; --p-s:#ffe7e3; --s:#2fb59a; --s-s:#dff6ef; --gold:#d9a21b; --gold-s:#fff3cf; --red:#e5484d; --blue:#3f7ae8; --blue-s:#e5eefc;
  --r:14px; --r2:10px; --sh:0 2px 0 rgba(60,45,20,.06),0 10px 28px rgba(60,45,20,.08); --skin:none; --nav:64px;
}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg) var(--skin) center/256px;color:var(--text);font:15px/1.5 Pretendard,system-ui,-apple-system,'Apple SD Gothic Neo',sans-serif;min-height:100vh;padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom))}
@media (min-width:901px){body{padding-bottom:0}}
a{color:var(--blue);text-decoration:none} button{font:inherit;cursor:pointer;color:inherit} input,textarea,select{font:inherit;color:inherit}
[hidden]{display:none!important} .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)} .num{font-variant-numeric:tabular-nums} .muted{color:var(--muted)} .nojs{padding:20px;text-align:center}
h1,h2,h3{font-weight:800;letter-spacing:-.01em}

/* ── 헤더 ── */
.hd{position:sticky;top:0;z-index:20;background:rgba(255,253,248,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hd-in{max-width:1400px;margin:0 auto;padding:0 14px;height:56px;display:flex;align-items:center;gap:10px}
.logo{display:flex;align-items:center;gap:6px;color:var(--text);font-weight:800;font-size:18px;white-space:nowrap}
.logo i{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--p),#ffb199);display:inline-flex;align-items:center;justify-content:center;font-style:normal;color:#fff;font-size:16px;box-shadow:inset 0 -2px 0 rgba(0,0,0,.12)}
.logo b{color:var(--p)}
.gnb{display:none;gap:2px;margin-left:8px}
@media (min-width:901px){.gnb{display:flex}}
.gnb a{padding:8px 12px;border-radius:10px;color:var(--text);font-weight:600;white-space:nowrap;min-height:40px;display:flex;align-items:center;gap:4px}
.gnb a[aria-current]{background:var(--p-s);color:var(--p-d)}
.gnb .gnb-coin{color:var(--gold);font-weight:800}
.hd-r{margin-left:auto;display:flex;align-items:center;gap:6px}
.bell{position:relative;border:0;background:var(--soft);color:var(--muted);border-radius:50%;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}
.bell i{position:absolute;top:-2px;right:-2px;background:var(--p);color:#fff;font-size:10px;font-style:normal;border-radius:10px;padding:1px 5px;font-weight:800;border:2px solid var(--panel)}
.me-chip{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:22px;padding:3px 10px 3px 3px;min-height:40px}
.me-chip .mini{width:32px;height:32px;border-radius:50%;background:var(--soft);image-rendering:pixelated}
.me-chip .n{font-weight:800;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.me-chip .c{color:var(--gold);font-weight:800;font-size:12px}
@media (max-width:420px){.me-chip .n{display:none}}

/* ── 하단 탭바(모바일) ── */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:25;height:calc(var(--nav) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(255,253,248,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(5,1fr)}
@media (min-width:901px){.tabbar{display:none}}
.tabbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:11px;font-weight:600;min-height:var(--nav)}
.tabbar a i{font-style:normal;font-size:22px;line-height:1}
.tabbar a[aria-current]{color:var(--p-d)}
.tabbar a[aria-current] i{transform:translateY(-1px)}

/* ── 버튼 ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:0 16px;min-height:44px;font-weight:700;color:var(--text);transition:transform .08s,background .15s;white-space:nowrap}
.btn:active{transform:translateY(1px)} .btn:hover{background:var(--soft)}
.btn-p{background:var(--p);border-color:var(--p);color:#fff;box-shadow:0 3px 0 var(--p-d)} .btn-p:hover{background:var(--p-d)} .btn-p:active{box-shadow:0 1px 0 var(--p-d)}
.btn-s2{background:var(--s);border-color:var(--s);color:#fff} .btn-s2:hover{background:#249e86}
.btn-gold{background:linear-gradient(180deg,#f3c54a,var(--gold));border:1.5px solid #c9931a;color:#3a2a00;border-radius:12px;padding:0 16px;min-height:44px;font-weight:800;box-shadow:0 3px 0 #a87a0e;display:inline-flex;align-items:center;justify-content:center;gap:6px}
.btn-gold:active{transform:translateY(1px);box-shadow:0 1px 0 #a87a0e}
.btn-d{color:var(--red);border-color:#f3c2c4;background:#fff8f8}
.btn-s{padding:0 10px;min-height:34px;font-size:13px;border-radius:9px}
.btn-ghost{border-color:transparent;background:transparent;color:var(--muted)} .btn-ghost:hover{background:var(--soft);color:var(--text)}
.btn-ic{width:44px;padding:0}
.btn[disabled],.btn-gold[disabled]{opacity:.45;cursor:default;box-shadow:none;transform:none}
.btn-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.btn-full{width:100%}

/* 폼 요소 */
.input,input.input,textarea.input,select.input{border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;min-height:44px;background:#fff;width:100%;font-size:15px}
.input:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px var(--p-s)}
textarea{resize:vertical}
.field{display:grid;gap:6px;font-size:13px;color:var(--muted);font-weight:600}
.form{display:grid;gap:12px}
.sw{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:44px;padding:4px 0;font-size:14px;color:var(--text);font-weight:600}
.sw input{position:absolute;opacity:0;width:0;height:0}
.sw i{width:46px;height:26px;border-radius:13px;background:#d8d1c2;position:relative;flex:none;transition:background .15s}
.sw i::after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .15s}
.sw input:checked + i{background:var(--s)} .sw input:checked + i::after{transform:translateX(20px)}
.sw input:focus-visible + i{box-shadow:0 0 0 3px var(--s-s)}
.sw small{color:var(--muted);font-weight:500}
.chk{display:inline-flex;align-items:center;gap:8px;cursor:pointer;min-height:44px;font-size:14px;font-weight:600}
.chk input{appearance:none;width:22px;height:22px;border:2px solid #c9c1b0;border-radius:7px;background:#fff;display:inline-grid;place-content:center;margin:0;flex:none}
.chk input::before{content:'';width:12px;height:12px;clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0%,43% 62%);background:#fff;transform:scale(0);transition:transform .1s}
.chk input:checked{background:var(--p);border-color:var(--p)} .chk input:checked::before{transform:scale(1)}
.seg{display:flex;background:var(--bg2);border-radius:12px;padding:3px;gap:2px;overflow-x:auto;scrollbar-width:none}
.seg::-webkit-scrollbar{display:none}
.seg [role=tab],.seg button{flex:1;border:0;background:transparent;border-radius:9px;padding:0 12px;min-height:38px;font-weight:700;color:var(--muted);white-space:nowrap}
.seg [aria-selected=true],.seg .on{background:#fff;color:var(--text);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px 0}
.chips::-webkit-scrollbar{display:none}
.chips button{border:1.5px solid var(--line);background:#fff;border-radius:20px;padding:0 14px;min-height:38px;font-weight:700;color:var(--muted);white-space:nowrap;flex:none}
.chips button[aria-selected=true],.chips button.on{background:var(--text);border-color:var(--text);color:#fff}

/* ── 레이아웃 ── */
.wrap{max-width:1400px;margin:0 auto;padding:14px 14px 40px}
.loading{text-align:center;color:var(--muted);padding:60px 0}
.pnl{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:16px}
.pnl.tight{padding:12px}
.pnl h2{margin:0 0 12px;font-size:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pnl h2 .more{margin-left:auto;font-size:13px;font-weight:600}
.pnl h3{margin:14px 0 8px;font-size:14px}
.stack{display:grid;gap:12px}
.grid2{display:grid;grid-template-columns:1fr 380px;gap:14px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:900px){.grid2,.cols2{grid-template-columns:1fr}}
.ft{text-align:center;color:var(--muted);font-size:12px;padding:24px 14px}
.empty{color:var(--muted);text-align:center;padding:24px 10px;font-size:14px;background:var(--soft);border-radius:var(--r2)}
.pill{display:inline-flex;align-items:center;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:700;background:var(--bg2);color:var(--muted)}
.pill.on{background:var(--s-s);color:#1d7f6b} .pill.p{background:var(--p-s);color:var(--p-d)} .pill.g{background:var(--gold-s);color:#8a5a00}
.kv{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line);font-size:14px}
.kv:last-child{border-bottom:0} .kv b{font-weight:800}
.list{display:grid;gap:8px}
hr.sep{border:0;border-top:1px solid var(--line);margin:14px 0}

/* ── 사람 ── */
.av{display:inline-block;image-rendering:pixelated;background:var(--soft);border-radius:10px;vertical-align:middle;flex:none}
.av.r{border-radius:50%}
.who{display:inline-flex;align-items:center;gap:6px;color:var(--text);min-width:0}
.who .nk{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag{font-size:10px;font-weight:800;color:var(--blue);background:var(--blue-s);border-radius:5px;padding:2px 5px;flex:none}
.title{font-size:11px;color:var(--muted);background:var(--bg2);border-radius:5px;padding:2px 6px;flex:none}
.nc-n01{color:#e5484d}.nc-n02{color:#2f6fed}.nc-n03{color:#2f9e6a}.nc-n04{color:#8a4dff}.nc-n05{color:#d4a017;text-shadow:0 0 6px rgba(212,160,23,.5)}
.nc-n06{background:linear-gradient(90deg,#e5484d,#f5a524,#2f9e6a,#2f6fed,#8a4dff);-webkit-background-clip:text;background-clip:text;color:transparent}
.nc-n07{color:#ff7a1a}.nc-n08{color:#0fa3a3}.nc-n09{color:#f0609a}.nc-n10{color:#8c96a6;text-shadow:0 0 5px rgba(140,150,166,.6)}.nc-n11{color:#2bff9a;text-shadow:0 0 8px #2bff9a}.nc-n12{background:linear-gradient(180deg,#ffd166,#ff4d1c);-webkit-background-clip:text;background-clip:text;color:transparent}
/* 상점 확장 닉네임 색(2026-10-09) n13~n25 */
.nc-n13{color:#12b886}.nc-n14{color:#3fa9f5}.nc-n15{color:#9775fa}.nc-n16{color:#ff6b6b}.nc-n17{color:#8d5a2b}.nc-n18{color:#3554c4}
.nc-n19{background:linear-gradient(90deg,#0ea5e9,#14b8a6,#2563eb);-webkit-background-clip:text;background-clip:text;color:transparent}.nc-n20{background:linear-gradient(90deg,#f97316,#ec4899,#8b5cf6);-webkit-background-clip:text;background-clip:text;color:transparent}.nc-n21{background:linear-gradient(90deg,#db2777,#f472b6,#be185d);-webkit-background-clip:text;background-clip:text;color:transparent}
.nc-n22{background:linear-gradient(90deg,#6d28d9,#2563eb,#db2777,#6d28d9);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 0 4px rgba(124,58,237,.55))}.nc-n23{background:linear-gradient(180deg,#38bdf8,#0284c7,#075985);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 3px rgba(56,189,248,.7))}.nc-n24{background:linear-gradient(110deg,#0891b2 0%,#22d3ee 25%,#7c3aed 50%,#22d3ee 75%,#0891b2 100%);-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:ncShine 3s linear infinite;filter:drop-shadow(0 0 3px rgba(34,211,238,.6))}
.nc-n25{background:linear-gradient(90deg,#ff7a00,#7c3aed,#ff7a00);-webkit-background-clip:text;background-clip:text;color:transparent}
@keyframes ncShine{to{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.nc-n24{animation:none}}

/* ── 미니홈(싸이월드 프레임) ── */
.mh{display:grid;grid-template-columns:280px 1fr;gap:0;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh);overflow:hidden}
@media (max-width:900px){.mh{grid-template-columns:1fr}}
.mh-side{background:var(--soft);border-right:1px solid var(--line);padding:18px 16px;display:flex;flex-direction:column;gap:14px}
@media (max-width:900px){.mh-side{border-right:0;border-bottom:1px solid var(--line);padding:16px}}
.mh-prof{text-align:center}
.mh-prof .big{width:132px;height:132px;image-rendering:pixelated;background:#fff;border-radius:22px;border:1px solid var(--line);box-shadow:var(--sh)}
.mh-prof .nk{font-size:19px;font-weight:800;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.mh-prof .mood{font-size:15px;margin:4px 0 2px}
.mh-prof .st{color:var(--muted);font-size:13px;min-height:18px;white-space:pre-wrap;word-break:break-word}
.mh-prof .acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}
.mh-side .cnt{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mh-side .cnt div{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px 4px;text-align:center}
.mh-side .cnt b{display:block;font-size:16px} .mh-side .cnt span{font-size:11px;color:var(--muted)}
@media (max-width:900px){.mh-side{display:grid;grid-template-columns:132px 1fr;gap:12px;align-items:start}.mh-side .mh-prof{grid-row:span 3}.mh-side .cnt{grid-template-columns:repeat(3,1fr)}}
.mh-main{padding:16px;min-width:0}
.mh-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 -16px 14px;padding:0 16px;overflow-x:auto;scrollbar-width:none}
.mh-tabs::-webkit-scrollbar{display:none}
.mh-tabs [role=tab]{border:0;background:none;padding:10px 12px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;min-height:46px;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
.mh-tabs [role=tab][aria-selected=true]{color:var(--p-d);border-bottom-color:var(--p)}
.mh-tabs [role=tab] i{font-style:normal}
.room-wrap{position:relative;background:#1f1a14;border-radius:14px;overflow:hidden;line-height:0;border:4px solid #2c251c;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.room-wrap canvas{width:100%;height:auto;image-rendering:pixelated;display:block}
.room-acts{display:flex;gap:8px;align-items:center;margin-top:10px;flex-wrap:wrap}
.like{display:inline-flex;align-items:center;gap:4px;border:1.5px solid #f3c2c4;background:#fff5f5;color:var(--red);border-radius:22px;padding:0 14px;min-height:44px;font-weight:800}
.like.on{background:var(--red);color:#fff;border-color:var(--red)}
.fcs{display:grid;gap:6px;margin-bottom:12px}
.fc{font-size:13px;background:var(--gold-s);border-radius:10px;padding:8px 12px;display:flex;gap:8px;align-items:center;min-width:0}
.fc .body{flex:1;min-width:0;word-break:break-word}
.fp{display:flex;flex-wrap:wrap;gap:6px}
.fp a{display:inline-block}
.ach{display:flex;flex-wrap:wrap;gap:6px}
.ach span{font-size:20px;background:var(--gold-s);border-radius:10px;padding:4px 8px;cursor:default}
.mh-foot{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
@media (max-width:600px){.mh-foot{grid-template-columns:1fr}}
.gb{display:flex;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.gb.new{border-left:3px solid var(--p)}
.gb .b{flex:1;min-width:0}
.gb .h{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);flex-wrap:wrap}
.gb .t{white-space:pre-wrap;word-break:break-word;margin-top:4px;font-size:14px}
.gb .re{margin-top:8px;background:var(--soft);border-radius:10px;padding:8px 10px;font-size:13px}
.gb .ops{display:flex;gap:2px;margin-top:6px;flex-wrap:wrap}
.gb .ops button{border:0;background:none;color:var(--muted);font-size:12px;padding:6px 8px;min-height:32px;border-radius:8px}
.gb .ops button:hover{background:var(--soft);color:var(--text)}
form.inl{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
form.inl input[type=text],form.inl input[type=number],form.inl textarea,form.inl select{flex:1;min-width:150px;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;min-height:44px;background:#fff;font-size:15px}
form.inl input:focus,form.inl textarea:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px var(--p-s)}

/* ── 편집기 ── */
.ed{display:grid;grid-template-columns:1fr 360px;gap:14px}
@media (max-width:900px){.ed{grid-template-columns:1fr}}
.ed-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;align-items:center}
.ed-hint{font-size:13px;color:var(--muted);flex:1 1 100%}
.drawer{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;max-height:460px;overflow:auto;padding:2px}
@media (max-width:900px){.drawer{display:flex;overflow-x:auto;max-height:none;scrollbar-width:thin}.drawer button{flex:0 0 84px}}
.drawer button{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;min-height:88px;line-height:1.2}
.drawer button img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}
.drawer button.on{border-color:var(--p);background:var(--p-s);box-shadow:0 0 0 2px var(--p-s)}
.drawer button .q{color:var(--muted);font-size:10px}
.drawer button[disabled]{opacity:.4}
.ed select{border:1.5px solid var(--line);border-radius:12px;padding:8px 10px;min-height:44px;background:#fff}
.ed .sel3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}
@media (max-width:420px){.ed .sel3{grid-template-columns:1fr}}

/* ── 상점 ── */
.shop-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.cash-chip{margin-left:auto;background:var(--gold-s);color:#7a5200;border-radius:22px;padding:8px 14px;font-weight:800;display:inline-flex;gap:6px;align-items:center}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
@media (max-width:420px){.shop-grid{grid-template-columns:repeat(2,1fr)}}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 10px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;position:relative;transition:transform .12s,box-shadow .12s}
.card:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.card img,.card canvas,.card .txt{width:80px;height:80px;object-fit:contain;image-rendering:pixelated;background:var(--soft);border-radius:12px}
.card .txt{display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;padding:4px}
.card .nm{font-weight:800;font-size:13px;margin-top:4px;line-height:1.2}
.card .pr{color:var(--gold);font-weight:800;font-size:14px}
.card .own{position:absolute;top:8px;left:8px;font-size:10px;background:var(--s);color:#fff;border-radius:5px;padding:2px 6px;font-weight:800}
.card .gr{position:absolute;top:8px;right:8px;font-size:10px;border-radius:5px;padding:2px 6px;font-weight:800}
.gr-n{background:var(--bg2);color:var(--muted)}.gr-r{background:var(--blue-s);color:var(--blue)}.gr-l{background:linear-gradient(90deg,#ffe9a8,#ffd166);color:#8a5a00}
.card.l{border-color:#ffd166;box-shadow:0 0 0 2px #fff0c2}
.card .acts{display:flex;gap:4px;margin-top:6px;width:100%}
.card .acts .btn{flex:1;min-height:36px;padding:0 8px;font-size:13px}
.card .sub{font-size:11px;color:var(--muted)}
.gacha{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
@media (max-width:760px){.gacha{grid-template-columns:1fr}}
.gacha-box{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;background:radial-gradient(circle at 30% 20%,#7b61ff,#2b2d6e 70%);border-radius:16px;color:#fff;text-align:center;box-shadow:var(--sh)}
.gacha-box .big{font-size:56px;filter:drop-shadow(0 6px 10px rgba(0,0,0,.3))}
.gacha-box .odds{font-size:12px;opacity:.9}
.gacha-res{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;width:100%}
.gacha-res .r{background:rgba(255,255,255,.14);border-radius:10px;padding:6px 2px;display:flex;flex-direction:column;align-items:center;font-size:10px;opacity:0;transform:scale(.6);transition:all .35s;line-height:1.2}
.gacha-res .r.show{opacity:1;transform:scale(1)}
.gacha-res .r img{width:44px;height:44px;image-rendering:pixelated}
.gacha-res .r.l{box-shadow:0 0 16px #ffd166;background:rgba(255,209,102,.35)}
.gacha-res .r.rr{background:rgba(120,160,255,.35)}
.shake{animation:shake .6s}
@keyframes shake{0%,100%{transform:rotate(0)}20%{transform:rotate(-8deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(6deg)}}
.shard{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.shard div{background:var(--soft);border-radius:10px;padding:10px;text-align:center}
.shard b{display:block;font-size:18px} .shard span{font-size:12px;color:var(--muted)}

/* ── 미니미 꾸미기 ── */
.me-grid{display:grid;grid-template-columns:260px 1fr;gap:16px}
@media (max-width:760px){.me-grid{grid-template-columns:1fr}}
.me-prev{text-align:center;position:sticky;top:70px}
@media (max-width:760px){.me-prev{position:static}}
.me-prev canvas{width:176px;height:176px;image-rendering:pixelated;background:var(--soft);border-radius:22px;border:1px solid var(--line)}
.inv{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.inv button{border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:6px 4px;display:flex;flex-direction:column;align-items:center;font-size:11px;min-height:96px;gap:3px;line-height:1.2}
.inv button img{width:56px;height:56px;image-rendering:pixelated;object-fit:contain}
.inv button.on{border-color:var(--p);background:var(--p-s);box-shadow:0 0 0 2px var(--p-s)}
.inv .txt{font-weight:800;font-size:12px;min-height:56px;display:flex;align-items:center;text-align:center}
.moods{display:flex;flex-wrap:wrap;gap:6px}
.moods button{border:1.5px solid var(--line);background:#fff;border-radius:22px;padding:0 12px;min-height:40px;font-weight:600}
.moods button.on{border-color:var(--p);background:var(--p-s);color:var(--p-d)}

/* ── 로비·랭킹 ── */
.hero{background:linear-gradient(120deg,#ff8a7a,#ff6f61 45%,#f7b267);color:#fff;border-radius:18px;padding:20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;box-shadow:var(--sh);position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.15)}
.hero h1{margin:0;font-size:22px}
.hero p{margin:6px 0 0;opacity:.95;font-size:14px;max-width:520px}
.hero .me{display:flex;align-items:center;gap:12px}
.hero .me canvas{width:72px;height:72px;image-rendering:pixelated;background:rgba(255,255,255,.25);border-radius:18px}
.hero .acts{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap;position:relative}
.hero .btn{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.18);color:#fff}
.hero .btn:hover{background:rgba(255,255,255,.3)}
.quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
@media (max-width:760px){.quick{grid-template-columns:repeat(4,1fr)}}
.quick a,.quick button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 6px;color:var(--text);font-weight:700;font-size:13px;min-height:84px;box-shadow:var(--sh)}
.quick i{font-style:normal;font-size:26px;line-height:1}
.rk{display:grid;gap:6px}
.rk .row{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:#fff;border:1px solid var(--line);min-width:0}
.rk .row .n{width:24px;text-align:center;font-weight:800;color:var(--muted);flex:none}
.rk .row .n.top{color:var(--gold)}
.rk .row .v{margin-left:auto;font-weight:800;font-size:13px;color:var(--blue);flex:none}
.feed{display:grid;gap:6px}
.feed a,.feed div{display:block;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid var(--line);font-size:13px;color:var(--text)}
.feed .new{border-left:3px solid var(--p)}
.feed small{color:var(--muted);margin-left:6px}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
@media (max-width:420px){.thumbs{grid-template-columns:repeat(2,1fr)}}
.thumbs a{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;color:var(--text);transition:transform .12s}
.thumbs a:hover{transform:translateY(-2px)}
.thumbs canvas{width:100%;height:auto;display:block;image-rendering:pixelated}
.thumbs .cap{padding:8px 10px;font-size:12px;display:flex;justify-content:space-between;gap:6px}
.thumbs .cap b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── 길드 ── */
.g-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.g-head .emb{font-size:40px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--soft);border-radius:16px;flex:none}
.g-head .sign{font-size:22px;font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.g-head .meta{color:var(--muted);font-size:13px;display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.chat{display:flex;flex-direction:column;height:460px;max-height:70vh}
.chat .log{flex:1;overflow:auto;display:grid;gap:6px;align-content:start;padding:4px}
.chat .m{display:flex;gap:8px;align-items:flex-start;font-size:14px;min-width:0}
.chat .m .av{flex:none}
.chat .m .bd{background:var(--soft);border-radius:14px;border-top-left-radius:4px;padding:8px 12px;white-space:pre-wrap;word-break:break-word;max-width:85%}
.chat .m.me{flex-direction:row-reverse} .chat .m.me .bd{background:var(--p-s);border-top-left-radius:14px;border-top-right-radius:4px}
.chat .m .tm{color:var(--muted);font-size:10px;align-self:flex-end}
.chat .sys{text-align:center;color:var(--muted);font-size:12px;padding:2px 0}
.chat form{display:flex;gap:8px;padding-top:8px;border-top:1px solid var(--line)}
.chat form input{flex:1;border:1.5px solid var(--line);border-radius:22px;padding:10px 14px;min-height:44px;background:#fff;font-size:15px}
.members{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.members .mb{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff;font-size:12px;min-width:0}
.members .mb .nk{font-weight:800}
.members .mb .rl{color:var(--blue);font-size:11px;font-weight:700}
.glist .row{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--text);min-width:0}
.glist .row .emb{font-size:28px;flex:none}
.glist .row .nm{font-weight:800;font-size:15px}
.glist .row .in{color:var(--muted);font-size:12px}
.quest{display:grid;gap:8px}
.quest .q{font-size:13px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px}
.quest .bar{height:8px;background:var(--bg2);border-radius:4px;overflow:hidden;margin-top:6px}
.quest .bar i{display:block;height:100%;background:linear-gradient(90deg,var(--s),#7fe0c7)}

/* ── 모달·토스트 ── */
.modal{position:fixed;inset:0;background:rgba(30,22,10,.55);z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:0}
@media (min-width:601px){.modal{align-items:center;padding:16px}}
.mbox{background:var(--panel);border-radius:22px 22px 0 0;padding:20px 18px calc(18px + env(safe-area-inset-bottom));width:100%;max-height:92vh;max-height:92dvh;overflow:auto;animation:up .18s ease-out}
@media (min-width:601px){.mbox{border-radius:18px;width:min(480px,100%);padding:22px}}
@keyframes up{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.mbox h2{margin:0 0 10px;font-size:18px}
.mbox label{display:grid;gap:6px;margin:10px 0;font-size:13px;color:var(--muted);font-weight:600}
.mbox input,.mbox textarea,.mbox select{border:1.5px solid var(--line);border-radius:12px;padding:11px 12px;min-height:46px;font-size:16px;color:var(--text);background:#fff}
.mbox input:focus,.mbox textarea:focus,.mbox select:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px var(--p-s)}
.mbox p{margin:6px 0;font-size:14px}
.mact{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}
.mact .btn,.mact .btn-gold{flex:1}
@media (min-width:601px){.mact .btn,.mact .btn-gold{flex:0 0 auto}}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:12px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs [role=tab]{border:0;background:none;padding:10px 12px;font-weight:700;color:var(--muted);border-bottom:3px solid transparent;min-height:44px;white-space:nowrap}
.tabs [role=tab][aria-selected=true]{color:var(--p-d);border-bottom-color:var(--p)}
.err{color:var(--red);font-size:13px;min-height:18px;margin:4px 0}
.toast{position:fixed;left:50%;bottom:calc(var(--nav) + 16px + env(safe-area-inset-bottom));transform:translateX(-50%);background:#2a2622;color:#fff;padding:12px 18px;border-radius:14px;z-index:60;font-size:14px;max-width:92vw;box-shadow:0 8px 24px rgba(0,0,0,.25)}
@media (min-width:901px){.toast{bottom:28px}}
.skel{background:linear-gradient(90deg,var(--soft),#fff,var(--soft));background-size:200% 100%;animation:sk 1.2s infinite;border-radius:10px;min-height:16px}
@keyframes sk{to{background-position:-200% 0}}
/* v2 보정(2026-10-09): 모바일 가로 넘침 방지 — 그리드 자식 min-width:0, 세그먼트·칩은 가로 스크롤, 빈 상태는 전체 열 */
.wrap{overflow-x:clip}
.stack>*,.grid2>*,.cols2>*,.mh>*,.ed>*,.me-grid>*,.gacha>*,.pnl>*{min-width:0}
.seg,.chips,.tabs,.mh-tabs{min-width:0;max-width:100%}
.thumbs .empty,.shop-grid .empty,.members .empty,.quick .empty{grid-column:1/-1}
@media (max-width:900px){.mh-side > :not(.mh-prof){grid-column:2}.mh-side .mh-prof{grid-column:1;grid-row:1/span 6}}
.card .acts .btn{min-width:0}
.pnl h2 small{font-weight:500;font-size:12px;color:var(--muted)}
.pnl h2 .more .btn{min-height:38px}
.drawer .empty{grid-column:1/-1;flex:1 1 100%}
/* v2.1 (2026-10-09): 금고·일촌 강화·디자인 다듬기 */
.vault-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
@media (max-width:700px){.vault-kpi{grid-template-columns:repeat(2,1fr)}}
.vault-kpi div{background:linear-gradient(160deg,#fff8e6,#fff);border:1px solid #f1e2b8;border-radius:12px;padding:10px 12px}
.vault-kpi span{display:block;font-size:11px;color:var(--muted)} .vault-kpi b{font-size:17px}
.tbl{width:100%;border-collapse:collapse;font-size:13px} .tbl th{font-weight:700;color:var(--muted);text-align:left;padding:6px 4px;border-bottom:1px solid var(--line);font-size:11px} .tbl td{padding:8px 4px;border-bottom:1px dashed var(--line2)} .tbl .r{text-align:right}
.members .mb.fav{border-color:#f5c542;background:#fffbea}
.hd::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--p),#ffb199,var(--s),#7fe0c7)}
.hd{position:sticky}
.pnl h2{padding-bottom:8px;border-bottom:1px dashed var(--line2)}
.pnl.tight h2{font-size:15px}
.room-wrap{border-color:#5a4632;background:#3b2d1f;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 8px 20px rgba(60,45,20,.18)}
.mh-side{background:linear-gradient(180deg,#fff6ec,var(--soft))}
.quick a:hover,.quick button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(60,45,20,.14)}
.quick a,.quick button{transition:transform .12s,box-shadow .12s}
.card .pr::before{content:'💰 ';font-size:11px}
.feed a:hover{background:var(--soft)}
.btn-row .btn-s{min-height:34px}

.bgm{display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#fff3cf,#fff);border:1px solid #f1e2b8;border-radius:12px;padding:6px 10px;margin-bottom:10px}
.bgm .btn-ic{width:40px;min-height:40px;border-radius:50%;background:var(--gold);border-color:var(--gold);color:#fff;font-size:16px}
.bgm .bgm-t{font-size:13px}

/* v2.2 (2026-10-09 전수 점검): 스킨 은은하게 · 길드 2단 · 편집기 툴바 · 오늘 할 일 · 상점 더보기 */
body{background-image:linear-gradient(rgba(243,238,228,.86),rgba(243,238,228,.86)),var(--skin);background-size:auto,256px}
.g-grid{grid-template-columns:1fr 400px}
@media (max-width:900px){.g-grid{grid-template-columns:1fr}}
.g-chat .chat{height:520px}
.ed-tools{gap:6px}
.ed-save{display:flex;align-items:center;gap:10px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}
.ed-save .btn-p{margin-left:auto;min-width:120px}
@media (max-width:900px){.ed-save{position:sticky;bottom:calc(var(--nav) + env(safe-area-inset-bottom));background:var(--panel);z-index:5;margin:10px -12px -12px;padding:10px 12px;border-radius:0 0 var(--r) var(--r)}}
.todo{display:grid;gap:6px}
.todo-bar{height:8px;background:var(--bg2);border-radius:4px;overflow:hidden}
.todo-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--s),#7fe0c7)}
.todo-i{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--text);font-size:13px;font-weight:600}
.todo-i .ck{width:22px;height:22px;border-radius:7px;border:2px solid #c9c1b0;display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:#fff;flex:none}
.todo-i.done{color:var(--muted);text-decoration:line-through} .todo-i.done .ck{background:var(--s);border-color:var(--s)}
.mh-tabs [role=tab] small{font-weight:600;color:var(--muted);font-size:11px}
.more-btn{margin-top:10px}
.grid2,.g-grid{align-items:start}
.g-grid .room-wrap{text-align:center;background:#3b2d1f}
.g-grid .room-wrap canvas{max-height:560px;width:auto;max-width:100%;margin:0 auto}
.chat form input{min-width:0}
.chat form .btn{flex:none}
.thumbs canvas{aspect-ratio:384/416;object-fit:cover}

/* v2.3 (2026-10-10): 온보딩·알림 패널·미리보기·맨 위로 */
.onboard h2 .more{margin-left:auto}
.ob-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
@media (max-width:900px){.ob-steps{grid-template-columns:1fr 1fr}}
.ob-step{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;color:var(--text)}
.ob-step b{width:28px;height:28px;border-radius:50%;background:var(--p-s);color:var(--p-d);display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:13px}
.ob-step.done b{background:var(--s);color:#fff} .ob-step.done{opacity:.6}
.ob-step span{font-size:13px;font-weight:700;line-height:1.3} .ob-step small{display:block;color:var(--muted);font-weight:500;font-size:11px}
.bell-panel{position:fixed;top:60px;right:14px;width:min(360px,calc(100vw - 28px));background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--sh);z-index:30;padding:10px;max-height:70vh;overflow:auto}
.bp-h{display:flex;align-items:center;gap:6px;margin-bottom:8px} .bp-h b{font-size:15px;margin-right:auto}
.pv-wrap{display:flex;gap:12px;align-items:flex-end;justify-content:center;background:var(--soft);border-radius:14px;padding:14px;margin:8px 0}
.pv-av{image-rendering:pixelated;width:192px;height:192px;background:#fff;border-radius:16px} .pv-av.sm{width:96px;height:96px}
.pv-room{width:100%;max-width:384px;height:auto;image-rendering:pixelated;border-radius:12px;border:3px solid #3b2d1f}
.pv-skin{width:100%;border-radius:12px;min-height:120px}
.totop{position:fixed;right:14px;bottom:calc(var(--nav) + 14px + env(safe-area-inset-bottom));width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--panel);box-shadow:var(--sh);z-index:24;font-size:18px}
@media (min-width:901px){.totop{bottom:24px}}

@media (max-width:420px){.card .acts{flex-wrap:wrap}.card .acts .btn{flex:1 1 100%}.card .acts .btn[title]{flex:0 0 44px}}
/* 2026-10-10 비판 점검: PC 에서 내 방이 화면을 다 차지하지 않게(최대 640px, 가운데) */
.mh-main .room-wrap{text-align:center}
.mh-main .room-wrap canvas{max-height:640px;width:auto;max-width:100%;margin:0 auto}
.room-acts .btn-ic{margin-left:auto}

/* ── 길드 킹덤(2026-10-10): 캐슬 패널·병영·공격 편성·월드 지도·보고서 ── */
.kd-cast{display:flex;gap:14px;align-items:flex-start}
.kd-cast-img{position:relative;flex:0 0 150px;width:150px;height:150px;background:linear-gradient(#dff0ff,#cfe6c0);border-radius:var(--r2);display:flex;align-items:center;justify-content:center;overflow:hidden}
.kd-cast-img img{width:140px;height:140px;image-rendering:pixelated;object-fit:contain}
.kd-cast-img.sacked::after{content:'';position:absolute;inset:0;background:rgba(229,72,77,.28)}
.kd-badge{position:absolute;left:6px;font-size:11px;font-weight:800;padding:2px 6px;border-radius:999px;background:#fff;box-shadow:var(--sh)}
.kd-badge.sh{top:6px;color:var(--blue)} .kd-badge.sk{bottom:6px;color:var(--red)} .kd-badge.nw{top:6px;color:var(--s)}
.kd-cast-in{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.kd-kv{display:flex;justify-content:space-between;gap:10px;font-size:13px;border-bottom:1px dashed var(--line2);padding:3px 0}
.kd-kv span{color:var(--muted)} .kd-kv b{text-align:right}
.kd-hp{position:relative;height:18px;background:var(--line2);border-radius:999px;overflow:hidden}
.kd-hp i{display:block;height:100%;background:linear-gradient(90deg,var(--s),#7bd3bf);transition:width .4s}
.kd-hp span{position:absolute;inset:0;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;color:var(--text)}
.kd-sl{display:block;margin:8px 0;font-size:13px} .kd-sl input{width:100%;margin-top:4px;accent-color:var(--p)}
.kd-tg{display:flex;gap:10px;align-items:center;cursor:pointer} .kd-tg img{width:56px;height:56px;image-rendering:pixelated;flex:0 0 56px;object-fit:contain;background:var(--soft);border-radius:8px}
.kd-tg.off{opacity:.6;cursor:default} .kd-tg.on{outline:2px solid var(--p)} .kd-tg .b{flex:1;min-width:0}
.kd-map-wrap{overflow:auto;border-radius:var(--r2);border:1px solid var(--line);background:#9ccb6a;-webkit-overflow-scrolling:touch}
.kd-map-wrap canvas{display:block;max-width:none;width:100%;min-width:1152px;height:auto;cursor:pointer}

.kd-legend{font-size:12px;margin-top:8px}
@media (max-width:600px){.kd-cast{flex-direction:column}.kd-cast-img{width:100%;flex-basis:auto;height:140px}}

.kd-flag{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;object-fit:cover;vertical-align:middle;box-shadow:0 1px 2px rgba(0,0,0,.25);flex:0 0 auto}
.kd-flag.df{color:#fff;font-weight:900;letter-spacing:.5px;text-shadow:0 1px 1px rgba(0,0,0,.35);clip-path:polygon(0 0,100% 0,100% 70%,50% 100%,0 70%)}
.g-head .emb,.glist .row .emb{background:transparent;box-shadow:none}
.kd-cast-img{background-size:cover;background-position:center}
.kd-cast-img::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.08),rgba(0,0,0,.18))}
.kd-cast-img img{position:relative;filter:drop-shadow(0 10px 8px rgba(0,0,0,.35))}
.kd-map-wrap canvas{min-width:1536px}
.kd-map-wrap{background:#5d8a3f}

.kd-rally{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;border-radius:var(--r2);background:var(--gold-s);border:1px solid #f0dca0}
.kd-rally.done{background:var(--soft);border-color:var(--line)}
.kd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.kd-tech{border:1px solid var(--line);border-radius:var(--r2);padding:10px;display:flex;flex-direction:column;gap:6px;background:var(--panel)}
.kd-tech.done{background:var(--s-s);border-color:#bfe8da} .kd-tech-h{display:flex;justify-content:space-between;align-items:center}
.kd-replay{margin:10px 0 12px} .kd-replay canvas{width:100%;height:auto;border-radius:var(--r2);display:block;background:#6d9a4a}
.kd-rp-bar{display:flex;gap:10px;align-items:center;margin-top:6px;font-size:12px}
.kd-king{margin:8px 0 0;padding:8px 12px;border-radius:var(--r2);background:var(--gold-s);border:1px solid #f0dca0;font-size:13px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.kd-unit{width:28px;height:28px;object-fit:contain;vertical-align:middle;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}
.kd-unit-pv{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:var(--r2);background:var(--soft)} .kd-unit-pv img{width:64px;height:64px;object-fit:contain;filter:drop-shadow(0 3px 3px rgba(0,0,0,.3))}

.kd-aws{display:inline-flex;gap:4px;margin-left:6px;vertical-align:middle;flex-wrap:wrap}
.kd-aw{display:inline-flex;align-items:center;gap:1px;padding:1px 6px;border-radius:999px;background:var(--gold-s);border:1px solid #f0dca0;font-size:13px}
.kd-aw small{font-size:10px;font-weight:800;color:#8a6400}
.kd-skins .card img{width:100%;height:120px;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 6px 6px rgba(0,0,0,.25))}
.kd-skins .card.on{outline:2px solid var(--p)}
.kd-hall{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--line2);font-size:13px}
.kd-hall b{min-width:60px}
.kd-skins .card .own{z-index:2}

/* ── 킹덤 게임 HUD(2026-10-10) ── */
.kd-hud-pnl{padding:0!important;overflow:hidden;background:#1b2a1a!important;border:0!important}
.kd-scene{position:relative;padding:12px;min-height:330px;background:var(--kdbg) center 55%/cover no-repeat;display:flex;flex-direction:column;gap:8px;color:#fff}
.kd-scene::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,16,30,.55) 0%,rgba(10,16,30,0) 30%,rgba(10,16,30,0) 60%,rgba(10,16,30,.7) 100%);pointer-events:none}
.kd-scene>*{position:relative}
.kd-scene.sacked::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 55%,rgba(255,80,30,.35),transparent 60%);pointer-events:none;animation:kdpulse 1.2s ease-in-out infinite}
@keyframes kdpulse{50%{opacity:.4}}
.kd-res{display:flex;gap:6px;flex-wrap:wrap}
.kd-chip{display:inline-flex;align-items:center;gap:5px;padding:4px 10px 4px 6px;border-radius:999px;background:rgba(12,18,32,.78);border:1px solid rgba(255,255,255,.14);font-size:12px;box-shadow:0 2px 6px rgba(0,0,0,.3)}
.kd-chip i{font-style:normal;font-size:15px}.kd-chip small{color:#b9c3d6}.kd-chip b{color:#ffe28a}
.kd-chip.blue b{color:#9cc8ff}.kd-chip.gold{background:rgba(120,85,10,.85)}
.kd-stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;min-height:220px}
.kd-banner{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 6px;border-radius:12px;background:rgba(18,24,40,.85);border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px rgba(0,0,0,.35);font-size:16px}
.kd-lv{display:inline-block;padding:1px 8px;border-radius:7px;background:#f5b700;color:#3a2a00;font-weight:900;font-size:12px}
.kd-castle{position:relative;width:210px;height:190px;display:flex;align-items:flex-end;justify-content:center}
.kd-castle::before{content:'';position:absolute;bottom:6px;left:15%;right:15%;height:28px;border-radius:50%;background:rgba(0,0,0,.35);filter:blur(4px)}
.kd-castle img{position:relative;width:200px;height:200px;object-fit:contain;filter:drop-shadow(0 10px 10px rgba(0,0,0,.4));animation:kdbob 4s ease-in-out infinite}
@keyframes kdbob{50%{transform:translateY(-3px)}}
.shielded .kd-castle::after{content:'';position:absolute;inset:-6px 0 0;border-radius:50%;border:3px solid rgba(110,180,255,.85);box-shadow:0 0 22px rgba(110,180,255,.8),inset 0 0 22px rgba(110,180,255,.35)}
.kd-fire{position:absolute;inset:30% 20% 10%;background:radial-gradient(circle at 50% 80%,rgba(255,170,40,.9),rgba(255,60,20,.5) 40%,transparent 70%);filter:blur(6px);animation:kdpulse .7s ease-in-out infinite;pointer-events:none}
.kd-hpw{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;text-shadow:0 1px 2px rgba(0,0,0,.8)}
.kd-hpb{width:230px;height:10px;border-radius:6px;background:rgba(0,0,0,.6);border:1px solid rgba(255,255,255,.25);overflow:hidden}
.kd-hpb i{display:block;height:100%;background:linear-gradient(90deg,#2fd27a,#9bf26a)}
.kd-hpb.sm{width:100%;height:7px;background:var(--line2);border:0}
.kd-acts2{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding-top:4px}
.kd-rb{width:72px;display:flex;flex-direction:column;align-items:center;gap:1px;background:none;border:0;color:#fff;cursor:pointer;padding:0;font:inherit}
.kd-rb i{font-style:normal;width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:25px;background:radial-gradient(circle at 35% 30%,#5d7bb0,#23355c 70%);border:3px solid #e8c56a;box-shadow:0 4px 0 #8a6a1e,0 6px 12px rgba(0,0,0,.45);transition:transform .1s}
.kd-rb:hover i{transform:translateY(-2px)} .kd-rb:active i{transform:translateY(2px);box-shadow:0 1px 0 #8a6a1e}
.kd-rb.red i{background:radial-gradient(circle at 35% 30%,#ff8a6b,#c2301e 70%)} .kd-rb.green i{background:radial-gradient(circle at 35% 30%,#7fe0a0,#1d8a4c 70%)} .kd-rb.gold i{background:radial-gradient(circle at 35% 30%,#ffe08a,#c08a10 70%)} .kd-rb.blue i{background:radial-gradient(circle at 35% 30%,#8cc2ff,#2b5fb8 70%)}
.kd-rb b{font-size:12px;text-shadow:0 1px 2px #000} .kd-rb small{font-size:10px;color:#ffe28a;text-shadow:0 1px 2px #000;white-space:nowrap}
.kd-rb.off{opacity:.55;filter:grayscale(.6)}
.kd-scene .kd-rally{background:rgba(255,213,77,.92);color:#3a2a00;border:0}
/* 병영 카드 */
.kd-barr-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.kd-cap{width:220px;height:8px;border-radius:5px;background:var(--line2);overflow:hidden;margin-top:4px}.kd-cap i{display:block;height:100%;background:linear-gradient(90deg,var(--s),#7bd3bf)}
.kd-troop{margin-bottom:12px}.kd-troop-h{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.kd-troop-h small{color:var(--muted);font-size:12px}
.kd-units{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.kd-unitc{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 6px 8px;border-radius:14px;border:2px solid var(--line);background:linear-gradient(180deg,#fdf8ee,#efe6d2);cursor:pointer;font:inherit;color:var(--text);transition:transform .1s}
.kd-unitc:hover{transform:translateY(-2px);border-color:#e8c56a}
.kd-unitc img{width:78px;height:78px;object-fit:contain;filter:drop-shadow(0 4px 3px rgba(0,0,0,.3))}
.kd-unitc b{font-size:13px}.kd-unitc small{font-size:11px;color:var(--muted)}
.kd-unitc .kd-price{font-size:11px;color:#a06c00;font-weight:800}
.kd-unitc.has{border-color:#7bd3bf;background:linear-gradient(180deg,#f2fffa,#dff6ef)}
.kd-unitc.lock{filter:grayscale(.85);opacity:.6}.kd-unitc.lock img{filter:brightness(.5)}
.kd-tier{position:absolute;top:6px;left:6px;padding:0 6px;border-radius:6px;background:#2a2622;color:#ffe28a;font-size:11px;font-weight:900}
.kd-cnt{position:absolute;top:6px;right:6px;padding:0 7px;border-radius:999px;background:var(--s);color:#fff;font-size:11px;font-weight:900}
.kd-lock{font-size:11px;font-weight:800;color:#7d7466}
@media (max-width:600px){.kd-units{grid-template-columns:repeat(2,minmax(0,1fr))}.kd-rb{width:62px}.kd-rb i{width:48px;height:48px;font-size:22px}}
/* 훈련 창 */
.kd-wide .mbox,.mbox:has(.kd-train){max-width:620px}
.kd-train{display:flex;gap:14px;align-items:flex-start}
.kd-train-pv{position:relative;flex:0 0 170px;height:190px;border-radius:16px;background:radial-gradient(circle at 50% 70%,#fff6dc,#e9dcbc);display:flex;align-items:center;justify-content:center}
.kd-train-pv img{width:160px;height:160px;object-fit:contain;filter:drop-shadow(0 8px 6px rgba(0,0,0,.35));animation:kdbob 2.6s ease-in-out infinite}
.kd-train-f{flex:1;min-width:0}.kd-train-f h2{margin:0 0 4px;font-size:18px}
.kd-pick{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.kd-pick button{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:10px;border:2px solid var(--line);background:#fff;cursor:pointer;font:inherit;font-size:12px}
.kd-pick button img{width:26px;height:26px;object-fit:contain}.kd-pick button.on{border-color:var(--p);background:var(--p-s)}.kd-pick button[disabled]{opacity:.4;cursor:not-allowed}
.kd-qty{display:block;margin-top:10px;font-size:13px}.kd-qty input{width:100%;accent-color:var(--p);height:28px}
.kd-cost{font-size:15px}.kd-cost b{color:var(--gold);font-size:18px}.kd-cost small{color:var(--muted)}
@media (max-width:600px){.kd-train{flex-direction:column;align-items:stretch}.kd-train-pv{flex-basis:auto;height:150px}.kd-train-pv img{width:130px;height:130px}}
/* 출정 화면 */
.kd-war{position:fixed;inset:0;z-index:40;background:rgba(5,10,20,.72);display:flex;align-items:center;justify-content:center;padding:12px;backdrop-filter:blur(3px)}
.kd-war-in{width:min(980px,100%);max-height:calc(100vh - 24px);overflow:auto;border-radius:20px;background:#121b2c;color:#fff;box-shadow:0 20px 60px rgba(0,0,0,.6);border:2px solid #e8c56a}
.kd-war-hd{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:linear-gradient(90deg,#3a2a0a,#1b2440);border-bottom:1px solid rgba(232,197,106,.5);font-size:18px}
.kd-x{background:none;border:0;color:#fff;font-size:22px;cursor:pointer}
.kd-war-bd{padding:14px 16px}
.kd-war-tip{margin:0 0 12px;color:#c8d0e0;font-size:13px}.kd-war-tip b{color:#ffd54d}
.kd-tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.kd-tcard{border-radius:16px;overflow:hidden;background:#1d2840;border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column}
.kd-tcard.off{opacity:.6}
.kd-tc-img{position:relative;height:140px;background:var(--kdbg) center/cover;display:flex;align-items:center;justify-content:center}
.kd-tc-img img{width:130px;height:130px;object-fit:contain;filter:drop-shadow(0 8px 6px rgba(0,0,0,.45))}
.kd-tc-img .kd-lv{position:absolute;top:8px;right:8px}
.kd-st{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:999px;background:rgba(0,0,0,.65);font-size:11px;font-weight:800}.kd-st.blue{color:#9cc8ff}.kd-st.red{color:#ff8a8a}
.kd-tc-b{padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.kd-tc-n{display:flex;align-items:center;gap:6px;font-size:15px}
.kd-tc-m{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:#c8d0e0}
.kd-tc-why{font-size:12px;color:#ff9a8a}
.kd-tc-a{display:flex;gap:6px;justify-content:flex-end}
.kd-vs{position:relative;display:flex;align-items:center;justify-content:space-around;gap:10px;padding:16px;border-radius:16px;background:var(--kdbg) center/cover;margin-bottom:12px}
.kd-vs::before{content:'';position:absolute;inset:0;border-radius:16px;background:linear-gradient(90deg,rgba(30,60,150,.35),rgba(0,0,0,.15),rgba(160,30,30,.35))}
.kd-vs>*{position:relative}
.kd-vs-side{display:flex;flex-direction:column;align-items:center;gap:2px;text-shadow:0 1px 3px #000;text-align:center}
.kd-vs-side img{width:150px;height:150px;object-fit:contain;filter:drop-shadow(0 8px 8px rgba(0,0,0,.5))}
.kd-vs-side small{color:#ffe28a}
.kd-vs-mid{font-size:46px;font-weight:900;color:#ffd54d;text-shadow:0 3px 0 #8a4b00,0 0 20px rgba(255,180,0,.8);font-style:italic}
.kd-sliders{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.kd-sl2{display:grid;grid-template-columns:52px 70px 1fr 64px;align-items:center;gap:8px;padding:8px 10px;border-radius:14px;background:#1d2840;border:1px solid rgba(255,255,255,.1)}
.kd-sl2 img{width:52px;height:52px;object-fit:contain}.kd-sl2 span{display:flex;flex-direction:column;font-size:13px}.kd-sl2 small{color:#9aa6bd;font-size:11px}
.kd-sl2 input{width:100%;accent-color:#ffb020}.kd-sv{text-align:right;color:#ffd54d}
.kd-vs-sum{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0 4px;font-size:14px;color:#c8d0e0}.kd-vs-sum b{color:#fff}.kd-mor{color:#7cf7b0}
.kd-war-ft{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}.kd-war-ft.c{justify-content:center}
.kd-war .btn{background:#26324d;color:#fff;border-color:rgba(255,255,255,.2)} .kd-war .btn-p{background:var(--p);border-color:var(--p)}
.kd-go{font-size:20px;padding:12px 36px}
.kd-fight{position:relative}.kd-fight canvas{width:100%;height:auto;border-radius:14px;display:block}
.kd-fight-res{position:absolute;inset:0;border-radius:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:rgba(6,10,20,.78);animation:kdin .4s ease}
@keyframes kdin{from{opacity:0;transform:scale(1.05)}}
.kd-big-txt{font-size:54px;font-weight:900;letter-spacing:2px;text-shadow:0 4px 0 rgba(0,0,0,.5),0 0 30px currentColor;animation:kdpop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes kdpop{from{transform:scale(.3);opacity:0}}
.kd-fight-res.sack .kd-big-txt{color:#ffb020}.kd-fight-res.win .kd-big-txt{color:#7cf7b0}.kd-fight-res.lose .kd-big-txt{color:#9fb4ff}
.kd-loot{font-size:20px}.kd-loot b{color:#ffd54d;font-size:26px}.kd-sub{color:#c8d0e0;font-size:13px}
.kd-res-row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.kd-res-row span{display:flex;flex-direction:column;align-items:center;font-size:12px;color:#9aa6bd}.kd-res-row b{font-size:17px;color:#fff}
@media (max-width:600px){.kd-vs-side img{width:96px;height:96px}.kd-vs-mid{font-size:30px}.kd-big-txt{font-size:36px}.kd-fight-res{position:static;border-radius:0 0 14px 14px;padding:14px 8px}}
@media (max-width:600px){.g-head{flex-wrap:wrap;align-items:flex-start}.g-head>div:nth-child(2){flex:1 1 calc(100% - 80px)!important}.g-head #gAct{width:100%;justify-content:flex-end}.g-head .meta{display:flex;flex-wrap:wrap;gap:2px 10px}.g-head .meta span{display:inline}}

/* ── 월드 게임 화면(2026-10-10) ── */
.kd-wv{position:relative;height:calc(100svh - 104px);min-height:480px;border-radius:18px;overflow:hidden;background:#1a2a14;box-shadow:0 10px 30px rgba(0,0,0,.35);border:3px solid #3b2a12;outline:2px solid #e8c56a;outline-offset:-6px;user-select:none;-webkit-user-select:none}
@media (max-width:900px){.kd-wv{height:calc(100svh - 64px - var(--nav) - 24px);border-radius:14px}}
.kd-wv-map{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab}
.kd-wv-map.drag{cursor:grabbing}
.kd-wv-map canvas{position:absolute;left:0;top:0;transform-origin:0 0;max-width:none;display:block}
.kd-wv-tl,.kd-wv-tr,.kd-wv-bl,.kd-wv-br{position:absolute;z-index:3;pointer-events:none}.kd-wv-tl>*,.kd-wv-tr>*,.kd-wv-bl>*,.kd-wv-br>*{pointer-events:auto}
.kd-wv-tl{left:12px;top:12px}.kd-wv-tr{right:12px;top:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-end}.kd-wv-bl{left:12px;bottom:12px;display:flex;flex-direction:column;gap:4px;max-width:min(380px,60%)}.kd-wv-br{right:12px;bottom:12px;display:flex;flex-direction:column;gap:6px}
.kd-wv-me{display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:14px;background:rgba(14,20,34,.86);border:1px solid rgba(232,197,106,.6);color:#fff;text-decoration:none;box-shadow:0 6px 18px rgba(0,0,0,.4);min-width:210px}
.kd-wv-me b{display:block;font-size:15px}.kd-wv-me small{display:block;color:#c8d0e0;font-size:12px;margin:1px 0 4px}.kd-wv-me .kd-hpb{width:150px;height:6px}
.kd-wv-tr .kd-rb{width:62px}.kd-wv-tr .kd-rb i{width:48px;height:48px;font-size:22px}
.kd-wv-tr{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;max-width:60%}
.kd-wv-king{width:100%;text-align:right;font-size:12px;color:#ffe28a;text-shadow:0 1px 2px #000;display:flex;gap:4px;align-items:center;justify-content:flex-end}
.kd-wv-fi{display:block;padding:5px 10px;border-radius:10px;background:rgba(14,20,34,.78);color:#fff;font-size:12px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kd-wv-fi em{color:#ffd54d;font-style:normal;font-weight:800}.kd-wv-fi small{color:#9aa6bd}
.kd-wv-br button{width:40px;height:40px;border-radius:12px;border:1px solid rgba(232,197,106,.7);background:rgba(14,20,34,.86);color:#fff;font-size:20px;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.4)}
.kd-wv-drawer{position:absolute;z-index:4;top:12px;right:12px;bottom:12px;width:min(380px,calc(100% - 24px));display:flex;flex-direction:column;border-radius:16px;background:rgba(14,20,34,.94);border:1px solid rgba(232,197,106,.6);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.5);animation:kdslide .2s ease}
@keyframes kdslide{from{transform:translateX(20px);opacity:0}}
.kd-wv-dh{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.12);font-size:16px}
.kd-wv-db{flex:1;overflow:auto;padding:10px 12px}
.kd-wv-db .chips button{background:#26324d;color:#fff;border-color:rgba(255,255,255,.2)}.kd-wv-db .chips button[aria-selected=true]{background:#e8c56a;color:#2a1d00}
.kd-wl{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.kd-wl-i{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;border:1px solid rgba(255,255,255,.1);background:#1d2840;color:#fff;cursor:pointer;text-align:left;font:inherit}
.kd-wl-i:hover{border-color:#e8c56a}.kd-wl-i img{width:58px;height:58px;object-fit:contain;flex:none;filter:drop-shadow(0 3px 3px rgba(0,0,0,.4))}
.kd-wl-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.kd-wl-t small{color:#9aa6bd;font-size:11px}
.kd-wv-db .gb,.kd-wv-db .rk .row{background:#1d2840;border-color:rgba(255,255,255,.1);color:#fff}.kd-wv-db .muted,.kd-wv-db .gb .t{color:#9aa6bd!important}.kd-wv-db h2{color:#ffd54d;font-size:15px}.kd-wv-db a{color:#fff}
.kd-wv-db .pnl,.kd-wv-db #wdSeason{background:transparent;border:0;box-shadow:none;padding:0}
@media (max-width:600px){.kd-wv-me{min-width:0;padding:6px 10px 6px 6px}.kd-wv-me .kd-hpb{width:110px}.kd-wv-tr{max-width:46%}.kd-wv-tr .kd-rb{width:50px}.kd-wv-tr .kd-rb i{width:40px;height:40px;font-size:18px}.kd-wv-tr .kd-rb small{display:none}.kd-wv-bl{max-width:70%}.kd-wv-fi:nth-child(n+3){display:none}}
/* 어두운 팝업 */
.kd-war-in.sm{width:min(520px,100%);position:relative}.kd-war-in.sm.wide{width:min(620px,100%)}
.kd-pop-x{position:absolute;right:10px;top:8px;z-index:3;text-shadow:0 1px 3px #000}
.kd-pop .kd-war-bd{padding:16px}.kd-pop h2{color:#ffd54d;margin:0 0 10px;font-size:18px}.kd-pop h3{color:#ffe28a;font-size:14px}
.kd-pop .kd-kv{border-color:rgba(255,255,255,.1)}.kd-pop .kd-kv span{color:#9aa6bd}.kd-pop .muted{color:#9aa6bd!important}
.kd-pop .tbl th,.kd-pop .tbl td{border-color:rgba(255,255,255,.08);color:#fff}.kd-pop .rk .row{background:#1d2840;color:#fff}.kd-pop a{color:#fff}
.kd-pop .kd-hp{background:rgba(255,255,255,.12)}.kd-pop .kd-hp span{color:#fff}.kd-pop .kd-cast-img{flex-basis:130px;width:130px;height:130px}
.kd-pop .mact .btn,.kd-pop .btn{background:#26324d;color:#fff;border-color:rgba(255,255,255,.2)}.kd-pop .btn-p{background:var(--p)}
.kd-wcard{margin:-16px}.kd-tc-img.big{height:200px;border-radius:0}.kd-tc-img.big img{width:190px;height:190px}
.kd-wcard-b{padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.kd-wstat{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.kd-wstat span{display:flex;flex-direction:column;align-items:center;padding:6px 4px;border-radius:10px;background:#1d2840;font-size:11px;color:#9aa6bd}.kd-wstat i{font-style:normal;font-size:16px}.kd-wstat b{color:#fff;font-size:13px}
.kd-go.sm{font-size:16px;padding:9px 22px}
.kd-hall{border-color:rgba(255,255,255,.1)}
/* 설정 카드 */
.kd-set{display:grid;gap:12px;max-width:720px}
.kd-set-c{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:var(--panel)}
.kd-set-c h3{margin:0 0 10px;font-size:15px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.kd-set-c h3 small{font-size:12px;color:var(--muted);font-weight:400}
.kd-set-c.danger{border-color:#f3c9c4;background:#fff7f6}
.kd-f{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;font-size:13px;font-weight:700}.kd-f small{font-weight:400;color:var(--muted)}
.kd-f textarea,.kd-f select,.kd-f input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-weight:400}
.kd-f textarea:focus,.kd-f select:focus,.kd-f input:focus{outline:2px solid var(--p-s);border-color:var(--p)}
.kd-f2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:600px){.kd-f2{grid-template-columns:1fr}}
.kd-money{display:flex;align-items:center;gap:8px}.kd-money b{white-space:nowrap;color:var(--gold)}
.kd-set-ft{display:flex;justify-content:flex-end}
.kd-flag-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
/* 창고 */
.kd-vault-hero{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;border-radius:16px;background:linear-gradient(135deg,#3a2a0a,#7a5a10);color:#fff;box-shadow:var(--sh)}
.kd-vault-hero>i{font-style:normal;font-size:40px}.kd-vault-hero small{display:block;color:#ffe28a;font-size:12px}.kd-vault-hero b{font-size:28px}
.kd-vault-meta{margin-left:auto;display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:#ffe9b0}.kd-vault-meta b{font-size:14px;color:#fff;margin-left:4px}
.kd-don-in{display:flex;gap:8px;align-items:center;margin-top:8px}.kd-don-in input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}
.kd-wcard .kd-tc-img .kd-lv{right:auto;left:12px}.kd-wcard .kd-tc-img .kd-st{top:auto;bottom:10px}
.kd-pop-x{width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.55)!important;display:flex;align-items:center;justify-content:center;font-size:18px!important}
@media (max-width:600px){.kd-wv-tr{flex-direction:column;flex-wrap:nowrap;max-width:none;top:10px;right:8px}.kd-wv-king{display:none}.kd-wv-tl{left:8px;top:10px;max-width:calc(100% - 76px)}.kd-wv-me b{font-size:13px}}
/* 영역제 월드(2026-10-10) */
.kd-wv-map canvas#wdBg{z-index:0}.kd-wv-map canvas#wdMap{z-index:1}
.kd-wv-ban{position:absolute;z-index:3;left:50%;top:12px;transform:translateX(-50%);width:min(560px,calc(100% - 24px));padding:10px 14px;border-radius:14px;background:rgba(14,20,34,.9);border:2px solid #7cff9a;color:#fff;display:flex;flex-direction:column;gap:3px;box-shadow:0 8px 20px rgba(0,0,0,.45);text-align:center}
.kd-wv-ban span{font-size:12px;color:#c8d0e0}.kd-wv-ban span b{color:#7cff9a}
.kd-wv-banb{display:flex;gap:6px;justify-content:center;margin-top:4px}.kd-wv-ban .btn{background:#26324d;color:#fff;border-color:rgba(255,255,255,.2)}
.kd-wv-br{align-items:flex-end}.kd-wv-zb{display:flex;flex-direction:column;gap:6px}
#wvMini{width:200px;height:127px;border-radius:10px;border:2px solid #e8c56a;box-shadow:0 4px 12px rgba(0,0,0,.45);cursor:pointer;background:#5f8f3a}
.kd-wv-br{flex-direction:row!important;gap:8px!important}
.kd-reg .kd-reg-n{width:44px;height:44px;flex:none;border-radius:12px;background:#2b3a5c;display:flex;align-items:center;justify-content:center;font-weight:900;color:#ffd54d}
.kd-reg.mine{border-color:#e8c56a;background:#3a2f12}
.kd-wl-q{width:100%;box-sizing:border-box;padding:9px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.2);background:#0f1726;color:#fff;font:inherit;margin-bottom:8px}
@media (max-width:600px){#wvMini{width:120px;height:76px}.kd-wv-ban{top:auto;bottom:64px}.kd-wv-bl{display:none}}
.kd-wv-db .kd-hpb.sm,.kd-pop .kd-hpb.sm{background:rgba(255,255,255,.12)}
@media (min-width:901px){.ed .room-wrap canvas{max-height:calc(100vh - 230px);width:auto;max-width:100%;margin:0 auto}}   /* 2026-10-10 PC 방 편집기가 화면보다 커지던 것 */

/* BGM 재생 목록(2026-10-10) */
.bgm .btn-ic.on{background:var(--p-s);border-color:var(--p)}
.bgm-pl{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:10px;background:var(--soft);display:flex;flex-direction:column;gap:4px}
.bgm-pl ol{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.bgm-pl li{display:flex;align-items:center;gap:4px;font-size:13px}.bgm-pl li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bgm-pl li .btn-s{min-height:30px;padding:2px 8px}
#avInv button{position:relative}.bgm-no{position:absolute;top:4px;left:4px;width:20px;height:20px;border-radius:50%;background:var(--p);color:#fff;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center}

/* 피격 팝업(2026-10-10) */
.raid-pop{position:fixed;inset:0;z-index:55;background:rgba(40,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px;animation:kdin .25s ease}
.raid-in{width:min(460px,100%);border-radius:18px;overflow:hidden;background:#151d2e;color:#fff;border:3px solid #ff5c5c;box-shadow:0 0 0 6px rgba(255,92,92,.25),0 20px 50px rgba(0,0,0,.6);animation:raidshake .5s ease 2}
@keyframes raidshake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.raid-hd{display:flex;align-items:center;gap:10px;padding:14px 16px;background:linear-gradient(90deg,#7a1010,#3a0d0d);font-size:16px}
.raid-ic{font-size:30px;animation:kdpulse .8s ease-in-out infinite}
.raid-row{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.raid-row b{font-size:16px}.raid-row span{grid-column:1;color:#e6ebf5;font-size:13px}.raid-row small{grid-column:1;color:#9aa6bd;font-size:12px}.raid-row .btn{grid-column:2;grid-row:1/4;align-self:center;background:#26324d;color:#fff;border-color:rgba(255,255,255,.2)}
.raid-ft{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px}.raid-ft .btn{background:#26324d;color:#fff;border-color:rgba(255,255,255,.2)}.raid-ft .btn-p{background:var(--p);border-color:var(--p)}

/* 사진첩(2026-10-10) */
.ph-up{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:12px;background:var(--panel)}
.ph-warn{padding:10px 12px;border-radius:10px;background:#fff3cf;border:1px solid #f0d27a;color:#5a4300;font-size:13px;line-height:1.55;margin-bottom:10px}
.ph-form{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ph-form input[type=text]{flex:1 1 200px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit}.ph-form select{padding:10px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff}
.ph-pick{cursor:pointer}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px}
.ph-cell{position:relative;aspect-ratio:1;border:0;padding:0;border-radius:10px;overflow:hidden;cursor:pointer;background:var(--soft)}.ph-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .15s}.ph-cell:hover img{transform:scale(1.04)}
.ph-sc{position:absolute;top:4px;right:4px;font-size:12px;background:rgba(0,0,0,.55);border-radius:6px;padding:1px 4px}
.ph-view img{width:100%;max-height:70vh;object-fit:contain;border-radius:10px;background:#111;display:block}.ph-cap{margin-top:8px;font-size:14px}
@media (max-width:420px){.ph-grid{grid-template-columns:repeat(3,1fr)}}
/* 미니홈 BGM 막대: 좁은 화면에서 곡 제목이 한 글자씩 꺾이고 「자동재생」이 세로로 쌓이던 문제(10/10 재테스트) */
.bgm{flex-wrap:wrap;row-gap:6px}
.bgm .bgm-t{flex:1 1 120px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bgm .chk{white-space:nowrap;flex:none}
@media (max-width:600px){.bgm .bgm-t{flex-basis:100%;order:-1}.bgm .btn-ic{width:36px;min-height:36px}}

/* ══ 미니홈 설정·꾸미기 UX 개편(2026-10-10) ══ */
/* 내 미니홈 — 주인 전용 꾸미기 바로가기 */
.own-bar{background:linear-gradient(135deg,#fff4e8,#fffdf8);border:1.5px solid #f6d9c2;border-radius:16px;padding:12px;margin-bottom:12px}
.own-h{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:15px}
.own-h a{margin-left:auto;font-size:13px;font-weight:700}
.own-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.own-tiles a,.own-tiles button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:#fff;border:1.5px solid var(--line);border-radius:14px;padding:10px 4px 8px;color:var(--text);text-decoration:none;font:inherit;cursor:pointer;min-height:84px;transition:transform .1s,border-color .15s,box-shadow .15s}
.own-tiles a:hover,.own-tiles button:hover{border-color:var(--p);box-shadow:0 4px 12px rgba(255,111,97,.18);transform:translateY(-2px)}
.own-tiles i{font-style:normal;font-size:26px;line-height:1.1}
.own-tiles b{font-size:13px}
.own-tiles small{font-size:11px;color:var(--muted);line-height:1.2;text-align:center}
@media (max-width:700px){.own-tiles{grid-template-columns:repeat(3,1fr)}.own-tiles a,.own-tiles button{min-height:76px}}
.room-wrap .room-edit{position:absolute;top:10px;right:10px;background:rgba(255,255,255,.94);color:var(--text);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:800;line-height:1.2;text-decoration:none;box-shadow:0 3px 10px rgba(0,0,0,.25)}
.room-wrap .room-edit:hover{background:#fff;color:var(--p-d)}
.bgm .bgm-cv{width:64px;height:36px;object-fit:cover;border-radius:6px;flex:none;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.bgm-empty{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);border-style:dashed}
.bgm-empty .bgm-ic{font-size:24px}
.bgm-empty span:nth-child(2){display:flex;flex-direction:column;flex:1;min-width:0;line-height:1.3}
.bgm-empty small{color:var(--muted);font-size:12px}
@media (max-width:600px){.bgm .bgm-cv{order:-2}}

/* 설정 허브 */
.set-hd{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.set-hd h1{margin:0;font-size:20px}
.set-hd p{margin:2px 0 0;font-size:13px}
.set-hd .btn{margin-left:auto}
.set-nav{display:grid;grid-template-columns:repeat(9,1fr);gap:8px}
.set-nav a,.set-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:var(--panel);border:1.5px solid var(--line);border-radius:14px;min-height:76px;padding:8px 2px;color:var(--text);font:inherit;font-weight:700;font-size:13px;text-decoration:none;cursor:pointer}
.set-nav i{font-style:normal;font-size:24px;line-height:1.1}
.set-nav a:hover,.set-nav button:hover{border-color:var(--p)}
.set-nav [aria-selected=true]{background:var(--p);border-color:var(--p);color:#fff;box-shadow:0 3px 0 var(--p-d)}
.set-nav em{position:absolute;top:5px;right:7px;min-width:18px;height:18px;border-radius:9px;background:var(--red);color:#fff;font-style:normal;font-size:11px;line-height:18px;padding:0 5px}
.set-nav a{background:var(--gold-s);border-color:#f1dc9e}
@media (max-width:900px){.set-nav{grid-template-columns:repeat(5,1fr);gap:6px}.set-nav a,.set-nav button{min-height:64px;font-size:12px}.set-nav i{font-size:21px}.set-hd .btn{margin-left:0;width:100%}}
#meTitle small{font-weight:500;font-size:12px;color:var(--muted)}
.chips.wrap{flex-wrap:wrap;overflow:visible}

/* BGM 설정 */
.bgm-set{display:grid;grid-template-columns:340px 1fr;gap:18px;align-items:start}
@media (max-width:900px){.bgm-set{grid-template-columns:1fr}}
.bgm-set h3{margin:0 0 4px;font-size:15px}.bgm-set h3 small{font-weight:600;color:var(--muted);font-size:12px}
.bgm-set>section>p.muted{font-size:12px;margin:0 0 10px}
.bgm-plw{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:12px;position:sticky;top:70px}
@media (max-width:900px){.bgm-plw{position:static}}
.bgm-ol{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px;counter-reset:b}
.bgm-ol li{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px;counter-increment:b}
.bgm-ol li::before{content:counter(b);font-weight:900;color:var(--p-d);width:16px;text-align:center;flex:none}
.bgm-ol .cv{width:56px;height:32px;object-fit:cover;border-radius:5px;flex:none}
.bgm-ol .nm{flex:1;min-width:0;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bgm-ol .ops{display:flex;gap:3px;flex:none}.bgm-ol .ops .btn{width:32px;min-height:32px;padding:0}
.cv.none{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffe0a3,#ffb4a8);font-size:16px}
.bgm-none{margin-bottom:10px;font-size:13px}
.bgm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
@media (max-width:420px){.bgm-grid{grid-template-columns:repeat(2,1fr);gap:8px}}
.bgm-card{background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:6px}
.bgm-card.on{border-color:var(--p);box-shadow:0 0 0 2px var(--p-s)}
.bgm-card>b{font-size:13px;line-height:1.25;min-height:2.5em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 2px}
.bgm-card .btn{width:100%}
.cvw{position:relative;border-radius:8px;overflow:hidden;aspect-ratio:16/9;background:#2a2622}
.cvw .cv{width:100%;height:100%;object-fit:cover;display:flex}
.cvw .pv{position:absolute;right:6px;bottom:6px;width:36px;height:36px;border-radius:50%;border:0;background:rgba(0,0,0,.62);color:#fff;font-size:14px;cursor:pointer}
.cvw .pv:hover{background:var(--p)}
.cvw .no{position:absolute;left:6px;top:6px;min-width:22px;height:22px;border-radius:11px;background:var(--p);color:#fff;font-size:12px;font-weight:900;display:flex;align-items:center;justify-content:center;padding:0 6px}
/* 홈 스킨 */
.skin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
@media (max-width:420px){.skin-grid{grid-template-columns:repeat(2,1fr)}}
.skin-card{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:6px;font:inherit;font-size:13px;cursor:pointer;text-align:center}
.skin-card .sw{display:block;height:84px;border-radius:8px;background-size:96px;border:1px solid var(--line2)}
.skin-card.on{border-color:var(--p);box-shadow:0 0 0 2px var(--p-s)}
.skin-card em{position:absolute;top:10px;left:10px;font-style:normal;font-size:11px;font-weight:800;background:var(--p);color:#fff;border-radius:6px;padding:1px 6px}

/* 방 꾸미기 편집기 */
.ed-steps{list-style:none;display:flex;gap:6px;margin:0 0 10px;padding:0}
.ed-steps li{flex:1;display:flex;align-items:center;gap:6px;background:var(--soft);border:1.5px solid var(--line);border-radius:10px;padding:6px 8px;font-size:13px;font-weight:700;color:var(--muted)}
.ed-steps li b{width:22px;height:22px;border-radius:50%;background:var(--line);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;flex:none}
.ed-steps li.on{border-color:var(--p);background:var(--p-s);color:var(--text)}.ed-steps li.on b{background:var(--p)}
.ed-steps li.done b{background:var(--s)}
@media (max-width:520px){.ed-steps li{font-size:11px;padding:5px;gap:4px}.ed-steps li b{width:18px;height:18px;font-size:10px}}
.ed .ed-hint{margin:10px 0 0;padding:8px 12px;background:var(--gold-s);border-radius:10px;font-size:13px;color:var(--text);min-height:20px}
.ed-sep{flex:0 0 1px;align-self:stretch;background:var(--line);margin:0 2px}
.ed .seg{margin-bottom:10px}
.drawer.tiles{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))}
.drawer .sw{width:64px;height:64px;border-radius:8px;object-fit:cover;image-rendering:pixelated;border:1px solid var(--line2)}
.drawer .sw.none{display:flex;align-items:center;justify-content:center;background:var(--soft);color:var(--muted);font-size:12px}
@media (max-width:900px){.drawer.tiles{display:grid;grid-template-columns:repeat(4,1fr);overflow:visible}.drawer.tiles button{flex:none}}
@media (max-width:420px){.drawer.tiles{grid-template-columns:repeat(3,1fr)}}
.ed-savebar{grid-column:1/-1;position:sticky;bottom:12px;z-index:20;display:flex;align-items:center;gap:10px;background:rgba(255,253,248,.97);border:1.5px solid var(--line);border-radius:16px;padding:8px 10px;box-shadow:0 8px 24px rgba(60,45,20,.18)}
@media (max-width:900px){.ed-savebar{bottom:calc(var(--nav) + env(safe-area-inset-bottom) + 8px)}}
.ed-savebar .btn-p{margin-left:auto;min-width:130px}
.ed-dirty{font-size:13px;color:var(--muted)}.ed-dirty.on{color:var(--p-d);font-weight:800}
.btn-p.pulse{animation:edp 1.6s ease-in-out infinite}
@keyframes edp{0%,100%{box-shadow:0 3px 0 var(--p-d)}50%{box-shadow:0 3px 0 var(--p-d),0 0 0 6px rgba(255,111,97,.25)}}
@media (prefers-reduced-motion:reduce){.btn-p.pulse{animation:none}}
/* 상점 — 시그 BGM 표지 */
.card .bgm-cover{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#2a2622}
.card .bgm-cover img{width:100%;height:100%;object-fit:cover;image-rendering:auto;background:none;border-radius:0}
.card .bgm-cover .none{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:30px;background:linear-gradient(135deg,#ffe0a3,#ffb4a8)}
.card .bgm-cover .bgm-prev{position:absolute;right:6px;bottom:6px;width:38px;height:38px;border-radius:50%;border:0;background:rgba(0,0,0,.62);color:#fff;font-size:15px;cursor:pointer;padding:0}
.card .bgm-cover .bgm-prev:hover{background:var(--p)}
.pv-bgm{width:100%;max-width:420px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;display:block;margin:0 auto}
/* PC 편집기: 저장 바는 방 패널 바로 아래(고정 안 함), 방 그림은 한 화면에 도구까지 보이게 */
/* 칸 배치: PC = 왼쪽(방 → 도구 → 저장) + 오른쪽 서랍 / 모바일 = 방 → 서랍 → 도구, 저장 바는 아래 고정 */
.ed{align-items:start}.ed .ed-main{padding-bottom:12px}.ed .ed-tl .ed-tools{margin-top:0}
@media (min-width:901px){.ed .ed-main{grid-column:1;grid-row:1}.ed .ed-tl{grid-column:1;grid-row:2}.ed-savebar{grid-column:1;grid-row:3;position:static;box-shadow:none}.ed .ed-dr{grid-column:2;grid-row:1/span 3;position:sticky;top:70px}.ed .room-wrap canvas{max-height:calc(100vh - 420px);min-height:300px}}
@media (max-width:900px){.ed .ed-dr{order:1}.ed .ed-tl{order:2}.ed-savebar{order:3}.ed .ed-dr h2{display:none}}
@media (max-width:900px){.ed .room-wrap canvas{max-height:44vh;width:auto;max-width:100%;margin:0 auto}.ed .room-wrap{text-align:center}}
@media (max-width:420px){.ed-steps .lg{display:none}.ed-dirty:not(.on){display:none}.ed .ed-hint{font-size:12px;padding:6px 10px}}
@media (max-width:900px){.ed-savebar:not(.dirty){position:static;box-shadow:none}}
@media (max-width:900px) and (max-height:760px){.ed .room-wrap canvas{max-height:36vh}}
.ed-dirty{white-space:nowrap}
.pv-bgmw{display:flex;flex-direction:column;align-items:center;gap:10px;width:100%}
.pv-bgmw .btn{width:120px}
.pv-bgm.none{display:flex;align-items:center;justify-content:center;font-size:44px;background:linear-gradient(135deg,#ffe0a3,#ffb4a8)}
.pv-wrap .pv-bgmw img{max-width:100%}

/* ══ 화면 개선 2차(2026-10-10) ══ */
/* 미니홈: 방 옆에 행동·일촌평·발자국(PC), 모바일은 방 → 행동 → 일촌평 순 */
.mh-stage{display:grid;grid-template-columns:1fr;gap:12px;align-items:start}
.stage-side{display:flex;flex-direction:column;gap:10px}
.stage-side .room-acts{margin-top:0}
.ss-box{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.ss-box h3{margin:0 0 8px;font-size:13px}
.ss-box .fcs{margin:0}
.side-ach h3{margin:0 0 6px;font-size:13px}
@media (min-width:1100px){
  .mh-stage{grid-template-columns:auto minmax(240px,1fr)}
  .mh-stage .room-wrap{display:inline-block}
  .mh-main .mh-stage .room-wrap canvas{height:min(600px,calc(100vh - 220px));min-height:420px;width:auto;max-width:none;max-height:none}
  .stage-side{position:sticky;top:70px}
}
@media (max-width:1099px){.mh-main .mh-stage .room-wrap canvas{max-height:none;width:100%;height:auto}}
/* 모바일: 꾸미기 타일 한 줄, BGM 한 줄, 프로필 칸 압축 */
@media (max-width:700px){
  .own-bar{padding:10px;margin:0 -4px 10px}
  .own-h{margin-bottom:8px;font-size:14px}
  .own-tiles{display:flex;overflow-x:auto;scrollbar-width:none;gap:6px;margin:0 -10px;padding:0 10px}
  .own-tiles::-webkit-scrollbar{display:none}
  .own-tiles a,.own-tiles button{flex:0 0 74px;min-height:62px;padding:6px 2px}
  .own-tiles small{display:none}
  .own-tiles i{font-size:22px}
  .bgm{flex-wrap:nowrap;gap:6px;padding:6px 8px}
  .bgm #bgmVol,.bgm #bgmPrev{display:none}
  .bgm .bgm-t{flex:1 1 auto;order:0;flex-basis:auto}
  .bgm .bgm-cv{order:0;width:48px;height:27px}
  .bgm .bgm-auto span{display:none}
  .bgm .btn-ic{width:34px;min-height:34px;font-size:13px}
  .bgm .btn-s{padding:0 8px;font-size:12px}
  .mh-side{grid-template-columns:96px 1fr;padding:12px}
  .mh-prof .big{width:96px;height:96px;border-radius:16px}
  .mh-prof .nk{font-size:16px}
  .mh-side .kv{font-size:12px;padding:3px 0}
  .side-ach{grid-column:1/-1}
}
/* 상점·길드 검색칸, 카드 뱃지 */
form.inl input[type=search]{flex:1;min-width:150px;border:1.5px solid var(--line);border-radius:12px;padding:10px 12px;min-height:44px;background:#fff;font-size:15px;-webkit-appearance:none;appearance:none}
form.inl input[type=search]:focus{outline:none;border-color:var(--p);box-shadow:0 0 0 3px var(--p-s)}
@media (max-width:420px){form.inl.srch{flex-wrap:nowrap}form.inl.srch input,form.inl.srch select{min-width:0}form.inl.srch select{flex:0 0 96px}form.inl.srch .btn{flex:none}}
.card .gr,.card .own{z-index:2}
/* 모바일 탭 줄바꿈: 상점 탭·길드 탭 */
@media (max-width:700px){
  #shTabs{flex-wrap:wrap;overflow:visible}
  #shTabs button{flex:1 1 calc(33.3% - 6px);padding:0 6px;font-size:13px;min-height:38px}
  #gTabs{flex-wrap:wrap;overflow:visible}
  #gTabs button{flex:1 1 calc(33.3% - 4px);font-size:13px;padding:0 4px}
}
/* 킹덤 순위 카드 */
.kr-list{display:flex;flex-direction:column;gap:8px}
.kr-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#fff;border:1.5px solid var(--line);border-radius:14px;color:var(--text);text-decoration:none;transition:transform .1s,border-color .15s}
.kr-row:hover{border-color:var(--p);transform:translateY(-1px)}
.kr-row.mine{background:var(--p-s)}
.kr-n{width:26px;height:26px;border-radius:50%;background:var(--bg2);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;flex:none}
.kr-row.t1 .kr-n{background:linear-gradient(180deg,#ffd76a,#e0a516);color:#5a3a00}.kr-row.t2 .kr-n{background:linear-gradient(180deg,#eef1f5,#b9c0ca);color:#333}.kr-row.t3 .kr-n{background:linear-gradient(180deg,#f3c39a,#c47a3e);color:#fff}
.kr-c{position:relative;width:64px;height:64px;flex:none;background:radial-gradient(ellipse at 50% 80%,#cfe3a8,#9cc46a 60%,#7aa64a);border-radius:12px;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}
.kr-c img{width:60px;height:60px;object-fit:contain}
.kr-c em{position:absolute;top:0;left:2px;font-style:normal;font-size:16px}
.kr-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.kr-t{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.kr-t b{font-size:15px}
.kr-s{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kr-v{display:flex;flex-direction:column;align-items:flex-end;flex:none}.kr-v b{font-size:16px;color:var(--p-d)}.kr-v small{font-size:10px;color:var(--muted)}
@media (max-width:420px){.kr-c{width:52px;height:52px}.kr-c img{width:48px;height:48px}.kr-s{white-space:normal}}
/* 로비 — 오늘의 미니홈 */
.spot{padding:0;overflow:hidden;background:linear-gradient(135deg,#fff1dc,#ffe3ea)}
.spot-in{display:grid;grid-template-columns:minmax(0,1.1fr) 1fr;align-items:center}
.spot-room{display:block;background:#3b2d1f;line-height:0}
.spot-room canvas{width:100%;height:auto;image-rendering:pixelated;display:block}
.spot-t{padding:18px;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.spot-k{background:var(--gold);color:#fff;border-radius:999px;padding:3px 12px;font-weight:800;font-size:13px}
.spot-who{font-size:20px;font-weight:800}
.spot-t p{margin:0;font-size:13px}
@media (max-width:600px){.spot-in{grid-template-columns:1fr}.spot-t{padding:12px 14px 14px}}
/* 길드 목록 카드 */
.gcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:12px}
.gcard{display:flex;flex-direction:column;background:#fff;border:1.5px solid var(--line);border-radius:16px;overflow:hidden;color:var(--text);text-decoration:none;transition:transform .12s,box-shadow .15s,border-color .15s}
.gcard:hover{transform:translateY(-3px);box-shadow:var(--sh);border-color:var(--p)}
.gcard.mine{border-color:var(--p);box-shadow:0 0 0 2px var(--p-s)}
.gc-ban{position:relative;height:150px;background:url(/guild/img/kd/world.jpg) center 40%/cover;display:flex;align-items:flex-end;justify-content:center}
.gc-ban::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.25))}
.gc-ban img{position:relative;z-index:1;height:136px;width:auto;filter:drop-shadow(0 6px 8px rgba(0,0,0,.35))}
.gc-flag{position:absolute;left:10px;top:10px;z-index:2}
.gc-lv{position:absolute;left:10px;bottom:10px;z-index:2;background:rgba(20,16,12,.78);color:#ffe7a3;font-weight:800;font-size:12px;border-radius:999px;padding:3px 10px}
.gc-rk{position:absolute;right:10px;top:10px;z-index:2;background:var(--gold);color:#fff;font-weight:900;font-size:12px;border-radius:999px;padding:3px 10px}
.gc-king{position:absolute;right:10px;bottom:10px;z-index:2;background:#ffd76a;color:#5a3a00;font-weight:900;font-size:12px;border-radius:999px;padding:3px 10px}
.gc-b{padding:12px 14px 12px;display:flex;flex-direction:column;gap:8px;flex:1}
.gc-t{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.gc-t b{font-size:16px}
.gc-in{margin:0;font-size:13px;color:var(--muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em}
.gc-ch{display:flex;flex-wrap:wrap;gap:5px}.gc-ch span{background:var(--soft);border:1px solid var(--line2);border-radius:8px;padding:2px 8px;font-size:12px}.gc-ch .full{color:var(--red)}
.gc-f{display:flex;justify-content:space-between;align-items:center;margin-top:auto;font-size:12px;color:var(--muted);border-top:1px dashed var(--line);padding-top:8px}.gc-f b{color:var(--p-d);font-size:15px}
/* 길드 채팅 — 대화/기록 */
.ch-top{display:flex;align-items:center;gap:8px;padding:0 0 8px;flex-wrap:wrap}
.ch-seg{flex:1;max-width:320px}.ch-seg button{min-height:34px;font-size:13px}.ch-seg small{color:var(--p-d);font-weight:800}
.log[data-mode=talk] .sys{display:none}
.log[data-mode=sys] .m{display:none}
.log .sys small{margin-left:6px;color:var(--muted);font-size:10px}
.ch-empty{color:var(--muted);text-align:center;font-size:13px;padding:30px 10px}
.ch-empty[hidden]{display:none}
/* 뽑기 화면 */
.gch{display:flex;flex-direction:column;gap:12px}
.gch-hero{position:relative;display:grid;grid-template-columns:300px 1fr;gap:10px 24px;align-items:center;padding:22px 26px;border-radius:20px;color:#fff;overflow:hidden;background:radial-gradient(circle at 18% 40%,#9b7bff 0,#5a3fd1 35%,#2a1d6b 75%);box-shadow:var(--sh)}
.gch-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(2px 2px at 20% 30%,#fff8,transparent),radial-gradient(2px 2px at 70% 20%,#fff6,transparent),radial-gradient(1.5px 1.5px at 85% 70%,#fff8,transparent),radial-gradient(1.5px 1.5px at 40% 80%,#fff6,transparent),radial-gradient(2px 2px at 55% 50%,#fff5,transparent);pointer-events:none}
.gch-chest{position:relative;display:flex;align-items:center;justify-content:center;height:260px}
.gch-chest img{position:relative;z-index:1;width:250px;height:250px;object-fit:contain;animation:gchBob 2.6s ease-in-out infinite;filter:drop-shadow(0 14px 18px rgba(0,0,0,.4))}
.gch-glow{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,220,120,.55),transparent 65%);animation:gchGlow 2.6s ease-in-out infinite}
@keyframes gchBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes gchGlow{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:.9;transform:scale(1.05)}}
.gch-hero.shake .gch-chest img{animation:gchShake .12s linear infinite}
@keyframes gchShake{0%{transform:rotate(-5deg) translateY(-2px)}50%{transform:rotate(5deg) translateY(2px)}100%{transform:rotate(-5deg) translateY(-2px)}}
.gch-hero.opened .gch-glow{animation:gchBurst .9s ease-out forwards}
@keyframes gchBurst{0%{opacity:1;transform:scale(.6)}60%{opacity:1;transform:scale(1.8)}100%{opacity:.7;transform:scale(1.3)}}
.gch-hero.legend{background:radial-gradient(circle at 18% 40%,#ffe08a 0,#f0a91e 30%,#7b3fb8 75%)}
.gch-hero.legend .gch-glow{background:radial-gradient(circle,rgba(255,240,170,.95),transparent 65%)}
.gch-t{position:relative;z-index:1;display:flex;flex-direction:column;gap:12px}
.gch-t h3{margin:0;font-size:26px;text-shadow:0 2px 0 rgba(0,0,0,.25)}
.gch-t p{margin:0;font-size:14px;opacity:.92;line-height:1.5}
.gch-odds{display:flex;height:28px;border-radius:999px;overflow:hidden;font-size:12px;font-weight:800;box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.gch-odds i{font-style:normal;display:flex;align-items:center;justify-content:center;white-space:nowrap;min-width:0;overflow:hidden}
.gch-odds .n{background:#8e88a8}.gch-odds .r{background:#4f86f7}.gch-odds .l{background:linear-gradient(90deg,#ffcf4a,#ff9d2e);color:#4a2a00}
.gch-btns{display:flex;gap:10px;flex-wrap:wrap}
.gch-btns .btn-gold{min-height:54px;padding:0 22px;font-size:16px;flex-direction:column;gap:0;line-height:1.15}
.gch-btns .btn-gold small{font-size:12px;font-weight:700;opacity:.8}
.gch-btns .btn-gold.big{background:linear-gradient(180deg,#ffe27a,#f5a524);box-shadow:0 3px 0 #a86a0e,0 0 0 3px rgba(255,226,122,.35)}
.gch-sh{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12px}
.gch-sh span{opacity:.85;margin-right:2px}.gch-sh b{background:rgba(255,255,255,.16);border-radius:8px;padding:3px 9px;font-weight:700}.gch-sh b.l{background:rgba(255,207,74,.3)}
.gch-hero .gacha-res{grid-column:1/-1;position:relative;z-index:1}
.gch-hero .gacha-res:empty{display:none}
.gch-hero .gacha-res .r img{width:52px;height:52px}
.gch-leg{display:flex;align-items:center;gap:10px;background:#2a2622;color:#fff;border-radius:14px;padding:10px 14px;overflow:hidden}
.gch-leg>b{flex:none;color:#ffd76a;font-size:13px}
.gch-leg-in{display:flex;gap:16px;overflow-x:auto;scrollbar-width:none;font-size:13px;white-space:nowrap}
.gch-leg-in::-webkit-scrollbar{display:none}
.gch-leg-in small{opacity:.6;font-size:11px}
@media (max-width:760px){
  .gch-hero{grid-template-columns:1fr;padding:16px;text-align:center;gap:8px}
  .gch-chest{height:190px}.gch-chest img{width:190px;height:190px}.gch-glow{width:170px;height:170px}
  .gch-t h3{font-size:22px}.gch-t p{font-size:13px}
  .gch-btns{justify-content:center}.gch-btns .btn-gold{flex:1}
  .gch-sh{justify-content:center}
  .gch-hero .gacha-res{grid-template-columns:repeat(5,1fr)}
}
@media (prefers-reduced-motion:reduce){.gch-chest img,.gch-glow{animation:none}}
.gch-hero .gacha-res:has(> .r:only-child){grid-template-columns:180px;justify-content:center}
.gch-odds .l{min-width:62px}.gch-odds .r{min-width:62px}
/* 로비 오늘의 미니홈 — PC 에서 방 크기 제한 */
@media (min-width:601px){.spot-in{grid-template-columns:minmax(0,380px) 1fr}}
/* 길드 채팅 말풍선이 좁게 꺾이던 문제 */
.chat .m>div{flex:0 1 auto;min-width:0;max-width:78%}
.chat .m .bd{max-width:100%}
.chat .m .btn-s{min-height:24px;padding:0 4px;font-size:11px;flex:none;opacity:.55}
.chat .m:hover .btn-s{opacity:1}
/* 행군(2026-10-10): 캐슬 화면 배너 · 부대 칩 · 진군 경보 */
#kdMarch{display:flex;flex-direction:column;gap:8px;margin-top:10px;position:relative;z-index:2}
#kdMarch:empty{display:none}
.kd-mb{background:rgba(20,16,12,.82);color:#fff;border-radius:14px;padding:10px 12px;border:2px solid rgba(110,240,120,.6);box-shadow:0 6px 18px rgba(0,0,0,.3)}
.kd-mb.in{border-color:#ff5c5c;background:linear-gradient(135deg,rgba(120,10,10,.9),rgba(30,10,10,.9));animation:kdMbPulse 1.6s ease-in-out infinite}
@keyframes kdMbPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,80,80,.0)}50%{box-shadow:0 0 0 6px rgba(255,80,80,.25)}}
@media (prefers-reduced-motion:reduce){.kd-mb.in{animation:none}}
.kd-mb-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.kd-mb-h b{font-size:14px}
.kd-mb-t{margin-left:auto;font-weight:900;font-size:16px;color:#ffd54d;font-variant-numeric:tabular-nums}
.kd-mb-sq{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 6px}
.kd-sq{display:inline-flex;align-items:center;gap:4px;background:rgba(255,255,255,.12);border-radius:999px;padding:2px 10px 2px 2px;font-size:12px}
.kd-sq img{width:26px;height:26px;object-fit:contain;background:rgba(255,255,255,.15);border-radius:50%}
.kd-sq b{color:#ffd54d}
.kd-mb-bar{height:6px;border-radius:3px;background:rgba(255,255,255,.15);overflow:hidden}.kd-mb-bar i{display:block;height:100%;background:#7bdc6a;transition:width 1s linear}
.kd-mb.in .kd-mb-bar i{background:#ff7a6a}
.kd-mb-ft{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.kd-mb-ft small{flex:1 1 100%;opacity:.85;font-size:11px}
.raid-tip{margin:10px 16px 0;font-size:13px;line-height:1.5;color:#e8e2d8}
.raid-cd{color:#ffd54d;font-variant-numeric:tabular-nums}
.kd-wv-fi.mv{background:rgba(30,80,30,.85)}.kd-wv-fi.mv.in{background:rgba(150,20,20,.9)}.kd-wv-fi small{color:#ffd54d;font-weight:800;font-variant-numeric:tabular-nums}
/* 운영 공지 띠 */
.gh-note{width:calc(100% - 28px);max-width:1372px;margin:10px auto 0;padding:10px 14px;display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,#fff3cf,#ffe7e3);border:1.5px solid #f6d29a;border-radius:12px;font-size:14px}
.gh-note a,.gh-note b{flex:1;color:var(--text);font-weight:700}.gh-note button{border:0;background:none;font-size:16px;color:var(--muted);cursor:pointer;min-width:32px;min-height:32px}
@media (max-width:900px){.gh-note{margin:8px 12px 0}}
/* 이용가이드(2026-10-10) */
.gd{display:flex;flex-direction:column;gap:14px;max-width:1000px;margin:0 auto}
.gd-hero{display:grid;grid-template-columns:1fr 200px;align-items:center;gap:16px;background:linear-gradient(135deg,#2a1d6b,#5a3fd1 60%,#9b7bff);color:#fff;border-radius:20px;padding:22px 26px;box-shadow:var(--sh)}
.gd-hero h1{margin:4px 0 6px;font-size:30px}.gd-hero p{margin:0;opacity:.9;line-height:1.6}.gd-hero img{width:200px;filter:drop-shadow(0 10px 16px rgba(0,0,0,.35))}
.gd-k{background:rgba(255,255,255,.18);border-radius:999px;padding:3px 12px;font-size:12px;font-weight:800}
@media (max-width:600px){.gd-hero{grid-template-columns:1fr;text-align:center;padding:18px}.gd-hero img{width:140px;margin:0 auto;grid-row:1}.gd-hero h1{font-size:24px}}
.gd-nav{display:flex;flex-wrap:wrap;gap:6px;position:sticky;top:58px;z-index:5;background:rgba(243,238,228,.94);backdrop-filter:blur(6px);padding:8px 0}
.gd-nav a{display:inline-flex;align-items:center;gap:4px;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--text);text-decoration:none}
.gd-nav a:hover{border-color:var(--p)}.gd-nav i{font-style:normal}
.gd-sec{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--sh);scroll-margin-top:120px}
.gd-h{display:flex;gap:12px;align-items:center;margin-bottom:12px}.gd-h h2{margin:0;font-size:19px}.gd-h p{margin:2px 0 0;color:var(--muted);font-size:13px}
.gd-ic{width:46px;height:46px;border-radius:14px;background:var(--p-s);display:flex;align-items:center;justify-content:center;font-size:24px;flex:none}
.gd-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.gd-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.gd-card img{width:56px;height:56px;object-fit:contain}.gd-em{font-size:28px;line-height:1.1}
.gd-card b{font-size:15px}.gd-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.55}
.gd-steps{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}
.gd-steps li{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.55}
.gd-steps li>b{width:26px;height:26px;border-radius:50%;background:var(--p);color:#fff;display:flex;align-items:center;justify-content:center;flex:none;font-size:13px}
.gd-tip{margin:10px 0 0;background:var(--gold-s);border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.55}.gd-tip.warn{background:#ffe9e7;color:#8a1f1f;font-weight:700}
.gd-gacha{display:grid;grid-template-columns:140px 1fr;gap:16px;align-items:center;background:linear-gradient(135deg,#2a1d6b,#5a3fd1);color:#fff;border-radius:16px;padding:14px 18px;margin-bottom:10px}
.gd-gacha img{width:140px}.gd-gacha p{margin:4px 0;font-size:13px;opacity:.92}
.gd-odds{display:flex;height:24px;border-radius:999px;overflow:hidden;font-size:11px;font-weight:800;margin:6px 0}.gd-odds i{font-style:normal;display:flex;align-items:center;justify-content:center;white-space:nowrap;min-width:56px}
.gd-odds .n{background:#8e88a8}.gd-odds .r{background:#4f86f7}.gd-odds .l{background:linear-gradient(90deg,#ffcf4a,#ff9d2e);color:#4a2a00}
@media (max-width:600px){.gd-gacha{grid-template-columns:1fr;text-align:center}.gd-gacha img{margin:0 auto;width:110px}}
.gd-units{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.gd-units div{background:linear-gradient(180deg,#e9f3d8,#cfe3a8);border-radius:14px;padding:8px;text-align:center;display:flex;flex-direction:column;align-items:center}
.gd-units img{width:72px;height:72px;object-fit:contain}.gd-units small{color:var(--muted);font-size:11px}
@media (max-width:420px){.gd-units{grid-template-columns:repeat(2,1fr)}}
.gd-help{margin-top:12px;text-align:center;background:var(--soft);border:1.5px dashed var(--line);border-radius:14px;padding:16px}.gd-help p{margin:4px 0 10px;color:var(--muted);font-size:13px}
/* 로고 = GO기릿 워드마크 + 「월드」(2026-10-10) */
.logo .logo-mark{height:32px;width:auto;display:block;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}
.logo b{font-size:19px;letter-spacing:-.02em}
@media (max-width:420px){.logo .logo-mark{height:28px}.logo b{font-size:17px}}
.logo b{font-weight:900;letter-spacing:.04em;font-size:18px}
@media (max-width:420px){.logo b{font-size:16px}}
/* 적기지 토벌·창고 배분(2026-10-10) */
.kd-camp-army{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:10px 0}
.kd-camp-army>small{opacity:.7;margin-right:2px;font-size:12px}
.gv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;max-height:220px;overflow:auto;margin:6px 0 10px;padding:2px}
.gv-i{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;min-width:0;font-size:13px}
.gv-i b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gv-i small{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap}
.gv-i.off{opacity:.5;cursor:not-allowed}
.gv-sum{margin:6px 0 10px;font-size:14px}
.kd-wv-tr{align-items:flex-start}   /* 부제 없는 버튼(영역)이 아래로 처지던 것(2026-10-10) */
.gv-i input[type=checkbox]{width:18px;height:18px;min-height:0;flex:none;margin:0;padding:0;accent-color:var(--coral,#ff6b5b)}
/* 2026-10-10 좁은 폰 틀어짐(사용자 제보) — 미니홈 왼쪽 칸(132px) 버튼이 칸 밖으로 넘치던 것 */
.mh-prof{min-width:0}.mh-prof .acts .btn{max-width:100%;white-space:normal;word-break:keep-all;text-align:center;line-height:1.25;height:auto;min-height:40px;padding-top:8px;padding-bottom:8px}
/* 월드 모바일: 오른쪽 세로 버튼 기둥(7개)이 지도를 가리던 것 → 내 킹덤 카드 아래 가로 한 줄(넘치면 옆으로 밀기) */
@media (max-width:600px){
  .kd-wv-tr{left:8px;right:8px;top:74px;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;justify-content:flex-start;gap:4px;max-width:none;overflow-x:auto;scrollbar-width:none;pointer-events:auto;padding:2px 0 4px}
  .kd-wv-tr::-webkit-scrollbar{display:none}
  .kd-wv-tr .kd-rb{width:48px;flex:none}
  .kd-wv-tr .kd-rb i{width:36px;height:36px;font-size:17px}
  .kd-wv-tr .kd-rb b{font-size:10.5px}
  .kd-wv-tl{max-width:calc(100% - 16px)}
  .kd-wv-drawer{top:8px;right:8px;left:8px;bottom:8px;width:auto}
}
/* 2026-10-10 320px: 대화상자 입력칸이 글자 최소 폭으로 밖으로 나가던 것, 출정 슬라이더가 30px 로 줄던 것 */
.mbox input:not([type=checkbox]):not([type=radio]),.mbox select,.mbox textarea{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
@media (max-width:440px){
  .kd-sl2{grid-template-columns:44px minmax(0,1fr) 56px;grid-template-areas:"img name val" "img range range";row-gap:2px;padding:8px 10px}
  .kd-sl2 img{grid-area:img;width:44px;height:44px}.kd-sl2 span{grid-area:name;flex-direction:row;align-items:baseline;gap:6px}.kd-sl2 input{grid-area:range;min-width:0}.kd-sl2 .kd-sv{grid-area:val}
}
@media (max-width:440px){ .kd-pop .kd-war-ft{flex-wrap:wrap} .kd-pop .kd-war-ft .kd-go{flex:1 1 auto;white-space:nowrap;min-width:0} .kd-pop .kd-war-ft .kd-go small{display:none} }
.kd-watch{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:rgba(60,120,220,.18);color:#2f6fed;font-size:12.5px;font-weight:700;margin:4px 0}
.kd-acts2 .kd-watch{background:rgba(20,30,50,.75);color:#9fd0ff}
/* 월드 PC 넓게(2026-10-10 사용자): 월드 화면일 때만 본문 틀을 2560px 까지 — 지도보다 화면이 작으면 지금처럼 끌어서 본다 */
.wrap:has(> .kd-wv){max-width:2560px;padding-left:12px;padding-right:12px}
@media (min-width:1401px){.kd-wv{height:calc(100svh - 96px)}}
body:has(.kd-wv) .hd-in{max-width:2560px}
/* 오늘의 미니홈 PC 여백(2026-10-10 사용자: 과하게 큼) — 방을 조금 줄이고 오른쪽에 상태 메시지·숫자·버튼 */
.spot-msg{margin:0;font-size:15px;color:var(--text);font-style:italic;max-width:520px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.spot-st{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;max-width:560px}
.spot-st span{background:rgba(255,255,255,.75);border:1px solid rgba(0,0,0,.05);border-radius:12px;padding:8px 4px;text-align:center}
.spot-st b{display:block;font-size:17px}.spot-st small{font-size:11px;color:var(--muted)}
.spot-bt{display:flex;gap:8px;flex-wrap:wrap}
@media (min-width:601px){.spot-in{grid-template-columns:minmax(0,330px) 1fr}.spot-t{padding:22px 28px;gap:12px}.spot-who{font-size:22px}}
@media (max-width:600px){.spot-st{grid-template-columns:repeat(3,minmax(0,1fr))}.spot-st span:nth-child(n+4){display:none}}
/* 로비 PC 배치(2026-10-10 사용자: 하단 빈 공간) — 인기 미니홈 4열 2줄, 혼자 남은 칸은 가로 전체 */
@media (min-width:901px){.lb-pop{grid-template-columns:repeat(4,minmax(0,1fr))}.cols2>:only-child{grid-column:1/-1}.cols2>:only-child .members{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* 미니홈 찾기(2026-10-11) */
.srch-in{width:100%;box-sizing:border-box;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin:8px 0}
.srch-r{display:grid;gap:8px;max-height:min(50vh,360px);overflow:auto}
.srch-r .mb{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff;font-size:12px;min-width:0}
.srch-h{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:800;color:var(--muted);margin:4px 2px 0}
.srch-r .tag{font-size:11px;color:var(--blue);font-weight:700}
.srch-gi{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--soft);border-radius:50%;flex:none}
/* 방 가구 누르기 안내 · 세트 수집 · 로비 최근 일기 · 길드 게시판 고정(2026-10-11) */
.room-tip{font-size:12px;margin:6px 2px 0}
.set-line{font-size:13px;margin:6px 0 0;background:var(--gold-s);border-radius:8px;padding:6px 10px}
.sets{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.set-c{border:1px solid var(--line);border-radius:14px;padding:10px;background:#fff;min-width:0}
.set-c.done{border-color:var(--gold);background:var(--gold-s)}
.set-h{display:flex;justify-content:space-between;font-size:14px}
.set-h span{font-weight:800;color:var(--muted)}
.set-bar{height:6px;border-radius:3px;background:var(--soft);margin:6px 0 8px;overflow:hidden}
.set-bar i{display:block;height:100%;background:var(--gold)}
.set-its{display:flex;flex-wrap:wrap;gap:4px}
.set-it{width:40px;height:40px;border:1px solid var(--line);border-radius:8px;background:#f6f8fc;padding:2px;cursor:pointer}
.set-it img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;opacity:.35;filter:grayscale(1)}
.set-it.on img{opacity:1;filter:none}
.set-rw{font-size:12px;margin-top:8px;color:var(--muted)}
.set-c.done .set-rw{color:var(--text);font-weight:700}
.lb-diary{display:grid;gap:8px}
.lbd{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;min-width:0;color:inherit}
.lbd-h{font-size:12px;display:flex;align-items:center;gap:2px;min-width:0}
.lbd-t{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lbd-b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lbd-c{font-size:12px;color:var(--muted);flex:none}
.g-pin{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff8e6;border-radius:10px;padding:8px 10px;margin:0 0 8px;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;min-height:40px}
/* 운영자 메시지(2026-10-11) */
#opsMsg{z-index:60}
.ops-body{white-space:pre-wrap;word-break:break-word;font-size:15px!important;line-height:1.65;max-height:45vh;overflow:auto;background:var(--soft);border-radius:12px;padding:12px}
.ops-re{margin:8px 0}
.ops-re summary{cursor:pointer;font-size:13px;color:var(--muted);padding:6px 0}
.ops-re textarea{margin:6px 0}
.ops-err{color:var(--red,#e5484d);font-size:13px}
/* 받은·보낸 길드 초대(2026-10-11) */
.inv-band{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border:1.5px solid var(--gold);background:var(--gold-s);border-radius:14px;padding:12px 14px;font-size:14px;cursor:pointer;min-height:48px}
.inv-band span{margin-left:auto;font-weight:800;color:var(--p-d,#c0392b);flex:none}
.inv-list,.inv-sent{display:grid;gap:8px;max-height:min(60vh,520px);overflow:auto}
.inv-c{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}
.inv-h .tag{font-size:11px;color:var(--blue);font-weight:700}
.inv-i{font-size:12px;margin-top:4px}
.inv-b{display:flex;gap:6px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap}
.inv-s{display:flex;gap:8px;align-items:center;border-bottom:1px solid var(--line);padding:6px 2px;font-size:13px}
.inv-s small{margin-left:auto}
/* 사병(2026-10-11) */
.pa-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pa-sum div{background:var(--soft);border-radius:12px;padding:10px;text-align:center}
.pa-sum b{display:block;font-size:18px}
.pa-sum span{font-size:12px;color:var(--muted)}
.pa-cap{margin:12px 0;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}
.pa-cap-h{display:flex;justify-content:space-between;font-size:14px}
.pa-acts{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.pa-h{font-size:15px;margin:16px 0 8px}
.pa-army{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.pa-u{display:flex;gap:8px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px;background:#fff;min-width:0}
.pa-u img{width:44px;height:44px;object-fit:contain;image-rendering:pixelated;flex:none}
.pa-tg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px}
.pa-t{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:#fff;min-width:0}
.pa-t img{width:56px;height:56px;object-fit:contain;image-rendering:pixelated;flex:none}
.pa-t-b{flex:1;min-width:0}
.pa-log{display:grid;gap:4px}
.pa-log div{display:grid;grid-template-columns:1fr auto;gap:2px 10px;font-size:13px;border-bottom:1px solid var(--line);padding:6px 2px}
.pa-in{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:10px 0 6px}
.pa-in label{display:grid;gap:4px;margin:0}
.pa-in span{display:flex;align-items:center;gap:4px;font-size:13px}
.pa-in img{width:22px;height:22px;image-rendering:pixelated}
.pa-qb{display:flex;gap:6px}
.pa-sumline{font-weight:700;font-size:14px}
.pa-hunt-h{display:flex;gap:12px;align-items:center}
.pa-hunt-h img{width:72px;height:72px;object-fit:contain;image-rendering:pixelated;flex:none}
.pa-res{text-align:center}
.pa-res img{width:96px;height:96px;object-fit:contain;image-rendering:pixelated}
.pa-res.lose img{filter:grayscale(1);opacity:.6}
.pa-rw{font-size:26px;font-weight:900;color:var(--gold);margin:4px 0}
/* 병력 해산(2026-10-11) */
.kd-disb{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}
.kd-disb small{font-size:12px}
.kd-disb-l{display:grid;gap:6px;max-height:min(50vh,420px);overflow:auto}
.kd-disb-r{display:grid!important;grid-template-columns:36px 1fr 96px auto;gap:8px;align-items:center;margin:0!important;color:var(--text)!important}
.kd-disb-r img{width:36px;height:36px;object-fit:contain;image-rendering:pixelated}
.kd-disb-r span{font-size:13px;min-width:0}
/* 작전 상성·사병 텐트 침략(2026-10-11) */
.kd-tk{margin:10px 0;border:1px solid var(--line);border-radius:12px;padding:10px;background:var(--soft)}
.kd-tk-st{font-size:13px;margin-bottom:8px}
.kd-tk-b{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.kd-tk-b button{display:flex;flex-direction:column;align-items:center;gap:2px;border:1.5px solid var(--line);background:#fff;border-radius:10px;padding:8px 4px;cursor:pointer;min-height:64px;color:var(--text)}
.kd-tk-b button i{font-style:normal;font-size:20px}
.kd-tk-b button small{font-size:10.5px;color:var(--muted);text-align:center;line-height:1.3}
.kd-tk-b button.on{border-color:var(--p);background:var(--p-s)}
.kd-tk-r{font-size:12px;margin:8px 0 0;color:var(--muted)}
.kd-tk-out{font-size:13px;font-weight:700;border-radius:8px;padding:6px 10px;margin:6px 0}
.kd-tk-out.best{background:#e7f8ee;color:#137a3f}.kd-tk-out.worst{background:#fdecea;color:#b3261e}.kd-tk-out.even{background:var(--soft)}
.pa-warn{font-size:13px;line-height:1.6;background:#fff4e5;border:1px solid #f5c27a;border-radius:12px;padding:10px 12px;margin-bottom:8px}
.pa-tent{font-size:13px;margin:6px 0;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff}
.pa-risk{color:#b3261e;font-weight:700}
.pa-hits{display:grid;gap:4px;font-size:12px;margin:4px 0 8px}
.pa-stance{font-size:11px;font-weight:700;background:var(--soft);border-radius:999px;padding:2px 8px;white-space:nowrap;flex:none}
#fvCv{width:100%;height:auto;border-radius:12px;display:block}
@media (max-width:600px){.kd-tk-b button small{display:none}}
