:root{--forest:#173d31;--green:#2e7056;--line:#dce3dc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f7f3;color:#18392c;font-family:"Noto Sans KR",sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}:focus-visible{outline:3px solid #d98a54;outline-offset:3px}header{height:72px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 3vw;font-weight:700}header a:first-child{font-size:1.1rem}header a:last-child{font-size:.86rem;color:var(--green)}main{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 72px)}aside{background:var(--forest);padding:2rem 1rem;color:#fff}aside p{font-size:.78rem;color:#a7c8ae;padding:0 1rem}aside a{display:block;padding:.9rem 1rem;border-radius:8px;font-size:.9rem}aside a:hover,aside a:first-of-type{background:#ffffff1d}.aside-note{border-top:1px solid #ffffff2a;margin:3rem 1rem 0;padding-top:1.5rem;color:#b8cdbd;font-size:.78rem;line-height:1.7}.content{max-width:1220px;width:100%;padding:3rem 4vw;margin:auto}.page-title{display:flex;justify-content:space-between;align-items:end;margin-bottom:2.5rem}.eyebrow{font-size:.74rem;letter-spacing:.17em;color:var(--green);font-weight:700}.page-title h1{font-size:2.6rem;letter-spacing:-.05em;margin:.4rem 0}.page-title p{color:#6e7f74}.page-title span{font-size:.83rem;color:var(--green);font-weight:700}.panel{background:#fff;border:1px solid var(--line);padding:2.3rem;margin:1.5rem 0;border-radius:12px;box-shadow:0 10px 30px #1c38280a}.panel h2{margin:0 0 1.8rem;font-size:1.35rem}form{display:grid;gap:1.4rem}label{display:grid;gap:.5rem;font-weight:700;font-size:.86rem}.row{display:flex;gap:1rem}.row label{flex:1}input:not([type=file]),textarea,select{border:1px solid #cbd8cc;border-radius:8px;padding:.85rem;background:#fff;width:100%;color:#18392c}textarea{resize:vertical;line-height:1.7}.animal-fields{display:grid;gap:1rem}.animal-fields[hidden]{display:none}.drop{min-height:150px;border:2px dashed #9bbca2;border-radius:10px;background:#f5faf5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;color:var(--green);cursor:pointer}.drop.dragging{background:#def0dd;border-color:var(--green)}.drop input{position:absolute;width:1px;height:1px;opacity:0}.drop small{display:block;color:#6e7f74;font-weight:400;margin-top:.5rem}.previews{display:flex;gap:.7rem;flex-wrap:wrap}.previews img{width:92px;height:92px;object-fit:cover;border-radius:7px}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem}.form-bottom button{background:var(--forest);color:#fff;border:0;border-radius:7px;padding:.9rem 1.4rem;font-weight:700}.form-bottom button:hover{background:var(--green)}#formStatus{color:var(--green);font-size:.83rem}.panel>p{color:#6e7f74;font-size:.87rem}.post-row{display:flex;align-items:center;gap:1rem;padding:1.1rem 0;border-top:1px solid var(--line)}.post-row img{width:58px;height:58px;object-fit:cover;border-radius:6px;background:#edf3eb}.post-info{flex:1;min-width:0}.post-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-info small{color:#78897b}.post-actions{display:flex;align-items:center;gap:.8rem}.toggle{background:#d9e2db;border:0;border-radius:30px;width:52px;height:28px;padding:3px;text-align:left}.toggle:before{content:"";display:block;width:22px;height:22px;background:#fff;border-radius:50%;transition:transform .2s}.toggle.on{background:var(--green)}.toggle.on:before{transform:translateX(24px)}.delete{border:0;background:none;color:#9c4d44;padding:.5rem}.empty{padding:2rem 0;color:#78897b}@media(max-width:800px){main{grid-template-columns:1fr}aside{display:flex;align-items:center;gap:1rem;padding:.5rem 4vw}aside p,.aside-note{display:none}aside a{font-size:.8rem}.content{padding:2rem 4vw}.page-title h1{font-size:2rem}}@media(max-width:560px){header{padding:0 4vw}header span{display:none}.row{flex-direction:column}.panel{padding:1.3rem}.page-title{align-items:start;flex-direction:column}.post-actions{gap:.2rem}.post-info strong{font-size:.85rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
