@font-face { font-family:Spectral; src:url('assets/fonts/Spectral-Regular.ttf') format('truetype'); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:Spectral; src:url('assets/fonts/Spectral-Medium.ttf') format('truetype'); font-style:normal; font-weight:500 600; font-display:swap; }
@font-face { font-family:Inter; src:url('assets/fonts/Inter.ttf') format('truetype'); font-style:normal; font-weight:100 900; font-display:swap; }
@font-face { font-family:'IBM Plex Mono'; src:url('assets/fonts/IBMPlexMono-Regular.ttf') format('truetype'); font-style:normal; font-weight:400; font-display:swap; }
/* Raza: ancient object / modern instrument. Shared tokens govern every route. */
:root {
    --charcoal:#1b1815; --umber:#3e2c1e; --clay:#8c5a3c; --parchment:#dbc9a8;
    --bone:#f4efe4; --sage:#6b7f6e; --teal:#356e6d; --ochre:#c58a47;
    --stone:#9a8f7d; --rose:#a26868; --rule:#c9baa2; --muted:#62594c;
    color-scheme:light; font:16px/1.55 Inter,system-ui,sans-serif;
    color:var(--charcoal); background:var(--bone);
}
* { box-sizing:border-box; }
body { margin:0; }
body[data-current-page=home] { background:var(--charcoal); color:var(--bone); }
a { color:var(--teal); text-underline-offset:.22em; }
a:hover { text-decoration-thickness:2px; }
button,input,select,textarea { font:inherit; }
button,input,select,textarea { border:1px solid var(--stone); border-radius:3px; }
button { max-width:100%; overflow-wrap:anywhere; padding:.48rem .8rem; margin:.2rem; background:var(--bone); color:var(--charcoal); cursor:pointer; font-size:.85rem; font-weight:500; line-height:1.4; }
button:hover { background:#e7ddcc; border-color:var(--clay); }
button:disabled { opacity:.48; cursor:default; }
button[aria-pressed=true],#run,.shape-cards button.selected { background:var(--clay); border-color:var(--clay); color:var(--bone); }
:where(button,input,select,textarea,a,summary):focus-visible { outline:3px solid var(--ochre); outline-offset:3px; }
input,select { padding:.55rem .65rem; background:#fffdf8; color:var(--charcoal); max-width:100%; }
input[type=checkbox] { accent-color:var(--clay); }
textarea { width:100%; padding:1rem; background:#fffcf5; color:var(--charcoal); font:13px/1.65 'IBM Plex Mono',ui-monospace,monospace; }
pre,code { font-family:'IBM Plex Mono',ui-monospace,monospace; overflow-wrap:anywhere; }
pre { white-space:pre-wrap; }
[hidden] { display:none!important; }
main { max-width:92rem; margin:0 auto; padding:0 2rem; }
main:focus { outline:none; }
[data-page]:not(#home-page) { padding-top:2.5rem; min-height:55vh; }
header { max-width:55rem; margin-bottom:2rem; }
h1,h2,h3 { font-family:Spectral,Georgia,serif; font-weight:500; }
h1 { font-size:clamp(2rem,3.5vw,3.1rem); line-height:1.15; letter-spacing:-.025em; margin:.35rem 0 1rem; }
h2 { font-size:1.6rem; line-height:1.3; margin:1.7rem 0 .7rem; }
h3 { font-size:1.2rem; line-height:1.35; }
p { margin:.7rem 0; }
small { font-size:.78rem; line-height:1.5; }
.eyebrow { font:500 .68rem/1.5 Inter,system-ui,sans-serif; letter-spacing:.16em; text-transform:uppercase; color:var(--clay); }
.skip-link { position:absolute; left:1rem; top:-5rem; background:var(--bone); color:var(--charcoal); padding:.7rem; z-index:10; }
.skip-link:focus { top:.5rem; }
.site-bar { color:var(--bone); background:var(--charcoal); padding:.8rem max(2rem,calc((100vw - 88rem)/2)); border-bottom:1px solid #544738; }
.brand-line { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding-bottom:.6rem; }
.wordmark { display:inline-flex; align-items:center; gap:.85rem; color:var(--bone); text-decoration:none; flex-shrink:0; }
.wordmark img { width:3rem; height:3rem; }
.wordmark span { display:block; }
.brand-name { font:400 2.3rem/.94 Spectral,Georgia,serif; letter-spacing:-.04em; }
.brand-product { font:400 .98rem/1.4 Spectral,Georgia,serif; margin-top:.2rem; }
.brand-tagline { margin:0; color:var(--parchment); font:400 1rem/1.5 Spectral,Georgia,serif; }
#site-nav { display:flex; flex-wrap:wrap; gap:.4rem 1.8rem; border-top:1px solid #3f362c; padding-top:.5rem; font-size:.76rem; }
#site-nav a { text-decoration:none; color:#cabeaa; border-bottom:2px solid transparent; padding:.25rem 0; }
#site-nav a:hover { color:var(--bone); }
#site-nav a[aria-current] { color:var(--bone); border-bottom-color:var(--ochre); }
#site-notice:empty { display:none; }
#site-notice { padding:.7rem 1rem; border-left:3px solid var(--ochre); background:var(--parchment); color:var(--charcoal); }
label { display:inline-flex; flex-direction:column; gap:.3rem; margin:.3rem; max-width:100%; font-size:.86rem; }
label:not(.check) { display:flex; margin:.6rem 0; }
label select { margin:0; }
.question-toolbar { display:flex; flex-wrap:wrap; padding:.5rem 0 1rem; border-top:1px solid var(--rule); }
.shape-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; margin-bottom:1.5rem; }
.shape-cards button { text-align:left; font-weight:600; padding:1.15rem; margin:0; border-color:var(--rule); border-top:3px solid var(--clay); }
.shape-cards small { display:block; font-weight:400; margin-top:.45rem; line-height:1.55; }
.question-workspace { display:grid; grid-template-columns:minmax(20rem,1fr) minmax(25rem,1.25fr); gap:2rem; align-items:start; }
.question-workspace > * { min-width:0; }
.question-preview { position:sticky; top:1rem; padding:1.3rem; background:#fffaf0; border:1px solid var(--rule); border-top:3px solid var(--teal); min-width:0; }
.question-preview h3:first-child { margin-top:0; }
.question-sentence { font:500 1.2rem/1.55 Spectral,Georgia,serif; }
fieldset { min-width:0; margin:1rem 0; padding:1rem; border:1px solid var(--rule); }
legend { max-width:100%; padding:0 .4rem; font-size:.86rem; font-weight:600; }
.builder-condition { margin-left:.8rem; border-left:3px solid var(--clay); }
.builder-path { border-bottom:1px solid var(--rule); padding-bottom:.5rem; }
#builder-validation { padding:.8rem; background:var(--parchment); }
.check { display:flex; flex-direction:row; align-items:start; gap:.5rem; margin:.3rem 0; }
.check input { flex-shrink:0; margin-top:.3rem; }
.category-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); max-height:15rem; overflow:auto; padding:.5rem; border:1px solid var(--rule); background:#fffaf0; }
select[multiple] { min-height:8rem; }
.table-scroll { overflow:auto; max-height:35rem; }
table { width:100%; border-collapse:collapse; background:#fffaf0; font-size:.82rem; }
th,td { text-align:left; vertical-align:top; padding:.7rem; border:1px solid var(--rule); }
th { background:#e9dfcd; font-weight:600; }
th p { min-width:13rem; font-weight:400; color:var(--muted); }
td { white-space:nowrap; }
tbody tr:nth-child(even) { background:#f6f0e5; }
summary { cursor:pointer; }
details { margin:.7rem 0; }
.execution { margin-top:2rem; padding-top:1rem; border-top:2px solid var(--clay); }
#release,#status,#result-context { color:var(--muted); font-size:.8rem; }
[data-page]:not(#home-page) > p { max-width:55rem; overflow-wrap:anywhere; }
.article-tabs { display:flex; flex-wrap:wrap; gap:.2rem; margin:1.5rem 0; border-bottom:1px solid var(--rule); padding-bottom:1rem; }
#bowls-page article,#references-page article { max-width:55rem; }
#references-page article { border-top:1px solid var(--rule); margin-top:1.3rem; padding-top:.2rem; }
.archive-object { float:right; width:min(32%,23rem); margin:0 0 2rem 3rem; padding:.75rem; border:1px solid var(--rule); background:#e5dac7; }
.archive-object img { display:block; width:100%; height:auto; }
.archive-object figcaption { margin:.65rem 0 .1rem; font-size:.7rem; color:var(--muted); }
.research-catalogue { margin-top:2rem; padding:1rem; border:1px solid var(--rule); }
.catalogue-row { display:flex; flex-wrap:wrap; align-items:center; gap:1rem; padding:.35rem 0; border-bottom:1px solid var(--rule); font-size:.8rem; }
.site-footer { clear:both; margin:3rem 0 0; padding:1.3rem 0 2rem; border-top:1px solid var(--rule); color:var(--muted); font-size:.7rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.site-footer > div { display:flex; flex-direction:column; gap:.25rem; }
.footer-brand { font:500 1.05rem Spectral,Georgia,serif; }
.site-footer details { margin:0; }
body[data-current-page=home] .site-footer { border-color:#544738; color:#b6a990; }
body[data-current-page=home] .site-footer a { color:var(--parchment); }
@media(max-width:900px) {
    main { padding:0 1.25rem; }
    .site-bar { padding:1rem 1.25rem; }
    .brand-tagline { max-width:20rem; text-align:right; }
    .home-heading { gap:1.5rem; grid-template-columns:minmax(0,1fr) 13rem; }
    .question-workspace { grid-template-columns:minmax(0,1fr); }
    .question-preview { position:static; }
    .shape-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
    main { padding:0 .85rem; }
    .site-bar { padding:1rem .85rem .75rem; }
    .brand-line { align-items:start; gap:.6rem; flex-direction:column; padding-bottom:.65rem; }
    .brand-tagline { max-width:none; text-align:left; font-size:.83rem; }
    .wordmark img { width:2.8rem; height:2.8rem; }
    .brand-name { font-size:2.2rem; }
    .brand-product { font-size:.95rem; }
    #site-nav { gap:.35rem 1rem; font-size:.7rem; }
    .home-heading { display:block; margin:1.4rem 0; }
    .home-heading #home-quote { font-size:1.15rem; }
    .inscription-detail { display:none; }
    .headline-stats { gap:.35rem .85rem; font-size:.65rem; }
    .home-search button { max-width:100%; overflow-wrap:anywhere; padding:.85rem .7rem; }
    .view-switch span { width:100%; text-align:center; }
    .shape-cards,.category-choices { grid-template-columns:1fr; }
    .question-preview,.entry-panel { padding:1rem; }
    .selection-panel h2 { display:block; margin:.5rem 0; }
    .selection-panel details { margin:.3rem 0; width:100%; }
    .archive-object { float:none; width:min(100%,22rem); margin:1rem 0; }
    .explorer-control-group { border-right:none; padding-right:0; }
    [data-page]:not(#home-page) { padding-top:1.5rem; }
}

.result-network-context{margin:0 0 1rem;border-left:3px solid #356e6d;padding:.65rem 1rem;background:#faf7ef}.result-network-context pre{max-height:16rem;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}

.reference-list { max-width:55rem; padding-left:1.4rem; }
.reference-list li { margin:.8rem 0; line-height:1.6; overflow-wrap:anywhere; }
