/* Four public hubs. Shared content geometry; specialized Studio stays an editor. */
:root{--hub-measure:1180px;--hub-reading:760px;--hub-line:var(--c-surface-3);--hub-panel:var(--c-surface-2);--hub-ground:var(--c-ink-2);--hub-ink:var(--c-paper);--hub-muted:var(--c-muted);--hub-gold:var(--c-gold-mid);--hub-columns:3;--hub-dialog-width:1100px;--hub-dialog-height:90dvh;--hub-hero-size:clamp(2.2rem,5vw,4.5rem)}
.hub-page{max-width:var(--hub-measure);margin:auto;padding:var(--space-40) var(--space-24) var(--space-64);color:var(--hub-ink);font:var(--text-16)/1.65 var(--gs-font-body,Arial,sans-serif)}
.hub-page h1,.hub-page h2,.hub-section h2,.hub-collection h2{font-family:var(--gs-font-display,Georgia,serif);font-weight:400;line-height:1.15;color:var(--hub-ink)}
.hub-hero{max-width:var(--hub-reading);padding-bottom:calc(var(--space-16) * 2)}.hub-hero h1{font-size:var(--hub-hero-size);margin:var(--space-16) 0 var(--space-24)}
.hub-hero p,.hub-heading p{color:var(--hub-muted);max-width:var(--hub-reading)}
.hub-kicker{font:var(--text-11)/1.5 var(--gs-font-data,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--hub-gold)}
.hub-index,.hub-actions{display:flex;flex-wrap:wrap;gap:var(--space-8) var(--space-16);align-items:center}
.hub-index{padding:var(--space-16) 0;border-block:1px solid var(--hub-line);margin-bottom:calc(var(--space-16) * 2)}
.hub-index a,.hub-actions a,.hub-actions button{padding:var(--space-8) var(--space-12);min-height:var(--space-40);color:var(--hub-gold);border:1px solid var(--hub-line);border-radius:var(--radius-2);text-decoration:none;background:var(--hub-panel);font:inherit}
.hub-index a:hover,.hub-actions a:hover{border-color:var(--hub-gold)}
.hub-section{padding:var(--space-40) 0;border-top:1px solid var(--hub-line);scroll-margin-top:var(--space-64)}
.hub-section h2{font-size:clamp(var(--text-28),3vw,var(--text-40));margin:var(--space-12) 0 var(--space-16)}
.hub-columns{display:grid;grid-template-columns:repeat(var(--hub-columns),minmax(0,1fr));gap:var(--space-24);margin-top:var(--space-24)}
.hub-columns article{padding-left:var(--space-16);border-left:1px solid var(--hub-line)}
.hub-columns h3{font-size:var(--text-16);margin-top:0}.hub-columns p{color:var(--hub-muted)}
.hub-page a,.hub-section a{color:var(--hub-gold);text-underline-offset:.2em;overflow-wrap:anywhere}
.hub-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:var(--space-24) 0;border-block:1px solid var(--hub-line)}
.hub-flow li{padding:var(--space-24) var(--space-16);border-right:1px solid var(--hub-line)}.hub-flow li:last-child{border:0}.hub-flow b{font:var(--text-28) var(--gs-font-data,monospace);color:var(--hub-gold)}.hub-flow p{color:var(--hub-muted)}
.hub-note{font-size:var(--text-13);color:var(--hub-muted);max-width:var(--hub-reading)}
.hub-records{display:grid;gap:var(--space-12);margin:var(--space-24) 0}.hub-record{padding:var(--space-16) var(--space-24);border-left:2px solid var(--hub-line);background:var(--hub-panel);overflow-wrap:anywhere}.hub-record h3{margin:0 0 var(--space-8);font-size:var(--text-20)}.hub-record p{margin:var(--space-8) 0;color:var(--hub-muted)}.hub-record small{color:var(--hub-gold);font:var(--text-12) var(--gs-font-data,monospace)}
.hub-section details{padding:var(--space-16) 0;border-bottom:1px solid var(--hub-line)}.hub-section summary{cursor:pointer;color:var(--hub-ink);font-size:var(--text-16);min-height:calc(var(--space-16) * 2)}
.hub-search{display:grid;gap:var(--space-8);max-width:var(--hub-reading)}.hub-search input,.hub-section input,.hub-section select,.hub-section textarea{font:inherit;max-width:100%;background:var(--hub-ground);color:var(--hub-ink);border:1px solid var(--hub-line);padding:var(--space-12);border-radius:var(--radius-2);min-width:0}.hub-search input{width:100%}.hub-section textarea{width:100%;min-height:var(--space-64)}.hub-section form{display:grid;gap:var(--space-16);max-width:var(--hub-reading)}.hub-section form label{display:grid;gap:var(--space-8)}.hub-section form button,.hub-retry{font:inherit;min-height:var(--space-40);padding:var(--space-8) var(--space-16);border:1px solid var(--hub-gold);background:var(--hub-panel);color:var(--hub-gold);cursor:pointer}.hub-section pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--text-12)}
.hub-status dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-12)}.hub-status dt{color:var(--hub-muted)}.hub-status dd{margin:0;font-size:var(--text-20);color:var(--hub-ink)}.hub-status time{font-family:var(--gs-font-data,monospace)}
.hub-next{margin-top:var(--space-40);padding:var(--space-24);border:1px solid var(--hub-line)}
.pillar-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-16);border-top:1px solid var(--hub-line);padding-top:var(--space-24);margin-top:var(--space-24)}.pillar-map a{display:flex;flex-direction:column;gap:var(--space-8);text-decoration:none;color:var(--hub-ink)}.pillar-map span{font:var(--text-11) var(--gs-font-data,monospace);color:var(--hub-gold);text-transform:uppercase;letter-spacing:.12em}.pillar-map strong{font-size:var(--text-16)}.pillar-map small{font-size:var(--text-13);line-height:1.5;color:var(--hub-muted)}
.hub-collection{width:min(calc(100% - var(--space-24)),var(--hub-dialog-width));max-height:var(--hub-dialog-height);padding:var(--space-24);border:1px solid var(--hub-line);border-radius:var(--radius-8);color:var(--hub-ink);background:var(--hub-ground);overflow:auto}.hub-collection::backdrop{background:rgba(0,0,0,.78)}.hub-collection-header{display:flex;align-items:start;justify-content:space-between;gap:var(--space-16);margin-bottom:var(--space-16)}.hub-collection-header h2{font-size:var(--text-28);margin:var(--space-8) 0}.hub-collection-header button{flex-shrink:0}.hub-gallery{margin-top:var(--space-24)}.hub-gallery .at-gallery-top{padding:0}.hub-gallery .at-art-grid{margin-top:var(--space-24)}.hub-collection .at-art-card{min-width:0}.hub-gallery img{max-width:100%}.hub-gallery .at-back{display:none}.hub-gallery .at-gallery-top h2{font-size:var(--text-28)}
:is(.hub-page,.hub-collection,.hub-section,.pillar-map) :focus-visible{outline:2px solid var(--hub-gold);outline-offset:3px}
@media(max-width:760px){.hub-columns,.pillar-map{grid-template-columns:1fr}.hub-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-flow li{border-bottom:1px solid var(--hub-line)}.hub-page{padding:var(--space-24) var(--space-16) var(--space-40)}.hub-section{padding:calc(var(--space-16) * 2) 0}.hub-collection{padding:var(--space-16)}.hub-collection-header{flex-direction:column}.hub-record{padding:var(--space-16)}.hub-status dl{grid-template-columns:1fr}.hub-index{gap:var(--space-8)}.hub-index a{font-size:var(--text-13)}}
@media(prefers-reduced-motion:reduce){.hub-page,.hub-collection{scroll-behavior:auto}}

.hub-art-close{position:sticky;top:0;z-index:2;display:block;margin:var(--space-8) var(--space-8) var(--space-8) auto;background:var(--hub-ground);color:var(--hub-gold);min-height:var(--space-40)}

@media(max-width:760px){body .hub-page{padding-inline:var(--space-16)!important}.journey-nav{gap:var(--space-8);padding:var(--space-8) var(--space-12)}.journey-nav>a:not(:first-child){display:none}.journey-nav [data-open-collection]{margin-left:auto}.journey-nav .studio-kinds{width:100%;flex-wrap:nowrap;overflow:auto}.journey{padding:var(--space-12)}.journey-copy h1{font-size:var(--text-20)}.journey-note{margin-bottom:0}.ws-workspace{min-height:400px}body.studio{height:auto;min-height:100dvh;overflow:auto}}

@media(max-width:760px){.journey-actions,.journey-note{display:none}.journey-copy p{font-size:var(--text-13);line-height:1.5;margin-bottom:0}.journey-nav .gs-telos-btn{font-size:var(--text-11);padding:var(--space-8)}.hub-records,#deck{display:grid;gap:var(--space-12)}}

/* Size the editor from the space left by its native controls. Full-page capture and
   mobile scrolling must not grow a canvas by repeatedly changing its viewport. */
:root{--hub-editor-height:clamp(600px,calc(100dvh - 240px),1000px);--hub-editor-mobile-height:640px}
body.studio{display:flex;flex-direction:column}
body.studio .ws-workspace{flex:none;min-height:0;height:var(--hub-editor-height);grid-template-rows:minmax(0,1fr);overflow:hidden}
@media(max-width:760px){body.studio .ws-workspace{height:var(--hub-editor-mobile-height);min-height:400px;flex:none}}

/* Examples help shape a draft; they never grade intent or start execution. */
.ai-intent-sparks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-8);margin-top:var(--space-12)}
.ai-intent-sparks .ai-intent-spark{padding:var(--space-8) var(--space-12);min-height:var(--space-40);font-size:var(--text-12);text-align:left;color:var(--c-paper);background:var(--c-surface);border:1px solid var(--c-surface-3);border-radius:var(--radius-2);white-space:normal}
.ai-intent-sparks .ai-intent-spark:hover{border-color:var(--c-gold-mid)}
