## ADDED Requirements ### Requirement: Media and PDF playback in Study The Study area SHALL play video/audio with AVKit (or AVFoundation players wrapped for SwiftUI) and SHALL render PDF with PDFKit for the active session resources. #### Scenario: Video PDF split mode - **WHEN** a session in mode `video_pdf` is opened in Study - **THEN** the user can watch the video and navigate the PDF in a split layout on iPad #### Scenario: PDF audio mode - **WHEN** a session in mode `pdf_audio` is opened in Study - **THEN** the user can navigate the PDF while audio playback controls remain available ### Requirement: Adjustable split layout For dual-pane modes, the Study UI SHALL support horizontal or vertical orientation and a user-adjustable split ratio that can be persisted on the session. #### Scenario: Change split ratio - **WHEN** the user drags the split divider in Study - **THEN** the visible pane sizes update and the new ratio is eligible to be saved in session progress ### Requirement: Progress persistence The system SHALL persist study progress fields including media playback time, PDF page, split ratio, and orientation, and SHALL restore them when resuming the session. #### Scenario: Resume media time and PDF page - **WHEN** the user leaves Study after watching to time T on page N and later reopens the same session - **THEN** playback seeks near time T and the PDF shows page N (within normal player/PDF precision) #### Scenario: Save on background - **WHEN** the app enters background during an active Study session - **THEN** the system saves the current progress fields before suspension when feasible ### Requirement: Parent or study chrome does not block core learning Study SHALL keep primary learning content (media/PDF) as the main visual focus on iPad; secondary controls MUST remain reachable without requiring the desktop floating-window paradigm. #### Scenario: Controls reachable on iPad - **WHEN** the user is in Study on iPad - **THEN** play/pause, page navigation, and exit/back to Lesson or Explorer remain available through standard iPad UI patterns