/* 群聊时刻（2026-10-20）：原 room-play-100 的 base.css 套上 .rw 作用域、换成 Matrix 配色。
   由 tools/build_room.py 的配色表同一套颜色生成；改样式改这里，页面逻辑在 _room.js */
.rw{--card:#fff;--ink:#25211c;--sub:#79736a;--mute:#9a948a;--line:#e3ded3;
  --id:#c8553d;--ph:#2c5599;--vn:#c98a00;--th:#16855c;--me:#7a4fa8;--coin:#2c5599;--bag:#cdd6e6;
  color:var(--text);font-size:14.5px;line-height:1.7}
.rw .wrap{max-width:1080px;margin:0 auto;padding:28px 16px 80px}
.rw h1{font-size:30px;line-height:1.25;margin:0 0 6px;letter-spacing:.5px}
.rw .meta{color:var(--sub);font-size:13px}
.rw .lede{font-size:16px;margin:16px 0 22px;max-width:760px}
.rw h2{font-size:21px;margin:44px 0 6px}
.rw h2 small{font-size:13px;color:var(--mute);font-weight:400;margin-left:8px}
.rw h3{font-size:16px;margin:22px 0 8px}
.rw .card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin:14px 0}
.rw .keybox{background:linear-gradient(180deg,#e9eef7,#fff 70%);border:1px solid #d5deec;border-radius:14px;padding:18px 22px}
.rw .keybox>b{display:block;font-size:15px;color:#2c5599;letter-spacing:1px;margin-bottom:4px}
.rw .keybox ol{margin:6px 0 0;padding:0;list-style:none;counter-reset:k}
.rw .keybox li{position:relative;margin:10px 0;padding-left:34px;counter-increment:k}
.rw .keybox li::before{content:counter(k);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:#2c5599;color:#fff;font-size:12.5px;font-weight:700;text-align:center;line-height:22px}
.rw .keybox li b{color:#25211c}
.rw .nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}
.rw .nav a{text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:5px 14px;font-size:14px}
.rw .nav a i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:1px}
.rw .note{color:var(--sub);font-size:13px}
.rw .tag{display:inline-block;font-size:12px;border-radius:6px;padding:0 6px;margin-left:6px;vertical-align:2px}
.rw .t-d{background:#e7f6ef;color:#16855c}
.rw .t-i{background:#fff3dc;color:#9a6400}
.rw .t-u{background:#efece5;color:#79736a}
.rw .mx{width:100%;border-collapse:separate;border-spacing:4px;font-size:14px}
.rw .mx th{font-weight:600;font-size:13px;color:var(--sub);text-align:center;padding:4px}
.rw .mx th.row{text-align:left;color:var(--ink);font-size:14px;white-space:nowrap}
.rw .mx td{text-align:center;border-radius:8px;padding:9px 4px;min-width:84px;font-variant-numeric:tabular-nums}
.rw .mx td.empty{color:#c9c2b5;background:#f3f1ec}
.rw .scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rw .country{border-top:4px solid var(--c);}
.rw .country h2{display:flex;align-items:center;gap:10px}
.rw .country h2 .dot{width:14px;height:14px;border-radius:50%;background:var(--c)}
.rw .one{font-size:16px;font-weight:600;margin:4px 0 10px}
.rw .plays{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}
.rw .play{background:#fff;border:1px solid var(--line);border-left:4px solid var(--c);border-radius:12px;padding:14px 16px}
.rw .play h4{margin:0;font-size:16px}
.rw .play .cnt{font-size:12px;color:var(--mute);margin:2px 0 8px}
.rw .play ol{margin:0;padding-left:18px;font-size:14px}
.rw .play ol li{margin:2px 0}
.rw .play p{margin:0;font-size:14px}
.rw .q{margin-top:10px;background:#f7f5f0;border-radius:8px;padding:8px 10px;font-size:13.5px}
.rw .q .o{color:var(--mute);font-size:12px;word-break:break-word}
.rw .q .z{color:var(--ink)}
.rw .q .z::before{content:"「"}
.rw .q .z::after{content:"」"}
.rw .two{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}
@media (max-width:760px){.rw .two{grid-template-columns:1fr}
.rw h1{font-size:25px}}
.rw .host{font-size:14px;margin:0;padding-left:18px}
.rw .host li{margin:4px 0}
.rw .spark text{font-size:11px;fill:var(--mute)}
.rw ul.facts{margin:0;padding-left:18px;font-size:14px}
.rw ul.facts li{margin:5px 0}
.rw .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--sub);margin:6px 0 0}
.rw .legend span i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:5px;vertical-align:-2px}
.rw .money{width:100%;border-collapse:collapse;font-size:13.5px}
.rw .money th,.rw .money td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.rw .money th:first-child,.rw .money td:first-child{text-align:left}
.rw .money th{color:var(--sub);font-weight:600;font-size:12.5px}
.rw .bar{display:inline-block;height:10px;border-radius:3px;vertical-align:middle}
.rw .up{color:#16855c;font-weight:600}
.rw .down{color:#c0392b;font-weight:600}
.rw .foot{font-size:13px;color:var(--sub)}
.rw .foot li{margin:5px 0}
.rw .term{border-bottom:1px dashed var(--mute);cursor:help}
.rw .acts{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;margin-top:14px}
.rw .act .ah{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rw .act .pl{font-size:12px;font-weight:700;color:#fff;border-radius:6px;padding:1px 8px}
.rw .act h4{font-size:16.5px}
.rw .act .mo{margin-top:10px;font-size:14px}
.rw .act .ask{margin-top:10px;font-size:13.5px;background:#fff8e6;border-radius:8px;padding:8px 10px}
.rw .mx .dl{display:inline-block;font-size:11px;font-weight:700;border-radius:5px;padding:0 5px;margin-left:6px;vertical-align:1px;background:#fff}
.rw .mx .du{color:#16855c}
.rw .mx .dd{color:#c0392b}
.rw .cmp{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 0 18px}
.rw .cmp>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.rw .cmp h4{margin:0 0 6px;font-size:15px}
.rw .cmp .u h4{color:#16855c}
.rw .cmp .n h4{color:#2c5599}
.rw .cmp .d h4{color:#c0392b}
.rw .cmp ul{margin:0;padding-left:18px;font-size:14px}
.rw .cmp li{margin:5px 0}
@media (max-width:760px){.rw .cmp{grid-template-columns:1fr}}

@media (max-width:420px){.rw .acts{grid-template-columns:1fr}}

/* —— Matrix 化：圆角、标题、本期导航和网站一致 —— */
.rw .wrap{max-width:none;margin:0;padding:0}
.rw h1{display:none}
.rw .meta{font-size:12.5px;color:var(--muted);margin:0 0 4px}
.rw .lede{font-size:15px;margin:10px 0 18px;max-width:none}
.rw h2{font-size:18px;margin:36px 0 6px;padding-top:12px;border-top:1px solid var(--line2);scroll-margin-top:14px}
.rw h2 small{color:var(--muted)}
.rw .card,.rw .play,.rw .cmp>div{border-radius:10px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.rw .keybox{border-radius:10px;background:#f3f6fb;border-color:#d5deec}
.rw .keybox>b{color:var(--ink2)}
.rw .country{border-top:0;border-left:3px solid var(--c);padding-left:14px;margin-top:30px}
.rw .country h2{border-top:0;padding-top:0}
.rw .nav{display:none}
.rw a{color:var(--ink2)}
.rw .flash{animation:cvflash 1.4s ease-out}
.rw-old{font-size:13px;color:var(--muted);margin:2px 0 12px}
.cv-day small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:1px}
.cv-day.wk{display:block}
.cv-toc{margin:2px 0 8px 8px;border-left:1px solid var(--line);padding-left:6px}
.cv-toc a{display:block;font-size:12.5px;color:var(--muted);padding:3px 8px;border-radius:5px;text-decoration:none;cursor:pointer}
.cv-toc a.sub{padding-left:20px;font-size:12px}
.rw .rw-cc{cursor:pointer;text-decoration:underline dotted;text-underline-offset:3px}
.rw .rw-cc:hover{text-decoration-style:solid}
.cv-toc a:hover{background:#efece5;color:var(--text)}
@media(max-width:820px){.rw .nav{display:flex}.cv-toc{display:none}.cv-day.wk{flex:0 0 auto}}
.roomv .cv-feed{flex-basis:1100px;max-width:1100px}
/* 站内 _style.css 有同名的全局类（.spark 是 34px 高的小柱图、.note 带上边线、.row 是 flex 行、.tag 另有底色），这里还原成群聊时刻原样 */
.rw .spark{display:block;height:auto;gap:0;width:100%;max-width:560px}
.rw .note{border-top:0;padding-top:0;max-width:none;line-height:1.7;margin:revert}
.rw th.row{display:table-cell;border-top:0;padding:4px;gap:0;font-size:14px;line-height:1.5}
.rw .tag{padding:0 6px;font-size:12px}
/* 各国分段上色（_room.js 的 band() 给每行打 data-cc） */
.rw tr[data-cc] td{border-bottom-color:rgba(0,0,0,.05)}
.rw tr[data-cc] td:first-child{box-shadow:inset 4px 0 0 var(--c0)}
.rw tr[data-cc="id"]{--c0:#c8553d;background:#fbf1ed}
.rw tr[data-cc="ph"]{--c0:#2c5599;background:#eef2f9}
.rw tr[data-cc="vn"]{--c0:#c98a00;background:#fbf5e5}
.rw tr[data-cc="th"]{--c0:#16855c;background:#ebf5f0}
.rw tr[data-cc="me"]{--c0:#7a4fa8;background:#f4eff9}
.rw tr[data-cc] td:first-child{padding-left:12px}
/* 口径默认收起 */
.rw details.rw-fold{margin:36px 0 0;padding-top:12px;border-top:1px solid var(--line2)}
.rw details.rw-fold>summary{cursor:pointer;font-size:14px;color:var(--muted);font-weight:600}
.rw details.rw-fold .card{margin-top:10px}

/* 房主观察（2026-10-29）。类名都带 ow- 前缀，避开 _style.css 的全局类（.note／.row／.tag／.spark）。
   左边房主类型目录（点了跳），右边每位房主一节、按天往下排 */
.ownv .ow-st{font-size:12px;color:var(--muted);letter-spacing:.08em;margin:2px 0 8px}
.ownv .ow-asof{font-size:13px;color:var(--muted);margin:0 0 14px}
.ownv .ow-top{background:#fbf6ee;border-radius:10px;padding:12px 16px;margin-bottom:22px}
.ownv .ow-top ul{margin:4px 0 0;padding-left:18px;font-size:14px;line-height:1.75}
.ownv .ow-tj{color:#9a5b13;cursor:pointer;font-weight:600}
.ownv .ow-sec{background:var(--card,#fff);border:1px solid var(--line,#e6e6e6);border-radius:12px;padding:20px 22px;margin-bottom:18px}
.ownv .ow-typ{display:inline-block;font-size:12px;color:#9a5b13;background:#fdf1e2;border-radius:6px;padding:2px 8px;margin-bottom:8px}
.ownv .ow-name{font-size:19px;margin:0 0 4px;font-weight:700}
.ownv .ow-meta{font-size:12.5px;color:var(--muted);margin-bottom:12px;line-height:1.6}
.ownv .ow-q{font-size:14px;line-height:1.65;background:#f6f7f9;border-radius:8px;padding:10px 12px;margin-bottom:14px}
.ownv .ow-q span{display:block;font-size:12px;color:var(--muted);margin-bottom:2px}
.ownv .ow-day{border-top:1px solid var(--line,#eee);padding:14px 0 6px}
.ownv .ow-dh{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.ownv .ow-dh b{font-size:15px}
.ownv .ow-dh span{font-size:12.5px;color:var(--muted)}
.ownv .ow-head{font-size:15px;font-weight:600;line-height:1.7;margin:6px 0 4px}
.ownv .ow-k{font-size:12px;color:var(--muted);letter-spacing:.06em;margin:10px 0 2px}
.ownv .ow-day ul,.ownv .ow-guess ul{margin:0;padding-left:18px;font-size:14px;line-height:1.75}
.ownv .ow-qs blockquote{margin:4px 0;padding:6px 12px;border-left:3px solid #e3d6c3;font-size:13.5px;line-height:1.65}
.ownv .ow-qs blockquote em{font-style:normal;color:var(--muted);font-size:12px}
.ownv .ow-qs blockquote span{display:block;color:var(--muted);font-size:13px}
.ownv .ow-gk{color:#8a8f98}
.ownv .ow-guess{color:#5f6570}
.ownv .ow-none{font-size:13.5px;color:var(--muted);margin:4px 0 8px}
.ownv .ow-rec{font-size:12px;color:var(--muted);margin-top:12px}
.ownv .ow-st{padding:0 6px}
.ownv .ow-si{cursor:pointer}
.ownv .ow-si small,.ownv .ow-off small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ownv .ow-off{opacity:.45;cursor:default}
.ownv .ow-main{max-width:980px}
/* 房主观察 10-29 第三版：顶部「最值得看」卡片、每天一张卡（结论→数字→时间线→推测/待核）、名单信息折叠 */
.ownv .ow-top{background:none;padding:0;margin-bottom:24px}
.ownv .ow-top ul{list-style:none;padding:0;margin:6px 0 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.ownv .ow-top li a{display:block;height:100%;box-sizing:border-box;background:#fbf6ee;border:1px solid #f0e2cc;border-radius:10px;padding:12px 14px;color:inherit;font-weight:400;text-decoration:none}
.ownv .ow-top li a:hover{border-color:#d9b98a}
.ownv .ow-top li b{display:block;font-size:15px;margin:2px 0 4px}
.ownv .ow-top li p{margin:0;font-size:13.5px;line-height:1.65;color:#3b3f46}
.ownv .ow-hd{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.ownv .ow-hd .ow-typ{margin:0}
.ownv .ow-hd .ow-name{margin:0}
.ownv .ow-cc{font-size:12.5px;color:var(--muted)}
.ownv .ow-head{font-size:15.5px;font-weight:600;line-height:1.7;margin:8px 0 10px;padding:10px 14px;border-left:3px solid #c98a3a;background:#fffaf3;border-radius:0 8px 8px 0}
.ownv .ow-head span{display:block;font-size:12px;font-weight:400;color:#9a5b13;margin-bottom:2px}
.ownv .ow-nums{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.ownv .ow-nums span{font-size:12.5px;background:#f2f4f7;border-radius:999px;padding:3px 10px;color:#3b3f46}
.ownv ul.ow-tl{list-style:none;padding:0;margin:2px 0 4px;font-size:14px;line-height:1.7}
.ownv ul.ow-tl li{display:grid;grid-template-columns:92px 1fr;gap:8px;padding:3px 0}
.ownv ul.ow-tl time{color:#9a5b13;font-variant-numeric:tabular-nums;font-size:13px;padding-top:1px}
.ownv ul.ow-tl li.ow-nt time::before{content:"·";color:#c9ccd2}
.ownv .ow-guess{margin:12px 0 4px;padding:8px 14px 10px;border:1px dashed #cfd3da;border-radius:8px;background:#fafbfc;color:#5f6570}
.ownv .ow-guess .ow-k{color:#8a8f98;margin-top:6px}
.ownv .ow-guess ul{font-size:13.5px}
.ownv .ow-more{margin-top:14px;font-size:12.5px;color:var(--muted)}
.ownv .ow-more summary{cursor:pointer}
.ownv .ow-more .ow-meta{margin:6px 0 0}
@media (max-width:640px){.ownv ul.ow-tl li{grid-template-columns:1fr;gap:0}}
/* 房主观察 10-30：项目说明（这个项目／这页能看到什么／房主怎么分的／名单和口径），左栏按优先级分组 */
.ownv .ow-intro{display:grid;grid-template-columns:1.25fr 1fr;gap:12px;margin-bottom:18px}
.ownv .ow-ib{background:var(--card,#fff);border:1px solid var(--line,#e6e6e6);border-radius:12px;padding:14px 18px}
.ownv .ow-ib .ow-k{margin-top:0;color:#9a5b13}
.ownv .ow-ib p{margin:6px 0;font-size:14px;line-height:1.75}
.ownv .ow-ib ul{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.75}
.ownv .ow-tk{margin:4px 0 6px;color:#9a5b13}
.ownv .ow-tw{overflow-x:auto;background:var(--card,#fff);border:1px solid var(--line,#e6e6e6);border-radius:12px}
.ownv .ow-tt{width:100%;border-collapse:collapse;font-size:13px;line-height:1.6}
.ownv .ow-tt th{text-align:left;font-weight:600;color:var(--muted);font-size:12px;padding:9px 10px;border-bottom:1px solid var(--line,#e6e6e6);white-space:nowrap}
.ownv .ow-tt td{padding:8px 10px;border-bottom:1px solid #f0f1f3;vertical-align:top}
.ownv .ow-tt tr:last-child td{border-bottom:0}
.ownv .ow-tt td.p{white-space:nowrap;color:#9a5b13;font-size:12px}
.ownv .ow-tt td.t{font-weight:600;min-width:110px}
.ownv .ow-tt .n{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.ownv .ow-tt td:nth-child(3){min-width:140px}
.ownv .ow-tt td:nth-child(5){min-width:240px}
.ownv .ow-tt td:last-child{white-space:nowrap}
.ownv .ow-tt tr.ow-off{opacity:1}
.ownv .ow-tt tr.ow-off td{color:#8a8f98}
.ownv .ow-tt tr.ow-off td:last-child{color:#b0b4bb}
.ownv .ow-samp{margin:12px 0 4px;font-size:13px}
.ownv .ow-samp ul{margin:2px 0 6px;padding-left:18px;line-height:1.7;color:#3b3f46}
.ownv .ow-doc{font-size:12px;color:var(--muted);margin:6px 0 22px}
.ownv .ow-grp{font-size:11.5px;color:#9a5b13;letter-spacing:.06em;margin:12px 6px 4px;padding-top:8px;border-top:1px solid var(--line,#eee)}
.ownv .ow-grp:first-of-type{border-top:0;padding-top:0}
@media (max-width:900px){.ownv .ow-intro{grid-template-columns:1fr}}

/* 10-30：玩法优先、细节收起、目录悬停口径 */
.ownv .ow-play{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:6px 0 2px;font-size:13.5px}
.ownv td.ow-play{display:table-cell}
.ownv .ow-play i{font-style:normal;background:#eaf3ee;color:#2f6b4a;border-radius:999px;padding:1px 9px;font-size:12.5px;margin:1px 4px 1px 0;display:inline-block}
.ownv .ow-play span{color:var(--text,#333);line-height:1.6}
.ownv .ow-pall{margin:4px 0 10px}
.ownv .ow-pall b{font-size:12.5px;color:var(--muted);font-weight:500}
.ownv .ow-pt td{vertical-align:top;font-size:13.5px;line-height:1.6}
.ownv .ow-tl{color:#9a5b13;font-weight:600}
.ownv details.ow-dd{margin:8px 0 4px}
.ownv details.ow-dd>summary{cursor:pointer;font-size:13px;color:#9a5b13;list-style:revert}
.ow-tip{position:fixed;z-index:60;display:none;max-width:320px;background:#fff;border:1px solid #e3ddd2;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);padding:12px 14px;font-size:13px;line-height:1.6;color:#222}
.ow-tip b{display:block;font-size:14px;margin-bottom:2px}
.ow-tip em{font-style:normal;font-size:12px;color:#9a5b13}
.ow-tip div{margin-top:6px}
.ow-tip span{display:block;font-size:11.5px;color:#888}
/* 玩法总览表单独定列宽，盖掉上面类型表的 nth-child 规则 */
.ownv .ow-pt{table-layout:fixed}
.ownv .ow-pt th:nth-child(1){width:15%}.ownv .ow-pt th:nth-child(2){width:11%}.ownv .ow-pt th:nth-child(3){width:17%}
.ownv .ow-pt th:nth-child(4){width:27%}.ownv .ow-pt th:nth-child(5){width:30%}
.ownv .ow-pt td{min-width:0!important;white-space:normal!important;word-break:break-word}
.ownv .ow-pt td.t{min-width:0}

/* 1102 周小结 */
.ownv .ow-wk{margin:12px 0 10px;padding:12px 16px 10px;border-radius:10px;background:#f4f7fb;border:1px solid #dfe6ef}
.ownv .ow-wt{font-weight:600;font-size:14.5px;margin-bottom:4px}
.ownv .ow-wt em,.ownv .ow-wko summary{font-style:normal;color:#6b7280;font-weight:500}
.ownv .ow-wn{font-size:13px;color:#4b5563;margin:2px 0 6px}
.ownv .ow-wk>ul{margin:0;padding-left:18px;font-size:14px;line-height:1.75}
.ownv .ow-wko{background:#fafbfc}
.ownv .ow-wko summary{cursor:pointer;font-size:13.5px}

.ownv .ow-wa{list-style:none;margin:6px 0 2px;padding:0}
.ownv .ow-wa li{margin:0 0 10px}
.ownv .ow-wa b{display:block;font-size:14.5px;color:#1f2937}
.ownv .ow-wa span{display:block;font-size:13.5px;line-height:1.7;color:#4b5563;margin-top:2px}
.ownv .ow-hl{font-size:13.5px;line-height:1.7;color:#4b5563;margin:8px 0 4px}

/* 1102 用户：天数左右两列，信息密一点；窄屏还是一列 */
@media (min-width:1000px){
  .ownv .ow-days{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;align-items:start}
  .ownv .ow-days .ow-day{min-width:0}
}

.ownv .ow-ans{margin-top:10px;padding-top:10px;border-top:1px solid #e5e7eb;font-size:15.5px;font-weight:600;line-height:1.7;color:#111827}
.ownv .ow-ans span{display:block;font-size:12.5px;font-weight:500;color:#b45309;margin-bottom:2px}

.ownv .ow-wt2{margin:4px 0 2px;font-size:13px}
.ownv .ow-wt2 td.n{text-align:right;font-variant-numeric:tabular-nums}
