/* 짠 프로필 — 마이페이지 + 공개프로필. 레이아웃 토큰(--surface,--border,--accent...) 공유 */
.cur--pw{color:#e0820c;}.cur--en{color:#2563eb;}
[data-theme="dark"] .cur--pw{color:#ffb24d;}[data-theme="dark"] .cur--en{color:#5b9bf5;}
.zp-wrap{margin:0 auto;padding:0 4px;}
.zp-mypage{max-width:780px;}
.zp-profile{max-width:1000px;}
.zp-empty{padding:24px;text-align:center;color:var(--mute);font-size:13.5px;}

/* ===== 마이페이지 ===== */
.zp-phead{padding:6px 0 0;display:flex;align-items:center;justify-content:space-between;}
.zp-phead h1{font-size:24px;font-weight:900;letter-spacing:-.03em;color:var(--text);}
.zp-phead h1 b{color:var(--accent);}
.zp-phead a{font-size:13px;font-weight:700;color:var(--sub);}
.zp-phead a:hover{color:var(--accent);}
.pcard{margin-top:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:22px 24px;}
.pcard__top{display:flex;gap:18px;align-items:center;}
.pcard__avwrap{flex:0 0 auto;}
.pcard__av{width:84px;height:84px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#f5793a,#ee3b34);}
.pcard__fields{flex:1;min-width:0;}
.fld{display:flex;align-items:center;gap:8px;padding:8px 0;}
.fld+.fld{border-top:1px solid var(--border);}
.fld__lb{font-size:11.5px;font-weight:800;color:var(--mute);width:64px;flex:0 0 auto;}
.fld__v{flex:1;font-size:15px;font-weight:700;color:var(--text);min-width:0;}
.fld__at{color:var(--sub);font-weight:800;}
.fld__input{flex:1;border:1px solid var(--border);border-radius:9px;padding:8px 11px;font-size:14px;background:var(--surface-2);color:var(--text);}
.fld__edit{font-size:12px;font-weight:800;color:var(--accent);flex:0 0 auto;}
.pcard__intro{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}
.pcard__intro-lb{font-size:11.5px;font-weight:800;color:var(--mute);}
.pcard__intro textarea{width:100%;margin-top:8px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.6;color:var(--text);background:var(--surface-2);resize:vertical;}
.pcard__cover{display:flex;align-items:center;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--border);flex-wrap:wrap;}
.pcard__cover .fld__lb{width:auto;}
.pcard__coverimg{height:40px;border-radius:8px;}
.pcard__bottom{display:flex;align-items:center;gap:16px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);flex-wrap:wrap;}
.zp-toggle{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--sub);cursor:pointer;}
.zp-save{margin-left:auto;background:var(--accent);color:#fff;border:0;font-size:14px;font-weight:800;padding:10px 22px;border-radius:11px;cursor:pointer;}
.zp-save:hover{filter:brightness(.94);}

.qstats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;}
.qstat{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:13px 10px;text-align:center;}
.qstat b{display:block;font-size:16px;font-weight:900;color:var(--text);}
.qstat span{font-size:11px;color:var(--mute);}

.mgroup{margin-top:22px;}
.mgroup__t{font-size:12.5px;font-weight:800;color:var(--mute);padding:0 4px 9px;}
.mlist{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;}
.mrow{display:flex;align-items:center;gap:13px;padding:15px 18px;}
.mrow+.mrow{border-top:1px solid var(--border);}
.mrow:hover{background:var(--surface-2);}
.mrow__ic{width:38px;height:38px;border-radius:11px;background:var(--surface-2);display:grid;place-items:center;font-size:19px;flex:0 0 auto;}
.mrow__t{flex:1;font-size:15px;font-weight:700;color:var(--text);}
.mrow__cnt{font-size:13.5px;font-weight:800;color:var(--mute);}
.mrow__badge{font-size:11px;font-weight:900;color:#fff;background:var(--accent);border-radius:999px;padding:2px 8px;min-width:20px;text-align:center;}
.mrow__chev{color:var(--mute);font-size:18px;font-weight:800;}
.mrow--danger .mrow__ic{background:transparent;}
.mrow--danger .mrow__t{color:#dc2626;}

/* ===== 공개 프로필 ===== */
.phero{margin-top:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);overflow:hidden;}
.phero__cover{height:150px;background-size:cover;background-position:center;background-image:linear-gradient(120deg,#4c1d95,#7c2d3a 55%,#c2402f);}
.phero__body{padding:0 26px 22px;}
.phero__top{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap;}
.phero__l{display:flex;gap:18px;align-items:flex-end;min-width:0;}
.phero__av{width:104px;height:104px;border-radius:50%;border:4px solid var(--surface);margin-top:-52px;object-fit:cover;background:linear-gradient(135deg,#f5793a,#ee3b34);flex:0 0 auto;}
.phero__id-wrap{padding-bottom:4px;min-width:0;}
.phero__name{display:flex;align-items:center;gap:8px;}
.phero__lv{font-size:11px;font-weight:900;color:#fff;background:#7c3aed;border-radius:5px;padding:2px 7px;}
.phero__nick{font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--text);}
.phero__id{font-size:14.5px;color:var(--sub);font-weight:700;margin-top:3px;}
.phero__intro{font-size:14px;color:var(--sub);line-height:1.65;margin-top:16px;max-width:640px;}
.phero__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;}
.pstat{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px;text-align:center;}
.pstat b{display:block;font-size:18px;font-weight:900;color:var(--text);}
.pstat span{font-size:12px;color:var(--mute);}
.pstat .exp{height:5px;border-radius:3px;background:var(--border);margin-top:7px;overflow:hidden;}
.pstat .exp i{display:block;height:100%;background:#7c3aed;}
.private{padding:34px;text-align:center;color:var(--mute);font-size:14px;}

.card{margin-top:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r);padding:20px 24px;}
.card__h{font-size:16px;font-weight:900;margin-bottom:14px;display:flex;align-items:center;justify-content:space-between;color:var(--text);}
.card__h span{font-size:12.5px;font-weight:700;color:var(--mute);}
.badges{display:flex;gap:10px;flex-wrap:wrap;}
.badge{display:flex;align-items:center;gap:9px;padding:10px 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border);}
.badge__ic{font-size:22px;}.badge__t{font-size:13px;font-weight:800;color:var(--text);}.badge__d{font-size:10.5px;color:var(--mute);}
.ptabs{display:flex;gap:22px;border-bottom:1px solid var(--border);margin-bottom:6px;}
.ptab{padding:11px 0;font-size:14.5px;font-weight:700;color:var(--sub);border-bottom:2px solid transparent;cursor:pointer;}
.ptab.on{color:var(--accent);border-color:var(--accent);}
.arow{display:flex;align-items:center;gap:10px;padding:13px 2px;border-bottom:1px solid var(--border);font-size:14px;}
.arow:last-child{border-bottom:0;}
.arow__t{flex:1;font-weight:600;color:var(--sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.arow:hover .arow__t{color:var(--accent);}
.arow__cm{font-size:12.5px;font-weight:800;color:var(--accent);}
.arow__m{font-size:12px;color:var(--mute);flex:0 0 auto;}

@media (max-width:560px){.qstats{grid-template-columns:1fr 1fr;}.phero__stats{grid-template-columns:1fr 1fr;}}

/* 설정 토글 (평소 닫힘) */
/* 인라인 수정 (항목별) */
.zp-fedit{display:none;}
[data-fld].editing > .zp-fview{display:none;}
.fld.editing > .zp-fedit{display:flex;align-items:center;gap:4px;flex:1;}
.pcard__introbox.editing > .zp-fedit{display:block;margin-top:8px;}
.pcard__introbox .pcard__intro-lb{display:flex;align-items:center;gap:6px;margin-bottom:8px;}
.pcard__intro-lb small{font-weight:600;color:var(--mute);}
.pcard__intro-edit{margin-left:auto;}
.fld__save{flex:0 0 auto;background:var(--accent);color:#fff;border:0;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;}
.fld__save:hover{filter:brightness(.94);}
.pcard__intro-save{margin-top:10px;text-align:right;}

/* 프로필 공개 토글 스위치 */
.zp-switch{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-size:13.5px;font-weight:800;color:var(--text);}
.zp-switch input{position:absolute;opacity:0;width:0;height:0;}
.zp-switch__t{position:relative;width:40px;height:22px;border-radius:999px;background:var(--border);transition:background .15s;flex:0 0 auto;}
.zp-switch__k{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:left .15s;}
.zp-switch input:checked + .zp-switch__t{background:var(--accent);}
.zp-switch input:checked + .zp-switch__t .zp-switch__k{left:20px;}

/* 카드 하단: 공개 토글 + 미리보기 + 저장 */
.pcard__foot{display:flex;align-items:center;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);flex-wrap:wrap;}
.pcard__foot .zp-toggle b{color:var(--text);}
.pcard__preview{margin-left:auto;font-size:13px;font-weight:800;color:var(--accent);}
.pcard__foot .zp-save{margin-left:8px;}
.pcard__cover-lb{font-size:11.5px;font-weight:800;color:var(--mute);width:auto;}
/* 아바타 롤오버 변경 */
.pcard__avwrap{position:relative;width:84px;height:84px;}
.pcard__avedit{position:absolute;right:-2px;bottom:-2px;width:28px;height:28px;border-radius:50%;background:var(--accent);border:2px solid var(--surface);display:grid;place-items:center;color:#fff;cursor:pointer;pointer-events:auto;}
.pcard__avedit svg{width:14px;height:14px;}
/* 아바타 변경은 설정(편집) 모드에서만 */
/* 소개 뷰/편집 */
.pcard__introbox{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}
.pcard__introbox .pcard__intro-lb{font-size:11.5px;font-weight:800;color:var(--mute);margin-bottom:7px;}
.zp-introview{font-size:14px;color:var(--sub);line-height:1.6;}
.pcard__introbox textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;line-height:1.6;color:var(--text);background:var(--surface-2);resize:vertical;}
.zp-cancel{background:var(--surface-2);border:1px solid var(--border);border-radius:11px;padding:10px 16px;font-size:14px;font-weight:800;color:var(--sub);cursor:pointer;}

/* 채널 프로필 관리 */
.zpc-row{padding:14px 18px;}
.zpc-row+.zpc-row{border-top:1px solid var(--border);}
.zpc-head{display:flex;align-items:center;gap:13px;}
.zpc-sym{width:44px;height:44px;border-radius:12px;overflow:hidden;flex:0 0 auto;background:var(--surface-2);display:grid;place-items:center;}
.zpc-sym img{width:100%;height:100%;object-fit:cover;}
.zpc-sym__ph{font-size:18px;font-weight:900;color:var(--sub);}
.zpc-name{flex:1;font-size:15px;font-weight:800;color:var(--text);display:flex;flex-direction:column;gap:2px;}
.zpc-sub{font-size:11.5px;font-weight:600;color:var(--mute);}
.zpc-btn{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:8px 14px;font-size:13px;font-weight:800;color:var(--sub);cursor:pointer;flex:0 0 auto;}
.zpc-btn:hover{border-color:var(--accent);color:var(--accent);}
.zpc-edit{margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);}
.zpc-guide{font-size:12.5px;color:var(--mute);margin-bottom:10px;line-height:1.5;}
.zpc-editrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.zpc-none{padding:20px 18px;color:var(--mute);font-size:13.5px;}
.zpc-notice{font-size:12.5px;color:var(--mute);margin-top:10px;padding:0 4px;}

/* 채널 프로필 관리 — 아바타 인터페이스(마이페이지와 동일 방식) */
.zpc-avwrap{position:relative;width:44px;height:44px;flex:0 0 auto;}
.zpc-av{width:44px;height:44px;border-radius:12px;object-fit:cover;background:var(--surface-2);display:grid;place-items:center;}
.zpc-av--ph{font-size:18px;font-weight:900;color:var(--sub);}
.zpc-avedit{position:absolute;inset:0;border-radius:12px;background:rgba(0,0,0,.5);display:grid;place-items:center;color:#fff;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .15s;}
.zpc-avedit svg{width:18px;height:18px;}
.zpc.editing .zpc-avedit{pointer-events:auto;}
.zpc.editing .zpc-avwrap:hover .zpc-avedit{opacity:1;}
.zpc-reset{display:none;}
.zpc.editing .zpc-reset{display:inline-block;}
.zpc-guide{display:none;margin-top:10px;}
.zpc.editing .zpc-guide{display:block;}

/* 작성글/댓글 상세 리스트 */
.zpl-row{display:block;padding:14px 18px;}
.zpl-row+.zpl-row{border-top:1px solid var(--border);}
.zpl-row:hover{background:var(--surface-2);}
.zpl-meta{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;}
.zpl-board{color:var(--accent);}
.zpl-cat{color:var(--sub);background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:1px 6px;}
.zpl-on{color:var(--mute);font-weight:600;}
.zpl-doc{color:var(--sub);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zpl-title{font-size:15px;font-weight:700;color:var(--text);margin-top:5px;}
.zpl-cm{color:var(--accent);font-weight:800;font-size:12.5px;margin-left:4px;}
.zpl-comment{font-size:14px;color:var(--text);margin-top:5px;line-height:1.5;}
.zpl-stats{display:flex;gap:12px;margin-top:7px;font-size:12px;color:var(--mute);}
.zp-pgn{margin-top:18px;text-align:center;}

/* 페이저 */
.zp-pgn{display:flex;justify-content:center;gap:4px;margin-top:18px;}
.zp-pgn a{min-width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:700;color:var(--sub);}
.zp-pgn a:hover{border-color:var(--accent);color:var(--accent);}
.zp-pgn a.on{background:var(--accent);border-color:var(--accent);color:#fff;}

/* 채널 프로필 편집 박스 (설정 눌렀을 때 명확한 UI) */
.zpc-editbox{display:none;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);}
.zpc.editing .zpc-editbox{display:block;}
.zpc-editbox .zpc-guide{display:block;margin:0 0 12px;}
.zpc-editav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;}
.zpc-avbig{position:relative;width:72px;height:72px;border-radius:16px;overflow:hidden;cursor:pointer;flex:0 0 auto;background:var(--surface-2);display:grid;place-items:center;}
.zpc-avbig img{width:100%;height:100%;object-fit:cover;}
.zpc-avbig__ph{font-size:26px;font-weight:900;color:var(--sub);}
.zpc-avbig__cam{position:absolute;inset:0;background:rgba(0,0,0,.4);display:grid;place-items:center;color:#fff;opacity:0;transition:opacity .15s;}
.zpc-avbig:hover .zpc-avbig__cam{opacity:1;}
.zpc-avbig__cam svg{width:22px;height:22px;}
.zpc-editav__btns{display:flex;align-items:center;gap:8px;}
.zpc-choose{display:inline-block;background:var(--accent);color:#fff;border-radius:9px;padding:9px 16px;font-size:13.5px;font-weight:800;cursor:pointer;}
.zpc-choose:hover{filter:brightness(.94);}

/* 알림 페이지 */
.zp-tabs{margin-top:14px;align-items:center;}
.zpn-cnt{font-style:normal;font-size:11px;font-weight:900;color:#fff;background:var(--accent);border-radius:999px;padding:1px 7px;margin-left:5px;}
.zpn-allread{background:var(--surface-2);border:1px solid var(--border);border-radius:9px;padding:7px 13px;font-size:12.5px;font-weight:800;color:var(--sub);cursor:pointer;}
.zpn-allread:hover{border-color:var(--accent);color:var(--accent);}
.zpn-row{display:flex;align-items:center;gap:13px;padding:14px 18px;}
.zpn-row+.zpn-row{border-top:1px solid var(--border);}
.zpn-row:hover{background:var(--surface-2);}
.zpn-row.unread{background:var(--accent-soft);}
.zpn-ic{width:38px;height:38px;border-radius:11px;background:var(--surface);border:1px solid var(--border);display:grid;place-items:center;font-size:18px;flex:0 0 auto;}
.zpn-msg{flex:1;font-size:14px;font-weight:600;color:var(--text);display:flex;flex-direction:column;gap:3px;}
.zpn-time{font-size:11.5px;color:var(--mute);font-weight:500;}
.zpn-dot{width:8px;height:8px;border-radius:50%;background:var(--accent);flex:0 0 auto;}

/* 채널 행 — 내 채널 프로필(버튼 옆 원) */
.zpc-myav{width:36px;height:36px;border-radius:50%;overflow:hidden;flex:0 0 auto;background:var(--surface-2);display:grid;place-items:center;color:var(--mute);}
.zpc-myav img{width:100%;height:100%;object-fit:cover;}
.zpc-myav svg{width:20px;height:20px;}

/* 자산(짠에너지/짠파워) 내역 */
.zp-assum{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:16px 0 12px;}
.zp-assum__box{background:var(--surface-2);border:1px solid var(--border);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;}
.zp-assum__box.is-balance{background:var(--accent-soft);border-color:transparent;}
.zp-assum__lb{font-size:12px;font-weight:800;color:var(--sub);}
.zp-assum__box b{font-size:24px;font-weight:900;letter-spacing:-.02em;color:var(--text);line-height:1.1;}
.zp-assum__sub{font-size:11px;font-weight:500;color:var(--mute);}
@media (max-width:560px){.zp-assum{grid-template-columns:1fr;gap:8px;}.zp-assum__box{flex-direction:row;align-items:baseline;flex-wrap:wrap;}.zp-assum__lb{min-width:60px;}.zp-assum__box b{font-size:20px;}.zp-assum__sub{width:100%;}}

/* 장착 뱃지 (닉네임 옆) */
.zp-eqbadge{display:inline-block;margin-left:6px;font-size:1.05em;vertical-align:middle;line-height:1;}

/* 뱃지 + 레이어 툴팁 */
.zbdg{position:relative;display:inline-flex;align-items:center;cursor:help;margin-left:6px;vertical-align:middle;}
.zbdg__ic{font-size:1.05em;line-height:1;}
.zbdg__tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%) translateY(4px);z-index:60;
    min-width:180px;max-width:250px;padding:10px 12px;border-radius:10px;background:#1f2430;color:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.28);opacity:0;visibility:hidden;transition:opacity .13s,transform .13s;
    display:flex;flex-direction:column;gap:4px;text-align:left;white-space:normal;pointer-events:none;}
.zbdg__tip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1f2430;}
.zbdg:hover .zbdg__tip{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.zbdg__nm{font-size:13px;font-weight:800;}
.zbdg__ds{font-size:12px;color:#c7cdda;line-height:1.5;font-weight:500;}
.zbdg__ab{font-size:12px;font-weight:800;color:#ffd34d;line-height:1.5;}

/* 인벤토리 */
.ziv-sec{margin-top:16px;}
.ziv-sec__hd{font-size:15px;font-weight:900;color:var(--text);display:flex;align-items:center;gap:8px;}
.ziv-cnt{font-size:12px;font-weight:900;color:#fff;background:var(--accent);border-radius:999px;padding:1px 9px;}
.ziv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-top:12px;}
.ziv-badge{border:1px solid var(--border);border-radius:14px;padding:16px 14px;text-align:center;background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:4px;}
.ziv-badge.is-on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent) inset;}
.ziv-badge__ic{font-size:38px;line-height:1.1;}
.ziv-badge__nm{font-size:14px;font-weight:800;color:var(--text);}
.ziv-badge__ds{font-size:11.5px;color:var(--sub);line-height:1.4;}
.ziv-badge__ab{font-size:11.5px;font-weight:700;color:var(--accent);margin-top:4px;line-height:1.4;}
.ziv-badge__date{font-size:11px;color:var(--mute);margin-top:2px;}
.ziv-badge__act{margin-top:8px;width:100%;}
.ziv-btn{width:100%;border:1px solid var(--accent);background:var(--accent);color:#fff;border-radius:9px;padding:8px 0;font-size:12.5px;font-weight:800;cursor:pointer;}
.ziv-btn:hover{filter:brightness(.94);}
.ziv-btn.is-on{background:transparent;color:var(--accent);}

/* 미션/업적 */
.zm-tabs{margin-top:14px;}
.zm-badge{font-style:normal;font-size:11px;font-weight:900;color:#fff;background:var(--accent);border-radius:999px;padding:1px 7px;margin-left:4px;}
.zm-note{font-size:12px;color:var(--mute);margin:10px 0 4px;}
.zm-list{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.zm-item{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface);}
.zm-item.is-done{border-color:var(--accent);background:var(--accent-soft);}
.zm-item.is-claimed{opacity:.6;}
.zm-check{width:38px;height:38px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;font-size:13px;font-weight:900;background:var(--surface-2);color:var(--sub);border:1px solid var(--border);}
.zm-item.is-done .zm-check{background:var(--accent);color:#fff;border-color:transparent;font-size:18px;}
.zm-item.is-claimed .zm-check{background:#1c9e4b;color:#fff;font-size:18px;}
.zm-body{flex:1;min-width:0;}
.zm-title{font-size:14.5px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.zm-reward{font-size:12.5px;font-weight:900;}
.zm-reward--badge{color:var(--sub);background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:1px 8px;font-weight:800;}
.zm-desc{font-size:12px;color:var(--sub);margin-top:2px;}
.zm-bar{height:7px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-top:8px;}
.zm-bar>span{display:block;height:100%;background:var(--accent);border-radius:999px;}
.zm-prog{font-size:11px;color:var(--mute);font-weight:600;margin-top:4px;}
.zm-action{flex:0 0 auto;}
.zm-claim{background:var(--accent);color:#fff;border:0;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:800;cursor:pointer;}
.zm-claim:hover{filter:brightness(.94);}
.zm-tag{font-size:12px;font-weight:800;color:var(--mute);}
.zm-tag.is-claimed{color:#1c9e4b;}

/* 마이페이지 qstat 링크화 */
.qstat--link{cursor:pointer;transition:transform .1s,box-shadow .1s;}
.qstat--link:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,.06);}

/* 레벨 페이지 */
.zlv-hero{display:flex;gap:16px;align-items:center;margin:16px 0 14px;padding:20px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(135deg,var(--surface-2),var(--surface));}
.zlv-badge{width:72px;height:72px;border-radius:20px;flex:0 0 auto;display:grid;place-items:center;font-size:38px;background:var(--lvc,#888);box-shadow:0 6px 18px color-mix(in srgb,var(--lvc,#888) 40%,transparent);}
.zlv-info{flex:1;min-width:0;}
.zlv-name{font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--lvc,var(--text));}
.zlv-sub{font-size:12.5px;font-weight:600;color:var(--sub);margin:2px 0 10px;}
.zlv-bar{height:10px;border-radius:999px;background:var(--surface-2);overflow:hidden;border:1px solid var(--border);}
.zlv-bar>span{display:block;height:100%;background:var(--lvc,var(--accent));border-radius:999px;}
.zlv-next{font-size:13px;color:var(--sub);margin-top:8px;}
.zlv-next b{color:var(--text);font-weight:800;}

.zlv-card{border:1px solid var(--border);border-radius:16px;padding:16px 18px;margin-bottom:14px;background:var(--surface);}
.zlv-card__hd{font-size:14px;font-weight:900;color:var(--text);margin-bottom:12px;}
.zlv-card__note{margin-top:10px;font-size:11.5px;color:var(--mute);line-height:1.5;}

.zlv-needs{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;}
.zlv-need{background:var(--surface-2);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;}
.zlv-need__cnt{font-size:22px;font-weight:900;color:var(--accent);}
.zlv-need__cnt em{font-size:13px;font-style:normal;font-weight:700;color:var(--sub);margin-left:2px;}
.zlv-need__lb{font-size:13px;font-weight:700;color:var(--text);}
.zlv-need__amt{font-size:11px;color:var(--mute);}

.zlv-persona{display:flex;gap:14px;align-items:center;background:var(--accent-soft);border-color:transparent;}
.zlv-persona__ic{font-size:38px;flex:0 0 auto;}
.zlv-persona__nm{font-size:15px;font-weight:800;color:var(--text);}
.zlv-persona__nm b{color:var(--accent);}
.zlv-persona__ds{font-size:13px;color:var(--sub);margin-top:3px;line-height:1.5;}

.zlv-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.zlv-metric{background:var(--surface-2);border-radius:12px;padding:14px;text-align:center;display:flex;flex-direction:column;gap:4px;}
.zlv-metric b{font-size:22px;font-weight:900;color:var(--text);}
.zlv-metric span{font-size:11.5px;font-weight:600;color:var(--sub);}

.zlv-dist{display:flex;flex-direction:column;gap:9px;}
.zlv-dist__row{display:flex;align-items:center;gap:10px;}
.zlv-dist__lb{flex:0 0 80px;font-size:12.5px;font-weight:700;color:var(--text);}
.zlv-dist__bar{flex:1;height:9px;border-radius:999px;background:var(--surface-2);overflow:hidden;}
.zlv-dist__bar>span{display:block;height:100%;background:var(--accent);border-radius:999px;}
.zlv-dist__val{flex:0 0 auto;font-size:12px;font-weight:700;color:var(--sub);min-width:96px;text-align:right;}
.zlv-dist__val em{font-style:normal;color:var(--mute);font-weight:500;}
@media (max-width:520px){.zlv-metrics{grid-template-columns:1fr 1fr;}.zlv-dist__lb{flex-basis:60px;}}

.zlv-about{font-size:13px;line-height:1.7;color:var(--sub);margin:0;}
.zlv-about b{color:var(--text);font-weight:800;}
.zlv-ladder{margin-top:14px;}
.zlv-ladder>summary{cursor:pointer;font-size:13px;font-weight:800;color:var(--accent);padding:8px 0;list-style:none;}
.zlv-ladder>summary::-webkit-details-marker{display:none;}
.zlv-ladder>summary::before{content:"▸ ";}
.zlv-ladder[open]>summary::before{content:"▾ ";}
.zlv-tbl{width:100%;border-collapse:collapse;margin-top:6px;font-size:13px;}
.zlv-tbl th{text-align:left;padding:8px 10px;font-size:11.5px;font-weight:800;color:var(--sub);border-bottom:2px solid var(--border);}
.zlv-tbl td{padding:8px 10px;border-bottom:1px solid var(--border);color:var(--text);white-space:nowrap;}
.zlv-tbl td:last-child{text-align:right;font-weight:700;color:var(--sub);}
.zlv-tbl tr.is-cur td{background:var(--accent-soft);font-weight:800;}
.zlv-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:middle;}
.zlv-curtag{display:inline-block;margin-left:7px;font-size:10.5px;font-weight:800;color:#fff;background:var(--accent);border-radius:999px;padding:1px 8px;}

/* 짠에너지 소개 */
.zp-intro{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--border);border-radius:14px;padding:14px 16px;margin:0 0 12px;background:var(--accent-soft);}
.zp-intro__ic{font-size:22px;line-height:1.2;flex:0 0 auto;}
.zp-intro__tx{font-size:13px;line-height:1.65;color:var(--sub);}
.zp-intro__tx b{color:var(--accent);font-weight:800;}

/* 획득 가이드 */
.zp-guide{border:1px solid var(--border);border-radius:14px;padding:16px 18px;margin:0 0 16px;background:var(--surface);}
.zp-guide__hd{font-size:14px;font-weight:900;color:var(--text);margin-bottom:12px;}
.zp-guide__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;}
.zp-guide__item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--surface-2);border-radius:11px;}
.zp-guide__act{font-size:13px;font-weight:700;color:var(--text);}
.zp-guide__amt{font-size:16px;font-weight:900;}
.zp-guide__lim{font-size:11px;font-weight:500;color:var(--mute);}
.zp-guide__bonus{margin-left:5px;font-size:11px;font-weight:800;color:#e0820c;background:rgba(224,130,12,.12);border-radius:6px;padding:0 5px;}
.zp-guide__note{margin-top:12px;font-size:12.5px;line-height:1.6;color:var(--sub);}
.zp-guide__note b{color:var(--accent);font-weight:800;}
.zp-ledger__hd{font-size:13px;font-weight:800;color:var(--sub);margin:0 0 8px 2px;}
.zp-ledger .zpg-row{display:flex;align-items:center;gap:12px;padding:13px 18px;}
.zp-ledger .zpg-row+.zpg-row{border-top:1px solid var(--border);}
.zp-ledger .zpg-row:hover{background:var(--surface-2);}
.zpg-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.zpg-reason{font-size:14px;font-weight:700;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.zpg-date{font-size:11.5px;color:var(--mute);font-weight:500;}
.zpg-tag{display:inline-block;font-size:10.5px;font-weight:800;padding:1px 7px;border-radius:999px;margin-left:5px;vertical-align:middle;}
.zpg-tag.is-event{background:var(--accent-soft);color:var(--accent);}
.zpg-tag.is-exp{background:var(--surface-2);color:var(--sub);border:1px solid var(--border);}
.zpg-amt{flex:0 0 auto;font-size:15px;font-weight:900;min-width:78px;text-align:right;}
.zpg-amt.is-plus{color:#1c9e4b;}
.zpg-amt.is-minus{color:#dc2626;}
.zpg-bal{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--sub);min-width:78px;text-align:right;}
[data-theme="dark"] .zpg-amt.is-plus{color:#4ade80;}
[data-theme="dark"] .zpg-amt.is-minus{color:#f87171;}
@media (max-width:520px){.zpg-bal{display:none;}}
