*{box-sizing:border-box;margin:0;padding:0}body{color:#222;background:#f4f6fa;font-family:Pretendard,Noto Sans KR,system-ui,-apple-system,sans-serif;line-height:1.5}button{cursor:pointer;font-family:inherit}input,textarea{font-family:inherit;font-size:15px}.app{flex-direction:column;min-height:100vh;display:flex}.header{z-index:10;background:#fff;border-bottom:1px solid #e3e6ec;justify-content:space-between;align-items:center;padding:14px 32px;display:flex;position:sticky;top:0}.logo{cursor:pointer;color:#3b5bdb;font-size:22px}.nav{align-items:center;gap:12px;display:flex}.hello{color:#555;font-size:14px}.main{flex:1;width:100%;max-width:960px;margin:32px auto;padding:0 16px}.footer{text-align:center;color:#999;padding:20px;font-size:13px}.card{background:#fff;border-radius:12px;padding:28px;box-shadow:0 2px 10px #0000000d}.card h2{margin-bottom:18px}.btn{color:#fff;background:#3b5bdb;border:1px solid #3b5bdb;border-radius:8px;padding:9px 18px;font-size:14px;font-weight:600;transition:all .15s}.btn:hover{background:#2f4ac0}.btn.small{padding:6px 12px;font-size:13px}.btn.outline{color:#3b5bdb;background:#fff}.btn.outline:hover{background:#edf2ff}.btn.danger{background:#e03131;border-color:#e03131}.btn.danger:hover{background:#c92a2a}.link{color:#3b5bdb;background:0 0;border:none;font-size:14px;font-weight:600}.link:hover{text-decoration:underline}.danger-text{color:#e03131;font-size:12px}.card input,.card textarea{border:1px solid #d0d5dd;border-radius:8px;outline:none;width:100%;padding:11px 14px}.card input:focus,.card textarea:focus{border-color:#3b5bdb;box-shadow:0 0 0 3px #3b5bdb26}.card textarea{resize:vertical}.auth{flex-direction:column;gap:12px;max-width:400px;margin:40px auto;display:flex}.auth h2{text-align:center}.auth .btn{padding:12px;font-size:15px}.error{color:#e03131;font-size:13px}.sub{text-align:center;color:#666;font-size:14px}.board-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.board-top h2{margin:0}.board-actions{gap:8px;display:flex}.card .search{width:240px;padding:8px 12px}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{background:#f8f9fb;border-top:2px solid #3b5bdb;padding:12px 8px;font-weight:600}.table td{border-bottom:1px solid #eef0f4;padding:12px 8px}.table tbody tr{cursor:pointer}.table tbody tr:hover{background:#f5f7ff}.table .num,.table .author,.table .date{text-align:center;white-space:nowrap}.table .num{width:64px}.table .author,.table .date{width:120px}.table td.title{text-align:left}.cmt-count{color:#e8590c;margin-left:6px;font-size:12px;font-weight:600}.empty{text-align:center;color:#999;cursor:default;padding:48px 0!important}.pagination{justify-content:center;gap:6px;margin-top:20px;display:flex}.pagination button{background:#fff;border:1px solid #d0d5dd;border-radius:6px;width:34px;height:34px}.pagination button.active{color:#fff;background:#3b5bdb;border-color:#3b5bdb}.post-form{flex-direction:column;gap:12px;display:flex}.row-right{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.detail-title{word-break:break-all;margin-bottom:8px!important}.meta{color:#888;border-bottom:1px solid #eef0f4;gap:16px;padding-bottom:16px;font-size:13px;display:flex}.content{white-space:pre-wrap;word-break:break-all;border-bottom:1px solid #eef0f4;min-height:200px;margin-bottom:8px;padding:24px 0}.comments{margin-top:32px}.comments h3{margin-bottom:12px;font-size:16px}.comments ul{list-style:none}.comments li{border-bottom:1px solid #f0f1f4;padding:12px 0}.c-head{align-items:center;gap:10px;margin-bottom:4px;font-size:13px;display:flex}.c-head span{color:#999}.comments li p{white-space:pre-wrap;word-break:break-all;font-size:14px}.comment-form{gap:8px;margin-top:16px;display:flex}.comment-form .btn{white-space:nowrap}.comments>.sub{margin-top:16px}@media (width<=640px){.header{flex-direction:column;gap:8px;padding:12px 16px}.table .date,.table .num:last-child{display:none}.card .search{width:100%}}
