:root{color-scheme:dark;--bg:#151419;--surface:#222127;--surface2:#2b292f;--text:#eeeaf1;--muted:#b5afb9;--accent:#d6b9e8;--line:#3b3841;--green:#9cc98b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.48 system-ui,-apple-system,sans-serif}.topbar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:12px;min-height:72px;padding:calc(8px + env(safe-area-inset-top)) 16px 9px;background:#201e25;border-bottom:1px solid var(--line)}.heading{min-width:0;flex:1}.eyebrow{color:var(--accent);font-size:10px;font-weight:700;letter-spacing:.12em}h1{margin:0;font-size:20px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-button{flex:none;border:0;border-radius:50%;width:42px;height:42px;background:transparent;color:var(--text);font-size:29px;cursor:pointer}.icon-button:hover,.icon-button:focus-visible{background:var(--surface2)}button{font:inherit}main{max-width:800px;margin:0 auto;padding:16px 14px 48px}.status{padding:48px 12px;text-align:center;color:var(--muted)}.status button{display:block;margin:20px auto 0}.search{width:100%;border:1px solid var(--line);border-radius:16px;padding:13px 16px;background:var(--surface);color:var(--text);font:inherit;outline:none}.search:focus{border-color:var(--accent)}.section-title{margin:24px 4px 10px;color:var(--accent);font-size:13px;letter-spacing:.02em}.board-list{display:grid;gap:5px}.board,.thread-card{border:0;color:inherit;text-align:left;cursor:pointer}.board{width:100%;display:flex;align-items:center;gap:14px;background:var(--surface);border-radius:12px;padding:13px 15px}.board:active,.thread-card:active{background:var(--surface2)}.board-code{min-width:55px;color:var(--accent);font-weight:700}.board-name{color:var(--text)}.board-arrow{margin-left:auto;color:var(--muted)}.threads{display:grid;gap:10px}.thread-card,.post{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:14px}.thread-card{overflow:hidden}.thread-top{display:flex;gap:12px;align-items:flex-start}.thumb{width:90px;height:90px;flex:none;object-fit:cover;border-radius:10px;background:var(--surface2)}.thread-info{min-width:0;flex:1}.subject{font-weight:700;overflow-wrap:anywhere}.meta{color:var(--muted);font-size:12px;margin:4px 0 8px}.excerpt{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.count{margin-top:10px;color:var(--accent);font-size:12px}.posts{display:grid;gap:9px}.post-header{display:flex;gap:8px;flex-wrap:wrap;align-items:baseline;margin-bottom:8px}.post-name{color:var(--accent);font-weight:700}.post-id,.post-date{color:var(--muted);font-size:12px}.post .subject{margin-bottom:8px}.post-text{overflow-wrap:anywhere;white-space:pre-wrap}.post-text a{color:var(--accent)}.post-text .quote{color:var(--green)}.attachments{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}.attachment{position:relative;display:block;overflow:hidden;border:0;padding:0;border-radius:10px;background:var(--surface2);color:var(--text);cursor:pointer}.attachment img{display:block;width:120px;height:120px;object-fit:cover}.attachment-label{position:absolute;right:4px;bottom:4px;border-radius:5px;padding:2px 5px;background:#000b;color:#fff;font-size:10px}.pill{border:0;border-radius:999px;background:var(--accent);color:#251b2d;padding:10px 18px;font-weight:650}.empty{color:var(--muted);text-align:center;margin-top:32px}dialog{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#000e;color:white}dialog::backdrop{background:#000c}#media-content{height:100%;display:flex;align-items:center;justify-content:center;padding:48px 0}#media-content img,#media-content video{max-height:100%;max-width:100%;object-fit:contain}.close-media{position:absolute;top:calc(10px + env(safe-area-inset-top));right:12px;border:0;border-radius:50%;background:#333c;color:white;width:44px;height:44px;font-size:30px;z-index:1}@media(min-width:600px){main{padding-top:24px}.threads{grid-template-columns:repeat(2,minmax(0,1fr))}.thumb{width:110px;height:110px}}
.favorite-toggle{display:block;margin:0 0 12px;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:var(--surface);color:var(--accent);cursor:pointer}.favorite-list{display:grid;gap:8px}.favorite-row{display:flex;align-items:center;gap:6px;padding:5px 8px;background:var(--surface);border:1px solid var(--line);border-radius:15px}.favorite-open{flex:1;min-width:0;display:flex;align-items:center;gap:10px;border:0;padding:10px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.favorite-name{flex:1;overflow-wrap:anywhere}.favorite-open .meta{white-space:nowrap;margin:0}
.reply-jump { margin: 0 0 12px 8px; }
.reply-form { display: grid; gap: 10px; margin: 16px 0 28px; padding: 16px; background: var(--surface, #25242b); border-radius: 14px; }
.reply-label { font-weight: 600; }
.reply-input { width: 100%; min-height: 110px; padding: 12px; border: 1px solid #686570; border-radius: 8px; color: inherit; background: #1c1b20; font: inherit; resize: vertical; }
.reply-form input.reply-input { min-height: auto; }
.reply-send { justify-self: start; }
.reply-send:disabled { opacity: .55; }
.reply-status { white-space: pre-wrap; }
.spoiler-toggle { padding: 1px 5px; border: 1px solid var(--line); border-radius: 4px; background: var(--surface2); color: var(--muted); cursor: pointer; }
.passcode-link { justify-self: start; border: 0; padding: 4px 0; background: transparent; color: var(--accent); text-decoration: underline; cursor: pointer; }
.passcode-option { display: grid; gap: 10px; padding: 12px 0; border-top: 1px solid var(--line); }
.passcode-option p { margin: 0; }
.passcode-option .pill { justify-self: start; }
