/* Phase 2 implementation additions: persistent object inspection and care map. */
.layer-selector { z-index:14; }
.longfield.has-object .layer-selector { z-index:16; bottom:calc(12% + 68px); }
.layer-selector>button { cursor:pointer; min-height:42px; background:#1b292c; color:#e0be99; border:1px solid #c2926366; padding:10px 12px; font:10px var(--mono); }
.layer-selector>button:hover,.layer-selector>button[aria-expanded=true] { border-color:#d1a678; background:#31403e; }
.selectable-plane:not([data-plane=documents]) { pointer-events:auto; }
.plane-select { z-index:8; cursor:pointer; background:transparent; }
.selectable-plane.is-selected>.plane-select { pointer-events:none; visibility:hidden; }
.object-interior { z-index:10; pointer-events:auto; overflow:hidden; }
.object-interior[inert] { pointer-events:none; }
.layer-context { font-size:12px; line-height:1.5; color:#50665b; margin:9px 0 4px; flex:0 0 auto; max-width:76ch; }
.object-interior .feature-status { color:#55563d; }
.object-interior .feature-connections dt { color:#4e6557; }
.object-interior .feature-readiness { color:#4f654f; }
.layer-feature-engine { min-height:0; flex:1; display:flex; }
.object-interior .feature-inspector { width:100%; }
.object-interior .feature-modes button { color:#293f3e; }
.object-interior .feature-reading { overscroll-behavior:auto; }
.matter-base>.plane-select { inset:0; }
.interface-plate>.plane-select,.finance-plate>.plane-select { inset:0; }
.file-row[role=button] { cursor:pointer; }
.file-row[role=button]:focus-visible,.file-row[aria-pressed=true] { outline:2px solid #c79c65; outline-offset:2px; background:#385449; color:#f2efe4; }
.file-selection { display:none; align-items:center; justify-content:space-between; gap:22px; padding:13px 17px; margin-top:12px; border-left:2px solid #c79c65; background:#e6e3d6; color:#293d3c; box-shadow:4px 7px 18px #14232716; }
.file-selection.is-open { display:flex; animation:file-context-in .28s ease-out both; }
.file-selection .eyebrow { font:8px var(--mono); color:#5c5b43; }
.file-selection h3 { font-size:16px; font-weight:500; margin:4px 0; }
.file-selection p { font-size:12px; line-height:1.5; color:#596b5f; }
.file-selection::after { content:attr(data-context); flex:0 0 auto; max-width:32%; border-left:1px solid #999e8b; padding:8px 0 8px 14px; font:9px/1.6 var(--mono); color:#647463; }
.file-selection>button { flex:0 0 38px; height:38px; border:1px solid #a5ad99; font-size:21px; }
.pack-actions { margin-top:16px; gap:10px; }
.quiet-pack-link { padding:5px 0; }
.hh-feature-console { position:absolute; z-index:8; left:var(--pad); right:var(--pad); bottom:11%; padding:10px 14px; color:#263849; background:#f2ede4ee; border:1px solid #c7b5ac; box-shadow:0 16px 45px #28364a20; backdrop-filter:blur(8px); }
.hh-feature-console:not(.is-open) .hh-console-head { border-bottom:0; padding-bottom:0; }
.hh-console-head { display:flex; justify-content:space-between; gap:12px; align-items:center; font:8px var(--mono); color:#705c66; letter-spacing:.05em; border-bottom:1px solid #8f82922c; padding-bottom:8px; }
.hh-console-head button { color:#3d5362; border-bottom:1px solid #b28095; padding:5px 0; font:9px var(--mono); }
.hh-console-head button[aria-expanded=true] { color:#925d72; }
.hh-console-grid[hidden] { display:none; }
.hh-console-grid { display:grid; grid-template-columns:minmax(220px,.72fr) minmax(0,1.8fr); gap:18px; max-height:265px; padding-top:8px; }
#hh-feature-buttons { overflow:auto; display:flex; flex-flow:row wrap; align-content:flex-start; gap:5px; padding:2px; }
#hh-feature-buttons button { min-height:34px; padding:7px 9px; border:1px solid #a38d9860; color:#384858; background:#f8f4ec; font:9px var(--mono); cursor:pointer; }
#hh-feature-buttons button[aria-pressed=true] { color:#f8f3ec; background:#273b50; border-color:#273b50; }
#hh-feature-engine { min-height:0; overflow:auto; }
#hh-feature-engine .feature-inspector { gap:0; }
#hh-feature-engine .feature-modes { margin:0; border-color:#9d8e963a; }
#hh-feature-engine .feature-modes button { min-height:34px; font-size:11px; color:#334657; }
#hh-feature-engine .capability-controls { display:none; }
#hh-feature-engine .feature-connection { padding:4px 0; font-size:7px; color:#8a687a; }
#hh-feature-engine .feature-connection i { background:#ae7d91; }
#hh-feature-engine .feature-reading { overflow:auto; padding:4px 10px 9px 0; }
#hh-feature-engine .feature-title { margin:4px 0 5px; font-size:18px; color:#25394b; }
#hh-feature-engine .feature-copy { font-size:12px; line-height:1.45; color:#4e5c61; }
#hh-feature-engine .feature-connections { display:none; }
#hh-feature-engine .feature-readiness { margin:6px 0 0; padding-top:5px; font-size:9px; color:#746875; }
.hh-close { z-index:2; }
.event-row[role=button] { cursor:pointer; padding-left:7px; padding-right:7px; border-left:2px solid transparent; }
.event-row[role=button]:hover,.event-row[aria-pressed=true] { background:#293e503a; border-left-color:#d7a3b3; }
.event-row[role=button]:focus-visible { outline:2px solid #e6c2cd; outline-offset:2px; }
.event-selected-detail { min-height:3em; border-left:1px solid #c894a4; padding:8px 0 8px 12px; font-size:10px; line-height:1.5; color:#c0adb5; }
.release-paper[role=button] { cursor:pointer; transition:transform .22s ease,box-shadow .22s ease; }
.release-paper[role=button]:hover,.release-paper[role=button]:focus-visible,.release-paper.is-inspected { transform:translate(calc(var(--px) - 8px),calc(var(--py) - 18px)) rotate(calc(var(--pr) - 2deg)) translateZ(32px); box-shadow:8px 15px 22px #3d483744; outline:2px solid #ae895d; outline-offset:2px; }
.package-inspection { position:absolute; z-index:7; right:2%; bottom:2%; width:min(310px,47%); padding:12px 15px; border-left:2px solid #b1895e; color:#293837; background:#efeaddf2; box-shadow:0 8px 20px #293b321c; }
.package-inspection>span { display:block; font:8px var(--mono); color:#665536; letter-spacing:.07em; }
.ownership-terms small { color:#546453; }
.package-inspection>strong { display:block; font-size:14px; font-weight:500; margin:5px 0; }
.package-inspection>p { font-size:11px; line-height:1.45; color:#58685d; }
.pack-component-index { position:absolute; z-index:7; top:12%; left:calc(32% + 320px); right:0; max-height:88%; overflow:auto; color:#39443d; }
.pack-component-index>p { padding:0 0 6px 5px; font:7px var(--mono); letter-spacing:.08em; color:#6c705f; }
#pack-component-buttons { display:grid; gap:3px; }
.pack-component-button { position:relative; z-index:8; display:flex; align-items:center; justify-content:space-between; gap:5px; width:100%; min-height:27px; padding:4px 6px; text-align:left; color:#43564c; background:#eeeadddf; border-left:2px solid #9b9b83; font:9px/1.2 var(--mono); cursor:pointer; transition:background-color .24s ease,color .24s ease,border-color .24s ease; }
.pack-component-button>span { min-width:0; }
.pack-component-button>small { color:#777a69; font:7px var(--mono); }
.pack-component-button:hover,.pack-component-button:focus-visible { color:#202c2b; background:#fffdf3; border-left-color:#a4764d; }
.pack-component-button[aria-pressed=true] { color:#f2eee1; background:#30403c; border-left-color:#bd8e61; }
.pack-component-index #close-pack-inspection { margin-top:8px; padding:5px 7px; color:#35463f; border:1px solid #8d9786; background:#eeeadd; font:8px var(--mono); }
.pack-cover-toggle { position:absolute; z-index:5; left:32%; top:10%; width:320px; height:430px; padding:0; border:0; background:transparent; cursor:pointer; }
.pack-cover-toggle:focus-visible { outline:3px solid #a97e58; outline-offset:5px; }
.software-product:not(.is-inspecting) .package-inspection { display:none; }
.software-product.is-inspecting { z-index:6; }
.pack-object { transition:translate 380ms cubic-bezier(.2,.72,.2,1),rotate 380ms cubic-bezier(.2,.72,.2,1); pointer-events:none; }
.software-product.is-open { --unpack:1; }
.software-product.is-open .pack-object { translate:-190px 18px; rotate:-2deg; }
.release-paper { pointer-events:none; transition:transform 360ms cubic-bezier(.2,.72,.2,1),box-shadow 360ms ease; }
.release-paper.is-preview { z-index:20; transform:translate(calc(var(--px) + 14px),calc(var(--py) - 8px)) rotate(calc(var(--pr) - 1deg)) translateZ(42px); box-shadow:8px 14px 22px #3d483744; }
.release-paper.is-inspected { z-index:24; transform:translate(calc(var(--px) + 26px),calc(var(--py) - 12px)) rotate(calc(var(--pr) - 2deg)) translateZ(90px) scale(1.035); box-shadow:12px 20px 32px #293b3250; }
.package-inspection { left:2%; right:0; bottom:0; width:47%; }
.package-inspection>h3 { margin:4px 0 7px; font-size:14px; line-height:1.2; font-weight:500; }
.package-inspection dl { display:grid; gap:5px; margin:0; }
.package-inspection dl>div { display:grid; grid-template-columns:112px 1fr; gap:6px; font-size:9px; line-height:1.35; }
.package-inspection dt { font:7px/1.4 var(--mono); letter-spacing:.04em; color:#665536; }
.package-inspection dd { margin:0; color:#43564c; }
@media(max-width:1180px) and (min-width:801px) {
  .pack-component-index { left:calc(16% + 270px); }
  .pack-component-button { min-height:29px; white-space:normal; font-size:9px; }
  .pack-cover-toggle { left:30%; top:14%; width:270px; height:385px; }
  .software-product.is-open .pack-object { translate:-145px 16px; }
  .package-inspection { left:1%; width:38%; }
  .package-inspection dl>div { grid-template-columns:88px 1fr; font-size:8px; }
}
@media(max-width:800px) {
  .software-product { left:3%; right:3%; top:31%; width:94%; height:58%; }
  .pack-copy { pointer-events:none; }
  .pack-copy button { pointer-events:auto; }
  .pack-object { left:20%; }
  .pack-component-index { top:10%; left:59%; right:0; }
  .pack-component-button { min-height:30px; font-size:9.5px; white-space:normal; }
  .pack-cover-toggle { left:20%; top:8%; width:238px; height:330px; }
  .software-product.is-open .pack-object { translate:-135px 18px; }
  .package-inspection { left:0; right:auto; bottom:0; width:56%; }
  .package-inspection dl>div { grid-template-columns:82px 1fr; font-size:8px; }
}
@media(max-width:540px) {
  .software-product { left:2%; right:2%; top:37%; width:96%; height:53%; }
  .pack-object { left:52%; top:0; }
  .pack-component-index { top:0; left:62%; right:0; }
  .pack-component-index>p { font-size:7px; padding-bottom:4px; }
  #pack-component-buttons { gap:2px; }
  .pack-component-button { min-height:22px; padding:2px 4px; font-size:8px; line-height:1.1; overflow-wrap:anywhere; }
  .pack-component-button>small { font-size:6.5px; }
  .pack-cover-toggle { left:52%; top:0; width:175px; height:249px; }
  .software-product.is-open .pack-object { translate:-110px 12px; }
  .package-inspection { left:0; bottom:0; width:58%; padding:7px 8px; }
  .package-inspection>span,.package-inspection dt { font-size:6px; }
  .package-inspection>h3 { font-size:10px; }
  .package-inspection dl { gap:3px; }
  .package-inspection dl>div { display:block; font-size:7px; line-height:1.25; }
  .package-inspection dd { margin-top:1px; }
}
@media(prefers-reduced-motion:reduce) {
  .pack-object,.release-paper,.pack-component-button { transition:none!important; }
}
.blueprint-build { position:relative; min-height:162px; margin:18px 0 12px; padding:8px 0 0; border-block:1px solid #89928f38; background-image:linear-gradient(#a4af9f09 1px,transparent 1px),linear-gradient(90deg,#a4af9f09 1px,transparent 1px); background-size:22px 22px; }
.blueprint-build>svg { position:absolute; inset:4px 0 auto; width:100%; height:80px; fill:none; stroke:#aa8c6d88; stroke-width:1.1; }
#build-controls { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:5px 7px; padding:16px 5px 0; }
#build-controls button { min-height:29px; padding:6px 8px; color:#c4c5b6; border:1px solid #9fa89954; background:#1d2727d9; font:8px var(--mono); }
#build-controls button:hover,#build-controls button[aria-pressed=true] { color:#ede9de; border-color:#c3986c; background:#3b403b; }
.build-detail { position:relative; min-height:68px; border-left:2px solid #c1925f; padding:5px 12px; color:#c7c9bd; }
.build-detail span { display:block; font:7px var(--mono); color:#c1925f; letter-spacing:.08em; }
.build-detail strong { display:block; margin:3px 0; font-size:14px; font-weight:500; }
.build-detail p { font-size:11px; line-height:1.45; color:#afb8ae; }
@keyframes file-context-in { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }
@media(max-width:900px) {
  .layer-selector { display:grid; grid-template-columns:1fr 1fr; }
  .layer-selector>button { width:100%; min-height:42px; justify-content:space-between; }
  .hh-feature-console { bottom:18%; }
  .hh-console-grid { grid-template-columns:minmax(150px,.7fr) minmax(0,1.5fr); gap:12px; }
}
@media(max-width:600px) {
  .object-interior { padding:14px; }
  .layer-context { font-size:11px; }
  .layer-selector { bottom:12%; gap:6px; padding-top:8px; }
  .layer-selector>button { font-size:8px; padding:8px 6px; min-height:43px; }
  .hh-feature-console { left:16px; right:16px; bottom:17%; padding:9px; }
  .hh-console-head { font-size:7px; }
  .hh-console-grid { grid-template-columns:1fr; gap:7px; max-height:310px; }
  #hh-feature-buttons { max-height:72px; }
  #hh-feature-buttons button { min-height:34px; padding:7px; font-size:8px; }
  #hh-feature-engine { min-height:158px; }
  #hh-feature-engine .feature-copy { font-size:11px; }
  .file-selection { gap:8px; padding:10px; }
  .file-selection::after { display:none; }
  .file-selection p { font-size:11px; }
  .event-row { min-height:42px; }
  .package-inspection { right:0; bottom:0; width:min(260px,68%); padding:8px 10px; }
  .package-inspection>strong { font-size:12px; }
  .package-inspection>p { font-size:10px; }
  #build-controls { padding:13px 3px 0; gap:4px; }
  #build-controls button { font-size:7px; padding:6px; }
}
@media(max-width:540px) { .hollyhock .hh-title { padding-top:42px; } }
@media(prefers-reduced-motion:reduce) {
  .file-selection.is-open { animation:none; }
}
