/* styles/docs.css */
/* NEXORA Docs, prefixed dlv-. The design is the reference page's, in this dashboard's skin; every
   colour resolves from the root palette so the theme picker reaches it. */
.dlv-page{display:flex;flex-direction:column;gap:20px;color:var(--foreground);font-family:var(--font-sans);font-size:1rem;line-height:1.5}
.dlv-eyebrow{display:block;font-family:var(--font-mono);font-size:0.625rem;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-foreground)}
.dlv-display{font-family:var(--font-display);font-weight:400;letter-spacing:-.01em}
.dlv-mono{font-family:var(--font-mono)}
.dlv-muted{color:var(--muted-foreground)}
.dlv-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-3xl);box-shadow:var(--shadow-soft)}

/* ---- hero ---- */
.dlv-hero{position:relative;overflow:hidden;border-radius:var(--radius-4xl);border:1px solid color-mix(in oklab,var(--ink) 30%,transparent);background:var(--ink);color:var(--ink-foreground);padding:32px 24px}
@media(min-width:640px){.dlv-hero{padding:44px 36px}}
.dlv-hero-glow{pointer-events:none;position:absolute;top:-160px;right:-96px;width:420px;height:420px;border-radius:50%;opacity:.6;background-image:var(--glow-accent)}
.dlv-hero-grid{position:relative;display:grid;gap:36px}
@media(min-width:1024px){.dlv-hero-grid{grid-template-columns:1.35fr 1fr;align-items:center}}
.dlv-hero .dlv-eyebrow{color:var(--ink-muted)}
/* the card sitting on top of the hero is bone, not ink, so its label goes back to the pale muted */
.dlv-hero .dlv-stack .dlv-eyebrow{color:var(--muted-foreground)}
.dlv-hero h1{margin:12px 0 0;font-size:2.75rem;line-height:.95}
@media(min-width:640px){.dlv-hero h1{font-size:3.875rem}}
.dlv-hero-lede{margin:16px 0 0;max-width:52ch;font-size:0.875rem;line-height:1.6;color:var(--ink-muted)}
.dlv-hero-actions{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.dlv-btn-accent{border:0;border-radius:var(--radius-2xl);background:var(--accent);color:var(--accent-foreground);padding:12px 20px;font:500 0.875rem/1.25rem var(--font-sans);cursor:pointer;transition:transform .15s}
.dlv-btn-accent:hover{transform:translateY(-2px)}
.dlv-voice{font-family:var(--font-mono);font-size:0.6875rem;color:var(--ink-muted)}
.dlv-tiles{margin:32px 0 0;padding:24px 0 0;border-top:1px solid color-mix(in oklab,var(--ink-muted) 20%,transparent);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
@media(min-width:640px){.dlv-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}
.dlv-tiles div{display:flex;flex-direction:column;height:100%}
.dlv-tiles dd{margin:auto 0 0;padding-top:6px;font-size:1.75rem;line-height:1}

/* the stack of sheets */
.dlv-stack{position:relative;margin:0 auto;height:190px;width:100%;max-width:320px}
@media(min-width:640px){.dlv-stack{height:220px}}
.dlv-stack-glow{pointer-events:none;position:absolute;inset:0;opacity:.7;background-image:var(--glow-accent)}
.dlv-stack-back,.dlv-stack-mid{position:absolute;border-radius:var(--radius-2xl);background:var(--ink-elevated)}
.dlv-stack-back{left:32px;right:32px;top:32px;height:130px;transform:rotate(-7deg);border:1px solid color-mix(in oklab,var(--ink-muted) 20%,transparent)}
.dlv-stack-mid{left:24px;right:24px;top:20px;height:140px;transform:rotate(4deg);border:1px solid color-mix(in oklab,var(--ink-muted) 25%,transparent)}
@media(min-width:640px){.dlv-stack-back{height:150px}.dlv-stack-mid{height:162px}}
.dlv-stack-top{position:absolute;left:8px;right:8px;top:4px;height:152px;display:flex;flex-direction:column;justify-content:space-between;border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--bone);color:var(--foreground);padding:16px;box-shadow:var(--shadow-lift)}
@media(min-width:640px){.dlv-stack-top{height:176px;padding:20px}}
.dlv-stack-top .dlv-title{margin:8px 0 0;font-size:1.1875rem;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(min-width:640px){.dlv-stack-top .dlv-title{font-size:1.3125rem}}
.dlv-stack-top .dlv-excerpt{margin:6px 0 0;font-size:0.75rem;line-height:1.35;color:var(--muted-foreground);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dlv-stack-foot{display:flex;align-items:center;justify-content:space-between}

/* ---- status pill ---- */
.dlv-pill{display:inline-flex;align-items:center;border-radius:999px;border:1px solid var(--border);padding:4px 10px;font-family:var(--font-mono);font-size:0.625rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-foreground)}
/* the raw accent is the ground colour, not a text colour: on a pale card in Solar Graphite it is
   signal yellow on bone at 1.56. --accent-text is the same accent darkened for exactly this. */
.dlv-pill.from-chat{border-color:color-mix(in oklab,var(--accent) 40%,transparent);background:color-mix(in oklab,var(--accent) 10%,transparent);color:var(--accent-text)}
.dlv-pill.in-review{border-color:color-mix(in oklab,var(--chart-3) 60%,transparent);background:color-mix(in oklab,var(--chart-3) 15%,transparent);color:var(--foreground)}
.dlv-pill.delivered{border-color:color-mix(in oklab,var(--ink) 25%,transparent);background:var(--ink);color:var(--ink-foreground)}

/* ---- rail and shelf ---- */
.dlv-body{display:grid;gap:20px}
@media(min-width:1024px){.dlv-body{grid-template-columns:288px minmax(0,1fr)}}
.dlv-rail{display:flex;flex-direction:column;gap:20px}
@media(min-width:1024px){.dlv-rail{position:sticky;top:24px;align-self:start}}
.dlv-rail .dlv-card{padding:20px}
.dlv-input{margin-top:8px;width:100%;border-radius:var(--radius-xl);border:1px solid var(--border);background:var(--background);padding:10px 12px;font:0.875rem/1.25rem var(--font-sans);color:var(--foreground);outline:none}
.dlv-input:focus{border-color:var(--accent)}
.dlv-input::placeholder{color:var(--muted-foreground)}
.dlv-statuses{margin-top:8px;display:flex;flex-direction:column;gap:4px}
.dlv-status{display:flex;align-items:center;justify-content:space-between;border:0;border-radius:var(--radius-xl);background:transparent;padding:8px 12px;font:0.875rem/1.25rem var(--font-sans);color:var(--muted-foreground);cursor:pointer;text-align:left;transition:background .15s,color .15s}
.dlv-status:hover{background:var(--secondary);color:var(--foreground)}
.dlv-status.is-on{background:var(--ink);color:var(--ink-foreground)}
.dlv-status span:last-child{font-family:var(--font-mono);font-size:0.6875rem;opacity:.7}
.dlv-note{margin:12px 0 0;font-family:var(--font-mono);font-size:0.625rem;color:var(--muted-foreground)}
.dlv-author{margin-top:16px;display:flex;align-items:center;gap:12px;border-radius:var(--radius-2xl);background:var(--ink);color:var(--ink-foreground);padding:12px 14px}
.dlv-author-code{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius-xl);background:var(--accent);color:var(--accent-foreground);font-family:var(--font-mono);font-size:0.6875rem}
.dlv-author-name{display:block;font-size:0.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlv-author-meta{font-family:var(--font-mono);font-size:0.625rem;color:var(--ink-muted)}
.dlv-silent{margin-top:16px;display:flex;flex-wrap:wrap;gap:6px}
.dlv-silent span{border-radius:999px;border:1px dashed var(--border);padding:4px 10px;font-family:var(--font-mono);font-size:0.625rem;color:var(--muted-foreground)}
.dlv-shelf{min-width:0}
.dlv-shelf-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;padding:0 4px 16px}
.dlv-count{font-family:var(--font-mono);font-size:0.6875rem;color:var(--muted-foreground)}
.dlv-list{display:flex;flex-direction:column;gap:16px}
.dlv-sheet{position:relative;display:block;width:100%;overflow:hidden;padding:24px;text-align:left;cursor:pointer;color:var(--foreground);font:inherit;transition:transform .15s,box-shadow .15s}
@media(min-width:640px){.dlv-sheet{padding:28px}}
.dlv-sheet:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.dlv-sheet::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent);opacity:0;transition:opacity .15s}
.dlv-sheet:hover::before{opacity:1}
.dlv-sheet-tags{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.dlv-id{font-family:var(--font-mono);font-size:0.6875rem;color:var(--muted-foreground)}
.dlv-mission{border-radius:999px;border:1px solid var(--border);padding:4px 10px;font-family:var(--font-mono);font-size:0.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground)}
.dlv-nomission{font-family:var(--font-mono);font-size:0.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground)}
.dlv-sheet :is(h2,h3){margin:16px 0 0;font-size:1.5rem;line-height:1.1}
@media(min-width:640px){.dlv-sheet :is(h2,h3){font-size:1.875rem}}
.dlv-sheet .dlv-excerpt{margin:12px 0 0;max-width:70ch;font-size:0.875rem;line-height:1.6;color:var(--muted-foreground)}
.dlv-sheet-foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;font-family:var(--font-mono);font-size:0.6875rem;color:var(--muted-foreground)}
.dlv-sheet-foot .dlv-who{display:flex;align-items:center;gap:8px;color:var(--foreground)}
.dlv-sheet-foot .dlv-who span{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-md);background:var(--secondary);font-size:0.625rem}
.dlv-read{margin-left:auto;color:var(--accent);opacity:0;transition:opacity .15s}
.dlv-sheet:hover .dlv-read{opacity:1}
.dlv-empty{display:grid;place-items:center;padding:56px;text-align:center}
.dlv-empty p:first-child{margin:0;font-size:1.5rem}
.dlv-empty p:last-child{margin:8px 0 0;font-size:0.875rem;color:var(--muted-foreground)}
.dlv-more{margin-top:20px;width:100%;border:1px solid var(--border);border-radius:var(--radius-2xl);background:transparent;padding:12px;font:0.875rem/1.25rem var(--font-sans);color:var(--muted-foreground);cursor:pointer}
.dlv-more:hover{background:var(--secondary);color:var(--foreground)}

/* ---- reader and compose overlays ---- */
.dlv-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;background:color-mix(in oklab,var(--ink) 50%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
@media(min-width:640px){.dlv-overlay{align-items:center;padding:24px}}
.dlv-overlay[hidden]{display:none}
.dlv-scrim{position:absolute;inset:0;border:0;background:transparent;cursor:default}
.dlv-reader{position:relative;display:flex;flex-direction:column;max-height:92vh;width:100%;max-width:880px;overflow:hidden;border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;border:1px solid var(--border);background:var(--bone);box-shadow:var(--shadow-lift);outline:none}
@media(min-width:640px){.dlv-reader{border-radius:var(--radius-3xl)}}
.dlv-reader-head{display:flex;align-items:flex-start;gap:16px;border-bottom:1px solid var(--border);background:var(--card);padding:16px 20px}
@media(min-width:640px){.dlv-reader-head{padding:20px 32px}}
.dlv-reader-head>div{min-width:0;flex:1}
.dlv-reader-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dlv-reader-meta{margin:8px 0 0;font-family:var(--font-mono);font-size:0.6875rem;color:var(--muted-foreground)}
.dlv-close{border:1px solid var(--border);border-radius:var(--radius-xl);background:transparent;padding:8px 12px;cursor:pointer;color:var(--foreground)}
.dlv-reader-body{min-height:0;flex:1;overflow-y:auto;padding:32px 20px}
@media(min-width:640px){.dlv-reader-body{padding:48px 40px}}
.dlv-reader-inner{margin:0 auto;width:100%;max-width:64ch}
.dlv-reader-inner h2{margin:12px 0 0;font-size:1.875rem;line-height:1.06}
@media(min-width:640px){.dlv-reader-inner h2{font-size:2.625rem}}
.dlv-rule{margin-top:24px;height:1px;width:64px;background:var(--accent)}
.dlv-prose{margin-top:28px;display:flex;flex-direction:column;gap:20px}
.dlv-prose p{margin:0;font-family:var(--font-display);font-size:1.25rem;line-height:1.7;color:color-mix(in oklab,var(--foreground) 85%,transparent)}
.dlv-prose p:first-child{font-size:1.375rem;line-height:1.6;color:var(--foreground)}
.dlv-prose h3,.dlv-prose h4{margin:12px 0 -6px;font-family:var(--font-display);font-weight:400;letter-spacing:-.01em;color:var(--foreground)}
.dlv-prose h3{font-size:1.75rem;line-height:1.15}
.dlv-prose h4{font-size:1.375rem;line-height:1.25}
@media print{.sidebar,.topbar,.dlv-hero,.dlv-rail,.dlv-shelf,.dlv-reader-foot,.dlv-reader-head button,.dlv-scrim,.nx-skip{display:none !important}.dlv-overlay{position:static !important;inset:auto !important;background:#fff !important}.dlv-reader{position:static;max-height:none;overflow:visible;box-shadow:none;border:0;max-width:none}.dlv-reader-body{overflow:visible;padding:0}.dlv-prose p,.dlv-prose h3,.dlv-prose h4{color:#000}}
@media(min-width:640px){.dlv-prose p:first-child{font-size:1.5rem}}
.dlv-editor{margin-top:28px;width:100%;resize:vertical;border-radius:var(--radius-2xl);border:1px solid var(--border);background:var(--card);padding:16px;font:0.8125rem/1.65 var(--font-mono);color:var(--foreground);outline:none}
.dlv-editor:focus{border-color:var(--accent)}
.dlv-end{margin:40px 0 0;font-family:var(--font-mono);font-size:0.625rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground)}
.dlv-reader-foot{border-top:1px solid var(--border);background:var(--card);padding:16px 20px}
@media(min-width:640px){.dlv-reader-foot{padding:16px 32px}}
.dlv-foot-note{margin:0 0 12px;font-size:0.875rem;color:var(--muted-foreground)}
.dlv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.dlv-actions button{border-radius:var(--radius-xl);padding:8px 16px;font:0.875rem/1.25rem var(--font-sans);cursor:pointer;border:1px solid var(--border);background:transparent;color:var(--foreground)}
.dlv-actions .dlv-primary{border-color:var(--ink);background:var(--ink);color:var(--ink-foreground)}
.dlv-actions .dlv-danger{margin-left:auto;border-color:color-mix(in oklab,var(--destructive) 40%,transparent);color:var(--destructive)}
.dlv-actions .dlv-danger-solid{background:var(--destructive);border-color:var(--destructive);color:var(--destructive-foreground)}
.dlv-actions .dlv-q{font-size:0.875rem}
.dlv-compose{position:relative;width:100%;max-width:560px;border-radius:var(--radius-3xl) var(--radius-3xl) 0 0;border:1px solid var(--border);background:var(--card);padding:24px;box-shadow:var(--shadow-lift)}
@media(min-width:640px){.dlv-compose{border-radius:var(--radius-3xl);padding:32px}}
.dlv-compose-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.dlv-compose h3{margin:8px 0 0;font-size:1.625rem;line-height:1.2}
.dlv-compose .dlv-eyebrow.gap{margin-top:24px}
.dlv-compose .dlv-eyebrow.gap2{margin-top:20px}
.dlv-compose textarea.dlv-input{resize:vertical;font-family:var(--font-mono);font-size:0.8125rem}
.dlv-compose .dlv-btn-accent{margin-top:20px;padding:8px 16px}
.dlv-compose .dlv-done{margin-top:24px;font-size:0.875rem;color:var(--muted-foreground)}

.dlv-prose ul.dlv-prose-list{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.dlv-prose ul.dlv-prose-list li{margin:0;font-family:var(--font-display);font-size:1.25rem;line-height:1.7;color:color-mix(in oklab,var(--foreground) 85%,transparent)}
.dlv-prose b{font-weight:600;color:var(--foreground)}

/* Who writes here: every author is a filter now (scripts/docs.js) */
button.dlv-author{width:100%;border:1px solid transparent;text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,transform .15s}
button.dlv-author:hover{border-color:var(--accent);transform:translateY(-1px)}
button.dlv-author.is-on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 35%,transparent)}
.dlv-author-clear{margin-left:10px;padding:3px 10px;border:1px solid var(--border);border-radius:999px;background:transparent;color:inherit;font:500 .75rem/1.4 var(--font-sans);cursor:pointer}
.dlv-author-clear:hover{border-color:var(--accent)}


