/* About / Docs / Tech pages — structure mirrors the reference routes. Tokens only, no literals. */
.menu a.on{background:var(--fg);color:var(--bg);font-weight:600}
.ccard{display:block}
.ccard .more{display:block;margin:24px 0 0;color:var(--fg-40);transition:color .3s}
.ccard:hover .more{color:var(--bg-70)}

/* section frame */
.bx{border-inline:1px solid var(--fg-15);border-bottom:1px solid var(--fg-15);min-width:0}
main>.bx:first-child{margin-top:32px}
.pagehead{padding:48px 20px;border-top:1px solid var(--fg-15);border-radius:24px 24px 0 0;background:var(--fg-04);backdrop-filter:blur(4px)}
@media(min-width:768px){.pagehead{padding:80px 24px}}
.h1i{font-family:var(--font-sans);font-style:italic;font-weight:400;letter-spacing:0;font-size:2.25rem;line-height:1.05;margin:16px 0 20px;overflow-wrap:anywhere}
@media(min-width:768px){.h1i{font-size:4.5rem}}
.h1d{font-size:2.25rem;line-height:1;margin:12px 0 20px}
@media(min-width:768px){.h1d{font-size:3.75rem}}
.h2i{font-family:var(--font-sans);font-style:italic;font-weight:400;letter-spacing:0;font-size:1.75rem;line-height:1.1;margin:12px 0 20px}
@media(min-width:768px){.h2i{font-size:2.25rem}}
.lede{max-width:42rem;font-size:1rem;font-style:italic;color:var(--muted)}
@media(min-width:768px){.lede{font-size:1.125rem}}
.pad{padding:24px}@media(min-width:768px){.pad{padding:40px}}
.prose{padding:32px 20px;display:grid;gap:16px;max-width:none}
.prose p{max-width:44rem;color:var(--fg-80)}
@media(min-width:768px){.prose{padding:48px 24px}}

/* about principles */
.pgrid{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--fg-15)}
@media(min-width:768px){.pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.pgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pcard{padding:24px;border-bottom:1px solid var(--fg-10);border-right:1px solid var(--fg-10);transition:background .3s var(--ease),color .3s var(--ease)}
.pcard h3{font-size:1.5rem;line-height:1.2;margin:20px 0 12px}
.pcard:hover{background:var(--fg);color:var(--bg)}
.pcard:hover .body,.pcard:hover .label{color:var(--bg-70)}
.sec-h.pad{margin-bottom:0}

/* search */
.search{position:relative;max-width:36rem;margin-top:8px}
.search-box{display:flex;align-items:center;gap:8px;border:1px solid var(--fg-15);border-radius:999px;background:var(--card);padding:0 16px;min-height:var(--tap);transition:border-color .2s}
.search-box:focus-within{border-color:var(--fg-50)}
.search-box svg{color:var(--muted);flex:none}
.search input,.filter{flex:1;min-width:0;min-height:var(--tap);background:transparent;border:0;outline:0;color:var(--fg);font:400 .875rem var(--font-sans)}
.search input::placeholder,.filter::placeholder{color:var(--muted)}
.search kbd{display:none;border:1px solid var(--fg-15);border-radius:4px;padding:2px 6px;color:var(--muted);font-size:10px}
@media(min-width:640px){.search kbd{display:inline-block}}
.results{position:absolute;z-index:30;left:0;right:0;margin-top:8px;border:1px solid var(--fg-15);border-radius:16px;background:var(--bg-85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden}
.res{display:flex;flex-direction:column;gap:2px;padding:12px 16px;min-height:var(--tap);border-bottom:1px solid var(--fg-15);transition:background .2s}
.res:last-child{border-bottom:0}
.res.hl,.res:hover{background:var(--card)}
.res.none{color:var(--muted);font-style:italic;font-size:.875rem}
.rt{display:flex;justify-content:space-between;gap:12px;align-items:baseline;font-size:.875rem}

/* sidebar layouts */
.docs-grid,.tech-grid{display:grid;grid-template-columns:minmax(0,1fr)}
@media(min-width:1024px){.docs-grid{grid-template-columns:260px minmax(0,1fr)}.tech-grid{grid-template-columns:260px minmax(0,1fr) 220px}}
.side{padding:16px}
@media(min-width:1024px){.side{padding:24px;border-right:1px solid var(--fg-15);position:sticky;top:88px;align-self:start;max-height:calc(100vh - 7rem);overflow-y:auto}.side.toc{border-right:0;border-left:1px solid var(--fg-15)}}
.side-card{border:1px solid var(--fg-15);background:var(--card);border-radius:16px;padding:12px}
.side-card .label{padding:0 8px;margin-bottom:8px;display:block}
.side.toc{display:none}@media(min-width:1024px){.side.toc{display:block}}
.side nav{display:flex;gap:4px;flex-direction:column}
#tech-tabs{flex-direction:row;overflow-x:auto}
@media(min-width:1024px){#tech-tabs{flex-direction:column;overflow:visible}.tabs-l{display:block}}
@media(max-width:1023px){.tabs-l{display:none!important}}
.side nav a,.side nav button{padding:0 12px;border-radius:999px;font-size:.875rem;color:var(--muted);white-space:nowrap;transition:background .2s,color .2s;text-align:left;width:100%}
#tech-tabs a{width:auto}@media(min-width:1024px){#tech-tabs a{width:100%}}
.side nav a:hover,.side nav button:hover{background:var(--card);color:var(--fg)}
.side nav a.on,.side nav a[aria-current="true"]{background:var(--fg-10);color:var(--fg)}
.side nav a span{margin-right:8px}
.toc nav button{font-size:.75rem;border-radius:0;border-left:1px solid var(--fg-15);padding-left:12px;white-space:normal;line-height:1.3}
.toc nav button:hover{border-left-color:var(--fg-40);background:transparent}
.docs-body,.tech-main{padding:24px 20px;display:grid;gap:64px;min-width:0;align-content:start}
@media(min-width:768px){.docs-body,.tech-main{padding:40px}}
.docs-body>section{scroll-margin-top:96px;outline:0}
.dgrid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}
@media(min-width:640px){.dgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dcard{display:flex;flex-direction:column;align-items:flex-start;gap:6px;border:1px solid var(--fg-15);background:var(--fg-04);border-radius:12px;padding:20px;transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.dcard>.display{font-size:1rem;font-weight:700}
.dcard:hover{background:var(--fg-08);border-color:var(--fg-30);transform:translateY(-2px)}
.dcard .more{margin-top:8px}

/* doc page */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.crumbs a{transition:color .2s}.crumbs a:hover,.crumbs .cur{color:var(--fg)}
.back{margin-top:16px;display:inline-flex;transition:opacity .2s}.back:hover{opacity:.7}
.pagehead>.label.dim:not(.crumbs){margin-top:16px;display:block}
.blk{padding:24px 20px}
@media(min-width:768px){.blk{padding:40px}}
.blk h2{font-size:1.5rem;margin-bottom:12px}
.blk p{max-width:48rem;color:var(--fg-80);line-height:1.7;margin-bottom:20px}
.blk .code{margin-top:4px}
.pn{display:grid}
@media(min-width:768px){.pn{grid-template-columns:repeat(2,1fr)}}
.pn-c{padding:24px;border-bottom:1px solid var(--fg-15)}
@media(min-width:768px){.pn-c{padding:32px;border-bottom:0}.pn-c:first-child{border-right:1px solid var(--fg-15)}}
.pn-c.r{text-align:left}@media(min-width:768px){.pn-c.r{text-align:right}}
.pn-c a{display:flex;flex-direction:column;gap:8px;min-height:var(--tap);transition:opacity .2s;align-items:flex-start}
@media(min-width:768px){.pn-c.r a{align-items:flex-end}}
.pn-c a:hover{opacity:.7}.pn-c .display{font-size:1.25rem}

/* code + tech blocks */
.code{border:1px solid var(--fg-15);border-radius:8px;overflow:hidden;background:var(--card)}
.code-h{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--fg-15);padding:0 0 0 12px}
.code-h .mono{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.code-copy{font-size:11px;color:var(--muted);padding:0 16px;justify-content:center;transition:color .2s,background .2s}
.code-copy:hover{color:var(--bg);background:var(--fg)}
.code pre{padding:16px;overflow-x:auto;font-size:12px;line-height:1.7;background:var(--term);color:var(--term-fg)}
.tblocks{display:grid;gap:24px;margin-top:24px}
.tblock{border:1px solid var(--fg-15);background:var(--fg-04);border-radius:12px;padding:20px;scroll-margin-top:96px;min-width:0}
.tblock h3{font-size:1.125rem;margin-bottom:8px}
.tblock .body{margin-bottom:16px}.tblock .body:last-child{margin-bottom:0}
.filter{display:block;width:100%;max-width:28rem;margin-top:24px;border:1px solid var(--fg-15);border-radius:6px;background:var(--card);padding:0 12px}
.filter:focus{border-color:var(--fg-50)}
mark{background:var(--fg-30);color:var(--fg);border-radius:3px;padding:0 2px}
.none{font-style:italic}
[hidden]{display:none!important}
