:root{--ink:#18302b;--deep:#0c2621;--muted:#687773;--paper:#f6f2e9;--card:#fffdf8;--mint:#c9eadc;--line:rgba(24,48,43,.14);--coral:#ff765f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}
.community-body{min-height:100vh;background:var(--paper);color:var(--ink);font-family:Pretendard,"Noto Sans KR","Apple SD Gothic Neo",system-ui,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}
.skip-link{position:fixed;left:12px;top:-80px;z-index:100;padding:10px 14px;background:var(--deep);color:white}.skip-link:focus{top:12px}
.community-top{width:min(1180px,calc(100% - 36px));min-height:76px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line)}
.community-brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;font-family:Georgia,serif;font-size:20px;font-weight:900}.community-brand:first-letter{color:var(--deep)}.community-brand span{font-family:inherit;font-size:13px;letter-spacing:.12em}.top-actions{display:flex;align-items:center;gap:16px;font-size:14px;font-weight:700}.top-actions a{text-decoration:none}.top-actions a:hover{text-decoration:underline;text-underline-offset:4px}
.community-shell{width:min(1180px,calc(100% - 36px));margin:auto;padding:48px 0 90px}.community-heading{display:flex;justify-content:space-between;align-items:end;gap:20px}.community-heading h1{margin:4px 0 0;color:var(--deep);font-size:clamp(34px,5vw,58px);line-height:1.1;letter-spacing:-.055em}.community-heading p{margin:0 0 5px;color:var(--muted);font-size:14px}.overline{font-size:11px;font-weight:900;letter-spacing:.13em;color:#5b897d}
.board-tabs{display:flex;gap:8px;overflow-x:auto;margin:34px 0 24px;padding-bottom:3px}.board-tabs a{flex:0 0 auto;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.55);font-size:14px;font-weight:800;text-decoration:none;white-space:nowrap}.board-tabs a.active,.board-tabs a:hover{border-color:var(--deep);background:var(--deep);color:white}
.content-panel{padding:28px;background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 48px rgba(20,44,37,.05)}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px}.panel-head h2{margin:0;font-size:25px;letter-spacing:-.04em}.panel-head p{margin:4px 0 0;color:var(--muted);font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:10px 16px;border:1px solid var(--deep);border-radius:11px;background:var(--deep);color:white;font-size:14px;font-weight:800;text-decoration:none}.button:hover{background:#245247}.button:disabled{opacity:.55;cursor:not-allowed}.button.secondary{background:white;color:var(--deep);border-color:var(--line)}.button.secondary:hover{background:#edf5ef}.button.danger{background:#fff1ec;color:#9e3328;border-color:#ebc6bd}.button.small{min-height:34px;padding:6px 10px;font-size:13px}.button-row{display:flex;flex-wrap:wrap;gap:8px}.text-link{color:#276b56;font-weight:800;text-decoration:none}.text-link:hover{text-decoration:underline}
.post-list{display:grid;gap:0}.post-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:19px 4px;border-top:1px solid var(--line);text-decoration:none}.post-row:hover{background:#f6f9f5}.post-row h3{margin:0 0 7px;font-size:18px;line-height:1.35;letter-spacing:-.025em}.post-row p{margin:0;color:var(--muted);font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.post-meta{display:flex;flex-wrap:wrap;gap:9px;align-items:center;color:var(--muted);font-size:13px}.post-row .post-meta{margin-top:9px}.post-stats{align-self:center;color:var(--muted);font-size:13px;white-space:nowrap}.pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#e7efe9;color:#276b56;font-size:12px;font-weight:800}.pill.resolved{background:#e2f3e8;color:#236746}
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border:1px solid currentColor;border-radius:999px;background:color-mix(in srgb,currentColor 9%,white);font-size:12px;font-weight:900;white-space:nowrap}.tier-0{color:#677670}.tier-1{color:#39865b}.tier-2{color:#258b83}.tier-3{color:#377eb0}.tier-4{color:#4262ac}.tier-5{color:#6c5ea9}.tier-6{color:#9452a5}.tier-7{color:#a34883}.tier-8{color:#af5b42}.tier-9{color:#a36c16}.tier-10{color:#8d5b00;background:#fff2bb}
.detail-head{display:flex;justify-content:space-between;align-items:start;gap:20px}.detail-head h2{margin:8px 0 10px;font-size:clamp(25px,4vw,38px);letter-spacing:-.045em}.detail-body{margin:30px 0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:16px;line-height:1.75}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:25px 0}.photo-grid img{width:100%;max-height:460px;object-fit:contain;border-radius:14px;background:#e5ece8}.comments{margin-top:34px;padding-top:24px;border-top:1px solid var(--line)}.comments h3{font-size:20px}.comment{padding:16px 0;border-top:1px solid var(--line)}.comment:first-of-type{border:0}.comment p{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0}.comment .post-meta{justify-content:space-between}
.field{display:grid;gap:7px;margin:16px 0}.field label{font-size:14px;font-weight:800}.field input,.field textarea,.field select{width:100%;padding:12px 13px;border:1px solid #bdccc5;border-radius:10px;background:#fff;color:var(--ink);font-size:16px}.field textarea{min-height:130px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:3px solid #b2dfca}.hint{margin:5px 0;color:var(--muted);font-size:13px}.warning{padding:14px 16px;border:1px solid #ead7a2;border-radius:12px;background:#fff7df;color:#6d5924;font-size:14px}.form-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.empty{padding:40px 20px;text-align:center;color:var(--muted)}.error{padding:18px;border-radius:12px;background:#fff0ea;color:#8f392d}.loading{padding:30px;text-align:center;color:var(--muted)}
.inbox-list{display:grid;gap:9px}.message{max-width:75%;padding:11px 15px;border-radius:16px;background:#e7efe9;white-space:pre-wrap;overflow-wrap:anywhere}.message.mine{margin-left:auto;background:#d4e9df}.message small{display:block;margin-top:7px;color:var(--muted);font-size:12px}.chat-stream{display:grid;gap:12px;min-height:180px;max-height:580px;overflow:auto;padding:18px;border:1px solid var(--line);border-radius:16px;background:#f8f8f4}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.stat-card{padding:19px;border-radius:17px;background:#eef5ef}.stat-card strong{display:block;font-size:25px}.progress-track{height:9px;margin:14px 0 7px;border-radius:99px;background:#d6e4dc;overflow:hidden}.progress-track i{display:block;height:100%;background:#418c72;border-radius:inherit}.attendance-days{display:flex;flex-wrap:wrap;gap:7px}.attendance-days span{padding:6px 9px;border-radius:8px;background:#def1e5;font-size:13px}
.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.admin-box{padding:19px;border:1px solid var(--line);border-radius:16px;background:#f9faf6}.admin-box h3{margin:0 0 12px}.admin-item{padding:12px 0;border-top:1px solid var(--line);font-size:14px}.admin-item:first-of-type{border:0}.admin-item .button-row{margin-top:8px}.admin-item p{margin:5px 0;white-space:pre-wrap;overflow-wrap:anywhere}.community-footer{display:flex;justify-content:space-between;gap:15px;width:min(1180px,calc(100% - 36px));margin:auto;padding:25px 0 40px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}.community-toast{position:fixed;left:50%;bottom:24px;z-index:100;transform:translateX(-50%);padding:12px 17px;border-radius:12px;background:var(--deep);color:#fff;box-shadow:0 12px 30px #0003;max-width:calc(100% - 30px)}
.login-wrap{width:min(520px,calc(100% - 30px));margin:8vh auto}.login-card{padding:34px;background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:0 20px 60px #0c26211c}.login-card h1{font-size:34px;letter-spacing:-.05em}.login-card p{color:var(--muted)}.login-options{display:grid;gap:10px;margin:27px 0}.login-options a{display:block;padding:13px;border-radius:11px;text-align:center;text-decoration:none;font-weight:900}.login-kakao{background:#fee500;color:#191919}.login-naver{background:#03c75a;color:white}.login-small,.owner-link{font-size:13px}.owner-link{display:inline-block;margin-top:20px}.setup-note{padding:12px;background:#eef4ee;border-radius:10px}
[hidden]{display:none!important}:focus-visible{outline:3px solid #ff997e;outline-offset:2px}
@media(max-width:720px){.community-top{min-height:66px;align-items:start;flex-direction:column;padding:13px 0}.top-actions{width:100%;overflow-x:auto;gap:13px;white-space:nowrap;font-size:13px}.community-shell{padding-top:28px}.community-heading{align-items:start;flex-direction:column;gap:8px}.community-heading p{font-size:13px}.board-tabs{margin-top:25px}.content-panel{padding:19px;border-radius:17px}.panel-head{align-items:start;flex-direction:column}.post-row{grid-template-columns:1fr}.post-stats{align-self:start}.profile-grid,.admin-grid{grid-template-columns:1fr}.community-footer{flex-direction:column}.message{max-width:90%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
