- {/* Column 1: Kira + Clock */}
-
-
-
-
-
- {/* Column 2: Timer + Music + Notes + WhiteNoise */}
-
-
-
-
-
-
-
- {/* Column 3: Chat + Text Input */}
+ {/* Column 1: Chat + Text Input */}
{/* Text input fallback */}
- {/* Subtle greeting */}
hey {userName} ✨
@@ -174,8 +166,21 @@ export default function App() {
- {/* Column 4: Cats + Wardrobe */}
+ {/* Column 2: Timer + Music */}
+
+
+
+
+ {/* Column 3: Notes + White Noise */}
+
+
+
+
+
+ {/* Column 4: Cats + Wardrobe + Clock */}
+
diff --git a/frontend/src/components/KiraAvatar.tsx b/frontend/src/components/KiraAvatar.tsx
index cd6db08..447d701 100644
--- a/frontend/src/components/KiraAvatar.tsx
+++ b/frontend/src/components/KiraAvatar.tsx
@@ -55,8 +55,9 @@ export default function KiraAvatar(props: Props) {
// Cast needed due to pixi-live2d-display expecting older Ticker type
(Live2DModel as any).registerTicker(Ticker as any);
- // Responsive sizing
- const size = Math.min(container.clientWidth || 260, 260);
+ // Responsive sizing — fill the container, target ~1/3 viewport
+ const containerW = container.clientWidth || 400;
+ const size = Math.min(containerW, 500);
const app = new Application({
width: size,
height: size * 1.25,
@@ -198,12 +199,12 @@ export default function KiraAvatar(props: Props) {
}, [props.accessory, live2dReady]);
return (
-
+
{/* Live2D canvas */}
{/* SVG fallback */}