#app{width:100%;height:100%;position:relative;padding-top:var(--top);background:var(--bg)}.topbar{position:absolute;top:0;left:0;right:0;height:var(--top);display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:#131b1bea;z-index:20;gap:20px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:0;text-align:left;letter-spacing:1.5px;font-size:10px;font-weight:300}.brand b{font-weight:600}.brand small{display:block;font-size:7px;letter-spacing:2.9px;color:var(--muted);margin-top:6px}.brand-mark{border:1px solid #77644780;transform:rotate(45deg);width:32px;height:32px;display:grid;place-items:center;color:var(--gold);margin-right:4px}.brand-mark .icon{transform:rotate(-45deg);width:23px;height:23px}.top-actions{display:flex;gap:15px;align-items:center}.room-header{display:flex;align-items:center;gap:13px;font-size:12px}.room-code{color:var(--muted);font-size:9px;letter-spacing:1px}.room-code b{color:var(--gold);font-size:13px;letter-spacing:2px;margin-left:8px}.connection{color:#899c89;font-size:9px}.connection:before{content:'';display:inline-block;width:4px;height:4px;background:#93a884;border-radius:50%;margin-right:6px}.connection.offline{color:#e6a99b}.connection.offline:before{background:#e6a99b}#stage{position:relative;width:calc(100% - var(--sidebar));height:100%;overflow:hidden}#scene{position:absolute;inset:0}#scene canvas{width:100%;height:100%;display:block}.no-webgl{display:grid;place-items:center;text-align:center;padding:40px;background:radial-gradient(ellipse at center,#34443b,#152122);font-size:12px;color:#ced4c5}.scene-vignette{position:absolute;inset:0;background:linear-gradient(0deg,#10191be8,transparent 37%,#12202018 75%,#14212055),linear-gradient(90deg,#12202118,transparent 30%);pointer-events:none;z-index:1}#seat-labels{position:absolute;inset:0;pointer-events:none;z-index:4}.seat-label{position:absolute;top:0;left:0;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:82px;background:#142021db;border:1px solid #ffffff22;padding:7px 10px 6px;border-radius:5px;white-space:nowrap;pointer-events:auto;box-shadow:0 4px 18px #0002}.seat-label.is-active{border-color:var(--gold);background:#29312ae8;box-shadow:0 0 14px #d7ba8214}.seat-label.is-dead{opacity:.46;filter:saturate(.2)}.seat-name{font-size:10px;font-weight:500}.seat-name small{font-size:7px;color:var(--gold);margin-left:5px}.seat-status{font-size:8px;color:#aab5a9}.seat-status b{font-size:10px;color:var(--gold);font-weight:500}.seat-status em{font-size:8px;color:#84958d}.seat-tokens:empty{display:none}.seat-tokens{display:flex;gap:3px}.token{display:inline-grid;place-items:center;width:21px;height:21px;background:#191c27;border:1px solid #776447;border-radius:50%;color:#d7ba82;font-style:normal}.token .icon{width:12px;height:12px}.token.curse{color:#b88cd1}.token.crescent{color:#c8cdd2}.token.cupidA,.token.cupidB{color:#d39a9b}.is-home #stage{width:100%}.is-home #scene{left:22%;right:-10%;top:-1%;bottom:-14%}.is-home .scene-vignette{background:linear-gradient(90deg,#101c1eff 5%,#122022ed 20%,#13201e86 40%,#13201e04 62%),linear-gradient(0deg,#10191b 1%,transparent 43%),linear-gradient(180deg,#121e2044,transparent 70%)}.home{position:relative;z-index:5;padding:70px 0 0 6vw;max-width:600px}.home h1{font-family:"Times New Roman","Noto Serif","DejaVu Serif",serif;font-weight:400;font-size:clamp(56px,5.9vw,90px);line-height:1.08;letter-spacing:-2px;margin:28px 0 22px}.home h1 em{color:var(--gold);font-style:italic}.home p{color:#9caaa4;font-size:13px;line-height:1.9;font-weight:300}.home-buttons{display:grid;gap:11px;margin-top:32px;width:286px}.home-buttons>.button{justify-content:flex-start;height:50px;padding:12px 18px}.home-buttons>.button>.icon:last-child{margin-left:auto}.watch-button{display:flex;align-items:center;gap:10px;justify-content:center;font-size:11px;color:#a9b4ac;padding:14px}.watch-button:hover{color:var(--gold)}.watch-button .icon{width:16px;height:16px}.home-meta{display:flex;align-items:center;gap:15px;margin-top:25px;font-size:9px;color:#85948a}.home-meta b{color:#c9cdb8;font-size:11px;font-weight:400}.home-meta i{width:3px;height:3px;border-radius:50%;background:#696b57}.scene-note{position:absolute;right:5vw;bottom:90px;color:#b9c4ac;z-index:5;letter-spacing:2px;font-size:9px;display:flex;gap:9px;align-items:center}.scene-note small{position:absolute;right:0;top:20px;font-size:8px;letter-spacing:.5px;color:#81928a;white-space:nowrap}#home-footer{position:absolute;left:6vw;right:4vw;bottom:25px;z-index:6;display:flex;justify-content:space-between;align-items:center;color:#70837b;font-size:8px;letter-spacing:2px}#home-footer button{color:#a5b29f;letter-spacing:0;font-size:10px}#home-footer .icon{width:15px;height:15px;margin-left:8px}.sidebar{position:absolute;top:var(--top);right:0;bottom:0;width:var(--sidebar);background:#162022;border-left:1px solid var(--line);display:flex;flex-direction:column;z-index:10}.sidebar-title{padding:24px 23px 21px;display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:2px;color:#b5c1b5}.sidebar-title>span:last-child{margin-left:auto;font-size:9px;color:#6e8879;letter-spacing:0}.side-tabs{display:flex;margin:0 22px;border-bottom:1px solid var(--line);flex-shrink:0}.side-tabs button{flex:1;padding:0 0 13px;font-size:11px;color:#8a9d93}.side-tabs button.active{color:var(--gold);border-bottom:1px solid var(--gold)}.side-tabs .icon{width:13px;height:13px;margin-left:6px}.chat-feed{overflow:auto;flex:1;padding:19px 20px;scrollbar-width:thin;scrollbar-color:#536257 transparent}.chat-message{display:flex;gap:9px;margin:0 0 21px;animation:message-in .25s ease}.chat-avatar{width:27px;height:29px;border:1px solid #6b77663b;background:#2b3b35;border-radius:4px;display:grid;place-items:center;color:#b4baa0;flex-shrink:0}.chat-avatar .icon{width:15px;height:15px}.message-body{min-width:0;flex:1}.message-header{display:flex;align-items:center;gap:7px;margin-bottom:7px}.message-header strong{font-size:10px;font-weight:500;color:#d0d5c6}.message-header time{margin-left:auto;color:#576f63;font-size:8px}.message-header small{font-size:7px;color:#a4b488;border:1px solid #71875d55;padding:1px 4px;border-radius:2px}.message-text{font-size:11px;line-height:1.8;color:#9bafa2;overflow-wrap:anywhere}.chat-system{font-size:9px;text-align:center;color:#778d7d;line-height:1.8;margin:13px 0 20px}.chat-system:before{content:'✦';display:inline-block;color:#a78d60;margin-right:7px}.chat-form{margin:0 18px;padding:12px 0 14px;border-top:1px solid var(--line);display:flex;position:relative;align-items:center;gap:6px;flex-wrap:wrap}.chat-form input{width:calc(100% - 41px);background:#0f191c;border-color:#ffffff0c;font-size:10px;height:40px;padding:11px}.chat-form button{width:34px;height:36px;color:var(--gold);background:#bba06b12;border:0}.chat-form small{font-size:8px;color:#607c6e;line-height:1.5;width:100%;padding-top:5px}.sidebar-footer{font-size:6px;letter-spacing:1px;color:#617b6b;padding:14px 18px;text-align:center;border-top:1px solid var(--line);flex-shrink:0}.sidebar-footer span{color:#9a8256;margin:0 4px}.people-list{overflow:auto;flex:1;padding:15px 20px}.person-row{border-bottom:1px solid var(--line);padding:13px 0}.person-top{display:flex;justify-content:space-between;gap:10px;font-size:12px}.person-top small{color:var(--gold);font-size:10px}.person-effects{font-size:9px;color:var(--muted);line-height:1.8;margin-top:8px}.person-row.dead{opacity:.4}.glass-panel{background:#142023ee;border:1px solid #85714a55;border-radius:8px;box-shadow:0 20px 65px #0004;backdrop-filter:blur(14px)}.lobby{position:absolute;width:460px;max-height:calc(100% - 70px);overflow:auto;left:50%;top:47%;transform:translate(-50%,-50%);z-index:7;padding:28px 30px}.lobby h2{font-size:30px;margin:9px 0 10px}.lobby-header{display:flex;justify-content:space-between;align-items:center}.lobby-code{font-size:19px;letter-spacing:4px;color:var(--gold)}.lobby-players{display:grid;gap:8px;margin:22px 0}.lobby-player{display:flex;align-items:center;gap:12px;padding:9px 12px;background:#ffffff04;border:1px solid var(--line);border-radius:4px;font-size:11px}.lobby-player .icon{width:18px;height:18px;color:#a1b39e}.lobby-player>span{flex:1}.lobby-player small{font-size:9px;color:#879b85}.lobby-player.ready small{color:#c9c38c}.lobby-empty{border:1px dashed #ffffff1c;color:#6e8779}.lobby-controls{display:flex;gap:9px;margin-top:15px;flex-wrap:wrap}.lobby-controls .button{flex:1}.lobby .muted{font-size:10px}.phase-panel{position:absolute;z-index:7;left:50%;top:38%;transform:translate(-50%,-50%);text-align:center;width:530px;max-width:90%;padding:28px 30px;max-height:75%;overflow:auto}.phase-panel h2{font-size:30px;margin:9px 0 15px}.phase-panel p{color:#a7b5a7;font-size:12px}.phase-panel .eyebrow{justify-content:center}.phase-timer{font-family:"Times New Roman","Noto Serif","DejaVu Serif",serif;font-size:27px;color:var(--gold);letter-spacing:2px;margin:10px}.table-note{position:absolute;top:22px;left:25px;z-index:5;display:flex;align-items:center;gap:8px;font-size:9px;color:#c6cbb6;text-shadow:0 1px 5px #000}.table-note .icon{width:16px;height:16px;color:#d4b780}.table-rule{color:#9cae9d;margin-left:10px}.role-badge{position:absolute;top:22px;right:22px;z-index:5;max-width:160px}.role-reveal{display:flex;align-items:center;gap:8px;background:#132020d9;border:1px solid #9b865943;padding:9px 12px;border-radius:4px;font-size:9px;color:#aabcaa}.role-reveal>.icon{width:17px;height:17px;color:var(--gold)}.role-reveal strong{font-weight:400;color:var(--gold);font-size:11px;display:block;margin-top:3px}.notebook-button{position:absolute;z-index:5;top:83px;right:22px;display:flex;align-items:center;gap:6px;color:#b8c5ae;font-size:9px;text-shadow:0 1px 4px #000}.notebook-button .icon{width:13px;height:13px}.mobile-chat{display:none}.hand-zone{position:absolute;bottom:0;left:0;right:0;z-index:6;padding:0 24px 10px;background:linear-gradient(0deg,#11191dff 10%,#11191de8 70%,#11191d00)}.turn-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:17px 2px 13px}.turn-info{display:flex;align-items:center;gap:12px}.turn-orb{width:36px;height:36px;border:1px solid #aa96674d;border-radius:50%;display:grid;place-items:center;color:var(--gold);background:#d7ba8208}.turn-orb .icon{width:18px;height:18px}.turn-info small{display:block;color:#8da08d;font-size:8px;letter-spacing:1.7px;margin-bottom:5px}.turn-info strong{font-size:12px;font-weight:400;color:#d8decc}.turn-actions{display:flex;align-items:center;gap:15px}.timer{font-size:19px;font-variant-numeric:tabular-nums;font-family:"Times New Roman","Noto Serif","DejaVu Serif",serif;color:var(--gold);letter-spacing:1px}.timer.urgent{color:#de9d84}.hand-heading{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px;color:#8da38f;font-size:8px;letter-spacing:1.4px}.hand-heading b{font-size:8px;color:var(--gold);margin-left:7px;background:#c4b08015;border:1px solid #c4b08033;border-radius:3px;padding:1px 5px;font-weight:400}.hand-heading small{font-size:8px;color:#5d7d6c;letter-spacing:0}.hand{display:flex;gap:9px;overflow:auto;padding:6px 3px 4px;align-items:flex-end;min-height:182px;scrollbar-width:thin;scrollbar-color:#77644744 transparent}.empty-hand{font-size:12px;color:#738c7d;width:100%;text-align:center;align-self:center}.spectating{padding:25px;font-size:11px;color:#a3b19a;text-align:center}
@keyframes message-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
