:root{--bg:rgba(255,250,244,.92);--ink:#4a4058;--acc:#f29e6b;--acc2:#8fc7c0}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#cfe6ef;font-family:'Pretendard','Apple SD Gothic Neo','Noto Sans KR',system-ui,sans-serif;color:var(--ink);touch-action:none;user-select:none}
#world{position:fixed;inset:0;width:100%;height:100%;display:block}
#hud{position:fixed;inset:0;pointer-events:none}
button{pointer-events:auto;border:0;border-radius:14px;padding:8px 12px;background:var(--bg);color:var(--ink);font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 3px 0 #0001,0 4px 14px #0001;font-family:inherit}
button:hover{filter:brightness(1.04)}button:active{transform:translateY(1px)}
button.big{font-size:18px;padding:14px 30px;background:var(--acc);color:#fff}
button.acc{background:var(--acc);color:#fff}button.ok{background:#7cc79a;color:#fff}button:disabled{opacity:.45}
kbd{font-size:10px;background:#0001;border-radius:4px;padding:1px 4px;margin-left:2px}
.top{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.logo{font-weight:900;font-size:20px;color:#fff;text-shadow:0 2px 8px #0005;margin-right:4px}
.pill{pointer-events:auto;background:var(--bg);border-radius:14px;padding:8px 12px;font-weight:700;box-shadow:0 4px 14px #0001}
#equip{position:absolute;top:56px;left:10px;font-size:12px;font-weight:500}
#prompt{position:absolute;bottom:150px;left:50%;transform:translateX(-50%);background:var(--bg);padding:6px 14px;border-radius:12px;font-size:14px;display:none}
#fishBtn{position:absolute;bottom:86px;left:50%;transform:translateX(-50%);font-size:19px;padding:14px 28px;background:var(--acc);color:#fff;display:none;border-radius:30px}
#chat{position:absolute;left:10px;bottom:10px;width:min(330px,62vw);pointer-events:auto}
#log{max-height:130px;overflow:auto;font-size:13px;background:rgba(40,30,50,.35);color:#fff;border-radius:12px;padding:6px 8px;margin-bottom:4px}
#chat .row{display:flex;gap:4px;align-items:center;flex-wrap:wrap}#msg{flex:1;min-width:120px;border:0;border-radius:12px;padding:8px;background:var(--bg);font-family:inherit}
#emo button{padding:5px 6px;font-size:14px}
#joy{position:absolute;right:26px;bottom:26px;width:116px;height:116px;border-radius:50%;background:#fff3;pointer-events:auto;display:none;touch-action:none;border:2px solid #fff6}
#joy i{position:absolute;left:36px;top:36px;width:44px;height:44px;border-radius:50%;background:#fffc}
#toast{position:absolute;top:26%;left:50%;transform:translate(-50%,-50%);font-size:24px;font-weight:900;color:#fff;text-shadow:0 3px 12px #0008;opacity:0;transition:opacity .4s;text-align:center;pointer-events:none}
#dc{position:absolute;right:10px;bottom:160px;font:11px monospace;color:#fff9;text-shadow:0 1px 2px #000}
.modal{position:fixed;inset:0;background:rgba(60,45,70,.35);display:none;align-items:center;justify-content:center;z-index:20;backdrop-filter:blur(3px)}
.modal.show{display:flex;z-index:80}
.card{background:var(--bg);border-radius:22px;padding:20px;box-shadow:0 20px 60px #0003;max-width:min(960px,94vw);max-height:90vh;overflow:auto;position:relative}
.center{text-align:center}.muted{opacity:.65}.small{font-size:12px}
h1{margin:0 0 4px;font-size:40px}h2{margin:0 0 10px}
#charPick{display:flex;gap:8px;justify-content:center;margin:8px 0 14px;flex-wrap:wrap}#charPick button.sel{background:var(--acc2);color:#fff}
.close{position:absolute;top:10px;right:10px;padding:6px 10px}
.tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}.tabs button.on{background:var(--acc2);color:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.item{background:#fff;border-radius:16px;padding:12px;box-shadow:0 2px 8px #0001}.item h4{margin:0 0 4px}.item .p{font-weight:800;color:#d9813f}
table.bal{border-collapse:collapse;font-size:12px;margin-top:10px;width:100%}table.bal td,table.bal th{border-bottom:1px solid #0001;padding:4px 6px;text-align:left}
/* 어항 */
.tankwrap{position:relative;width:min(1280px,97vw);height:min(760px,92vh);background:var(--bg);border-radius:24px;overflow:hidden;display:flex;box-shadow:0 20px 60px #0004}
#tankCv{flex:1;min-width:0;height:100%;display:block}
#tankSide{width:min(520px,48%);max-width:none;overflow:auto;padding:14px;border-left:1px solid #0001}
@media(max-width:700px){.tankwrap{flex-direction:column}#tankCv{height:45%;flex:none}#tankSide{width:100%;max-width:none;height:55%}}
.fcard{display:flex;gap:8px;align-items:center;background:#fff;border-radius:14px;padding:8px;margin-bottom:8px;border:3px solid var(--gc,#ccc);position:relative}
.fcard img{width:64px;height:40px;object-fit:contain}.fcard .meta{flex:1;font-size:12px}.fcard b{font-size:14px}
.fcard label{white-space:nowrap}.fcard input{width:70px;border:1px solid #0002;border-radius:8px;padding:3px}
.gbadge{display:inline-block;font-size:10px;font-weight:800;color:#fff;background:var(--gc);border-radius:8px;padding:1px 6px}
/* 도감 (시안1 카드 컬렉션 적용) */
.dexhead{display:flex;align-items:center;gap:16px;margin-bottom:12px;flex-wrap:wrap}
.ring{--p:0;width:78px;height:78px;border-radius:50%;background:conic-gradient(var(--acc) calc(var(--p)*1%),#0001 0);display:grid;place-items:center}
.ring span{width:62px;height:62px;border-radius:50%;background:var(--bg);display:grid;place-items:center;font-weight:900}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.dcard{position:relative;border-radius:18px;padding:12px;background:linear-gradient(160deg,#fff,#f6efe6);border:4px solid var(--gc);overflow:hidden;cursor:pointer;min-height:220px}
.dcard.g3,.dcard.g4{box-shadow:0 0 18px var(--gc)}
.dcard.g4{border-image:linear-gradient(120deg,#ff8ad8,#9b8cff,#6fe3ff,#ffe36f,#ff8ad8) 1;border-radius:0}
.dcard .shine{position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.75) 45%,transparent 60%);transform:translateX(-120%);animation:sh 3.2s infinite;pointer-events:none}
.dcard.g0 .shine,.dcard.g1 .shine,.dcard.unk .shine{display:none}
@keyframes sh{60%,100%{transform:translateX(120%)}}
.dcard img{width:100%;height:96px;object-fit:contain;filter:drop-shadow(0 4px 6px #0002)}
.dcard.unk img{filter:none;opacity:.55}
.dcard .nm{font-weight:900;font-size:17px}.dcard .no{position:absolute;top:8px;right:12px;font-size:11px;opacity:.5;font-weight:800}
.pips{display:flex;gap:4px;margin-top:6px}.pips i{flex:1;height:8px;border-radius:4px;background:#0001}.pips i.on{background:var(--c)}
.ruler{position:relative;height:16px;border-radius:8px;overflow:hidden;display:flex;margin:6px 0}.ruler span{height:100%}
.ruler .mk{position:absolute;top:-2px;width:3px;height:20px;background:#4a4058;border-radius:2px}
.snd{display:flex;gap:8px;align-items:center;justify-content:space-between;background:#fff;border-radius:12px;padding:8px 10px;margin:6px 0}
.snd.on{outline:3px solid var(--acc2)}
@media (max-width:700px){.top{gap:4px}.top button,.pill{padding:6px 8px;font-size:12px}kbd{display:none}.logo{font-size:16px}
#equip{top:auto;bottom:250px;left:10px;font-size:11px}#chat{width:58vw}#log{max-height:80px;font-size:11px}#emo button{padding:3px 4px;font-size:12px}
#fishBtn{bottom:175px;font-size:16px;padding:12px 22px}#prompt{bottom:235px}#dc{bottom:auto;top:110px}}
/* ── v3 ── */
.fcard img,.dcard img{padding:2px 4px;box-sizing:border-box}
.lockb{padding:2px 8px;font-size:11px}.lockb.on{background:#ffe7a8;border-color:#e2b44a}
.charm{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:#fffaf3;border:3px solid var(--gc);border-radius:14px;padding:8px 12px;margin:6px 0;box-shadow:0 0 10px color-mix(in srgb,var(--gc) 40%,transparent);color:#4a4058}
.charm .cico{font-size:30px}.charm .meta{flex:1;font-size:13px}.charm .opt{display:inline-block;background:#f1ecf7;border-radius:8px;padding:1px 6px;margin:2px 2px 0 0}.cbtn{display:flex;gap:6px}
.sumgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;font-size:12px;margin-bottom:8px}.sumgrid span{background:#0001;border-radius:8px;padding:3px 7px;opacity:.6}.sumgrid span.on{opacity:1;background:#e9f7ee}
.tierbar{display:flex;gap:4px;flex-wrap:wrap}.tierbar span{border:2px solid var(--gc);border-radius:10px;padding:3px 8px;font-size:12px}.tierbar b{margin-left:4px;color:var(--gc)}
.boxrow,.enh{display:flex;gap:16px;align-items:center}.bigbox,.rodbig{font-size:64px}.plus{color:#e0607e;font-size:20px}
.btnlike{display:inline-block;border:1px solid #0002;border-radius:10px;padding:5px 10px;cursor:pointer;background:#fff}
#boxFx{position:fixed;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;background:radial-gradient(circle,#0008,#000c);z-index:99}
#boxFx.show{display:flex}#boxFx .fxbox{font-size:120px;animation:shake .18s infinite alternate;filter:drop-shadow(0 0 30px var(--gc))}
#boxFx .rays{position:absolute;width:900px;height:900px;background:repeating-conic-gradient(color-mix(in srgb,var(--gc) 45%,transparent) 0 8deg,transparent 8deg 20deg);border-radius:50%;opacity:0;transition:opacity .4s;mask:radial-gradient(circle,#000 20%,transparent 65%);-webkit-mask:radial-gradient(circle,#000 20%,transparent 65%);animation:spin 12s linear infinite}
#boxFx .fxres{display:none;position:relative;text-align:center;min-width:300px}#boxFx.open .fxbox{animation:pop .5s forwards}#boxFx.open .rays{opacity:1}#boxFx.open .fxres{display:block;animation:rise .5s .2s both}
#boxFx.t5.open{background:radial-gradient(circle,#4a1f6acc,#000e)}#boxFx.t4.open{background:radial-gradient(circle,#6a4a12cc,#000e)}
@keyframes shake{from{transform:rotate(-8deg) scale(1)}to{transform:rotate(8deg) scale(1.08)}}@keyframes pop{0%{transform:scale(1.3)}100%{transform:scale(0);height:0;font-size:0}}
@keyframes rise{from{transform:translateY(30px);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}
img.emj{width:1.15em;height:1.15em;vertical-align:-.2em;margin:0 .05em;display:inline-block;pointer-events:none}
/* ── v4 ── */
.star{color:#f0a030;letter-spacing:1px}.star i{color:#0002;font-style:normal}
.disbar{background:#0001;border-radius:12px;padding:6px 10px;margin:6px 0;font-size:13px}.disbar select{border-radius:8px;padding:3px}
#confirm{z-index:120}#boxFx{overflow:auto}#boxFx.multi .fxres{min-width:min(760px,94vw)}
.rgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:10px 0}.rcell{background:#fffaf3;border:3px solid var(--gc);border-radius:12px;padding:6px;font-size:12px;color:#4a4058;text-align:left;box-shadow:0 0 10px color-mix(in srgb,var(--gc) 40%,transparent);animation:rise .4s both}
.rcell:nth-child(2){animation-delay:.05s}.rcell:nth-child(3){animation-delay:.1s}.rcell:nth-child(4){animation-delay:.15s}.rcell:nth-child(5){animation-delay:.2s}.rcell:nth-child(n+6){animation-delay:.25s}
#boxFx .fxres h3,#boxFx .fxres>.small{color:#fff}@media(max-width:640px){.rgrid{grid-template-columns:repeat(2,1fr)}}
#boxFx .fxbox small{font-size:40px;color:#fff;vertical-align:top}
/* 전설·신화 알림 */
.L{--a:#f4a62a;--b:#ffe08a;--c:#b8741a}.M{--a:#c46cf2;--b:#7ae0ff;--c:#6a2a9a}
.gb{display:inline-block;padding:1px 9px;border-radius:99px;font-weight:900;color:#fff;background:linear-gradient(90deg,var(--a),var(--c))}.M .gb{background:linear-gradient(90deg,#c46cf2,#7ae0ff,#ff8ad8,#c46cf2);background-size:300%;animation:holo 2s linear infinite}@keyframes holo{to{background-position:300%}}
.cutin{position:fixed;inset:0;z-index:95;pointer-events:none;background:radial-gradient(circle,transparent 35%,#0006)}.cutin .band{position:absolute;left:-5%;right:-5%;top:38%;height:150px;transform:rotate(-4deg);background:linear-gradient(90deg,transparent,var(--c) 15%,var(--a) 50%,var(--c) 85%,transparent);display:flex;align-items:center;justify-content:center;gap:24px;color:#fff;animation:cut .5s ease-out;box-shadow:0 0 60px var(--a)}
.M.cutin .band{background:linear-gradient(90deg,transparent,#3a1f5c 12%,#c46cf2 35%,#7ae0ff 50%,#ff8ad8 65%,#3a1f5c 88%,transparent)}.cutin .t{font-size:40px;font-weight:900;text-shadow:0 3px 0 #0005;letter-spacing:2px}.cutin .sub{font-size:18px}.cutin img:not(.emj){height:110px;filter:drop-shadow(0 0 10px var(--b))}
.cutin.out{opacity:0;transition:opacity .5s}@keyframes cut{from{transform:rotate(-4deg) translateX(110%)}}
#ribbons{position:fixed;top:58px;left:50%;transform:translateX(-50%);z-index:90;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none}
.ribbon{display:flex;align-items:center;gap:14px;padding:8px 24px;border-radius:18px;background:linear-gradient(180deg,#fffaf0,#fff2d0);border:4px solid var(--a);box-shadow:0 0 24px var(--a),0 8px 20px #0003;animation:drop .6s cubic-bezier(.3,1.6,.5,1);color:#4a4058;font-weight:700}.ribbon img:not(.emj){height:48px}.ribbon .big{font-size:17px}.ribbon small{opacity:.7}
.M.ribbon{background:linear-gradient(135deg,#2a1840,#3a1f5c);color:#fff;border-color:#c46cf2}.ribbon.out{opacity:0;transform:translateY(-30px);transition:.5s}@keyframes drop{from{transform:translateY(-140px)}}
@media(max-width:640px){.cutin .t{font-size:24px}.cutin img:not(.emj){height:60px}.ribbon{padding:6px 12px}.ribbon .big{font-size:13px}}
#boxFx{background:radial-gradient(circle,#1c1828cc,#000e)}#boxFx .fxres{background:#2a2438f0;border:3px solid var(--gc);border-radius:22px;padding:16px 18px;box-shadow:0 0 40px color-mix(in srgb,var(--gc) 50%,transparent)}
/* ───── v5 ───── */
#tip{position:fixed;z-index:300;max-width:300px;padding:8px 11px;border-radius:10px;background:#2d2638ee;color:#fff;font-size:12px;line-height:1.45;white-space:pre-line;pointer-events:none;opacity:0;transition:opacity .12s;box-shadow:0 6px 18px #0004}#tip.show{opacity:1}
.opt[data-tip],.ctag,[data-tip]{cursor:help}
.cico .cimg{width:52px;height:52px;object-fit:contain;display:block}.cimg{width:1.4em;height:1.4em;vertical-align:middle;object-fit:contain}
.charm .cico{display:flex;align-items:center;justify-content:center}
.bigbox .bimg{width:120px;height:120px;object-fit:contain;animation:bob 2.4s ease-in-out infinite}@keyframes bob{50%{transform:translateY(-6px) rotate(-2deg)}}
.fxbox .fximg{width:180px;height:180px;object-fit:contain}
.presets{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:8px 0}.presets [data-pre]{min-width:54px}.presets [data-pre].on{background:#5fc48a;color:#fff}.presets small{display:block;font-size:10px;opacity:.8}
.synbar{background:#fff8;border-radius:14px;padding:8px 10px;margin:8px 0}.synrow{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-top:6px}
.syn{display:flex;flex-direction:column;align-items:center;border:2px solid var(--gc);background:#fff;padding:4px}.syn .cimg{width:38px;height:38px}.syn span{font-size:12px;font-weight:700}.syn small{font-size:10px;opacity:.75}
.synprev{display:flex;justify-content:center;gap:4px}.synprev .cimg{width:40px;height:40px}
#boxFx.syn .synring{position:relative;width:240px;height:240px;margin:20px auto 0}
#boxFx.syn .sp{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px;transform:rotate(var(--a)) translateY(-100px) rotate(calc(-1*var(--a)));animation:suck 1.5s cubic-bezier(.6,0,.9,.5) forwards}
#boxFx.syn .sp .cimg,#boxFx.syn .core .cimg{width:100%;height:100%}
@keyframes suck{60%{transform:rotate(calc(var(--a) + 240deg)) translateY(-70px) rotate(calc(-1*var(--a) - 240deg))}100%{transform:rotate(calc(var(--a) + 540deg)) translateY(0) scale(.2);opacity:0}}
#boxFx.syn .core{position:absolute;left:50%;top:50%;width:120px;height:120px;margin:-60px;opacity:0;transform:scale(.3);filter:drop-shadow(0 0 20px var(--gc))}
#boxFx.syn.open .core{animation:synpop .6s cubic-bezier(.2,1.6,.4,1) forwards}@keyframes synpop{to{opacity:1;transform:scale(1)}}
#boxFx.syn .fxres{opacity:0}#boxFx.syn.open .fxres{opacity:1;transition:opacity .4s .3s}
.dtabs{margin:0 0 6px}.achgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:8px 0}
.ach{display:flex;gap:8px;background:#fff;border-radius:14px;padding:8px;border:2px solid #e6dfd6;opacity:.8}.ach.done{border-color:#f4a62a;opacity:1;background:linear-gradient(160deg,#fff,#fff4dc)}.ach .ai{font-size:26px}
.ach .bar{height:6px;border-radius:3px;background:#eee;margin:4px 0;overflow:hidden}.ach .bar i{display:block;height:100%;background:#f4a62a}
.combo{background:#fff8;border-radius:12px;padding:6px 8px;margin:4px 0 8px}.combo summary{cursor:pointer;font-weight:700}
.crow{border-left:4px solid var(--gc);padding:4px 6px;margin:5px 0;background:#fff;border-radius:6px}.crow.on{background:linear-gradient(90deg,#fff,#effbf3)}
.cks{display:flex;gap:4px;flex-wrap:wrap;margin:2px 0}.cks span{font-size:11px;padding:1px 6px;border-radius:8px;background:#eee;color:#999}.cks span.h{background:var(--gc);color:#fff}
.ctag{font-size:12px}.bdes{display:inline-flex;align-items:center;gap:4px;margin-right:10px}.bdes img{width:34px;height:34px;object-fit:contain}
@media(max-width:640px){.synrow{grid-template-columns:repeat(3,1fr)}}

/* ───── v6 ───── */
#boxFx,#boxFx.show{overflow:hidden!important}#boxFx .rays{pointer-events:none}#boxFx .fxres{max-height:72vh;overflow-y:auto;overscroll-behavior:contain}
#boxFx .fximg{width:200px;height:200px}.bigbox .bimg{width:132px;height:132px}
.fcard .lockbadge{position:absolute;top:-10px;left:-10px;width:34px;height:34px;border-radius:50%;background:#ffd36a;border:3px solid #fff;box-shadow:0 2px 6px #0003;display:flex;align-items:center;justify-content:center;font-size:18px;z-index:2}
.fcard .lockbadge .emj{width:20px;height:20px}.fcard.locked{background:linear-gradient(90deg,#fff7df,#fff)}
.fcard .lockb{font-size:13px;padding:4px 10px;font-weight:700}.fcard .lockb .emj{width:16px;height:16px}.fcard .lockb.on{background:#ffd36a;border-color:#d9a22a;color:#5a3a00}
.rimg{width:52px;height:52px;object-fit:contain}.rbig{width:96px;height:96px;object-fit:contain}.sico{display:block;width:84px;height:84px;object-fit:contain;margin:0 auto 4px}
.cfilter{display:flex;flex-wrap:wrap;gap:6px;align-items:center;background:#fff;border-radius:12px;padding:7px 9px;margin:8px 0;border:1px solid #eadfce;position:sticky;top:-20px;z-index:3;box-shadow:0 2px 8px #0001}
.cfilter select{border-radius:8px;padding:3px 6px}.tchips{display:flex;gap:3px;flex-wrap:wrap}.tc{font-size:11px;padding:3px 8px;border:2px solid var(--gc);background:#fff;color:var(--gc);font-weight:700}.tc.on{background:var(--gc);color:#fff}
[data-sellc] small{font-size:10px;opacity:.8;margin-left:2px}
.cutin.box .bximg,.ribbon .bximg{height:110px;width:110px;object-fit:contain}.ribbon .bximg{height:46px;width:46px}.cutin{z-index:130}
.boxonly{font-size:14px;color:#b5651d}
/* ===== v7 가방 E안 ===== */
.bagE .btop{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:12px;align-items:stretch}
.bslots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px;background:#f4ece0;border-radius:18px;padding:14px 16px;align-content:center}
.bslot{aspect-ratio:1;border-radius:16px;background:#fff;border:3px solid var(--gc,#ddd);position:relative;padding:6px;box-shadow:inset 0 -4px 0 #0001;min-width:0;cursor:pointer}
.bslot img{width:100%;height:100%;object-fit:contain;display:block}.bslot.empty{border:3px dashed #d6cbb9;display:flex;align-items:center;justify-content:center;color:#bbb;font-size:26px;cursor:default}
.bslot .lv{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);background:var(--gc);color:#fff;border-radius:8px;font-size:10px;padding:1px 7px;white-space:nowrap}
.bslot.sel{outline:3px solid #3d3548;outline-offset:2px}.bslot.tgt{outline:3px dashed #ef6f8f;outline-offset:3px;animation:tgtp 1s ease-in-out infinite}@keyframes tgtp{50%{outline-color:#ef6f8f55}}
.bslot .tg{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:#ef6f8f;color:#fff;font-size:10px;border-radius:7px;padding:1px 6px;white-space:nowrap}
.bsum{background:#3d3548;color:#fff;border-radius:18px;padding:12px 16px}.bsum h3{margin:0 0 8px;font-size:15px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.bsum h3 small{font-weight:400;color:#cfc6dc;font-size:11px}.bsum .dlh{color:#ffd97a}
.bsg{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.bso{font-size:12px}.bso .n{display:flex;justify-content:space-between;align-items:baseline;gap:4px}.bso .n b{font-size:18px;color:#ffd97a}.bso .n b.max{color:#7ee0a4}.bso .n i{font-style:normal;color:#b9b0c8;font-size:11px}.bso.zero{opacity:.45}.bso .pas{color:#d9b8ff;font-size:10px}
.bgb{height:8px;border-radius:5px;background:#ffffff22;position:relative;overflow:hidden;margin-top:3px}.bgb i{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#f4a62a,#ffd97a)}.bgb.full i{background:linear-gradient(90deg,#3fbf7f,#7ee0a4)}.bgb u{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,#7ee0a4 0 4px,#5fc48a 4px 8px)}
.dl{display:inline-block;font-size:10px;border-radius:6px;padding:0 5px;margin-left:4px;font-weight:700;vertical-align:1px}.dl.up{background:#5fc48a;color:#fff}.dl.dn{background:#ef6f8f;color:#fff}
.bagE .bbot{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;margin-top:12px}
.blist{border:2px solid #eadfce;border-radius:18px;background:#fff;display:flex;flex-direction:column;overflow:hidden;height:400px}
.blist .cfilter{position:static!important;margin:0!important;border-radius:0!important;border-bottom:2px solid #f0e8dc;box-shadow:none!important}
.bscroll{overflow-y:auto;padding:10px;flex:1;min-height:0}.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px}
.btile{aspect-ratio:1;border-radius:14px;background:radial-gradient(circle at 50% 35%,#fff,color-mix(in srgb,var(--gc) 22%,#fff));border:2px solid var(--gc);padding:5px;position:relative;min-width:0;cursor:pointer}.btile img{width:100%;height:100%;object-fit:contain;display:block}.btile.sel{outline:3px solid #3d3548;outline-offset:2px}
.btile .k{position:absolute;right:2px;top:0;font-size:12px}.btile .eq{position:absolute;left:3px;top:3px;width:10px;height:10px;border-radius:50%;background:#5fc48a;border:2px solid #fff}
.bfoot{padding:6px 12px;border-top:2px solid #f0e8dc;font-size:12px;display:flex;justify-content:space-between;background:#fffdf8}
.bside{border:3px solid #4ea3ea;border-radius:18px;padding:10px;background:#fff;overflow-y:auto;max-height:400px}.bside .charm{margin:0 0 6px}.bdet.empty{text-align:center;padding:30px 6px;color:#4a4058}
.cmp{display:grid;grid-template-columns:1fr 18px 1fr;gap:4px;align-items:center;margin-top:4px}.cmp .ar{text-align:center}.cmpc{border:3px solid var(--gc);border-radius:12px;padding:5px;font-size:11px;text-align:center;background:#fffaf3}.cmpc img{width:44px;height:44px;object-fit:contain}
.bside .cbtn{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.bextra{margin-top:12px}
@media(max-width:700px){.bagE .btop,.bagE .bbot{grid-template-columns:1fr}.bslots{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:8px}.bslot .lv{font-size:9px;padding:0 4px}.bsg{gap:6px 10px}.bso .n b{font-size:15px}.blist{height:340px}.bside{max-height:none;order:-1}}
/* ===== v7 초월 ===== */
@property --txa{syntax:'<angle>';inherits:false;initial-value:0deg}@keyframes txspin{to{--txa:360deg}}
@keyframes pkglow{50%{box-shadow:0 0 0 3px #ffd1e6,0 0 40px #ff2d8acc}}
.cutin.X{background:radial-gradient(circle,transparent 30%,#000b)}
.cutin.X .rays2{position:absolute;left:50%;top:44%;width:180vmax;height:180vmax;margin:-90vmax;background:repeating-conic-gradient(#ffffff1c 0 6deg,transparent 6deg 18deg);animation:txrot 12s linear infinite}@keyframes txrot{to{transform:rotate(360deg)}}
.cutin.X .band{height:170px;background:linear-gradient(90deg,transparent,#5a0030 10%,#ff2d8a 35%,#ffb3d6 50%,#ff2d8a 65%,#5a0030 90%,transparent);box-shadow:0 0 60px #ff2d8a}
.cutin.X .t{font-size:46px;letter-spacing:4px;text-shadow:0 3px 0 #0006,0 0 22px #fff9}
body.tx-rainbow .cutin.X .band{background:linear-gradient(90deg,transparent,#1a1030 8%,#ff6b6b 22%,#ffc857 36%,#00b8a9 50%,#38bdf8 64%,#a78bfa 78%,#1a1030 92%,transparent);box-shadow:0 0 60px #a78bfa}
.ribbon.X{background:linear-gradient(90deg,#4a0a2c,#8a0f4f);border-color:#ff2d8a;box-shadow:0 0 22px #ff2d8a99,0 8px 20px #0003;color:#fff}
body.tx-rainbow .ribbon.X{border:4px solid transparent;background:linear-gradient(90deg,#1e1636,#3a2a5e) padding-box,conic-gradient(from var(--txa),#ff6b6b,#ffc857,#00b8a9,#38bdf8,#a78bfa,#ff6b6b) border-box;animation:drop .6s cubic-bezier(.3,1.6,.5,1),txspin 2.4s linear infinite;box-shadow:0 0 16px #ff6b6b66,0 0 26px #38bdf866}
.ribbon.X .gb{background:linear-gradient(90deg,#ff2d8a,#ff6fb5);color:#fff}body.tx-rainbow .ribbon.X .gb{background:linear-gradient(90deg,#ff6b6b,#ffc857,#00b8a9,#38bdf8,#a78bfa)}
.dcard.g5{border:4px solid #ff2d8a!important;border-image:none!important;border-radius:16px!important;background:linear-gradient(160deg,#fff,#fdf3f8);animation:pkglow 2.4s ease-in-out infinite;box-shadow:0 0 0 3px #ffd1e6,0 0 24px #ff2d8a99;position:relative}
body.tx-rainbow .dcard.g5{border:4px solid transparent!important;background:linear-gradient(160deg,#fff,#f4f2ff) padding-box,conic-gradient(from var(--txa),#ff6b6b,#ffc857,#00b8a9,#38bdf8,#a78bfa,#ff6b6b) border-box;animation:txspin 2.4s linear infinite;box-shadow:0 0 16px #ff6b6b55,0 0 26px #38bdf855}
.dcard .sp{position:absolute;color:#fff;font-size:14px;text-shadow:0 0 6px #ff9fd0,0 0 2px #ff2d8a;animation:tw 1.6s ease-in-out infinite;z-index:2;pointer-events:none}@keyframes tw{50%{opacity:.2;transform:scale(.6)}}
.pips i.txpip{background:#eee;opacity:.5}.pips i.txpip.on{background:linear-gradient(90deg,#ff2d8a,#ff6fb5);opacity:1}body.tx-rainbow .pips i.txpip.on{background:linear-gradient(90deg,#ff6b6b,#ffc857,#00b8a9,#38bdf8,#a78bfa)}
.dcard .txt{color:#ff2d8a}
.txsw{display:inline-block;width:26px;height:14px;border-radius:7px;vertical-align:-2px}.txsw.pk{background:#ff2d8a}.txsw.rb{background:linear-gradient(90deg,#ff6b6b,#ffc857,#00b8a9,#38bdf8,#a78bfa)}
.btile .k img.emj,.btile .k{width:16px;height:16px;font-size:12px}.bslot img.emj{width:auto;height:auto}
.eqdot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#5fc48a;border:2px solid #fff;box-shadow:0 0 0 1px #5fc48a;vertical-align:-1px}
@media(max-width:700px){.bside:has(.bdet.empty){order:0}.bdet.empty{padding:8px 4px}.bdet.empty>div{display:none}.bdet.empty p{margin:4px 0}}
/* v8 합산 툴팁 */
.bso{position:relative;cursor:help;border-radius:8px;padding:2px 4px;margin:-2px -4px}.bso:hover,.bso:focus{background:#ffffff14;outline:none}
.btip{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:30;width:250px;background:#fffaf3;color:#4a4058;border-radius:12px;padding:10px 12px;box-shadow:0 10px 30px #0006;font-size:12px;line-height:1.5;pointer-events:none}
.btip:before{content:'';position:absolute;top:-6px;left:22px;border:6px solid transparent;border-top:0;border-bottom-color:#fffaf3}
.bso:hover .btip,.bso:focus .btip{display:block}.bsg .bso:nth-child(2n) .btip{left:auto;right:0}.bsg .bso:nth-child(2n) .btip:before{left:auto;right:22px}
.btip .ttl{font-weight:900;font-size:13px}.btip .ttl small{color:#8a8094;font-weight:400}.btip .tds{color:#6a6078;margin:2px 0 6px}.btip .tsrc{border-top:1px dashed #e6dccb;padding-top:5px}.btip .tcap{margin-top:5px;color:#8a8094;font-size:11px}
.bsum{overflow:visible}
/* v8 드래그 */
.dghost{position:fixed;left:0;top:0;width:64px;height:64px;z-index:200;pointer-events:none;border-radius:14px;background:#fff;border:3px solid var(--gc,#3d3548);padding:4px;box-shadow:0 12px 26px #0005;opacity:.95}.dghost img{width:100%;height:100%;object-fit:contain}
#bag.dragging .bslot{transition:transform .12s}#bag.dragging .bslot.dropon{transform:scale(1.08);outline:3px solid #5fc48a;outline-offset:3px}
#bag.drag-slot .blist{outline:3px dashed #ef6f8f;outline-offset:-3px}#bag.drag-slot .blist.dropon{background:#fff0f3}#bag.drag-slot .blist.dropon:after{content:'여기에 놓으면 장착 해제';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#ef6f8f;color:#fff;font-weight:800;padding:6px 14px;border-radius:12px;font-size:13px}
.blist{position:relative}#bag.drag-list .bslots{outline:3px dashed #5fc48a;outline-offset:2px}
.btile,.bslot{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.bdrag-hint{font-size:11px;color:#8a8094}
.cutin.box{pointer-events:auto;cursor:pointer}
#bag.drag-slot .blist.dropon:after{top:auto;bottom:44px;transform:translateX(-50%);z-index:5;box-shadow:0 4px 12px #0003}

/* ───────── v9 상단 메뉴 레이아웃 ───────── */
.mgrp{position:absolute;display:flex;gap:6px;align-items:center;pointer-events:none}
.mgrp>*{pointer-events:auto}
#mStat{top:10px;left:10px;gap:8px}
#mStat #equip{position:static;font-size:12px}
.mgrp button,#bMore{display:inline-flex;align-items:center;gap:5px;border:0;cursor:pointer;font:inherit;font-weight:700;background:var(--bg);border-radius:14px;padding:8px 12px;box-shadow:0 4px 14px #0002;color:inherit}
.mgrp button .mi,#bMore .mi{font-weight:400;font-size:17px;line-height:1;display:inline-flex}
.mgrp button .mi img{width:18px;height:18px}
.mgrp button kbd{font-size:10px;opacity:.55;margin-left:2px}
.mgrp button:hover,#bMore:hover{filter:brightness(1.06);transform:translateY(-1px)}
#bMore{position:absolute;pointer-events:auto;display:none}
.hb{display:inline-block;width:16px;height:2px;background:currentColor;border-radius:2px;box-shadow:0 -5px 0 currentColor,0 5px 0 currentColor;margin:6px 0}
/* B: 상단 상태바 + 우상단 미니 아이콘 + 하단 독 (기본) */
body.menu-b #mSys{top:10px;right:10px;gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:52vw}
body.menu-b #mSys button{padding:7px 9px}
body.menu-b #mSys button .ml,body.menu-b #mSys kbd{display:none}
body.menu-b #mSys #bTime .ml,body.menu-b #mSys #bAuto .ml{display:inline;font-size:11px}
body.menu-b #mMain{left:50%;bottom:12px;transform:translateX(-50%);gap:4px;background:var(--bg);padding:6px 8px;border-radius:22px;box-shadow:0 8px 24px #0003}
body.menu-b #mMain button{flex-direction:column;gap:1px;padding:6px 14px;box-shadow:none;background:transparent;border-radius:14px;min-width:62px}
body.menu-b #mMain button .mi{font-size:22px}
body.menu-b #mMain button .ml{font-size:11px}
body.menu-b #mMain button kbd{display:none}
body.menu-b #mMain button:hover{background:#0000000d}
body.menu-b #fishBtn{bottom:96px}
body.menu-b #prompt{bottom:160px}
body.menu-b #chat{bottom:12px}
/* A: 우측 주요 아이콘 + ⚙ 묶음 드롭다운 */
body.menu-a #mMain{top:10px;right:64px}
body.menu-a #mMain button .ml{display:none}
body.menu-a #mMain button{padding:8px 10px}
body.menu-a #bMore{display:inline-flex;top:10px;right:10px}
body.menu-a #bMore .ml{display:none}
body.menu-a #mSys{top:58px;right:10px;flex-direction:column;align-items:stretch;background:var(--bg);padding:8px;border-radius:16px;box-shadow:0 8px 24px #0003;display:none}
body.menu-a #mSys button{box-shadow:none;justify-content:flex-start}
body.menu-a.menu-open #mSys,body.menu-d.menu-open #mSys{display:flex}
/* C: 좌측 세로 레일 */
body.menu-c #mMain,body.menu-c #mSys{left:10px;flex-direction:column;align-items:flex-start}
body.menu-c #mMain{top:62px}
body.menu-c #mSys{top:280px;gap:4px}
body.menu-c #mSys button{padding:6px 10px;font-size:12px}
body.menu-c #mSys button .ml{display:none}
body.menu-c #mSys{flex-direction:row;flex-wrap:wrap;width:150px}
body.menu-c #equip{display:none}
/* D: 가방·상점만 노출 + ☰ 메뉴 패널 */
body.menu-d #mMain{top:10px;right:64px}
body.menu-d #bDex,body.menu-d #bTank{display:none}
body.menu-d.menu-open #bDex,body.menu-d.menu-open #bTank{display:none}
body.menu-d #bMore{display:inline-flex;top:10px;right:10px}
body.menu-d #bMore .ml{display:none}
body.menu-d #mSys{top:58px;right:10px;display:none;flex-wrap:wrap;width:300px;background:var(--bg);padding:10px;border-radius:18px;box-shadow:0 8px 24px #0003}
body.menu-d #mSys::before{content:'';display:none}
body.menu-d #mSys button{flex:1 1 40%;box-shadow:none;background:#0000000a}
@media(max-width:700px){
 .mgrp button,#bMore{padding:6px 8px;font-size:12px}
 #mStat{flex-wrap:wrap;max-width:44vw}
 #mStat #equip{display:none}
 body.menu-b #mSys{max-width:54vw}
 body.menu-b #mSys #bTime .ml,body.menu-b #mSys #bAuto .ml{display:none}
 body.menu-b #mMain{left:8px;right:8px;transform:none;justify-content:space-around;bottom:8px}
 body.menu-b #mMain button{min-width:0;padding:5px 8px}
 body.menu-b #chat{bottom:82px}
 body.menu-b #joy{bottom:96px}
 body.menu-b #fishBtn{bottom:240px}
 body.menu-b #prompt{bottom:300px}
 body.menu-a #mMain,body.menu-d #mMain{right:54px}
 body.menu-a #mMain button .ml{display:none}
 body.menu-c #mSys{top:250px;width:110px}
}

/* ───────── v9 낚시 성공 카드 ───────── */
#toast .ccw{font-size:14px;color:#2b2b38;text-shadow:none;text-align:left}
.ccw .cc{background:#fffdf8;border-radius:20px;box-shadow:0 14px 40px #0003;overflow:hidden;position:relative}
.ccw img.fi{object-fit:contain}
.cc-chip{display:inline-block;font-size:11px;font-weight:800;padding:2px 8px;border-radius:9px;background:var(--g);color:#fff;vertical-align:middle;margin-left:4px}
.cc-bd{display:inline-block;font-size:11px;font-weight:800;padding:2px 8px;border-radius:9px;margin:2px 3px 0 0}
.cc-bd.new{background:#ffe7a3;color:#8a5a00}.cc-bd.rec{background:#d8f1ff;color:#0b5a83}.cc-bd.ng{background:#e8ddff;color:#5a2ea8}
.cc-w{font-size:11px;color:#8a8a99;margin-top:6px}
.cc .v{color:#c07a00;font-weight:800}
/* D 메달형 */
.cc.D{width:230px;padding:18px 16px 14px;text-align:center}
.cc.D .md{width:96px;height:96px;margin:0 auto 8px;border-radius:50%;border:5px solid var(--g);background:radial-gradient(circle at 50% 40%,#fff,#f1efe8);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 4px #fff,0 6px 18px #0002}
.cc.D .md img.fi{width:78px;height:78px}
.cc.D .rib{position:absolute;top:12px;right:-30px;transform:rotate(35deg);background:#ff5a5a;color:#fff;font-weight:900;font-size:11px;padding:3px 34px}
.cc.D .rib.rec{background:#2a9df4}
.cc.D .nm{font-weight:900;font-size:17px}
.cc.D .ln{display:flex;justify-content:center;gap:12px;margin-top:6px;font-size:14px}
.cc.D .cm{font-weight:800}
/* C 등급 헤더 */
.cc.C{width:230px}
.cc.C .hd{background:var(--g);color:#fff;font-weight:900;text-align:center;padding:6px;letter-spacing:2px}
.cc.C .bdy{padding:12px 14px;text-align:center}
.cc.C img.fi{width:110px;height:80px}
.cc.C .nm{font-weight:900;font-size:17px}
.cc.C .kv{display:flex;gap:8px;margin-top:8px}
.cc.C .kv>div{flex:1;background:#f4f1ea;border-radius:10px;padding:5px}
.cc.C .kv small{display:block;font-size:10px;color:#888}
/* B 가로 스트립 */
.cc.B{display:flex;align-items:center;gap:10px;padding:10px 14px;width:min(360px,88vw);border-left:6px solid var(--g)}
.cc.B img.fi{width:64px;height:48px}
.cc.B .m{flex:1;min-width:0}.cc.B .nm{font-weight:900;font-size:15px}.cc.B .s{font-size:11px;color:#888}
.cc.B .r{text-align:right}.cc.B .cm{font-weight:800}
/* A 미니멀 */
.cc.A{width:200px;padding:14px;text-align:center;border-top:4px solid var(--g)}
.cc.A img.fi{width:96px;height:64px}
.cc.A .nm{font-weight:800}
.cc.A .cm{font-size:30px;font-weight:900;line-height:1.1}.cc.A .cm small{font-size:13px}
body.menu-b #mMain button .mi img{width:26px;height:26px}
#mStat .logo{margin-right:2px;white-space:nowrap}

.ccw img.emj{width:1.15em;height:1.15em}
.optrow label{display:inline-block;white-space:nowrap;margin:2px 10px 2px 0}

/* ───────── v10 말풍선 (HTML 오버레이) ───────── */
#bubs{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.bub3{position:absolute;left:0;top:0;transform-origin:50% 100%;will-change:transform,opacity;padding-bottom:9px}
.bub3 .bt{position:relative;background:#fffdf8;color:#2b2b38;font-size:15px;font-weight:700;line-height:1.35;padding:7px 12px;border-radius:14px;box-shadow:0 4px 14px #0003;border:2px solid #fff;max-width:260px;width:max-content;word-break:keep-all;overflow-wrap:anywhere;text-align:center}
.bub3 .bt::after{content:'';position:absolute;left:50%;bottom:-9px;margin-left:-8px;border:8px solid transparent;border-top-color:#fffdf8;border-bottom:0}
.bub3.emo .bt{font-size:30px;line-height:1;padding:6px;border-radius:50%;width:46px;height:46px;display:flex;align-items:center;justify-content:center}
.bub3.emo .bt img.emj{width:32px;height:32px;margin:0}

/* ───────── v10 상자 진행 · 자동 낚시 · 수집 목표 ───────── */
#streak{display:inline-flex;align-items:center;gap:6px;font-size:12px;pointer-events:auto}
#streak .sk-bar{width:54px;height:7px;border-radius:5px;background:#0000001a;overflow:hidden;display:inline-block}
#streak .sk-bar i{display:block;height:100%;background:linear-gradient(90deg,#ffb347,#ff7a59);border-radius:5px;transition:width .4s}
#bAutoFish.on{background:linear-gradient(135deg,#7fd4a8,#3fb07c)!important;color:#fff}
#bAutoFish.on .mi{animation:autoSpin 2.4s linear infinite}
@keyframes autoSpin{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}
body.menu-b #mMain #bAutoFish.on{background:linear-gradient(135deg,#7fd4a8,#3fb07c)!important}
.gthemes{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 10px}
.gthemes b{margin-right:4px;font-size:13px}
.gth{display:inline-flex;align-items:center;gap:6px;border:2px solid transparent;background:#f4f1ea;border-radius:12px;padding:5px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.gth i{width:18px;height:18px;border-radius:6px;background:linear-gradient(var(--a),var(--b));box-shadow:inset 0 0 0 1px #0002}
.gth.on{border-color:#ff9a5a;background:#fff}.gth.lock{opacity:.5;cursor:default}
.gcats{margin-bottom:8px}
.glist{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:8px;max-height:56vh;overflow:auto;padding-right:4px}
.goal{display:flex;gap:10px;align-items:center;background:#fbf9f4;border-radius:14px;padding:10px 12px;border:1px solid #0000000d}
.goal.done{background:linear-gradient(135deg,#f0fff5,#e3f8ea);border-color:#7fd4a855}
.goal .gi{font-size:24px;width:34px;text-align:center}
.goal .gm{flex:1;min-width:0}.goal .gm b{font-size:14px}
.goal .gbar{height:6px;border-radius:4px;background:#00000012;margin-top:6px;overflow:hidden}
.goal .gbar i{display:block;height:100%;background:linear-gradient(90deg,#7fb8ff,#4e8ef0)}
.goal.done .gbar i{background:#3fb07c}
.goal .gr{text-align:right;width:130px;flex:none}.goal .grw{font-size:10.5px;color:#a0702a;font-weight:700;line-height:1.3}
.gk{display:inline-block;font-size:10.5px;padding:0 6px;margin:2px 2px 0 0;border-radius:7px;background:#0000000d;color:#888}
.gk.on{background:#dff3e6;color:#2e8a57;font-weight:700}
@media(max-width:700px){.glist{grid-template-columns:1fr;max-height:52vh}#streak .sk-bar{width:34px}}
#fishBtn{white-space:nowrap}

/* ───────── v11 ───────── */
#streak .sk-d{font-size:10.5px;color:#9a8f80;font-weight:700;margin-left:2px}
#streak.full{background:linear-gradient(90deg,#fff3d6,#ffe2b8)}
#miniT{position:fixed;right:14px;bottom:14px;z-index:9999;display:flex;flex-direction:column;gap:6px;align-items:flex-end;pointer-events:none}
#miniT .mt{background:#2f2a3be8;color:#fff;font-size:13px;padding:8px 13px;border-radius:12px;box-shadow:0 6px 20px #0004;animation:mtIn .25s ease-out;transition:opacity .4s,transform .4s;max-width:80vw}
#miniT .mt.out{opacity:0;transform:translateX(20px)}
@keyframes mtIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.tsort{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin:8px 0}
.tsort button{font-size:11.5px;padding:4px 9px;border-radius:9px;border:1.5px solid #e6e0d4;background:#fff;font-weight:700;color:#7a7286;cursor:pointer}
.tsort button.on{border-color:#ff9a5a;color:#e0703a;background:#fff4ec}
#chTabs{display:flex;gap:4px;margin-bottom:4px;pointer-events:auto}
#chTabs button{font-size:11px;font-weight:800;padding:3px 10px;border-radius:9px;border:0;background:#0000004d;color:#fff;cursor:pointer}
#chTabs button.on{background:#fffdf8;color:#3d3548}
#chat[data-f="chat"] #log .lg-sys,#chat[data-f="sys"] #log .lg-chat{display:none}
.btrow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}
.btrow .bt{border-radius:12px;padding:7px 8px;background:#f4f1ea;font-size:12px;opacity:.65}
.btrow .bt b{display:block}.btrow .bt small{font-size:10.5px;color:#8a8296}
.btrow .bt.on{background:linear-gradient(135deg,#fff3c2,#ffe08a);opacity:1;box-shadow:0 0 0 2px #f6c542 inset}
.dcard[data-frank]{cursor:pointer}.dcard[data-frank]:hover{transform:translateY(-2px)}
.txname{color:#ff2d8a;font-weight:800}body.tx-rainbow .txname{background:linear-gradient(90deg,#ff5f6d,#ffc371,#47e891,#3fb2ff,#b06bff);-webkit-background-clip:text;background-clip:text;color:transparent}
#frank{z-index:60}
.fr-card{width:min(520px,94vw);padding:18px 18px 14px}
.fr-head{display:flex;gap:12px;align-items:center;margin-bottom:8px}.fr-head>img{width:90px;height:60px;object-fit:contain}.fr-head h2{margin:0;font-size:19px}
.fr-list{max-height:48vh;overflow:auto;margin-top:8px}
.fr-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;font-size:14px}
.fr-row+.fr-row{margin-top:3px}.fr-n{width:30px;text-align:center;font-weight:900;color:#9a93a6;font-size:15px}.fr-nm{flex:1;font-weight:700}.fr-cm{font-weight:900;min-width:70px;text-align:right}
.fr-srv{display:inline-block;margin-left:6px;font-size:10.5px;color:#8a8296;background:#f1ede4;border-radius:7px;padding:0 6px}
.fr-row.t1{background:linear-gradient(90deg,#fff3c2,#fffdf8)}.fr-row.t2{background:linear-gradient(90deg,#eef2f7,#fffdf8)}.fr-row.t3{background:linear-gradient(90deg,#fde7d6,#fffdf8)}
.fr-row.t1 .fr-n,.fr-row.t2 .fr-n,.fr-row.t3 .fr-n{font-size:19px}
.fr-row.me{background:#fff4ec;box-shadow:0 0 0 2px #ffb98a inset}
.fr-mine{border-top:2px solid #f1ede4;margin-top:8px;padding-top:8px}
.fr-gap{font-size:13px;background:linear-gradient(90deg,#3d3548,#6a4f8a);color:#fff;border-radius:12px;padding:9px 12px;margin-top:6px}
.fr-gap b{color:#ffd86b}

/* ───────── v12 ───────── */
#tankBig{position:absolute;left:14px;top:14px;z-index:3;font-size:12.5px;font-weight:800;padding:6px 12px;border-radius:12px;border:0;background:#fffdf8e6;box-shadow:0 2px 10px #0002;cursor:pointer}
#tankHint{position:absolute;left:14px;bottom:12px;z-index:3;font-size:11.5px;color:#fff;background:#3d354899;border-radius:10px;padding:4px 10px;pointer-events:none}
.tankwrap{position:relative}#tankCv{touch-action:none;cursor:grab}
#tank.big #tankSide{display:none}#tank.big #tankCv{height:100%!important;flex:1!important}
.cks2{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:6px 0}
.cslot{align-self:start;border-radius:12px;background:#f4f1ea;padding:6px 4px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1px;border:2px solid transparent}
.cslot.h{background:#fff;border-color:var(--gc)}.cslot img{width:58px;height:38px;object-fit:contain}.cslot img.sil{filter:grayscale(1) brightness(1.5);opacity:.45}
.cslot b{font-size:12.5px}.cslot small{font-size:10.5px;color:#8a8296}
.cswap,.ctag2{margin-top:3px;font-size:11px;font-weight:800;border:0;border-radius:9px;padding:3px 7px;background:linear-gradient(90deg,#ffb36b,#ff8a5a);color:#fff;cursor:pointer}
.ctag2{font-size:12px;padding:3px 9px;vertical-align:1px}
/* 랭킹 F: 트로피 카드형 */
.fr-tops{display:grid;gap:8px;margin:4px 0 8px}
.fr-tc{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:18px;position:relative;overflow:hidden}
.fr-tc .fr-nm{flex:1;font-weight:800;font-size:15px}.fr-tc .fr-cm{font-size:21px;font-weight:900}.fr-tc .fr-cm small{font-size:12px}
.fr-tc.t1{background:linear-gradient(120deg,#fff1b8,#ffd86b 60%,#ffeaa0);box-shadow:0 0 0 2px #f6c542 inset,0 8px 22px #f6c54255}
.fr-tc.t2{background:linear-gradient(120deg,#f6f8fb,#d6dde7);box-shadow:0 0 0 2px #b7c2d0 inset}
.fr-tc.t3{background:linear-gradient(120deg,#fff0e4,#f3c19c);box-shadow:0 0 0 2px #e5a06e inset}
.fr-tc.me{outline:3px solid #ff9a5a;outline-offset:-3px}
.fr-tc:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#fff9 50%,transparent 65%);transform:translateX(-120%);animation:frsh 3s infinite;pointer-events:none}
.fr-tc.t2:after{animation-delay:.4s}.fr-tc.t3:after{animation-delay:.8s}@keyframes frsh{60%,100%{transform:translateX(120%)}}
.fr-medal{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:900;color:#fff;font-size:15px;box-shadow:inset 0 -3px 0 #0002}
.fr-medal.m1{background:radial-gradient(circle at 35% 30%,#fff3a8,#f6c542 55%,#d99b22)}.fr-medal.m2{background:radial-gradient(circle at 35% 30%,#fff,#c7d0dc 55%,#97a3b3)}.fr-medal.m3{background:radial-gradient(circle at 35% 30%,#ffe0c8,#e5a06e 55%,#b9713f)}
.fr-medal.mini{display:inline-grid;width:20px;height:20px;font-size:11px;vertical-align:-4px;margin-right:5px}
.fr-sp{position:absolute;width:9px;height:9px;background:#fff;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:frtw 1.8s infinite;pointer-events:none}
@keyframes frtw{0%,100%{opacity:0;transform:scale(.4)}50%{opacity:1;transform:scale(1)}}
.fr-row:nth-child(even){background:#f8f5ee}
.cswap img,.ctag2 img,.cslot small img{width:1.15em!important;height:1.15em!important;vertical-align:-.2em}
@media(max-width:700px){#tankHint{bottom:auto;top:calc(45% - 30px);font-size:10.5px}#tank.big #tankHint{top:auto;bottom:12px}}

/* ───────── v13 ───────── */
.boxget{position:fixed;left:50%;bottom:118px;transform:translateX(-50%);z-index:9000;display:flex;align-items:center;gap:12px;padding:10px 20px 10px 12px;border-radius:22px;background:linear-gradient(120deg,#fff6d8,#ffe08a 55%,#ffd0a0);box-shadow:0 0 0 3px #f6c542,0 12px 34px #f6a54266,0 0 40px #ffd86b88;animation:bgIn .55s cubic-bezier(.2,1.6,.4,1) both;pointer-events:none;overflow:hidden}
.boxget.gift{background:linear-gradient(120deg,#ffeaf2,#ffc6dc 55%,#ffd9b8);box-shadow:0 0 0 3px #ff8fb6,0 12px 34px #ff8fb666,0 0 40px #ffb8d088}
.boxget img{width:64px;height:64px;object-fit:contain;animation:bgBox 1s ease-in-out infinite;filter:drop-shadow(0 4px 6px #0003)}
.boxget .bg-t{display:flex;flex-direction:column}.boxget b{font-size:19px;color:#5a3a12;font-weight:900}.boxget b small{font-size:12px;color:#a0602a;margin-left:6px}.boxget .bg-t>small{font-size:12px;color:#7a5a3a}
.boxget .bg-rays{position:absolute;left:-30px;top:50%;width:140px;height:140px;margin-top:-70px;background:repeating-conic-gradient(#fff8 0 10deg,transparent 10deg 30deg);border-radius:50%;animation:bgSpin 4s linear infinite;opacity:.7}
.boxget.out{animation:bgOut .45s ease-in forwards}
@keyframes bgIn{from{opacity:0;transform:translate(-50%,40px) scale(.6)}to{opacity:1;transform:translate(-50%,0) scale(1)}}
@keyframes bgOut{to{opacity:0;transform:translate(-50%,-30px) scale(.9)}}
@keyframes bgBox{0%,100%{transform:rotate(-6deg) scale(1)}50%{transform:rotate(6deg) scale(1.08)}}@keyframes bgSpin{to{transform:rotate(360deg)}}
#bBag{position:relative}#bBag[data-new]::after{content:attr(data-new);position:absolute;top:-3px;right:-3px;min-width:14px;height:14px;padding:0 3.5px;border-radius:7px;background:#ff5a5a;color:#fff;font-size:8.5px;font-weight:900;line-height:14px;text-align:center;box-shadow:0 0 0 2px #fff;animation:bdgP 1.2s ease-in-out infinite}
@keyframes bdgP{50%{transform:scale(1.2)}}
#toast:has(.cc.B){top:calc(26% - 8.5vh)}
.tset p{margin:6px 0}.tset label{margin-right:8px;white-space:nowrap}
@media(max-width:700px){.boxget{bottom:150px;padding:8px 14px 8px 8px}.boxget img{width:48px;height:48px}.boxget b{font-size:16px}}

#fishBtn.fb14.vA{padding:16.0px 40.0px;border-radius:99px;background:linear-gradient(#ffb27a,#ff7a45);box-shadow:inset 0 6.0px 0 #ffffff70,inset 0 -6.0px 0 #d8521f,0 9.0px 0 #b84414,0 16.0px 20.0px #0004;text-shadow:0 2.0px 0 #b84414}
#fishBtn.fb14.vA.s-cast{background:linear-gradient(#8fd4ff,#3a9ae8);box-shadow:inset 0 6.0px 0 #ffffff70,inset 0 -6.0px 0 #1f6fc0,0 9.0px 0 #1a5a9a,0 16.0px 20.0px #0004;text-shadow:0 2.0px 0 #1a5a9a;animation:breath 1.6s infinite}
#fishBtn.fb14.vA.s-bite{background:linear-gradient(#ff8a8a,#ff3b3b);box-shadow:inset 0 6.0px 0 #ffffff70,inset 0 -6.0px 0 #c01f1f,0 9.0px 0 #9a1414,0 16.0px 20.0px #0004;animation:shake .18s infinite}
#fishBtn.fb14.vB{isolation:isolate;width:120.0px;height:120.0px;border-radius:50%;background:#fffaf3;color:#ff7a45;box-shadow:0 10.0px 25.0px #0004;display:flex;align-items:center;justify-content:center;font-size:19.0px;position:relative}
#fishBtn.fb14.vB::before{content:'';position:absolute;inset:-8.0px;border-radius:50%;background:conic-gradient(#ff7a45 var(--p,0%),#ffffff66 0);z-index:-1;-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 9.0px),#000 0);mask:radial-gradient(farthest-side,transparent calc(100% - 9.0px),#000 0)}
#fishBtn.fb14.vB.s-cast{color:#3a9ae8;--p:62%}
#fishBtn.fb14.vB.s-cast::before{background:conic-gradient(#3a9ae8 62%,#ffffff66 0)}
#fishBtn.fb14.vB.s-bite{background:#ff3b3b;color:#fff;animation:pulse .5s infinite}
#fishBtn.fb14.vB.s-bite::before{background:#ff3b3b88}
#fishBtn.fb14.vC{padding:15.0px 40.0px;border-radius:14.0px;background:repeating-linear-gradient(90deg,#c98d52 0 4.0px,#bf8448 4.0px 11.0px);border:4.5px solid #7a4a22;box-shadow:inset 0 4.0px 0 #e8b47a,0 8.0px 0 #5a3414,0 14.0px 20.0px #0004;color:#fff8e8;text-shadow:0 2.5px 0 #6a3a14}
#fishBtn.fb14.vC.s-cast{filter:hue-rotate(160deg) saturate(.6) brightness(1.1)}
#fishBtn.fb14.vC.s-bite{filter:hue-rotate(-30deg) saturate(1.6);animation:shake .2s infinite}
#fishBtn.fb14.vD{padding:16.0px 40.0px;border-radius:99px;background:#1f6fc0;position:relative;overflow:hidden;box-shadow:0 0 0 4.0px #fff,0 12.0px 20.0px #0004}
#fishBtn.fb14.vD span{position:relative;z-index:1}
#fishBtn.fb14.vD::before{content:'';position:absolute;left:-50%;width:200%;height:200%;top:var(--lv,55%);background:radial-gradient(circle at 50% 0,transparent 0,transparent 0) ,linear-gradient(#5fc1ff,#2a8ae0);border-radius:40%;animation:wave 3s linear infinite}
#fishBtn.fb14.vD.s-cast{background:#ff9a5c}
#fishBtn.fb14.vD.s-cast::before{background:linear-gradient(#ffc48c,#ff7a45);--lv:35%}
#fishBtn.fb14.vD.s-bite{background:#c01f1f}
#fishBtn.fb14.vD.s-bite::before{background:linear-gradient(#ff8a8a,#ff3b3b);--lv:5%;animation-duration:.8s}
#fishBtn.fb14.vE{padding:15.0px 40.0px;border-radius:99px;background:#1b1830cc;border:3.5px solid #ff9a5c;color:#ffd3b8;box-shadow:0 0 20.0px #ff9a5c,inset 0 0 15.0px #ff9a5c88;text-shadow:0 0 10.0px #ff9a5c}
#fishBtn.fb14.vE.s-cast{border-color:#5fc1ff;color:#cfeeff;box-shadow:0 0 20.0px #5fc1ff,inset 0 0 15.0px #5fc1ff88;text-shadow:0 0 10.0px #5fc1ff;animation:breath 1.6s infinite}
#fishBtn.fb14.vE.s-bite{border-color:#ff4f6a;color:#fff;box-shadow:0 0 30.0px #ff4f6a,inset 0 0 20.0px #ff4f6a;animation:shake .18s infinite}
#fishBtn.fb14.vF{display:flex;flex-direction:column;align-items:center;gap:5.0px;padding:12.0px 36.0px;border-radius:20.0px;background:#fffaf3;color:#4a4058;box-shadow:0 10.0px 20.0px #0004;font-size:20.0px}
#fishBtn.fb14.vF small{font-size:12.0px;font-weight:700;color:#9a8fa6}
#fishBtn.fb14.vF .gg{width:160.0px;height:10.0px;border-radius:10.0px;background:#eee4d8;overflow:hidden}
#fishBtn.fb14.vF .gg i{display:block;height:100%;;background:linear-gradient(90deg,#5cb85c,#f0a020,#ff3b3b)}
#fishBtn.fb14.vF.s-bite{background:#ff3b3b;color:#fff;animation:pulse .45s infinite}
#fishBtn.fb14.vF.s-bite small{color:#ffe0e0}
.gfx .gA{position:fixed;left:50%;top:12%;transform:translateX(-50%);width:440.0px;background:linear-gradient(135deg,#fffdf6,#fff1cc);border-radius:24.0px;box-shadow:0 0 0 4.0px #f6c542,0 15.0px 40.0px #0004;padding:20.0px;display:flex;gap:20.0px;align-items:center;animation:dropIn .7s cubic-bezier(.2,1.4,.4,1) both}
.gfx .gA img{width:90.0px;animation:spinIn 1s both}
.gfx .gA h4{margin:0;font-size:15.0px;color:#a0600a;letter-spacing:.1em}
.gfx .gA b{display:block;font-size:24.0px;margin:3.0px 0}
.gfx .gA .pg{height:12.0px;border-radius:10.0px;background:#eedfb8;overflow:hidden}
.gfx .gA .pg i{display:block;height:100%;background:linear-gradient(90deg,#f6c542,#ff9a3c);animation:fill 1.2s .5s both}
.gfx .gA p{margin:6.0px 0 0;font-size:15.0px;color:#7a5a3a}
.gfx .gB{inset:0;display:flex;align-items:center;justify-content:center}
.gfx .gB .stamp{position:absolute;right:-20.0px;top:-30.0px;width:140.0px;height:140.0px;border-radius:50%;border:7.0px solid #e0483a;color:#e0483a;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:26.0px;transform:rotate(-14deg);animation:stamp .45s .6s cubic-bezier(.3,1.6,.5,1) both;background:#fff8;text-align:center;line-height:1.1}
.gfx .gC{position:fixed;left:0;right:0;top:18%;display:flex;flex-direction:column;align-items:center}
.gfx .gC .rib{position:relative;padding:14.0px 70.0px;background:linear-gradient(#ff8fb6,#e85a8a);color:#fff;font-weight:900;font-size:28.0px;clip-path:polygon(0 0,100% 0,95% 50%,100% 100%,0 100%,5% 50%);animation:ribIn .6s both}
.gfx .gC .rw{display:flex;gap:20.0px;margin-top:16.0px}
.gfx .gC .rw div{width:100.0px;padding:10.0px;background:#fff;border-radius:16.0px;text-align:center;font-size:14.0px;font-weight:700;box-shadow:0 8.0px 20.0px #0003;animation:pop .5s both}
.gfx .gC .rw div:nth-child(2){animation-delay:.15s}
.gfx .gC .rw div:nth-child(3){animation-delay:.3s}
.gfx .gC .rw img{width:50.0px;display:block;margin:0 auto 4.0px}
.gfx .gD{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;perspective:1000.0px}
.gfx .gD .fl{width:260.0px;height:340.0px;position:relative;transform-style:preserve-3d;animation:flip 1.2s .4s both}
.gfx .gD .fl>div{position:absolute;inset:0;border-radius:20.0px;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10.0px;box-shadow:0 15.0px 40.0px #0005}
.gfx .gD .fr{background:repeating-linear-gradient(45deg,#6a4fc0 0 20.0px,#7a5fd0 20.0px 40.0px);transform:rotateY(0)}
.gfx .gD .bk{background:linear-gradient(160deg,#fffdf6,#efe7ff);transform:rotateY(180deg);text-align:center;padding:20.0px}
.gfx .gD .bk h4{margin:0;font-size:22.0px}
.gfx .gD .bk .ef{font-size:30.0px;font-weight:900;color:#6a4fc0}
.gfx .gD .bk p{margin:0;font-size:14.0px;color:#7a6f86}
.gfx .gD .bk img{width:80.0px}
@keyframes dropIn{from{transform:translate(-50%,-160%)}to{transform:translate(-50%,0)}}
@keyframes spinIn{from{transform:rotateY(720deg) scale(.2);opacity:0}to{transform:rotateY(0) scale(1);opacity:1}}
@keyframes pulse{50%{transform:scale(1.12)}}
@keyframes pop{from{transform:scale(0)}60%{transform:scale(1.2)}}
@keyframes breath{50%{transform:scale(1.04)}}
@keyframes shake{25%{transform:translateX(-3.0px) rotate(-2deg)}75%{transform:translateX(3.0px) rotate(2deg)}}
@keyframes wave{to{transform:rotate(360deg)}}
@keyframes fill{from{width:70%}to{width:100%}}
@keyframes stamp{from{transform:scale(3) rotate(-30deg);opacity:0}to{transform:scale(1) rotate(-14deg);opacity:1}}
@keyframes ribIn{from{clip-path:polygon(50% 0,50% 0,50% 50%,50% 100%,50% 100%,50% 50%)}}
@keyframes flip{from{transform:rotateY(0)}to{transform:rotateY(180deg)}}
/* v14 */
html,body{overscroll-behavior:none}#world,#world canvas{touch-action:none}
#wxCv,#reelCv{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}#wxCv{z-index:1}#reelCv{z-index:6}
#rkL{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.rk10{position:absolute;left:0;top:0;text-align:center;white-space:nowrap;display:flex;flex-direction:column;align-items:center;transform-origin:50% 100%}
.rk10 .au{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);border-radius:50%;z-index:-1}
.rk10.k1 .au{width:150px;height:150px;background:radial-gradient(#ffe27a99,#f6c54233 50%,#f6c54200 70%);animation:rkpulse 2.2s infinite}
.rk10.k2 .au{width:110px;height:110px;background:radial-gradient(#ffffff88,#dfe5ee22 55%,#fff0 70%)}
.rk10.k3 .au{width:100px;height:100px;background:radial-gradient(#ffc69a77,#e39a6222 55%,#fff0 70%)}
.rk10 .cw{width:26px;height:26px;filter:drop-shadow(0 2px 4px #0006);margin-bottom:2px}
.rk10.k1 .cw{width:32px;height:32px;animation:floaty 2.2s ease-in-out infinite}
.rk10 .t{font-size:10.5px;font-weight:900;padding:2px 8px;border-radius:8px;margin-bottom:3px;background:#fff;color:#7a5a00}
.rk10.k2 .t{color:#4a5566}.rk10.k3 .t{color:#7a3d14}
.rk10 .nn{font-size:13px;font-weight:900;padding:3px 10px;border-radius:10px}
.rk10.k1 .nn{background:linear-gradient(90deg,#b8860b,#f6c542,#b8860b);color:#3a2600;box-shadow:0 0 14px #f6c542cc}
.rk10.k2 .nn{background:linear-gradient(90deg,#7d8796,#dfe5ee,#7d8796);color:#222a34}
.rk10.k3 .nn{background:linear-gradient(90deg,#8a4d22,#e39a62,#8a4d22);color:#2e1405}
@keyframes rkpulse{0%,100%{opacity:.7;transform:translate(-50%,-50%) scale(.95)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
#fishBtn.fb14{font-weight:900;font-size:19px;border:0;color:#fff;white-space:nowrap}
#fishBtn.fb14.vB{padding:0;transform:translateX(-50%)}
#fishBtn.fb14.vF{color:#4a4058}#fishBtn.fb14.vF b{font-size:19px}
#fishBtn.fb14.vF.s-bite{background:#ff3b3b;color:#fff}
.gfx{position:fixed;inset:0;z-index:40;pointer-events:auto;color:#3a3048;transition:opacity .5s}.gfx.out{opacity:0}
.gfx .gB{position:fixed;left:50%;top:22%;transform:translateX(-50%);width:420px;padding:24px;background:#fffdf6;border-radius:15px;box-shadow:0 15px 40px #0005;text-align:center;animation:up .4s both;inset:auto}
.gfx .gB h4{margin:0;font-size:24px}.gfx .gB p{margin:8px 0 0;font-size:15px;color:#7a6f86}
.gfx .gB .stamp{position:absolute;right:-20px;top:-30px;width:110px;height:110px;border-radius:50%;border:6px solid #e0483a;color:#e0483a;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:22px;transform:rotate(-14deg);animation:stamp .45s .6s cubic-bezier(.3,1.6,.5,1) both;background:#fff8;line-height:1.1}
.gfx .gC .rw div{width:auto;min-width:120px}
.gfx .gD .fl{width:240px;height:310px}
.gfx .gD .ef{font-weight:900;color:#2a7a3a;font-size:15px}.gfx .gD img{width:70px}
.adm{width:min(860px,94vw);max-height:88vh;overflow:auto}
.adtabs{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}.adtabs button{padding:6px 12px;border-radius:10px;background:#f1ebe2;color:#4a4058}.adtabs button.on{background:var(--acc);color:#fff}
.adgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}
.adt{width:100%;border-collapse:collapse;font-size:13px}.adt td,.adt th{padding:5px 6px;border-bottom:1px solid #eee4d8;text-align:left}
.adlog{max-height:180px;overflow:auto;font-size:12px;background:#faf6ef;border-radius:8px;padding:8px}
.tset select{margin-left:6px;padding:3px 6px;border-radius:8px}
@keyframes up{from{opacity:0;transform:translate(-50%,20px)}to{opacity:1;transform:translate(-50%,0)}}
#fishBtn.fb14{left:0;right:0;margin:0 auto;width:max-content;transform:none}
#fishBtn.fb14.vB{transform:none}
/* v15 */
#coins{height:30px;box-sizing:border-box;padding:0 12px;display:inline-flex;align-items:center;gap:5px;font-size:15px}#coins img.emj{width:18px;height:18px}
*{scrollbar-width:thin;scrollbar-color:#d8cbe0 transparent}
::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#d8cbe0;border-radius:8px}::-webkit-scrollbar-thumb:hover{background:#c3b2d0}
#ctxM{position:fixed;z-index:60;display:none;min-width:150px;background:#fffdf8;border-radius:12px;box-shadow:0 8px 28px #3a304833;padding:6px}
#ctxM .cm-h{font-size:12px;color:#8a7f96;padding:6px 10px 4px;font-weight:700}
#ctxM button{display:block;width:100%;text-align:left;background:none;color:#3a3048;padding:8px 10px;border-radius:8px;font-size:14px}#ctxM button:hover{background:#f3ece2}
#log b[data-who]:not([data-who=""]){cursor:context-menu}
.adrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 12px}.adrow input:not([type]){flex:1;min-width:180px;padding:8px 12px;border-radius:10px;border:1px solid #e6dccf}
.pres{font-size:13px;padding:6px 10px;border-radius:8px;background:#f3ece2}
.pcols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pcol h4{margin:4px 0 8px}.pcol h4 small{color:#9a8fa6;font-weight:600}
.pchips{display:flex;flex-wrap:wrap;gap:6px;max-height:300px;overflow:auto;padding:2px}
.pchip{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 10px;border-radius:999px;background:#f3ece2;font-size:13px}
.pchip button{padding:0 7px;border-radius:999px;background:#0000;color:#9a6a6a;font-size:13px;line-height:18px}.pchip button:hover{background:#ffdcd6}
.blk{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.dopt{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:14px;border:2px solid #eee4d8;cursor:pointer}.dopt.on{border-color:var(--acc)}.dopt span{font-size:12.5px;color:#7a6f86}
@media(max-width:700px){.pcols{grid-template-columns:1fr}}
.dopt input{display:none}
/* v16 날씨 카드 D */
#wxCard{position:absolute;left:12px;top:48px;width:196px;background:#fffdf8ee;border-radius:14px;padding:10px 12px;box-shadow:0 2px 12px #0002;font-size:12.5px;color:#3a3048;pointer-events:none}
#wxCard .h{display:flex;align-items:center;gap:6px}#wxCard .h img{width:20px;height:20px}#wxCard .h small{margin-left:auto;color:#9a8fa6;font-variant-numeric:tabular-nums}
#wxCard .e{margin:6px 0 0;color:#6a5f76}#wxCard .bar{margin-top:7px;height:4px;border-radius:4px;background:#f0e6da}#wxCard .bar i{display:block;height:100%;border-radius:4px;background:#ff9ab8;transition:width .5s linear}
/* v16 관리자 A 라이트 / B 다크 */
.adm2{width:min(1100px,96vw)!important;height:min(700px,90vh);max-height:none!important;padding:0!important;overflow:hidden!important;display:flex;flex-direction:column;background:#fbf8f3;border-radius:22px}
.adm2 header{display:flex;align-items:center;gap:12px;padding:16px 24px;background:linear-gradient(90deg,#ff9a6a,#ffb88a);color:#fff}.adm2 header b{font-size:18px;white-space:nowrap}.adm2 .pill{font-size:12px;background:#ffffff33;color:#fff;padding:4px 10px;border-radius:999px}.adm2 .sp{flex:1}
.adm2 .hb{font-size:12.5px;background:#ffffff33;color:#fff;padding:6px 12px;border-radius:999px}
.adm2 .alay{display:flex;flex:1;min-height:0}
.adm2 aside.adtabs{width:190px;flex:none;margin:0;padding:14px 10px;background:#fff;border-right:1px solid #f0e8dc;display:flex;flex-direction:column;gap:4px;flex-wrap:nowrap;overflow:auto}
.adm2 aside.adtabs button{display:flex;gap:10px;align-items:center;text-align:left;padding:10px 14px;border-radius:12px;font-size:14px;background:none;color:#4a4058}.adm2 aside.adtabs button.on{background:#ff8a5c;color:#fff;font-weight:700}
.adm2 .atip{margin-top:auto;border:1px dashed #ffb88a;border-radius:12px;padding:10px;font-size:12px}.adm2 .atip p{margin:4px 0 0;color:#8a7f96}
.adm2 main.adb{flex:1;padding:24px 28px;overflow:auto}.adm2 main.adb>h2{margin:0 0 18px;font-size:20px}
.adm2 .adgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;margin-bottom:16px}
.adm2 .adgrid>div{background:#fff;border:1px solid #f0e8dc;border-radius:16px;padding:16px 18px;display:flex;flex-direction:column-reverse;gap:4px}.adm2 .adgrid>div b{font-size:22px}.adm2 .adgrid>div span{font-size:12.5px;color:#8a7f96}
.adm2 h4{margin:18px 0 10px}.adm2 .adt{background:#fff;border-radius:14px;overflow:hidden}.adm2 .adt td,.adm2 .adt th{padding:10px 12px}.adm2 .adt button{margin:2px 4px 2px 0}
.adm2 .adlog{background:#fff;border:1px solid #f0e8dc;padding:10px 14px}.adm2 .adlog div{padding:5px 0;border-bottom:1px solid #f6f0e6}
.adm2.dk{background:#1f1b2a;color:#ece6f6}.adm2.dk header{background:linear-gradient(90deg,#3a2f5c,#5a3f6c)}.adm2.dk aside.adtabs{background:#262136;border-color:#332c46}.adm2.dk aside.adtabs button{color:#d6cfe6}.adm2.dk aside.adtabs button.on{background:#ff8a5c;color:#fff}
.adm2.dk .adgrid>div,.adm2.dk .adt,.adm2.dk .adlog,.adm2.dk .dopt{background:#2a2439;border-color:#3a3350;color:#ece6f6}.adm2.dk .adt td,.adm2.dk .adt th{border-color:#3a3350}.adm2.dk .muted,.adm2.dk .adgrid>div span{color:#a89ec0}
.adm2.dk input,.adm2.dk select{background:#2a2439;color:#ece6f6;border-color:#4a4260}.adm2.dk .pchip,.adm2.dk .pres{background:#332c46;color:#ece6f6}.adm2.dk .atip{border-color:#6a5a8c}
/* v16 설정 A: 왼쪽 메뉴 */
#set .card.setA{width:min(900px,95vw)!important;height:min(640px,88vh);display:flex;flex-direction:column;padding:0;overflow:hidden}
#set .card.setA>h2{margin:0;padding:18px 24px;background:linear-gradient(90deg,#ff9a6a,#ffb88a);color:#fff;font-size:18px}#set .card.setA>.close{z-index:2;color:#fff}
#set .slay{display:flex;flex:1;min-height:0}#set .slay aside{width:180px;flex:none;padding:14px 10px;background:#fff;border-right:1px solid #f0e8dc;display:flex;flex-direction:column;gap:4px;overflow:auto}
#set .slay aside button{text-align:left;padding:10px 12px;border-radius:12px;background:none;color:#4a4058;font-size:13.5px;line-height:1.3}#set .slay aside button.on{background:#ff8a5c;color:#fff;font-weight:700}
#set .slay main{flex:1;overflow:auto;padding:18px 26px 26px}#set .slay main section>h4{margin:0 0 14px;font-size:17px}#set .slay main p{margin:0 0 12px;line-height:1.7}
.pvrow{border-radius:10px;padding:4px 6px;margin-left:-6px}.pvrow:hover{background:#fff4ee}
#pvPop{position:fixed;z-index:80;display:none;width:280px;background:#fff;border-radius:14px;box-shadow:0 10px 30px #3a304840;padding:8px;pointer-events:none}#pvPop img{width:100%;border-radius:10px;display:block;background:#f3ece2;min-height:120px}#pvPop small{display:block;text-align:center;margin-top:6px;color:#7a6f86}
.adm2 header .hb,.adm2 header .hb:hover{background:#ffffff33!important;color:#fff!important;white-space:nowrap;width:auto!important;height:auto!important;min-width:0;box-shadow:none;border:0;padding:6px 12px!important;font-size:12.5px}
#fishBtn.fb14.vF b,#fishBtn.fb14.vF small{display:block;text-align:center}#fishBtn.fb14.vF .gg{display:block;margin:6px auto 0}
#fishBtn.fb14{position:absolute!important}

/* v17 */
.gfx .gD .bk .lb{margin:0;font-size:13px;font-weight:700;letter-spacing:.12em;color:#8a7fa0}
.gfx .gD .bk h4{margin:0;font-size:26px;line-height:1.2;color:#3a3048;word-break:keep-all}
.gfx .gD .bk .ef{font-size:16px;font-weight:800;color:#6a4fc0;background:#efe7ff;padding:6px 12px;border-radius:12px;word-break:keep-all}
body:has(.modal.show) #chat,body:has(.modal.show) #bubs{visibility:hidden}
@media (max-width:700px){
 #set .card.setA .slay,.adm2 .alay{flex-direction:column!important}
 #set .card.setA .slay>nav,#set .card.setA .slay>aside,.adm2 aside{width:auto!important;min-width:0!important;max-width:none!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:6px!important;padding:8px!important;border-right:0!important;border-bottom:1px solid #0001}
 #set .card.setA .slay>nav button,#set .card.setA .slay>aside button,.adm2 aside button{flex:0 0 auto!important;width:auto!important;white-space:nowrap!important;margin:0!important}
 .adm2 aside .tip,.adm2 aside>div:not(:has(button)){display:none!important}
 .adm2 .alay{min-height:0}
 #set .card.setA .slay>main,#set .card.setA .slay>div,.adm2 main{min-width:0!important;width:auto!important}
 #set .card.setA input[type=text],#set .card.setA input:not([type]){max-width:100%;box-sizing:border-box}
}
#set .card.setA .close{color:#c0603a!important;font-size:22px!important;line-height:1!important;display:flex;align-items:center;justify-content:center}

/* v18 */
.dl.dn{background:#e0485a!important}.bgb s{position:absolute;top:0;bottom:0;background:repeating-linear-gradient(45deg,#ff8a9a 0 4px,#e0485a 4px 8px);opacity:.9}
#charPick{display:block!important;margin:8px auto 14px;max-width:560px}#charPick .cpt{display:flex;gap:6px;justify-content:center;margin-bottom:8px}#charPick .cpt span{padding:5px 12px;border-radius:999px;background:#f3eee6;font-size:13px;cursor:pointer;font-weight:700}#charPick .cpt span.on{background:var(--acc2);color:#fff}
#charPick .cpg{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;max-height:236px;overflow:auto;padding:4px}
#charPick .cpg button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 4px;border-radius:14px;font-size:11.5px;line-height:1.2;background:#fff;border:2px solid transparent}#charPick .cpg button img{width:64px;height:72px;object-fit:cover;border-radius:10px;background:#efe6d8}#charPick .cpg button i{font-style:normal;font-size:40px;height:72px;display:flex;align-items:center}
#charPick .cpg button.sel{border-color:var(--acc2);background:#fff4ee!important;color:inherit!important}
.ambone{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;margin:4px 0 8px}.ambone label{cursor:pointer}
/* v19 시작 화면 B (데스크톱) / D (모바일) */
#start .stB{display:grid;grid-template-columns:minmax(260px,320px) minmax(300px,420px) minmax(300px,380px);gap:18px;align-items:stretch;max-width:1180px;width:96vw;max-height:94vh}
#start .stB .card{position:relative;margin:0;width:auto;max-width:none;padding:20px 20px 18px;display:flex;flex-direction:column;gap:6px;text-align:left;overflow:auto}
#start .stB h1{margin:0}#start .lbl{font-weight:800;font-size:13px;color:#6a6076;margin-top:10px}
#stNick{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:10px 12px;border-radius:12px;border:2px solid #ece4da;outline:0}#stNick:focus{border-color:var(--acc2)}
#stSrv{display:flex;flex-direction:column;gap:7px}#stSrv .sv{display:grid;grid-template-columns:78px 1fr auto;align-items:center;gap:8px;padding:9px 11px;border-radius:12px;background:#f7f3ee;border:2px solid transparent;text-align:left;font-size:13px}
#stSrv .sv.on{border-color:var(--acc2);background:#fff4ee}#stSrv .sv:disabled{opacity:.5}#stSrv .bar{height:7px;border-radius:9px;background:#e6dfd6;overflow:hidden}#stSrv .bar i{display:block;height:100%;background:#6cc28a}#stSrv .bar i.hi{background:#f0a050}#stSrv .bar i.full{background:#e06a6a}#stSrv small{color:#8a8094;font-size:11.5px;text-align:right}
#rtPill{position:fixed;right:10px;bottom:8px;z-index:30;pointer-events:none;font:700 12px/1.3 sans-serif;color:#fff;background:#1d7a45cc;border-radius:999px;padding:4px 10px;text-shadow:0 1px 2px #0006}
#rtPill.solo,#rtPill.idle,#rtPill.off{background:#5c5468cc}#rtPill.connecting,#rtPill.wait{background:#8a6a32cc}
#start .note{font-size:12px;color:#6a6076;background:#f7f3ee;border-radius:12px;padding:9px 11px;margin-top:10px;line-height:1.45}
#start .st2{align-items:center;text-align:center!important}#start .stPrev{width:100%;flex:1;min-height:260px;border-radius:18px;background:radial-gradient(circle at 50% 40%,#fff,#efe7dc);display:flex;align-items:center;justify-content:center;overflow:hidden}#start .stPrev img{max-height:340px;max-width:92%;border-radius:18px}
#start .st2 b{font-size:18px;margin-top:6px}#start .st2 #go{width:100%;margin-top:8px}
#start .st3 #charPick{margin:4px 0 0;max-width:none}#start .st3 #charPick .cpg{max-height:none;grid-template-columns:repeat(4,1fr)}
#start .stSteps,#start .stNext,#start .stBack{display:none}#start .ghost{background:#f3eee6;color:#4a4058}
@media (max-width:699px){#start .stB{grid-template-columns:1fr;width:94vw;max-height:none;gap:10px}#start .stB .card{padding:16px}
 #start .stSteps{display:flex;gap:6px;margin:6px 0}#start .stSteps span{flex:1;text-align:center;padding:6px 4px;border-radius:10px;background:#f3eee6;font-size:12px;font-weight:800;color:#8a8094}#start .stSteps span.on{background:var(--acc2);color:#fff}#start .stSteps span.done{background:#d8efe0;color:#3a7a52}
 #start .stNext,#start .stBack{display:block}#start .stNav{display:flex;gap:8px;margin-top:10px}#start .stNav .big{flex:1}#start .stA .big{margin-top:12px}
 #start [data-step="1"] .stS,#start [data-step="2"] .stA,#start [data-step="1"] .st2,#start [data-step="2"] .st2,#start [data-step="1"] .st3,#start [data-step="2"] .st3{display:none}
 #start [data-step="3"] .st1 .stA,#start [data-step="3"] .st1 .stS,#start [data-step="3"] .st1 h1+p{display:none}#start [data-step="3"] .st1{padding-bottom:8px}
 #start [data-step="3"]{display:flex;flex-direction:column}#start [data-step="3"] .st3{order:2}#start [data-step="3"] .st2{order:3}
 #start .stPrev{min-height:180px;flex:none;height:200px}#start .stPrev img{max-height:190px}#start .stKeys{display:none}#start .st3 #charPick .cpg{grid-template-columns:repeat(5,1fr)}#start .st3 #charPick .cpg button img{width:100%;height:auto;aspect-ratio:8/9}#start .st3 #charPick .cpg button span{font-size:10px}}

/* v20 앉기 버튼 */
#sitBtn{position:fixed;left:50%;bottom:150px;transform:translateX(-50%);z-index:30;border:0;border-radius:999px;padding:10px 20px;font:inherit;font-weight:800;font-size:15px;background:#fffdf8;color:#4a4058;box-shadow:0 6px 18px #3a304840,0 0 0 3px #ff8a5c inset;cursor:pointer}#sitBtn:active{transform:translateX(-50%) scale(.96)}
#bSit.ready{box-shadow:0 0 0 3px #ff8a5c inset}

/* ───────── v21 ───────── */
#dc{display:none!important}body.perf #dc{display:block!important}
/* 레벨 HUD (v17 lA) */
.lvb{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:0;border-radius:999px;padding:4px 12px 4px 4px;box-shadow:0 4px 14px #0002;font:inherit;color:inherit;cursor:pointer;pointer-events:auto}
.lvb .lvc{width:36px;height:36px;border-radius:50%;background:conic-gradient(#ff8a5c 0 var(--p),#f1e6da var(--p));display:flex;align-items:center;justify-content:center;flex:none}
.lvb .lvc>span{width:28px;height:28px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;color:#c0603a}
.lvb .xp{display:flex;flex-direction:column;width:190px;text-align:left}.lvb .xp .t{display:flex;justify-content:space-between;gap:6px;font-size:11px;color:#7a6f86;font-weight:800;white-space:nowrap}
.lvb .ttl{font-size:10px;font-weight:800;color:#fff;background:#6a4fc0;border-radius:8px;padding:1px 7px;margin-left:2px}
.lvb .xp .b{height:7px;border-radius:6px;background:#efe6da;overflow:hidden;margin-top:3px}.lvb .xp .b i{display:block;height:100%;background:linear-gradient(90deg,#ffb36a,#ff8a5c);transition:width .4s}
.lvb.max .lvc{background:conic-gradient(#f6c542,#ff8a5c,#c08cff,#5fc8f0,#f6c542)}.lvb.max .ttl{background:linear-gradient(90deg,#f6c542,#e0703a);box-shadow:0 0 0 1.5px #fff,0 0 0 3px #f6c542}
#xpF{position:fixed;z-index:40;pointer-events:none;background:#fff;border-radius:12px;padding:5px 11px;font-size:12px;font-weight:700;color:#4a4058;box-shadow:0 6px 16px #0002;opacity:0;white-space:nowrap}#xpF b{color:#e0703a}#xpF .xn{color:#e0703a}
#xpF.on{animation:xpf 2.4s ease forwards}@keyframes xpf{0%{opacity:0;transform:translateY(-4px)}10%,75%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-6px)}}
#lvT{position:fixed;left:50%;top:70px;transform:translateX(-50%);z-index:45;background:#fff;border-radius:999px;padding:8px 18px;font-weight:900;font-size:14px;color:#c0603a;box-shadow:0 8px 22px #0003;opacity:0;pointer-events:none;white-space:nowrap}
#lvT.on{animation:lvt 3.2s ease forwards}@keyframes lvt{0%{opacity:0;transform:translate(-50%,-8px)}10%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-8px)}}
#lvUp{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;background:#3a304855;cursor:default}#lvUp.show{display:flex}#lvUp .bt{margin-top:12px}
#lvUp .lvup{width:min(420px,90vw);border-radius:26px;background:radial-gradient(circle at 50% 30%,#fff8e6,#ffe2c4);box-shadow:0 0 0 5px #ffc46a,0 20px 60px #3a304866;padding:24px;text-align:center;animation:lvin .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes lvin{from{transform:scale(.6);opacity:0}}#lvUp .k{font-size:15px;font-weight:800;letter-spacing:.2em;color:#c0703a}#lvUp .big{font-size:64px;font-weight:900;color:#e0703a;line-height:1;text-shadow:0 4px 0 #fff}#lvUp .nt{font-weight:800;margin-top:6px}
#lvUp .rw{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap}#lvUp .rw>div{background:#fff;border-radius:14px;padding:10px 6px;width:96px;font-size:12px;font-weight:700;box-shadow:0 6px 14px #0001;display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1.3}#lvUp .rw img{width:32px;height:32px}
#lvUp p{font-size:12.5px;color:#8a6a50;margin:12px 0 2px}#lvUp .lvup.max{box-shadow:0 0 0 5px #f6c542,0 0 40px #f6c542,0 20px 60px #3a304866}
#lvRoad .road{width:min(980px,95vw)}#lvRoad .nodes{display:flex;gap:6px;overflow-x:auto;padding:14px 4px 10px;position:relative}
#lvRoad .nd{flex:0 0 104px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11.5px;text-align:center;line-height:1.3}#lvRoad .nd .o{width:54px;height:54px;border-radius:50%;background:#fff;border:4px solid #eee4d6;display:flex;align-items:center;justify-content:center}
#lvRoad .nd .o img{width:28px;height:28px}#lvRoad .nd.done .o{border-color:#ff8a5c}#lvRoad .nd.done{opacity:.75}#lvRoad .nd.cur .o{border-color:#6a4fc0;box-shadow:0 0 0 6px #6a4fc033}#lvRoad .nd em{font-style:normal;color:#8a6a50}
/* 이름표 Lv 99 · 잠금 */
.bslot.lock{opacity:.6;font-size:16px;flex-direction:column}.bslot.lock .lv{font-size:10px}
#charPick .cpg button.lk{opacity:.55;position:relative}#charPick .cpg button.lk::after{content:attr(data-lk);position:absolute;top:6px;left:50%;transform:translateX(-50%);background:#3b3346e0;color:#fff;font-size:10.5px;font-weight:800;border-radius:8px;padding:2px 7px;white-space:nowrap}
.lvreq{display:inline-block;font-size:11px;font-weight:800;color:#fff;background:#8a8094;border-radius:7px;padding:1px 7px}
/* 가방 탭 아이콘 + 개수 배지 */
.tabs .tico{position:relative;display:inline-flex;vertical-align:-6px;margin-right:4px}.tabs .tico img{width:24px;height:24px;object-fit:contain}
.tabs .tico em{position:absolute;top:-6px;right:-8px;min-width:15px;height:15px;padding:0 3px;box-sizing:border-box;border-radius:8px;background:#ff5a5a;color:#fff;font-style:normal;font-size:9px;line-height:15px;font-weight:900;text-align:center;box-shadow:0 0 0 2px #fff}
.tabs .tico em.z{background:#b8b0c0}.bagpill img{width:16px;height:16px;vertical-align:-3px;object-fit:contain}
/* 토스트 큐 */
#tq{position:fixed;right:18px;bottom:96px;z-index:42;display:flex;flex-direction:column;gap:6px;align-items:flex-end;pointer-events:none;max-width:min(380px,92vw)}
#tq .tqi{pointer-events:auto;position:relative;overflow:hidden;background:#fffdf8f4;color:#3a3048;border-radius:14px;box-shadow:0 8px 24px #3a304840;font-size:13px;line-height:1.4;border-left:5px solid var(--c);animation:tqin .22s ease;cursor:pointer}
#tq .tqi.out{opacity:0;transform:translateX(20px);transition:.25s}@keyframes tqin{from{opacity:0;transform:translateX(24px)}}
#tq.sT2 .tqi,#tq.sT4 .tqi{display:flex;align-items:center;gap:8px;padding:8px 10px 10px 12px}#tq .tx small{color:#8a8094;font-size:11.5px}
#tq .tqx{border:0;background:none;color:#a09aa8;font-weight:900;font-size:15px;padding:0 2px;cursor:pointer;line-height:1;margin-left:auto}
#tq .tqb{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--c);opacity:.7;transform-origin:left}
#tq .tqi:hover .tqb{animation-play-state:paused!important}@keyframes tqb{from{transform:scaleX(1)}to{transform:scaleX(0)}}
#tq.sT1 .tqi,#tq.sT3 .tqi{width:300px;display:flex;gap:10px;align-items:flex-start;padding:10px 12px 12px}#tq .ic{font-size:22px;line-height:1}#tq .ic img.emj{width:24px;height:24px}#tq .tx img.emj{width:16px;height:16px;vertical-align:-3px}#tq .tb{flex:1;min-width:0}#tq .tb b{display:block;font-size:13.5px}#tq .tb small{display:block;color:#8a8094;font-size:11.5px}
#toast.t0{font-size:17px!important}
/* 수집 목표 알림 G1~G4 */
#gq{position:fixed;z-index:43;display:flex;flex-direction:column;gap:10px;pointer-events:none}
#gq .gqi{pointer-events:auto;cursor:pointer;color:#3a3048;animation:gqin .35s cubic-bezier(.2,1.3,.4,1)}#gq .gqi.out{opacity:0;transition:.4s}@keyframes gqin{from{opacity:0;transform:translateY(-10px) scale(.96)}}
#gq .gqi>img.emj,#gq .h>img.emj,#gq .ic>img.emj{width:28px;height:28px}#gq .rw img.emj{width:15px!important;height:15px!important}#gq.gG2 .gqi{display:block}#gq .h>div{min-width:0}#gq small{display:block;font-size:11px;font-weight:900;color:#c08010}#gq .ach small{color:#7a5ad8}#gq b{font-size:16px}
#gq .rw{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;background:#f7f1e6;font-weight:800;font-size:12.5px;color:#5a4a3a;white-space:nowrap}#gq .cs{display:flex;flex-wrap:wrap;gap:6px}
#gq.gG2{right:18px;top:80px;width:300px}#gq.gG2 .gqi{background:#fffdf8f4;border-radius:16px;box-shadow:0 6px 18px #3a304830;padding:12px;border-left:6px solid #f6c542;position:relative;overflow:hidden}#gq.gG2 .ach{border-left-color:#9a7ae8}
#gq.gG2 .h{display:flex;gap:10px;align-items:center}#gq.gG2 .cs{margin-top:8px}#gq .gb{position:absolute;left:0;bottom:0;height:4px;width:100%;background:#f6c542;transform-origin:left;animation:tqb 4.2s linear forwards}#gq .ach .gb{background:#9a7ae8}
#gq.gG1{left:50%;top:70px;transform:translateX(-50%);align-items:center}#gq.gG1 .gqi{display:flex;align-items:center;gap:8px;background:#fffdf8f4;border-radius:999px;padding:6px 14px 6px 8px;box-shadow:0 6px 18px #3a304830;white-space:nowrap}#gq.gG1 b{font-size:14px}#gq.gG1 small{display:inline}
#gq.gG3{left:50%;bottom:110px;transform:translateX(-50%);align-items:center}#gq.gG3 .gqi{display:flex;align-items:center;gap:12px;background:#2e2838ee;color:#fff;border-radius:14px;padding:8px 16px 8px 8px;box-shadow:0 8px 24px #0005}#gq.gG3 .ic{width:42px;height:42px;border-radius:50%;background:#f6c542;display:flex;align-items:center;justify-content:center}#gq.gG3 .ach .ic{background:#9a7ae8}#gq.gG3 small{color:#f6c542}#gq.gG3 .ach small{color:#c8b4ff}#gq.gG3 .rw{background:#ffffff1f;color:#fff}
#gq.gG4{left:50%;top:70px;transform:translateX(-50%);width:min(560px,94vw)}#gq.gG4 .gqi{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;background:linear-gradient(90deg,#fff6dc,#fffdf8 40%);border-radius:16px;padding:10px 14px 10px 10px;box-shadow:0 0 0 2px #f6c542,0 8px 22px #3a304830}#gq.gG4 .ach{background:linear-gradient(90deg,#efe6ff,#fffdf8 40%);box-shadow:0 0 0 2px #9a7ae8,0 8px 22px #3a304830}#gq.gG4 .ic{width:56px;height:56px;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center}#gq.gG4 .ic img{width:36px;height:36px}#gq.gG4 .cs{justify-content:flex-end}
/* 채팅 버튼 (M3) */
#chatBtn{display:none}
@media(max-width:700px){
 #tq{left:8px;right:8px;top:auto;bottom:236px;align-items:center;max-width:none}#tq.sT1 .tqi,#tq.sT3 .tqi{width:min(340px,92vw)}
 #gq.gG2,#gq.gG1,#gq.gG4,#gq.gG3{left:50%;right:auto;top:62px;bottom:auto;transform:translateX(-50%);width:min(340px,92vw)}#gq.gG1 .gqi{white-space:normal;border-radius:16px;flex-wrap:wrap}#gq.gG3 .gqi{flex-wrap:wrap}#gq.gG4 .gqi{grid-template-columns:44px 1fr}#gq.gG4 .cs{grid-column:1/-1;justify-content:flex-start}#gq.gG4 .ic{width:44px;height:44px}
 #lvT{top:60px}.lvb .xp{width:120px}
 body.m3 #mStat{left:8px;right:8px;top:8px;gap:6px;padding:5px 8px;background:var(--bg);border-radius:16px;box-shadow:0 4px 14px #0002;flex-wrap:nowrap;max-width:none}
 body.m3 #mStat .logo,body.m3 #mStat #equip{display:none}body.m3 #mStat .pill{box-shadow:none;padding:3px 8px;font-size:12px}body.m3 #mStat #streak{flex:1;min-width:0}
 body.m3 .lvb{box-shadow:none;padding:0 6px 0 0;background:transparent;gap:5px}body.m3 .lvb .lvc{width:30px;height:30px}body.m3 .lvb .lvc>span{width:23px;height:23px;font-size:11.5px}body.m3 .lvb .xp{width:64px}body.m3 .lvb .xp .t{font-size:9.5px}body.m3 .lvb .ttl,body.m3 .lvb .xp .n{display:none}
 body.m3 #wxCard{top:56px!important;left:auto!important;right:56px;transform:scale(.82);transform-origin:top right}
 body.m3 #bMore{display:inline-flex!important;top:56px;right:8px;left:auto;bottom:auto;width:40px;height:40px;padding:0;justify-content:center;border-radius:12px}body.m3 #bMore .ml{display:none}
 body.m3 #mSys{display:none!important;top:102px!important;right:8px!important;left:auto!important;bottom:auto!important;flex-direction:column!important;align-items:stretch;background:var(--bg);padding:8px;border-radius:16px;box-shadow:0 8px 24px #0003;width:auto!important;max-width:none!important}
 body.m3.menu-open #mSys{display:flex!important}body.m3 #mSys button{box-shadow:none;justify-content:flex-start}body.m3 #mSys button .ml{display:inline!important;font-size:12px}
 body.m3 #chatBtn{display:inline-flex;align-items:center;gap:4px;position:absolute;left:8px;top:56px;height:40px;padding:0 10px;border:0;border-radius:12px;background:var(--bg);box-shadow:0 4px 14px #0002;font:inherit;font-size:17px;pointer-events:auto}body.m3 #chatBtn b{font-size:11px;color:#fff;background:#ff5a5a;border-radius:8px;padding:0 5px}body.m3 #chatBtn b:empty{display:none}
 body.m3 #chat{display:none;top:102px;bottom:auto!important;left:8px;width:min(300px,78vw);background:var(--bg);border-radius:16px;padding:8px;box-shadow:0 8px 24px #0003}body.m3.chat-open #chat{display:block}body.m3 #log{max-height:30vh}
 body.m3 #joy{left:18px;right:auto;bottom:34px!important}
 body.m3 #mMain{left:auto!important;right:24px!important;bottom:40px!important;top:auto!important;transform:none!important;width:44px;height:44px;padding:0!important;background:transparent!important;box-shadow:none!important;display:block!important}
 body.m3 #mMain button{position:absolute;width:44px;height:44px;min-width:0!important;border-radius:50%!important;padding:0!important;justify-content:center;background:var(--bg)!important;box-shadow:0 3px 10px #0003!important}body.m3 #mMain button .ml,body.m3 #mMain kbd{display:none!important}body.m3 #mMain button .mi{font-size:20px!important}
 body.m3 #mMain #bBag{right:117px;bottom:20px}body.m3 #mMain #bTank{right:110px;bottom:56px}body.m3 #mMain #bAutoFish{right:89px;bottom:87px}body.m3 #mMain #bShop{right:59px;bottom:107px}body.m3 #mMain #bDex{right:22px;bottom:115px}
 body.m3 #mMain #bAutoFish.on{box-shadow:0 0 0 3px #5fc48a inset,0 3px 10px #0003!important}
 body.m3 #fishBtn{display:flex!important;left:auto;right:24px;bottom:40px!important;transform:none;width:84px;height:84px;border-radius:50%!important;padding:0!important;flex-direction:column;align-items:center;justify-content:center;font-size:12px!important;overflow:hidden;box-shadow:0 6px 18px #3a304840,0 0 0 4px #ff8a5c inset}
 body.m3 #fishBtn b{font-size:14px!important;line-height:1.15}body.m3 #fishBtn small{display:block;margin-top:2px}body.m3 #fishBtn .gg{width:56px!important;margin:4px auto 0!important}
 body.m3 #fishBtn.far{opacity:.6;filter:saturate(.6)}body.m3 #fishBtn small,body.m3 #fishBtn .fbm{font-size:9.5px!important;line-height:1.1}
 body.m3 #prompt{bottom:150px}body.m3 #sitBtn{left:50%!important;bottom:150px!important}
}
/* 시작 화면: 세로가 짧은 화면에서도 시작 버튼이 보이게 */
@media (max-width:699px){#start{overflow:auto;align-items:flex-start}#start .stB{max-height:none;margin:10px auto}#start [data-step="3"] .st2{overflow:visible}#start [data-step="3"] .st2 #go{position:sticky;bottom:8px;z-index:2;box-shadow:0 6px 18px #0003}}
@media (max-width:699px) and (max-height:620px){#start .stPrev{height:110px!important;min-height:0!important}#start .stPrev img{max-height:104px!important}#start .st3 #charPick .cpg{grid-template-columns:repeat(6,1fr)!important}}

#wxCard{top:62px}
/* ═════════ v22 ═════════ */
/* 낚싯대 등급 라벨 */
.ggr{display:inline-block;font-size:10.5px;font-weight:900;color:#fff;background:var(--gc);border-radius:7px;padding:1px 7px;vertical-align:1px}.ggr.g5{background:linear-gradient(90deg,#ef5f8f,#c08cff,#5fc8f0);box-shadow:0 0 0 1.5px #fff,0 0 8px #ef5f8f88}.ggr.g4{box-shadow:0 0 6px #f4a62a88}
/* 부적 교체 대상 고정 */
.bslot .tg.pin{background:#6a4fc0!important;color:#fff}
/* 시작 화면 탭 클릭 */
#start .stSteps span{cursor:pointer;user-select:none}#start .stSteps span:active{transform:scale(.97)}
/* 레벨 HUD 공용 */
.lvb .avw,.lvb .ttl2,.lvb .xp .nm{display:none}
#xpTop{position:fixed;left:0;right:0;top:0;height:5px;background:#efe6da;z-index:12;display:none;pointer-events:none}#xpTop i{display:block;height:100%;background:linear-gradient(90deg,#ffb36a,#ff8a5c);transition:width .4s}
.lvb .avw{position:relative;width:46px;height:46px;border-radius:50%;background:conic-gradient(#ff8a5c 0 var(--p),#f1e6da var(--p));padding:3px;box-sizing:border-box;flex:none}.lvb .avw .av{display:block;width:100%;height:100%;border-radius:50%;background:#fff center/cover}
.lvb .avw em{position:absolute;right:-5px;bottom:-4px;background:#ff8a5c;color:#fff;border-radius:9px;font-size:10.5px;font-weight:900;font-style:normal;padding:0 5px;box-shadow:0 0 0 2px #fff}
.lvb .ttl2{font-size:10.5px;font-weight:800;color:#fff;background:#6a4fc0;border-radius:8px;padding:1px 8px;white-space:nowrap}
@media (min-width:701px){
 body.hp1 #mStat{background:var(--bg);border-radius:16px;padding:5px 6px;box-shadow:0 4px 14px #0002;gap:0;align-items:center;flex-wrap:nowrap;max-width:none}
 body.hp1 #mStat .logo{display:none}body.hp1 #mStat>.pill,body.hp1 #mStat .lvb{box-shadow:none;background:transparent}
 body.hp1 #mStat>*:not(#equip)+*:not(#equip){border-left:1px solid #e8e0d6;border-radius:0;margin-left:2px}
 body.hp1 #mStat #equip{position:absolute;top:calc(100% + 6px);left:0;background:var(--bg);box-shadow:0 4px 14px #0002;white-space:nowrap}
 body.hp1 #wxCard{top:104px!important}
 body.hp2 #xpTop{display:block}body.hp2 #mStat{top:14px}body.hp2 .lvb .xp{display:none}body.hp2 .lvb .ttl2{display:inline-block}body.hp2 .lvb{padding-right:10px}
 body.hp3 .lvb{border-radius:18px;padding:8px 12px 8px 8px;gap:10px}body.hp3 .lvb .lvc{display:none}body.hp3 .lvb .avw{display:block;width:54px;height:54px}body.hp3 .lvb .xp .nm{display:block;font-weight:900;font-size:13px;color:#3a3048}body.hp3 .lvb .xp{width:170px}body.hp3 #wxCard{top:84px!important}
}
@media(max-width:700px){
 body.m3.hm2 #xpTop{display:block;height:4px}
 body.m3.hm2 #mStat{top:10px;right:52px;background:transparent;box-shadow:none;padding:0;gap:6px}
 body.m3.hm2 #mStat .lvb{background:var(--bg);border-radius:999px;padding:3px 10px 3px 3px;box-shadow:0 3px 10px #0002}body.m3.hm2 .lvb .xp{display:none}body.m3.hm2 .lvb .ttl2{display:inline-block}
 body.m3.hm2 #mStat .pill{background:var(--bg);box-shadow:0 3px 10px #0002;padding:5px 10px}body.m3.hm2 #mStat #coins{margin-left:auto}
 body.m3.hm2 #mStat #streak{flex:none}body.m3.hm2 #streak .sk-bar,body.m3.hm2 #streak .sk-d{display:none}
 body.m3.hm2 #bMore{top:9px;width:38px;height:38px}body.m3.hm2 #mSys{top:54px!important}body.m3.hm2 #wxCard{right:8px}
 body.m3.hm3 #mStat{background:transparent;box-shadow:none;padding:0;gap:6px;right:8px}
 body.m3.hm3 #mStat .lvb{background:transparent;padding:0;gap:6px}body.m3.hm3 .lvb .lvc{display:none}body.m3.hm3 .lvb .avw{display:block;width:50px;height:50px}
 body.m3.hm3 .lvb .xp{display:flex;width:auto;background:var(--bg);border-radius:12px;padding:4px 9px;box-shadow:0 3px 10px #0002}body.m3.hm3 .lvb .xp .nm{display:block;font-weight:900;font-size:12px;color:#3a3048}body.m3.hm3 .lvb .xp .t{font-size:10px}body.m3.hm3 .lvb .ttl{display:inline-block!important}body.m3.hm3 .lvb .xp .n,body.m3.hm3 .lvb .xp .b{display:none!important}
 body.m3.hm3 #mStat .pill{background:var(--bg);box-shadow:0 3px 10px #0002}body.m3.hm3 #mStat #coins{margin-left:auto}body.m3.hm3 #mStat #streak{flex:none}body.m3.hm3 #streak .sk-bar,body.m3.hm3 #streak .sk-d{display:none}
 body.m3.hm3 #chatBtn{top:66px}body.m3.hm3 #bMore{top:66px}body.m3.hm3 #mSys{top:112px!important}body.m3.hm3 #chat{top:112px}body.m3.hm3 #wxCard{top:66px!important}
 body.m3.hm3 .lvb{position:relative}
}
/* 레벨업 팝업 변형 */
#lvUp.sLU2{background:transparent;pointer-events:none;align-items:flex-end;padding-bottom:110px}#lvUp.sLU2 .lu2{pointer-events:auto}
#lvUp.sLU4{background:radial-gradient(circle at 50% 46%,#ffcf7a44,#1e1a2acc 60%)}
#lvUp button{font:inherit;border:0;border-radius:999px;padding:7px 14px;font-weight:800;cursor:pointer;background:#f3eee6;color:#4a4058}#lvUp button.acc{background:#ff8a5c;color:#fff}
#lvUp .ttl{font-size:11px;font-weight:800;color:#fff;background:#6a4fc0;border-radius:8px;padding:2px 9px;display:inline-block}
#lvUp .ring{width:120px;height:120px;border-radius:50%;background:conic-gradient(#ff8a5c,#ffc46a,#ff8a5c);display:flex;align-items:center;justify-content:center}#lvUp .ring>span{width:100px;height:100px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:900;color:#c0603a}
.lu3{width:min(640px,92vw);background:#fbf8f3;border-radius:22px;box-shadow:0 18px 50px #3a304866;padding:18px;display:grid;grid-template-columns:200px 1fr;gap:18px;cursor:default;animation:lvin .45s cubic-bezier(.2,1.4,.4,1)}
.lu3 .l{border-radius:18px;background:radial-gradient(circle at 50% 40%,#fff,#ffe8cc);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:14px}.lu3 .l b{margin-top:6px}
.lu3 .k{font-size:12px;font-weight:900;letter-spacing:.2em;color:#c0703a}.lu3 h3{margin:4px 0 10px;font-size:17px}
.lu3 .li{display:flex;flex-direction:column;gap:7px;max-height:46vh;overflow:auto}.lu3 .it{display:flex;align-items:center;gap:10px;background:#fff;border-radius:14px;padding:7px 10px}.lu3 .it>img{width:28px;height:28px;flex:none}.lu3 .it>div{flex:1;min-width:0;line-height:1.3}.lu3 .it small{display:block;color:#8a8094;font-size:11.5px}
.lu3 .nx{font-size:12px;color:#8a6a50;margin:10px 0 0}.lu3 .bt,.lu1 .bt{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.lu1{width:min(440px,92vw);background:#fbf8f3;border-radius:22px;overflow:hidden;text-align:center;box-shadow:0 18px 50px #3a304866;cursor:default;animation:lvin .45s cubic-bezier(.2,1.4,.4,1)}
.lu1 .hd{background:linear-gradient(135deg,#ff9a6a,#ffc46a);padding:16px 0 26px;color:#fff;border-radius:0 0 50% 50%/0 0 22px 22px}.lu1 .hd .k{color:#fff!important}.lu1 .hd .big{color:#fff!important;text-shadow:0 4px 0 #e0703a!important;font-size:68px!important}.lu1 .bd{padding:12px 20px 18px}.lu1 .bt{justify-content:center}
.lu1 .rw>div{background:#fff}
.lu2{position:relative;overflow:hidden;width:min(560px,94vw);background:#fffdf8;border-radius:18px;padding:10px 14px;display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;box-shadow:0 0 0 3px #ffc46a,0 10px 30px #3a304844;cursor:default;animation:lu2 .4s ease}
@keyframes lu2{from{transform:translateY(30px);opacity:0}}.lu2 .sq{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#ff9a6a,#ffc46a);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;line-height:1}.lu2 .sq small{font-size:9.5px;letter-spacing:.2em}.lu2 .sq span{font-size:30px}
.lu2 .cs{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.lu2 .cs span{display:inline-flex;align-items:center;gap:4px;background:#f6f0e6;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.lu2 .cs img{width:16px;height:16px}
.lu2 .x{width:30px;height:30px;padding:0!important;font-size:18px!important}.lu2 .tqb{position:absolute;left:0;bottom:0;height:3px;width:100%;background:#ff8a5c;transform-origin:left}
.lu4{text-align:center;color:#fff;animation:lvin .6s cubic-bezier(.2,1.4,.4,1)}.lu4 .ring{width:210px!important;height:210px!important;margin:0 auto;background:conic-gradient(#ffc46a,#ff8a5c,#c08cff,#5fc8f0,#ffc46a)!important;box-shadow:0 0 60px #ffc46a99}.lu4 .ring>div{width:176px;height:176px;border-radius:50%;background:#2a2238;display:flex;flex-direction:column;align-items:center;justify-content:center}
.lu4 .ring small{letter-spacing:.3em;font-weight:900;color:#ffc46a}.lu4 .ring span{font-size:80px;font-weight:900;line-height:1}.lu4 .nt{margin-top:14px;font-size:18px;font-weight:900}.lu4 .rw>div{background:#ffffff1f!important;color:#fff;box-shadow:0 0 0 1px #ffffff33!important}.lu4 p{color:#ffe2b8!important}.lu4>small{display:block;margin-top:10px;color:#ffffffaa}
@media(max-width:700px){.lu3{grid-template-columns:1fr;padding:14px}.lu3 .l{flex-direction:row;padding:10px;justify-content:flex-start}.lu3 .l .ring{width:64px;height:64px}.lu3 .l .ring>span{width:52px;height:52px;font-size:24px}.lu3 .l b{margin:0}#lvUp.sLU2{padding-bottom:150px}.lu2{grid-template-columns:52px 1fr auto}.lu2 .sq{width:52px;height:52px}}
/* 보상 로드 변형 */
#lvRoad .road .rdh{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:2px 0 10px;font-weight:800;font-size:13px}#lvRoad .rdh .bar{flex:1;min-width:120px;height:8px;border-radius:6px;background:#efe6da;overflow:hidden}#lvRoad .rdh .bar i{display:block;height:100%;background:linear-gradient(90deg,#ffb36a,#ff8a5c)}
#lvRoad .ttl{font-size:10.5px;font-weight:800;color:#fff;background:#6a4fc0;border-radius:8px;padding:1px 7px;white-space:nowrap}#lvRoad img.emj{width:16px;height:16px;vertical-align:-3px}
#lvRoad details{margin-top:10px}
.rdt{display:flex;gap:6px;flex-wrap:wrap}.rdt button{font:inherit;border:0;border-radius:12px;background:#f3eee6;padding:6px 10px;font-weight:800;font-size:12.5px;cursor:pointer;display:flex;flex-direction:column;align-items:center;line-height:1.2;color:#4a4058}.rdt button small{font-size:10px;color:#8a8094}.rdt button.full{background:#ffe8d6}.rdt button.on{background:#6a4fc0;color:#fff}.rdt button.on small{color:#e6dcff}
.rd3{margin-top:12px;display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.rd3 .lc{position:relative;background:#fff;border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:3px;font-size:12px;border:2px solid #eee4d6;min-height:96px}.rd3 .lc b{font-size:14px}
.rd3 .lc.done{background:#fff8f0;border-color:#ffc9a6;opacity:.85}.rd3 .lc.cur{border-color:#6a4fc0;box-shadow:0 0 0 4px #6a4fc022}.rd3 .lc .un{font-weight:800;color:#4a3a78}.rd3 .ck,.rd4 .ck{position:absolute;right:6px;top:6px;font-style:normal;font-size:10px;font-weight:900;color:#fff;background:#ff8a5c;border-radius:7px;padding:1px 6px}
.rd3 .lc.done.wait,.rd4 .c.done.wait,.rd1 .row.done.wait{opacity:1;border-color:#e0a040;background:#fffaf0}.rd3 .lc .lvcl,.rd1 .row .lvcl,.rd4 .c .lvcl,.rd2 .nd .lvcl,.nodes .lvcl{position:relative;z-index:1;margin-top:4px;align-self:flex-start;font-size:11px;padding:3px 8px;border-radius:8px}
.rd1{max-height:58vh;overflow:auto;position:relative;padding-left:26px}.rd1::before{content:'';position:absolute;left:10px;top:0;bottom:0;width:4px;background:#eee4d6;border-radius:3px}.rd1 .row{position:relative;display:flex;gap:10px;align-items:baseline;padding:7px 10px;font-size:12.5px;border-radius:10px}.rd1 .row .dot{position:absolute;left:-21px;top:11px;width:10px;height:10px;border-radius:50%;background:#eee4d6;box-shadow:0 0 0 3px #fbf8f3}
.rd1 .row.done{opacity:.6}.rd1 .row.done .dot{background:#ff8a5c}.rd1 .row.cur{background:#fff;box-shadow:0 0 0 2px #6a4fc0}.rd1 .row.cur .dot{background:#6a4fc0}.rd1 .row b{min-width:48px}
.rdp{display:flex;align-items:center;justify-content:center;gap:14px;margin:4px 0 8px}.rdp button{font:inherit;border:0;border-radius:50%;width:32px;height:32px;background:#f3eee6;cursor:pointer;font-weight:900}.rdp button:disabled{opacity:.35}
.rd2{position:relative;height:300px;margin:0 10px}.rd2 svg{position:absolute;inset:0;width:100%;height:260px;overflow:visible}.rd2 .p0,.rd2 .p1{fill:none;stroke-width:12;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 20}.rd2 .p0{stroke:#eee4d6}.rd2 .p1{stroke:#ff8a5c}
.rd2 .nd{position:absolute;transform:translate(-50%,-26px);display:flex;flex-direction:column;align-items:center;width:92px;text-align:center;font-size:11px;line-height:1.25}.rd2 .nd .o{width:50px;height:50px;border-radius:50%;background:#fff;border:4px solid #eee4d6;display:flex;align-items:center;justify-content:center}.rd2 .nd .o img{width:26px;height:26px}
.rd2 .nd.done .o{border-color:#ff8a5c}.rd2 .nd.cur .o{border-color:#6a4fc0;box-shadow:0 0 0 6px #6a4fc033}.rd2 .nd small{color:#6a6076}.rd2 .nd .me{position:absolute;top:-40px;width:38px;height:38px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 10px #0003;object-fit:cover}
.rd4{display:grid;gap:7px;align-items:stretch;overflow-x:auto}.rd4 .h{font-size:11.5px;font-weight:900;color:#6a6076;display:flex;align-items:center;justify-content:center}.rd4 .h.cur{color:#6a4fc0}.rd4 .c{position:relative;background:#fff;border-radius:12px;border:2px solid #eee4d6;padding:8px 4px;display:flex;flex-direction:column;align-items:center;gap:2px;text-align:center;font-size:11px;min-height:70px}.rd4 .c img.emj{width:22px;height:22px}
.rd4 .c.done{background:#fff8f0;border-color:#ffc9a6}.rd4 .c.cur{border-color:#6a4fc0}.rd4 .c.u small{font-weight:800;color:#4a3a78}
@media(max-width:700px){.rd3{grid-template-columns:repeat(2,1fr)}.rd2{height:auto;margin:0}.rd2 svg{display:none}.rd2 .nd{position:static;transform:none;flex-direction:row;width:auto;gap:8px;text-align:left;margin:6px 0}.rd2 .nd .me{position:static;width:28px;height:28px}.rd4{grid-template-columns:56px repeat(10,74px)!important}}
/* 관리자 v22 */
.adm22 .adb h4{margin:16px 0 8px}.adm22 .adb button{margin:0}.adm22 .adrow{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0}
.adm22 .adbox{background:#fff;border:1px solid #eee4d8;border-radius:14px;padding:12px 14px;margin:10px 0}.adm22 .adbox h4{margin:0 0 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.adm22 .adbox h4 small{font-weight:600;color:#8a8094}
.adm22.dk .adbox{background:#2a2636;border-color:#3a3548}
.adm22 .adk{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.adm22 .adk>div{background:#fff;border:1px solid #eee4d8;border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.adm22 .adk small{font-weight:800;color:#8a8094}.adm22 .adk b{font-size:26px;line-height:1.1}.adm22 .adk span{font-size:11.5px;color:#8a8094}
.adm22.dk .adk>div{background:#2a2636;border-color:#3a3548}
.adm22 .adc2{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:10px}.adm22 .adc2 .adbox{margin:10px 0 0}
.adm22 .dvr{display:grid;grid-template-columns:54px 1fr 40px 36px;gap:8px;align-items:center;font-size:12.5px;margin:6px 0}.adm22 .bar{height:8px;border-radius:6px;background:#efe6da;overflow:hidden;display:block}.adm22 .bar i{display:block;height:100%;background:#5fc48a}.adm22 .bar i.hi{background:#f0a020}
.adm22 .spark{display:flex;align-items:flex-end;gap:2px;height:70px;padding:4px 0}.adm22 .spark i{flex:1;background:linear-gradient(#4a8fe0,#9cc4f2);border-radius:3px 3px 0 0;min-height:2px}
.adm22 .chg{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px}.adm22 .chc{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;padding:12px;border-radius:14px;border:1px solid #eee4d8;background:#fff;cursor:pointer;font:inherit;color:inherit}.adm22 .chc .bar{width:100%}.adm22 .chc small{color:#8a8094;font-size:11.5px}.adm22 .chc em{font-style:normal;font-size:10.5px;font-weight:800;color:#fff;background:#6a4fc0;border-radius:7px;padding:0 6px}
.adm22 .chc:hover{border-color:#c9b8f0}.adm22 .chc.on{border-color:#6a4fc0;box-shadow:0 0 0 3px #6a4fc022}.adm22.dk .chc{background:#2a2636;border-color:#3a3548}
.adm22 .chl h4 .sm{margin-left:auto}
.adm22 .segs{display:inline-flex;gap:4px;flex-wrap:wrap}.adm22 .segs button,.adm22 button.sm{padding:5px 10px;font-size:12px;border-radius:10px}.adm22 .segs button.on,.adm22 button.on{background:#6a4fc0!important;color:#fff!important}
.adm22 .acts{display:flex;gap:6px;flex-wrap:wrap}.adm22 button.warn{background:#fde4e4;color:#c03a3a}.adm22 .tg{display:inline-block;font-size:11px;font-weight:800;border-radius:7px;padding:1px 7px;background:#eef0f4;color:#4a4058}.adm22 .tg.r{background:#fde4e4;color:#c03a3a}.adm22 .tg.o{background:#fff0d6;color:#b06a10}.adm22 .tg.g{background:#e2f5e8;color:#2f8a4e}
.adm22 tr.opn td{background:#f7f2ff}.adm22 tr.pnl td{background:#faf7ff;padding:10px 12px}.adm22.dk tr.opn td,.adm22.dk tr.pnl td{background:#30293f}
.adm22 .adform{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.adm22 .adform label{display:inline-flex;align-items:center;gap:6px;font-size:12.5px}.adm22 .adform input[type=number]{width:84px}.adm22 .adform label.w input{width:200px}.adm22 .qk{display:inline-flex;gap:4px}
.adm22 .rect .itn{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.adm22 .rect img.cimg,.adm22 .rect .cimg{width:24px;height:24px;object-fit:contain}.adm22 .rect tr.dn td{opacity:.5}
.adm22 .perm{display:flex;flex-wrap:wrap;gap:6px}.adm22 .pc{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;border-radius:9px;padding:3px 8px;background:#f3eee6;cursor:pointer}.adm22 .pc input{margin:0}.adm22 .pc.on{background:#e8e0fb;color:#4a3a90;font-weight:700}
.adm22 .ophits{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0}.adm22 .ophits button{display:flex;flex-direction:column;align-items:flex-start;padding:7px 12px;border-radius:12px}.adm22 .ophits small{font-size:10.5px;opacity:.75}
.adm22 .tiles{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 6px}.adm22 .tile{min-width:86px;padding:10px 12px;border-radius:12px;display:inline-flex;flex-direction:column;align-items:center;gap:4px;font-size:12.5px}.adm22 .tile span{font-size:22px;line-height:1}
.adm22 .rb{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;margin-right:6px}
.adm22 .opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.adm22 .opt{position:relative;display:flex;flex-direction:column;gap:3px;padding:12px;border-radius:14px;border:2px solid #eee4d8;background:#fff;cursor:pointer}.adm22 .opt input{position:absolute;opacity:0}.adm22 .opt small{color:#8a8094}.adm22 .opt.on{border-color:#6a4fc0;box-shadow:0 0 0 3px #6a4fc022}.adm22.dk .opt{background:#2a2636;border-color:#3a3548}
.adm22 .pvw{display:none;position:absolute;left:50%;bottom:calc(100% + 10px);transform:translateX(-50%);z-index:5;background:#fff;padding:6px;border-radius:12px;box-shadow:0 12px 30px #0004;pointer-events:none}.adm22 .pvw img{display:block;width:320px;height:auto;border-radius:8px}
.adm22 .opt.pv:hover .pvw{display:block}.adm22 .opt.pv::after{content:'🔍';position:absolute;right:8px;top:8px;font-size:12px;opacity:.5}
@media (hover:none){.adm22 .opt.on .pvw{display:block;position:static;transform:none;box-shadow:none;padding:0;margin-top:6px}.adm22 .opt.on .pvw img{width:100%}}
.adm22 .bf{display:inline-flex;align-items:center;gap:2px;margin-right:6px}.adm22 .bf .rv{display:none;padding:2px 7px!important;font-size:12px;border-radius:8px}.adm22 .bi.chg{background:#fff6c8;border-color:#f0c040}.adm22 .bi.chg+.rv,.adm22 .bi.bad+.rv{display:inline-block}.adm22 .bi.bad{background:#fde4e4;border-color:#e05050}
.balch{max-height:240px;overflow:auto;text-align:left;font-size:12.5px;background:#f7f3ec;border-radius:10px;padding:8px 10px;margin:6px 0}.balch s{color:#a09090}
.adm22 .adbox.now{border-color:#f0c040;background:#fffbea}
#annBar{position:fixed;left:50%;top:58px;transform:translateX(-50%);z-index:44;display:flex;align-items:center;gap:10px;max-width:min(720px,94vw);background:#3b3346;color:#fff;border-radius:14px;padding:8px 10px 8px 14px;box-shadow:0 8px 22px #0004;font-size:13px}#annBar b{white-space:nowrap;color:#ffd77a}#annBar span{flex:1}#annBar small{opacity:.7;white-space:nowrap}#annBar button{border:0;background:#ffffff22;color:#fff;border-radius:50%;width:24px;height:24px;cursor:pointer}
#evPill{position:fixed;left:50%;top:104px;transform:translateX(-50%);z-index:43;background:#fff4dc;color:#8a4b12;border-radius:999px;padding:6px 14px;font-weight:800;font-size:13px;box-shadow:0 6px 16px #0003;pointer-events:none}
#banWall{position:fixed;inset:0;z-index:70;background:#2a2436ee;color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px}#banWall b{display:block;font-size:22px;margin-bottom:8px}
@media(max-width:700px){#annBar{top:104px;font-size:12px}.adm22 .adk{grid-template-columns:1fr 1fr}.adm22 .adc2{grid-template-columns:1fr}}
.adm22 .bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px 14px}.adm22 h5{margin:10px 0 6px;font-size:12.5px;color:#6a6076}
.adm22 .bf{display:grid;grid-template-columns:1fr 84px 26px;align-items:center;gap:6px;font-size:12.5px;margin:0}.adm22 .bf input{width:84px!important;margin:0}.adm22 .bf .rv{visibility:hidden;display:inline-block!important}.adm22 .bi.chg+.rv,.adm22 .bi.bad+.rv{visibility:visible}
@media (min-width:701px){body.hp1 #wxCard{top:114px!important}body.hp3 #wxCard{top:96px!important}}
.lu4 .ring>div small{display:block;line-height:1;margin-bottom:6px}.lu4 .ring>div span{font-size:70px!important;line-height:.95!important;display:block}
.adm22 .adt td:first-child{white-space:nowrap}

/* v23 */
#hud .logo{display:none!important}
.enLogo{font-size:.42em;letter-spacing:.18em;color:#ff8a4c;font-weight:900;vertical-align:middle;margin-left:4px}
#annBar{box-sizing:border-box;max-width:min(720px,calc(100vw - 16px))}#annBar span{min-width:0;overflow-wrap:anywhere;line-height:1.35}#annBar button{flex:none;padding:0;margin:0;display:grid;place-items:center;font-size:16px;line-height:1}
.adm22 .evg{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}.adm22 .evg label{display:flex;align-items:center;gap:6px}.adm22 .evg fieldset{border:1px solid #e3d8ca;border-radius:12px;padding:8px 12px 10px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;flex:1;min-width:300px;margin:0}.adm22.dk .evg fieldset{border-color:#ffffff22}.adm22 .evg legend{font-weight:800;font-size:12.5px;padding:0 4px}.adm22 .evg .qk{display:flex;flex-wrap:wrap;gap:4px;width:100%}
.adm22 .evsum{background:#f4f8ff;border-radius:10px;padding:8px 12px;font-size:13px}.adm22.dk .evsum{background:#ffffff10}.adm22 .evsum.bad{background:#ffecec;color:#c03030}.adm22 .adback{margin:0 0 10px;display:flex;gap:8px;align-items:center}
.bslot{position:relative}.bslot .cpin{position:absolute;top:2px;right:3px;font-size:13px;line-height:1;background:none;filter:drop-shadow(0 1px 1px #0004);pointer-events:none}
.btile,.ritem{position:relative}.nwb{position:absolute;top:-5px;right:-5px;background:#ff4f6d;color:#fff;font:900 9px/1 sans-serif;font-style:normal;padding:3px 5px;border-radius:8px;box-shadow:0 1px 3px #0003;letter-spacing:.03em;pointer-events:none;transition:opacity .25s,transform .25s;z-index:2}.nwb.gone{opacity:0;transform:scale(.6)}
.rcell .ritem{cursor:help;border-radius:6px;padding:1px 2px}.rcell .ritem:hover{background:#ffffff18}.rcell .ritem .nwb{top:-6px;right:-4px}
/* v23 모바일 가용 화면: 노치·홈바 영역 피하기 */
#hud{top:env(safe-area-inset-top,0px);bottom:env(safe-area-inset-bottom,0px);left:env(safe-area-inset-left,0px);right:env(safe-area-inset-right,0px)}
/* v23 모바일 줄바꿈·잘림 기본 개선 (v22 시안 적용) */
@media(max-width:700px){
#bag .tabs,#shop .tabs,.rdt,#set .slay>aside{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;gap:6px;padding:4px 2px 6px;-webkit-mask-image:linear-gradient(90deg,#000 86%,transparent);mask-image:linear-gradient(90deg,#000 86%,transparent)}
#bag .tabs>*,#shop .tabs>*,.rdt>*,#set .slay>aside>*{flex:0 0 auto!important;white-space:nowrap;font-size:13px!important;padding:7px 11px!important;width:auto!important}
.tico{position:relative}.tico em.z{top:-7px!important;right:-9px!important;left:auto!important}
#set input[type=text],#set input:not([type]){width:100%;box-sizing:border-box;height:42px;border-radius:12px;border:1.5px solid #ead9c4;padding:0 12px;font-size:16px;background:#fffaf3}
.rd3 .lc span,.rd3 .lc b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;word-break:keep-all;line-height:1.3}
.modal .card{font-size:13.5px;word-break:keep-all}
}
.bslot .cpin{z-index:3;font-size:15px;top:3px;right:4px}.bslot .cpin img{width:16px;height:16px}
@media(max-width:700px){#annBar{left:8px;right:8px;transform:none;max-width:none;width:auto;padding:8px 8px 8px 12px;gap:8px}#annBar b{font-size:12px}}
/* ═════════ v24 ═════════ */
/* 컷인: 클릭하면 닫힘 (다른 창이 떠 있어도 맨 위) */
.cutin{pointer-events:auto!important;cursor:pointer;z-index:500!important}
/* 랭킹 1~3위 이름표 레벨 */
.rk10 .nn .rlv{font-size:10px;font-weight:900;background:#ffffffcc;color:#7a5a00;border-radius:7px;padding:0 5px;margin-right:5px;vertical-align:1px}
/* 모바일 메뉴가 날씨 카드에 가리지 않게 */
#wxCard{z-index:5}body.menu-open #mSys,body.menu-open #bMore{z-index:60!important}body.menu-open #wxCard{opacity:.0;transition:opacity .15s}
/* 모바일 자동 낚시 버튼 A5 (낚시 버튼 둘레 원형) */
@media(max-width:699px){body.m3 #mMain #bBag{right:86px;bottom:-18px}body.m3 #mMain #bTank{right:95px;bottom:30px}body.m3 #mMain #bAutoFish{right:74px;bottom:74px}body.m3 #mMain #bShop{right:30px;bottom:95px}body.m3 #mMain #bDex{right:-18px;bottom:86px}}
/* X1: 가용 높이가 부족할 때(주소창이 남는 브라우저) 날씨를 한 줄 칩으로, 낚시 카드는 살짝 아래로 */
@media(max-width:699px){body.vshort #wxCard{width:auto!important;padding:5px 10px!important;border-radius:999px!important;top:48px!important;right:8px!important;transform:none!important}body.vshort #wxCard .e,body.vshort #wxCard .bar{display:none!important}body.vshort #toast{top:calc(26% + 44px)!important}}
/* C1: 모바일 카테고리 바 작게 + 수량 배지 안 잘리게 */
@media(max-width:699px){#bag .tabs,#shop .tabs{padding-top:8px!important;overflow-y:visible}#bag .tabs>*,#shop .tabs>*,.rdt>*,#set .slay>aside>*{font-size:12px!important;padding:5px 10px!important;min-height:30px!important;height:30px!important;border-radius:15px!important;gap:4px!important;position:relative!important;overflow:visible!important}
 #bag .tabs .tico img,#shop .tabs img,#set .slay>aside img{width:15px!important;height:15px!important}#bag .tabs .tico{position:static!important;margin-right:2px}#bag .tabs .tico em{position:absolute!important;top:-6px!important;right:-4px!important;left:auto!important;transform:scale(.85)}}
.tabs .tico em.zero{display:none!important}
/* 상자 1개 열기 / 10개 열기 한 줄 */
.obx{display:flex;gap:6px;flex-wrap:nowrap;margin-top:8px}.obx button{white-space:nowrap;margin:0!important}.obx:not(.t) button{flex:1;min-width:0;padding:7px 10px!important;font-size:13px!important}.obx.t button{font-size:11.5px!important;padding:5px 9px!important}
@media(max-width:699px){.obx:not(.t) button{font-size:12.5px!important;padding:6px 8px!important}}
/* 프로필 닉네임 + 적용 버튼 */
.pfx{display:flex;gap:6px;align-items:center;margin:4px 0 2px;max-width:240px}.pfx input{flex:1;min-width:0;height:30px;margin:0!important;box-sizing:border-box;font-size:13px;padding:2px 8px}.pfx button{height:30px;padding:0 10px!important;border-radius:10px!important;background:#ff8a4c!important;color:#fff!important;font-weight:800;margin:0!important;white-space:nowrap;font-size:13px}
.saveB .stabs{display:flex;gap:6px;margin:8px 0 12px}.saveB .stabs button{flex:1;border-radius:12px;background:#f3ece3}.saveB .stabs button.on{background:#ff8a4c;color:#fff}
.saveB textarea{width:100%;box-sizing:border-box;border-radius:12px;border:1.5px solid #ead9c4;padding:8px;font-size:12px;margin:6px 0}
.saveB .okline{background:#e7f6ea;border-radius:12px;padding:8px 10px;color:#1b4332;font-weight:700}
/* 게시판 창 */
#boardOv{position:fixed;inset:0;z-index:160}#boardOv iframe{width:100%;height:100%;border:0;background:transparent}#boardOv.v5{left:auto;width:440px}#boardOv.v2,#boardOv.v3,#boardOv.vm{background:#f6efe4}
/* v25 XP 알림 A2: 어두운 알약 (낚시 카드 아래) */
#xpF.a2{background:#3b3346e6;color:#fff}#xpF.a2 b{color:#ffd27a}
/* v25 UI 편집 모드 */
body.uiedit [data-uin]{outline:2px dashed #ff8a4c!important;outline-offset:2px;cursor:move!important;pointer-events:auto!important}
body.uiedit [data-uin]::after{content:attr(data-uin);position:absolute;left:0;top:-18px;background:#ff8a4c;color:#fff;font-size:10px;font-weight:800;padding:1px 6px;border-radius:6px;white-space:nowrap;z-index:9}
body.uiedit #world{filter:saturate(.6) brightness(.85)}
.uiDrag{opacity:.85;outline-color:#2f8a3f!important}
#uiEditBar{position:fixed;left:50%;top:42%;transform:translate(-50%,-50%);z-index:900;background:#3b3346f2;color:#fff;border-radius:14px;padding:10px 14px;display:flex;gap:10px;align-items:center;font-size:13px;box-shadow:0 8px 24px #0005;flex-wrap:wrap;justify-content:center;max-width:92vw}
#uiEditBar span{color:#d8cfe4;font-size:12px}#uiEditBar button{border:0;border-radius:10px;padding:6px 12px;font-weight:800;cursor:pointer;background:#fff;color:#3b3346}#uiEditBar button.ok{background:#ff8a4c;color:#fff}
/* v25 특별 칭호 */
.sptl{display:inline-block;border-radius:8px;padding:0 7px;font-weight:800;line-height:1.5}
/* v26 낚싯대 등급 배지 · 단계 올리기 */
.rgb{display:inline-block;font-size:10.5px;font-weight:800;line-height:16px;padding:0 6px;border-radius:8px;color:#fff;background:var(--rc);vertical-align:1px}
.rgb.tx{background:linear-gradient(90deg,#ff2d8a,#ff9a3c,#7a5cff,#ff2d8a);background-size:200% 100%;animation:rgbtx 3s linear infinite}@keyframes rgbtx{to{background-position:200% 0}}
.uprow{margin:6px 0 10px;padding:8px 10px;border-radius:12px;background:#fff7ec;border:1px solid #f0dcc0}.uprow .upbtns{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:6px;margin-top:6px}
.uprow button{display:flex;align-items:center;gap:6px;text-align:left;padding:5px 8px;font-size:12px;flex-wrap:wrap}.uprow button .sico{width:24px;height:24px}.uprow button small{margin-left:auto;color:#8a7a60}
/* v26 UI 편집 2차: 선택·정렬선·테스트 사본 */
#uiEditBar{top:10px!important;transform:translateX(-50%)!important;max-width:min(980px,96vw)}#uiEditBar .us{color:#fff;font-weight:700;min-width:160px}#uiEditBar .um{color:#ffd27a;font-weight:800;min-width:0}
#uiEditBar .uk{flex-basis:100%;text-align:center;color:#bfb4cc;font-size:11px}#uiEditBar button.dirty{background:#ffd27a}
body.uiedit .uiSel{outline:2px solid #2f8aff!important;outline-offset:2px}
.uiPv{opacity:1!important;visibility:visible!important;animation:none!important;pointer-events:auto!important}
#uiGuides{position:fixed;inset:0;pointer-events:none;z-index:899}#uiGuides i{position:absolute;background:#ff3d7f}#uiGuides .gv{top:0;bottom:0;width:1px}#uiGuides .gh{left:0;right:0;height:1px}
@media(max-width:699px){#uiEditBar .uk{display:none}#uiEditBar{padding:6px 8px;gap:6px;font-size:12px}#uiEditBar button{padding:5px 8px}}
#uiEditBar{top:auto!important;bottom:86px}@media(max-width:699px){#uiEditBar{bottom:auto;top:46%!important}}
body.uiedit .cutin[data-uin]{pointer-events:none!important}body.uiedit .cutin[data-uin] .band{pointer-events:auto!important}
#uiEditBar{bottom:auto!important;top:150px!important}@media(max-width:699px){#uiEditBar{top:58%!important}}#uiEditBar>b{cursor:grab;user-select:none}
/* v27 하단 메뉴 재배치 (body.mv27) · 후원 */
body.mv27 #bDex .ml{display:none!important}
body.mv27 #mSys #bDex .ml{display:inline!important}
body.mv27 #mSys #bDex{min-height:44px;min-width:44px}
body.menu-open #tq25,body.menu-open #wxCard{pointer-events:none!important}
#dex .card{max-height:min(88vh,920px);overflow:auto}
#bBox .mi{display:flex!important;justify-content:center;align-items:center;height:28px}#mMain #bBox .bxi{width:36px!important;height:36px!important;max-width:none!important;max-height:none!important;object-fit:contain;margin:-4px 0}body.m3 #mMain #bBox .bxi{width:30px!important;height:30px!important;margin:-3px 0}
body.m3.mv27 #mMain #bBox .bxi{width:22px;height:22px}
@media(max-width:700px){body.m3.mv27 #mMain #bShop{right:117px;bottom:20px}body.m3.mv27 #mMain #bTank{right:110px;bottom:56px}body.m3.mv27 #mMain #bAutoFish{right:89px;bottom:87px}body.m3.mv27 #mMain #bBox{right:59px;bottom:107px}body.m3.mv27 #mMain #bBag{right:22px;bottom:115px}}
@media(max-width:699px){body.m3.mv27 #mMain #bShop{right:86px;bottom:-18px}body.m3.mv27 #mMain #bTank{right:95px;bottom:30px}body.m3.mv27 #mMain #bAutoFish{right:74px;bottom:74px}body.m3.mv27 #mMain #bBox{right:30px;bottom:95px}body.m3.mv27 #mMain #bBag{right:-18px;bottom:86px}}
#bDon.d3{width:auto!important;padding:0 10px 0 6px!important;display:flex;align-items:center;gap:5px;background:#fff!important;border:2px solid #e8c8a0!important;color:#8a5a3a!important}
#bDon.d3 .dt{display:flex;flex-direction:column;line-height:1.05;font-size:11.5px;font-weight:900;text-align:left}#bDon.d3 .dt small{font-size:9px;color:#b08a6a;font-weight:700}
#donM .donw{width:min(360px,92vw);text-align:center;position:relative}#donM .hd{font-size:19px;font-weight:900;margin:4px 0 6px}#donM .msg{line-height:1.6;font-size:13.5px}
#donM .dready{background:#f7f1e6;border-radius:12px;padding:12px;font-size:13px;color:#7a6a58}#donM .dacct{background:#f7f1e6;border-radius:12px;padding:8px 12px;font-size:13px}#donM .dqr img{width:150px;border-radius:12px}#donM .ft{color:#9a90a6;font-size:11.5px}
/* v27 합성 S1 모루 · S2 진행표 */
.anv{margin:6px 0 10px;padding:10px 12px;border-radius:14px;background:linear-gradient(#fff7ec,#fff1e0);border:1px solid #f0dcc0}
.avrow{display:flex;align-items:center;justify-content:center;gap:12px;margin:10px 0 18px}.avs{width:84px;height:84px;border-radius:16px;border:2px dashed #d8c8b4;background:#fff;display:grid;place-items:center;position:relative}
.avs .rimg{width:64px;height:64px}.avs small{position:absolute;bottom:-17px;font-size:11px;font-weight:800;color:#7a6a88;white-space:nowrap}.avs.res{border:2px solid #ff8a4c;background:radial-gradient(circle,#ffe8d6,#fff 70%)}.avs.em{opacity:.6}.avq{font-size:26px;color:#c8b8a4;font-weight:900}
.avp{font-size:22px;font-weight:900;color:#c0a888}.avgo{text-align:center}[data-synpick].on{background:#ff8a4c!important;color:#fff!important}
.upg .upp{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;background:#fff;border-radius:10px;padding:6px 8px;margin-top:6px}.upg .upp .sico{width:26px;height:26px}.upb{height:8px;border-radius:5px;background:#f0e6da;overflow:hidden;margin-top:3px}.upb i{display:block;height:100%;background:linear-gradient(90deg,#ffb86a,#ff7b5c)}
@media(max-width:699px){.avs{width:70px;height:70px}.avs .rimg{width:52px;height:52px}.avrow{gap:6px}}
/* v27 모바일 UI 편집 패널 */
#uiMob{position:fixed;left:8px;right:8px;bottom:8px;z-index:901;background:#3b3346f4;color:#fff;border-radius:16px;padding:8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 8px 24px #0006;font-size:12px}
#uiMob button{border:0;border-radius:10px;padding:7px 9px;font-weight:800;background:#fff;color:#3b3346;font-size:12px}#uiMob button.on{background:#ff8a4c;color:#fff}
#uiMob .ut,#uiMob .uio{display:flex;gap:5px}#uiMob .ut button{flex:1}#uiMob .uio button{flex:1;background:#5a4f68;color:#fff}
#uiMob select{width:100%;padding:7px;border-radius:10px;border:0;font-weight:800}
#uiMob .upad{display:grid;grid-template-columns:repeat(8,1fr);gap:4px}#uiMob .upad [data-r]{grid-column:span 1;font-size:10.5px;padding:7px 2px}
body.uiOne.uiedit [data-uin]:not(.uiSel){outline-color:#ff8a4c55!important;opacity:.55}body.uiOne.uiedit [data-uin]:not(.uiSel)::after{opacity:.5}
@media(max-width:699px){body.uiedit #uiEditBar{top:44%!important}}
#uiMob.top{bottom:auto;top:8px}body.uiedit #uiMob.top~#uiEditBar{top:56%!important}
.ribbon .big{white-space:nowrap}
/* v28 모바일 남 알림: 2줄 정리(1줄=무엇, 2줄=누가), 각 줄 한 줄 고정·말줄임 */
@media(max-width:640px){#ribbons{width:calc(100vw - 16px);top:52px}.ribbon{max-width:100%;box-sizing:border-box;gap:8px;padding:5px 12px 5px 8px;border-width:3px;border-radius:14px}.ribbon img:not(.emj),.ribbon .bximg{width:34px!important;height:34px!important;flex:none}.ribbon>div{min-width:0}
.ribbon .big{display:flex;flex-direction:column;font-size:13px;line-height:1.3}.ribbon .big .f{order:-1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ribbon .big .w{font-size:11px;font-weight:600;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ribbon small{display:none}}
/* v28 가방 B1-A / B1-B */
.bag28 .b1a{display:grid;grid-template-columns:340px minmax(0,1fr);gap:14px;align-items:start}.bag28 .b1b{display:grid;grid-template-columns:300px 330px minmax(0,1fr);gap:12px;align-items:start}
.bag28 .b1l{display:flex;flex-direction:column;gap:10px;position:sticky;top:0}.bag28 .b1r{min-width:0}
.doll28{background:#3b3346;border-radius:18px;padding:12px 0 16px;color:#fff}.doll28 .dh,.sum28 .dh{font-weight:900;font-size:13px;padding:0 14px 8px}.doll28 .dh{padding-bottom:0;margin-bottom:16px;line-height:18px}.sum28 .dh small{font-weight:600;color:#9a8aa8}
.doll28 .dgrid{display:grid;grid-template-columns:repeat(3,76px);grid-auto-rows:76px;gap:14px;justify-content:center}
.dslot{position:relative;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10.5px;font-weight:800;box-sizing:border-box}
.dslot.lock{border:2px dashed #6a5a80;background:#2f2839;color:#a597b6}.dslot.lock .di{font-size:24px;filter:grayscale(1);opacity:.45;line-height:1}.dslot .dn{margin-top:3px;white-space:nowrap}.dslot.lock .dl{font-size:9px;color:#8a7c9a}
.dslot.rod{border:2px solid var(--gc);background:#2a2433;color:#fff}.dslot.rod img{width:44px;height:44px;object-fit:contain}.dslot.rod .dn{max-width:70px;overflow:hidden;text-overflow:ellipsis;font-size:9.5px}.dslot.rod .dl{font-size:9px;color:#ffd27a}
.sum28{background:#fff;border:1px solid #f0e2d0;border-radius:16px;padding:10px 0 6px}.sum28 table{width:100%;border-collapse:collapse;font-size:11.5px}.sum28 th,.sum28 td{padding:3px 6px;text-align:right;border-bottom:1px solid #00000010;white-space:nowrap}.sum28 th:first-child,.sum28 td:first-child{text-align:left;padding-left:14px}.sum28 th:last-child,.sum28 td:last-child{padding-right:14px}
.sum28 td.s{font-weight:900;color:#e0703a}.sum28 td.s small{font-weight:600;color:#a99;margin-left:2px}.sum28 tr.z td{color:#c5bccc}.sum28 tr.z td.s{color:#c5bccc}.sum28 p{margin:6px 14px 2px}
@media(max-width:760px){.bag28 .b1a,.bag28 .b1b{grid-template-columns:minmax(0,1fr)}.bag28 .b1l{position:static}.doll28 .dgrid{grid-template-columns:repeat(3,66px);grid-auto-rows:66px;gap:12px}.dslot.rod img{width:38px;height:38px}}
#bag .card.bag28{max-width:97vw!important}

/* v29 wear */
.doll28 .dslot img.di{width:48px;height:48px;object-fit:contain;display:block;margin:0 auto}
.doll28 .dslot.empty .di{display:block;text-align:center}.doll28 .dslot.empty img.di{width:48px;height:48px;object-fit:contain;opacity:.55;line-height:normal;font-size:0}
.weargrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.weargrid .btile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:12px;border:2px solid var(--gc,#ccc);background:#fff}
.weargrid .btile img{width:64px;height:64px;object-fit:contain}
.weargrid .btile.dim{opacity:.35;filter:grayscale(.4)}
.weargrid .btile.eqon{box-shadow:0 0 0 2px #5fc48a inset}
.weargrid .wn{font-size:11px;font-weight:800;text-align:center;line-height:1.2}

.doll28 .dslot .di-txt{font-size:22px;font-weight:900;line-height:48px;text-align:center;opacity:.7}

/* v30 empty wear placeholders */
.doll28 .dslot img.ph{opacity:.55;filter:none}
.doll28 .dslot.empty{background:#2f2938}
.tabs .tico img.emj{width:18px;height:18px;object-fit:contain;vertical-align:-3px}

/* ===== v31 bag ===== */
.bag31.bag28{max-height:min(780px,94vh)}
.bag31 .b1a{grid-template-columns:300px minmax(0,1fr);gap:16px}
.bag31 .doll28{padding:10px 8px 12px}
.bag31 .doll28 .dgrid{grid-template-columns:repeat(3,88px);grid-auto-rows:88px;gap:12px}
.bag31 .dslot{overflow:hidden;border:2px solid #6a5a80;background:#2f2839;color:#fff;padding:4px;min-width:0;min-height:0}
.bag31 .dslot.on,.bag31 .dslot.rod{border-color:var(--gc,#ff8a4c);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gc) 35%,transparent)}
.bag31 .dslot.empty{border-style:dashed;border-color:#6a5a80}
.bag31 .diwrap{width:100%;height:48px;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 auto}
.bag31 .diwrap img,.bag31 .dslot.rod .diwrap img,.bag31 .dslot img.di{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.bag31 .dslot .dn,.bag31 .dslot .dl{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px;line-height:1.15}
.bag31 .dslot .dl{font-size:9px;opacity:.85}
.bag31 .dslot.empty .dn{font-size:10px;opacity:.75}
.bag31 .dslot.empty .dl{display:none} /* 비어있음 텍스트 튀어나옴 제거 */
.bag31 .sum28{font-size:11px}
.bag31 .tabs{display:flex;gap:6px;flex-wrap:wrap;align-items:stretch}
.bag31 .tabs>button{position:relative;display:inline-flex;align-items:center;gap:6px;padding:8px 14px 8px 10px}
.bag31 .tabs .tico{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0}
.bag31 .tabs .tico img,.bag31 .tabs .tico .tico-ico{width:22px;height:22px;object-fit:contain;font-size:18px;line-height:22px}
.bag31 .tabs .tico em{position:absolute;top:-7px;right:-10px;min-width:16px;height:16px;padding:0 4px;line-height:16px;font-size:10px;border-radius:9px;z-index:2}
.wearhd{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.wearhd p{margin:0}
.infoi{width:32px;height:32px;border-radius:50%;border:0;background:#ff8a4c;color:#fff;font-weight:900;font-size:16px;cursor:pointer;box-shadow:0 2px 8px #0003;flex:none}
.weargrid .diwrap,.rodgrid .diwrap{width:100%;height:64px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.weargrid .diwrap img,.rodgrid .diwrap img{max-width:100%;max-height:100%;object-fit:contain}
.rodgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.rodtile{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px}
.rodTip{position:fixed;z-index:200;display:none;max-width:240px;background:#2a2438f2;color:#fff;border:2px solid #ff8a4c;border-radius:14px;padding:10px 12px;font-size:12.5px;line-height:1.45;white-space:pre-line;pointer-events:none;box-shadow:0 8px 24px #0005}
.rodTip.show{display:block}
.rodTip.H2{border-radius:8px;background:#fff;color:#2a2433;border-color:#ead9c4}
.rodTip.H3{border:0;background:#1a1428ee;border-left:4px solid #ff8a4c}
.wearInfoOv{position:fixed;inset:0;z-index:110;background:#1a1428bb;display:flex;align-items:center;justify-content:center;padding:16px}
.wearInfoOv .card{background:#fffaf3;border-radius:18px;padding:18px 20px;width:min(920px,96vw);max-height:88vh;overflow:auto;position:relative}
.wearInfoOv .close{position:absolute;right:12px;top:12px}
.wsets{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-top:12px}
.wset{background:#fff;border-radius:14px;padding:12px;border:2px solid #f0e4d4}
.wset.on{border-color:var(--c);box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 35%,transparent)}
.wsHd{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.wsIts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.wsIts div{text-align:center;opacity:.35;font-size:10px}
.wsIts div.have{opacity:1}
.wsIts img{width:48px;height:48px;object-fit:contain;display:block;margin:0 auto}
.wsFx{margin-top:8px;font-size:12px;font-weight:700;color:#c25a1c}
#boxFx .fxres .acc{pointer-events:auto;position:relative;z-index:2}
#boxFx.show:not(.open) .fxbox{animation:shake .18s infinite alternate}
@media(max-width:760px){.bag31 .b1a{grid-template-columns:1fr}.bag31 .doll28 .dgrid{grid-template-columns:repeat(3,72px);grid-auto-rows:72px}}

/* v32 */
.bag31.bag28{max-height:min(780px,94vh)}
.bag31 .sum28{max-height:none;overflow:visible;padding-bottom:10px}
.bag31 .sum28 table{font-size:12px}
.bag31 .b1l{display:flex;flex-direction:column;gap:10px;min-height:0;max-height:min(700px,86vh);overflow-y:auto;overscroll-behavior:contain}
.giftBan{position:fixed;left:50%;top:72px;transform:translateX(-50%);z-index:220;display:flex;gap:12px;align-items:center;background:linear-gradient(135deg,#fff7ea,#ffe0c2);border:2px solid #ff8a4c;border-radius:18px;padding:14px 18px;box-shadow:0 12px 36px #0005;min-width:min(420px,92vw);animation:giftIn .35s ease}
.giftBan .em{font-size:28px}.giftBan b{font-size:15px;color:#3a3048}.giftBan .d{font-size:13px;color:#6a5a50;margin-top:2px}
.giftBan small{color:#9a8b7c}.giftBan .x{margin-left:auto;cursor:pointer;font-size:18px;opacity:.55;padding:4px 8px}
.giftBan.out{opacity:0;transform:translateX(-50%) translateY(-8px);transition:.28s}
@keyframes giftIn{from{opacity:0;transform:translateX(-50%) translateY(-12px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.bag31 .wearI{position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:50%;border:0;background:#ff8a4c;color:#fff;font-weight:900;cursor:pointer;z-index:3;box-shadow:0 2px 8px #0003;line-height:28px;padding:0;font-size:14px}
.bag31 .wearI:hover{filter:brightness(1.08)}
.bag31 .rodtile{border:2.5px solid var(--gc,#aab4c0)!important;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gc,#aab4c0) 30%,transparent)}
.bag31 .rodtile.eqon{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--gc,#ff8a4c)}

/* v35 brand */
.logo{display:inline-flex;align-items:center;gap:6px}.brandMark{border-radius:6px;vertical-align:middle;object-fit:cover;box-shadow:0 1px 2px #0002}.brandMark.lg{border-radius:10px;margin-right:4px}.enLogo{font-weight:600;letter-spacing:.04em;opacity:.75}.brandTag{font-weight:600;color:#6a5a4a!important;margin:.2em 0 .15em}

/* 자동낚시 잠금 · 가방 레벨 · 어항 조합 · 서버 목록 */
#bAutoFish.soon{filter:grayscale(.35);opacity:.86}
#bAutoFish .soonTag{display:none}
@media(max-width:699px){body.m3 #mMain #bAutoFish.soon .soonTag{display:block!important;position:absolute;left:50%;top:calc(100% + 2px);transform:translateX(-50%);font-style:normal;font-size:9px;font-weight:800;white-space:nowrap;background:#5c4d6e;color:#fff;border-radius:7px;padding:1px 5px;line-height:1.35;z-index:4;pointer-events:none}}
.rodtile.lvno,.weargrid .btile.lvno{opacity:.55;filter:grayscale(.25)}
.rodtile.lvno small,.weargrid .btile.lvno small{color:#a05068;font-weight:800}
.comboV{background:#fff8;border-radius:14px;padding:8px 10px 4px;margin:0 0 10px}
.comboSum b{font-size:14px}
.cpills{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 4px}
.cpill{font-size:11.5px;font-weight:800;background:#f3eee6;border-radius:999px;padding:3px 8px;color:#6a6078}
.cpill small{font-weight:700;color:#8a8094}
.cpill.on{background:#e7f8ee;box-shadow:inset 0 0 0 1.5px var(--gc,#7dcaa0);color:#245c3a}
.cpill.on small{color:#2f7a4e}
.crow .chd{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}
.crow .cfx{font-size:12px;font-weight:800;color:#2f7a4e;margin-top:2px}
.cks2{grid-template-columns:repeat(auto-fill,minmax(86px,1fr))}
#stSrv{display:flex;flex-direction:column;gap:7px}
#stSrv .sv{grid-template-columns:78px 1fr auto}
#stSrv .srvnote{margin:2px 0 0;font-size:12px;line-height:1.45;color:#8a7468}
/* 관리자 로그인: 일반 설정 하단에는 작은 운영 진입만 */
#set .card.setA>.admfoot{margin:0;padding:8px 16px 12px;text-align:right;border-top:1px solid #f0e8dc;background:#fff}
#set #admGate{background:transparent;box-shadow:none;padding:0;margin:0;font-size:11px;font-weight:600;color:#c4b8aa;border-radius:0}
#set #admGate:hover{color:#8a7a6a}
#set #admOutSet{background:transparent;box-shadow:none;color:#8a7f96;font-size:12px;margin-left:8px}
#admLogin,#admPwM{z-index:40}
#admLogin .card,#admPwM .card{width:min(380px,92vw)}
#admLogin h2,#admPwM h2{font-size:22px}
#admLogin label,#admPwM label{display:block;font-size:13px;font-weight:800;margin:12px 0 4px}
#admLogin input,#admPwM input{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:10px 12px;border-radius:12px;border:2px solid #ece4da;background:#fff;color:inherit;user-select:text;-webkit-user-select:text}
#admLogin input:focus,#admPwM input:focus{outline:0;border-color:var(--acc2)}
#admLogin .admErr,#admPwM .admErr{min-height:1.2em;margin:8px 0 0;color:#c03a3a;font-size:12.5px;font-weight:700}
#deckNote,#chNote{position:fixed;left:50%;top:72px;transform:translateX(-50%);z-index:60;display:flex;gap:10px;align-items:center;max-width:min(640px,calc(100vw - 16px));background:#3b3346;color:#fff;border-radius:14px;padding:10px 14px;box-shadow:0 10px 28px #0005;font-size:14px;pointer-events:none}
#deckNote b,#chNote b{color:#ffd77a;white-space:nowrap}#deckNote span,#chNote span{line-height:1.35}
@media(max-width:700px){.adm2 header{flex-wrap:wrap;row-gap:8px}}
