# OpenCD — Design Brief > **Framework Architecture & Component API Specification** > Author: Hannibal (A-Team command) | Status: Draft | v0.1.0 --- ## 1. Framework Structure ### File Layout ``` opencd/ ├── opencd.css # Main entry point — imports all modules in order ├── opencd.min.css # Production build (CSSO / lightningcss) │ ├── src/ │ ├── _reset.css # Minimal normalize + box-sizing │ ├── _variables.css # CD dimension tokens + Open Props mapping │ ├── _jewel-case.css # Jewel case container (.cd-jewel-case) │ ├── _spine.css # CD spine navigation (.cd-spine) │ ├── _leaflet.css # Leaflet booklet grid (.leaflet-content, .leaflet-page) │ ├── _back-tray.css # Back tray with tray paper (.back-tray, .tray-credits) │ ├── _human-advisory.css # Parental-Advisory style badge (.human-advisory) │ ├── _disc-art.css # CD disc face (.disc-art) │ └── _utilities.css # .cd-grid overlay, helpers, print styles │ ├── templates/ │ ├── jewel-case.html # Front-facing jewel case with disc art │ ├── leaflet.html # Multi-page booklet with flip navigation │ └── back-tray.html # Back tray with spines + tracklist │ ├── DESIGN.md # ← This file — architecture specification ├── RECON.md # Face's research output ├── README.md # Existing — user-facing documentation (keep) └── package.json # (future — npm publish workflow) ``` ### Build Principles - **No build step required** — `opencd.css` is importable directly from `src/` or via CDN - **Minified version** produced by lightningcss or CSSO at release time - **Pure CSS** — no JavaScript dependency. JS (leaflet page-turn) lives in inline `