/* Submission build: editorial reading space inside the existing archive shell. */
/* Full-width archive strip; retain the original layered, interactive deck. */
#codex-development{display:block}
#codex-development>[data-mount="assets"]{max-width:none;width:100%;margin-top:24px}
.codex-editorial-book .assets-module{height:auto;container-type:inline-size;border-radius:4px;box-shadow:inset 0 0 0 3px #0a0a09,3px 4px 0 #514b4033}
.codex-editorial-book .assets-module .asset-deck{height:162px;padding:12px 10px 0;gap:12px;align-items:center}
.codex-editorial-book .assets-module .asset-cards{height:150px;min-width:0}
.codex-editorial-book .assets-module .asset-cards::before,
.codex-editorial-book .assets-module .asset-cards::after{inset-inline:8%;opacity:.65}
.codex-editorial-book .assets-module .asset-card{width:100px;height:122px;top:12px;transform:translateX(calc(-50% + var(--deck-offset)*clamp(34px,14cqw,110px))) translateY(calc(abs(var(--deck-offset))*3px))}
.codex-editorial-book .assets-module .asset-card.selected{height:142px;top:0}
.codex-editorial-book .assets-module .asset-card[hidden]{display:none}
.codex-editorial-book .assets-module .asset-card span{font-size:9px}
.codex-editorial-book .assets-module .asset-card small{font-size:8px}
.codex-editorial-book .assets-module .asset-swatch{height:74px}
.codex-editorial-book .assets-module .asset-card-count{font-size:8px}
.codex-editorial-book .assets-module .asset-deck>button{width:28px;height:36px;z-index:10}
.codex-editorial-book .assets-module .asset-selection{font-size:10px;padding:8px 16px;white-space:normal}
.codex-editorial-book .assets-module>footer{padding:6px 16px 12px}
.codex-editorial-book .assets-module>footer>small{font-size:8px}
@media(max-width:480px){
 .codex-editorial-book .assets-module .asset-card{width:78px}
 .codex-editorial-book .assets-module .asset-deck{gap:5px}
 .codex-editorial-book .assets-module .asset-deck>button{width:24px}
}
.codex-podcast{min-width:0;margin:0 0 42px;padding:18px;border:1px solid #514b4066;background:#111110}
.codex-podcast header{margin-bottom:14px}
.codex-podcast header small{font-size:10px;letter-spacing:.1em;color:#a99c85}
.codex-podcast header h3{font:24px/1.3 Georgia,serif;color:#d4c8b2;margin:8px 0}
.codex-podcast iframe{display:block;width:100%;height:152px;border:0;border-radius:12px}
.codex-podcast>a{display:inline-block;margin-top:12px;font-size:10px}
#codexEditorial[hidden],#submissionComing[hidden]{display:none!important}
.submission-pending-link::after{content:'SOON';font:7px 'Courier New',monospace;letter-spacing:.05em;margin-left:7px;opacity:.5}
body.submission-editorial{height:auto!important;min-height:100vh;overflow-y:auto!important;background:#0d0d0d}
html:has(body.submission-editorial){height:auto!important;min-height:100%;overflow-x:clip;overflow-y:auto!important}
.submission-editorial .shell{position:relative!important;inset:auto!important;left:auto!important;top:auto!important;transform:none!important;width:100%!important;max-width:1700px!important;min-height:100vh!important;height:auto!important;display:grid!important;grid-template-columns:196px minmax(0,1fr)!important;margin:0 auto!important;overflow:visible!important}
.submission-editorial .rail{position:sticky!important;top:0!important;height:100dvh!important;min-height:100dvh!important;width:auto!important;grid-column:1;grid-row:1;align-self:start}
.submission-editorial .workspace{grid-column:2;min-width:0!important;width:100%!important;height:auto!important;min-height:100vh;display:block!important;padding:0!important;overflow:visible!important}
.submission-editorial .topbar{position:sticky!important;inset:auto!important;top:0!important;width:100%!important;height:64px!important;padding:0 28px!important;background:#0e0e0ef5;z-index:30}
.submission-editorial .gallery-panel,.submission-editorial .archive-panel,.submission-editorial #entryDialog{display:none!important}
.submission-editorial .topbar nav a{border:0!important;color:#8d887e!important}
.submission-editorial .topbar nav a.active{color:#e0d5bd!important;border-bottom:1px solid #b7aa8e!important}
#codexEditorial{padding:28px clamp(22px,4vw,64px) 70px;background:linear-gradient(90deg,#101010,#0c0c0c);}
.codex-editorial-book.unified-book{position:relative;inset:auto;display:block;width:100%;min-width:0;height:auto;transform:none;max-height:none;margin:0;color:#c2b8a7;font:13px/1.85 'Courier New',monospace;}
.codex-running{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.08em;color:#a69c8b}
.codex-running a,.codex-index a,.codex-end a,.coming-return a{color:#bfb3a0;text-decoration:none}
.codex-heading{padding:48px 0 35px;border-bottom:1px solid #59514277;margin-bottom:38px}
.codex-heading>small,.codex-chapter>small,.codex-chapter>div>small{font-size:10px;letter-spacing:.14em;color:#9f9481}
.codex-heading h1{font:clamp(52px,7vw,100px)/1 'EB Garamond',Georgia,serif;color:#e4d9c3;margin:15px 0}
.codex-deck{font:24px/1.45 Georgia,serif;max-width:760px;margin:20px 0 28px}
.codex-meta{display:flex;gap:15px;flex-wrap:wrap;text-transform:uppercase;font-size:9px;color:#a49b89}
.codex-meta span+span{border-left:1px solid #625a48;padding-left:15px}
.codex-layout{display:grid;grid-template-columns:165px minmax(0,1fr);gap:34px}
.codex-index{position:sticky;top:92px;align-self:start;display:flex;flex-direction:column;font-size:10px;line-height:1.6}
.codex-index>span{font-size:9px;letter-spacing:.1em;margin-bottom:16px;color:#847e72}
.codex-index a{padding:12px 0;border-bottom:1px solid #514a3d66}
.codex-index a:hover{color:#f1e7d4}
.codex-copy{min-width:0;max-width:1050px}
.codex-chapter{padding-bottom:42px;margin-bottom:42px;border-bottom:1px solid #59514266;scroll-margin-top:92px;min-width:0}
.codex-chapter h2{font:36px/1.14 'EB Garamond',Georgia,serif;color:#e3d7bf;margin:12px 0 22px}
.codex-chapter h3{font:22px/1.3 Georgia,serif;color:#d4c8b2}
.codex-chapter p{max-width:74ch;margin:0 0 18px;overflow-wrap:anywhere}
.codex-chapter:has(>[data-mount="launcher"]),.codex-chapter:has(>[data-mount="assets"]),.codex-chapter:has(>[data-mount="audio"]){display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1fr);gap:28px;align-items:start}
.codex-module-mount,[data-mount]{min-width:0;}
.codex-editorial-book .module-slot{width:100%;height:auto;grid-column:auto;grid-row:auto;justify-self:stretch;padding-top:30px;}
.codex-editorial-book .module-label{position:absolute;top:0;left:0;margin:0;font:11px/1.4 'Courier New',monospace;text-transform:uppercase;letter-spacing:.06em;color:#c4b8a1}
.codex-editorial-book .archive-module{height:auto;min-height:220px;}
.codex-editorial-book .launcher-module{min-height:300px;}
.codex-editorial-book .launcher-main{height:auto;min-height:220px;}
.codex-editorial-book .launcher-main>div:first-child{min-width:0;}
.codex-editorial-book .launcher-main h3{font:22px/1.2 Georgia,serif;}
.codex-editorial-book .launcher-main.is-running{display:block;height:600px;}
.codex-editorial-book .launcher-main.is-running iframe{width:100%;height:95%;border:0;}
.codex-editorial-book .assets-module{height:225px;}
.codex-editorial-book .audio-module{height:225px;}
.codex-editorial-book .media-module{height:auto;display:flex;flex-direction:column;}
.codex-editorial-book .media-module .spread-source{display:block;padding:12px;}
.codex-editorial-book #dialogArt{width:100%;height:auto;max-width:780px;margin:auto;}
.codex-editorial-book #dialogArt video{width:100%;height:auto;max-height:76vh;display:block;object-fit:contain;}
.codex-editorial-book .media-cover{min-height:420px;}
.codex-editorial-book .archive-module:fullscreen{height:100dvh;padding:28px;overflow:auto;}
.codex-caption{font-size:10px;line-height:1.6;color:#988e7e;margin-top:12px!important}
.editorial-pending{border-left:2px solid #746650;background:#b1a28608;padding:15px 18px;color:#a99d8a}
.editorial-pending small{font-size:9px;letter-spacing:.08em}
.editorial-pending p{font-size:12px;margin:8px 0 0}
.codex-walkthrough{border:1px solid #5b5243;padding:22px;background:#171614;display:grid;grid-template-columns:1fr 1.3fr;gap:24px}
.codex-walkthrough span{font-size:9px;letter-spacing:.1em}
.codex-walkthrough p{font-size:12px;}
.codex-walkthrough a{overflow-wrap:anywhere}
.codex-end{display:flex;justify-content:space-between;font-size:10px;gap:20px}
#submissionComing{padding:clamp(35px,8vw,100px);min-height:75vh;font:14px/1.8 'Courier New',monospace;color:#bdb19e;background:#101010;}
.submission-eyebrow{font-size:10px;letter-spacing:.15em;color:#a69980}
#submissionComing h1{font:clamp(42px,6vw,76px)/1.08 'EB Garamond',Georgia,serif;color:#e0d4bc;margin:20px 0 28px;}
#submissionComing p{max-width:650px;}
.submission-links{display:flex;gap:16px;flex-wrap:wrap;margin:30px 0 45px}
.submission-button{display:inline-block;border:1px solid #786d57;padding:12px 16px;color:#d2c5ad!important;text-decoration:none!important;font:12px/1.4 'Courier New',monospace;background:#191815}
.submission-button small{display:block;font-size:9px;margin-top:5px;color:#938977}
.submission-button.unavailable{opacity:.65;}
.coming-return{display:flex;gap:26px;font-size:12px}
@media(max-width:1200px){.codex-layout{grid-template-columns:135px minmax(0,1fr);gap:24px}.codex-chapter:has(>[data-mount]){grid-template-columns:1fr}.codex-chapter>[data-mount="assets"],.codex-chapter>[data-mount="audio"]{max-width:500px}.codex-walkthrough{grid-template-columns:1fr}}
@media(max-width:860px){
 .submission-editorial .shell{display:block!important;}.submission-editorial .rail{position:relative!important;height:auto!important;min-height:0!important;width:100%!important;display:flex!important;}
 .submission-editorial .brand{height:auto!important;padding:20px!important;}.submission-editorial .rail .signal,.submission-editorial .rail-note{display:none!important;}
 .submission-editorial .rail-nav{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));margin:0!important;}.submission-editorial .rail-nav a{height:auto!important;min-height:52px;padding:12px 5px!important;}
 .submission-editorial .topbar{height:auto!important;min-height:56px!important;gap:12px;padding:10px 14px!important;flex-wrap:wrap;}.submission-editorial .topbar nav{gap:12px!important;font-size:9px;}.submission-pending-link::after{display:none;}
 #codexEditorial{padding:22px 18px 50px;}.codex-running{font-size:8px;gap:15px}.codex-heading{padding:28px 0}.codex-deck{font-size:20px}.codex-layout{display:block;}.codex-index{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-bottom:30px}.codex-index>span{grid-column:1/-1;}.codex-chapter h2{font-size:30px;}.codex-editorial-book{font-size:13px!important;}.codex-chapter{scroll-margin-top:100px}.codex-walkthrough{padding:16px;}.codex-editorial-book .launcher-main.is-running{height:70vh}
 #submissionComing{padding:40px 22px;}.coming-return{flex-wrap:wrap;}.codex-editorial-book .module-slot{transform:none!important;position:relative!important;}
}

.codex-game-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.codex-game-links .submission-button{font-size:10px;padding:9px 10px}.codex-technical dl{display:grid;grid-template-columns:180px 1fr;gap:12px;border-top:1px solid #5b5243;padding-top:18px}.codex-technical dt{font-size:10px;text-transform:uppercase;color:#a39781}.codex-technical dd{margin:0}.codex-chapter:first-child{display:block!important}.codex-chapter:first-child>[data-mount],.codex-chapter:first-child>div+div{margin-top:30px}@media(max-width:600px){.codex-technical dl{grid-template-columns:1fr;gap:6px}.codex-technical dd{margin-bottom:12px}}

/* Editorial instruments: shared paper, rules and typesetting; no cover artwork. */
.codex-walkthrough{grid-template-columns:minmax(0,1fr)!important}
.codex-editorial-book .archive-module{
 height:auto;min-height:0;border:1px solid #514b40;border-radius:0;
 background:linear-gradient(115deg,#151514,#101010);box-shadow:3px 3px 0 #0b0b0b,4px 4px 0 #403a3066;
}
.codex-editorial-book .archive-module::before{opacity:.08;border-radius:0}
.codex-editorial-book .module-tag{position:static;display:block;width:max-content;height:auto;margin:0 16px;padding:4px 9px;transform:translateY(-1px);background:#b5aa94;color:#181716;box-shadow:none;font:10px/1.4 'Courier New',monospace}
.codex-editorial-book .archive-module>header{height:auto;min-height:45px;padding:8px 16px;flex-wrap:wrap;gap:8px;border-color:#514b4066}
.codex-editorial-book .archive-module>header h3{font:11px/1.5 'Courier New',monospace!important;letter-spacing:.08em;text-transform:uppercase;margin:0;flex:1}
.codex-editorial-book .archive-module>header small{font-size:9px}
.codex-editorial-book .module-expand{width:25px;height:25px;font-size:16px;box-shadow:none}
.codex-editorial-book .launcher-main{grid-template-columns:1fr 1fr;gap:26px;padding:20px;min-height:0}
.codex-editorial-book .launcher-main>div:first-child{padding:0}
.codex-editorial-book .launcher-main h3{font:32px/1.15 'EB Garamond',Georgia,serif;margin:12px 0}
.codex-editorial-book .launch-state{color:#bcb197;font-size:10px;letter-spacing:.1em}
.codex-editorial-book .launch-button{width:100%;max-width:360px;margin:18px 0 8px;padding:12px 14px;box-shadow:none;text-align:left;background:#1c1b17}
.launch-ledger{padding-left:22px;border-left:1px solid #514b4066;font-size:11px}
.launch-ledger>small{letter-spacing:.1em;color:#a89c85}
.launch-ledger dl{display:grid;grid-template-columns:75px 1fr;gap:6px;margin:12px 0}
.launch-ledger dt{color:#8c8374}.launch-ledger dd{margin:0}
.launch-ledger p{border-top:1px solid #514b4066;padding-top:10px;font-size:10px;line-height:1.7}
.codex-editorial-book .launcher-main.is-running{height:clamp(360px,70vh,800px);padding:10px}
.codex-editorial-book .audio-module{padding:0 16px 16px}
.codex-editorial-book .audio-module>header{padding-inline:0}
.codex-editorial-book .audio-module .wave-toggle{color:#b5aa94;border-color:#514b40}
.codex-editorial-book .audio-wave{height:92px;margin:15px 0 6px;border:0;border-bottom:1px solid #514b40;border-radius:0;background:repeating-linear-gradient(90deg,transparent 0 29px,#a99b7910 30px)}
.codex-editorial-book .audio-wave i{background:#b5aa94}
.codex-editorial-book .audio-time{font-size:10px;margin:8px 0 12px}
.codex-editorial-book .audio-bottom{flex-wrap:wrap;gap:8px}
.codex-editorial-book .audio-bottom button{min-width:32px;min-height:32px;box-shadow:none}
.codex-editorial-book .audio-title{min-width:120px}
.codex-editorial-book .audio-title strong{font:16px/1.3 Georgia,serif}
.codex-editorial-book .audio-title small{font-size:9px}
.codex-editorial-book .media-module .spread-source{padding:14px;background:#0b0b0b}
.codex-editorial-book #dialogArt{max-width:100%}
.codex-editorial-book #dialogArt video{width:100%;height:auto;max-height:70vh;object-fit:contain}
.codex-editorial-book .media-module>footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid #514b4066;font-size:10px}
.codex-editorial-book .media-select{max-width:100%;font-size:10px;padding:6px}
.codex-walkthrough{background:#111110;border-color:#514b40;padding:20px;align-items:start}
#walkthroughEmbed{min-width:0}
#walkthroughEmbed .twitter-tweet{filter:grayscale(1);margin:0!important;max-width:100%!important}
#walkthroughEmbed .submission-button{display:block;margin-top:12px;background:transparent;border-color:#514b40}
.codex-walkthrough h3{margin:12px 0;font-size:25px}
@media(max-width:700px){
 .codex-editorial-book .launcher-main{grid-template-columns:1fr;gap:18px;padding:16px}
 .launch-ledger{padding:15px 0 0;border-left:0;border-top:1px solid #514b4066}
 .codex-editorial-book .launch-button{max-width:none}
 .codex-editorial-book .archive-module>header{padding-inline:12px}
 .codex-editorial-book .module-label{font-size:10px}
 .codex-editorial-book .assets-module .asset-deck{padding:7px}
 .codex-editorial-book .media-module .spread-source{padding:5px}
}

#codex-development .assets-module{height:auto;min-height:0}
.codex-editorial-book .assets-module .asset-swatch img,
.codex-editorial-book .assets-module .asset-swatch video{width:100%;height:100%;object-fit:cover;filter:grayscale(1);pointer-events:none}
.codex-editorial-book .assets-module .asset-document-preview{display:block;width:100%;height:100%;box-sizing:border-box;padding:8px;background:#b5aa94;color:#28251e;white-space:pre-wrap;overflow:hidden;text-align:left;font:5px/1.65 'Courier New',monospace;text-transform:none}
.codex-editorial-book .assets-module .asset-format-preview{background:#292820;color:#d1c5ac}
.codex-editorial-book .assets-module .asset-card.selected{border-color:#ead8ae;box-shadow:0 0 0 1px #c9b68b,6px 8px 14px #000d}
.codex-editorial-book .assets-module .asset-card.selected .asset-card-count{color:#ead8ae}
.codex-editorial-book .assets-module>footer{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.codex-editorial-book .asset-explore{padding:9px 14px;border:1px solid #c5b390;background:linear-gradient(#25231b,#11110f);color:#e1d2b5;font:10px 'Courier New',monospace}

/* Use the same desktop canvas as Works; only the dossier column scrolls. */
@media(min-width:861px){
 html:has(body.submission-editorial),body.submission-editorial{height:100%!important;min-height:0!important;overflow:hidden!important}
 .submission-editorial .shell{position:fixed!important;left:var(--canvas-x,0px)!important;top:var(--canvas-y,0px)!important;width:1536px!important;max-width:none!important;height:961px!important;min-height:961px!important;margin:0!important;transform:scale(var(--desktop-scale,1))!important;transform-origin:top left;grid-template-columns:196px 1340px!important;overflow:hidden!important}
 .submission-editorial .rail{position:relative!important;top:auto!important;height:961px!important;min-height:961px!important}
 .submission-editorial .workspace{height:961px!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:thin;scrollbar-color:#514b40 #101010}
 .submission-editorial .topbar{height:54px!important;min-height:54px!important;padding:0 18px 0 27px!important}
 #codexEditorial{padding:28px 40px 60px}
 .codex-heading h1{font-size:76px}
 #submissionComing{min-height:907px;padding:70px 60px}
 #submissionComing h1{font-size:64px}
}

#aboutSection .motif-image{color:#c5bca8;background:none}
#aboutSection .motif-image svg{width:100%;height:100%}
#aboutSection .motif-card strong{text-transform:uppercase}
#aboutSection .motif-card small{font-size:9px;line-height:1.35}

/* Official Lucide icons, hosted locally; paths are preserved in assets/icons/lucide. */
#aboutSection .motif-image{display:grid;place-items:center;background:none;color:#c5bca8}
#aboutSection .premade-motif{display:block;width:58px;height:58px;background:currentColor;mask:var(--motif-icon) center/contain no-repeat;-webkit-mask:var(--motif-icon) center/contain no-repeat}
#aboutSection .motif-card:hover .motif-image,#aboutSection .motif-card[aria-pressed=true] .motif-image{color:#eee1c6}

/* Render the actual library SVGs directly, without masks or specimen imagery. */
#aboutSection .motif-card .motif-image{background:none!important;filter:none;display:grid;place-items:center}
#aboutSection .motif-card .motif-image::after{content:none}
#aboutSection .motif-card .motif-image svg.premade-motif{width:54px;height:54px;padding:0;background:none;filter:none;mask:none;-webkit-mask:none;fill:none;stroke:currentColor;stroke-width:1;color:#d6cbb6}

/* Readable text sizes inside the shared scaled desktop canvas. */
.codex-editorial-book.unified-book{font-size:16px;line-height:1.75}
.codex-index{font-size:13px}.codex-index>span{font-size:11px}
.codex-meta,.codex-running{font-size:12px}
.codex-heading>small,.codex-chapter>small,.codex-chapter>div>small{font-size:12px}
.codex-caption{font-size:13px}.codex-technical dt{font-size:12px}
.codex-walkthrough p{font-size:15px}.codex-walkthrough span{font-size:12px}
.codex-game-links .submission-button,.submission-button{font-size:14px;padding:12px 16px}
.submission-button small{font-size:12px}
.codex-podcast>a,.codex-podcast header small,.codex-end{font-size:13px}
#submissionComing{font-size:17px;line-height:1.75}
#submissionComing .submission-eyebrow{font-size:13px}
#submissionComing .submission-button{font-size:17px;padding:15px 20px}
#submissionComing .submission-button small{font-size:13px}
#submissionComing .coming-return{font-size:17px;flex-wrap:wrap}
.coming-return a{padding:9px 0;border-bottom:1px solid #81735b}
.coming-socials{margin-top:36px;padding-top:24px;border-top:1px solid #59514266;max-width:820px}
.coming-socials h2{font:28px/1.2 Georgia,serif;color:#dfd1ba;margin:0 0 12px}
.coming-socials p{font-size:16px}.coming-socials a{color:#d3c4aa;text-underline-offset:4px}
.coming-socials>div{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}
.coming-socials>div>a{display:flex;align-items:center;gap:12px;border:1px solid #675b45;padding:12px 16px;text-decoration:none;font-size:15px;background:#171612}
.coming-socials svg{width:18px;height:18px;fill:currentColor;flex:none}
.coming-socials a:hover{color:#fff0d3;border-color:#b8a37e}
.coming-socials a:focus-visible{outline:2px solid #d3c4aa;outline-offset:4px}
#aboutSection .identity dl{font-size:12px;line-height:1.5;grid-template-columns:76px 1fr}
#aboutSection .biography{font-size:12px;line-height:1.5;overflow:auto;scrollbar-width:thin}
#aboutSection .biography .folio{position:static;display:block;text-align:right;margin-top:10px}
#aboutSection #practiceText{font-size:12.5px;line-height:1.5;overflow:auto;scrollbar-width:thin}
#aboutSection .projects dl{font-size:12px;line-height:1.4;gap:9px 10px}
#aboutSection .projects h2{font-size:12px;line-height:1.4}
#aboutSection .profile-bottom{min-height:0}
#aboutSection .projects,#aboutSection .inquiries{overflow:auto;scrollbar-width:thin}
#aboutSection .inquiries li{font-size:11px;white-space:normal;line-height:1.25}
#aboutSection .tabs button{font-size:11px;padding-inline:13px}
#aboutSection .practice-index{font-size:9px}
#aboutSection .motif-card strong{font-size:10px;line-height:1.3}
#aboutSection .motif-card small{font-size:10px;line-height:1.3}
#aboutSection .contact-grid{font-size:12px}
@media(max-width:860px){.codex-editorial-book.unified-book{font-size:15px!important}.codex-index{font-size:12px}.codex-meta{font-size:11px}}

/* One scrollbar palette for editorial reading and About's text panels. */
.submission-editorial .workspace,
#aboutSection .biography,
#aboutSection #practiceText,
#aboutSection .projects,
#aboutSection .inquiries{
 scrollbar-width:thin;
 scrollbar-color:#514b40 #101010;
}
.submission-editorial .workspace::-webkit-scrollbar,
#aboutSection .biography::-webkit-scrollbar,
#aboutSection #practiceText::-webkit-scrollbar,
#aboutSection .projects::-webkit-scrollbar,
#aboutSection .inquiries::-webkit-scrollbar{width:6px;height:6px}
.submission-editorial .workspace::-webkit-scrollbar-track,
#aboutSection .biography::-webkit-scrollbar-track,
#aboutSection #practiceText::-webkit-scrollbar-track,
#aboutSection .projects::-webkit-scrollbar-track,
#aboutSection .inquiries::-webkit-scrollbar-track{background:#101010}
.submission-editorial .workspace::-webkit-scrollbar-thumb,
#aboutSection .biography::-webkit-scrollbar-thumb,
#aboutSection #practiceText::-webkit-scrollbar-thumb,
#aboutSection .projects::-webkit-scrollbar-thumb,
#aboutSection .inquiries::-webkit-scrollbar-thumb{background:#514b40;border-radius:3px}
.submission-editorial .workspace::-webkit-scrollbar-thumb:hover,
#aboutSection .biography::-webkit-scrollbar-thumb:hover,
#aboutSection #practiceText::-webkit-scrollbar-thumb:hover,
#aboutSection .projects::-webkit-scrollbar-thumb:hover,
#aboutSection .inquiries::-webkit-scrollbar-thumb:hover{background:#81735b}

/* Reading surface lives outside the scaled portfolio canvas. */
body.writing-reading{overflow:hidden!important}
.writing-fullscreen.documentation-viewer{
 position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;
 margin:0;padding:0;border:0;border-radius:0;background:#101010;color:#d6cbb6;
 box-shadow:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;
 scrollbar-width:thin;scrollbar-color:#514b40 #101010;
}
.writing-fullscreen:not([open]){display:none}
.writing-fullscreen::backdrop{background:#101010}
.writing-fullscreen>.viewer-media{display:block;width:100%;margin:0;padding:0}
.writing-fullscreen .viewer-media img{display:block;width:100%;height:auto;max-width:none;max-height:none;margin:0;object-fit:contain}
.writing-fullscreen>button{position:fixed;top:16px;right:22px;z-index:2;border:1px solid #a99a7d;background:#101010ed;color:#e5d7bc;padding:12px 18px;font:14px 'Courier New',monospace;cursor:pointer;box-shadow:0 3px 16px #0006}
.writing-fullscreen>button:hover{background:#29251e}
.writing-fullscreen>button:focus-visible{outline:2px solid #e5d7bc;outline-offset:3px}
.writing-fullscreen>p{display:none}
@media(max-width:600px){.writing-fullscreen>button{top:10px;right:10px;padding:10px 12px;font-size:12px}}

/* Portfolio is a reading page inside the shared website shell. */
#portfolioReader {padding:24px 32px 16px;color:#d6cbb6;}
#portfolioReader[hidden] {display:none;}
.portfolio-heading {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;}
.portfolio-heading h1 {font:normal 36px 'EB Garamond',Georgia,serif;margin:6px 0 0;}
.portfolio-heading .submission-button {flex-shrink:0;}
.portfolio-document {height:710px;min-height:400px;border:1px solid #514b40;background:#191919;}
.portfolio-document iframe {display:block;width:100%;height:100%;border:0;}
.portfolio-help {font-size:13px;line-height:1.6;color:#b5aa94;margin:12px 0 0;}
.portfolio-help a {color:#e1d2b6;text-underline-offset:3px;}
@media(max-width:860px){
 #portfolioReader {padding:18px 12px;}
 .portfolio-heading {gap:12px;}
 .portfolio-heading h1 {font-size:30px;}
 .portfolio-heading .submission-button {font-size:12px;padding:10px;}
 .portfolio-document {height:72dvh;min-height:360px;}
 .portfolio-help {font-size:12px;}
}

/* Custom portfolio folio: the same divided strips and warm archival ink. */
#portfolioReader .portfolio-document {height:auto;min-height:0;padding:6px;background:linear-gradient(135deg,#1b1a17,#101010 50%);box-shadow:0 0 0 4px #111,0 0 0 5px #343128;}
.folio-toolbar {display:flex;align-items:stretch;border:1px solid #494437;background:#131310;min-height:48px;gap:0;}
.folio-toolbar button,.folio-position {border:0;border-right:1px solid #494437;border-radius:0;padding:12px 16px;background:transparent;color:#d6cbb6;font:12px 'Courier New',monospace;letter-spacing:.04em;}
.folio-toolbar button {cursor:pointer;}
.folio-toolbar button:hover:not(:disabled) {background:#302c23;color:#fff2d4;}
.folio-toolbar button:active:not(:disabled) {background:#494131;}
.folio-toolbar button:disabled {opacity:.3;cursor:default;}
.folio-toolbar :focus-visible,.folio-viewport:focus-visible {outline:1px solid #e0d2b6;outline-offset:-3px;}
.folio-position {display:flex;align-items:center;gap:8px;}
.folio-label {font-size:10px;color:#9c927e;}
.folio-position select {font:inherit;color:#e0d2b6;background:#171612;border:0;padding:4px;cursor:pointer;}
.folio-spacer {flex:1;}
.folio-zoom {align-self:center;min-width:50px;text-align:center;font:12px 'Courier New',monospace;}
.folio-viewport {height:660px;overflow:auto;overscroll-behavior:contain;background:repeating-linear-gradient(0deg,transparent,transparent 27px,#ffffff03 28px),#0b0b0a;scrollbar-width:thin;scrollbar-color:#655b48 #101010;}
.folio-sheet {width:100%;margin:0;min-height:100%;padding:20px;box-sizing:border-box;}
.folio-sheet img {display:block;width:100%;height:auto;box-shadow:0 8px 25px #0009;transition:opacity .15s;}
.folio-footer {display:flex;justify-content:space-between;gap:12px;padding:14px 12px 8px;font:10px 'Courier New',monospace;color:#aaa08a;letter-spacing:.08em;border-top:1px solid #494437;}
@media(max-width:860px){
 .folio-toolbar {flex-wrap:wrap;min-height:44px;}
 .folio-toolbar button,.folio-position {padding:12px 9px;font-size:11px;}
 .folio-spacer {display:none;}
 .folio-viewport {height:62dvh;min-height:280px;}
 .folio-sheet {padding:8px;}
 .folio-label {display:none;}
 .folio-footer {font-size:9px;letter-spacing:0;}
}

/* Continuous folio: page proportions stay fixed while the column scrolls. */
.folio-stack {width:100%;}
.folio-stack .folio-sheet {min-height:0;padding-bottom:0;}
.folio-sheet figcaption {padding:14px 0 18px;border-bottom:1px solid #494437;font:10px 'Courier New',monospace;letter-spacing:.08em;color:#aaa08a;}
.folio-stack .folio-sheet:last-child figcaption {border-bottom:0;}
@media(max-width:500px){.folio-position {font-size:9px;letter-spacing:0;}}

/* A clear invitation contained within the existing journal button. */
.journal-invitation #openEntry {
 border-color:#ead9ae;
 animation:journal-button-invitation 1.65s ease-in-out 12;
}
.journal-invitation #openEntry span {
 display:inline-block;
 color:#fff0c9;
 animation:journal-arrow-invitation 1.65s ease-in-out 12;
}
@keyframes journal-button-invitation {
  0%,100% {background-color:#242117;color:#ead9ae;box-shadow:0 0 0 1px #ddc58a66,0 0 8px #ddc58a33;}
  50% {background-color:#d8c392;color:#18160f;border-color:#fff0c9;box-shadow:0 0 0 2px #ead9ae99,0 0 20px #ddc58a77;}
}
@keyframes journal-arrow-invitation {
  0%,100% {transform:translateX(0);color:#fff0c9;}
  50% {transform:translateX(4px);color:#18160f;}
}
@media(prefers-reduced-motion:reduce){
 .journal-invitation #openEntry {animation:none;background:#d8c392;color:#18160f;border-color:#fff0c9;box-shadow:0 0 0 2px #ead9ae66;}
 .journal-invitation #openEntry span {animation:none;color:#18160f;}
}

/* Small directional cue above the opening control, with no overlay panel. */
.journal-invitation #openEntry::before {
 content:'↓';position:absolute;left:50%;bottom:calc(100% + 5px);
 color:#f0dfb4;font:24px/1 'Courier New',monospace;
 text-shadow:0 1px 3px #000,0 0 8px #000;
 pointer-events:none;transform:translate(-50%,-5px);
 animation:journal-pointer-bounce 1.15s ease-in-out infinite;
}
@keyframes journal-pointer-bounce {
  0%,100% {transform:translate(-50%,-5px);}
  50% {transform:translate(-50%,0);}
}
@media(prefers-reduced-motion:reduce){
 .journal-invitation #openEntry::before {animation:none;transform:translate(-50%,0);}
}

/* Bound each profile region to its grid cell, so long text cannot cross dividers. */
#aboutSection .panel.profile {display:grid;grid-template-rows:44px minmax(0,1.75fr) minmax(0,1fr);}
#aboutSection .profile-main {height:auto;min-height:0;grid-template-columns:minmax(0,46fr) minmax(0,54fr);}
#aboutSection .profile-bottom {height:auto;min-height:0;grid-template-columns:minmax(0,61fr) minmax(0,39fr);}
#aboutSection .identity,#aboutSection .biography,#aboutSection .projects,#aboutSection .inquiries {min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#514b40 #101010;}
#aboutSection .identity {padding-top:10px;padding-bottom:16px;}
#aboutSection .identity dl {grid-template-columns:68px minmax(0,1fr);}
#aboutSection .identity dd {overflow-wrap:anywhere;}
#aboutSection .projects,#aboutSection .inquiries {padding-top:15px;padding-bottom:12px;}
#aboutSection .practice-body,#aboutSection #practiceText {min-height:0;min-width:0;}
#aboutSection .training-label {font:11px/1.5 'Courier New',monospace;text-transform:uppercase;letter-spacing:.03em;color:#d6c9ac;margin:18px 0 8px;padding-top:12px;border-top:1px solid #6d624b66;}
#aboutSection .training-label:first-of-type {margin-top:0;}
#aboutSection .identity::-webkit-scrollbar {width:6px;}
#aboutSection .identity::-webkit-scrollbar-track {background:#101010;}
#aboutSection .identity::-webkit-scrollbar-thumb {background:#514b40;border-radius:3px;}

#aboutSection .profile-direction {display:block;color:#9c927e;font-size:10px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;}

/* Mobile masthead: one compact identity row and one readable navigation strip. */
@media(max-width:860px){
 body.submission-build .rail {
  position:relative!important;top:auto!important;display:flex!important;
  flex-direction:column!important;align-items:stretch!important;
  width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  padding:0!important;overflow:visible!important;border:0!important;
  background:#10100f!important;
 }
 body.submission-build .rail .brand {
  display:flex!important;align-items:center;justify-content:space-between;gap:16px;
  width:100%!important;height:58px!important;min-height:58px!important;
  padding:12px 18px!important;margin:0!important;box-sizing:border-box;
  border:0!important;border-bottom:1px solid #39362e!important;background:transparent!important;
 }
 body.submission-build .brand-mark {display:block!important;margin:0!important;font-size:19px!important;letter-spacing:.22em!important;line-height:1!important;color:#e0d5bd;white-space:nowrap;}
 body.submission-build .brand>span:last-child:not(.brand-mark) {display:block!important;position:static!important;font:8px/1.5 'Courier New',monospace;letter-spacing:.1em;text-align:right;color:#9c927e;}
 body.submission-build .rail .rail-nav {
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
  width:100%;flex:none!important;gap:0!important;padding:0 10px!important;margin:0!important;
  box-sizing:border-box;border:0!important;border-bottom:1px solid #39362e!important;
 }
 body.submission-build .rail-nav a,body.submission-build .rail-nav a.active {
  display:flex!important;align-items:center;justify-content:center;flex-direction:row!important;
  height:44px!important;min-height:44px!important;padding:0 4px!important;gap:0!important;margin:0!important;
  font:11px/1 'Courier New',monospace!important;letter-spacing:.025em!important;text-transform:uppercase;
  color:#aaa291!important;background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;overflow:visible!important;
 }
 body.submission-build .rail-nav a::before,body.submission-build .rail-nav a::after {display:none!important;}
 body.submission-build .rail-nav a.active {color:#f0dfb9!important;box-shadow:inset 0 -2px #c3af7c!important;}
 body.submission-build .rail-nav a:hover {color:#f0dfb9!important;background:#ffffff05!important;}
 body.submission-build .rail-nav a:focus-visible {outline:1px solid #d6c39a;outline-offset:-4px;}
 body.submission-build .rail .signal,body.submission-build .rail-note,body.submission-build .rail-glyphs {display:none!important;}
 body.submission-build .workspace>.topbar {display:none!important;}
 body.submission-build .gallery-panel {padding-top:10px!important;padding-inline:12px!important;}
}
@media(max-width:380px){
 body.submission-build .rail .brand {padding-inline:14px!important;}
 body.submission-build .rail-nav a,body.submission-build .rail-nav a.active {font-size:10px!important;letter-spacing:0!important;}
 body.submission-build .rail .rail-nav {padding-inline:6px!important;}
}

.journal-asset-window .asset-reference {align-self:start;width:100%;margin:0;padding:20px;box-sizing:border-box;}
.journal-asset-window .asset-reference img {width:100%;height:auto;max-height:60vh;object-fit:contain;}
.journal-asset-window .asset-reference figcaption {margin-top:18px;border-top:1px solid #514b40;padding:16px 0 0;color:#d0c6b5;font:14px/1.7 'Courier New',monospace;}
@media(max-width:600px){.journal-asset-window .asset-reference {padding:12px;}.journal-asset-window .asset-reference figcaption {font-size:13px;}}

/* File-format specimens replace tiny prose and generic placeholder cards. */
.assets-module .asset-swatch {background:radial-gradient(ellipse at 50% 40%,#3a352744,transparent 72%),repeating-linear-gradient(0deg,transparent 0 13px,#d7c69a06 13px 14px),#151511;}
.assets-module .asset-type-thumbnail {display:block;width:100%;height:100%;padding:5px;box-sizing:border-box;color:#c7b997;}
.asset-type-thumbnail .type-registration {stroke:#8d8062;stroke-width:.6;opacity:.65;}
.asset-type-thumbnail .type-shadow {fill:#0005;stroke:#655b46;stroke-width:.7;}
.asset-type-thumbnail .type-sheet {fill:#201f19;stroke:currentColor;stroke-width:1.1;stroke-linejoin:round;}
.asset-type-thumbnail .type-glyph {fill:none;stroke-width:1;}
.asset-type-thumbnail .type-rule {opacity:.45;stroke-width:.6;}
.asset-type-thumbnail text {font:bold 11px 'Courier New',monospace;letter-spacing:2px;fill:currentColor;stroke:none;}
.assets-module .asset-card.selected .asset-type-thumbnail {color:#f0dfb7;}
.assets-module .asset-card:hover .type-sheet {fill:#302c21;}

/* The asset preview is portalled outside the journal; theme its own scroll surfaces. */
.journal-asset-window,.journal-asset-window .asset-preview-body,.journal-asset-window pre,.journal-asset-window .asset-reference {
 scrollbar-width:thin;scrollbar-color:#655b48 #101010;color-scheme:dark;
}
.journal-asset-window::-webkit-scrollbar,
.journal-asset-window .asset-preview-body::-webkit-scrollbar,
.journal-asset-window pre::-webkit-scrollbar,
.journal-asset-window .asset-reference::-webkit-scrollbar {width:6px;height:6px;}
.journal-asset-window::-webkit-scrollbar-track,
.journal-asset-window .asset-preview-body::-webkit-scrollbar-track,
.journal-asset-window pre::-webkit-scrollbar-track,
.journal-asset-window .asset-reference::-webkit-scrollbar-track {background:#101010;}
.journal-asset-window::-webkit-scrollbar-thumb,
.journal-asset-window .asset-preview-body::-webkit-scrollbar-thumb,
.journal-asset-window pre::-webkit-scrollbar-thumb,
.journal-asset-window .asset-reference::-webkit-scrollbar-thumb {background:#655b48;border-radius:3px;}
.journal-asset-window::-webkit-scrollbar-thumb:hover,
.journal-asset-window .asset-preview-body::-webkit-scrollbar-thumb:hover,
.journal-asset-window pre::-webkit-scrollbar-thumb:hover,
.journal-asset-window .asset-reference::-webkit-scrollbar-thumb:hover {background:#918168;}
.journal-asset-window::-webkit-scrollbar-corner,
.journal-asset-window .asset-preview-body::-webkit-scrollbar-corner,
.journal-asset-window pre::-webkit-scrollbar-corner,
.journal-asset-window .asset-reference::-webkit-scrollbar-corner {background:#101010;}

/* Ongoing projects use the shared journal-cover proportions and materials. */
#ongoingListing .ongoing-journal-card {width:min(100%,454px);padding-top:10px;}
#ongoingListing .archive-cover .rib-dossier {width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:454/548;transform:none!important;}
#ongoingListing .archive-card-caption {margin-top:20px;}
#ongoingListing .journal-14 .j-title {font-size:7.6cqw;}
#ongoingListing .journal-14 .j-intro {font-size:2.8cqw;line-height:1.3;}
#ongoingListing .journal-14 .j-trace p {font-size:1.8cqw;}
#ongoingListing .journal-14 .j-ledger dd {font-size:1.7cqw;}
#ongoingListing .rib-open:hover {background:#302c22;border-color:#e1cea4;}
@media(max-width:860px){#ongoingListing .ongoing-journal-card {margin-inline:auto;}}

#lettersSubmission {margin-top:24px;}
#lettersSubmission [aria-disabled="true"] {opacity:.6;cursor:default;}
#lettersSubmission .letters-form-note {font:11px/1.5 'Courier New',monospace;color:#a59c8d;margin-top:8px;}

.letters-poster figure {margin:14px 0 0;}
.letters-poster button {display:block;width:100%;padding:0;border:1px solid #81735b;background:#111;cursor:zoom-in;}
.letters-poster img {display:block;width:100%;height:auto;}
.letters-poster button:hover {border-color:#e0cfaa;}
.letters-poster button:focus-visible {outline:2px solid #e0cfaa;outline-offset:4px;}
.letters-poster figcaption {display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:12px;font:10px/1.5 'Courier New',monospace;color:#b7ab93;}

/* Poster-derived crops: the gesture of contact becomes the cover evidence. */
#ongoingListing .journal-14 .j-main {height:38%;}
#ongoingListing .journal-14 .j-specimen::before {
 background-image:url('./public/letters-to-the-machine/open-call-poster.png');
 width:100%;height:100%;aspect-ratio:auto;inset:0;transform:none;
 background-size:186% auto;background-position:60% 70%;
 filter:grayscale(.8) sepia(.15) brightness(.8) contrast(1.08);
}
#ongoingListing .journal-14 .j-detail-a .j-specimen::before {background-size:360% auto;background-position:42% 67%;}
#ongoingListing .journal-14 .j-detail-b .j-specimen::before {background-size:320% auto;background-position:78% 72%;}
#ongoingListing .journal-14 .j-backing {height:43%;}
#ongoingListing .journal-14 .j-film {height:32%;}
#ongoingListing .journal-14 .j-trace {top:75%;left:0;width:100%;height:8%;padding:0 1cqw;}
#ongoingListing .journal-14 .j-trace p {font-size:2.3cqw;}
