:root{--device-top:0px;--device-bottom:0px}
:root[data-device="framed"]{--device-top:44px;--device-bottom:28px;scrollbar-width:none}
.app{min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}
/* App header: a labelled back link on the left, contextual actions on the right. Transparent so the room shows through. */
.app-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:calc(var(--touch-target) + var(--space-3));padding:calc(var(--space-2) + max(env(safe-area-inset-top),var(--device-top))) var(--space-4) var(--space-1);background:transparent}.app-header__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-regular)}
.app-header__back{display:inline-flex;align-items:center;gap:var(--space-1-5);min-height:var(--touch-target);padding:0 var(--space-2);border-radius:var(--radius-full);color:var(--fg-secondary);font-size:var(--text-md);font-weight:var(--weight-medium);text-decoration:none;transition:color var(--motion-fast) var(--ease)}.app-header__back:hover{color:var(--fg)}.app-header__back .icon{width:1.125rem;height:1.125rem}
.app-content{flex:1;padding:var(--space-5);padding-bottom:var(--space-8);min-width:0}
/* Bottom navigation: Goood's floating glass capsule. The center slot can hold a brand control (Jessa's pearl). */
.bottom-nav{position:sticky;bottom:max(var(--space-7),max(env(safe-area-inset-bottom),var(--device-bottom)));z-index:var(--layer-chrome);display:flex;justify-content:space-between;align-items:center;gap:var(--space-0-5);margin:auto var(--space-3-5) 0;padding:var(--space-1-5);border:var(--border-width) solid var(--border);border-radius:var(--radius-full);background:var(--surface-glass);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);box-shadow:var(--shadow-md)}
.bottom-nav__item{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-1);min-height:3.25rem;min-width:var(--touch-target);padding:0;border:0;border-radius:var(--radius-full);background:transparent;color:var(--fg-muted);text-decoration:none;font-size:var(--text-2xs);font-weight:var(--weight-medium);transition:background var(--motion-fast) var(--ease),color var(--motion-fast) var(--ease)}.bottom-nav__item .icon{width:1.25rem;height:1.25rem}
.bottom-nav__item:hover{color:var(--fg)}.bottom-nav__item[aria-current="page"]{color:var(--fg-brand-primary);background:var(--surface-pressed)}/* Destinations that are not available yet read as muted, not as broken links. */
.bottom-nav__item[aria-disabled="true"]{cursor:default;opacity:.4}.bottom-nav__item[aria-disabled="true"]:hover{color:var(--fg-muted)}
/* Sheet: glass, 28px top corners, a grab handle. */
.sheet{inset:auto 0 0;margin:0 auto;max-width:var(--content-sm);width:100%;max-height:90dvh;border-bottom:0;border-radius:var(--radius-xl) var(--radius-xl) 0 0;padding:var(--space-2-5) var(--space-4) max(var(--space-10),max(env(safe-area-inset-bottom),var(--device-bottom)));box-shadow:0 -20px 50px var(--pearl-drop)}.sheet[data-size="full"]{inset:0;max-height:100dvh;height:100dvh;max-width:100%;border-radius:0;padding-top:max(var(--space-6),max(env(safe-area-inset-top),var(--device-top)))}
.sheet__handle{display:block;width:2.25rem;height:var(--space-1);margin:0 auto var(--space-4);border-radius:var(--radius-full);background:var(--neutral-700)}
.sheet[open]{animation:sheet-in var(--motion-slow) var(--ease)}.sheet::backdrop{animation:fade-in var(--motion-normal) var(--ease)}
@keyframes sheet-in{from{transform:translateY(100%)}}@keyframes fade-in{from{opacity:0}}
.sticky-actions{position:sticky;bottom:0;z-index:var(--layer-sticky);display:flex;gap:var(--space-2);align-items:center;padding:var(--space-4) var(--space-4) max(var(--space-4),max(env(safe-area-inset-bottom),var(--device-bottom)));background:var(--surface-fade)}.sticky-actions>.button{flex:1}
/* List row: card rows are composed in product.css; the core row is a quiet hairline list (comments, settings). */
.list-row{display:flex;align-items:center;gap:var(--space-3);min-height:var(--space-16);padding-block:var(--space-4);border-bottom:1px solid var(--border-hairline);text-decoration:none;color:var(--fg)}.list-row__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.list-row__title{font-weight:var(--weight-medium)}.list-row__description{color:var(--fg-muted);font-size:var(--text-sm)}a.list-row:hover .list-row__title{color:var(--fg-brand-primary)}
.safe-bottom{padding-bottom:max(var(--space-4),max(env(safe-area-inset-bottom),var(--device-bottom)))}.scroll-region{overflow:auto;overscroll-behavior:contain;min-height:0}
