
    :root{color-scheme:dark;--bg:#171c22;--card:#252d36;--line:#394550;--text:#e4eaf0;--muted:#a0aebb;--green:#afcf9f;--ink:#1f2c1b;--amber:#e0be87;--red:#e3a3a3}
    *{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.6 "Microsoft YaHei","PingFang SC",system-ui,sans-serif}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}button{border-radius:9px;border:1px solid var(--line);padding:10px 17px;line-height:1.4;color:var(--text);background:#202831;transition:background .15s}button:hover:not(:disabled){background:#34404b}button.primary{background:var(--green);border-color:var(--green);color:var(--ink);font-weight:700}button.primary:hover:not(:disabled){background:#c0ddaf}button:disabled{color:#b1bcc6;background:#29313a;border-color:#424d59}.shell{max-width:1160px;padding:0 28px;margin:auto}header{border-bottom:1px solid #303a45}header .shell{height:80px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.mark{width:36px;height:36px;border-radius:10px;background:#2c3d31;color:var(--green);display:grid;place-items:center}.brand strong{font-size:18px;letter-spacing:.05em}.brand small{display:block;color:var(--muted);font-size:11px;letter-spacing:.13em}.prototype-tag{color:var(--amber);font-size:12px;background:#302c27;border:1px solid #574b3a;border-radius:6px;padding:5px 10px}main{padding-top:34px!important;padding-bottom:30px!important}p{margin:0}.welcome{padding:24px;border:1px solid #3a4942;border-radius:14px;background:linear-gradient(115deg,#26332c,#202831 75%)}.welcome h1{font-size:27px;font-weight:600;line-height:1.45;letter-spacing:0;margin:0}.welcome h1 span{color:#b9d6aa;display:inline-block}.steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0;margin:20px 0 0}.steps li{display:flex;align-items:center;gap:11px;min-width:0;min-height:64px;padding:12px 14px;background:#1b2527b3;border:1px solid #3a4745;border-radius:9px}.steps b{display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:8px;font-size:13px;font-weight:600;color:#bdd8af;background:#344632;border:1px solid #4d6046}.steps span{font-size:13px;line-height:1.55;color:#cbd5d9}.announcement{display:flex;align-items:center;gap:12px;padding:12px 16px;margin:12px 0 26px;border-radius:9px;background:#1e252d;border:1px solid #303a44;font-size:13px}.announcement strong{font-size:11px;line-height:1.6;font-weight:500;color:#bad0ae;background:#2d3b2e;border-radius:5px;padding:2px 7px;white-space:nowrap}.announcement p{color:#b2bec9}.current{border:1px solid #61755b;background:#27332b;border-radius:12px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:22px;margin:0 0 26px}.current h2{font-size:18px;margin:3px 0 5px}.current .eyebrow{font-size:12px;color:var(--green)}.current p{color:#b7c6b3;font-size:13px}.current button{flex-shrink:0}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:17px}.room-heading h2{font-size:22px;margin:0}.room-overview{display:flex;align-items:center;gap:28px}.room-stats{display:flex;gap:28px;margin:0;padding-left:28px;border-left:1px solid var(--line)}.room-stat{min-width:0;text-align:center}.room-stat dt{font-size:12px;color:var(--muted);margin-bottom:3px}.room-stat dd{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:0;min-height:36px}.stat-number{font-size:30px;line-height:1.2;font-weight:600;font-variant-numeric:tabular-nums}.stat-unit{font-size:12px;color:var(--muted)}.room-stat.available .stat-number{color:var(--green)}.room-stat.empty .stat-number{color:var(--amber)}.room-stat.uncertain dd{align-items:center}.room-stat.uncertain .stat-number{font-size:18px;color:var(--amber)}.quick{font-size:13px;padding:9px 13px;color:var(--green);background:transparent}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.room{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:18px;display:flex;flex-direction:column;min-height:212px}.room.available{border-color:#50654c;background:linear-gradient(135deg,#28352d 0%,var(--card) 75%)}.room-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.number{display:flex;align-items:baseline;gap:8px}.number strong{font-size:24px;line-height:1;letter-spacing:.03em;font-weight:600}.number span{color:var(--muted);font-size:12px}.status{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:3px 9px;border-radius:5px;background:#303a45;color:#c0ccd7;white-space:nowrap}.dot{width:5px;height:5px;background:currentColor;border-radius:50%}.status.free,.status.ready{background:#344432;color:#c0dab3}.status.busy{background:#3e382e;color:var(--amber)}.status.fault{background:#443238;color:var(--red)}.room h3{font-size:16px;font-weight:500;margin:0 0 6px}.room p{font-size:13px;color:var(--muted)}.room .facts{display:flex;gap:12px;font-size:12px;color:#b7c3ce;margin-top:8px}.room .facts span+span:before{content:"·";margin-right:12px;color:#73818e}.room-bottom{margin-top:auto;padding-top:14px}.room-bottom button{width:100%;font-size:14px}.room-bottom .inactive{display:block;border-top:1px solid var(--line);padding-top:12px;color:#b2bec9;font-size:12px}.empty-message{padding:13px 17px;border-radius:9px;border:1px solid #66553c;color:#e0be87;background:#302c27;margin:0 0 17px;font-size:13px}footer{border-top:1px solid #303a45;padding:20px 0;color:var(--muted);font-size:12px}footer .shell{display:flex;justify-content:space-between;gap:16px}.notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;background:#344333;border:1px solid #7a946d;padding:12px 18px;border-radius:9px;color:#e2efd9;box-shadow:0 8px 36px #0007;z-index:5}[hidden]{display:none!important}
    .pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.page-range{font-size:12px;color:var(--muted)}.page-controls{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px}.page-controls button{padding:8px 11px;min-width:38px;min-height:40px;font-size:13px;background:transparent}.page-controls button[aria-current="page"]{background:var(--green);border-color:var(--green);color:var(--ink);font-weight:700}.page-controls button:disabled{opacity:.5}.page-direction{display:flex;align-items:center;justify-content:center;gap:5px}.page-direction b{font-size:18px;line-height:1;font-weight:400}.room-heading{scroll-margin-top:20px}
    @media(max-width:580px){.pagination{flex-direction:column;gap:12px}.page-controls{gap:4px}.page-controls button{min-width:32px;padding:8px}.page-direction span{display:none}}
    @media(max-width:350px){.room-stat dd{gap:4px}.room-stat .stat-number{font-size:24px}.room-stat .stat-unit{font-size:11px}}
    @media(min-width:1400px){main{padding-top:42px!important}.grid{gap:16px}.room{min-height:212px}}
    @media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
    @media(max-width:580px){.shell{padding:0 18px}header .shell{height:auto;min-height:70px;gap:8px 10px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.brand strong{font-size:16px}.brand{flex-shrink:0}.brand strong{white-space:nowrap}.brand-tail{display:inline}.brand small{font-size:9px}.mark{width:30px;height:30px}.prototype-tag{font-size:10px;padding:4px 6px;margin-left:auto}main{padding-top:26px!important}.welcome{padding:18px 14px;border-radius:12px}.welcome h1{font-size:22px}.steps{gap:9px;margin:16px 0 0}.steps li{padding:9px 8px;gap:8px;min-height:62px}.steps b{width:23px;height:23px;font-size:11px;border-radius:6px}.steps span{font-size:12px}.announcement{align-items:flex-start;padding:11px 12px;gap:10px;margin:10px 0 22px;font-size:12px}.grid{grid-template-columns:1fr;gap:12px}.room{padding:14px 16px;min-height:0}.room-top{margin-bottom:9px}.room h3{font-size:15px;margin-bottom:3px}.room .facts{margin-top:6px}.room-bottom{padding-top:12px}.room-bottom button{padding:9px 14px}.room-bottom .inactive{padding-top:9px}.room-heading{display:grid;grid-template-columns:1fr auto;gap:14px 10px}.room-overview{display:contents}.room-heading h2{font-size:20px}.room-stats{grid-row:2;grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 12px;border:1px solid var(--line);border-radius:10px;background:#202831}.room-stat+.room-stat{border-left:1px solid var(--line);padding-left:12px}.room-stat dt{font-size:12px}.stat-number{font-size:28px}.quick{grid-column:2;grid-row:1}.quick{font-size:12px;padding:9px 10px;flex-shrink:0}.current{padding:17px;flex-direction:column;align-items:stretch;gap:15px}.current h2{font-size:18px}.current button{width:100%}footer .shell{flex-direction:column;gap:4px}}
    .mark{background:linear-gradient(145deg,#354a37,#22332b);border:1px solid #53694b;border-radius:11px;box-shadow:inset 0 0 12px #b0cf9f0a}.mark svg{width:27px;height:27px}.welcome-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:72px}.welcome .steps{margin-top:16px}
    @media(max-width:900px){.welcome-heading{gap:12px}.welcome h1{font-size:25px}}
    @media(max-width:580px){.welcome-heading{min-height:0;display:block}.welcome h1{font-size:22px}.mark svg{width:23px;height:23px}}
    body{position:relative;isolation:isolate;min-height:100vh}
    body::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;left:0;right:0;height:1000px;background-image:linear-gradient(180deg,rgba(17,23,29,.58) 0%,rgba(17,23,29,.62) 36%,rgba(23,28,34,.88) 76%,#171c22 100%),url("assets/dota-heroes-desktop.webp");background-size:100% 100%,cover;background-position:center,center top;background-repeat:no-repeat}
    header{background:rgba(20,26,31,.7);border-bottom-color:#66757940}
    .welcome{background:linear-gradient(115deg,rgba(27,40,32,.72),rgba(27,36,45,.72));border-color:#81917e50;box-shadow:0 10px 35px #10171e28}
    .welcome-heading{min-height:52px}.steps li{background:#182226db;border-color:#697a704d}
    .announcement{background:#1e252ded}.quick{background:#1c252de8}
    @media(max-width:580px){body::before{height:950px;background-image:linear-gradient(180deg,rgba(17,23,29,.58) 0%,rgba(17,23,29,.62) 36%,rgba(23,28,34,.88) 76%,#171c22 100%),url("assets/dota-heroes-mobile.webp");background-position:center,57% top}.welcome-heading{min-height:0}.welcome{background:linear-gradient(115deg,rgba(27,40,32,.8),rgba(27,36,45,.8))}}
    .room-stats{padding:12px 18px;border:1px solid var(--line);border-radius:10px;background:#202831;gap:0}
    .room-stat{padding:0 20px}.room-stat:first-child{padding-left:0}.room-stat:last-child{padding-right:0}.room-stat+.room-stat{border-left:1px solid var(--line)}
    .room.mine{border-color:#6b815f}
    @media(max-width:580px){.room-stats{gap:12px;padding:14px 12px}.room-stat{padding:0}.room-stat+.room-stat{padding-left:12px}}
    button.quick{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-width:160px;min-height:50px;padding:13px 24px;font-size:15px;font-weight:600;line-height:1.4;color:#d1e3c7;background:#31433c;border-color:#708b61;border-radius:10px;box-shadow:0 4px 16px #111c164d;flex-shrink:0}
    button.quick span{font-size:20px;font-weight:400;line-height:1}
    button.quick span:empty{display:none}
    button.quick:hover:not(:disabled){background:#3c5145;border-color:#94ad7e}
    button.quick:disabled{background:#29313a;color:#a0aebb;border-color:#424d59;box-shadow:none}
    @media(max-width:580px){button.quick{min-width:132px;min-height:46px;padding:11px 16px;font-size:14px;gap:12px}}
    .lobby-panel{padding:24px;border:1px solid #44515c;border-radius:16px;background:#1b232bf5;box-shadow:0 14px 40px #0a101633}
    .lobby-panel .room-heading{margin-bottom:22px}.lobby-panel .room-stats{background:#222c35;border-color:#3c4955}
    @media(max-width:580px){.lobby-panel{padding:18px 12px 16px;border-radius:13px}.lobby-panel .room-heading{gap:14px 8px;margin-bottom:18px}.lobby-panel .room-stat+.room-stat{padding-left:0}.lobby-panel .room{padding:14px}.lobby-panel .room-stat dd{gap:4px}}

.brand .mark{background:#342827;border-color:#69443e;border-radius:8px;box-shadow:none}.brand .mark svg{width:28px;height:28px}@media(max-width:580px){.brand .mark svg{width:24px;height:24px}}
.recent-join{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 20px;margin-bottom:24px;border:1px solid #44515c;border-radius:11px;background:#202831f5}.recent-join .eyebrow{font-size:11px;color:#a0aebb}.recent-join h2{margin:4px 0 0;font-size:16px;font-weight:500;line-height:1.5}.recent-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.recent-return{display:inline-block;padding:10px 16px;border:1px solid #657b59;border-radius:8px;background:#2c3932;color:#d4e1cb;text-decoration:none;font-size:13px}.recent-return:hover{background:#354638}@media(max-width:580px){.recent-join{padding:15px 17px;flex-direction:column;align-items:stretch;gap:12px;margin-bottom:22px}.recent-join h2{font-size:15px}.recent-actions{justify-content:space-between}.recent-return{padding:9px 15px}}

.announcement p{white-space:pre-wrap;overflow-wrap:anywhere}
