@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;700&display=swap";:root{--bg:#f5efe1;--bg-strong:#efe5d3;--panel:#fffcf5e6;--panel-strong:#fff8ed;--text:#182126;--muted:#5f665d;--border:#1821261f;--border-strong:#18212638;--accent:#0d8f73;--accent-soft:#0d8f7324;--accent-strong:#055749;--shadow:0 20px 50px #3f2f1817;--type-account:#d88d16;--type-team:#d0552b;--type-vpc:#0d7db8;--type-server:#1c8f4c;--type-user:#8a4ddb;--type-platform:#7f4f24;--surface:var(--panel-strong);--purple:var(--type-user);--body-glow:#ffffffd9;--body-start:#faf6ec;--body-end:#efe3ce;--header-start:#ffffffeb;--header-end:#fbf2e1d1;--control:#ffffffad;--control-strong:#fffffff0;--control-shell:#ffffffd1;--card:#ffffffb8;--summary:#fff9;--empty:#ffffff94;--graph-start:#fff9ef;--graph-end:#f9f2e4;--code-bg:#191d22;--code-text:#f4e9d3;--switch-track:#a9afa9;--switch-knob:#fff}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--bg-strong:#151b23;--panel:#151b23f0;--panel-strong:#1b222c;--text:#f2eadc;--muted:#aab4ad;--border:#f2eadc24;--border-strong:#f2eadc40;--accent:#36c6a4;--accent-soft:#36c6a42e;--accent-strong:#91ead5;--shadow:0 20px 50px #00000052;--body-glow:#36c6a41a;--body-start:#10151c;--body-end:#080b10;--header-start:#1c232df5;--header-end:#11171ff0;--control:#ffffff12;--control-strong:#ffffff1f;--control-shell:#ffffff14;--card:#ffffff0b;--summary:#ffffff0e;--empty:#ffffff0f;--graph-start:#181f28;--graph-end:#10151c;--code-bg:#090c11;--code-text:#f4e9d3;--switch-track:#59625f;--switch-knob:#f2eadc}*{box-sizing:border-box}html,body{min-height:100%}body{background:radial-gradient(circle at top left, var(--body-glow), transparent 34%), linear-gradient(180deg, var(--body-start) 0%, var(--bg) 48%, var(--body-end) 100%);color:var(--text);margin:0;font-family:Space Grotesk,sans-serif}button{font:inherit}.hidden{display:none}.app-shell{max-width:1600px;margin:0 auto;padding:28px 22px 40px}.app-header{border:1px solid var(--border);background:linear-gradient(135deg, var(--header-start), var(--header-end));box-shadow:var(--shadow);border-radius:26px;justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px;display:flex}.eyebrow,.panel-kicker,.panel-label,.section-meta,.pagination-hint,.tree-meta__time,.resource-caption__id,.active-summary__label{font-family:IBM Plex Mono,monospace}.eyebrow,.panel-kicker,.panel-label{color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin:0;font-size:.72rem}.app-title{margin:8px 0 6px;font-size:clamp(2rem,4vw,3.3rem);line-height:.95}.app-subtitle{max-width:54rem;color:var(--muted);margin:0;font-size:.98rem}.app-header__intro{flex-direction:column;gap:10px;min-width:0;display:flex}.app-header__sources{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.app-header__link{border:1px solid var(--border);background:var(--control);color:var(--text);border-radius:999px;align-items:center;padding:7px 12px;font-size:.86rem;font-weight:500;text-decoration:none;transition:transform .12s,border-color .12s,background .12s;display:inline-flex}.app-header__link:hover{border-color:var(--border-strong);background:var(--control-strong);transform:translateY(-1px)}.app-header__actions{flex-direction:column;align-items:flex-end;gap:10px;display:flex}.app-header__controls{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.stat-host{min-width:220px}.stat-pill{border:1px solid var(--border);background:var(--control-shell);border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.stat-pill__label{background:var(--accent-soft);color:var(--accent-strong);text-transform:uppercase;border-radius:999px;padding:3px 7px;font-size:.74rem}.graph-toggle,.chip,.subject-button,.pagination-button,.group-card__toggle,.expand-toggle,.resource-button,.list-item{color:inherit;background:0 0;border:1px solid #0000}.graph-toggle,.chip,.subject-button,.pagination-button{border-color:var(--border);background:var(--control);cursor:pointer;border-radius:999px;padding:10px 14px;transition:transform .12s,border-color .12s,background .12s}.seed-controls{border:1px solid var(--border-strong);background:var(--control-shell);border-radius:20px;align-items:stretch;margin:0;display:flex;overflow:hidden}.seed-input{border:0;border-right:1px solid var(--border);min-width:150px;color:var(--text);font:inherit;background:0 0;border-radius:0;flex:150px;padding:12px 14px}.seed-submit{background:var(--control);color:inherit;border:0;border-radius:0;padding:12px 18px;font-weight:600}.app-header__error{max-width:320px}.graph-toggle:hover,.chip:hover,.subject-button:hover,.pagination-button:hover{border-color:var(--border-strong);background:var(--control-strong);transform:translateY(-1px)}.seed-submit:hover{background:var(--control-strong);border-color:#0000;transform:none}.seed-submit:disabled{opacity:.55;cursor:default}.pagination-button:disabled,.expand-toggle:disabled{opacity:.35;cursor:default;transform:none}.panel-grid{grid-template-columns:minmax(250px,1fr) minmax(390px,1.5fr) minmax(300px,1.1fr);gap:18px;margin-top:20px;display:grid}.app-footer{text-align:center;margin-top:22px;padding:10px 12px 0}.app-footer__copy{color:var(--muted);margin:0;font-size:.92rem;line-height:1.65}.app-footer__link{color:var(--accent-strong);border-bottom:1px solid #0000;font-weight:500;text-decoration:none;transition:border-color .12s,color .12s}.app-footer__link:hover{color:var(--accent);border-color:#05574959}.panel-host,.schema-shell{min-width:0}.schema-shell{margin-top:18px}.panel-card{border:1px solid var(--border);background:var(--panel);min-height:640px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:24px;flex-direction:column;gap:16px;padding:20px;display:flex}.panel-card--graph{min-height:0}.panel-card--collapsed{gap:0;padding-bottom:14px}.panel-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-section{flex-direction:column;gap:10px;display:flex}.panel-summary,.section-header,.group-card__header,.detail-header,.pagination-row,.active-summary{align-items:center;gap:10px;display:flex}.panel-summary,.section-header,.group-card__header{justify-content:space-between}.group-card__header{grid-template-columns:minmax(0,1fr) max-content;align-items:flex-start;column-gap:12px;display:grid}.panel-summary{border:1px dashed var(--border);background:var(--summary);border-radius:16px;padding:10px 12px}.panel-summary__value,.active-summary__value,.detail-header__subtitle,.resource-caption__id,.resource-caption__name{text-overflow:ellipsis;overflow:hidden}.panel-summary__separator{color:var(--muted)}.chip-row,.button-stack--inline,.pagination-row{flex-wrap:wrap}.chip--active,.subject-button--active{background:var(--accent);color:#f7fff8;border-color:#05574947}.group-card,.relationship-group{border:1px solid var(--border);background:var(--card);border-radius:18px;flex-direction:column;gap:10px;padding:14px;display:flex}.group-card__toggle,.resource-button,.list-item{cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:inline-flex}.group-card__toggle{justify-content:flex-start;width:100%;min-width:0;padding:0}.group-card__stats{text-align:right;font-variant-numeric:tabular-nums;flex-flow:wrap;flex:none;justify-content:flex-end;justify-self:end;align-items:center;gap:6px;width:max-content;min-width:0;line-height:1.35;display:flex}.group-card__title,.relationship-group__title{font-weight:700}.schema-shell__header .group-card__toggle{flex-wrap:wrap}.schema-shell__header .group-card__stats{min-width:0}.group-card__count,.group-card__range,.relationship-group__count,.section-meta,.pagination-hint,.tree-meta__time,.resource-caption__id,.detail-header__id,.empty-state{color:var(--muted)}.group-card__count,.group-card__range,.relationship-group__count{white-space:nowrap}.group-card__count-button{appearance:none;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px dashed;padding:0}.group-card__count-button:hover:not(:disabled){color:var(--accent)}.group-card__count-button:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.group-card__count-button:disabled{cursor:wait;opacity:.7}.group-card__stats-separator{color:var(--muted)}.group-card__page-stats,.group-card__count-stats{white-space:nowrap;align-items:baseline;gap:6px;display:inline-flex}.pagination-timing{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.pagination-timing .cache-badge{margin:0}.group-card__body{flex-direction:column;gap:12px;display:flex}.group-card__meta,.tree-meta{justify-content:space-between;gap:10px;min-height:1rem;display:flex}.tree-meta__error,.error-block{color:#9b2f16}.list-stack,.relationship-group__items{flex-direction:column;gap:6px;display:flex}.list-item,.resource-button{border:1px solid #0000}.list-item:hover,.resource-button:hover{border-color:var(--border);background:#0d8f730f}.list-item--active,.resource-button--active{background:var(--accent-soft);border-color:#05574947}.list-item__text,.detail-header__subtitle,.detail-header__id,.resource-caption__name,.resource-caption__id{min-width:0}.type-badge{background:var(--muted);border-radius:3px;flex:0 0 11px;width:11px;height:11px}.cache-badge{letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;border:1px solid;border-radius:999px;align-items:center;width:max-content;margin-right:6px;padding:2px 7px;font-size:.66rem;font-weight:800;line-height:1.25;display:inline-flex}.cache-badge--hit{color:#18784d;background:#26a65b1f}.cache-badge--miss{color:#9a5700;background:#f59e0b24}.cache-badge--disabled{color:#b42318;background:#d92d201a}.cache-timing{white-space:nowrap;align-items:center;gap:4px;margin-left:5px;display:inline-flex}.cache-timing .cache-badge{margin-right:0}.cache-timing__paren{color:var(--muted)}.cache-panel{min-height:0}.cache-panel .panel-heading{grid-template-columns:minmax(0,1fr) auto;display:grid}.cache-controls,.cache-toggle{align-items:center;gap:10px;display:flex}.cache-controls{flex-wrap:nowrap;justify-content:flex-end}.cache-panel .cache-controls{width:auto}.cache-toggle{cursor:pointer;font-size:.88rem;font-weight:700}.cache-toggle__state{min-width:2.1ch}.cache-switch{flex:0 0 46px;width:46px;height:26px;display:inline-flex;position:relative}.cache-switch__input{z-index:1;opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.cache-switch__slider{background:var(--switch-track);border:1px solid #454c484d;border-radius:999px;transition:border-color .16s,background .16s;position:absolute;inset:0;box-shadow:inset 0 1px 2px #0000001f}.cache-switch__slider:before{background:var(--switch-knob);content:"";border-radius:50%;width:20px;height:20px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #14201c4d}.cache-switch__input:checked+.cache-switch__slider{border-color:var(--accent);background:var(--accent)}.cache-switch__input:checked+.cache-switch__slider:before{transform:translate(20px)}.cache-switch__input:focus-visible+.cache-switch__slider{outline-offset:2px;outline:3px solid #0d8f733d}.cache-evict{padding:8px 12px}.cache-panel .cache-evict{width:auto}.cache-metrics{min-width:0}.cache-metrics__code{border:1px solid var(--border);background:var(--code-bg);max-height:420px;color:var(--code-text);white-space:pre;border-radius:18px;margin:0;padding:16px 18px;font-family:IBM Plex Mono,monospace;font-size:.82rem;line-height:1.5;overflow:auto}.type-account{background:var(--type-account)}.type-team{background:var(--type-team)}.type-vpc{background:var(--type-vpc)}.type-server{background:var(--type-server)}.type-user{background:var(--type-user)}.type-platform{background:var(--type-platform)}.resource-node{flex-direction:column;gap:8px;display:flex}.resource-node__row{align-items:flex-start;gap:8px;display:flex}.expand-toggle{cursor:pointer;background:#1821260a;border-radius:10px;width:34px;height:34px}.tree-children{border-left:1px solid var(--border);margin-left:20px;padding-left:14px}.relationship-group__title{align-items:center;gap:8px;display:flex}.detail-header{border:1px solid var(--border);background:var(--panel-strong);border-radius:18px;align-items:flex-start;padding:14px}.detail-header__title{margin:0 0 4px;font-size:1rem;font-weight:700}.detail-header__subtitle,.detail-header__id{margin:0;line-height:1.4}.active-summary{background:linear-gradient(135deg, var(--accent-soft), var(--summary));border-radius:16px;padding:12px 14px}.active-summary--subject{position:relative;top:0}.active-summary__value{font-weight:700}.empty-state,.error-block{background:var(--empty);border-radius:18px;padding:16px}.graph-canvas{border:1px solid var(--border);background:linear-gradient(180deg, var(--graph-start), var(--graph-end));border-radius:18px;width:100%;min-height:460px}.schema-shell__header{min-height:40px}.schema-panel{grid-template-columns:minmax(320px,.95fr) minmax(380px,1.25fr);gap:16px;min-height:0;display:grid}.schema-panel__pane{flex-direction:column;gap:12px;min-width:0;display:flex}.schema-panel__actions{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.schema-editor{border:1px solid var(--border);background:var(--code-bg);width:100%;min-height:460px;max-height:560px;color:var(--code-text);white-space:pre;resize:vertical;border-radius:18px;margin:0;padding:16px 18px;font-family:IBM Plex Mono,monospace;font-size:.86rem;line-height:1.55;overflow:auto}.schema-preset-tabs{gap:.35rem;margin-bottom:.65rem;display:flex}.schema-preset-tab{border:1px solid var(--border);color:var(--muted);cursor:pointer;font:inherit;background:0 0;border-radius:999px;padding:.3rem .65rem;font-size:.75rem}.schema-preset-tab:hover,.schema-preset-tab--active{border-color:var(--accent);color:var(--text)}.schema-preset-tab--active{background:var(--accent-soft)}@media (width<=1200px){.panel-grid{grid-template-columns:1fr}.panel-card{min-height:0}.schema-panel{grid-template-columns:1fr}}@media (width<=720px){.app-shell{padding:16px 12px 26px}.app-header{flex-direction:column;align-items:stretch}.app-header__actions{align-items:stretch}.app-header__sources,.app-header__controls{justify-content:flex-start}.graph-toggle,.chip,.subject-button,.pagination-button,.seed-input{justify-content:center;width:100%}.seed-controls{flex-direction:row;width:100%}.seed-input,.seed-submit{width:auto}.group-card__stats{width:100%;min-width:0}.cache-controls{justify-content:flex-start;width:100%}}.page-size-control{border:1px solid var(--border);background:var(--control-shell);border-radius:999px;align-items:center;gap:8px;padding:8px 10px 8px 13px;display:inline-flex}.page-size-control__label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:.72rem}.page-size-control__select{border:1px solid var(--border);background:var(--panel-strong);min-width:68px;color:var(--text);font:inherit;border-radius:999px;padding:3px 24px 3px 8px;font-weight:700}.page-size-control__select:focus-visible{outline-offset:2px;outline:3px solid #0d8f733d}.panel-heading,.relationship-group__header{justify-content:space-between;align-items:center;gap:12px;display:flex}.relationship-group{border-left:1px solid var(--border);margin-top:8px;padding-left:10px}.relationship-group__header{min-height:38px}.relationship-group__title{font-weight:700}.resource-node__spacer{flex:0 0 30px;width:30px}.resource-node__toggle{width:30px;height:30px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:0 0 30px;place-items:center;padding:0;display:inline-grid}.resource-node__toggle:hover{background:var(--control)}.resource-node__toggle:focus-visible{outline:3px solid var(--accent-soft);outline-offset:2px}.resource-node--cycle{opacity:.72}.cycle-badge{border:1px solid var(--border);color:var(--muted);text-transform:uppercase;border-radius:999px;padding:2px 7px;font-family:IBM Plex Mono,monospace;font-size:.66rem}.loading-block{min-height:46px;color:var(--muted);align-items:center;gap:8px;font-size:.84rem;display:flex}.loading-dot{background:var(--accent);border-radius:999px;width:8px;height:8px;animation:.9s ease-in-out infinite alternate eacl-pulse}@keyframes eacl-pulse{to{opacity:.3;transform:scale(.72)}}.retry-button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:1px solid;border-radius:999px;margin-left:auto;padding:3px 9px}.loading-grid{place-items:center;min-height:280px;display:grid}.permission-subjects+.permission-subjects{border-top:1px solid var(--border)}.schema-graph{width:100%;min-height:430px;display:block}.schema-graph__links line{stroke:var(--border-strong);stroke-width:1.5px}.schema-graph__labels text,.schema-graph__node-permissions{fill:var(--muted);text-anchor:middle;font-family:IBM Plex Mono,monospace;font-size:9px}.schema-graph__nodes circle{fill:var(--accent-soft);stroke:var(--accent);stroke-width:2px;cursor:grab}.schema-graph__node-title{fill:var(--text);pointer-events:none;font-size:10px;font-weight:700}.cache-refresh{border-color:var(--accent);color:var(--accent-strong)}.cache-snapshot-meta{color:var(--muted);margin:0 0 8px;font-family:IBM Plex Mono,monospace;font-size:.72rem}.seed-progress-banner{border:1px solid var(--border);background:var(--surface);border-radius:16px;grid-template-columns:minmax(0,1fr) minmax(180px,36%);align-items:center;gap:18px;margin:14px 0;padding:12px 16px;display:grid}.seed-progress-banner__copy{flex-wrap:wrap;align-items:baseline;gap:6px 12px;display:flex}.seed-progress-card__track{background:var(--accent-soft);border-radius:999px;height:12px;overflow:hidden}.seed-progress-card__fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--purple));height:100%;transition:width .18s}.seed-progress-card__label{color:var(--muted)}@media (width<=720px){.seed-progress-banner{grid-template-columns:1fr}.cache-panel .panel-heading{flex-direction:column;align-items:stretch;display:flex}.cache-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;display:grid}.cache-toggle{grid-column:1/-1;justify-content:space-between}.cache-panel .cache-evict,.cache-refresh{justify-content:center;width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=720px){.page-size-control,.cache-refresh{justify-content:center;width:100%}}
