:root{--text:#404040;--text-h:#111;--bg:#f5f6f7;--bg-white:#fff;--border:#e5e5e5;--accent:#03c75a;--accent-dark:#02a449;--accent-bg:#03c75a0f;--header-bg:#fff;--pinned-bg:#f0fff6;--shadow:0 2px 6px #00000014;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font:14px/1.6 Apple SD Gothic Neo,Malgun Gothic,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#111827;--bg-white:#1f2937;--border:#374151;--accent:#03c75a;--accent-dark:#02a449;--accent-bg:#03c75a14;--header-bg:#1a1f2e;--pinned-bg:#03c75a14}}*{box-sizing:border-box}body{margin:0}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{color:var(--text-h);margin:0}a{color:var(--accent);text-decoration:none}button{cursor:pointer;font-family:inherit}.header{background:var(--header-bg);border-bottom:1px solid var(--border);z-index:100;position:sticky;top:0;box-shadow:0 1px 4px #0000000f}.header-top{align-items:center;gap:24px;max-width:1060px;margin:0 auto;padding:14px 24px;display:flex}.logo{color:var(--accent);letter-spacing:-.5px;white-space:nowrap;flex-shrink:0;font-size:22px;font-weight:800;text-decoration:none}.search-form{border:2px solid var(--accent);border-radius:24px;flex:1;max-width:560px;display:flex;overflow:hidden}.search-form input{background:var(--bg-white);color:var(--text-h);border:none;outline:none;flex:1;padding:9px 18px;font-family:inherit;font-size:14px}.search-form button{background:var(--accent);color:#fff;border:none;padding:9px 20px;font-size:14px;font-weight:600;transition:background .15s}.search-form button:hover{background:var(--accent-dark)}.header-nav{border-top:1px solid var(--border)}.nav{gap:0;max-width:1060px;margin:0 auto;padding:0 24px;display:flex}.nav a{color:var(--text);border-bottom:2px solid #0000;padding:10px 16px;font-size:14px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-block}.nav a:hover{color:var(--accent)}.nav a.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:700}.main{flex:1;padding:28px 24px 60px}.home-hero{background:var(--bg-white);border:1px solid var(--border);text-align:center;max-width:1060px;box-shadow:var(--shadow);border-radius:12px;margin:0 auto 20px;padding:48px 24px 36px}.home-logo{color:var(--accent);letter-spacing:-1px;margin-bottom:24px;font-size:48px;font-weight:900}.home-search{border:2px solid var(--accent);border-radius:28px;max-width:560px;margin:0 auto 28px;display:flex;overflow:hidden;box-shadow:0 4px 12px #03c75a26}.home-search input{background:var(--bg-white);color:var(--text-h);border:none;outline:none;flex:1;padding:13px 22px;font-family:inherit;font-size:15px}.home-search button{background:var(--accent);color:#fff;border:none;padding:13px 28px;font-size:15px;font-weight:700;transition:background .15s}.home-search button:hover{background:var(--accent-dark)}.home-shortcuts{justify-content:center;gap:12px;display:flex}.home-shortcuts button{background:var(--bg);border:1px solid var(--border);color:var(--text-h);border-radius:20px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .15s}.home-shortcuts button:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.home-boards{grid-template-columns:1fr 1fr;gap:16px;max-width:1060px;margin:0 auto;display:grid}.board-preview{background:var(--bg-white);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;overflow:hidden}.board-preview-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.board-preview-header h2{font-size:15px;font-weight:700}.board-preview-header button{color:var(--accent);background:0 0;border:none;padding:0;font-size:13px;font-weight:600}.board-preview-list{margin:0;padding:0;list-style:none}.board-preview-list li{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:8px;padding:11px 18px;font-size:13px;transition:background .12s;display:flex}.board-preview-list li:last-child{border-bottom:none}.board-preview-list li:hover{background:var(--accent-bg)}.preview-title{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.preview-date{color:var(--text);flex-shrink:0;font-size:12px}.page{max-width:1060px;margin:0 auto}.page-header{border-bottom:2px solid var(--accent);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.page-header h1{font-size:20px;font-weight:700}.header-right{align-items:center;gap:14px;display:flex}.post-count{color:var(--text);font-size:13px}.post-table{border-collapse:collapse;background:var(--bg-white);border:1px solid var(--border);width:100%;box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.post-table thead{background:var(--bg)}.post-table th{color:var(--text);text-align:center;border-bottom:1px solid var(--border);padding:11px 16px;font-size:13px;font-weight:600}.post-table td{color:var(--text);text-align:center;border-bottom:1px solid var(--border);padding:13px 16px;font-size:14px}.post-table tbody tr:last-child td{border-bottom:none}.post-table tbody tr{cursor:pointer;transition:background .12s}.post-table tbody tr:hover{background:var(--accent-bg)}.post-table tbody tr.pinned{background:var(--pinned-bg)}.col-num{width:72px}.col-title{text-align:left!important}.col-author{width:100px}.col-date{width:110px;font-size:13px}.col-views{width:70px;font-size:13px}.title-text{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;max-width:600px;display:block;overflow:hidden}.pin-badge{background:var(--accent);color:#fff;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:11px;font-weight:700;display:inline-block}.btn-write{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 18px;font-size:14px;font-weight:600;transition:background .15s}.btn-write:hover{background:var(--accent-dark)}.btn-back{color:var(--text);border:1px solid var(--border);background:0 0;border-radius:6px;padding:8px 18px;font-size:14px;transition:all .15s}.btn-back:hover{background:var(--bg)}.btn-delete{color:#ef4444;background:0 0;border:1px solid #ef4444;border-radius:6px;padding:8px 18px;font-size:14px;transition:all .15s}.btn-delete:hover{background:#fef2f2}.btn-submit{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:8px 24px;font-size:14px;font-weight:600;transition:background .15s}.btn-submit:hover{background:var(--accent-dark)}.post-detail{background:var(--bg-white);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.post-detail-header{border-bottom:1px solid var(--border);padding:24px 28px}.post-detail-header h2{margin:8px 0 12px;font-size:20px;font-weight:700;line-height:1.4}.post-meta{color:var(--text);gap:20px;font-size:13px;display:flex}.post-content{min-height:200px;color:var(--text-h);padding:28px;font-size:15px;line-height:1.9}.post-content p{margin:0 0 4px}.post-actions{border-top:1px solid var(--border);justify-content:space-between;padding:16px 28px;display:flex}.write-form{background:var(--bg-white);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;padding:28px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-h);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.form-group input,.form-group textarea{border:1px solid var(--border);width:100%;color:var(--text-h);background:var(--bg-white);border-radius:6px;outline:none;padding:10px 14px;font-family:inherit;font-size:15px;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus{border-color:var(--accent)}.form-group textarea{resize:vertical;line-height:1.7}.form-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.empty-msg{text-align:center;color:var(--text);padding:60px 0}@media (width<=768px){.home-boards{grid-template-columns:1fr}.home-logo{font-size:36px}}@media (width<=640px){.main{padding:16px 12px 40px}.header-top{gap:12px;padding:10px 12px}.home-hero{padding:32px 16px 24px}.home-shortcuts{flex-wrap:wrap}.post-table th,.post-table td{padding:10px 12px}.col-author,.col-date{display:none}.title-text{max-width:220px}.post-detail-header,.post-content,.post-actions,.write-form{padding:16px}}
