.mosaic-library{display:grid;grid-gap:1rem;gap:1rem}.mosaic-module-group{border:1px solid var(--dl-border,var(--dl-line));border-radius:8px;padding:.75rem 1rem;background:var(--dl-surface,var(--dl-paper))}.mosaic-module-group h3{margin:0 0 .5rem;text-transform:capitalize}.mosaic-category-row{margin:.25rem 0 .75rem}.mosaic-category-row h4{margin:.25rem 0;font-size:.875rem;color:var(--dl-muted,var(--dl-text-muted));text-transform:capitalize}.mosaic-tiles{display:flex;flex-wrap:wrap;gap:.4rem}.mosaic-tile{border:1px solid var(--dl-border,var(--dl-line));border-radius:6px;background:var(--dl-paper);padding:.3rem .6rem;font-size:.875rem;cursor:pointer;text-align:left}.mosaic-tile:focus-visible,.mosaic-tile:hover{border-color:var(--dl-accent,var(--dl-action))}.mosaic-tile[aria-pressed=true]{background:var(--dl-action);border-color:var(--dl-action);color:var(--dl-on-action)}.mosaic-tile small{display:block;opacity:.75}.mosaic-tile-icon{display:block;margin-bottom:.3rem}.mosaic-tile-icon svg{display:block}.mosaic-tile--custom small:after{content:" (custom)"}.mosaic-panels{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;grid-gap:1rem;gap:1rem;align-items:start}@media (max-width:900px){.mosaic-panels{grid-template-columns:1fr}}.mosaic-stack{border:1px dashed var(--dl-border,var(--dl-line));border-radius:8px;padding:.75rem 1rem;min-height:6rem;position:-webkit-sticky;position:sticky;top:1rem}.mosaic-stack ul{list-style:none;padding:0;margin:.5rem 0}.mosaic-stack li{display:flex;justify-content:space-between;gap:.5rem;padding:.25rem 0;border-bottom:1px solid var(--dl-border-soft,#e8ecf1)}.mosaic-spec{border:1px solid var(--dl-border,var(--dl-line));border-radius:8px;padding:.75rem 1rem}.mosaic-spec h3{margin:.75rem 0 .25rem;font-size:.95rem}.mosaic-list{margin:0;padding-left:1.25rem}.mosaic-upgrade-note{color:var(--dl-danger,var(--dl-danger,#b3261e));font-size:.875rem}.mosaic-symbol-row{list-style:none;display:flex;flex-wrap:wrap;gap:.75rem;padding:0;margin:.5rem 0}.mosaic-symbol-chip{display:flex;align-items:center;gap:.5rem;border:1px solid var(--dl-border-soft,#e8ecf1);border-radius:6px;padding:.35rem .5rem}.mosaic-symbol-label{display:flex;flex-direction:column;font-size:.875rem;max-width:14rem}.mosaic-symbol-meaning{color:var(--dl-muted,var(--dl-text-muted));font-weight:400}.mosaic-symbol-chip--unknown{border-style:dashed}.mosaic-empty{color:var(--dl-muted,var(--dl-text-muted));font-style:italic}.mosaic-alert{border:1px solid var(--dl-danger,var(--dl-danger,#b3261e));background:var(--dl-danger-bg,var(--dl-danger-subtle,#faecea));color:var(--dl-danger,var(--dl-danger,#b3261e));border-radius:6px;padding:.4rem .75rem}.mosaic-ok{border:1px solid var(--dl-ok,#1d7f4f);background:var(--dl-ok-bg,#e9f6ee);color:var(--dl-ok,#1d7f4f);border-radius:6px;padding:.4rem .75rem}.mosaic-generate{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.75rem}.mosaic-modal-backdrop{position:fixed;inset:0;background:rgba(20,26,34,.55);display:grid;place-items:center;padding:1rem;z-index:60}.mosaic-modal{background:var(--dl-surface,var(--dl-paper));border-radius:10px;max-width:560px;width:100%;max-height:90vh;overflow:auto;padding:1rem 1.25rem}.mosaic-modal h3{margin-top:0}.mosaic-field{display:flex;flex-direction:column;gap:.25rem;margin:.6rem 0;font-size:.9rem}.mosaic-field input,.mosaic-field select,.mosaic-field textarea{border:1px solid var(--dl-border,var(--dl-line));border-radius:6px;padding:.4rem .5rem;font:inherit}.mosaic-field textarea{min-height:8rem;font-family:ui-monospace,monospace}.mosaic-actions{border:1px solid var(--dl-border,var(--dl-line));border-radius:8px;padding:.75rem 1rem;margin:.75rem 0}.mosaic-actions-status{display:flex;gap:.75rem;align-items:center;margin:0 0 .5rem}.mosaic-actions-note,.mosaic-actions-signed{color:var(--dl-muted,var(--dl-text-muted));font-size:.875rem}.mosaic-permit-head{display:flex;gap:1rem;align-items:flex-start;border-bottom:2px solid var(--dl-text);padding-bottom:.6rem;margin-bottom:.9rem}.mosaic-permit-head img{width:180px;height:auto}.mosaic-permit-head-meta{margin:0;font-size:.9rem;line-height:1.5}.mosaic-permit-head-meta code{font-size:1rem}.mosaic-ppe-table svg,.mosaic-ppe-table td img{vertical-align:middle}.mosaic-signoff-table{width:100%}.mosaic-signoff-table td,.mosaic-signoff-table th{height:2.2rem}.mosaic-signoff-line{display:inline-block;border-bottom:1px solid var(--dl-text);min-width:9rem}.mosaic-footer-note{border-top:1px solid var(--dl-border,var(--dl-line));margin-top:1rem;padding-top:.5rem;color:var(--dl-muted,var(--dl-text-muted));font-size:.875rem}.system-map{display:grid;grid-gap:1.25rem;gap:1.25rem}.system-map-row{display:grid;grid-template-columns:200px 44px minmax(320px,2fr) 44px minmax(220px,1.2fr);grid-gap:.5rem;gap:.5rem;align-items:stretch}@media (max-width:1000px){.system-map-row{grid-template-columns:1fr}.system-map-arrow{transform:rotate(90deg);justify-self:center}}.system-map-role{border:1px solid var(--dl-border,var(--dl-line));border-left:4px solid var(--dl-accent,var(--dl-action));border-radius:8px;padding:.6rem .75rem;background:var(--dl-paper,var(--dl-surface));font-weight:600}.system-map-arrow{align-self:center;color:var(--dl-muted,var(--dl-text-muted))}.system-map-modules{display:flex;flex-wrap:wrap;gap:.5rem;align-content:start}.system-map-module{border:1px solid var(--dl-border,var(--dl-line));border-radius:6px;padding:.45rem .7rem;background:var(--dl-surface,var(--dl-paper));font-size:.9rem;display:inline-flex;flex-direction:column}.system-map-module:focus-visible,.system-map-module:hover{border-color:var(--dl-accent,var(--dl-action));background:var(--dl-canvas)}.system-map-module small{color:var(--dl-muted,var(--dl-text-muted));font-weight:400}.system-map-outputs{display:flex;flex-direction:column;gap:.3rem;font-size:.875rem;color:var(--dl-muted,var(--dl-text-muted));justify-content:center}.system-map-outputs span{border:1px dashed var(--dl-border,var(--dl-line));border-radius:6px;padding:.3rem .6rem;background:var(--dl-surface,var(--dl-paper));color:var(--dl-text,#1c2430)}.system-map-flow{display:flex;flex-wrap:wrap;gap:.3rem 0;align-items:stretch}.system-map-flow-step{display:flex;align-items:center}.system-map-stage{border:1px solid var(--dl-border,var(--dl-line));border-left:4px solid var(--dl-accent,var(--dl-action));border-radius:8px;padding:.5rem .75rem;background:var(--dl-paper,var(--dl-surface));color:var(--dl-text,#1c2430);display:flex;flex-direction:column;gap:.15rem;min-width:8.5rem;max-width:12rem;font-weight:600;font-size:.9rem}.system-map-flow-step:last-child .system-map-stage{border-left-color:var(--dl-ok,#1d7f4f)}.system-map-step{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.system-map-stage small,.system-map-step{color:var(--dl-muted,var(--dl-text-muted))}.system-map-stage small{font-weight:400;font-size:.875rem}.system-map-spawn{display:grid;grid-gap:.4rem;gap:.4rem;justify-items:center}.system-map-spawn-node{border:2px solid var(--dl-accent,var(--dl-action));border-radius:10px;background:var(--dl-paper,var(--dl-surface));color:var(--dl-text,#1c2430);padding:.55rem 1.6rem;font-weight:600;display:flex;flex-direction:column;align-items:center}.system-map-spawn-node small{color:var(--dl-muted,var(--dl-text-muted));font-weight:400}.system-map-spawn-connectors{display:grid;grid-template-columns:repeat(3,1fr);width:min(640px,100%);justify-items:center;color:var(--dl-muted,var(--dl-text-muted));font-size:1.1rem;line-height:1}.system-map-spawn-grid{display:grid;grid-template-columns:repeat(3,minmax(11rem,1fr));grid-gap:.6rem;gap:.6rem;width:100%}@media (max-width:760px){.system-map-spawn-connectors,.system-map-spawn-grid{grid-template-columns:1fr}}.system-map-spawn-card{border:1px solid var(--dl-border,var(--dl-line));border-radius:8px;padding:.5rem .7rem;background:var(--dl-paper,var(--dl-surface));color:var(--dl-text,#1c2430);display:flex;flex-direction:column;gap:.2rem;font-weight:600;font-size:.9rem}.system-map-spawn-card:focus-visible,.system-map-spawn-card:hover{border-color:var(--dl-accent,var(--dl-action));background:var(--dl-canvas,var(--dl-surface))}.system-map-spawn-card code{font-size:.72rem;word-break:break-all}.system-map-spawn-card code,.system-map-spawn-card small{color:var(--dl-muted,var(--dl-text-muted));font-weight:400}.system-map-spawn-card small{font-size:.875rem}.system-map-return-note{margin:.35rem 0 0;color:var(--dl-muted,var(--dl-text-muted));font-size:.875rem;font-style:italic}@media print{.mosaic-actions,.mosaic-library,.mosaic-stack,.no-print{display:none!important}.mosaic-citations,.mosaic-ppe-table tr,.mosaic-symbol-row,.report-section{page-break-inside:avoid;break-inside:avoid}.mosaic-symbol-meaning{display:none}.system-map-row{grid-template-columns:1fr 2fr 1fr}}