:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#f6f2ea;background:#10100f}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 20% 0%,#30261b,#10100f 55%)}button{font:inherit}.room-shell{width:min(100%,520px);min-height:100vh;margin:0 auto;padding:18px;display:grid;align-content:start;gap:18px}.room-stage{border-radius:20px;overflow:hidden;background:#070707;box-shadow:0 24px 80px #00000073}.room-heading{min-height:54px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;color:#bdb5aa;font-size:13px}.live-badge{color:#18120c;background:#e9b96e;border-radius:999px;padding:6px 10px;font-weight:700}.room-stage video,.player-poster{width:100%;aspect-ratio:9 / 14;display:grid;place-items:center;object-fit:cover;background:linear-gradient(150deg,#332719,#080808 60%);color:#d9cbb8;text-align:center;padding:24px}.room-panel{padding:2px 4px}.room-panel h1{margin:0 0 8px;font-size:25px;letter-spacing:-.02em}.room-panel p{margin:0 0 18px;color:#a9a39a;line-height:1.7}.room-panel button{width:100%;border:0;border-radius:14px;padding:15px 18px;color:#1c140b;background:linear-gradient(135deg,#f4cf8b,#d99a45);font-weight:800;cursor:pointer}.heat-badge{justify-self:start;padding:7px 11px;border:1px solid rgba(244,207,139,.24);border-radius:999px;color:#eac98e;background:#eac98e14;font-size:13px}.heat-badge span{color:#ef6a5b}.chat-panel{overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#ffffff09}.chat-status{padding:14px 16px;display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.07)}.chat-status span{color:#8f8a83;font-size:12px}.chat-status .online{color:#7bc999}.message-list{max-height:320px;min-height:120px;overflow-y:auto;padding:10px 16px}.message{padding:8px 0}.message p{margin:5px 0 0;color:#ddd6cc;line-height:1.55}.author-badge{margin-right:7px;padding:2px 6px;border-radius:5px;color:#1d160d;background:#ddb36f;font-size:11px;font-weight:800}.message-customer .author-badge{color:#ddd6cc;background:#403d39}.message-system .author-badge{color:#d4d0c8;background:#31302e}.author-name{color:#989188;font-size:12px}.chat-composer{padding:12px;display:grid;grid-template-columns:1fr auto;gap:8px;border-top:1px solid rgba(255,255,255,.07)}.chat-composer input{min-width:0;border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:11px 12px;color:#f4eee5;background:#181817;outline:none}.chat-composer button{border:0;border-radius:10px;padding:0 16px;color:#1c140b;background:#e9b96e;font-weight:800}.chat-composer button:disabled{opacity:.45}.ticket-offer,.payment-result{padding:18px;border:1px solid rgba(244,207,139,.22);border-radius:18px;background:linear-gradient(145deg,#f4cf8b1f,#ffffff09)}.ticket-offer h2,.payment-result h2{margin:4px 0 10px}.offer-kicker{margin:0;color:#e7bd78;font-size:12px;font-weight:800}.offer-price{display:block;margin:8px 0;color:#f2c67f;font-size:30px}.ticket-offer ul,.payment-result ul{padding-left:20px;color:#c8c0b5;line-height:1.8}.ticket-offer button{width:100%;border:0;border-radius:12px;padding:14px;color:#1c140b;background:linear-gradient(135deg,#f4cf8b,#d99a45);font-weight:800}.ticket-offer button:disabled{opacity:.6}.success-mark{width:44px;height:44px;margin:0;display:grid;place-items:center;border-radius:50%;color:#142116;background:#8fd49d;font-size:24px;font-weight:900}.ticket-code{padding:12px;border:1px dashed rgba(244,207,139,.4);border-radius:10px;color:#f2c67f;text-align:center;letter-spacing:.08em}.payment-result dl{display:grid;grid-template-columns:64px 1fr;gap:8px}.payment-result dt{color:#8f8a83}.payment-result dd{margin:0}.status-page{width:min(100% - 36px,480px);min-height:100vh;margin:0 auto;display:grid;align-content:center;justify-items:start;gap:16px}.status-page h1{margin:0;font-size:30px}.status-page p{margin:0;color:#b9b1a7;line-height:1.8}.status-page button{border:0;border-radius:12px;padding:12px 18px;color:#1c140b;background:#e9b96e;font-weight:800}.offer-locked{display:grid;gap:7px;padding:16px;border:1px solid #3b362c;border-radius:14px;background:#171613;color:#c7a96b}.offer-locked span{color:#aaa69d;font-size:14px;line-height:1.6}.session-notice{position:static;height:auto;padding:12px 14px;display:grid;gap:5px;border:1px solid rgba(244,207,139,.3);border-radius:12px;color:#efc87e;background:#211b13}.session-notice span{color:#bdb4a7;font-size:13px}
