:root{--ink:#fff8fc;--muted:#cbb7c4;--line:#5b3048;--green:#ff4f9a;--green-dark:#ff8fbd;--mint:#2b1322;--bg:#090709;--shadow:0 16px 40px rgba(0,0,0,.34)}
body{background:radial-gradient(circle at 82% 0,#45152f 0,#160b12 40%,#090709 100%);color:var(--ink)}
.site-header{background:rgba(10,6,9,.92);border-bottom-color:var(--line)}.brand,.site-header nav a,h1,h2,h3{color:#fff}.brand-mark{background:linear-gradient(135deg,#ff3f92,#ff9bc8);color:#160710}
.hero,.post-card,.filter-card,.article-page,.post-form,.share-panel,.member-panel,.reply-card,.guide-grid section{background:linear-gradient(145deg,#26131f,#160d14);border-color:var(--line);color:var(--ink)}
.hero{background:linear-gradient(130deg,#351329,#180d15)}.hero p,.form-intro p,.post-person p,.post-message,.article-page>p,.member-row small,.reply-card time{color:var(--muted)}
input,select,textarea{background:#0e090d!important;border-color:#6d3b56!important;color:#fff!important}.primary-button,.search-button{background:linear-gradient(135deg,#ff3f92,#ff77b1)!important;color:#190710!important}.contact-row{background:#2b1322}.copy-id{background:#fff;color:#9b1557}footer{background:#070507;color:#fff}
.member-page{max-width:900px;margin:32px auto 70px}.member-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.member-panel{padding:22px;margin:18px 0;border:1px solid var(--line);border-radius:18px}.member-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;border-top:1px solid var(--line)}.member-row:first-of-type{border-top:0}.member-row strong,.member-row small{display:block}.reply-section{max-width:760px;margin:26px auto}.reply-card{padding:18px;margin:12px 0;border:1px solid var(--line);border-radius:14px}.reply-card header{display:flex;justify-content:space-between;gap:12px}.reply-card p{line-height:1.8}.reply-form{margin-top:15px}.favorite-form{max-width:760px;margin:18px auto}.member-benefit{padding:13px;border:1px solid #84405f;border-radius:10px;background:#2d1422;color:#ffc0dc}
/* Contrast fixes for components inherited from the light theme. */
.safety-bar{margin-top:24px;background:#2b1d0c;border-color:#73521d;color:#fff1cf}.safety-bar strong{color:#ffca67}.safety-bar span{color:#f5e7c9}.safety-bar a{color:#ffb5d5}
.qr-code-card,.detail-card .qr-code-card{background:#23151f;border-color:#69405b}.qr-code-card figcaption{color:#fff}.qr-code-card figcaption small{color:#d7bdcc}.qr-code-image{background:#fff}
.profile-cache{background:#20131c;border-color:#70405a}.profile-cache .check span{color:#fff}.profile-cache p{color:#d9c1cf}.profile-cache button{background:#2c1926;border-color:#8b5272;color:#ffd0e5}.profile-cache-status{color:#ff9fc8}
.check span,.contacts-fieldset legend,.contacts-fieldset legend span{color:#fff}.contacts-fieldset{border-color:#684058}.contacts-fieldset>p,.image-upload small,.char-count{color:#d5bdcb}.contact-id{color:#fff}.id-suffix,.contact-label{color:#ff9fc8}
.empty{background:#21131c;border-color:var(--line);color:#fff}.empty p,.result-count,.reset-link{color:#d3bdca}.pagination a{background:#21131c;color:#fff;border-color:var(--line)}
.share-action:not(.primary):not(.x):not(.line),.profile-link,.qr-link,.contact-actions .copy-id{background:#fff;color:#8d1552;border-color:#f0a6c9}
.notice.success{background:#173326;border-color:#39785c;color:#baf3d5}.notice.warning{background:#3b2b11;border-color:#8a6929;color:#ffe09a}.error-list,.notice.error{background:#421628;border-color:#9d466b;color:#ffd4e6}
.article-page>p,.terms li{color:#d8c3cf}.guide-grid b{color:#ff90be}.guide-grid section p{color:#d8c3cf}
.image-pending-notice{background:#3b2b11;color:#ffe09a}.member-switch{color:#d8c3cf;text-align:center}.member-switch a{color:#ff92be;font-weight:800}
.admin-list article,.image-review-card,.metric-grid section,.analytics-panel,.analytics-optout,.log-filters,.log-table-wrap,.ng-add-form,.ng-word-list{background:#21131c;border-color:var(--line);color:#fff}.image-review-card>a,.access-log-table th,.ng-word-head{background:#301b28;color:#d8c3cf}.access-log-table td,.ng-word-list article{border-color:var(--line)}.admin-list button,.image-review-card button,.analytics-optout button,.log-filter-actions button,.log-filter-actions a,.ng-word-list button,.admin-filters a{background:#2c1926;border-color:#7a4864;color:#fff}.admin-filters a.active{background:#4a1d35;color:#ffb1d2}.image-status,.status,.report-num{background:#321d2a}.bot-badge{background:#503347;color:#fff}.raw-ip{color:#ff9daf!important}
.post-card{overflow:hidden;background:#160d14}.post-image-link{display:block;overflow:hidden;background:#160d14}.post-image{display:block;background:#160d14}.detail-card{overflow:hidden;background:#160d14}.detail-image{display:block;border-radius:18px!important;background:#160d14;clip-path:inset(0 round 18px)}
.post-card:has(>.post-image-link)>.post-image-link,.post-card:has(>.post-image-link)>.post-image-link .post-image,.detail-card:has(>.detail-image)>.detail-image,.image-preview{background:#160d14}.qr-image-preview{background:#fff}
.thread-comment-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 12px;padding:12px 15px;border:1px solid #a74b75;border-radius:12px;background:#351528;color:#ffafd1;font-size:14px;font-weight:800;text-decoration:none}.thread-comment-link:hover{background:#4a1a35;color:#fff}.thread-comment-link span{font-size:18px}
.image-upload{display:grid;gap:8px}.image-upload-title{font-size:13px;font-weight:700;color:#fff}.image-upload-title span{display:block;margin-top:3px;color:#ff4f9a;font-size:10px}.file-picker{display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 12px;border:1px solid #6d3b56;border-radius:10px;background:#0e090d}.file-input-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.file-select-button{flex:none;padding:7px 12px;border:1px solid #ddd;border-radius:2px;background:#fff;color:#111;font:inherit;cursor:pointer}.file-name{min-width:0;overflow:hidden;color:#fff;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.share-action.x{background:#272129!important;border-color:#817480!important;color:#fff!important}.share-action.x:hover{background:#3a323b!important;border-color:#a395a1!important}
.detail-card .detail-tools{margin-top:16px;padding-top:12px;border-top:1px solid #4f2b40}.detail-card .detail-tools a{color:#d9bdcd;text-decoration:none}.detail-card .detail-tools a:hover{color:#ff9fc8;text-decoration:underline}
.member-benefit a{color:#ffafd1;font-weight:800}.form-intro>.primary-button{margin-top:10px}
.saved-profile-media{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:14px;padding:12px;border:1px solid #69405b;border-radius:12px;background:#23151f}.saved-profile-media img{display:block;width:110px;height:110px;object-fit:contain;border-radius:10px;background:#160d14}.saved-profile-media.qr img{background:#fff}.saved-profile-media .check{margin:0}.saved-profile-media .check span{color:#fff}
.hero{padding:26px 34px;align-items:center}.hero h1{margin:5px 0 0;font-size:clamp(25px,4vw,36px)}
.hero-action-only{min-height:0;padding:16px 18px;justify-content:center}.hero-action-only .primary-button{width:min(100%,420px);margin-top:0}
.filter-column{height:max-content;position:sticky;top:98px}.filter-column .filter-card{position:static}.sidebar-post-button{width:100%;margin-bottom:14px}
.member-avatar{object-fit:cover;border:2px solid #ff72ad}.member-name-link{color:#fff;text-decoration:none}.member-name-link:hover{color:#ff9fc8;text-decoration:underline}.profile-visibility{padding:14px;border:1px solid #70405a;border-radius:12px;background:#20131c}.profile-visibility p{margin:6px 0 12px;color:#d9c1cf;font-size:12px}.member-public-page{max-width:800px;margin:40px auto 70px}.member-public-profile{display:grid;grid-template-columns:150px 1fr;gap:24px;align-items:center;padding:26px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,#26131f,#160d14)}.member-public-avatar{display:grid;place-items:center;width:150px;height:150px;border:2px solid #ff72ad;border-radius:50%;background:#311426;color:#fff;font-size:50px;font-weight:900;object-fit:cover}.member-public-profile h1{margin:4px 0}.member-meta{color:#ffafd1}.member-bio{color:#d9c1cf;line-height:1.9}.member-public-qr{display:block;width:min(100%,320px);margin-top:16px;border-radius:14px;background:#fff}
.upload-legal-warning{padding:14px 16px;border:1px solid #b65a45;border-radius:12px;background:#351710;color:#ffe8df}.upload-legal-warning strong{display:block;margin-bottom:5px;color:#ffb09c;font-size:14px}.upload-legal-warning p{margin:0;color:#f1d4ca;font-size:12px;line-height:1.75}
.reply-setting{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:14px;border:1px solid #684058;border-radius:12px}.reply-setting legend{padding:0 7px;color:#fff;font-weight:800}.reply-setting label{display:flex;align-items:flex-start;gap:9px;padding:12px;border:1px solid #684058;border-radius:10px;background:#160d14;cursor:pointer}.reply-setting input{width:auto;margin-top:3px;accent-color:#ff4f9a}.reply-setting span{display:grid;gap:2px;color:#fff}.reply-setting small{color:#d5bdcb;font-size:11px;font-weight:400}.comments-closed{margin-top:18px;padding:16px;border:1px solid #684058;border-radius:12px;background:#21131c;text-align:center}.comments-closed strong{color:#ffafd1}.comments-closed p{margin:5px 0 0;color:#d5bdcb;font-size:13px}.thread-comment-link.is-closed{justify-content:center;border-color:#58434f;background:#211a1f;color:#bfaeb8;cursor:default}
@media(max-width:780px){.header-inner{width:100%;height:auto;display:block}.brand{width:min(100% - 28px,1100px);min-height:64px;margin:auto}.site-header nav{display:grid;grid-template-columns:repeat(3,1fr);width:100%;gap:0;border-top:1px solid #452238}.site-header nav a{display:flex!important;align-items:center;justify-content:center;min-height:43px;padding:8px 5px;border-left:1px solid #452238;font-size:12px;text-align:center;white-space:nowrap}.site-header nav a:first-child{display:none!important}.site-header nav a:nth-child(2){border-left:0}.filter-column{grid-row:1;position:static}}
@media(max-width:700px){.member-grid,.reply-setting{grid-template-columns:1fr}.hero{padding:21px 20px}.hero h1{font-size:27px}.hero .primary-button{margin-top:17px;padding:13px 18px}.member-public-profile{grid-template-columns:1fr;text-align:center}.member-public-avatar{margin:auto}}
