*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg: #0f172a;--color-surface: #1e293b;--color-surface-hover: #334155;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-accent: #38bdf8;--radius: 1rem}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--color-bg);color:var(--color-text);margin:0}@media(orientation:portrait),(max-width:1099px){body{min-height:100vh;display:flex;justify-content:center;padding-top:4rem;overflow:auto}main{display:block;width:100%;max-width:56rem;padding:2rem}main:has(#chord-section){max-width:58rem}header{display:block;text-align:center;margin-bottom:3rem}header h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em}header .subtitle{color:var(--color-text-muted);margin-top:.5rem;font-size:1.1rem}#tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1.5rem}.tile{padding:2rem 1.5rem;gap:.75rem}.tile-icon{font-size:3rem}.tile-name{font-size:1.25rem}.tile-desc{display:block;font-size:.875rem;color:var(--color-text-muted);text-align:center;line-height:1.4}#chord-section{display:block;margin-top:3rem}#chord-section h2{display:block;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}#chord-section .section-hint{display:block}.chord-viz-slot{position:relative}.chord-svg-host{width:auto;height:auto}.chord-svg-host svg{max-width:900px;max-height:none;width:100%;height:auto;margin:0 auto}.chord-svg-host--docked{display:block;position:fixed;top:1rem;right:1rem;width:25vh;height:25vh;z-index:200;pointer-events:auto;background:#0f172af0;border:1px solid var(--color-surface-hover);box-shadow:0 8px 32px #00000073;border-radius:var(--radius)}.chord-svg-host--docked:hover{border-color:var(--color-accent);box-shadow:0 8px 40px #38bdf833}.chord-svg-host--docked svg{max-width:none;width:100%;height:100%}.chord-viz-slot--docked{pointer-events:none}#status-section{display:block;margin-top:4rem;overflow:visible;border-left:none;padding:0}#status-section h2{position:static;margin-bottom:1.5rem}.status-table{width:100%;white-space:normal}#notes-section{display:block;margin-top:3rem;padding-bottom:4rem}#notes-section h2{font-size:1.5rem;font-weight:600;margin-bottom:1rem}.notes-list{list-style:none;display:flex;flex-direction:column;gap:.625rem}.notes-list li{font-size:.875rem;color:var(--color-text-muted);line-height:1.5;padding-left:1rem;border-left:2px solid var(--color-surface-hover)}.notes-list li strong{color:var(--color-text);font-weight:500}}@media(orientation:landscape)and (min-width:1100px){body{height:100vh;overflow:hidden}main{display:grid;grid-template-columns:1fr max-content;grid-template-rows:max-content 1fr;height:100vh;width:100vw;overflow:hidden}header,#notes-section{display:none}#tiles{grid-column:1;grid-row:1}#chord-section{grid-column:1;grid-row:2}#status-section{grid-column:2;grid-row:1 / -1}}#tiles{display:flex;flex-direction:row;gap:.5rem;padding:.5rem 1rem;align-items:center;justify-content:center;border-bottom:1px solid var(--color-surface-hover)}.tile{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;background:var(--color-surface);border-radius:var(--radius);text-decoration:none;color:var(--color-text);transition:background .15s ease}.tile:hover{background:var(--color-surface-hover)}.tile-icon{font-size:2rem;line-height:1}.tile-name{font-size:.65rem;font-weight:600;white-space:nowrap}.tile-desc{display:none}#chord-section{display:flex;align-items:center;justify-content:center;padding:1rem;overflow:hidden;min-width:0}#chord-section h2,#chord-section .section-hint{display:none}.chord-viz-slot{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.chord-svg-host{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:transparent;overflow:hidden;line-height:0}.chord-svg-host--docked{display:none}.chord-svg-host svg{display:block;max-height:calc(100vh - 2rem);max-width:100%;width:auto;height:auto}.chord-viz-missing{padding:1.5rem;font-size:.875rem;color:var(--color-text-muted);background:var(--color-surface);border-radius:var(--radius)}.chord-viz-missing code{font-size:.8rem}#status-section{padding:1rem;overflow-y:auto;border-left:1px solid var(--color-surface-hover)}#status-section h2{font-size:1.25rem;font-weight:600;margin-bottom:.75rem;position:sticky;top:0;background:var(--color-bg);padding-bottom:.5rem;z-index:10}.status-table{border-collapse:collapse;font-size:.8rem;white-space:nowrap}.status-table th,.status-table td{padding:.5rem .625rem;text-align:left;border-bottom:1px solid var(--color-surface-hover)}.status-table thead th{color:var(--color-text-muted);font-weight:500;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.status-table tbody tr:hover{background:var(--color-surface)}.status-table tbody tr.chord-viz-row{cursor:pointer}.status-table tbody tr.chord-viz-row:hover,.status-table tbody tr.chord-viz-row.chord-viz-row-active{background:#38bdf81f}.status-table tbody tr.chord-viz-row.chord-viz-row-related{background:#f0a80024}.status-table tbody tr.chord-viz-row-disabled{opacity:.85}.col-submodule code{font-size:.75rem;background:var(--color-surface);padding:.15rem .4rem;border-radius:.25rem;color:var(--color-text-muted)}.badge{display:inline-block;padding:.2rem .5rem;border-radius:9999px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.badge-live{background:#78be2026;color:#78be20;border:1px solid rgba(120,190,32,.4)}.badge-modified{background:#0072ce26;color:#5ba8e0;border:1px solid rgba(0,114,206,.4)}.badge-mocked{background:#f59e0b26;color:#f59e0b;border:1px solid rgba(245,158,11,.4)}.badge-scaffold{background:#0072ce26;color:#5ba8e0;border:1px solid rgba(0,114,206,.4)}.badge-unused{background:#6b728026;color:#9ca3af;border:1px solid rgba(107,114,128,.4)}.badge-tests{text-transform:none}.badge-tests-complete{background:#78be2026;color:#78be20;border:1px solid rgba(120,190,32,.4)}.badge-tests-partial{background:#dcb40026;color:#dcb400;border:1px solid rgba(220,180,0,.4)}.badge-tests-zero{background:#e67e2226;color:#e67e22;border:1px solid rgba(230,126,34,.4)}.badge-tests-unknown{background:#dc354526;color:#dc3545;border:1px solid rgba(220,53,69,.4)}
