@import url(https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap);:root{--bbs-accent:#059669;--bbs-accent-dark:#047857;--bbs-accent-hover:#065f46;--bbs-accent-light:#d1fae5;--bbs-accent-xlight:#ecfdf5;--bbs-bg:#f0fdf4;--bbs-surface:#fff;--bbs-surface-2:#e6f9ef;--bbs-surface-3:#d1f5dc;--bbs-border:#a7f3d0;--bbs-border-strong:#6ee7b7;--bbs-text-primary:#064e3b;--bbs-text-secondary:#065f46;--bbs-text-muted:#6b9e88;--bbs-radius-sm:6px;--bbs-radius:8px;--bbs-radius-lg:12px;--bbs-shadow:0 1px 4px #04785712;--bbs-shadow-md:0 4px 14px #0478571a}.bbs-container{background:#f0fdf4;background:var(--bbs-bg);border-radius:12px;border-radius:var(--bbs-radius-lg);box-shadow:0 2px 8px #0000000d;box-sizing:border-box;color:#064e3b;color:var(--bbs-text-primary);margin:40px auto;max-width:800px;padding:0 16px 60px}.bbs-title{color:#047857;color:var(--bbs-accent-dark);font-size:1.75rem;font-weight:700;letter-spacing:.04em;margin:0 0 4px;padding:28px 0 22px;position:relative;text-align:center}.bbs-title:after{background:#059669;background:var(--bbs-accent);border-radius:2px;content:"";display:block;height:3px;margin:8px auto 0;width:40px}.thread-list-wrapper{padding-top:4px}.thread-list-toolbar{align-items:center;display:flex;gap:8px;margin-bottom:12px}.thread-search-wrap{align-items:center;display:flex;flex:1 1;position:relative}.search-icon{color:#6b9e88;color:var(--bbs-text-muted);display:flex;left:11px;pointer-events:none;position:absolute}.thread-search-input{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:8px;border-radius:var(--bbs-radius);box-sizing:border-box;color:#064e3b;color:var(--bbs-text-primary);font-family:inherit;font-size:.9rem;height:40px;outline:none;padding:0 14px 0 34px;transition:border-color .15s,box-shadow .15s;width:100%}.thread-search-input:focus{border-color:#059669;border-color:var(--bbs-accent);box-shadow:0 0 0 3px #0596691f}.thread-search-input::placeholder{color:#6b9e88;color:var(--bbs-text-muted)}.btn-new-thread{background:#059669;background:var(--bbs-accent);border:1px solid #059669;border:1px solid var(--bbs-accent);border-radius:8px;border-radius:var(--bbs-radius);color:#fff;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:500;height:40px;padding:0 16px;transition:background .15s,border-color .15s;white-space:nowrap}.btn-new-thread:hover{background:#047857;background:var(--bbs-accent-dark);border-color:#047857;border-color:var(--bbs-accent-dark)}.btn-new-thread.active{background:#fff;background:var(--bbs-surface);border-color:#6ee7b7;border-color:var(--bbs-border-strong);color:#6b9e88;color:var(--bbs-text-muted)}.category-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.cat-chip{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:99px;color:#065f46;color:var(--bbs-text-secondary);cursor:pointer;font-family:inherit;font-size:.82rem;height:30px;padding:0 13px;transition:all .15s}.cat-chip:hover{background:#ecfdf5;background:var(--bbs-accent-xlight);color:#059669;color:var(--bbs-accent)}.cat-chip.selected,.cat-chip:hover{border-color:#059669;border-color:var(--bbs-accent)}.cat-chip.selected{background:#059669;background:var(--bbs-accent);color:#fff}.new-thread-form{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:12px;border-radius:var(--bbs-radius-lg);box-shadow:0 1px 4px #04785712;box-shadow:var(--bbs-shadow);margin-bottom:14px;padding:16px}.form-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.form-input,.form-select{background:#f0fdf4;background:var(--bbs-bg);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:8px;border-radius:var(--bbs-radius);box-sizing:border-box;color:#064e3b;color:var(--bbs-text-primary);font-family:inherit;font-size:.9rem;height:40px;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s}.form-input{flex:1 1 200px}.form-input:focus,.form-select:focus{background:#fff;border-color:#059669;border-color:var(--bbs-accent);box-shadow:0 0 0 3px #0596691f}.form-select{min-width:120px}.btn-submit{background:#059669;background:var(--bbs-accent);border:none;border-radius:8px;border-radius:var(--bbs-radius);color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;height:38px;padding:0 20px;transition:background .15s}.btn-submit:hover:not(:disabled){background:#047857;background:var(--bbs-accent-dark)}.btn-submit:disabled{cursor:not-allowed;opacity:.5}.thread-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.thread-item{align-items:center;background:#e6f9ef;background:var(--bbs-surface-2);border:1px solid #0000;border-radius:8px;border-radius:var(--bbs-radius);box-sizing:border-box;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px 16px;transition:all .15s}.thread-item:hover{background:#d1f5dc;background:var(--bbs-surface-3);border-color:#6ee7b7;border-color:var(--bbs-border-strong);box-shadow:0 4px 14px #0478571a;box-shadow:var(--bbs-shadow-md);transform:translateY(-1px)}.thread-item-main{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.thread-cat-badge{background:#ecfdf5;background:var(--bbs-accent-xlight);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:99px;color:#047857;color:var(--bbs-accent-dark);flex-shrink:0;font-size:.74rem;font-weight:500;padding:2px 9px}.thread-title{color:#064e3b;color:var(--bbs-text-primary);font-size:.93rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-item-meta{align-items:center;display:flex;flex-shrink:0;gap:12px}.thread-posts-count{align-items:center;color:#065f46;color:var(--bbs-text-secondary);display:flex;font-size:.82rem}.thread-date{color:#6b9e88;color:var(--bbs-text-muted);font-size:.78rem;white-space:nowrap}.bbs-thread-wrapper{padding-top:4px}.thread-header{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:12px;border-radius:var(--bbs-radius-lg);box-shadow:0 1px 4px #04785712;box-shadow:var(--bbs-shadow);margin-bottom:16px;padding:14px 18px}.btn-back{align-items:center;background:none;border:none;color:#059669;color:var(--bbs-accent);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;gap:5px;margin-bottom:10px;padding:0;transition:color .15s}.btn-back:hover{color:#047857;color:var(--bbs-accent-dark);text-decoration:underline}.thread-header-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.thread-name{color:#064e3b;color:var(--bbs-text-primary);font-size:1.1rem;font-weight:600;margin:0}.thread-post-total{color:#6b9e88;color:var(--bbs-text-muted);font-size:.8rem}.reply-form{margin-bottom:20px}.reply-form-inner{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:12px;border-radius:var(--bbs-radius-lg);box-shadow:0 1px 4px #04785712;box-shadow:var(--bbs-shadow);overflow:hidden;transition:border-color .2s,box-shadow .2s}.reply-form-inner:focus-within{border-color:#059669;border-color:var(--bbs-accent);box-shadow:0 0 0 3px #0596691f}.reply-form-label{color:#6b9e88;color:var(--bbs-text-muted);font-size:.78rem;font-weight:500;letter-spacing:.03em;padding:10px 14px 4px}.reply-textarea{background:#0000;border:none;box-sizing:border-box;color:#064e3b;color:var(--bbs-text-primary);font-family:inherit;font-size:.92rem;line-height:1.65;max-height:240px;min-height:80px;outline:none;padding:6px 14px 10px;resize:none;width:100%}.reply-textarea::placeholder{color:#6b9e88;color:var(--bbs-text-muted)}.reply-form-footer{align-items:center;background:#ecfdf5;background:var(--bbs-accent-xlight);border-top:1px solid #a7f3d0;border-top:1px solid var(--bbs-border);display:flex;gap:10px;padding:8px 14px}.char-counter{color:#6b9e88;color:var(--bbs-text-muted);font-size:.78rem}.post-error{color:#b91c1c;flex:1 1;font-size:.8rem}.btn-post{background:#059669;background:var(--bbs-accent);border:none;border-radius:8px;border-radius:var(--bbs-radius);color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;height:32px;margin-left:auto;padding:0 18px;transition:background .15s}.btn-post:hover:not(:disabled){background:#047857;background:var(--bbs-accent-dark)}.btn-post:disabled{cursor:not-allowed;opacity:.45}.post-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.post-item{background:#e6f9ef;background:var(--bbs-surface-2);border:1px solid #0000;border-radius:12px;border-radius:var(--bbs-radius-lg);box-shadow:0 1px 4px #04785712;box-shadow:var(--bbs-shadow);box-sizing:border-box;padding:14px 16px;transition:box-shadow .15s,border-color .15s}.post-item:hover{border-color:#a7f3d0;border-color:var(--bbs-border);box-shadow:0 4px 14px #0478571a;box-shadow:var(--bbs-shadow-md)}.post-header{gap:10px;margin-bottom:8px}.post-avatar,.post-header{align-items:center;display:flex}.post-avatar{background:#d1fae5;background:var(--bbs-accent-light);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:50%;color:#047857;color:var(--bbs-accent-dark);flex-shrink:0;font-size:.85rem;font-weight:600;height:32px;justify-content:center;width:32px}.post-meta{align-items:center;display:flex;flex:1 1;gap:7px;min-width:0}.post-username{color:#065f46;color:var(--bbs-text-secondary);font-size:.88rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-num{flex-shrink:0;font-size:.75rem}.post-date,.post-num{color:#6b9e88;color:var(--bbs-text-muted)}.post-date{font-size:.78rem;margin-left:auto;white-space:nowrap}.post-content{color:#064e3b;color:var(--bbs-text-primary);font-size:.9rem;line-height:1.72;padding-left:42px;white-space:pre-wrap;word-break:break-word}.pagination{gap:4px;margin:14px 0}.page-btn,.pagination{align-items:center;display:flex;justify-content:center}.page-btn{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:8px;border-radius:var(--bbs-radius);color:#065f46;color:var(--bbs-text-secondary);cursor:pointer;font-family:inherit;font-size:.85rem;height:34px;min-width:34px;padding:0 6px;transition:all .15s}.page-btn:hover:not(:disabled){background:#ecfdf5;background:var(--bbs-accent-xlight);color:#059669;color:var(--bbs-accent)}.page-btn.active,.page-btn:hover:not(:disabled){border-color:#059669;border-color:var(--bbs-accent)}.page-btn.active{background:#059669;background:var(--bbs-accent);color:#fff;font-weight:500}.page-btn:disabled{cursor:not-allowed;opacity:.35}.page-ellipsis{font-size:.85rem;padding:0 4px}.loading-state,.page-ellipsis{color:#6b9e88;color:var(--bbs-text-muted)}.loading-state{align-items:center;display:flex;font-size:.9rem;gap:10px;justify-content:center;padding:48px 0}.spinner{animation:spin .6s linear infinite;border:2px solid #a7f3d0;border-top-color:#059669;border:2px solid var(--bbs-border);border-radius:50%;border-top-color:var(--bbs-accent);height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.error-state{color:#b91c1c;padding:40px 0}.empty-state,.error-state{font-size:.9rem;text-align:center}.empty-state{padding:48px 0}.btn-delete-post,.empty-state{color:#6b9e88;color:var(--bbs-text-muted)}.btn-delete-post{align-items:center;background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:6px;border-radius:var(--bbs-radius-sm);cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:26px;justify-content:center;margin-left:6px;transition:all .15s;width:26px}.btn-delete-post:hover:not(:disabled){background:#fff1f1;border-color:#fca5a5;color:#dc2626}.btn-delete-post:disabled{cursor:not-allowed;opacity:.45}@media (max-width:560px){.bbs-container{border-radius:8px;border-radius:var(--bbs-radius);margin:16px auto}.thread-item{align-items:flex-start;flex-direction:column;gap:6px}.thread-item-meta{justify-content:space-between;width:100%}.post-content{padding-left:0}.form-input,.form-select{flex:1 1 100%}.btn-submit{width:100%}}*,button,input,select,textarea{font-family:Kosugi Maru}body,html{height:100%;margin:0;overflow-y:auto;padding:0}#root{min-height:100%}
/*# sourceMappingURL=main.27bcd780.css.map*/