/* ════════════════════════════════════════════════════════════
   AUTHOROS — view-specific components (library, upload, brief,
   analytics, settings, help, audio, volta, marketing)
   ════════════════════════════════════════════════════════════ */

/* page header */
.aos-page-head { margin-bottom: var(--aos-space-10); max-width: 820px; }
.aos-page-eyebrow { font-family: var(--aos-font-heading); font-size: var(--aos-text-xs); letter-spacing: var(--aos-tracking-widest); text-transform: uppercase; color: var(--aos-dust); margin: 0 0 var(--aos-space-4); display: flex; align-items: center; gap: var(--aos-space-3); }
.aos-page-title { font-family: var(--aos-font-display); font-size: clamp(2rem, 3.6vw, var(--aos-text-5xl)); line-height: var(--aos-leading-tight); letter-spacing: var(--aos-tracking-tight); color: var(--aos-parchment); margin: 0 0 var(--aos-space-5); font-weight: 400; }
.aos-page-title em { font-style: italic; color: var(--aos-amber); }
.aos-page-sub { font-size: var(--aos-text-lg); line-height: var(--aos-leading-relaxed); color: var(--aos-vellum); max-width: 64ch; margin: 0; }
.aos-page-actions { margin-top: var(--aos-space-6); display: flex; gap: var(--aos-space-4); flex-wrap: wrap; }

.aos-back { font-family: var(--aos-font-heading); font-size: var(--aos-text-sm); color: var(--aos-vellum); background: none; border: none; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; margin-bottom: var(--aos-space-6); padding: 0; }
.aos-back:hover { color: var(--aos-amber); }
.aos-back svg { width: 16px; height: 16px; transform: rotate(90deg); }

/* status badge */
.aos-badge { display: inline-flex; align-items: center; gap: 7px; font-family: var(--aos-font-heading); font-size: var(--aos-text-xs); letter-spacing: var(--aos-tracking-wide); text-transform: uppercase; padding: 4px 11px; border-radius: 999px; border: 1px solid var(--aos-bronze-dim); color: var(--aos-vellum); }
.aos-badge::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--aos-dust); }
.aos-badge.amber { color: var(--aos-amber); border-color: var(--aos-amber-glow); } .aos-badge.amber::before { background: var(--aos-amber); }
.aos-badge.sage { color: var(--aos-sage); border-color: var(--aos-sage-glow); } .aos-badge.sage::before { background: var(--aos-sage); }
.aos-badge.dust::before { background: var(--aos-dust); }

/* ── LIBRARY: vertical book rows ── */
.aos-booklist { display: flex; flex-direction: column; gap: var(--aos-space-4); }
.aos-bookrow { display: grid; grid-template-columns: 84px 1fr auto; gap: var(--aos-space-6); align-items: center; padding: var(--aos-space-5) var(--aos-space-6); background: var(--aos-nook); border: 1px solid var(--aos-bronze-dim); border-radius: var(--aos-r-lg); cursor: pointer; transition: border-color var(--aos-t-normal), background var(--aos-t-normal); text-align: left; }
.aos-bookrow:hover { border-color: var(--aos-amber); background: var(--aos-nook-hi); }
.aos-bookrow-cover { width: 84px; height: 128px; border-radius: 4px; border: 1px solid var(--aos-bronze-dim); position: relative; overflow: hidden; background: var(--aos-alcove); }
.aos-bookrow-cover .ph { position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, #ffffff08 0 7px, transparent 7px 14px); }
.aos-bookrow-cover .ph-label { position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--aos-font-mono); font-size: 9px; color: var(--aos-dust); text-align: center; padding: 6px; letter-spacing: 0.04em; }
.aos-bookrow-title { font-family: var(--aos-font-display); font-size: var(--aos-text-2xl); color: var(--aos-parchment); margin: 0 0 6px; line-height: 1.15; }
.aos-bookrow-genre { font-size: var(--aos-text-sm); color: var(--aos-dust); margin: 0 0 var(--aos-space-3); }
.aos-bookrow-meta { display: flex; align-items: center; gap: var(--aos-space-4); flex-wrap: wrap; }
.aos-bookrow-updated { font-size: var(--aos-text-xs); color: var(--aos-dust); }
.aos-bookrow-right { text-align: right; }
.aos-bookrow-right .lbl { font-family: var(--aos-font-heading); font-size: var(--aos-text-xs); letter-spacing: var(--aos-tracking-wider); text-transform: uppercase; color: var(--aos-dust); }
.aos-bookrow-right .val { font-family: var(--aos-font-mono); font-size: var(--aos-text-base); color: var(--aos-parchment); margin-top: 4px; }

/* ── UPLOAD dropzone ── */
.aos-dropzone { border: 1.5px dashed var(--aos-bronze); border-radius: var(--aos-r-xl); padding: var(--aos-space-24) var(--aos-space-8); text-align: center; background: var(--aos-shelf); transition: border-color var(--aos-t-normal), background var(--aos-t-normal); cursor: pointer; }
.aos-dropzone:hover, .aos-dropzone.active { border-color: var(--aos-amber); background: var(--aos-alcove); }
.aos-dropzone-ic { width: 56px; height: 56px; margin: 0 auto var(--aos-space-6); color: var(--aos-amber); }
.aos-dropzone-ic svg { width: 56px; height: 56px; stroke-width: 1.25; }
.aos-dropzone h3 { font-family: var(--aos-font-display); font-size: var(--aos-text-3xl); font-weight: 400; color: var(--aos-parchment); margin: 0 0 var(--aos-space-3); }
.aos-dropzone p { font-size: var(--aos-text-base); color: var(--aos-vellum); margin: 0 0 var(--aos-space-6); }
.aos-dropzone .formats { font-family: var(--aos-font-mono); font-size: var(--aos-text-xs); color: var(--aos-dust); margin-top: var(--aos-space-6); }
.aos-intake { background: var(--aos-nook); border: 1px solid var(--aos-bronze-dim); border-radius: var(--aos-r-xl); padding: var(--aos-space-8); }
.aos-progress { height: 4px; border-radius: 4px; background: var(--aos-alcove); overflow: hidden; margin: var(--aos-space-4) 0; }
.aos-progress-fill { height: 100%; background: var(--aos-amber); transition: width 0.3s ease; }

/* ── MARKET BRIEF stack ── */
.aos-briefsec { display: grid; grid-template-columns: 64px 1fr; gap: var(--aos-space-6); padding: var(--aos-space-6) 0; border-top: 1px solid var(--aos-bronze-dim); }
.aos-briefsec:first-of-type { border-top: none; }
.aos-briefsec-n { font-family: var(--aos-font-display); font-size: var(--aos-text-2xl); color: var(--aos-bronze); line-height: 1; }
.aos-briefsec-label { font-family: var(--aos-font-heading); font-size: var(--aos-text-xs); letter-spacing: var(--aos-tracking-wider); text-transform: uppercase; color: var(--aos-amber); margin: 0 0 var(--aos-space-3); }
.aos-briefsec-body { font-size: var(--aos-text-base); line-height: var(--aos-leading-relaxed); color: var(--aos-vellum); max-width: 68ch; margin: 0; }
.aos-briefsec-stat { display: inline-flex; flex-direction: column; gap: 2px; margin-top: var(--aos-space-4); }
.aos-briefsec-stat .k { font-family: var(--aos-font-heading); font-size: var(--aos-text-xs); letter-spacing: var(--aos-tracking-wide); text-transform: uppercase; color: var(--aos-dust); }
.aos-briefsec-stat .v { font-family: var(--aos-font-mono); font-size: var(--aos-text-xl); color: var(--aos-parchment); }

/* ── key/value + concepts ── */
.aos-kv { display: grid; grid-template-columns: 1fr auto; gap: var(--aos-space-3) var(--aos-space-4); }
.aos-kv .k { color: var(--aos-vellum); font-size: var(--aos-text-sm); }
.aos-kv .v { font-family: var(--aos-font-mono); color: var(--aos-parchment); font-size: var(--aos-text-sm); text-align: right; }
.aos-kvline { display: flex; align-items: center; justify-content: space-between; padding: var(--aos-space-3) 0; border-bottom: 1px solid var(--aos-bronze-dim); }
.aos-kvline:last-child { border-bottom: none; }
.aos-kvline .ch { font-size: var(--aos-text-sm); color: var(--aos-parchment); }

.aos-concepts { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--aos-space-5); }
.aos-concept { aspect-ratio: 5 / 8; border-radius: var(--aos-r-md); border: 1px solid var(--aos-bronze-dim); position: relative; overflow: hidden; background: var(--aos-alcove); cursor: pointer; transition: border-color var(--aos-t-normal); }
.aos-concept:hover { border-color: var(--aos-amber); }
.aos-concept .ph { position: absolute; inset: 0; background-image: repeating-linear-gradient(135deg, #ffffff08 0 8px, transparent 8px 16px); }
.aos-concept .cap { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--aos-space-3); font-family: var(--aos-font-mono); font-size: 10px; color: var(--aos-vellum); background: linear-gradient(0deg, #000000aa, transparent); }

/* ── pills / sub-nav ── */
.aos-pills { display: flex; gap: var(--aos-space-2); flex-wrap: wrap; margin-bottom: var(--aos-space-8); border-bottom: 1px solid var(--aos-bronze-dim); padding-bottom: var(--aos-space-4); }
.aos-pill { font-family: var(--aos-font-heading); font-size: var(--aos-text-sm); color: var(--aos-vellum); background: none; border: 1px solid transparent; padding: 7px 14px; border-radius: 999px; cursor: pointer; transition: color var(--aos-t-fast), background var(--aos-t-fast); }
.aos-pill:hover { color: var(--aos-parchment); }
.aos-pill.is-active { color: var(--aos-void); background: var(--aos-amber); }

/* ── help ── */
.aos-help-cat { margin-bottom: var(--aos-space-8); }
.aos-help-cat h3 { font-family: var(--aos-font-heading); font-size: var(--aos-text-xs); letter-spacing: var(--aos-tracking-wider); text-transform: uppercase; color: var(--aos-dust); margin: 0 0 var(--aos-space-4); }
.aos-help-item { display: flex; align-items: center; justify-content: space-between; padding: var(--aos-space-4) var(--aos-space-5); border: 1px solid var(--aos-bronze-dim); border-radius: var(--aos-r-md); margin-bottom: var(--aos-space-3); cursor: pointer; transition: border-color var(--aos-t-fast); color: var(--aos-parchment); font-size: var(--aos-text-base); }
.aos-help-item:hover { border-color: var(--aos-amber); }
.aos-help-item svg { width: 16px; height: 16px; color: var(--aos-dust); }

/* generic list grid for audio/volta */
.aos-listcard { background: var(--aos-nook); border: 1px solid var(--aos-bronze-dim); border-radius: var(--aos-r-lg); padding: var(--aos-space-6); }
.aos-listcard + .aos-listcard { margin-top: var(--aos-space-4); }
.aos-listcard-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--aos-space-5); }
.aos-listcard-title { font-family: var(--aos-font-display); font-size: var(--aos-text-xl); color: var(--aos-parchment); margin: 0; }
.aos-listcard-meta { font-size: var(--aos-text-sm); color: var(--aos-dust); margin: 6px 0 0; }
.aos-listcard-num { font-family: var(--aos-font-mono); font-size: var(--aos-text-2xl); color: var(--aos-amber); }

/* simple settings rows */
.aos-setrow { display: flex; align-items: center; justify-content: space-between; gap: var(--aos-space-6); padding: var(--aos-space-5) 0; border-bottom: 1px solid var(--aos-bronze-dim); }
.aos-setrow:last-child { border-bottom: none; }
.aos-setrow .label { font-size: var(--aos-text-base); color: var(--aos-parchment); }
.aos-setrow .hint { font-size: var(--aos-text-sm); color: var(--aos-dust); margin-top: 3px; }
.aos-toggle { width: 44px; height: 26px; border-radius: 999px; background: var(--aos-alcove); border: 1px solid var(--aos-bronze); position: relative; cursor: pointer; flex: 0 0 auto; }
.aos-toggle::after { content: ""; position: absolute; top: 2px; left: 2px; width: 20px; height: 20px; border-radius: 50%; background: var(--aos-dust); transition: left var(--aos-t-fast), background var(--aos-t-fast); }
.aos-toggle.on { border-color: var(--aos-amber); } .aos-toggle.on::after { left: 20px; background: var(--aos-amber); }

@media (max-width: 860px) {
    .aos-bookrow { grid-template-columns: 64px 1fr; }
    .aos-bookrow-cover { width: 64px; height: 98px; }
    .aos-bookrow-right { grid-column: 2; text-align: left; margin-top: var(--aos-space-2); }
    .aos-concepts { grid-template-columns: 1fr 1fr; }
    .aos-dropzone { padding: var(--aos-space-16) var(--aos-space-5); }
}
