/* 편먹기 디자인 개편 v2 (2026-09-21) — app.css 위에 덧입히는 테마. 모바일 퍼스트, min-width 쿼리만 사용.
   원칙: 본문 15px · 보조 12px 이상 · 터치 44px · 제목 Gowun Batang · 카드 16px · 편 색(A 동/브라운, B 금/오렌지) · 엠블럼은 emblem.js */
:root{--muted:#6b6d63;--orange-ink:#b84b27;--gold:#b8901c;--gold-bg:#fbf1d2;--stage:#1f2d22;--stage-2:#33473a;--stage-text:#f4f6ee;--stage-muted:#b9c6aa;--r-card:16px;--r-btn:12px}
body.community-app{font-size:15px;line-height:1.65}
body.community-app h1,body.community-app .page-heading h1,body.community-app .battle-intro h2,body.community-app .front-hero h2,body.community-app .nickname h2,body.community-app dialog h2,body.community-app .choice h2,body.community-app .rewards-intro h2,body.community-app .next-stage h2,body.community-app .score-battle h2,body.community-app .empty h3,body.community-app .rpg-title h3{font-family:'Gowun Batang','Noto Serif KR',Georgia,serif;letter-spacing:-.6px;font-weight:700}
body.community-app h1{font-size:clamp(24px,5vw,30px);line-height:1.3}
body.community-app .page-heading p{font-size:14px;color:var(--muted)}
/* ── 최소 글자 크기 12px ── */
body.community-app .hint, body.community-app #main .hint, body.community-app #rail .hint, body.community-app .top .hint,
body.community-app .muted, body.community-app #main .muted, body.community-app #rail .muted, body.community-app .top .muted,
body.community-app .post-meta, body.community-app #main .post-meta, body.community-app #rail .post-meta, body.community-app .top .post-meta,
body.community-app .date-label, body.community-app #main .date-label, body.community-app #rail .date-label, body.community-app .top .date-label,
body.community-app .pill, body.community-app #main .pill, body.community-app #rail .pill, body.community-app .top .pill,
body.community-app .eyebrow, body.community-app #main .eyebrow, body.community-app #rail .eyebrow, body.community-app .top .eyebrow,
body.community-app .season-label, body.community-app #main .season-label, body.community-app #rail .season-label, body.community-app .top .season-label,
body.community-app .nav-label, body.community-app #main .nav-label, body.community-app #rail .nav-label, body.community-app .top .nav-label,
body.community-app .beta, body.community-app #main .beta, body.community-app #rail .beta, body.community-app .top .beta,
body.community-app .lounge-meta, body.community-app #main .lounge-meta, body.community-app #rail .lounge-meta, body.community-app .top .lounge-meta,
body.community-app .rail-small, body.community-app #main .rail-small, body.community-app #rail .rail-small, body.community-app .top .rail-small,
body.community-app .copyright, body.community-app #main .copyright, body.community-app #rail .copyright, body.community-app .top .copyright,
body.community-app .example, body.community-app #main .example, body.community-app #rail .example, body.community-app .top .example,
body.community-app .footer-note, body.community-app #main .footer-note, body.community-app #rail .footer-note, body.community-app .top .footer-note,
body.community-app .footer-biz, body.community-app #main .footer-biz, body.community-app #rail .footer-biz, body.community-app .top .footer-biz,
body.community-app .footer-links a, body.community-app #main .footer-links a, body.community-app #rail .footer-links a, body.community-app .top .footer-links a,
body.community-app .section-head small, body.community-app #main .section-head small, body.community-app #rail .section-head small, body.community-app .top .section-head small,
body.community-app .section-head button, body.community-app #main .section-head button, body.community-app #rail .section-head button, body.community-app .top .section-head button,
body.community-app .rpg-badge small, body.community-app #main .rpg-badge small, body.community-app #rail .rpg-badge small, body.community-app .top .rpg-badge small,
body.community-app .member-level, body.community-app #main .member-level, body.community-app #rail .member-level, body.community-app .top .member-level,
body.community-app .nick .member-level, body.community-app #main .nick .member-level, body.community-app #rail .nick .member-level, body.community-app .top .nick .member-level,
body.community-app .tabs button, body.community-app #main .tabs button, body.community-app #rail .tabs button, body.community-app .top .tabs button,
body.community-app .post-foot, body.community-app #main .post-foot, body.community-app #rail .post-foot, body.community-app .top .post-foot,
body.community-app .post-foot a, body.community-app #main .post-foot a, body.community-app #rail .post-foot a, body.community-app .top .post-foot a,
body.community-app .post-foot button, body.community-app #main .post-foot button, body.community-app #rail .post-foot button, body.community-app .top .post-foot button,
body.community-app .live, body.community-app #main .live, body.community-app #rail .live, body.community-app .top .live,
body.community-app .season-chip, body.community-app #main .season-chip, body.community-app #rail .season-chip, body.community-app .top .season-chip,
body.community-app .side-note, body.community-app #main .side-note, body.community-app #rail .side-note, body.community-app .top .side-note,
body.community-app .side-note p, body.community-app #main .side-note p, body.community-app #rail .side-note p, body.community-app .top .side-note p,
body.community-app .side-note button, body.community-app #main .side-note button, body.community-app #rail .side-note button, body.community-app .top .side-note button,
body.community-app .hero-bottom, body.community-app #main .hero-bottom, body.community-app #rail .hero-bottom, body.community-app .top .hero-bottom,
body.community-app .hero-bottom button, body.community-app #main .hero-bottom button, body.community-app #rail .hero-bottom button, body.community-app .top .hero-bottom button,
body.community-app .rail-title span, body.community-app #main .rail-title span, body.community-app #rail .rail-title span, body.community-app .top .rail-title span,
body.community-app .top-links a, body.community-app #main .top-links a, body.community-app #rail .top-links a, body.community-app .top .top-links a,
body.community-app .profile, body.community-app #main .profile, body.community-app #rail .profile, body.community-app .top .profile,
body.community-app .profile span, body.community-app #main .profile span, body.community-app #rail .profile span, body.community-app .top .profile span,
body.community-app .mobile-nav span, body.community-app #main .mobile-nav span, body.community-app #rail .mobile-nav span, body.community-app .top .mobile-nav span,
body.community-app .comment small, body.community-app #main .comment small, body.community-app #rail .comment small, body.community-app .top .comment small,
body.community-app .starter-story small, body.community-app #main .starter-story small, body.community-app #rail .starter-story small, body.community-app .top .starter-story small,
body.community-app .starter-heading small, body.community-app #main .starter-heading small, body.community-app #rail .starter-heading small, body.community-app .top .starter-heading small,
body.community-app .starter-footer>span, body.community-app #main .starter-footer>span, body.community-app #rail .starter-footer>span, body.community-app .top .starter-footer>span,
body.community-app .invite-stats, body.community-app #main .invite-stats, body.community-app #rail .invite-stats, body.community-app .top .invite-stats,
body.community-app .reward-card small, body.community-app #main .reward-card small, body.community-app #rail .reward-card small, body.community-app .top .reward-card small,
body.community-app .reward-card p, body.community-app #main .reward-card p, body.community-app #rail .reward-card p, body.community-app .top .reward-card p,
body.community-app .score-note, body.community-app #main .score-note, body.community-app #rail .score-note, body.community-app .top .score-note,
body.community-app .rail-card button, body.community-app #main .rail-card button, body.community-app #rail .rail-card button, body.community-app .top .rail-card button,
body.community-app .attendance-grid .weekday, body.community-app #main .attendance-grid .weekday, body.community-app #rail .attendance-grid .weekday, body.community-app .top .attendance-grid .weekday,
body.community-app .attendance-day b, body.community-app #main .attendance-day b, body.community-app #rail .attendance-day b, body.community-app .top .attendance-day b,
body.community-app .attendance-stats, body.community-app #main .attendance-stats, body.community-app #rail .attendance-stats, body.community-app .top .attendance-stats,
body.community-app .claim-side>span, body.community-app #main .claim-side>span, body.community-app #rail .claim-side>span, body.community-app .top .claim-side>span,
body.community-app .post-head .post-meta, body.community-app #main .post-head .post-meta, body.community-app #rail .post-head .post-meta, body.community-app .top .post-head .post-meta,
body.community-app .lounge-row .pill, body.community-app #main .lounge-row .pill, body.community-app #rail .lounge-row .pill, body.community-app .top .lounge-row .pill,
body.community-app .form-footer, body.community-app #main .form-footer, body.community-app #rail .form-footer, body.community-app .top .form-footer,
body.community-app .form-footer span, body.community-app #main .form-footer span, body.community-app #rail .form-footer span, body.community-app .top .form-footer span,
body.community-app .video-entry small, body.community-app #main .video-entry small, body.community-app #rail .video-entry small, body.community-app .top .video-entry small,
body.community-app .nickname-edit small, body.community-app #main .nickname-edit small, body.community-app #rail .nickname-edit small, body.community-app .top .nickname-edit small,
body.community-app .reaction-people summary small, body.community-app #main .reaction-people summary small, body.community-app #rail .reaction-people summary small, body.community-app .top .reaction-people summary small,
body.community-app .reaction-people li small, body.community-app #main .reaction-people li small, body.community-app #rail .reaction-people li small, body.community-app .top .reaction-people li small,
body.community-app .profile-activity-row small, body.community-app #main .profile-activity-row small, body.community-app #rail .profile-activity-row small, body.community-app .top .profile-activity-row small,
body.community-app .rpg-card ul, body.community-app #main .rpg-card ul, body.community-app #rail .rpg-card ul, body.community-app .top .rpg-card ul,
body.community-app .rpg-card-team, body.community-app #main .rpg-card-team, body.community-app #rail .rpg-card-team, body.community-app .top .rpg-card-team,
body.community-app .rpg-stats span, body.community-app #main .rpg-stats span, body.community-app #rail .rpg-stats span, body.community-app .top .rpg-stats span,
body.community-app .rpg-title p, body.community-app #main .rpg-title p, body.community-app #rail .rpg-title p, body.community-app .top .rpg-title p,
body.community-app .rpg-how p, body.community-app #main .rpg-how p, body.community-app #rail .rpg-how p, body.community-app .top .rpg-how p,
body.community-app .season-status, body.community-app #main .season-status, body.community-app #rail .season-status, body.community-app .top .season-status,
body.community-app .season-status a, body.community-app #main .season-status a, body.community-app #rail .season-status a, body.community-app .top .season-status a,
body.community-app .season-status-label, body.community-app #main .season-status-label, body.community-app #rail .season-status-label, body.community-app .top .season-status-label,
body.community-app .money-versus span, body.community-app #main .money-versus span, body.community-app #rail .money-versus span, body.community-app .top .money-versus span,
body.community-app .money-versus small, body.community-app #main .money-versus small, body.community-app #rail .money-versus small, body.community-app .top .money-versus small,
body.community-app .battle-kicker, body.community-app #main .battle-kicker, body.community-app #rail .battle-kicker, body.community-app .top .battle-kicker,
body.community-app .front-kicker, body.community-app #main .front-kicker, body.community-app #rail .front-kicker, body.community-app .top .front-kicker,
body.community-app .quiz-progress span, body.community-app #main .quiz-progress span, body.community-app #rail .quiz-progress span, body.community-app .top .quiz-progress span,
body.community-app .recognition-card .recognition-number small, body.community-app #main .recognition-card .recognition-number small, body.community-app #rail .recognition-card .recognition-number small, body.community-app .top .recognition-card .recognition-number small,
body.community-app .score-battle>p, body.community-app #main .score-battle>p, body.community-app #rail .score-battle>p, body.community-app .top .score-battle>p,
body.community-app .score-shares span, body.community-app #main .score-shares span, body.community-app #rail .score-shares span, body.community-app .top .score-shares span,
body.community-app .fighter-side, body.community-app #main .fighter-side, body.community-app #rail .fighter-side, body.community-app .top .fighter-side,
body.community-app .standings-day small, body.community-app #main .standings-day small, body.community-app #rail .standings-day small, body.community-app .top .standings-day small,
body.community-app .standings-post small, body.community-app #main .standings-post small, body.community-app #rail .standings-post small, body.community-app .top .standings-post small,
body.community-app .standings-team small, body.community-app #main .standings-team small, body.community-app #rail .standings-team small, body.community-app .top .standings-team small,
body.community-app .next-metrics, body.community-app #main .next-metrics, body.community-app #rail .next-metrics, body.community-app .top .next-metrics,
body.community-app .hero-copy p, body.community-app #main .hero-copy p, body.community-app #rail .hero-copy p, body.community-app .top .hero-copy p,
body.community-app .date-label, body.community-app #main .date-label, body.community-app #rail .date-label, body.community-app .top .date-label{font-size:12px}

body.community-app #main .post-body, body.community-app .post-body{font-size:15px;line-height:1.85;color:#3f4239}
body.community-app #main .post h3, body.community-app .post h3{font-size:18px;line-height:1.45}
body.community-app #main .lounge-row h3, body.community-app #lounge-results .lounge-row h3{font-size:17px;line-height:1.45}
body.community-app #main .lounge-row p, body.community-app #lounge-results .lounge-row-copy>p{font-size:14px;color:#5f6157;line-height:1.7}
body.community-app .info-card p, body.community-app #main .info-card p{font-size:14px;line-height:1.7}
body.community-app .info-card h3{font-size:17px}
body.community-app .section-head h2{font-size:17px}
body.community-app .empty p{font-size:14px}
body.community-app #main .starter-story p{font-size:14px}
body.community-app #main .comment p{font-size:15px;line-height:1.7}
/* ── 색 · 모서리 · 터치 ── */
body.community-app .post, body.community-app .info-card, body.community-app .rail-card, body.community-app #lounge-results .lounge-row, body.community-app .lounge-row, body.community-app .starter-story, body.community-app .reward-card, body.community-app .empty, body.community-app .banner, body.community-app .attendance-card{border-radius:var(--r-card)}
body.community-app .primary, body.community-app #main .primary, body.community-app .secondary, body.community-app #main .secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--r-btn);font-size:15px;font-weight:700;line-height:1.3}
body.community-app .primary{background:var(--green);color:#fff}
body.community-app .secondary{background:#eeefe8;color:#3d5943}
body.community-app .kakao-login{min-height:48px;border-radius:14px;font-size:15px}
body.community-app .tabs{gap:4px;padding:4px;background:#ecebe4;border-radius:999px;border:0;margin:16px 0 12px;overflow-x:auto;scrollbar-width:none}
body.community-app .tabs button, body.community-app #main .tabs button, body.community-app #main .lounge-tabs button{min-height:40px;padding:0 14px;border-radius:999px;font-size:14px;color:#5f6157;white-space:nowrap;border:0}
body.community-app .tabs button.active, body.community-app #main .tabs button.active, body.community-app #main .lounge-tabs button.active{background:#fff;color:#292c26;font-weight:700;border-bottom:0;box-shadow:0 1px 2px #00000014}
body.community-app .tabs button span{margin-left:4px;color:#8a8d80;font-weight:700}
body.community-app .tabs button.active span{color:#3d5943}
body.community-app .pill{padding:4px 10px;border-radius:999px;font-weight:700}
body.community-app .team-a, body.community-app .claim-side-a{color:var(--brown)!important;background:#f2eade!important}
body.community-app .team-b, body.community-app .claim-side-b{color:var(--orange-ink)!important;background:#fbede5!important}
body.community-app .judge-row{gap:8px}
body.community-app #main .judge-row button, body.community-app .judge-row button{min-height:48px;border-radius:var(--r-btn);font-size:14px;font-weight:600}
body.community-app .judge-row button.selected{background:var(--green);border-color:var(--green);color:#fff}
body.community-app .post-foot{flex-wrap:wrap;gap:6px 12px}
body.community-app #main .post-foot a, body.community-app #main .post-foot button, body.community-app .post-foot a, body.community-app .post-foot button{display:inline-flex;align-items:center;min-height:40px;padding:0 6px;font-weight:600}
body.community-app .avatar{background:#f2eade;color:var(--brown);font-size:18px}
body.community-app .avatar.team-b{background:#fbede5;color:var(--orange-ink)}
body.community-app .nick .member-level{padding:1px 6px;border-radius:4px;background:#f2eade;color:var(--brown);font-weight:800;margin-left:4px}
body.community-app :focus-visible{outline:3px solid #dd8d43;outline-offset:3px}
/* ── 상단 · 시즌 띠 · 하단 탭 ── */
body.community-app .top{background:#fffefb}
body.community-app .top .profile{min-height:44px;padding:0 8px 0 12px;border-radius:999px;background:#f2eade;color:var(--brown);font-weight:700;gap:8px}
body.community-app .top .profile .avatar.small{width:30px;height:30px;font-size:14px;background:var(--brown);color:#fff}
body.community-app .season-status{background:#e9eddf;color:#3d5943;font-weight:700}
body.community-app .mobile-nav{gap:4px;padding:8px 10px max(10px,env(safe-area-inset-bottom));background:#fffefbf2;backdrop-filter:blur(8px)}
body.community-app .mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:56px;min-width:0;border-radius:12px;color:#6b6d63;font-size:12px;font-weight:500;line-height:1}
body.community-app .mobile-nav button .lucide{width:22px;height:22px}
body.community-app .mobile-nav .active{background:#e8eddf;color:var(--green);font-weight:700}
body.community-app #navigation button{min-height:44px;font-size:14px;border-radius:10px}
body.community-app #navigation button>span:first-child{font-size:16px}
/* ── 오늘의 전선(광장 히어로) ── */
body.community-app .money-hero.front-hero, body.community-app .battle-hero.front-hero{display:flex;flex-direction:column;gap:16px;padding:22px 18px 18px;border-radius:22px;background:radial-gradient(ellipse at 50% 0%,var(--stage-2) 0%,var(--stage) 60%);color:var(--stage-text);border:0;box-shadow:0 14px 30px -18px var(--stage);text-align:left}
body.community-app .front-hero .front-kicker{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:800;letter-spacing:1.2px;color:var(--stage-muted)}
body.community-app .front-hero .front-kicker span{display:inline-flex;align-items:center;gap:6px;min-width:0}
body.community-app .front-hero .live-dot{width:8px;height:8px;margin:0;background:#8fd18f;box-shadow:0 0 0 3px #8fd18f33}
body.community-app .front-hero h2{margin:0;font-size:clamp(21px,5.2vw,26px);line-height:1.35;color:#fff;text-wrap:pretty}
body.community-app .front-versus{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}
body.community-app .front-side{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:0;text-align:center}
body.community-app .front-side strong{font-size:14px;line-height:1.35;max-width:100%;overflow-wrap:anywhere}
body.community-app .front-a strong{color:#f1d98a}
body.community-app .front-b strong{color:#f4b98f}
body.community-app .front-num{display:inline-flex;align-items:baseline;gap:4px;font-size:30px;font-weight:900;letter-spacing:-1px;line-height:1;color:#fff}
body.community-app .front-num small{font-size:12px;font-weight:700;color:var(--stage-muted)}
body.community-app .front-sub{font-size:13px;color:var(--stage-muted)}
body.community-app .front-vs{display:flex;flex-direction:column;align-items:center;gap:6px}
body.community-app .front-vs em{font-family:Georgia,serif;font-style:italic;font-size:22px;color:#8a9a82}
body.community-app .front-lead{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap;color:#fff;background:#8a6a10}
body.community-app .front-lead.b{background:#dd6b43}
body.community-app .front-lead.a{background:#a98a5a}
body.community-app .front-bar{display:flex;height:14px;border-radius:999px;overflow:hidden;background:#0f1a13}
body.community-app .front-bar span:first-child{background:linear-gradient(90deg,#a98a5a,#f1d98a);transition:width .3s}
body.community-app .front-bar span:last-child{flex:1 1 auto;background:linear-gradient(90deg,#dd6b43,#f4b98f)}
body.community-app .front-bar.is-empty span{background:#2d3d31}
body.community-app .front-hero .front-note{margin:0;font-size:12px;color:var(--stage-muted)}
body.community-app .front-hero .battle-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.community-app .front-hero .battle-actions button{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;min-height:56px;min-width:0;padding:10px 14px;border-radius:14px;background:#fff;color:#292c26;text-align:left;border:0}
body.community-app .front-hero .battle-actions button strong{font-size:14px;line-height:1.35;overflow-wrap:anywhere}
body.community-app .front-hero .battle-actions button small{font-size:12px;color:#6b6d63}
body.community-app .front-hero .battle-actions:not(.joined) button:first-child{background:#f2eade;color:var(--brown)}
body.community-app .front-hero .battle-actions:not(.joined) button:last-child{background:#fbede5;color:var(--orange-ink)}
body.community-app .front-hero .primary{background:#fff;color:var(--green)}
body.community-app .front-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px;color:var(--stage-muted)}
body.community-app .front-foot a{display:inline-flex;align-items:center;gap:6px;min-height:36px;color:#f1d98a;font-weight:700;text-decoration:none}
body.community-app .board-topic>summary{min-height:44px}
/* ── 오늘의 임무 ── */
body.community-app .quest-card{display:flex;flex-direction:column;gap:10px}
body.community-app .quest-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
body.community-app .quest-head h2{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:800;font-family:'Noto Sans KR',sans-serif}
body.community-app .quest-head span{font-size:12px;font-weight:700;color:var(--green)}
body.community-app .quest-card ul{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}
body.community-app .quest-card li{display:flex;align-items:center;gap:12px;min-height:48px;padding:4px 12px;border-radius:12px;background:#fff;border:1px dashed #d8dfcc}
body.community-app .quest-card li.done{background:#f0f1e9;border:1px solid #f0f1e9}
body.community-app .quest-mark{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:2px solid #c9d2bd;flex-shrink:0}
body.community-app .quest-card li.done .quest-mark{background:var(--green);border-color:var(--green);color:#fff}
body.community-app .quest-label{flex:1 1 auto;min-width:0;font-size:14px;font-weight:700}
body.community-app .quest-card li.done .quest-label{color:#6b6d63;text-decoration:line-through;font-weight:500}
body.community-app .quest-xp{font-size:12px;font-weight:700;color:#6b6d63;white-space:nowrap}
body.community-app .quest-go{min-height:40px;padding:0 12px;border-radius:999px;background:var(--green);color:#fff;font-size:12px;font-weight:800;white-space:nowrap}
/* ── 훈장 도감 ── */
body.community-app .badges-head{display:flex;flex-direction:column;gap:10px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card)}
body.community-app .badges-count{font-size:20px;font-weight:900;letter-spacing:-.4px}
body.community-app .badges-count span{font-size:14px;color:#8a8d80;font-weight:700;margin-left:6px}
body.community-app .badges-head p{margin:2px 0 0;font-size:13px;color:var(--muted)}
body.community-app .badges-meter{display:flex;height:8px;border-radius:999px;overflow:hidden;background:#e6e6df}
body.community-app .badges-meter span{background:linear-gradient(90deg,#3d5943,#6d9567)}
body.community-app .badge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.community-app .badge-card{display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r-card)}
body.community-app .badge-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;color:var(--muted);font-weight:600}
body.community-app .badge-top span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.community-app .badge-state{flex-shrink:0;padding:2px 8px;border-radius:999px;background:#f2f1ec;color:#5f6157;font-weight:700}
body.community-app .badge-card.earned .badge-state{background:#e8eddf;color:var(--green)}
body.community-app .badge-stage{position:relative;display:grid;place-items:center;height:132px;border-radius:12px;background:radial-gradient(ellipse at 50% 30%,#fbfbf7 0%,#eeeee7 100%)}
body.community-app .badge-rare{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:999px;background:var(--gold-bg);color:#8a6a10;font-size:12px;font-weight:800}
body.community-app .badge-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
body.community-app .badge-code{font-size:12px;font-weight:800;letter-spacing:1.2px;color:#8a8d80}
body.community-app .badge-copy strong{font-size:16px;letter-spacing:-.3px;line-height:1.3;overflow-wrap:anywhere}
body.community-app .badge-copy p{margin:0;font-size:12px;color:var(--muted);line-height:1.5}
body.community-app .badge-card.locked .badge-copy strong{color:#5f6157}
body.community-app .badge-progress{display:flex;flex-direction:column;gap:6px;padding-top:8px;border-top:1px solid #f1f0eb}
body.community-app .badge-progress>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--muted)}
body.community-app .badge-progress b{color:#3f4239;white-space:nowrap}
body.community-app .badge-bar{display:flex;height:5px;border-radius:999px;overflow:hidden;background:#e6e6df}
body.community-app .badge-bar span{background:#8a8d80}
body.community-app .badge-card.earned .badge-bar span{background:var(--green)}
body.community-app .badge-card .secondary{min-height:40px;padding:0 10px;font-size:13px;border:1px solid #d8dfcc;background:#fff}
body.community-app .badge-card.earned .secondary{background:var(--green);color:#fff;border-color:var(--green)}
body.community-app .team-emblems>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}
body.community-app .team-emblem{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:12px 6px;border-radius:12px;text-align:center}
body.community-app .team-emblem.a{background:#f2eade}
body.community-app .team-emblem.b{background:#fbede5}
body.community-app .team-emblem strong{font-size:13px;overflow-wrap:anywhere}
body.community-app .team-emblem.a strong{color:var(--brown)}
body.community-app .team-emblem.b strong{color:var(--orange-ink)}
body.community-app .team-emblem span{font-size:12px;color:#6b5a4d}
body.community-app .team-emblem em{font-style:normal;font-size:12px;font-weight:800;padding:2px 8px;border-radius:999px;background:#292c26;color:#f1d98a}
/* ── 캐릭터 시트 ── */
body.community-app .rpg-sheet{background:radial-gradient(ellipse at 20% 0%,#f7ecd9 0%,#f2eade 60%);border-color:#e1d4c4}
body.community-app .rpg-head{display:flex;align-items:center;gap:16px}
body.community-app .rpg-ring{position:relative;width:96px;height:96px;flex-shrink:0;display:grid;place-items:center}
body.community-app .rpg-ring svg{position:absolute;inset:0;width:96px;height:96px;transform:rotate(-90deg)}
body.community-app .rpg-ring circle{fill:none;stroke:#e1d4c4;stroke-width:6}
body.community-app .rpg-ring circle+circle{stroke:var(--brown);stroke-linecap:round;transition:stroke-dashoffset .4s}
body.community-app .rpg-ring .rpg-level{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#9a7358 0%,#72513c 60%,#4e3628 100%);color:#fff;box-shadow:inset 0 3px 6px #ffffff40;margin:0;padding:0}
body.community-app .rpg-ring .rpg-level small{font-size:12px;letter-spacing:1px;opacity:.85;color:#fff}
body.community-app .rpg-ring .rpg-level b{font-size:26px;line-height:1;font-weight:900}
body.community-app .rpg-title{min-width:0;flex:1 1 auto}
body.community-app .rpg-title h3{margin:2px 0 4px;font-size:22px;color:#3f4239}
body.community-app .rpg-title p{margin:0 0 6px;font-size:13px;color:#6b5a4d}
body.community-app .rpg-bar{height:10px;border-radius:999px;background:#e6dccf;overflow:hidden}
body.community-app .rpg-bar i{display:block;height:100%;background:linear-gradient(90deg,#72513c,#b08968);border-radius:999px}
body.community-app .rpg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0}
body.community-app .rpg-stats div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px;background:#fff;border-radius:14px}
body.community-app .rpg-stats strong{font-size:20px;color:var(--brown);letter-spacing:-.5px}
body.community-app .rpg-badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.community-app .rpg-badge{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding:10px 6px;background:#fff;border-radius:12px;text-align:center;font-size:12px;font-weight:700;line-height:1.3;border:1px solid #ece4d8}
body.community-app .rpg-badge.rare{border-color:#ecd68a;background:#fffaf0}
body.community-app .rpg-badge>span{display:flex;flex-direction:column;min-width:0;max-width:100%}
body.community-app .rpg-badge>span>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
body.community-app .rpg-badge small{color:#8a8d80;font-weight:500}
body.community-app .rpg-sheet .badges-link{align-self:flex-start;margin-top:10px}
body.community-app .rpg-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.community-app .rpg-card{min-width:0;border-radius:14px}
body.community-app .rpg-card-badges{display:flex;gap:4px;flex-wrap:wrap}
body.community-app .rpg-card-badges .emblem{width:26px;height:26px}
/* ── 편 선택 ── */
body.community-app .choice{border-radius:20px;padding:20px 14px}
body.community-app .choice.is-my-team{border-width:2px;border-color:var(--brown)}
body.community-app .choice.b.is-my-team{border-color:var(--orange-ink)}
body.community-app .choice p{font-size:13px}
/* ── 프로필 다이얼로그 ── */
body.community-app #profile-dialog .rpg-badges{grid-template-columns:repeat(3,minmax(0,1fr))}
body.community-app .emblem{display:block;flex-shrink:0;max-width:100%}
/* ── 넓은 화면 ── */
@media(min-width:768px){
 body.community-app .badge-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.community-app .rpg-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
 body.community-app .rpg-badges{grid-template-columns:repeat(4,minmax(0,1fr))}
 body.community-app .front-hero{padding:26px 26px 22px}
 body.community-app .front-side strong{font-size:16px}
 body.community-app .front-num{font-size:36px}
 body.community-app .badges-head{flex-direction:row;align-items:flex-end;justify-content:space-between}
 body.community-app .badges-meter{width:100%;max-width:260px}
}
@media(min-width:1024px){
 body.community-app .rpg-badges{grid-template-columns:repeat(6,minmax(0,1fr))}
 body.community-app .badge-grid{gap:14px}
}
@media(prefers-reduced-motion:reduce){body.community-app .front-bar span,body.community-app .rpg-ring circle{transition:none}}
/* ── 검사도구 대응: 사이드바 아이콘 상자 · 숨김 라벨 · 두 줄 말줄임 ── */
body.community-app #navigation button>span:first-child{display:grid;place-items:center;width:20px;height:20px;line-height:1;overflow:visible}
body.community-app #navigation button .lucide{width:18px;height:18px}
body.community-app .sr-only, body.community-app #main .sr-only{white-space:nowrap;text-overflow:ellipsis}
body.community-app #lounge-results .lounge-row-copy>p, body.community-app #main .lounge-row p{text-overflow:ellipsis}
body.community-app .tabs button, body.community-app #main .tabs button, body.community-app #main .lounge-tabs button{min-height:44px}
body.community-app .front-foot a{min-height:44px;padding:0 6px}
/* ── 검사도구 2차: 터치 44px · 헤더 별명 · 숫자 줄높이 ── */
body.community-app .season-status .my-team-badge{display:inline-flex;align-items:center;min-height:44px;padding:0 10px;border-radius:999px}
body.community-app .top .profile{min-width:0;flex:0 1 auto}
body.community-app .top #header-name{display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.community-app .nick{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}
body.community-app .nick .member-level{flex-shrink:0}
body.community-app .quest-go{min-height:44px}
body.community-app .front-num{align-items:center;line-height:1.15}
body.community-app .front-num small{line-height:1}
body.community-app .rpg-ring .rpg-level b{line-height:1.2}
body.community-app .board-pagination button, body.community-app .list-pagination button, body.community-app .profile-activity-pages button{min-width:44px;min-height:44px}
/* ── 검사도구 3차: 별명 말줄임 · 숫자 줄높이 ── */
body.community-app .nick{overflow:visible;text-overflow:clip}
body.community-app .nick .nick-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.community-app .top{gap:12px}
body.community-app .top .brand{flex-shrink:0}
body.community-app .front-num, body.community-app .front-num small{line-height:1.3}
body.community-app .rpg-ring .rpg-level b{line-height:1.45}
/* ── 검사도구 4차: 글 상세 터치 타깃 ── */
body.community-app #main .post-foot a, body.community-app #main .post-foot button, body.community-app .post-foot a, body.community-app .post-foot button{min-height:44px}
body.community-app .post h3 a, body.community-app #main .post h3 a{display:inline-block;min-height:44px;padding:8px 0;margin:-8px 0;box-sizing:border-box}
body.community-app .comment-reply-button, body.community-app .comment-owner-actions button, body.community-app .reply-to{display:inline-flex;align-items:center;min-height:44px}
body.community-app .post h3, body.community-app #main .post h3{display:flex;align-items:center;min-height:44px}
body.community-app .post h3 a, body.community-app #main .post h3 a{display:flex;align-items:center;min-height:44px;padding:0;margin:0;min-width:0}
/* ══ 사용자 페이지 전체 재스타일(2026-09-21) ══ */
/* 페이지 머리 */
body.community-app .page-heading{align-items:flex-start;gap:12px;margin:4px 0 18px}
body.community-app .page-heading .date-label{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#e9eddf;color:#3d5943;font-weight:700;white-space:nowrap}
body.community-app .page-heading .date-label::before{content:"";width:8px;height:8px;border-radius:50%;background:#57754c}
body.community-app .lounge-heading{display:flex;align-items:center;gap:14px;justify-content:flex-start}
body.community-app .lounge-heading>div{min-width:0}
body.community-app .lounge-heading .eyebrow{color:#9a7358}
body.community-app .lounge-heading.b .eyebrow{color:#c2734f}
body.community-app .lounge-heading h1{color:var(--brown)}
body.community-app .lounge-heading.b h1{color:var(--orange-ink)}
/* 글 카드 · 목록 행 */
body.community-app .post{padding:18px 18px 14px}
body.community-app .post-head{gap:10px}
body.community-app .post-head .avatar{width:34px;height:34px;background:transparent;display:grid;place-items:center}
body.community-app .post-head .avatar.free{background:#f2f1ec;color:#5f6157;border-radius:50%}
body.community-app .post-head .author{font-size:14px}
body.community-app .post-meta{margin-top:2px}
body.community-app .claim-side{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700}
body.community-app .claim-side>b{font-weight:800}
body.community-app #lounge-results .lounge-row, body.community-app .lounge-row{display:flex;gap:12px;padding:16px 16px 14px;background:#fff;border:1px solid var(--line);margin-bottom:12px;text-decoration:none;color:inherit}
body.community-app #lounge-results .lounge-row:hover{border-color:#cfd6c4;box-shadow:0 6px 18px -14px #1f2d22}
body.community-app .lounge-row-copy{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1 1 auto}
body.community-app .lounge-row-copy>.claim-side, body.community-app .lounge-row-copy>.pill{align-self:flex-start}
body.community-app #lounge-results .lounge-meta, body.community-app .lounge-meta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding-top:10px;border-top:1px solid #f1f0eb;color:var(--muted)}
body.community-app .lounge-meta>span{min-width:0;overflow-wrap:anywhere}
body.community-app #lounge-results .lounge-thumb{width:84px;height:84px;border-radius:12px;object-fit:cover;flex-shrink:0}
body.community-app .lounge-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
body.community-app .lounge-actions>.hint{margin:0;min-width:0}
body.community-app #main .lounge-search{display:flex;gap:8px;align-items:center;min-height:48px;padding:0 6px 0 14px;background:#fff;border:1px solid var(--line);border-radius:14px}
body.community-app #main .lounge-search input{flex:1 1 auto;min-width:0;border:0;background:transparent;padding:10px 0;font-size:15px}
body.community-app #main .lounge-search button[type=submit]{min-height:40px;padding:0 14px;border-radius:10px}
body.community-app #main .lounge-search button[aria-label]{width:40px;height:40px;border-radius:10px}
body.community-app #main .lounge-sort{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;color:var(--muted);font-size:13px}
body.community-app #main .lounge-sort>button{min-height:40px;padding:0 12px;font-size:13px}
body.community-app #main .lounge-sort select{min-height:40px;border-radius:10px;padding:0 10px;font-size:13px}
body.community-app .lounge-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;margin:0 0 12px;background:#f2eade;border:1px solid #e1d4c4;border-radius:14px;color:#6b5a4d;font-size:14px;text-decoration:none}
body.community-app .lounge-notice b{display:inline-flex;align-items:center;gap:4px;color:var(--brown);white-space:nowrap}
body.community-app .lounge-notice span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.community-app .board-extras{border-radius:var(--r-card);background:#fff;border:1px solid var(--line);margin:0 0 12px}
body.community-app .board-extras>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 16px;font-weight:700;font-size:14px;cursor:pointer}
body.community-app .board-topic{background:transparent;border:0}
body.community-app .board-topic>summary{background:#fff;border:1px solid var(--line);border-radius:var(--r-card)}
body.community-app .board-topic[open]>summary{margin-bottom:10px}
body.community-app .starter-story{padding:18px;background:#fffefb}
body.community-app .starter-story h3{font-size:16px;margin:8px 0 6px}
body.community-app .starter-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:12px}
/* 판정 상자 */
body.community-app .judge-box{display:flex;flex-direction:column;gap:10px;margin-top:16px;padding:14px 16px;background:#e9eddf;border:1px solid #e0e5d5;border-radius:16px}
body.community-app .judge-box-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
body.community-app .judge-box h4{margin:0;font-size:15px;font-weight:800;color:#2f4634}
body.community-app .judge-box-head span{font-size:12px;color:#56624b;white-space:nowrap}
body.community-app .judge-box .judge-row{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
body.community-app .judge-box .judge-row button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:48px;padding:6px 4px;background:#fff;border:1px solid #d6dfc7;color:#48603b;border-radius:12px}
body.community-app .judge-box .judge-row button.selected{background:var(--green);border-color:var(--green);color:#fff}
body.community-app .judge-box .hint{margin:0;color:#56624b}
/* 댓글 */
body.community-app #main .comment{padding:14px 16px;background:#fff;border:1px solid var(--line);border-radius:14px;margin:0 0 10px}
body.community-app #main .comment-reply{margin-left:22px;background:#fffefb}
body.community-app #main .comment>b{display:inline-flex;align-items:center;gap:6px;font-size:14px}
body.community-app #main .comment>small{margin-left:8px;color:var(--muted)}
body.community-app #main .comment p{margin:8px 0}
body.community-app #main .comment-reply-button, body.community-app #main .comment-owner-actions button{min-height:40px;padding:0 10px;border-radius:8px;color:#3d5943;font-weight:700;font-size:13px}
body.community-app #comment-body, body.community-app #main textarea{border-radius:14px;padding:14px;font-size:15px;line-height:1.7;border:1px solid #dedfd4}
body.community-app #main input:not([type=checkbox]):not([type=radio]), body.community-app #main select{min-height:48px;border-radius:12px;padding:0 14px;font-size:15px;border:1px solid #dedfd4}
body.community-app .form-label{font-size:14px;font-weight:700;margin:18px 0 8px}
/* 편 선택 */
body.community-app .choice-grid{display:grid;grid-template-columns:1fr;gap:12px}
body.community-app .choice{display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:left;padding:16px;border-radius:20px;border:2px solid #e1d4c4;background:#f2eade}
body.community-app .choice.b{border-color:#efd1bd;background:#fbede5}
body.community-app .choice-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
body.community-app .choice .eyebrow{color:#9a7358}
body.community-app .choice.b .eyebrow{color:#c2734f}
body.community-app .choice h2{font-size:22px;margin:0;color:var(--brown)}
body.community-app .choice.b h2{color:var(--orange-ink)}
body.community-app .choice p{margin:0;font-size:14px;color:#6b5a4d}
body.community-app .choice.b p{color:#7a5442}
body.community-app .choice b{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:4px;padding:0 16px;border-radius:12px;background:var(--brown);color:#fff;font-size:14px}
body.community-app .choice.b b{background:var(--orange-ink)}
body.community-app .choice:disabled{opacity:.9}
body.community-app .choice.is-my-team{border-color:var(--brown);box-shadow:0 8px 24px -16px var(--brown)}
body.community-app .choice.is-my-team.b{border-color:var(--orange-ink)}
body.community-app .money-choice{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:#ffffffa6}
body.community-app .money-choice>img{width:88px;height:56px;object-fit:cover;border-radius:10px}
body.community-app .money-choice>span{font-size:26px;font-weight:900;letter-spacing:-1px;color:#3f4239}
body.community-app .join-steps ol{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;counter-reset:step}
body.community-app .join-steps li{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:#3f4239;line-height:1.6}
body.community-app .join-steps li::before{counter-increment:step;content:counter(step,decimal-leading-zero);flex-shrink:0;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e9eddf;color:#3d5943;font-size:12px;font-weight:800}
/* 글쓰기 */
body.community-app #post-form{display:flex;flex-direction:column;gap:4px}
body.community-app .editor-tools{display:flex;gap:4px;flex-wrap:wrap;padding:6px;background:#fbfaf6;border:1px solid var(--line);border-radius:12px 12px 0 0;border-bottom:0}
body.community-app .editor-tools button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:10px;font-size:13px;color:#3f4239}
body.community-app .editor-tools button:hover{background:#eeefe8}
body.community-app #post-form textarea{border-radius:0 0 14px 14px;min-height:240px}
body.community-app .writing-guide{margin:10px 0 0;padding:12px 14px;border-radius:12px;background:#f0f1e9;color:#56624b;font-size:13px}
body.community-app .writing-guide:empty{display:none}
body.community-app #main .form-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}
body.community-app #main .form-footer>div{display:flex;gap:8px}
/* 우리 편 한마디(채팅) */
body.community-app .team-chat{padding:0;overflow:hidden}
body.community-app .chat-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border-bottom:1px solid #f1f0eb}
body.community-app .chat-head h3{margin:0;font-size:16px}
body.community-app .chat-head small{display:block;font-size:12px;color:var(--muted);font-weight:500;margin-top:2px}
body.community-app .chat-list{max-height:320px;overflow:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;background:#fbfaf6}
body.community-app .chat-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:end;max-width:88%}
body.community-app .chat-line.mine{margin-left:auto;text-align:right}
body.community-app .chat-line .chat-nick{grid-column:1/-1;min-height:28px;padding:0;font-size:12px;color:var(--muted)}
body.community-app .chat-line .chat-text{padding:10px 14px;border-radius:4px 16px 16px 16px;background:#f2eade;color:#3f4239;font-size:15px;line-height:1.55;overflow-wrap:anywhere}
body.community-app .chat-line.mine .chat-text{border-radius:16px 4px 16px 16px;background:var(--green);color:#fff}
body.community-app .chat-line time{font-size:12px;color:#8a8d80}
body.community-app .chat-line>button[data-chat-report]{grid-column:1/-1;justify-self:start;min-height:32px;padding:0 6px;font-size:12px;color:#8a8d80}
body.community-app .chat-compose{display:flex;gap:8px;padding:10px 12px 0}
body.community-app .chat-compose input{flex:1 1 auto;min-width:0}
body.community-app #chat-emoji-toggle{width:46px;min-width:46px;padding:0;border-radius:12px}
body.community-app .chat-emojis{display:flex;flex-wrap:wrap;gap:4px;padding:8px 12px 0}
body.community-app .chat-emojis button{width:44px;height:44px;border-radius:10px;font-size:20px}
body.community-app #chat-form .hint{padding:8px 16px 12px;margin:0}
body.community-app .chat-presence{padding:0 16px 12px}
body.community-app .chat-presence summary{min-height:44px;display:flex;align-items:center;font-size:13px;color:#3d5943;font-weight:700}
body.community-app .presence-member{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px;width:100%;padding:0 4px;font-size:14px}
body.community-app .participants-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px}
body.community-app .participants-entry p{margin:2px 0 0;font-size:13px;color:var(--muted)}
/* 설득 현황판 */
body.community-app .score-battle{padding:22px 18px;border-radius:22px;background:radial-gradient(ellipse at 50% 0%,var(--stage-2) 0%,var(--stage) 60%);color:var(--stage-text);margin-bottom:16px}
body.community-app .score-battle-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;font-weight:800;letter-spacing:1.2px;color:var(--stage-muted)}
body.community-app .score-battle-head .secondary{min-height:36px;padding:0 10px;font-size:12px;background:#ffffff1f;color:#fff}
body.community-app .score-battle h2{margin:12px 0 16px;font-size:clamp(20px,5vw,24px);color:#fff;text-align:center}
body.community-app .score-fighters{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}
body.community-app .fighter-a, body.community-app .fighter-b{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;text-align:center}
body.community-app .fighter-side{font-size:12px;letter-spacing:1px;color:var(--stage-muted);font-weight:800}
body.community-app .score-fighters h3{margin:0;font-size:14px;color:#f1d98a;overflow-wrap:anywhere}
body.community-app .fighter-b h3{color:#f4b98f}
body.community-app .score-fighters strong{font-size:32px;font-weight:900;letter-spacing:-1px;line-height:1.2;color:#fff}
body.community-app .score-fighters strong small{font-size:12px;color:var(--stage-muted);margin-left:2px}
body.community-app .score-vs{font-family:Georgia,serif;font-style:italic;font-size:22px;color:#8a9a82}
body.community-app .score-tug{position:relative;display:flex;height:14px;border-radius:999px;overflow:hidden;background:#0f1a13;margin:16px 0 8px}
body.community-app .score-tug-a{width:var(--a-share,50%);background:linear-gradient(90deg,#a98a5a,#f1d98a)}
body.community-app .score-tug-b{flex:1 1 auto;background:linear-gradient(90deg,#dd6b43,#f4b98f)}
body.community-app .score-midline{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#ffffff55}
body.community-app .score-shares{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;color:var(--stage-muted)}
body.community-app .score-shares b{font-size:16px;color:#fff}
body.community-app .score-battle>p{margin:10px 0 0;font-size:12px;color:var(--stage-muted)}
body.community-app .standings-teams{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px}
body.community-app .standings-team{border-top:4px solid var(--brown)}
body.community-app .standings-b{border-top-color:var(--orange-ink)}
body.community-app .standings-team h3{display:flex;align-items:center;gap:8px;font-size:16px}
body.community-app .standings-team>strong{display:block;font-size:34px;font-weight:900;letter-spacing:-1px;color:var(--brown);margin:6px 0 10px}
body.community-app .standings-b>strong{color:var(--orange-ink)}
body.community-app .standings-team dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0}
body.community-app .standings-team dl>div{padding:10px 12px;border-radius:12px;background:#f7f6f2}
body.community-app .standings-team dt{font-size:12px;color:var(--muted)}
body.community-app .standings-team dd{margin:2px 0 0;font-size:15px;font-weight:700}
body.community-app .standings-post{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 0;border-bottom:1px solid #f1f0eb;text-decoration:none;color:inherit}
body.community-app .standings-post>span:first-child{font-family:Georgia,serif;font-size:20px;font-weight:700;color:#3d5943;width:24px;flex-shrink:0}
body.community-app .standings-post>div{min-width:0;flex:1 1 auto}
body.community-app .standings-post b{display:block;font-size:15px;line-height:1.4}
body.community-app .standings-post strong{white-space:nowrap;color:#3d5943}
body.community-app .standings-wins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
body.community-app .standings-wins>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border-radius:12px;background:#f7f6f2;text-align:center}
body.community-app .standings-wins span{font-size:12px;color:var(--muted)}
body.community-app .standings-wins b{font-size:15px}
body.community-app .standings-day{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:center;min-height:48px;padding:8px 0;border-bottom:1px solid #f1f0eb;font-size:13px}
body.community-app .standings-day time{display:flex;flex-direction:column;font-weight:700}
body.community-app .standings-day time small{font-weight:500;color:var(--muted)}
body.community-app .standings-day>span{display:flex;flex-direction:column;min-width:0}
body.community-app .standings-day>span small{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.community-app .day-result{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap;background:#f2f1ec;color:#5f6157}
body.community-app .day-result.team-a{background:#f2eade;color:var(--brown)}
body.community-app .day-result.team-b{background:#fbede5;color:var(--orange-ink)}
/* 시상 · 소개 무대 */
body.community-app .rewards-intro, body.community-app .next-stage{padding:24px 20px;border-radius:22px;background:#e9eddf;border:1px solid #e0e5d5;text-align:left}
body.community-app .rewards-intro h2, body.community-app .next-stage h2{font-size:clamp(22px,5vw,28px);margin:6px 0 10px;color:#2f4634}
body.community-app .rewards-intro p, body.community-app .next-stage>p{font-size:14px;color:#56624b;line-height:1.7}
body.community-app .reward-grid{display:grid;grid-template-columns:1fr;gap:12px;margin:14px 0}
body.community-app .reward-card{display:flex;flex-direction:column;gap:8px;padding:18px;background:#fff;border:1px solid var(--line)}
body.community-app .reward-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--gold-bg);color:#8a6a10}
body.community-app .reward-card h3{margin:0;font-size:17px}
body.community-app .reward-card>strong{font-size:15px;color:var(--gold)}
body.community-app .stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
body.community-app .stat-grid .info-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 6px;text-align:center;font-size:12px;color:var(--muted)}
body.community-app .stat-grid strong{font-size:24px;color:#3d5943}
/* 출석 */
body.community-app .attendance-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0}
body.community-app .attendance-stats span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px;border-radius:12px;background:#f7f6f2;color:var(--muted)}
body.community-app .attendance-stats b{font-size:22px;color:#3d5943}
body.community-app .attendance-month{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 0 8px}
body.community-app .attendance-month h3{margin:0;font-size:16px}
body.community-app .attendance-month button{width:44px;height:44px;border-radius:12px;background:#f2f1ec;font-size:20px}
body.community-app .attendance-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
body.community-app .attendance-grid .weekday{text-align:center;color:var(--muted);padding:4px 0}
body.community-app #main .attendance-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;border-radius:12px;background:#f5f5ef;color:#8a8d80}
body.community-app #main .attendance-day b{font-size:13px;font-weight:700}
body.community-app #main .attendance-day.checked{background:#e8eddf;color:#3d5943}
body.community-app #main .attendance-day.today{box-shadow:inset 0 0 0 2px #3d5943}
body.community-app #main .attendance-day.today.checked{background:var(--green);color:#fff}
body.community-app #main .attendance-check{width:100%;margin-top:12px;min-height:48px}
/* 마이페이지 */
body.community-app .nickname{text-align:left;padding:20px 18px}
body.community-app .nickname-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
body.community-app .nickname h2{font-size:26px;color:#3f4239;margin:0 0 6px}
body.community-app .rpg-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--gold-bg);color:#8a6a10;font-weight:700;font-size:13px}
body.community-app .profile-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0}
body.community-app .profile-stats>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;border-radius:12px;background:#fff;border:1px solid var(--line);text-align:center}
body.community-app .profile-stats strong{font-size:22px;color:#3d5943}
body.community-app .profile-stats span{font-size:12px;color:var(--muted)}
/* 쪽지 */
body.community-app .message-item summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;align-items:center;min-height:56px;cursor:pointer}
body.community-app .message-item summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#5f6157}
body.community-app .message-item summary small{grid-column:1/-1;color:var(--muted)}
/* 오른쪽 레일 */
body.community-app .rail-card{padding:18px}
body.community-app .rail-title{display:flex;align-items:center;gap:6px;font-size:15px}
body.community-app .recognition-emblem{display:flex;justify-content:center;margin:10px 0 4px}
body.community-app #rail .recognition-number{display:flex;align-items:baseline;justify-content:center;gap:4px;margin:4px 0 8px}
body.community-app #rail .recognition-number strong{font-size:36px;font-weight:900;letter-spacing:-1px;color:var(--brown)}
body.community-app #rail .rail-card button{min-height:44px;font-size:13px;font-weight:700}
body.community-app .rail-link{display:flex;align-items:center;gap:10px}
body.community-app .rail-link .avatar{width:40px;height:40px;background:#e9eddf;color:#3d5943;display:grid;place-items:center}
body.community-app .rail-guide{padding:8px 12px;font-size:13px;line-height:1.8}
/* 배너 · 안내 · 푸터 · 다이얼로그 */
body.community-app .banner{padding:14px 16px;font-size:14px}
body.community-app .reward-banner, body.community-app .soon-banner{display:flex;flex-direction:column;gap:12px;padding:18px;border-radius:var(--r-card);background:#fff;border:1px solid var(--line)}
body.community-app .reward-banner b{font-size:16px}
body.community-app .reward-banner p{margin:4px 0 0;font-size:13px;color:var(--muted)}
body.community-app .split-actions{display:flex;gap:8px;flex-wrap:wrap}
body.community-app .site-footer{margin-top:28px;padding:22px 0 8px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.8}
body.community-app .footer-links{display:flex;gap:6px 14px;flex-wrap:wrap;margin-bottom:8px}
body.community-app .footer-links a{display:inline-flex;align-items:center;min-height:44px;color:#3f4239;font-weight:600}
body.community-app dialog{border-radius:22px;padding:28px 24px;width:100%;max-width:420px}
body.community-app dialog h2{font-size:24px}
body.community-app dialog p{font-size:14px;color:#5f6157}
body.community-app .dialog-close{width:44px;height:44px;display:grid;place-items:center}
body.community-app .empty{padding:32px 20px}
body.community-app .empty h3{font-size:19px}
/* 인용 · 출처 · 알림 */
body.community-app .source-card{border-radius:14px;background:#fbfaf6;border:1px solid var(--line)}
body.community-app .site-announcement{padding:14px 16px;border-radius:14px;background:#fbf1d2;border:1px solid #ecd68a;color:#5b4508;margin-bottom:14px}
/* 넓은 화면 */
@media(min-width:768px){
 body.community-app .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.community-app .standings-teams{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.community-app .reward-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 body.community-app .attendance-stats{grid-template-columns:repeat(2,minmax(0,1fr));max-width:420px}
 body.community-app .score-fighters strong{font-size:40px}
 body.community-app .score-fighters h3{font-size:16px}
 body.community-app .chat-line{max-width:72%}
}
@media(min-width:1024px){
 body.community-app .post{padding:22px 24px 16px}
 body.community-app .top-links{gap:8px}
 body.community-app .top-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:10px;font-size:14px}
 body.community-app .top-links a:first-child{background:#e8eddf;color:var(--green)}
}
/* ── 검사도구 5차: 전체 화면 ── */
body.community-app #main .lounge-sort>button, body.community-app #main .lounge-search button[type=submit], body.community-app #main .lounge-search button[aria-label]{min-height:44px}
body.community-app #main .lounge-search button[aria-label]{width:44px;height:44px}
body.community-app .score-fighters strong{line-height:1.45}
body.community-app .score-vs, body.community-app .score-battle-head>span, body.community-app .next-status, body.community-app #main .score-vs, body.community-app #main .next-status{font-size:12px}
body.community-app .message-item summary b{display:inline-flex;align-items:center;min-width:0;max-width:100%;min-height:32px}
body.community-app #main .comment-reply-button, body.community-app #main .comment-owner-actions button{min-height:44px}
body.community-app .reward-check{display:flex;align-items:center;gap:6px;min-height:44px;cursor:pointer}
body.community-app input[type=checkbox]{appearance:none;-webkit-appearance:none;width:44px;height:44px;margin:0;padding:0;border:10px solid transparent;border-radius:16px;background:#fff;background-clip:padding-box;box-shadow:inset 0 0 0 2px #c9d2bd;position:relative;cursor:pointer;flex-shrink:0}
body.community-app input[type=checkbox]:checked{background:var(--green);box-shadow:inset 0 0 0 2px var(--green)}
body.community-app input[type=checkbox]:checked::after{content:"";position:absolute;left:8px;top:3px;width:6px;height:12px;border:solid #fff;border-width:0 3px 3px 0;transform:rotate(45deg)}
body.community-app .participants-entry>div{min-width:0}
body.community-app .participants-entry b, body.community-app .participants-entry p{overflow-wrap:anywhere}
body.community-app .chat-compose{flex-wrap:wrap}
body.community-app .chat-compose input{flex:1 1 160px;min-width:0}
body.community-app .chat-compose .primary{flex:0 1 auto;min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
body.community-app dialog{box-sizing:border-box;width:calc(100% - 32px);max-width:420px}
body.community-app #profile-dialog, body.community-app #participants-dialog{max-width:560px}
/* ── 검사도구 6차 ── */
body.community-app #main .score-battle .score-vs, body.community-app .score-battle .score-fighters .score-vs{font-size:22px}
body.community-app #main b:has(> .nick), body.community-app #main b:has(.nick), body.community-app #main .comment>b{display:inline-flex;align-items:center;gap:6px;min-width:0;max-width:100%;min-height:32px;line-height:1.3}
body.community-app #main a[href="#contact"], body.community-app #main .info-card>a{display:inline-flex;align-items:center;min-height:44px}
body.community-app #profile-dialog, body.community-app #participants-dialog{width:560px;max-width:calc(100% - 32px)}
body.community-app .score-vs{font-size:22px!important}
body.community-app #main .comment>b, body.community-app #main b:has(.nick){min-height:44px;height:auto;align-items:center;overflow:visible}
