:root{--ink:#18332f;--green:#176b55;--mint:#dff3e8;--paper:#fbfaf6;--line:#dce4de;--muted:#708079;--white:#fff;--danger:#b94242}*{box-sizing:border-box}body{margin:0;font-family:Inter,Pretendard,"Noto Sans KR",sans-serif;background:var(--paper);color:var(--ink)}button,input,textarea{font:inherit}.hidden{display:none!important}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr}.brand-panel{background:var(--ink);color:white;padding:9vw;display:flex;flex-direction:column;justify-content:center}.logo{font-weight:900;font-size:26px;letter-spacing:-2px;color:#70d3a9}.brand-panel h1{font-size:clamp(42px,6vw,78px);line-height:1.08;margin:50px 0 24px;letter-spacing:-4px}.brand-panel p{color:#bdd0c9;max-width:480px;line-height:1.8}.login-card{max-width:460px;width:80%;margin:auto}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--green);font-weight:800}.login-card h2,.editor h2{font-size:34px;margin:14px 0 6px;letter-spacing:-1.5px}.muted,small{color:var(--muted)}label{display:grid;gap:8px;font-weight:700;margin-top:24px}input,textarea{border:1px solid var(--line);background:white;padding:15px 16px;border-radius:10px;outline:none;color:var(--ink)}input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b5515}button{cursor:pointer;border:0;background:transparent;color:inherit}.primary{background:var(--green);color:white;padding:13px 20px;border-radius:10px;font-weight:800}.login-card .primary{width:100%;margin:28px 0 16px}.app{display:grid;grid-template-columns:250px 1fr;min-height:100vh}aside{position:fixed;width:250px;height:100vh;background:var(--ink);padding:38px 28px;display:flex;flex-direction:column}nav{margin-top:60px;display:grid;gap:10px}.nav{color:#aebfba;padding:14px;text-align:left;border-radius:9px;font-weight:700}.nav.active,.nav:hover{background:#ffffff12;color:white}.profile{margin-top:auto;border-top:1px solid #ffffff20;padding-top:24px;display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;color:white}.profile small{display:block}.avatar{width:40px;height:40px;border-radius:50%;background:var(--mint);color:var(--green);display:grid;place-items:center;font-weight:900}main{grid-column:2;padding:60px clamp(28px,7vw,100px);max-width:1200px;width:100%;margin:auto}header{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}header h1{font-size:42px;letter-spacing:-2px;margin:8px 0}.search{display:flex;gap:10px;margin-bottom:26px}.search input{flex:1;background:white}.post-list{border-top:2px solid var(--ink)}.post{display:grid;grid-template-columns:1fr auto;gap:20px;padding:25px 10px;border-bottom:1px solid var(--line);cursor:pointer;transition:.2s}.post:hover{padding-left:18px;background:white}.post h3{margin:0 0 10px;font-size:19px}.meta{color:var(--muted);font-size:13px;display:flex;gap:16px}.count{align-self:center;color:var(--muted)}.pagination{display:flex;justify-content:center;gap:8px;margin:30px}.pagination button{width:36px;height:36px;border-radius:8px}.pagination button.active{background:var(--ink);color:white}.back{color:var(--green);font-weight:800;margin-bottom:24px}.detail,.editor{background:white;border:1px solid var(--line);border-radius:16px;padding:clamp(24px,5vw,58px)}.detail h2{font-size:34px;letter-spacing:-1px;margin:15px 0}.detail-content{white-space:pre-wrap;line-height:1.9;padding:40px 0;border-bottom:1px solid var(--line);min-height:180px}.actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.danger{color:var(--danger)}.comments{margin-top:40px}.comment{padding:20px 0;border-bottom:1px solid var(--line)}.comment p{white-space:pre-wrap}.comment-head{display:flex;justify-content:space-between}.comment-form{display:flex;gap:10px;margin-top:20px}.comment-form input{flex:1}.editor textarea{resize:vertical;line-height:1.7}.toast{position:fixed;right:25px;top:25px;background:var(--ink);color:white;padding:14px 20px;border-radius:10px;z-index:10;opacity:0;transform:translateY(-10px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}@media(max-width:760px){.login-shell{grid-template-columns:1fr}.brand-panel{display:none}.login-card{padding:50px 0}.app{display:block}aside{position:static;width:100%;height:auto;padding:18px 22px;flex-direction:row;align-items:center;justify-content:space-between}aside nav{margin:0;display:flex}.nav span,.profile>div:not(.avatar),.profile>button{display:none}.profile{margin:0;padding:0;border:0;display:block}main{padding:35px 20px}.desktop-write{display:none}header h1{font-size:32px}.detail,.editor{padding:22px}.comment-form{align-items:stretch}.post{grid-template-columns:1fr}.count{display:none}}
