:root{--quiet-paper:#f5f1eb;--quiet-card:#fffdf9;--quiet-ink:#33252a;--quiet-muted:#857778;--quiet-line:#ded5cc;--quiet-wine:#6d3947;--quiet-wine-dark:#4b2631;--quiet-blush:#e8d9d6;--quiet-gold:#a98256}
body.noir-theme{background:var(--quiet-paper);color:var(--quiet-ink)}
body.noir-theme::before,body.noir-theme::after{display:none}
.noir-theme .topbar{position:relative;height:74px;background:rgba(255,253,249,.92);border-bottom:1px solid var(--quiet-line);padding:0 max(28px,calc((100% - 1120px)/2));backdrop-filter:blur(10px)}
.noir-theme .brand{gap:13px;color:var(--quiet-wine-dark)}.noir-theme .brand-name{font-family:Georgia,"Songti SC",serif;font-size:26px;font-weight:500;letter-spacing:1px}.noir-theme .brand-tagline{font-size:12px;font-weight:500;color:var(--quiet-muted);letter-spacing:0}
.noir-theme .shell{max-width:1120px;padding:56px 30px 76px}.noir-theme .stage-intro{display:block;min-height:0;margin:0 0 48px;padding:0;background:transparent;border:0;box-shadow:none;overflow:visible}.noir-theme .stage-intro::before{display:none}.noir-theme .stage-copy{max-width:680px}.noir-theme .eyebrow{color:var(--quiet-gold);font-size:11px;font-weight:700;letter-spacing:1.5px;margin:0 0 14px}.noir-theme .intro h1{color:var(--quiet-ink);font-size:46px;line-height:1.18;font-weight:500;margin:0}.noir-theme .stage-lede{margin:16px 0 0;color:var(--quiet-muted);font-size:16px;letter-spacing:0}.noir-theme .stage-ornament{display:none}
.noir-theme .content-section,.noir-theme .ad-section{margin-top:48px}.noir-theme .section-heading{border-bottom:1px solid var(--quiet-line);padding-bottom:14px;margin-bottom:20px}.noir-theme .section-heading h2{color:var(--quiet-ink);font-size:29px;font-weight:500}.noir-theme .section-note{color:var(--quiet-muted);font-size:12px}
.noir-theme .daily-section .board-grid{gap:18px}.noir-theme .rank-card{min-height:310px;padding:26px 26px 23px;background:var(--quiet-card);border:1px solid var(--quiet-line);border-radius:2px;box-shadow:0 12px 30px rgba(73,46,42,.055)}.noir-theme .rank-card::before{top:22px;bottom:auto;width:28px;height:2px;background:var(--quiet-wine)}
.noir-theme .rank-top{padding-top:12px}.noir-theme .rank-number{color:var(--quiet-wine);font-size:25px;letter-spacing:1px}.noir-theme .category-label{color:var(--quiet-wine-dark);font-size:13px}.noir-theme .category-tip{color:var(--quiet-muted);font-size:12px;line-height:1.6;margin-top:7px}.noir-theme .phrase{color:var(--quiet-ink);font-size:21px;line-height:1.7;margin:28px 0 10px;overflow-wrap:anywhere}
.noir-theme .card-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:25px}.noir-theme .card-action{min-height:38px;border:1px solid #cdbcb9;background:transparent;color:var(--quiet-wine-dark);font-size:12px;font-weight:600;letter-spacing:0;transition:background .18s ease,color .18s ease}.noir-theme .card-action:hover{background:#f4ebe8}.noir-theme .card-action-primary{background:var(--quiet-wine-dark);border-color:var(--quiet-wine-dark);color:#fffaf5}.noir-theme .card-action-primary:hover{background:var(--quiet-wine)}
.noir-theme .ad-grid{gap:18px}.noir-theme .ad-slot,.noir-theme .ad-empty{min-height:164px;background:var(--quiet-card);border:1px solid var(--quiet-line);border-radius:2px;box-shadow:0 10px 26px rgba(73,46,42,.045)}.noir-theme .ad-slot img{height:164px;filter:saturate(.78) contrast(.96)}.noir-theme .ad-slot figcaption{padding:12px 14px;background:var(--quiet-card);color:var(--quiet-wine-dark);font-size:12px;font-weight:600}.noir-theme .ad-empty{color:var(--quiet-muted);font-family:Georgia,"Songti SC",serif;letter-spacing:1px}.noir-theme .notice{background:#fcf6f4;border-color:#e5d2cf;color:var(--quiet-wine-dark)}.noir-theme .notice.error{background:#fff0ef;border-color:#e1beb9;color:#8b3b3b}
@media(max-width:900px){.noir-theme .shell{padding:38px 22px 56px}.noir-theme .daily-section .board-grid{grid-template-columns:minmax(0,1fr);gap:14px}.noir-theme .rank-card{min-width:0;max-width:100%;min-height:280px}.noir-theme .intro h1{font-size:40px}}
@media(max-width:560px){.noir-theme .topbar{height:68px;padding:0 22px}.noir-theme .brand{display:block}.noir-theme .brand-name{font-size:24px}.noir-theme .brand-tagline{display:block;margin-top:1px;font-size:10px}.noir-theme .shell{padding:34px 20px 48px}.noir-theme .stage-intro{margin-bottom:38px}.noir-theme .intro h1{font-size:31px;overflow-wrap:anywhere}.noir-theme .stage-lede{font-size:15px}.noir-theme .section-heading h2{font-size:26px}.noir-theme .rank-card{padding:24px 23px}.noir-theme .phrase{font-size:20px}.noir-theme .card-actions{margin-top:22px}}
