:root{--ink:#1d1512;--paper:#f2e8d0;--red:#8c241f;--gold:#bd8738;--line:#cbbd9f}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:linear-gradient(rgba(242,232,208,.94),rgba(242,232,208,.94)),repeating-linear-gradient(90deg,#0000 0 39px,#806f5422 40px);font-family:Inter,"PingFang SC",sans-serif}button,input,select{font:inherit}button{cursor:pointer}header{min-height:112px;padding:22px clamp(20px,6vw,90px);display:flex;align-items:center;justify-content:space-between;color:#f7eacb;background:linear-gradient(100deg,#17100d,#552019 56%,#17100d);border-bottom:5px solid var(--gold)}header a{color:#d8bd82;text-decoration:none;font-size:12px}header div{text-align:center}header small{font-size:8px;letter-spacing:.25em;color:#c59a52}h1{margin:4px 0 0;font:700 42px Georgia,"Songti SC",serif}header strong{font-size:12px}main{width:min(1120px,calc(100% - 32px));margin:34px auto 80px}.intro{min-height:220px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:25px;color:white;background:radial-gradient(circle at 75% 30%,#a63b2f77,transparent 28%),#211713;box-shadow:10px 10px 0 var(--gold)}.intro p{color:#d2a956;font-size:11px;letter-spacing:.2em}.intro h2{margin:8px 0;font:700 clamp(32px,5vw,56px) Georgia,"Songti SC",serif}.intro span{color:#cbbda6;font-size:12px}.intro button,.primary{padding:14px 22px;border:0;color:white;background:var(--red);font-weight:800}.join-panel{margin-top:34px;padding:22px;display:grid;grid-template-columns:1fr 170px 170px auto;gap:12px;align-items:center;border:1px solid var(--line);background:#fff}.join-panel h3,.join-panel p{margin:0}.join-panel p{margin-top:5px;color:#887d69;font-size:10px}input,select{width:100%;padding:11px;border:1px solid var(--line);background:#fff}.join-panel button,.section-title button,.room-list button,.room-actions button,.seat button{padding:10px 14px;border:1px solid var(--red);color:var(--red);background:white;font-weight:800}.lobby{margin-top:34px}.section-title{display:flex;align-items:end;justify-content:space-between;border-bottom:3px solid var(--ink);padding-bottom:12px}.section-title small,.room-head small{color:var(--red);font-size:8px;letter-spacing:.18em}.section-title h2{margin:4px 0 0;font:700 30px Georgia,serif}.room-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:15px}.room-list article{padding:20px;display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);background:#fff}.room-list h3{margin:6px 0;font:700 20px Georgia,"Songti SC",serif}.room-list p,.room-list small{color:#8b806d;font-size:10px}dialog{width:min(520px,calc(100% - 28px));padding:30px;border:0;background:var(--paper);box-shadow:0 30px 90px #0008}dialog::backdrop{background:#130d0acc}dialog>.close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:24px}dialog label{display:block;margin:14px 0;font-size:11px;font-weight:800}dialog label input,dialog label select{margin-top:6px}.error{min-height:18px;color:var(--red);font-size:10px}.room-dialog{width:min(850px,calc(100% - 28px))}.room-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:3px solid var(--ink)}.room-head h2{margin:6px 0;font:700 30px Georgia,"Songti SC",serif}.room-head p{margin:0;color:#887d69;font-size:10px}.room-head>span{padding:8px 12px;color:white;background:var(--red);font-size:10px}.seat-grid{margin:18px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.seat{min-height:64px;padding:10px;display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);background:#fff}.seat>b{color:var(--red);font:700 18px Georgia,serif}.seat strong,.seat small{display:block}.seat small{margin-top:4px;color:#988c76;font-size:9px}.seat.bot{background:#f6edda}.seat.empty{border-style:dashed;color:#9a8e79;background:transparent}.room-actions{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.room-actions button:disabled{opacity:.5;cursor:default}.room-actions .danger{color:white;background:var(--red)}#toast{position:fixed;left:50%;bottom:25px;margin:0;padding:11px 18px;color:white;background:#251713;opacity:0;pointer-events:none;transform:translate(-50%,15px);transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:720px){header{padding:16px;min-height:92px}header a{font-size:0}header a::after{content:"← 首页";font-size:11px}h1{font-size:32px}.intro{padding:28px 22px;display:block}.intro button{width:100%;margin-top:24px}.join-panel{grid-template-columns:1fr}.room-list,.seat-grid{grid-template-columns:1fr}.room-head{align-items:flex-start;gap:12px}.room-actions{display:grid}.room-actions button{width:100%}}

.room-dialog{width:min(1180px,calc(100% - 24px));max-height:94vh}.battle-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:14px;margin-top:14px}.identity-table{min-width:0}.table-felt{position:relative;height:560px;overflow:hidden;border:8px solid #40261a;border-radius:48%;background:radial-gradient(ellipse at center,#386647 0,#254c35 54%,#173424 100%);box-shadow:inset 0 0 0 3px #a97838,inset 0 0 55px #071b10,0 10px 25px #2b180e55}.table-felt::before{content:"身份局";position:absolute;left:50%;top:50%;color:#e3c3721a;font:900 64px Georgia,"Songti SC",serif;letter-spacing:.2em;transform:translate(-50%,-50%)}.table-seat{position:absolute;left:var(--seat-x);top:var(--seat-y);z-index:3;width:150px;min-height:70px;margin:0;padding:8px;grid-template-columns:24px 1fr;transform:translate(-50%,-50%);border:2px solid #c5aa72;background:#f8efd9;box-shadow:0 5px 13px #0007;transition:.2s}.table-seat.bot{background:#e8ddc3}.table-seat.empty{width:105px;min-height:46px;color:#c9b88c;border-color:#a58c5a88;background:#183b2b99;box-shadow:none}.table-seat.acting{z-index:5;border-color:#ffe593;animation:sgs-turn-breathe 1.4s ease-in-out infinite}.table-seat.responding{z-index:5;border-color:#ff6b55;animation:sgs-response-breathe .8s ease-in-out infinite}.lord-seat{border-color:#d6a62f;background:linear-gradient(#fff4cf,#ead18a)}.lord-badge{position:absolute;left:50%;top:-25px;width:34px;height:30px;display:grid;place-items:center;color:#40170d;background:linear-gradient(#ffe995,#bf8424);border:2px solid #6e4014;clip-path:polygon(12% 24%,32% 42%,50% 3%,68% 42%,88% 24%,82% 100%,18% 100%);font-size:13px;font-style:normal;font-weight:900;transform:translateX(-50%)}.memory-marker{position:absolute;right:-7px;top:-20px;width:52px;padding:3px 4px;color:#fff;border:1px solid #d9bd78;background:#4b2b1f;font-size:9px;font-weight:900}.table-center{position:absolute;left:50%;top:50%;z-index:2;width:180px;min-height:190px;display:grid;place-items:center;transform:translate(-50%,-50%)}.table-focus-card{width:125px;min-height:172px;padding:15px 10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#32150e;border:4px solid #e3bc59;border-radius:9px;background:linear-gradient(145deg,#fff9e8,#e7d2a4);box-shadow:0 0 0 3px #5b291b,0 0 34px #ffe386aa;animation:sgs-card-focus 1.8s ease-in-out infinite}.table-focus-card small{font-size:9px}.table-focus-card strong{margin:14px 0 7px;color:#8c241f;font:900 27px Georgia,"Songti SC",serif}.table-focus-card span{font:700 18px Georgia,serif}.table-focus-card em{margin-top:13px;font-size:9px;font-style:normal}.table-focus-empty{color:#d6c18d;text-align:center}.table-focus-empty strong,.table-focus-empty span{display:block}.table-focus-empty span{margin-top:7px;font-size:9px;opacity:.65}.action-line{height:560px;overflow:hidden;color:#eadfca;border:1px solid #725532;background:#18120f}.action-line header{min-height:0;padding:16px;border-bottom:1px solid #5e482d;background:#271b14}.action-line header small{color:#b9944b;font-size:7px;letter-spacing:.18em}.action-line h3{margin:4px 0 0;font:700 22px Georgia,"Songti SC",serif}.action-line ol{height:calc(100% - 73px);margin:0;padding:12px 14px 18px;overflow:auto;list-style:none}.action-line li{position:relative;padding:9px 6px 9px 17px;border-bottom:1px solid #ffffff0d}.action-line li::before{content:"";position:absolute;left:2px;top:14px;width:6px;height:6px;border-radius:50%;background:#756347}.action-line li.latest::before{background:#f0c55d;box-shadow:0 0 9px #f0c55d}.action-line b,.action-line span{display:block}.action-line b{color:#e3c77d;font-size:10px}.action-line span{margin-top:4px;color:#bdb09a;font-size:9px;line-height:1.5}.response-panel,.hand-panel,.skill-panel{position:relative;z-index:7;margin:10px 0}@keyframes sgs-turn-breathe{50%{box-shadow:0 0 5px 3px #ffe083,0 0 28px 12px #e9b843aa;transform:translate(-50%,-50%) scale(1.045)}}@keyframes sgs-response-breathe{50%{box-shadow:0 0 7px 4px #ff725c,0 0 30px 13px #d6271baa;transform:translate(-50%,-50%) scale(1.055)}}@keyframes sgs-card-focus{50%{transform:translateY(-5px);box-shadow:0 0 0 3px #5b291b,0 0 48px #ffe386}}

@media(max-width:820px){.room-dialog{width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:14px;border-radius:0}.battle-layout{grid-template-columns:1fr}.table-felt{height:520px;border-width:5px;border-radius:34%}.table-seat{width:105px;min-height:58px;padding:5px;grid-template-columns:18px 1fr}.table-seat>b{font-size:13px}.table-seat strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.table-seat small{font-size:7px}.table-center{width:115px}.table-focus-card{width:88px;min-height:126px;padding:8px}.table-focus-card strong{font-size:20px}.action-line{height:210px}.action-line ol{height:145px}.memory-marker{right:-3px;width:44px;font-size:8px}.hand-panel{max-height:190px;overflow:auto}.room-actions{position:sticky;bottom:0;z-index:10;padding:8px;background:var(--paper)}}
