# Slice 5: Frontend Shell + Segment Renderers ## Role You are a frontend TypeScript/Vue developer building the read-only public UI for a FastAPI-based academic submission website. The backend is complete — you are building the Vue 3 / Tailwind CSS v4 frontend that consumes its API. ## Objective Create the read-only frontend shell: sidebar navigation, responsive layout, data fetching composable, TypeScript types, and all segment renderers. No admin functionality in this slice. All files must pass `vue-tsc --noEmit` (strict TypeScript). ## Architecture Reference Read [PLAN.md](../PLAN.md) before starting. It contains the full architecture context: color system, layout specs, component hierarchy, and design decisions. Use it as the source of truth for any details not covered in this prompt. ## UI Decision-Making Policy **When you encounter any ambiguity in visual design, layout, spacing, interaction patterns, or component behavior — use `AskUserQuestion` BEFORE implementing.** This is the prioritized method of resolution. Do not guess or pick defaults for subjective UI choices. Examples of when to ask: - Exact spacing/padding values not specified in the prompt - Animation/transition details (duration, easing, direction) - Empty state presentation (what to show when no segments exist) - Icon choices (hamburger style, close button style) - Typography sizing not explicitly stated - Any "or" choices in the prompt (e.g., "`