{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "shellapp", "type": "registry:item", "title": "aesthetic App shell", "description": "Aesthetic App shell primitive, v0.25.0. Installs ae-desk, ae-h, ae-rail, ae-rail-foot, ae-shell without the full stylesheet.", "registryDependencies": [ "https://aesthetic.mistystep.io/r/aesthetic-base.json" ], "meta": { "version": "0.25.0", "tier": "primitive", "route": "shellapp", "classes": ["ae-desk", "ae-h", "ae-rail", "ae-rail-foot", "ae-shell"], "attributes": [], "tokens": [ "--ae-surface", "--ae-wash", "--ae-ink", "--ae-ink-faint", "--ae-accent", "--ae-surface-dark", "--ae-wash-dark", "--ae-ink-dark", "--ae-ink-faint-dark", "--ae-accent-dark", "--ae-font", "--ae-font-mono", "--ae-w-regular", "--ae-ease", "--ae-quick", "--ae-ink-muted", "--ae-line", "--ae-ink-muted-dark", "--ae-line-dark", "--ae-w-medium", "--ae-space-4", "--ae-space-5" ], "recipes": [] }, "files": [ { "path": "registry/shellapp/aesthetic.shellapp.css", "type": "registry:file", "target": "~/aesthetic.shellapp.css", "content": "/* aesthetic shellapp v0.25.0 — generated by scripts/build-registry.mjs. */\n@import './aesthetic.base.css';\n\n:root {\n --ae-ink-muted: #737373;\n --ae-line: #e9e9e9;\n --ae-ink-muted-dark: #8f8f8f;\n --ae-line-dark: #262626;\n --ae-w-medium: 550;\n --ae-space-4: 1em;\n --ae-space-5: 1.5em;\n}\n\n@media (prefers-color-scheme: dark) {\n :root:not(.light):not([data-ae-mode='light']) {\n --ae-ink-muted: var(--ae-ink-muted-dark);\n --ae-line: var(--ae-line-dark);\n }\n}\n\n.light,\n[data-ae-mode='light'] {\n color-scheme: light;\n}\n\n:root.dark,\n:root[data-ae-mode='dark'] {\n color-scheme: dark;\n --ae-ink-muted: var(--ae-ink-muted-dark);\n --ae-line: var(--ae-line-dark);\n}\n\n.ae-h {\nfont-weight: var(--ae-w-medium);\n color: var(--ae-ink-muted);\n letter-spacing: 0.18em;\n margin-bottom: 0.7em;\n}\n\n.ae-shell {\nheight: 100dvh;\n display: grid;\n grid-template-columns: 14rem minmax(0, 1fr);\n overflow: hidden;\n}\n\n.ae-rail {\nborder-right: 1px solid var(--ae-line);\n padding: 1.6em 1.4em;\n font-size: 13px;\n color: var(--ae-ink-muted);\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n}\n\n.ae-rail .ae-h {\nmargin-top: 1.8em;\n}\n\n.ae-rail .ae-h:first-child {\nmargin-top: 0;\n}\n\n.ae-rail a {\ndisplay: block;\n width: 100%;\n background: transparent;\n border: 0;\n font: inherit;\n line-height: inherit;\n text-align: left;\n text-decoration: none;\n color: var(--ae-ink-muted);\n padding: 0.3em 0;\n margin-block: 0;\n cursor: pointer;\n transition: color var(--ae-quick) var(--ae-ease);\n}\n\n.ae-rail a:hover,\n.ae-rail button:hover {\ncolor: var(--ae-ink);\n}\n\n.ae-rail [aria-current],\n.ae-rail .is-active {\ncolor: var(--ae-ink);\n font-weight: var(--ae-w-medium);\n}\n\n.ae-rail-foot {\nmargin-top: auto;\n padding-top: 1.6em;\n}\n\n.ae-desk {\nmin-width: 0;\n overflow-y: auto;\n padding: 2.2em 2.8em;\n}\n\n@media (max-width: 48rem) {\n .ae-shell {\n grid-template-columns: 1fr;\n grid-template-rows: minmax(0, 1fr) auto;\n }\n\n .ae-rail {\n grid-column: 1;\n grid-row: 2;\n min-width: 0;\n border-right: 0;\n border-top: 1px solid var(--ae-line);\n padding: 0 1.2rem;\n overflow: auto hidden;\n flex-direction: row;\n align-items: center;\n gap: var(--ae-space-5);\n }\n\n .ae-rail .ae-h {\n display: none;\n }\n\n .ae-rail a {\n flex: none;\n width: auto;\n padding: 0.85em 0;\n white-space: nowrap;\n }\n\n .ae-rail-foot {\n flex: none;\n margin-top: 0;\n margin-left: auto;\n padding-top: 0;\n }\n\n .ae-desk {\n grid-column: 1;\n grid-row: 1;\n min-height: 0;\n padding: 1.8em 1.6rem;\n }\n}\n\n@media (max-width: 40rem) {\n .ae-shell {\n grid-template-columns: 1fr;\n }\n\n .ae-rail {\n padding-inline: 1.2rem;\n gap: var(--ae-space-4);\n }\n\n .ae-desk {\n padding: 1.6em 1.2rem;\n }\n}\n" } ] }