/* Typed detail surfaces only. The existing site canvas and viewer are shared. */
[data-detail-type] .detail-workbench { display:block; }
[data-detail-type] .detail-heading { margin-bottom:24px; }
[data-detail-type] .detail-heading .eyebrow { margin:0 0 9px; }
[data-detail-type] .visual-panel { padding:14px; }
[data-detail-type] .visual-stage { height:clamp(420px,65svh,820px); background:var(--pearl); }
[data-detail-type] .visual-stage:has([data-detail-pane="references"]:not([hidden])) { width:100%; min-width:0; height:auto; aspect-ratio:var(--detail-reference-ratio,1.6); min-height:240px; max-height:65svh; }
[data-detail-type="components"] .visual-stage { height:clamp(420px,60svh,720px); }
[data-detail-type] .visual-stage:has(:is([data-detail-pane="prompt"], [data-detail-pane="design"]):not([hidden])) { height:auto; display:block; }
[data-detail-type] [data-detail-pane][hidden] { display:none; }
[data-detail-type] .stage-caption { font-size:12px; padding:14px 6px 2px; }
[data-detail-type] .reference-controls { font-size:12px; }
[data-detail-type] .reference-tools { display:flex; gap:4px; flex-wrap:wrap; }
[data-detail-type] .reference-filmstrip { padding-top:14px; }
[data-detail-type] .reference-choice { display:grid; flex:0 0 94px; width:94px; max-width:none; gap:6px; padding:5px; text-align:center; font-size:11px; line-height:1.3; overflow:hidden; }
[data-detail-type] .reference-choice img { display:block; width:100%; height:62px; object-fit:contain; border-radius:8px; background:var(--pearl); }
[data-detail-type] .reference-choice span { padding-bottom:2px; }
[data-detail-type] .detail-visual-empty { display:grid; place-items:center; width:100%; height:100%; padding:28px; color:var(--muted); font-size:13px; text-align:center; }
[data-detail-type] .resource-panel { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:24px; padding:24px 28px; border-radius:var(--radius-stage); }
[data-detail-type] .resource-panel h2 { margin:4px 0 0; font-size:20px; }
[data-detail-type] .resource-panel p:last-child { max-width:66ch; margin:0; color:var(--muted); font-size:13px; line-height:1.7; }
[data-detail-type] .resource-panel--slices { display:block; }
[data-detail-type] .resource-panel--slices .icon-slice-notice { max-width:76ch; margin:12px 0 20px; color:var(--muted); font-size:13px; line-height:1.7; }
[data-detail-type] .icon-slice-group { margin-top:12px; }
[data-detail-type] .icon-slice-group summary { display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid var(--line); border-radius:14px; color:var(--ink); font-size:13px; font-weight:650; cursor:pointer; }
[data-detail-type] .icon-slice-group summary span { color:var(--muted); font-weight:400; }
[data-detail-type] .icon-slice-group[open] summary { margin-bottom:12px; background:var(--pearl); }
[data-detail-type] .icon-slice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
[data-detail-type] .icon-slice-card { min-width:0; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:rgba(255,255,255,.82); }
[data-detail-type] .icon-slice-card img { display:block; width:100%; height:200px; object-fit:scale-down; background:#f5f7f9; }
[data-detail-type] .icon-slice-card .resource-card-title { display:flex; align-items:center; flex-wrap:wrap; gap:6px 10px; padding:13px 15px; }
[data-detail-type] .icon-slice-card strong { font-size:13px; }
[data-detail-type] .icon-slice-card a { color:var(--blue-deep); font-size:12px; white-space:nowrap; }
[data-detail-type] .icon-slice-card small { color:var(--muted); font-size:11px; width:100%; }
[data-detail-type] .icon-slice-card .source-crop-frame { height:200px; display:flex; justify-content:center; align-items:center; padding:10px; background:var(--pearl); }
[data-detail-type] .source-crop-frame canvas { max-width:100%; max-height:100%; width:auto; height:auto; }
[data-detail-type] .palette-samples { padding:24px; }
[data-detail-type] .prompt-studio { display:block; margin-top:24px; padding:0 24px; }
[data-detail-type] .prompt-studio:not([open]) > :not(summary) { display:none; }
[data-detail-type] .prompt-studio summary { padding:21px 0; cursor:pointer; font-size:15px; font-weight:650; }
[data-detail-type] .prompt-studio summary small { margin-left:14px; font-size:12px; font-weight:400; color:var(--muted); }
[data-detail-type] .prompt-studio textarea { min-height:100px; margin-bottom:14px; }
[data-detail-type] .prompt-studio .generated-prompt { min-height:220px; }
[data-detail-type] .prompt-studio[open] { padding-bottom:20px; }
[data-detail-type] .prompt-studio > p { max-width:70ch; }
[data-detail-type] .palette-values { margin:28px 0; }
[data-detail-type] .palette-values-heading { display:flex; justify-content:space-between; gap:12px; align-items:baseline; margin-bottom:14px; }
[data-detail-type] .palette-values h2 { font-size:20px; margin:0; }
[data-detail-type] .palette-values p { font-size:12px; color:var(--muted); margin:0; }
[data-detail-type] .palette-value-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
[data-detail-type] .palette-value { min-width:0; padding:14px; text-align:left; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--glass); color:var(--ink); font:inherit; }
[data-detail-type] .palette-value-main { display:flex; align-items:center; gap:14px; min-height:60px; }
[data-detail-type] .palette-chip { background:var(--chip); width:52px; height:52px; border-radius:14px; flex:none; border:1px solid var(--line); }
[data-detail-type] .palette-value-main > span:not(.palette-chip) { display:grid; gap:5px; min-width:0; overflow-wrap:anywhere; }
[data-detail-type] .palette-value strong { font-size:14px; }
[data-detail-type] .palette-value small { font-size:11px; color:var(--muted); line-height:1.5; }
[data-detail-type] .palette-value-code { margin-left:auto; text-align:right; }
[data-detail-type] .palette-value code { font-size:14px; white-space:nowrap; color:var(--ink); }
[data-detail-type] .resource-actions { display:flex; align-items:center; justify-content:flex-end; gap:8px; border-top:1px solid var(--line); padding:10px 12px; }
[data-detail-type] .palette-value .resource-actions { padding:10px 0 0; margin-top:12px; }
.resource-action { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; min-width:40px; padding:8px 12px; border:1px solid var(--line); border-radius:12px; background:#fff; color:var(--ink); font:inherit; font-size:12px; font-weight:500; line-height:1.3; white-space:nowrap; cursor:pointer; }
.resource-action svg { flex:none; }
.resource-action[data-resource-action="copy"] span, .resource-action[data-resource-action="download"] span { display:none; }
.resource-action[data-resource-action="customize"] { color:var(--blue-deep); background:var(--pearl); }
.resource-action:hover { border-color:var(--blue); background:var(--pearl); }
.resource-action:disabled { opacity:.6; cursor:wait; }
.resource-customizer { box-sizing:border-box; width:min(760px,calc(100% - 32px)); max-height:86svh; overflow:auto; padding:26px; border:1px solid var(--line); border-radius:28px; background:#fbfdff; color:var(--ink); box-shadow:0 24px 80px #172c4c30; }
.resource-customizer::backdrop { background:#19325255; backdrop-filter:blur(5px); }
.resource-customizer-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.resource-customizer-heading h2 { margin:6px 0 0; font-size:22px; overflow-wrap:anywhere; }
.resource-customizer-heading small { color:var(--muted); font-size:12px; }
.resource-customizer-heading button { flex:none; }
.resource-customizer-preview { display:flex; align-items:center; justify-content:center; gap:20px; margin-top:20px; min-height:120px; padding:16px; border-radius:18px; background:var(--pearl); }
.resource-customizer-preview img { display:block; max-width:100%; max-height:150px; object-fit:contain; }
.resource-customizer-preview .palette-chip { display:block; width:84px; height:84px; border-radius:18px; background:var(--chip); border:1px solid var(--line); }
.resource-generation-comparison { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.resource-generation-comparison.has-result { grid-template-columns:repeat(2,minmax(0,1fr)); }
.resource-generation-comparison section { min-width:0; }
.resource-generation-comparison h3 { margin:20px 0 -8px; color:var(--muted); font-size:12px; font-weight:500; }
.resource-generation-result .resource-customizer-preview { background:#fff; border:1px solid var(--line); }
.resource-generation-result :is(code,strong,small) { display:block; overflow-wrap:anywhere; }
.resource-generation-result .palette-chip { flex:none; }
.resource-generation-model { margin:16px 0 8px; border:1px solid var(--line); border-radius:14px; padding:12px; }
.resource-generation-model summary { color:var(--muted); font-size:12px; cursor:pointer; overflow-wrap:anywhere; }
.resource-generation-model select { display:block; box-sizing:border-box; width:100%; min-height:42px; margin-top:8px; padding:8px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); }
.resource-generation-model a { margin-right:12px; font-size:12px; }
.resource-generation-progress { display:block; width:100%; height:6px; margin-top:16px; accent-color:var(--blue); }
.resource-generation-progress[hidden], .resource-generation-result[hidden], .resource-customizer-preview[hidden] { display:none; }
.resource-customizer-hint { color:var(--muted); font-size:12px; line-height:1.7; }
.resource-customizer label { display:block; margin:18px 0 14px; font-size:13px; font-weight:600; }
.resource-customizer textarea { display:block; box-sizing:border-box; width:100%; margin-top:8px; padding:12px; border:1px solid var(--line); border-radius:14px; background:#fff; color:var(--ink); font:inherit; font-size:13px; line-height:1.7; resize:vertical; }
.resource-customizer textarea[hidden], .resource-customizer-output-actions[hidden] { display:none; }
.resource-customizer-output-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.resource-customizer-status { min-height:18px; margin:12px 0; color:var(--blue-deep); font-size:12px; line-height:1.7; }
.resource-customizer :is(button,textarea):focus-visible { outline:2px solid var(--blue-deep); outline-offset:3px; }
.resource-customizer button:disabled { opacity:.6; cursor:not-allowed; }
.resource-customizer select:focus-visible { outline:2px solid var(--blue-deep); outline-offset:3px; }
@media (max-width:450px) {
  .resource-generation-comparison.has-result { grid-template-columns:minmax(0,1fr); }
  .resource-customizer-output-actions button, .resource-customizer-output-actions a { min-width:0; max-width:100%; }
}
.resource-feedback { position:fixed; z-index:1500; left:50%; bottom:24px; transform:translateX(-50%); max-width:calc(100% - 32px); width:max-content; box-sizing:border-box; margin:0; padding:12px 20px; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--ink); box-shadow:0 8px 32px #1e365326; font-size:13px; line-height:1.6; }
.resource-feedback[data-state="error"] { color:#a43d37; }
[data-detail-type] :is(button,summary,textarea):focus-visible { outline:2px solid var(--blue-deep); outline-offset:3px; }
[data-detail-type] .detail-notes { margin-top:36px; }
[data-detail-type] .prompt-panel { margin-top:22px; padding:26px; border-radius:var(--radius-stage); }
[data-detail-type] .visual-stage > .prompt-panel { box-sizing:border-box; width:100%; margin:0; }
[data-detail-type] .prompt-panel-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; }
[data-detail-type] .prompt-panel-heading :is(h2,h3) { margin:0; font-size:20px; }
[data-detail-type] .prompt-panel-heading p { margin:8px 0 0; font-size:12px; line-height:1.7; color:var(--muted); }
[data-detail-type] .prompt-copy-button { flex:none; white-space:nowrap; }
[data-detail-type] .prompt-copy-button svg, [data-detail-type] .detail-primary-actions svg { flex:none; }
[data-detail-type] .prompt-copy-button:disabled { opacity:.65; cursor:wait; }
[data-detail-type] .prompt-copy-status { min-height:18px; margin:10px 0 6px; font-size:12px; color:var(--blue-deep); }
[data-detail-type] .prompt-copy-status[data-state="error"] { color:#a43d37; }
[data-detail-type] .design-document-actions { display:flex; flex-wrap:wrap; flex:none; gap:10px; }
[data-detail-type] .design-document-actions :is(button,a) { gap:8px; white-space:nowrap; }
[data-detail-type] .design-document-actions :is(button:disabled,a[aria-disabled="true"]) { opacity:.6; cursor:not-allowed; }
[data-detail-type] .design-document-fallback { box-sizing:border-box; width:100%; min-height:140px; margin:8px 0 16px; padding:14px; border:1px solid var(--line); border-radius:var(--radius-card); background:#fff; color:var(--ink); resize:vertical; font:12px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace; }
[data-detail-type] .design-document-fallback[hidden] { display:none; }
[data-detail-type] .prompt-text, [data-detail-type] .prompt-source pre { margin:0; padding:20px; max-height:360px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; border:1px solid var(--line); border-radius:var(--radius-card); background:rgba(241,246,250,.8); color:var(--ink); font:12px/1.85 ui-monospace,SFMono-Regular,Menlo,monospace; scrollbar-width:thin; }
[data-detail-type] .prompt-text.is-expanded { max-height:none; }
[data-detail-type] .prompt-reading-actions { display:flex; align-items:center; gap:12px; margin-top:7px; }
[data-detail-type] .prompt-reading-actions .text-button { padding-inline:12px; min-height:36px; color:var(--blue-deep); font-size:12px; }
[data-detail-type] .prompt-reading-actions > span { color:var(--muted); font-size:11px; }
[data-detail-type] .prompt-usage { padding-top:18px; margin-top:10px; border-top:1px solid var(--line); }
[data-detail-type] .prompt-usage h3 { margin:0 0 7px; font-size:13px; }
[data-detail-type] .prompt-usage p { margin:0; color:var(--muted); font-size:12px; line-height:1.85; max-width:90ch; }
[data-detail-type] .prompt-source { margin-top:20px; border-top:1px solid var(--line); }
[data-detail-type] .prompt-source summary { padding:18px 0 0; font-size:13px; font-weight:600; cursor:pointer; }
[data-detail-type] .prompt-source summary span { margin-left:10px; font-size:11px; font-weight:400; color:var(--muted); }
[data-detail-type] .prompt-source pre { margin-top:14px; }
[data-detail-type] #prompt-fallback:not([hidden]) { display:block; width:100%; min-height:140px; margin:8px 0 16px; padding:14px; resize:vertical; font:12px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace; }
[data-detail-type] .private-refs { margin:0; }
.private-page [data-detail-type] .private-refs > .reference-viewport { width:100%; min-width:0; height:auto; aspect-ratio:var(--detail-reference-ratio,1.6); min-height:240px; max-height:65svh; border-radius:var(--radius-panel); }
.private-page [data-detail-type] .private-preview iframe { height:clamp(400px,60svh,720px); margin-top:0; }
.private-page [data-detail-type] .private-preview { min-width:0; }
.private-page [data-detail-type] .visual-stage:has([data-detail-pane="references"]:not([hidden])), .private-page [data-detail-type] .visual-stage:has([data-detail-pane="palette"]:not([hidden])) { display:block; height:auto; aspect-ratio:auto; max-height:none; }
.private-page [data-detail-type] .private-preview, .private-page [data-detail-type] .private-preview iframe { height:100%; }
.private-page [data-detail-type] .visual-stage > .palette-values { padding:20px; }
.private-page [data-detail-type] .private-prompt-fallback { width:100%; min-height:140px; margin-bottom:16px; padding:14px; resize:vertical; }
.private-page [data-detail-type] .private-preview-label { color:var(--muted); font-size:12px; }
@media(max-width:768px) {
  [data-detail-type] .resource-panel { display:block; }
  [data-detail-type] .resource-panel p:last-child { margin-top:12px; }
  [data-detail-type] .icon-slice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  [data-detail-type] .detail-heading { gap:18px; }
  [data-detail-type] .detail-heading h1 { font-size:28px; }
  [data-detail-type] .palette-values-heading { display:block; }
  [data-detail-type] .palette-values-heading p { margin-top:8px; }
  [data-detail-type] .stage-caption { align-items:flex-start; flex-direction:column; gap:6px; }
  [data-detail-type] .visual-panel { padding:10px; }
}
@media(max-width:640px) {
  [data-detail-type] .icon-slice-grid { grid-template-columns:1fr; }
  [data-detail-type] .icon-slice-card img { height:220px; }
  [data-detail-type] .palette-value-list { grid-template-columns:1fr; }
  .resource-customizer { padding:20px; border-radius:22px; }
  [data-detail-type] .visual-stage { height:clamp(340px,54svh,540px); border-radius:18px; }
  [data-detail-type] .prompt-studio { padding-inline:18px; }
  [data-detail-type] .prompt-panel { padding:18px; }
  [data-detail-type] .prompt-panel-heading { align-items:flex-start; flex-direction:column; gap:14px; }
  [data-detail-type] .design-document-actions { min-width:0; max-width:100%; }
  [data-detail-type] .design-document-actions :is(button,a) { max-width:100%; padding-inline:12px; font-size:12px; }
  [data-detail-type] .prompt-text, [data-detail-type] .prompt-source pre { padding:14px; max-height:320px; }
  [data-detail-type] .prompt-text.is-expanded { max-height:none; }
  [data-detail-type] .reference-controls { gap:6px; }
  [data-detail-type] .reference-controls button, [data-detail-type] .reference-controls a { padding-inline:8px; }
}
/* Same-source navigation stays compact and wraps instead of loading siblings. */
.source-collection { margin: 16px 0 28px; padding: 20px 24px; border: 1px solid rgba(108,133,166,.15); border-radius: 28px; background: rgba(255,255,255,.72); }
.collection-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.collection-heading h2 { font-size: 22px; margin: 4px 0 0; }
.collection-heading > span { color: var(--muted, #68798b); font-size: 12px; }
.collection-members { display: flex; flex-wrap: wrap; gap: 8px; }
.collection-member { display: inline-flex; align-items: center; padding: 9px 14px; border-radius: 999px; background: rgba(234,241,250,.6); color: var(--text, #283849); font-size: 13px; text-decoration: none; }
.collection-member[aria-current="page"] { background: #e0eafa; color: #2b56a6; box-shadow: inset 0 0 0 1px rgba(75,115,180,.2); }
.collection-member:focus-visible { outline: 2px solid #356cc1; outline-offset: 3px; }
@media (max-width:700px) { .source-collection { padding: 16px; border-radius: 22px; } .collection-heading { align-items: flex-start; flex-direction: column; gap: 6px; } .collection-member { padding: 8px 12px; } }
