:root{--primary:#2563eb;--primary-dark:#1d4ed8;--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--text:#1e293b;--muted:#64748b}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Hiragino Sans,Noto Sans JP,Meiryo,sans-serif;font-size:16px;line-height:1.6}a{color:var(--primary)}a:hover{text-decoration:underline}.nav{background:var(--primary);z-index:100;position:sticky;top:0;box-shadow:0 2px 4px #0000001f}.nav-inner{align-items:center;gap:1.25rem;max-width:900px;height:52px;margin:0 auto;padding:0 1rem;display:flex}.nav-brand{white-space:nowrap;flex-shrink:0;text-decoration:none}.nav-brand:hover{text-decoration:none}.nav-brand-text{color:#fff;letter-spacing:.03em;text-shadow:0 1px 3px #0003;background:#ffffff1f;border:1px solid #ffffff40;border-radius:6px;padding:.2rem .65rem;font-size:1.15rem;font-weight:800}.nav-links{flex:1;gap:.75rem;display:flex}.nav-links a{color:#ffffffd9;border-radius:4px;padding:.25rem .5rem;font-size:.9rem;text-decoration:none}.nav-links a:hover{color:#fff;background:#ffffff26;text-decoration:none}.nav-links a.nav-active{color:#fff;background:#ffffff40;font-weight:600}main{max-width:900px;margin:0 auto;padding:1.5rem 1rem}h1{color:var(--text);margin-bottom:1rem;font-size:1.4rem}h2{color:var(--text);margin:1.25rem 0 .5rem;font-size:1.1rem}.action-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.filter-bar{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.75rem;display:flex}.filter-bar a{color:var(--muted);border:1px solid var(--border);border-radius:20px;padding:.3rem .8rem;font-size:.85rem;text-decoration:none}.filter-bar a:hover{background:var(--bg);text-decoration:none}.filter-bar a.active{background:var(--primary);color:#fff;border-color:var(--primary)}.filter-bar select{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:4px;padding:.3rem .6rem;font-size:.85rem}.filter-sep{color:var(--border);font-size:.75rem}.card-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.75rem;padding:.875rem 1rem;transition:box-shadow .15s;display:flex}.card:hover{box-shadow:0 2px 8px #00000014}.card a{color:var(--text);flex:1;font-weight:500;text-decoration:none}.card a:hover{color:var(--primary);text-decoration:none}.card-body{flex-direction:column;flex:1;min-width:0;display:flex}.card-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.card-author{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.75rem}.card-excerpt{color:var(--muted);width:100%;margin-top:.2rem;font-size:.8rem;line-height:1.4}.badge{white-space:nowrap;border-radius:4px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-root{color:#5b21b6;background:#ede9fe}.badge-owner{color:#1e40af;background:#dbeafe}.badge-staff{color:#475569;background:#f1f5f9}.badge-manual{color:#1e40af;background:#dbeafe}.badge-faq{color:#166534;background:#dcfce7}.badge-category{color:#475569;background:#f1f5f9}.badge-resolved{color:#166534;background:#dcfce7}.badge-unresolved{color:#92400e;background:#fef9c3}.detail-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;display:flex}.detail-section{margin-bottom:1.5rem}.detail-section h2{border-bottom:2px solid var(--border);color:var(--muted);margin-bottom:.75rem;padding-bottom:.25rem;font-size:1rem}.detail-content{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;line-height:1.8}.detail-actions{border-top:1px solid var(--border);align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1rem;display:flex}.article{line-height:1.8}.article-p{white-space:pre-wrap;word-break:break-word;margin:0 0 .6rem}.article-img{border:1px solid var(--border);cursor:zoom-in;border-radius:6px;max-width:100%;height:auto;margin:.8rem auto;display:block}.article-editor{flex-direction:column;gap:.4rem;display:flex}.article-text-input{border:1px solid var(--border);resize:none;background:#fff;border-radius:6px;width:100%;min-height:2.9rem;padding:.5rem .75rem;font-family:inherit;font-size:1rem;line-height:1.8;overflow:hidden}.article-text-input:focus{outline:2px solid var(--primary);outline-offset:-1px}.article-block-image{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:center;gap:.5rem;padding:.6rem;display:flex}.article-block-image .article-img{cursor:default;margin:0}.article-image-tools{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;display:flex}.article-toolbar{background:var(--bg);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem;display:flex}.article-toolbar-note{color:var(--muted);font-size:.8rem}.article-size-label{color:var(--muted);align-items:center;gap:.35rem;font-size:.8rem;display:flex}.form-card-wide{max-width:none}.btn{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;line-height:1.4;text-decoration:none;display:inline-block}.btn:hover{text-decoration:none}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);color:#fff}.btn-secondary{color:var(--text);border:1px solid var(--border);background:#fff}.btn-secondary:hover{background:var(--bg)}.btn-danger{color:#fff;background:#dc2626}.btn-danger:hover{color:#fff;background:#b91c1c}.btn-sm{padding:.3rem .6rem;font-size:.8rem}.form-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;max-width:640px;padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{color:var(--muted);margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-group input[type=text],.form-group input[type=email],.form-group input[type=password],.form-group select,.form-group textarea,.form-group input[type=file]{border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:1rem}.form-group input[type=file]{cursor:pointer;padding:.4rem .5rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--primary);outline-offset:-1px}.form-actions{align-items:center;gap:.75rem;margin-top:1.5rem;display:flex}.field-hint{color:var(--muted);margin-top:.25rem;font-size:.8rem;display:block}.field-error{color:#dc2626;margin-top:.25rem;font-size:.8rem;display:block}.form-group input.input-error,.form-group textarea.input-error{border-color:#dc2626;outline-color:#dc2626}.search-bar{gap:.5rem;margin-bottom:1.5rem;display:flex}.search-bar input{border:2px solid var(--border);background:#fff;border-radius:8px;flex:1;padding:.625rem .875rem;font-family:inherit;font-size:1rem}.search-bar input:focus{border-color:var(--primary);outline:none}.result-list{flex-direction:column;gap:.5rem;list-style:none;display:flex}.result-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.25rem;padding:.875rem 1rem;display:flex}.result-header{align-items:center;gap:.5rem;display:flex}.result-title{color:var(--primary);font-weight:500;text-decoration:none}.result-title:hover{text-decoration:underline}.result-excerpt{color:var(--muted);font-size:.875rem}.login-wrap{background:var(--surface);border:1px solid var(--border);border-radius:12px;max-width:400px;margin:4rem auto;padding:2rem}.login-wrap h1{text-align:center;margin-bottom:1.5rem;font-size:1.3rem}.login-wrap .btn-primary{text-align:center;width:100%;padding:.625rem;font-size:1rem}.alert-error{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.alert-success{color:#166534;background:#dcfce7;border:1px solid #86efac;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem}.empty-msg{color:var(--muted);padding:1rem 0}.table-wrapper{overflow-x:auto}.data-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px;width:100%;overflow:hidden}.data-table th{background:var(--bg);text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:.625rem 1rem;font-size:.875rem}.data-table td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.75rem 1rem;font-size:.9rem}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg)}.lightbox-overlay{z-index:1000;cursor:zoom-out;background:#000000e0;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.lightbox-img{object-fit:contain;border-radius:6px;max-width:95vw;max-height:88vh}.lightbox-hint{color:#fff9;margin-top:.75rem;font-size:.8rem}.account-info-row{border-bottom:1px solid var(--border);align-items:baseline;gap:1rem;padding:.6rem 0;font-size:.95rem;display:flex}.account-info-label{width:7rem;color:var(--muted);flex-shrink:0;font-size:.875rem}.account-info-value{font-weight:500}.account-section{margin-bottom:2rem}.account-section h2{border-bottom:2px solid var(--border);color:var(--text);margin-bottom:.75rem;padding-bottom:.375rem;font-size:1rem}.account-section-note{color:var(--muted);margin-bottom:.6rem;font-size:.85rem}.confirm-inline{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;list-style:none;display:flex}.post-body{white-space:pre-wrap;word-break:break-word;line-height:1.8}.post-footer{justify-content:space-between;align-items:center;display:flex}.post-date{color:var(--muted);font-size:.8rem}@media (width<=600px){h1{font-size:1.2rem}.form-actions{flex-direction:column;align-items:stretch}.form-actions .btn,.form-actions a{text-align:center}.detail-actions{flex-wrap:wrap}.action-bar{flex-direction:column;align-items:flex-start}.nav-inner{flex-wrap:wrap;gap:.4rem;height:auto;padding:.5rem 1rem}.nav-brand{flex:none}.nav-brand-text{font-size:1rem}.nav-links{order:3;gap:.4rem;width:100%}.nav-links a{padding:.35rem .45rem;font-size:.82rem}.account-info-label{width:5.5rem}.btn{justify-content:center;align-items:center;min-height:44px;display:inline-flex}}
