/* Paper Studio: an entrance, then one two-pane workspace. */
.studio-agent [hidden],.studio-shell > [hidden] { display:none !important; }
.studio-ai { --studio-header-height:72px; --studio-sheet:#FBF9F4; --studio-brass:#785B30; --studio-brass-rule:#A98B58; }
.studio-shell { box-sizing:border-box; width:100%; max-width:1320px; margin-inline:auto; padding-inline:clamp(20px,3vw,40px); font-family:var(--vk-sans); scroll-margin-top:var(--studio-header-height); }
.studio-shell .wrap { width:auto; max-width:none; padding-inline:0; margin-inline:0; }
.studio-tabs { display:none; }

/* Entrance */
.studio-ai main.studio-opening .studio-shell { display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); column-gap:clamp(32px,5vw,72px); align-items:end; padding-block:clamp(40px,7vh,84px) clamp(32px,5vh,56px); }
.studio-ai main.studio-opening .studio-shell::before { content:""; grid-column:1 / -1; height:2px; margin-bottom:14px; background:var(--studio-brass-rule); }
.studio-ai .t-hero { padding:0; background:none; border:0; }
.studio-ai .t-hero__grid { display:block; }
.studio-ai main:not(.studio-opening) .t-hero { display:none; }
.studio-identity { display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; margin-bottom:20px; font:400 13px/1.4 var(--vk-sans); color:var(--vk-ink-700); }
.studio-identity strong { color:var(--vk-ink-900); font-weight:600; }
.studio-identity span { border-left:1px solid var(--vk-rule); padding-left:12px; }
.studio-ai .t-hero h1 { max-width:none; margin:0; font:500 clamp(40px,4.3vw,60px)/1.04 var(--vk-sans); letter-spacing:-.035em; color:var(--vk-ink-900); }
.studio-ai .t-hero p { max-width:34ch; margin:16px 0 0; font:400 18px/1.45 var(--vk-sans); color:var(--vk-ink-700); }
.studio-opening .studio-agent { display:block; height:auto; min-height:0; margin:0; border:0; background:none; animation:none; }
.studio-opening .studio-conversation { display:block; padding:0; border:0; }
.studio-opening .studio-workspace,.studio-opening .studio-messages,.studio-opening .studio-tabs,.studio-opening .studio-secondary-help,.studio-opening .studio-conversation-title { display:none; }

/* Composer: one quiet surface with the action inside it. */
.studio-composer { flex-shrink:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 16px; align-items:end; padding:14px 14px 14px 18px; border:1px solid var(--vk-control-border); background:var(--studio-sheet); }
.studio-composer:focus-within { border-color:var(--vk-pacific-800); outline:1px solid var(--vk-pacific-800); }
.studio-composer label { grid-column:1 / -1; font:500 13px/1.4 var(--vk-sans); color:var(--vk-ink-700); }
.studio-composer textarea { display:block; grid-column:1; box-sizing:border-box; width:100%; min-height:56px; max-height:160px; border:0; padding:4px 0 0; resize:none; background:transparent; font:400 17px/1.5 var(--vk-sans); color:var(--vk-ink-900); }
.studio-composer textarea:focus { outline:none; box-shadow:none; }
.studio-composer textarea::placeholder { color:var(--vk-ink-500); opacity:1; }
.studio-composer-actions { display:contents; }
.studio-composer-actions .btn { grid-column:2; grid-row:2; min-width:96px; min-height:46px; white-space:nowrap; }
.studio-opening .studio-composer-actions .btn { min-width:148px; }
.studio-status { grid-column:1 / -1; grid-row:3; margin:0; font:400 13px/1.5 var(--vk-sans); color:var(--vk-pacific-800); }
.studio-status:empty { display:none; }
.studio-retry { font:400 13px/1.5 var(--vk-sans); color:var(--vk-pacific-800); background:none; border:0; text-decoration:underline; text-underline-offset:3px; padding:8px 4px; min-height:44px; cursor:pointer; }

/* Example requests */
.studio-examples { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:clamp(28px,5vh,48px); border:1px solid var(--vk-rule); background:var(--studio-sheet); }
.studio-examples button { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:auto 1fr; gap:10px 16px; min-height:128px; padding:18px 20px; text-align:left; background:none; border:0; border-left:1px solid var(--vk-rule); color:var(--vk-ink-900); cursor:pointer; transition:background-color .12s; }
.studio-examples button:first-child { border-left:0; }
.studio-examples button:hover { background:var(--vk-surface-2); }
.studio-examples button:hover .studio-example-arrow { color:var(--vk-pacific-900); }
.studio-example-kind { grid-column:1; font:600 12px/1.4 var(--vk-sans); color:var(--studio-brass); }
.studio-example-text { grid-column:1 / -1; grid-row:2; font:400 16px/1.4 var(--vk-sans); }
.studio-example-arrow { grid-column:2; grid-row:1; font-size:18px; line-height:1; color:var(--vk-pacific-800); }
.studio-open-controls { grid-column:1 / -1; justify-self:start; margin-top:12px; padding:10px 0; min-height:44px; background:none; border:0; font:400 14px/1.4 var(--vk-sans); color:var(--vk-pacific-800); text-decoration:underline; text-underline-offset:4px; cursor:pointer; }
.studio-open-controls:hover { color:var(--vk-ink-900); }

/* Workspace */
.studio-agent { display:grid; grid-template-columns:minmax(0,43fr) minmax(0,57fr); height:calc(100dvh - var(--studio-header-height) - 24px); min-height:560px; margin-block:12px; border:1px solid var(--vk-rule); border-top:2px solid var(--vk-pacific-800); background:var(--vk-paper); }
.studio-conversation,.studio-workspace { min-width:0; min-height:0; }
.studio-conversation { display:flex; flex-direction:column; padding:0 20px 16px; border-right:1px solid var(--vk-rule); }
.studio-conversation-title,.studio-work-heading { display:flex; align-items:center; min-height:52px; box-sizing:border-box; border-bottom:1px solid var(--vk-rule-light); font:400 13px/1.4 var(--vk-sans); }
.studio-conversation-title { flex-shrink:0; justify-content:space-between; gap:16px; color:var(--vk-ink-700); }
.studio-conversation-title strong { color:var(--vk-ink-900); font-weight:600; font-size:15px; }
.studio-messages { flex:1; min-height:100px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; margin-right:-8px; padding:8px 8px 8px 0; }
.studio-message { padding:16px 0; border-top:1px solid var(--vk-rule-light); }
.studio-message:first-child { border-top:0; }
.studio-message h2 { margin:0 0 8px; font:600 13px/1.4 var(--vk-sans); color:var(--vk-pacific-800); }
.studio-message h3 { margin:16px 0 8px; font:600 16px/1.4 var(--vk-sans); letter-spacing:0; }
.studio-message p,.studio-message li { font:400 15px/1.6 var(--vk-sans); overflow-wrap:anywhere; }
.studio-message p { white-space:pre-wrap; margin:0 0 12px; }
.studio-message p:last-child { margin-bottom:0; }
.studio-message ul,.studio-message ol { padding-left:20px; margin:0 0 12px; }
.studio-message li { margin-bottom:6px; }
.studio-message code { font:inherit; font-variant-numeric:tabular-nums; }
.studio-message--user { padding:12px 16px; background:var(--vk-surface-2); border:0; margin-block:8px; }
.studio-message--user h2 { color:var(--vk-ink-700); }
.studio-message--unapplied { border-left:2px solid var(--studio-brass-rule); padding-left:16px; }
.studio-update-note { color:var(--vk-pacific-800); font-size:13px !important; }
.studio-agent[data-phase=working] .studio-composer label { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
.studio-agent[data-phase=working] .studio-composer { padding:10px 10px 10px 14px; }
.studio-agent[data-phase=working] .studio-composer textarea { min-height:46px; font-size:15px; grid-row:2; }

/* Assessment pane */
.studio-workspace { position:relative; overflow-y:auto; overscroll-behavior:contain; padding:0 28px 28px; background:var(--studio-sheet); container:studio-workspace / inline-size; }
.studio-work-heading { position:sticky; top:0; z-index:6; gap:4px; margin-inline:-28px; padding-inline:20px; background:var(--studio-sheet); }
.studio-pane-tab { min-height:44px; padding:8px; background:none; border:0; border-bottom:2px solid transparent; font:500 14px/1.4 var(--vk-sans); color:var(--vk-ink-700); cursor:pointer; }
.studio-pane-tab:hover { color:var(--vk-ink-900); }
.studio-pane-tab[aria-pressed=true] { color:var(--vk-pacific-800); border-bottom-color:var(--vk-pacific-800); }
.studio-work-controls { margin-left:auto; }
.studio-assessment-kicker { display:flex; flex-wrap:wrap; gap:4px 12px; align-items:baseline; min-height:20px; margin:20px 0 6px; font:400 13px/1.4 var(--vk-sans); color:var(--vk-ink-700); }
.studio-assessment-kicker strong { font-weight:600; color:var(--studio-brass); }
.studio-assessment-kicker span + span,.studio-assessment-kicker strong + span { padding-left:12px; border-left:1px solid var(--vk-rule); }
.studio-kicker-stage { color:var(--vk-pacific-800); }
.studio-workspace > h2 { margin:0 0 10px; font:400 15px/1.4 var(--vk-sans); letter-spacing:0; color:var(--vk-ink-700); overflow-wrap:anywhere; }
.studio-workspace[data-pane=controls] > h2,.studio-workspace[data-pane=controls] > .studio-brief,.studio-workspace[data-pane=controls] > .studio-assessment-kicker { display:none; }
.studio-workspace[data-pane=controls] > .studio-tools { margin-top:0; border-top:0; }
.studio-brief p,.studio-brief li,.studio-brief dt,.studio-brief dd { max-width:none; font:400 14px/1.5 var(--vk-sans); overflow-wrap:anywhere; }
.studio-brief p { margin:0 0 10px; }
.studio-brief .studio-problem { font-size:16px; margin-bottom:16px; }
.studio-reasoning { padding-bottom:12px; }
.studio-brief .studio-finding { margin:0 0 10px; font:500 23px/1.28 var(--vk-sans); letter-spacing:-.012em; color:var(--vk-ink-900); }
.studio-brief .studio-finding-detail { margin:0 0 4px; font-size:15px; color:var(--vk-ink-700); }
.studio-reasoning-detail > summary,.studio-reference-detail > summary,.studio-previous-assessment > summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font:500 13px/1.4 var(--vk-sans); color:var(--vk-pacific-800); list-style-position:inside; }
.studio-reasoning-detail > summary::before,.studio-reference-detail > summary::before,.studio-previous-assessment > summary::before { content:"+"; width:16px; flex-shrink:0; }
.studio-reasoning-detail[open] > summary::before,.studio-reference-detail[open] > summary::before,.studio-previous-assessment[open] > summary::before { content:"−"; }
.studio-reasoning-detail > summary::-webkit-details-marker,.studio-reference-detail > summary::-webkit-details-marker,.studio-previous-assessment > summary::-webkit-details-marker { display:none; }
.studio-reasoning-detail[open] { padding-bottom:12px; }
.studio-reasoning-detail h3 { font:500 15px/1.5 var(--vk-sans); margin:12px 0 6px; }
.studio-assessment-section { padding:12px 0 14px; border-top:1px solid var(--vk-rule-light); }
.studio-assessment-section h3 { margin:0 0 8px; font:600 13px/1.4 var(--vk-sans); color:var(--vk-ink-900); letter-spacing:0; }
.studio-brief dl { display:grid; grid-template-columns:minmax(120px,2fr) minmax(0,3fr); gap:0; margin:0; }
.studio-brief dt,.studio-brief dd { margin:0; padding:6px 0; border-top:1px solid var(--vk-rule-light); }
.studio-brief dt:first-of-type,.studio-brief dt:first-of-type + dd { border-top:0; padding-top:0; }
.studio-brief dt { padding-right:20px; color:var(--vk-ink-700); }
.studio-brief dd { color:var(--vk-ink-900); }
.studio-facts--assumed h3,.studio-facts--unresolved h3 { color:var(--studio-brass); }
.studio-facts--unresolved dt::before { content:""; display:inline-block; width:6px; height:6px; margin-right:8px; vertical-align:2px; border:1px solid var(--studio-brass); border-radius:50%; }
.studio-numbered { list-style:none; counter-reset:candidate; margin:0; padding:0; }
.studio-numbered li { counter-increment:candidate; display:grid; grid-template-columns:24px minmax(0,1fr); padding:6px 0; border-top:1px solid var(--vk-rule-light); font-weight:500 !important; color:var(--vk-ink-900); }
.studio-numbered li:first-child { border-top:0; padding-top:0; }
.studio-numbered li::before { content:counter(candidate); font-weight:400; font-variant-numeric:tabular-nums; color:var(--studio-brass); }
.studio-steps { list-style:none; margin:0; padding:0; }
.studio-steps li { padding:6px 0 6px 16px; border-left:1px solid var(--vk-pacific-800); }
.studio-steps li + li { margin-top:4px; }
.studio-brief .studio-consideration { margin:0; padding:6px 0; border-top:1px solid var(--vk-rule-light); }
.studio-brief .studio-consideration:first-of-type { border-top:0; padding-top:0; }
.studio-consideration strong { display:block; font-weight:600; color:var(--vk-ink-900); }
.studio-assessment-caption,.studio-range-limits { color:var(--vk-ink-700); font-size:12px !important; }
.studio-brief .studio-reference-checks { list-style:none; padding:0; margin:0; }
.studio-reference-checks li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 12px; padding:6px 0; border-top:1px solid var(--vk-rule-light); }
.studio-property-link { color:var(--vk-pacific-800); background:none; border:0; padding:0; text-decoration:underline; text-underline-offset:3px; font:inherit; text-align:left; cursor:pointer; min-height:44px; }
.studio-reference-checks strong { align-self:center; font-size:14px; font-weight:500; font-variant-numeric:tabular-nums; }
.studio-range-state,.studio-range-limits { grid-column:1 / -1; font-size:13px; }
.studio-reference-checks [data-status=outside] .studio-range-state,.studio-reference-checks [data-status=unknown] .studio-range-state { color:var(--studio-brass); }
.studio-reference-checks [data-status=typical] .studio-range-state { color:var(--vk-pacific-800); }
.studio-pending { font-size:14px !important; }
.studio-next { border-top:1px solid var(--vk-pacific-800); }
.studio-next h3 { color:var(--vk-pacific-800); }
.studio-brief .studio-next p { margin:0; font-size:15px; font-weight:500; color:var(--vk-ink-900); }
.studio-previous-assessment { border-top:1px solid var(--vk-rule-light); margin-top:12px; }
.studio-tools,.studio-manual-order { margin-top:8px; border-top:1px solid var(--vk-rule-light); }
.studio-tools[open] > summary { display:none; }
.studio-tools > summary,.studio-manual-order > summary { padding:10px 0; min-height:44px; box-sizing:border-box; cursor:pointer; font:500 14px/1.5 var(--vk-sans); color:var(--vk-pacific-800); }
.studio-tools #picker { margin:12px 0 24px; padding:16px; }
.studio-tools .t-step { margin-top:24px; }
.studio-tools .t-stepno { display:none; }
.studio-tools #sheet-title { font:500 20px/1.4 var(--vk-sans); }
.studio-tools #supply-assessment .t-assess__steps { grid-template-columns:1fr; }
.studio-tools #supply-assessment .t-assess__note { min-height:0; }
.studio-tools .t-dims-bar { display:flex; flex-wrap:wrap; }
.studio-tools .t-dims-bar input { max-width:120px; }
.studio-target-origin { display:block; font-size:11px; line-height:1.4; color:var(--vk-ink-700); }
.studio-manual-order #order-step { margin:0; border:0; }
.studio-manual-order .t-order { display:block; }
.studio-manual-order .field-row { grid-template-columns:1fr; }
.studio-secondary-help { max-width:1320px; margin:auto; padding-block:24px; }
.studio-ai .studio-secondary-help .wrap { width:auto; }
.studio-inquiry { padding:20px 0; margin-top:16px; border-top:1px solid var(--vk-rule); }
.studio-inquiry h2 { font:500 21px/1.3 var(--vk-sans); }
.studio-inquiry-summary { white-space:pre-wrap; overflow-wrap:anywhere; font:400 14px/1.5 var(--vk-sans); background:none; padding:0; border:0; }
.studio-inquiry .field-consent { margin:20px 0; font-size:14px; }
.studio-inquiry > p { font-size:14px; }
@media (prefers-reduced-motion:no-preference) {
 .studio-composer { transition:border-color .15s; }
 .studio-agent[data-phase=working] { animation:studio-reveal .2s ease-out; }
 @keyframes studio-reveal { from { opacity:0; } to { opacity:1; } }
}
@media (prefers-reduced-motion:reduce) { .studio-examples button { transition:none; } }

/* Use the existing compact property layout when the pane, rather than the
   browser, is narrow. The full-width manual table keeps its original layout. */
@container studio-workspace (max-width:900px) {
 .t-spec thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
 .t-spec .t-prop-row { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:0 var(--vk-space-3); padding:var(--vk-space-2) 0 var(--vk-space-3); border-top:1px solid var(--vk-rule-light); }
 .t-spec .t-prop-row > td { border:0; padding:0; background:none; }
 .t-spec .t-prop-cell,.t-spec .t-target { grid-column:1 / -1; width:auto; min-width:0; }
 .t-spec thead tr { display:block; }
 .t-spec .t-prop-row td.num:not(.t-target) { padding:var(--vk-space-1) 0; text-align:left; font-weight:500; color:var(--vk-ink-900); }
 .t-spec .t-prop-row td.num:not(.t-target)::before { content:attr(data-label); display:block; color:var(--vk-ink-500); font-size:12px; font-weight:400; }
 .t-spec .t-range-cell { white-space:normal; }
 .t-prop-group.is-open .t-prop-row { background:var(--vk-surface-2); position:static; }
 .t-edu[open] { padding:var(--vk-space-3) 0 var(--vk-space-5); }
 .t-reach { padding:var(--vk-space-4); }
 .studio-tools .pr-mill { grid-template-columns:minmax(0,1fr); }
 .studio-tools .pr-mill__side { display:contents; }
 .studio-tools .pr-mill .t-proc__lead { order:0; }
 .studio-tools .pr-mill__text { order:1; }
 .studio-tools .pr-mill__visual { order:2; }
}
@container studio-workspace (max-width:560px) {
 .studio-tools .pr-meters { grid-template-columns:minmax(0,1fr); }
}

@media(max-width:1180px) {
 .studio-workspace { padding-inline:20px; }
 .studio-work-heading { margin-inline:-20px; padding-inline:12px; }
}
@media(max-width:1023px) {
 .studio-shell { padding-inline:0; }
 .studio-ai main.studio-opening .studio-shell { display:block; padding:28px var(--vk-pad) 32px; }
 .studio-ai main.studio-opening .studio-shell::before { display:block; }
 .studio-ai .t-hero { padding-bottom:20px; }
 .studio-ai .t-hero h1 { font-size:clamp(36px,7vw,48px); }
 .studio-examples { grid-template-columns:minmax(0,1fr); margin-top:20px; }
 .studio-examples button { border-left:0; border-top:1px solid var(--vk-rule); min-height:88px; padding:14px 16px; }
 .studio-examples button:first-child { border-top:0; }
 .studio-tabs { position:sticky; top:var(--studio-header-height); z-index:8; display:flex; background:var(--vk-paper); border-bottom:1px solid var(--vk-rule); padding-inline:12px; }
 .studio-tabs button { flex:1; background:none; border:0; border-bottom:2px solid transparent; padding:12px; min-height:50px; font:500 15px/1.4 var(--vk-sans); color:var(--vk-ink-700); }
 .studio-tabs button[aria-selected=true] { border-color:var(--vk-pacific-800); color:var(--vk-pacific-800); }
 .studio-agent { display:block; height:auto; min-height:0; margin:0; border:0; background:none; scroll-margin-top:calc(var(--studio-header-height) + 52px); }
 .studio-conversation { height:calc(100dvh - var(--studio-header-height) - 52px); min-height:340px; padding:0 20px 12px; border:0; }
 .studio-conversation-title { display:none; }
 .studio-workspace { overflow:visible; padding:0 20px 28px; }
 .studio-work-heading { top:calc(var(--studio-header-height) + 51px); margin-inline:-20px; }
 .studio-agent[data-view=conversation] .studio-workspace,.studio-agent[data-view=workspace] .studio-conversation { display:none; }
 .studio-opening .studio-conversation { height:auto; min-height:0; padding:0; }
 .studio-composer textarea { font-size:16px; }
}
@media(max-width:480px) {
 .studio-composer { grid-template-columns:minmax(0,1fr); }
 .studio-composer-actions .btn { grid-column:1; grid-row:3; width:100%; }
 .studio-status { grid-row:4; }
 .studio-agent[data-phase=working] .studio-composer { grid-template-columns:minmax(0,1fr) auto; }
 .studio-agent[data-phase=working] .studio-composer-actions .btn { grid-column:2; grid-row:2; width:auto; }
 .studio-agent[data-phase=working] .studio-status { grid-row:3; }
 .studio-brief dl { grid-template-columns:minmax(0,1fr); }
 .studio-brief dt { padding-bottom:0; }
 .studio-brief dd { border-top:0; padding-top:2px; }
 .studio-brief dt:first-of-type + dd { padding-top:2px; }
 .studio-reference-checks li { grid-template-columns:minmax(0,1fr); }
 .studio-reference-checks strong { grid-column:1; }
 .studio-pane-tab { font-size:13px; }
 .studio-assessment-kicker span + span,.studio-assessment-kicker strong + span { padding-left:0; border-left:0; }
}
@media print { .studio-conversation,.studio-tabs,.studio-open-controls,.studio-work-heading { display:none !important; } .studio-agent { display:block !important; height:auto; border:0; } .studio-workspace { display:block !important; overflow:visible; border:0; padding:0; } }
