diff --git a/apps/client/src/index.css b/apps/client/src/index.css
index 4e690a0..7aa4ad3 100644
--- a/apps/client/src/index.css
+++ b/apps/client/src/index.css
@@ -27,13 +27,6 @@
touch-action: none;
}
-#app {
- /* safe-area-inset対応:ノッチ・ホームバー領域へのはみ出しを防止 */
- padding-top: env(safe-area-inset-top);
- padding-bottom: env(safe-area-inset-bottom);
- padding-left: env(safe-area-inset-left);
- padding-right: env(safe-area-inset-right);
-}
a {
font-weight: 500;
diff --git a/apps/client/src/scenes/game/input/bomb/presentation/BombButton.styles.ts b/apps/client/src/scenes/game/input/bomb/presentation/BombButton.styles.ts
index 38b7d25..902bd69 100644
--- a/apps/client/src/scenes/game/input/bomb/presentation/BombButton.styles.ts
+++ b/apps/client/src/scenes/game/input/bomb/presentation/BombButton.styles.ts
@@ -4,6 +4,7 @@
* 固定スタイルと動的スタイル生成関数を提供する
*/
import type { CSSProperties } from "react";
+import { safeBottom, safeRight } from "@client/styles/safeArea";
/** 爆弾ボタン外枠の固定スタイル */
export const BOMB_BUTTON_FRAME_STYLE: CSSProperties = {
@@ -19,8 +20,8 @@
/** 爆弾ボタン入力領域の固定スタイル */
export const BOMB_BUTTON_HIT_AREA_STYLE: CSSProperties = {
position: "fixed",
- right: "max(24px, calc(24px + env(safe-area-inset-right)))",
- bottom: "max(28px, calc(28px + env(safe-area-inset-bottom)))",
+ right: safeRight(24),
+ bottom: safeBottom(28),
width: "120px",
height: "120px",
borderRadius: "50%",
diff --git a/apps/client/src/scenes/game/styles/GameView.styles.ts b/apps/client/src/scenes/game/styles/GameView.styles.ts
index 86a6b82..511ff1e 100644
--- a/apps/client/src/scenes/game/styles/GameView.styles.ts
+++ b/apps/client/src/scenes/game/styles/GameView.styles.ts
@@ -4,6 +4,7 @@
* 画面全体レイアウトとオーバーレイ表示の見た目を定義する
*/
import type { CSSProperties } from "react";
+import { safeLeft, safeRight } from "@client/styles/safeArea";
/** ゲーム画面全体のルートスタイル */
export const GAME_VIEW_ROOT_STYLE: CSSProperties = {
@@ -36,7 +37,7 @@
export const GAME_VIEW_TOP_RIGHT_OVERLAY_STYLE: CSSProperties = {
position: "absolute",
top: "20px",
- right: "max(16px, calc(16px + env(safe-area-inset-right)))",
+ right: safeRight(16),
zIndex: 24,
display: "flex",
alignItems: "flex-start",
@@ -76,7 +77,7 @@
export const GAME_VIEW_HP_GAUGE_STYLE: CSSProperties = {
position: "absolute",
top: "20px",
- left: "max(16px, calc(16px + env(safe-area-inset-left)))",
+ left: safeLeft(16),
zIndex: 12,
color: "white",
fontSize: "14px",
diff --git a/apps/client/src/scenes/lobby/LobbyScene.tsx b/apps/client/src/scenes/lobby/LobbyScene.tsx
index 65f2c5e..96b5d5f 100644
--- a/apps/client/src/scenes/lobby/LobbyScene.tsx
+++ b/apps/client/src/scenes/lobby/LobbyScene.tsx
@@ -4,6 +4,22 @@
import { config } from "@client/config";
import { OVERLAY_BUTTON_STYLE } from "@client/scenes/shared/styles/overlayStyles";
import { LobbyRuleModal } from "./components/LobbyRuleModal";
+import {
+ LOBBY_BACK_BUTTON_STYLE,
+ LOBBY_BACKGROUND_STYLE,
+ LOBBY_CONTAINER_STYLE,
+ LOBBY_CONTROLS_BLOCK_STYLE,
+ LOBBY_LABEL_STYLE,
+ LOBBY_LEFT_INNER_STYLE,
+ LOBBY_LEFT_PANEL_STYLE,
+ LOBBY_PLAYER_LIST_HEADER_STYLE,
+ LOBBY_PLAYER_LIST_ITEM_STYLE,
+ LOBBY_PLAYER_LIST_PANEL_STYLE,
+ LOBBY_SELECT_STYLE,
+ LOBBY_START_BUTTON_STYLE,
+ LOBBY_TITLE_STYLE,
+ LOBBY_WAITING_STYLE,
+} from "./styles/LobbyScene.styles";
type Props = {
room: domain.room.Room | null;
@@ -95,11 +111,7 @@
return (
<>
- {/* 🌟🌟 追加:背景のWebPアニメーション 🌟🌟 */}
-
+ {/* 背景アニメーション */}
+
-
+
-
+
ルーム: {room.roomId} (待機中)
{/* 左半分: スタートボタン or 待機メッセージ */}
-
-
+
+
{isMeOwner ? (
-
-