@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&family=ZCOOL+XiaoWei&display=swap";:root{color-scheme:dark;font-family:Noto Sans SC,sans-serif;color:#f4efe8;background:#15120f;font-synthesis:none;--gold: #d8a752;--gold_dark: #8f672d;--panel: #211c17;--panel_soft: #28221c;--line: #3c3329;--muted: #a99f93;--danger: #b8594e}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;touch-action:manipulation}body{min-width:320px;min-height:100dvh;background:radial-gradient(circle at 75% -10%,#3a2b1d 0,transparent 34%),#15120f}button,input,textarea,select{font:inherit}input,textarea,select{font-size:16px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}h1,h2,h3,p{margin-top:0}.app_shell{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom)}.app_header{height:82px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 5vw;background:#15120fe6;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand_lockup{display:flex;align-items:center;gap:12px}.brand_lockup>div:last-child{display:flex;flex-direction:column}.brand_lockup strong{letter-spacing:.2em;font-size:14px}.brand_lockup small{color:var(--muted);font-size:11px;letter-spacing:.12em}.brand_mark{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--gold);transform:rotate(45deg);color:var(--gold)}.brand_mark .spy_icon{width:39px;height:39px;transform:rotate(-45deg)}.brand_mark.small{width:38px;height:38px}.brand_mark.small .spy_icon{width:27px;height:27px}.spy_icon,.target_icon{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.spy_icon circle{fill:currentColor;stroke:none}.spy_icon .spy_hat_band{stroke-width:4}.desktop_nav{display:flex;height:100%;gap:30px}.desktop_nav button{border:0;background:transparent;color:var(--muted);position:relative;padding:0 4px}.desktop_nav button.active{color:#fff}.desktop_nav button.active:after{content:"";position:absolute;height:2px;background:var(--gold);left:0;right:0;bottom:0}.user_actions{justify-self:end;display:flex;align-items:center;gap:14px}.user_chip{display:flex;align-items:center;gap:10px}.user_chip>span,.avatar{width:36px;height:36px;border-radius:50%;background:#463722;color:var(--gold);display:grid;place-items:center}.user_chip div{display:flex;flex-direction:column}.user_chip small{color:var(--gold)}.user_chip i,.player_list i{width:8px;height:8px;background:#70a169;border-radius:50%}.user_chip i.offline,.player_list i.offline{background:#776e65}.logout_button{min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--muted)}.logout_button:hover:not(:disabled){color:#fff;border-color:var(--gold_dark)}.eyebrow{color:var(--gold);text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;margin-bottom:8px}.content_panel{background:linear-gradient(145deg,#2a231cf5,#1d1915f5);border:1px solid var(--line);border-radius:18px}.lobby_layout,.history_layout,.ranking_panel{width:min(1180px,92vw);margin:38px auto}.lobby_layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}.room_browser,.create_panel,.history_panel,.chart_panel,.ranking_panel{padding:28px}.section_heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}.section_heading h2,.section_heading h3{margin:0}.section_heading>span,.count_badge{color:var(--muted);font-size:13px}.count_badge,.round_marker,.timer_pill{border:1px solid var(--line);border-radius:999px;padding:8px 13px}.room_grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.room_card{border:1px solid var(--line);border-radius:14px;padding:18px;background:#110e0c61}.room_card h3{margin:18px 0 5px}.room_card p{color:var(--muted);font-size:13px}.room_card_top,.room_meta{display:flex;justify-content:space-between;align-items:center}.mode_icon{color:var(--gold)}.status_dot{color:#84ad7d;font-size:12px}.status_dot:not(.waiting){color:#b98d72}.room_meta{padding:12px 0;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.primary_button,.ghost_button{border:0;border-radius:10px;min-height:46px;padding:0 20px;font-weight:700}.primary_button{color:#1d160d;background:linear-gradient(135deg,#e6bd73,#c88b35);box-shadow:0 8px 22px #c589352e}.primary_button:hover:not(:disabled){filter:brightness(1.08)}.ghost_button{color:#ddd4c8;background:transparent;border:1px solid var(--line)}.full_width{width:100%}.create_panel{position:sticky;top:105px}.mobile_create_trigger{display:none}.create_panel label{display:grid;gap:8px;color:#d8d0c6;margin:20px 0;font-size:13px}.create_panel input,textarea,.login_fields input{width:100%;background:#17130f;color:#fff;border:1px solid var(--line);border-radius:10px;padding:13px;outline:none}.create_panel input:focus,textarea:focus,.login_fields input:focus{border-color:var(--gold_dark);box-shadow:0 0 0 3px #d8a7521a}.room_name_input{display:grid;grid-template-columns:minmax(0,1fr) 46px}.room_name_input input{min-width:0;border-radius:10px 0 0 10px}.room_name_input button{display:grid;place-items:center;min-width:46px;border:1px solid var(--line);border-left:0;border-radius:0 10px 10px 0;background:#2d251c;color:var(--gold)}.room_name_input button:hover{background:#3a2d20}.room_name_input button:active{background:#211a14}.room_name_input button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.room_name_input svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}.room_name_input circle{fill:currentColor;stroke:none}.mode_picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}.mode_picker button{padding:13px 8px;border:1px solid var(--line);border-radius:10px;background:#181410;color:var(--muted);text-align:left}.mode_picker button.selected{color:#fff;border-color:var(--gold_dark);background:#30261a}.mode_picker strong,.mode_picker small{display:block}.mode_picker small{font-size:10px;margin-top:4px}.create_action{margin-top:22px}.empty_state,.empty_inline{text-align:center;color:var(--muted);padding:60px 20px}.empty_state h3{color:#eee6dd}.empty_mark{width:68px;height:68px;display:grid;place-items:center;margin:0 auto 16px;border:1px solid var(--line);border-radius:50%;color:var(--gold)}.empty_mark .target_icon{width:42px;height:42px}.empty_inline{padding:32px;border:1px dashed var(--line);border-radius:12px}.game_page{width:min(1280px,94vw);margin:0 auto;padding:26px 0 50px}.game_topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:20px;min-height:58px}.room_exit_button{justify-self:start;width:auto;white-space:nowrap}.room_heading{min-width:0;text-align:center}.room_heading h1{margin:5px 0 0;font-size:22px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room_mode_tag{color:var(--gold);font-size:11px;letter-spacing:.08em}.waiting_status{justify-self:end;display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px;white-space:nowrap}.waiting_status i{width:8px;height:8px;border-radius:50%;background:#79a574;box-shadow:0 0 0 5px #79a5741a}.round_marker{justify-self:end;color:var(--gold)}.waiting_layout,.active_game_layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.7fr);gap:20px}.table_panel{min-height:620px;padding:28px 34px;overflow:hidden}.waiting_intro{display:flex;justify-content:space-between;align-items:end;gap:20px;text-align:left}.waiting_intro h2{margin:0;font-size:26px}.waiting_intro>p{margin:0;color:var(--muted);font-size:13px}.seating_map{position:relative;width:min(720px,96%);aspect-ratio:1.65;margin:18px auto 8px}.table_surface{position:absolute;z-index:1;left:50%;top:50%;width:62%;height:53%;transform:translate(-50%,-50%);border:2px solid #765d3d;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(ellipse at 50% 35%,#473621,#241b13 58%,#100d0a);box-shadow:inset 0 0 0 8px #0a080647,inset 0 0 55px #080706,0 28px 48px #0000006b}.table_surface:after{content:"";position:absolute;inset:11px;border:1px solid rgba(216,167,82,.16);border-radius:inherit}.table_emblem{width:30px;height:30px;color:#d8a75257}.table_surface strong{color:#fff4df;font-size:42px;line-height:1;margin:8px 0 5px}.table_surface strong small{color:var(--gold);font-size:18px}.table_surface p{margin:0;color:var(--muted);font-size:11px;letter-spacing:.18em}.table_seat{position:absolute;z-index:2;width:90px;transform:translate(-50%,-50%);display:grid;justify-items:center;text-align:center}.seat_chair{width:58px;height:45px;border:1px solid #57483a;border-radius:18px 18px 11px 11px;display:grid;place-items:center;color:#766a5e;background:linear-gradient(#2d2721,#1b1714);box-shadow:0 7px 14px #00000057}.table_seat.occupied .seat_chair{border-color:#99713b;background:linear-gradient(#533c22,#2c2117)}.person_silhouette{position:relative;width:32px;height:34px}.person_silhouette i{position:absolute;left:10px;top:1px;width:13px;height:13px;border-radius:50%;background:#e1b96f}.person_silhouette b{position:absolute;left:4px;bottom:1px;width:25px;height:16px;border-radius:14px 14px 6px 6px;background:#b8833f}.table_seat>strong{width:100%;margin-top:5px;color:#8e8479;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table_seat.occupied>strong{color:#f0e7db}.table_seat>small{position:absolute;top:-7px;right:3px;padding:2px 5px;border-radius:999px;color:#261a0e;background:var(--gold);font-size:9px;font-weight:800}.seating_map.crowded .table_seat{width:62px}.seating_map.crowded .seat_chair{width:43px;height:35px}.seating_map.crowded .person_silhouette{transform:scale(.75)}.seating_map.crowded .table_seat>strong{font-size:9px}.table_legend{display:flex;justify-content:center;gap:22px;color:var(--muted);font-size:11px}.table_legend span{display:flex;align-items:center;gap:7px}.table_legend i{width:8px;height:8px;border-radius:50%;background:#4f473f}.table_legend i.occupied_mark{background:var(--gold)}.player_panel{padding:24px}.player_list,.compact_players{list-style:none;margin:0;padding:0}.player_list li{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.player_list em{color:var(--gold);font-size:11px;font-style:normal}.player_panel .primary_button{margin-top:22px}.waiting_note,.spectator_note{text-align:center;color:var(--muted);padding:18px}.game_stage{min-height:650px;padding:30px;display:flex;flex-direction:column}.game_sidebar{display:grid;gap:16px;align-content:start}.game_sidebar .content_panel{padding:20px}.center_stage{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.secret_card{width:min(340px,85%);aspect-ratio:1.65;border:1px solid var(--gold_dark);border-radius:17px;display:flex;flex-direction:column;justify-content:center;margin:16px 0 25px;background:radial-gradient(circle,#483620,#211910);box-shadow:0 28px 60px #0006}.secret_card small{color:var(--muted)}.secret_card strong{font-family:ZCOOL XiaoWei,serif;font-size:42px;margin-top:12px}.countdown{width:72px;height:72px;display:grid;place-items:center;border-radius:50%;border:2px solid var(--gold);color:var(--gold);font-size:30px}.phase_heading{display:flex;justify-content:space-between;align-items:center;gap:18px;border-bottom:1px solid var(--line);padding-bottom:20px}.phase_heading h2{margin:0}.secret_chip{padding:10px 13px;background:#18130f;border:1px solid var(--line);border-radius:9px;color:var(--muted)}.secret_chip strong{color:var(--gold);margin-left:6px}.mobile_secret_word{display:none}.description_stream{display:grid;gap:12px;padding:24px 0;flex:1;align-content:start}.speech{display:flex;gap:12px;align-items:flex-start}.speech>span,.compact_players>li>span{flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#3a3025;color:var(--gold)}.speech>div{background:#181410;border:1px solid var(--line);padding:11px 14px;border-radius:4px 12px 12px}.speech strong{font-size:12px;color:var(--muted)}.speech p{margin:3px 0 0}.speaker_action{display:flex;gap:12px;align-items:end;border-top:1px solid var(--line);padding-top:18px}.speaker_action textarea{flex:1;resize:vertical}.speaker_action p{flex:1;color:var(--muted)}.online_description_status{padding:22px 0}.online_description_status>p{color:var(--muted)}.submission_grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.submission_grid>div{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:11px;background:#181410}.submission_grid>div>span{grid-row:1 / 3;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--gold);background:#33291f}.submission_grid small{color:var(--muted)}.submission_grid .submitted{border-color:#52654c}.submission_grid .submitted small{color:#8fb087}.online_speaker_action{margin-top:auto}.description_waiting{min-height:220px}.description_review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:20px 0 4px}.description_review article{display:flex;gap:10px;padding:13px;border:1px solid var(--line);border-radius:11px;background:#181410}.description_review article>span{flex:0 0 36px;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:var(--gold);background:#33291f}.description_review article p{margin:4px 0 0}.description_review article p.missing{color:#b77f76;font-style:italic}.identity_word{display:flex;gap:14px;align-items:center}.identity_word>span{font-size:34px;color:var(--gold)}.identity_word div{display:flex;flex-direction:column}.identity_word small{color:var(--muted)}.identity_word strong{font-size:24px}.compact_players li{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;padding:10px 0}.compact_players li.eliminated{opacity:.38;text-decoration:line-through}.compact_players small{color:var(--gold)}.phase_help{color:var(--muted);margin:20px 0}.vote_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.vote_card{min-height:110px;border:1px solid var(--line);border-radius:12px;background:#181410;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.vote_card>span{width:42px;height:42px;border-radius:50%;background:#362c22;display:grid;place-items:center}.vote_card.selected{border-color:var(--gold);background:#32271a;box-shadow:inset 0 0 0 1px var(--gold)}.vote_submit{align-self:center;margin-top:auto;min-width:220px}.vote_waiting{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.vote_waiting>span{color:#7ba574;font-size:48px}.vote_waiting p{color:var(--muted)}.result_avatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;font-size:34px;background:#342b22;margin:10px 0 18px}.role_hidden{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 18px;margin-bottom:18px;font-size:13px}.result_stage p{color:var(--muted)}.outcome_icon{width:106px;height:106px;display:grid;place-items:center;margin:4px 0 14px;border:1px solid;border-radius:50%}.outcome_icon svg{width:70px;height:70px;overflow:visible}.outcome_icon path{fill:none;stroke:currentColor;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.outcome_icon.win{color:#e5b85f;border-color:#9f7634;background:radial-gradient(circle at 50% 35%,#4e3b20,#251b10 70%);box-shadow:0 0 0 7px #d8a75214,0 16px 34px #d8a7522e}.outcome_icon.win svg{filter:drop-shadow(0 4px 8px rgba(216,167,82,.3))}.outcome_icon.loss{color:#d47e72;border-color:#74423c;background:radial-gradient(circle at 50% 35%,#482725,#241615 70%);box-shadow:0 0 0 7px #b8594e12,0 16px 34px #60262133}.outcome_icon.loss svg{transform:rotate(-7deg)}.personal_result{display:flex;align-items:center;gap:16px;min-width:min(390px,100%);padding:15px 18px;margin-top:16px;border:1px solid var(--line);border-radius:14px;text-align:left;background:#181410}.personal_result>span{padding:7px 10px;border-radius:8px;font-size:12px;font-weight:800}.personal_result.win>span{color:#b9d8b1;background:#263a23}.personal_result.loss>span{color:#e0a39b;background:#432522}.personal_result>div{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 9px}.personal_result small{color:var(--muted)}.personal_result strong{color:var(--gold)}.personal_result em{grid-column:1 / 3;color:#e5ddd3;font-size:12px;font-style:normal}.word_reveal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:min(760px,100%);margin:16px 0 20px;text-align:left}.word_reveal article{min-width:0;display:flex;flex-direction:column;padding:18px;background:#181410;border:1px solid var(--line);border-radius:12px}.word_reveal small{color:var(--muted)}.word_reveal strong{font-size:22px;margin-top:5px}.word_reveal p{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);color:#c8beb2;font-size:14px;line-height:1.7}.finished_actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px}.finished_actions p{width:100%;margin:0 0 4px;color:var(--muted);font-size:12px}.statistics_grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.stat_card{padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--panel);display:flex;flex-direction:column}.stat_card small,.stat_card span{color:var(--muted)}.stat_card strong{font-size:30px;margin:8px 0}.rank_card strong{color:var(--gold);font-family:ZCOOL XiaoWei,serif}.chart_panel{margin-bottom:20px}.chart_frame{height:260px}.history_list{display:grid;gap:10px}.history_list article{display:flex;gap:15px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#191511}.outcome_mark{flex:0 0 48px;height:48px;border-radius:50%;display:grid;place-items:center}.outcome_mark.win{color:#a7c79f;background:#223220}.outcome_mark.loss{color:#d18a82;background:#3a201e}.history_main h3{margin-bottom:3px}.history_main p,.history_main small{color:var(--muted);font-size:12px}.history_words{display:flex;gap:16px;margin:10px 0;font-size:13px}.history_words strong{color:var(--gold)}.history_pagination{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.history_pagination>span{display:flex;flex-direction:column;align-items:center;color:#e8dfd4;font-size:13px}.history_pagination small{margin-top:3px;color:var(--muted);font-size:10px}.ranking_table{display:grid}.ranking_row{display:grid;grid-template-columns:70px 1.4fr 1fr .8fr .8fr;align-items:center;gap:12px;padding:14px 12px;border-bottom:1px solid var(--line)}.ranking_row.table_head{color:var(--muted);font-size:12px}.ranking_row.me{background:#d8a75217}.ranking_row em{color:var(--gold);font-style:normal}.ranking_row strong small{background:var(--gold);color:#1d160d;padding:2px 6px;border-radius:999px}.login_page,.boot_screen{min-height:100dvh;display:grid;place-items:center;padding:28px;position:relative;overflow:hidden}.login_ambient{position:absolute;inset:0;background:radial-gradient(circle at 68% 38%,rgba(170,112,45,.25),transparent 24%),linear-gradient(110deg,transparent 45%,rgba(255,255,255,.025) 45% 46%,transparent 46%)}.login_card{position:relative;width:min(680px,94vw);padding:48px;border:1px solid var(--line);border-radius:22px;background:#1c1713e6;box-shadow:0 40px 100px #00000080}.login_card>.brand_lockup{margin-bottom:60px}.login_card h1{font-family:ZCOOL XiaoWei,serif;font-size:clamp(38px,6vw,65px);line-height:1.15;margin-bottom:20px}.login_card h1 em{color:var(--gold);font-style:normal}.login_intro{color:var(--muted);line-height:1.8;max-width:560px}.login_card form{margin-top:34px}.login_fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.login_fields label{display:grid;gap:8px;font-size:13px;color:#d8d0c6}.login_fields input{min-height:52px;font-size:16px}.login_submit{width:100%;min-height:52px;margin-top:14px}.form_error{color:#df8378;margin-top:8px}.login_features{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}.boot_screen{color:var(--muted);gap:20px;align-content:center}.mobile_nav{display:none}.toast{position:fixed;z-index:100;left:50%;bottom:28px;transform:translate(-50%);background:#3d201d;color:#ffd9d4;border:1px solid #7b3b35;padding:12px 18px;border-radius:10px;box-shadow:0 10px 35px #0006}@media(max-width:900px){.lobby_layout{grid-template-columns:1fr 300px}.room_grid{grid-template-columns:1fr}.statistics_grid{grid-template-columns:1fr 1fr}.waiting_layout,.active_game_layout{grid-template-columns:minmax(0,1fr) 260px}.vote_grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){body{background:#15120f}.app_shell{padding-bottom:calc(74px + env(safe-area-inset-bottom))}.app_header{height:66px;padding:0 16px;grid-template-columns:1fr auto}.app_header .brand_lockup small,.user_chip div,.desktop_nav{display:none}.user_actions{gap:10px}.logout_button{min-height:38px}.brand_mark.small{width:34px;height:34px}.lobby_layout,.history_layout,.ranking_panel{width:100%;margin:0}.lobby_layout{display:flex;flex-direction:column;gap:12px;padding:12px}.room_browser,.create_panel,.history_panel,.chart_panel,.ranking_panel{padding:18px;border-radius:14px}.mobile_create_trigger{order:-2;width:100%;min-height:68px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:11px 14px;border:1px solid var(--gold_dark);border-radius:14px;color:#f4efe8;background:linear-gradient(135deg,#332719,#211b15);text-align:left;box-shadow:0 10px 26px #0000003d}.mobile_create_trigger>span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;color:#21170d;background:var(--gold);font-size:25px}.mobile_create_trigger>div{display:flex;flex-direction:column;gap:3px}.mobile_create_trigger strong{font-size:16px}.mobile_create_trigger small{color:var(--muted)}.mobile_create_trigger i{color:var(--gold);font-size:11px;font-style:normal}.create_panel{display:none;position:static;width:100%;order:-1}.create_panel.mobile_open{display:block}.room_browser{width:100%}.room_grid{grid-template-columns:1fr}.section_heading{align-items:flex-start}.mode_picker{grid-template-columns:1fr 1fr}.room_card{padding:16px}.mobile_nav{position:fixed;z-index:30;display:grid;grid-template-columns:repeat(3,1fr);left:0;right:0;bottom:0;height:calc(64px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#191511f7;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile_nav button{border:0;background:transparent;color:var(--muted);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;min-height:54px}.mobile_nav button span{font-size:18px}.mobile_nav button.active{color:var(--gold)}.game_page{width:100%;padding:0 0 calc(20px + env(safe-area-inset-bottom));min-height:100dvh}.game_page textarea{font-size:16px}.game_topbar{position:sticky;top:0;z-index:20;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;margin:0;background:#15120ff2;border-bottom:1px solid var(--line)}.game_topbar .room_exit_button{min-height:38px;padding:0 9px;font-size:11px}.room_heading h1{font-size:16px}.room_mode_tag,.waiting_status{display:none}.round_marker{padding:6px 9px;font-size:11px;white-space:nowrap}.submission_grid,.description_review{grid-template-columns:1fr}.waiting_layout,.active_game_layout{display:flex;flex-direction:column;gap:10px;padding:10px}.waiting_layout .table_panel{order:-1}.table_panel{min-height:450px;padding:18px 14px}.waiting_intro{display:block}.waiting_intro h2{font-size:22px}.waiting_intro>p{margin-top:6px}.seating_map{width:100%;aspect-ratio:1.18;margin-top:8px}.table_surface{width:59%;height:49%}.table_surface strong{font-size:32px}.table_surface strong small{font-size:14px}.table_seat{width:66px}.seat_chair{width:47px;height:37px}.person_silhouette{transform:scale(.82)}.table_seat>strong{font-size:9px}.table_legend{gap:12px}.player_panel{padding:18px}.active_game_layout .game_stage{order:-1}.game_stage{min-height:calc(100dvh - 98px);padding:18px;border-radius:14px}.game_sidebar{display:grid;grid-template-columns:1fr}.identity_panel{display:none}.secret_card{width:90%}.secret_card strong{font-size:36px}.phase_heading{align-items:flex-start}.phase_heading .secret_chip{display:none}.mobile_secret_word{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 2px;padding:12px 14px;border:1px solid var(--gold_dark);border-radius:11px;background:#2f2519}.mobile_secret_word small{color:var(--muted)}.mobile_secret_word strong{color:var(--gold);font-size:20px}.description_stream{padding-bottom:120px}.speaker_action,.player_panel .sticky_mobile_action{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:15;background:#211c17;border:1px solid var(--line);border-radius:13px;padding:10px;box-shadow:0 -12px 30px #00000057}.vote_submit.sticky_mobile_action{position:sticky;bottom:calc(8px + env(safe-area-inset-bottom));z-index:15;box-shadow:0 -12px 30px #00000057,0 8px 22px #c589352e}.speaker_action{display:grid}.speaker_action .primary_button{width:100%}.vote_grid{grid-template-columns:1fr 1fr}.vote_card{min-height:96px}.vote_submit{width:100%;align-self:stretch;margin-top:auto}.word_reveal{width:100%}.word_reveal div{min-width:0;flex:1}.compact_players{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.history_layout{padding:12px}.statistics_grid{grid-template-columns:1fr 1fr;gap:8px}.stat_card{padding:14px}.stat_card strong{font-size:24px}.chart_panel,.history_panel{margin-bottom:12px}.history_list article{padding:12px}.history_words{flex-direction:column;gap:4px}.ranking_panel{margin:12px;width:calc(100% - 24px)}.ranking_table{overflow-x:auto}.ranking_row{min-width:590px}.login_page{align-items:start;padding:calc(24px + env(safe-area-inset-top)) 14px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}.login_card{width:100%;padding:26px 20px;border-radius:16px}.login_card>.brand_lockup{margin-bottom:45px}.login_card h1{font-size:42px}.login_fields{grid-template-columns:1fr;gap:12px}.login_features{display:grid;gap:8px}.toast{bottom:calc(78px + env(safe-area-inset-bottom));width:calc(100% - 28px);text-align:center}.history_pagination{grid-template-columns:1fr 1fr}.history_pagination>span{grid-column:1 / 3;grid-row:1}.history_pagination button{width:100%}}@media(max-width:560px){.word_reveal{grid-template-columns:1fr}}@media(max-width:390px){.statistics_grid{grid-template-columns:1fr}.vote_grid{grid-template-columns:1fr 1fr}.login_card h1{font-size:36px}}
