:root{--bg-base:#0d1117;--bg-surface:#161b22;--bg-elevated:#21262d;--bg-hover:#30363d;--border:#30363d;--border-muted:#21262d;--accent:#f78166;--accent-dim:#b2451a;--text-primary:#e6edf3;--text-secondary:#8b949e;--text-muted:#6e7681;--link:#79c0ff;--link-hover:#a5d6ff;--sage:#7ee787;--error:#f85149;--success:#3fb950;--radius:6px;--radius-lg:12px;--shadow:0 1px 3px rgba(0,0,0,.4);--shadow-lg:0 8px 32px rgba(0,0,0,.5);--font:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:14px;scroll-behavior:smooth}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font);line-height:1.6;min-height:100vh}a{color:var(--link);text-decoration:none;transition:color .15s}a:hover{color:var(--link-hover);text-decoration:underline}.container{margin:0 auto;max-width:1100px;padding:0 16px}.site-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--bg-surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.site-header .inner{align-items:center;display:flex;height:52px;margin:0 auto;max-width:1100px;padding:0 20px}.site-header .logo{flex-shrink:0;font-size:1.15rem;font-weight:700;letter-spacing:.03em}.site-header .logo,.site-header .logo:hover{color:var(--accent);text-decoration:none}.site-header .breadcrumb{align-items:center;color:var(--text-secondary);display:flex;font-size:.82rem;gap:6px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.site-header .breadcrumb::-webkit-scrollbar{display:none}.site-header .breadcrumb span{color:var(--text-muted)}.breadcrumb-container{background:var(--bg-surface);border-bottom:1px solid var(--border);padding:8px 20px}.breadcrumb-container .breadcrumb{align-items:center;color:var(--text-secondary);display:flex;font-size:.82rem;gap:6px;margin:0 auto;max-width:1100px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.breadcrumb-container .breadcrumb::-webkit-scrollbar{display:none}.breadcrumb-container .breadcrumb span{color:var(--text-muted)}.site-header nav{display:flex;gap:4px}.site-header nav a{border-radius:var(--radius);color:var(--text-secondary);font-size:.82rem;padding:4px 10px;transition:background .15s,color .15s}.site-header nav a:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.page{padding:24px 0 64px}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.card-header{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:10px;padding:18px 24px}.card-header h2{color:var(--text-primary);font-size:.95rem;font-weight:700}.card-body{padding:0}.category-label{background:var(--bg-base);border-top:1px solid var(--border-muted);color:var(--text-muted);display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:8px 20px 4px;text-transform:uppercase}.category-label:first-child{border-top:none}.board-item{align-items:center;border-bottom:1px solid var(--border-muted);display:flex;gap:12px;padding:11px 20px;transition:background .12s}.board-item:last-child{border-bottom:none}.board-item:hover{background:var(--bg-elevated)}.board-item .name{color:var(--link);flex:1;font-weight:500}.board-item .name:hover{color:var(--link-hover)}.board-item .desc{color:var(--text-muted);font-size:.82rem}.thread-item{align-items:center;border-bottom:1px solid var(--border-muted);display:flex;gap:12px;padding:10px 20px;transition:background .12s}.thread-item:last-child{border-bottom:none}.thread-item:hover{background:var(--bg-elevated)}.thread-item .num{color:var(--text-muted);flex-shrink:0;font-size:.78rem;width:28px}.thread-item .title{color:var(--link);flex:1;font-weight:500}.thread-item .title:hover{color:var(--link-hover)}.thread-item .count{background:var(--bg-elevated);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);font-size:.78rem;padding:1px 8px;white-space:nowrap}.thread-item .count.full{border-color:var(--error);color:var(--error)}.post{border-bottom:1px solid var(--border-muted);padding:0}.post:last-child{border-bottom:none}.post-header{align-items:baseline;background:var(--bg-elevated);display:flex;flex-wrap:wrap;gap:8px;padding:10px 20px 4px}.post-number{color:var(--accent);font-size:.85rem;font-weight:700}.post-name{color:var(--text-primary);font-weight:600}.post-name.sage{color:var(--sage)}.post-email{font-size:.8rem}.post-date,.post-email{color:var(--text-muted)}.post-date{font-size:.78rem;margin-left:auto}.post-userid{background:var(--bg-hover);border-radius:3px;color:var(--text-secondary);font-family:var(--font-mono);font-size:.78rem;padding:1px 5px}.post-body{color:var(--text-primary);font-size:.92rem;line-height:1.75;padding:8px 20px 12px;word-break:break-word}.post-body a{color:var(--link)}.post-body a:hover{color:var(--link-hover)}.anchor-link{color:var(--accent);cursor:pointer;font-weight:600}.anchor-link:hover{text-decoration:underline}.write-form{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.write-form h3{color:var(--text-secondary);font-size:.9rem;font-weight:700;letter-spacing:.06em;margin-bottom:14px;text-transform:uppercase}.form-row{display:flex;gap:10px;margin-bottom:10px}.form-row .field{flex:1}label{color:var(--text-secondary);display:block;font-size:.78rem;margin-bottom:4px}input[type=text],textarea{background:var(--bg-base);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-family:var(--font);font-size:.9rem;outline:none;padding:8px 10px;transition:border-color .15s,box-shadow .15s;width:100%}input[type=text]:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f7816626}textarea{min-height:100px;resize:vertical}.form-actions{align-items:center;display:flex;gap:8px;margin-top:12px}.btn-sm{font-size:.82rem;padding:5px 12px}.btn{align-items:center;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;display:inline-flex;font-family:var(--font);font-size:.88rem;font-weight:600;gap:6px;padding:8px 18px;text-decoration:none;transition:all .15s}.btn-primary{background:var(--accent);border-color:var(--accent);color:#0d1117}.btn-primary:hover{background:#ff9580;color:#0d1117;text-decoration:none}.btn-secondary{background:transparent;border-color:var(--border);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-hover);color:var(--text-primary);text-decoration:none}.btn-danger{background:transparent;border-color:var(--error);color:var(--error)}.btn-danger:hover{background:#f851491a;text-decoration:none}.btn:disabled{cursor:not-allowed;opacity:.5}.badge{border:1px solid;border-radius:20px;display:inline-block;font-size:.72rem;font-weight:600;padding:2px 8px}.state-empty{color:var(--text-muted);font-size:.88rem;padding:40px 20px;text-align:center}.state-error{background:#f8514914;border:1px solid rgba(248,81,73,.25);border-radius:var(--radius);color:var(--error);font-size:.88rem;padding:16px 20px}.new-thread-toggle{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:8px;padding:10px 20px}.spinner{animation:spin .6s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);display:inline-block;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:640px){.page{padding:16px 0 64px}.container{padding:0 10px}.site-header .inner{padding:0 16px}.form-row{flex-direction:column;gap:10px}input[type=number],input[type=password],input[type=text],textarea{font-size:16px;padding:10px 12px}.btn{font-size:1rem;justify-content:center;padding:12px 16px}.btn-sm{font-size:.9rem;padding:8px 12px}.site-header .nav-text{display:none}.site-header nav{gap:8px!important}.post-header{align-items:baseline;flex-direction:row;flex-wrap:wrap;gap:6px;padding:8px 16px 4px}.post-date{font-size:.8rem;margin-left:0;width:auto}.post-userid{font-size:.85rem}.post-body{font-size:1rem;padding:6px 16px 16px}.board-item{padding:14px 16px}.thread-item{padding:12px 16px}.thread-item .title{font-size:1rem}.card-header h2{font-size:1.05rem}}.anchor-popover{animation:popover-appear .15s ease-out;border:1px solid var(--border);box-shadow:0 4px 16px #0003;max-width:450px;overflow:hidden;position:absolute;width:90%;z-index:1000}@keyframes popover-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
