:root{--ink:#eae5d8;--muted:#99978f;--gold:#c9a86a;--gold2:#f0d396;--blood:#9d3730;--panel:#111617;--line:rgba(232,220,190,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080b0c;color:var(--ink);font-family:"DM Sans",sans-serif;overflow-x:hidden}.noise{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.topbar{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;width:100%;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-family:Cinzel,serif;font-size:14px;font-weight:700;letter-spacing:.17em;text-decoration:none}.brand i{font-style:normal;color:var(--gold)}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-family:Cinzel;font-size:19px;transform:rotate(45deg)}.brand-mark::first-letter{transform:rotate(-45deg)}nav{display:flex;align-items:center;gap:34px}nav a,nav button{color:#aaa8a0;text-decoration:none;background:none;border:0;font:500 12px "DM Sans";letter-spacing:.12em;text-transform:uppercase;cursor:pointer}nav a:hover,nav button:hover{color:var(--gold2)}.hero{min-height:790px;display:grid;grid-template-columns:48% 52%;padding-top:78px;background:radial-gradient(circle at 80% 40%,#202523 0,#0b1011 42%,#080b0c 70%)}.hero-copy{padding:130px 4vw 80px 8vw;position:relative;z-index:2}.eyebrow{font-size:11px;color:var(--gold);font-weight:600;letter-spacing:.25em;text-transform:uppercase}.hero h1{font:600 clamp(52px,6.3vw,92px)/.96 Cinzel,serif;letter-spacing:-.045em;margin:22px 0 28px}.hero h1 em{color:var(--gold);font-weight:500}.lede{max-width:510px;font:400 18px/1.7 "DM Sans";color:#aaa8a0}.hero-actions{display:flex;gap:14px;margin:38px 0}.btn{border:1px solid var(--gold);padding:15px 27px;font:600 11px "DM Sans";letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:.2s}.btn.primary{background:var(--gold);color:#111311}.btn.primary:hover{background:var(--gold2);box-shadow:0 0 30px #c9a86a33}.btn.ghost{background:transparent;color:var(--ink)}.btn.ghost:hover{background:#ffffff0a}.trust{display:flex;gap:25px;font-size:11px;color:#777a77;text-transform:uppercase;letter-spacing:.09em}.trust b{color:var(--gold);font-size:7px}.hero-art{position:relative;overflow:hidden;min-height:680px}.moon{position:absolute;width:380px;height:380px;border-radius:50%;right:12%;top:11%;background:radial-gradient(circle at 45% 42%,#e0d7bb,#8f907d 57%,#414c4b 73%);opacity:.78;box-shadow:0 0 90px #d6d1b833}.manor{position:absolute;width:76%;height:440px;bottom:55px;right:7%;filter:drop-shadow(0 25px 30px #000)}.house{position:absolute;background:#111919;bottom:0;left:20%;right:12%;height:48%;clip-path:polygon(0 14%,50% 0,100% 18%,96% 100%,4% 100%)}.house span{position:relative;display:inline-block;width:8%;height:25%;margin:22% 10% 0;background:#d1ad59;box-shadow:0 0 18px #e6b947;opacity:.65}.roof{position:absolute;width:72%;height:35%;left:15%;bottom:39%;background:#0a1010;clip-path:polygon(50% 0,100% 100%,0 100%)}.tower{position:absolute;width:20%;height:64%;bottom:0;background:#0c1313}.tower.left{left:2%}.tower.right{right:0;height:72%}.tower:before{content:"";position:absolute;width:130%;left:-15%;height:18%;top:-10%;background:#080d0d;clip-path:polygon(50% 0,100% 100%,0 100%)}.hero-card{position:absolute;right:7%;bottom:36px;padding:18px 22px;width:280px;background:#111716e8;border:1px solid #c9a86a55;backdrop-filter:blur(10px);display:flex;flex-direction:column}.hero-card small{color:var(--gold);font-size:9px;letter-spacing:.2em}.hero-card strong{font:600 22px Cinzel;margin:5px 0}.hero-card span{font-size:11px;color:var(--muted)}.mist{position:absolute;width:130%;height:160px;background:linear-gradient(90deg,transparent,#b7c5be30,transparent);filter:blur(25px);animation:drift 12s linear infinite}.mist-one{bottom:60px;left:-60%}.mist-two{bottom:190px;left:-30%;animation-duration:18s;opacity:.5}@keyframes drift{to{transform:translateX(70%)}}.game-showcase{padding:110px 8vw 70px;display:grid;grid-template-columns:1.1fr .9fr;gap:13vw;border-top:1px solid var(--line)}.game-showcase h2,.cta h2{font:600 clamp(38px,4.8vw,70px)/1.05 Cinzel;margin:18px 0}.game-showcase>p{color:var(--muted);font-size:16px;line-height:1.8;align-self:end}.roles{display:grid;grid-template-columns:repeat(3,1fr);padding:0 8vw 110px;gap:1px}.role-card{min-height:400px;padding:38px;background:#0f1415;border:1px solid var(--line);position:relative;overflow:hidden;transition:.3s}.role-card:hover{transform:translateY(-5px);border-color:#c9a86a55}.role-card:after{content:"";position:absolute;width:250px;height:250px;border-radius:50%;right:-100px;bottom:-120px;background:var(--gold);filter:blur(90px);opacity:.06}.role-num{position:absolute;right:26px;top:25px;font:20px Cinzel;color:#ffffff22}.role-icon{font-size:42px;color:var(--gold);margin:55px 0 30px}.role-card h3{font:600 27px Cinzel;margin:0 0 14px}.role-card p{color:var(--muted);line-height:1.7;min-height:90px}.role-card small{color:#777;letter-spacing:.12em;font-size:9px}.hunter{background:linear-gradient(145deg,#151514,#0e1112)}.survivors{background:linear-gradient(145deg,#10191a,#0d1112)}.storyteller{background:linear-gradient(145deg,#161313,#0e1112)}.cta{text-align:center;padding:100px 20px 120px;background:radial-gradient(circle at 50% 120%,#6e302633,transparent 55%);border-top:1px solid var(--line)}footer{padding:36px 7vw;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);color:#777;font-size:12px}.modal{width:min(540px,92vw);background:#111617;color:var(--ink);border:1px solid #c9a86a55;padding:48px;box-shadow:0 35px 100px #000;}.modal::backdrop{background:#020404dd;backdrop-filter:blur(8px)}.modal h2{font:600 35px Cinzel;margin:12px 0 28px}.close{position:absolute;right:18px;top:12px;border:0;background:none;color:#888;font-size:28px;cursor:pointer}.modal label{display:flex;flex-direction:column;gap:8px;color:#999;font-size:11px;text-transform:uppercase;letter-spacing:.12em;margin:20px 0}.modal input{background:#080c0d;border:1px solid var(--line);padding:15px;color:var(--ink);font:500 16px "DM Sans";outline:none}.modal input:focus{border-color:var(--gold)}.wide{width:100%}.role-select{display:grid;grid-template-columns:1fr 1fr;gap:10px}.role-select button{padding:20px 12px;background:#0a0e0f;border:1px solid var(--line);color:var(--ink);text-align:left;display:flex;align-items:center;gap:12px;cursor:pointer}.role-select button.selected{border-color:var(--gold);background:#c9a86a0e}.role-select b{font-size:24px;color:var(--gold)}.role-select span{display:flex;flex-direction:column}.role-select small{color:#777;margin-top:4px}.game-room{position:fixed;inset:0;background:#070a0b;z-index:30;overflow:auto}.game-header{height:68px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;padding:0 28px}.compact{font-size:11px}.compact .brand-mark{width:28px;height:28px;font-size:14px}.room-info{text-align:center;font-size:9px;letter-spacing:.16em;color:#777}.room-info button{margin-left:9px;background:#151b1c;border:1px solid var(--line);color:var(--gold2);padding:7px 12px;letter-spacing:.15em;cursor:pointer}.exit{justify-self:end;background:none;border:0;color:#888;cursor:pointer}.game-layout{height:calc(100vh - 68px);display:grid;grid-template-columns:230px 1fr 270px}.players-panel,.log-panel{padding:28px 22px;background:#0c1011}.players-panel{border-right:1px solid var(--line)}.log-panel{border-left:1px solid var(--line)}.player{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#25302f;color:var(--gold)}.player span{display:flex;flex-direction:column;font-size:12px}.player small{color:#666;margin-top:3px}.player.active .avatar{box-shadow:0 0 0 2px var(--gold)}.objective{margin-top:40px;padding:18px;background:#141a1a;border:1px solid var(--line)}.objective small{font-size:8px;color:var(--gold);letter-spacing:.15em}.objective strong{font:500 13px/1.5 Cinzel;display:block;margin:10px 0}.objective span{font-size:9px;color:#777}.progress,.tension div{height:3px;background:#293031;margin:12px 0}.progress i,.tension i{display:block;height:100%;width:0;background:var(--gold);transition:.5s}.board-wrap{position:relative;padding:64px 28px 80px;overflow:hidden;background:radial-gradient(circle,#1b211f,#090d0e 70%)}.turn-banner{position:absolute;top:18px;left:0;right:0;text-align:center}.turn-banner span{display:block;color:var(--gold);font-size:8px;letter-spacing:.2em}.turn-banner strong{font:500 17px Cinzel}.board{max-width:850px;height:calc(100vh - 240px);min-height:430px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,1fr);gap:8px;perspective:900px;transform:rotateX(2deg)}.room{position:relative;background:linear-gradient(135deg,#222927,#141918);border:1px solid #53605b55;overflow:hidden;cursor:pointer;transition:.2s;padding:12px;display:flex;align-items:flex-end}.room:before{content:"";position:absolute;inset:8px;border:1px solid #ffffff0c}.room:hover,.room.available{border-color:#c9a86a99;box-shadow:inset 0 0 30px #c9a86a10}.room.current{border-color:var(--gold);box-shadow:0 0 25px #c9a86a33,inset 0 0 35px #c9a86a11}.room.dark{background:linear-gradient(135deg,#111615,#090d0e)}.room strong{font:500 11px Cinzel;z-index:1}.room small{position:absolute;right:12px;top:11px;color:#ffffff24;font-size:18px}.pawn{position:absolute;width:24px;height:24px;border-radius:50%;background:var(--gold);top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 5px 12px #000,0 0 18px #c9a86a88;z-index:2}.pawn:after{content:"";position:absolute;width:12px;height:15px;border-radius:50% 50% 35% 35%;background:#e9d7aa;left:6px;top:-9px}.action-bar{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;background:#0e1314e8;border:1px solid var(--line);backdrop-filter:blur(10px)}.action-bar button{min-width:74px;padding:10px;background:none;border:0;border-right:1px solid var(--line);color:var(--gold);font-size:16px;cursor:pointer}.action-bar button:hover,.action-bar button.active{background:#c9a86a18}.action-bar span{display:block;color:#aaa;font-size:8px;text-transform:uppercase;letter-spacing:.1em;margin-top:3px}.action-bar .end-turn{min-width:110px;color:#111;background:var(--gold);font:600 9px "DM Sans";text-transform:uppercase;letter-spacing:.1em}.log-panel .eyebrow{margin-bottom:20px}#gameLog{height:calc(100vh - 220px);overflow:hidden}.log-item{padding:12px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.5;color:#9a9a94}.log-item b{color:var(--ink)}.log-item time{display:block;font-size:8px;color:#555;margin-top:4px}.tension{position:absolute;bottom:22px;width:220px;font-size:8px;letter-spacing:.15em;color:#777}.tension i{width:12%;background:var(--blood)}.toast{position:fixed;left:50%;bottom:30px;z-index:60;transform:translate(-50%,20px);padding:12px 20px;background:#e5d3a7;color:#101211;font-size:11px;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-copy{padding:130px 7vw 40px}.hero-art{min-height:540px}.game-showcase{grid-template-columns:1fr;gap:20px}.roles{grid-template-columns:1fr}.role-card{min-height:300px}.game-layout{grid-template-columns:1fr}.players-panel{display:none}.log-panel{display:none}.board-wrap{height:calc(100vh - 68px);padding-left:12px;padding-right:12px}.board{grid-template-columns:repeat(3,1fr)}.room:nth-child(n+10){display:none}.action-bar button{min-width:55px}.action-bar{max-width:95vw}.game-header{grid-template-columns:1fr 1fr}.game-header .room-info{display:none}}@media(max-width:600px){.topbar nav a{display:none}.topbar{padding:0 20px}.hero h1{font-size:48px}.hero-copy{padding-left:24px;padding-right:24px}.hero-actions{flex-direction:column}.trust{flex-wrap:wrap}.hero-art{min-height:440px}.moon{width:280px;height:280px}.manor{width:96%;right:-5%}.game-showcase,.roles{padding-left:24px;padding-right:24px}.modal{padding:38px 24px}.role-select{grid-template-columns:1fr}.board{height:calc(100vh - 240px)}footer{flex-direction:column;gap:20px;text-align:center}}

/* Mansion rules prototype */
.mansion-map{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:5px;transform:none;max-width:920px;background:#090c0c url('assets/mansion-board-v2.png') center/cover;padding:9px;border:2px solid #8b7042;box-shadow:0 24px 60px #000,0 0 0 5px #17120c}.mansion-map:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 48% 45%,transparent 20%,#02030377 100%);mix-blend-mode:multiply}.mansion-map .room{min-width:0;border:1px solid #dbc38466;border-radius:3px;padding:8px;background:#211c18a8;box-shadow:inset 0 0 18px #0006;backdrop-filter:sepia(.2) brightness(.75);z-index:1}.mansion-map .room.zone-r{background:#5b211db8}.mansion-map .room.zone-b{background:#173749b8}.mansion-map .room.zone-g{background:#294423b8}.mansion-map .room:hover{backdrop-filter:brightness(1.05);transform:translateY(-1px)}.mansion-map .room.selected{outline:3px solid var(--gold2);z-index:3;filter:drop-shadow(0 0 10px #e8c36c)}.mansion-map .room.reachable{border-color:#fff2b3;animation:pulseDoor 1.2s infinite}.mansion-map .room.radio:after{content:'⚙ RADIO';position:absolute;top:7px;left:8px;color:#f1c968;font-size:8px;letter-spacing:.08em}.mansion-map .room.item:after{content:'⌕ SEARCH';position:absolute;top:7px;left:8px;color:#f0ead4;font-size:8px;letter-spacing:.08em}.mansion-map .room.exit:after{content:'EXIT';position:absolute;top:7px;left:8px;color:#a9e0c1;font-size:8px;letter-spacing:.08em}.mansion-map .room strong{background:#090b0be0;padding:4px 6px;border:1px solid #d1aa58;font-size:9px}.room-code{position:absolute!important;right:7px!important;top:6px!important;color:#ffe096!important;font:700 9px Cinzel!important}.tokens{position:absolute;inset:26px 4px 22px;display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}.token{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;font:700 9px Cinzel;color:#fff;border:2px solid #eee;box-shadow:0 5px 10px #000,0 0 0 2px #0008}.token.anna{background:#a43d35}.token.marco{background:#305b9c}.token.sophia{background:#c98d2d}.token.killer{background:#111;border-color:#e44b40;font-size:13px}.token.noise{background:#e4c33e;color:#181000;border:0}.token.block{border-radius:2px;background:#8b6b45;border-color:#d5b98b;width:27px;height:12px}.survivor-card{cursor:pointer}.survivor-card.done{opacity:.42}.survivor-card.selected{background:#c9a86a13}.health{color:#b85850}.status-card{padding:13px;background:#141a1a;border:1px solid var(--line);margin-bottom:12px;display:flex;flex-direction:column;gap:5px}.status-card span{font-size:9px;color:var(--gold);letter-spacing:.07em}.status-card b{font-size:11px;line-height:1.4}.rules-note{margin-top:16px;padding:12px;border-left:2px solid var(--gold);display:flex;flex-direction:column;gap:5px}.rules-note b{font-size:10px}.rules-note span{font-size:9px;line-height:1.5;color:#777}.board-wrap{padding-bottom:190px}.action-bar{width:max-content;max-width:calc(100% - 20px);bottom:10px}.action-bar button{min-width:65px}.action-bar button:disabled{opacity:.25;cursor:not-allowed}.card-dock{position:absolute;left:22px;right:22px;bottom:68px;height:108px;display:grid;grid-template-columns:125px 1fr;gap:12px;padding:9px;background:#090d0deb;border:1px solid #c9a86a44;backdrop-filter:blur(12px);z-index:5}.dock-label{padding:8px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:8px}.dock-label small{font-size:9px;color:var(--gold);letter-spacing:.12em}.dock-label span{font-size:8px;color:#666;line-height:1.5}.hand-cards{display:flex;gap:8px;overflow-x:auto;align-items:stretch}.hand-cards>p{font-size:10px;color:#666;align-self:center}.game-card{width:116px;min-width:116px;border:1px solid #9a7d48;background:linear-gradient(160deg,#292117,#0d1010);color:var(--ink);padding:8px;text-align:left;position:relative;overflow:hidden;cursor:pointer;box-shadow:0 5px 12px #000}.game-card:hover{border-color:#f1d38e;transform:translateY(-2px)}.game-card.killer-card{background:linear-gradient(160deg,#3a1110,#0c0909);border-color:#9c3b32}.game-card .card-type{font-size:7px;color:var(--gold);letter-spacing:.14em}.game-card strong{font:600 11px Cinzel;display:block;margin:5px 0}.game-card p{font-size:8px;line-height:1.35;color:#aaa;margin:0}.game-card .card-icon{position:absolute;right:6px;top:5px;color:#ffffff33;font-size:25px}.card-choice{position:fixed;inset:68px 0 0;z-index:55;background:#030505f2;display:grid;place-items:center;text-align:center}.card-choice[hidden]{display:none}.card-choice>div{max-width:760px;padding:36px}.card-choice h2{font:600 30px Cinzel}.choice-cards{display:flex;justify-content:center;gap:18px;margin-top:25px}.choice-cards .game-card{width:210px;min-height:260px;padding:20px}.choice-cards .game-card strong{font-size:20px;margin:20px 0 12px}.choice-cards .game-card p{font-size:12px}.choice-cards .card-icon{font-size:60px;top:18px;right:15px}.close-choice{margin-top:20px;background:none;border:0;color:#888}.handoff{position:fixed;inset:68px 0 0;z-index:50;background:#050707f5;display:grid;place-items:center;text-align:center}.handoff[hidden]{display:none}.handoff>div{max-width:470px;padding:45px;border:1px solid #c9a86a55;background:#101515}.handoff h2{font:600 36px Cinzel;margin:10px}.handoff p:not(.eyebrow){color:#999;line-height:1.6}.danger .game-room{box-shadow:inset 0 0 100px #6d1c1c55}@keyframes pulseDoor{50%{box-shadow:inset 0 0 30px #c9a86a33,0 0 12px #c9a86a44}}
@media(max-width:900px){.mansion-map{grid-template-columns:repeat(5,1fr)!important;grid-template-rows:repeat(5,1fr);height:calc(100vh - 350px);min-height:330px}.mansion-map .room:nth-child(n){display:flex}.action-bar{overflow-x:auto;left:10px;right:10px;transform:none}.action-bar button{min-width:62px}.mansion-map .room strong{font-size:7px;padding:3px}.room-code{font-size:7px!important}.card-dock{left:10px;right:10px;grid-template-columns:90px 1fr}.game-card{width:100px;min-width:100px}.choice-cards .game-card{width:150px;min-width:150px}}

/* Top-down shaped Mansion table */
.mansion-map{position:relative;display:block;isolation:isolate;background-image:linear-gradient(#02050644,#02050644),url('assets/mansion-board-v2.png');overflow:hidden}.mansion-map .room{position:absolute!important;left:var(--x);top:var(--y);width:var(--w);height:var(--h);display:flex!important;transition:filter .2s,transform .2s;background:#241b16a8}.mansion-map .room.zone-r{background:#5d211daa}.mansion-map .room.zone-b{background:#12364baa}.mansion-map .room.zone-g{background:#294b22aa}.mansion-map .room:before{inset:4px;border-color:#fff3}.mansion-map .room strong{position:absolute;left:50%;bottom:5px;transform:translateX(-50%);white-space:nowrap;font-size:8px}.mansion-map .room.radio:after,.mansion-map .room.item:after,.mansion-map .room.exit:after{top:6px;left:8px;font-size:7px}.tokens{z-index:4;inset:20px 5px 17px;gap:2px}.character-piece{display:block;width:34px;height:40px;background-repeat:no-repeat;filter:drop-shadow(0 4px 3px #000);position:relative}.survivor-piece{background-image:url('assets/survivor-portraits-v1.png');background-size:500% 100%;border:2px solid #e9d9a7;border-radius:50% 50% 44% 44%;box-shadow:0 0 0 2px #111;transform:scale(.82)}.portrait,.mini-portrait{background-image:url('assets/survivor-portraits-v1.png');background-size:500% 100%;background-repeat:no-repeat}.p-0{background-position:0 50%}.p-1{background-position:25% 50%}.p-2{background-position:50% 50%}.p-3{background-position:75% 50%}.p-4{background-position:100% 50%}.killer-piece{width:38px;height:50px;background:url('assets/killer-standee-v1.png') center/contain no-repeat;filter:drop-shadow(0 3px 3px #000) drop-shadow(0 0 5px #a01818)}.board-token{width:23px;height:23px;border-radius:50%;display:grid;place-items:center;font:bold 14px Cinzel;box-shadow:0 3px 8px #000}.noise-token{background:#f4cc37;color:#1a1300;animation:noisePulse 1s infinite}.trap-token{background:#162924;color:#9ef0ca;border:1px solid #9ef0ca}.repair-pips{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:2px;z-index:3}.repair-pips i{width:7px;height:7px;border-radius:50%;background:#050707;border:1px solid #c9a86a}.repair-pips i.filled{background:#efc358;box-shadow:0 0 6px #efc358}.door-layer{position:absolute;inset:0;pointer-events:none;z-index:8}.map-door{position:absolute;width:18px;height:7px;margin:-3px 0 0 -9px;background:#f4e8b9;border:1px solid #56452c;box-shadow:0 2px 4px #000;transform:rotate(-12deg);font:700 10px/12px sans-serif;color:#fff}.map-door.locked{width:27px;height:13px;margin:-6px 0 0 -13px;background:#8a2d27;border-color:#f3b680;box-shadow:0 0 10px #ff5533}.secret-line{position:absolute;left:58%;top:68%;color:#9adcc7;font-size:26px;text-shadow:0 0 8px #00c99d;transform:rotate(-24deg)}.turn-banner em{display:block;margin-top:3px;color:#888;font:400 10px "DM Sans";font-style:normal}.avatar.portrait{border-radius:8px;border:1px solid #c8ab72;background-color:#111}.killer-face{background:url('assets/killer-standee-v1.png') center 18%/145% auto no-repeat;border-radius:8px;border:1px solid #9b3d36}.player span b{font-size:10px;font-weight:600}.player span small:first-of-type{color:#b3a073}.reserve-roster{margin-top:16px;padding:10px;background:#101516;border:1px solid var(--line);display:grid;gap:8px}.reserve-roster>small{font-size:7px;color:var(--gold);letter-spacing:.15em}.reserve-roster span{font-size:9px;color:#777;display:flex;align-items:center;gap:5px}.mini-portrait{width:22px;height:22px;border-radius:50%;display:inline-block}.table-panel{position:relative}.round-guide{display:grid;gap:9px;padding:14px 0;border-bottom:1px solid var(--line)}.round-guide>b,.privacy-note>b{font:600 11px Cinzel}.round-guide span{font-size:9px;color:#888;display:flex;align-items:center;gap:8px}.legend{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;font-style:normal}.noise-mark{background:#e3be35;color:#111}.lock-mark{background:#7c2925;color:#fff}.repair-mark{background:#254850;color:#f1ca70}.trap-mark{background:#16352d;color:#8ce2c1}.passage-mark{background:#142b2c;color:#7edaca}.privacy-note{padding:15px 0}.privacy-note p{font-size:9px;line-height:1.55;color:#777}.multiplayer-badge{display:flex;gap:9px;padding:10px;background:#111819;border:1px solid var(--line)}.multiplayer-badge i{width:8px;height:8px;border-radius:50%;background:#d29d3d;margin-top:3px}.multiplayer-badge span{font-size:8px;color:#777;line-height:1.5}.multiplayer-badge b{display:block;color:#b9a374}.game-card{padding-top:38px;background-color:#111;background-image:linear-gradient(#111b,#111b),url('assets/card-backs-v1.png');background-size:200% 100%;background-position:left center}.game-card.killer-card{background-image:linear-gradient(#1a0606bb,#1a0606bb),url('assets/card-backs-v1.png');background-position:right center}.choice-cards .game-card{padding-top:92px}.game-card .card-type,.game-card strong,.game-card p,.game-card .card-icon{position:relative;z-index:2}.game-card .card-icon{position:absolute}.game-card:after{content:'';position:absolute;inset:30px 0 auto;height:1px;background:#c8a45655}@keyframes noisePulse{50%{transform:scale(1.18);box-shadow:0 0 15px #f2ca40}}@media(max-width:900px){.mansion-map{height:calc(100vh - 350px)!important}.character-piece{width:25px;height:30px}.mansion-map .room strong{font-size:6px}.map-door{transform:scale(.7)}.turn-banner em{max-width:70%;margin:3px auto 0}}
