:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 999px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;--text-xs: 11px;--text-sm: 12px;--text-base: 13px;--text-md: 15px;--text-lg: 20px;--text-xl: 28px;--text-stat: 24px;--ease: cubic-bezier(.32, .72, 0, 1);--duration: .22s;color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root{--bg: light-dark(#ffffff, #1c1c1e);--bg-sunken: light-dark(#f5f5f7, #000000);--bg-inset: light-dark(#f5f5f7, #232325);--bg-raised: light-dark(#ffffff, #2c2c2e);--bg-hover: light-dark(rgba(0, 0, 0, .04), rgba(255, 255, 255, .06));--bg-active: light-dark(rgba(0, 0, 0, .07), rgba(255, 255, 255, .1));--fg: light-dark(#1d1d1f, #f5f5f7);--fg-secondary: light-dark(#5e5e63, #aeaeb3);--fg-tertiary: light-dark(#737378, #939398);--separator: light-dark(rgba(0, 0, 0, .1), rgba(255, 255, 255, .12));--separator-strong: light-dark(rgba(0, 0, 0, .16), rgba(255, 255, 255, .2));--accent: light-dark(#0066cc, #5aabff);--accent-fill: light-dark(#0071e3, #0a72e0);--accent-fg: #ffffff;--accent-subtle: light-dark(rgba(0, 113, 227, .1), rgba(10, 132, 255, .18));--allow: light-dark(#1f7a35, #30d158);--allow-subtle: light-dark(rgba(36, 138, 61, .1), rgba(48, 209, 88, .14));--deny: light-dark(#c4001a, #ff8278);--deny-fill: light-dark(#d70015, #d0342b);--deny-subtle: light-dark(rgba(215, 0, 21, .09), rgba(255, 69, 58, .16));--warning: light-dark(#a35200, #ff9f0a);--warning-subtle: light-dark(rgba(224, 123, 0, .12), rgba(255, 159, 10, .14));--role-subject: var(--accent);--role-subject-subtle: var(--accent-subtle);--role-resource: light-dark(#9a3fc9, #d69cff);--role-resource-subtle: light-dark(rgba(175, 82, 222, .1), rgba(191, 90, 242, .18));--kind-schema: light-dark(#5451cc, #aeacff);--kind-schema-subtle: light-dark(rgba(88, 86, 214, .1), rgba(142, 140, 255, .16));--kind-policy: light-dark(#0b7480, #4fc3d0);--kind-policy-subtle: light-dark(rgba(11, 116, 128, .1), rgba(79, 195, 208, .14));--kind-entity: light-dark(#8a6139, #dbb48d);--kind-entity-subtle: light-dark(rgba(138, 97, 57, .11), rgba(219, 180, 141, .14));--agent-0: light-dark(#2a78d6, #3987e5);--agent-1: light-dark(#eb6834, #d95926);--agent-2: light-dark(#1baf7a, #199e70);--agent-3: light-dark(#eda100, #c98500);--agent-4: light-dark(#e87ba4, #d55181);--agent-5: light-dark(#008300, #008300);--agent-6: light-dark(#4a3aa7, #9085e9);--agent-7: light-dark(#e34948, #e66767);--shadow-raised: 0 1px 2px light-dark(rgba(0, 0, 0, .06), rgba(0, 0, 0, .3));--shadow-overlay: 0 12px 40px light-dark(rgba(0, 0, 0, .14), rgba(0, 0, 0, .5)), 0 0 0 .5px light-dark(rgba(0, 0, 0, .08), rgba(255, 255, 255, .1));--code-keyword: light-dark(#6b5b95, #b3a1d0);--code-var: light-dark(#3a6491, #8fb3d9);--code-type: light-dark(#8a6144, #cfa78a);--code-literal: light-dark(#3f7d72, #86bfb4)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.02em}h1{font-size:var(--text-xl);letter-spacing:-.03em}h2{font-size:var(--text-lg)}h3{font-size:var(--text-md)}p{margin:0}code,pre,.mono{font-family:var(--font-mono);font-size:var(--text-sm)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a.tiny{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}button,input,select,textarea{font:inherit;color:inherit}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}main>header{margin-bottom:var(--space-5)}main>header p{margin-top:var(--space-2);max-width:62ch}.title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap}.head-actions{display:flex;gap:var(--space-2);align-items:center;flex-shrink:0}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.section-head h2,.section-head h3{font-size:var(--text-md);font-weight:600;letter-spacing:-.01em}.section-head .lede{margin-top:2px;font-size:var(--text-sm);color:var(--fg-secondary);max-width:72ch}.section-head>:not(:first-child){flex-shrink:0}.section{margin-top:var(--space-6)}.term{font-weight:400;color:var(--fg-tertiary);text-transform:none;letter-spacing:0}.field{display:flex;flex-direction:column;gap:var(--space-1)}.label{font-size:var(--text-xs);font-weight:590;color:var(--fg-secondary);text-transform:uppercase;letter-spacing:.05em}.subhead{font-size:var(--text-sm);font-weight:590;color:var(--fg)}.input,.textarea{width:100%;padding:var(--space-2) var(--space-3);background:var(--bg-raised);border:1px solid var(--separator);border-radius:var(--radius-md);transition:border-color var(--duration) var(--ease),box-shadow var(--duration) var(--ease)}.input:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-subtle)}.textarea{font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;resize:vertical;min-height:96px;-moz-tab-size:2;tab-size:2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:7px var(--space-4);border:1px solid var(--separator-strong);border-radius:var(--radius-md);background:var(--bg-raised);box-shadow:var(--shadow-raised);font-weight:510;cursor:pointer;white-space:nowrap;transition:background var(--duration) var(--ease),border-color var(--duration) var(--ease),transform var(--duration) var(--ease)}.btn:hover:not(:disabled){background:var(--bg-inset)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-add{align-self:flex-start;width:auto;padding:3px var(--space-3);font-size:var(--text-sm);font-weight:480;background:none;box-shadow:none;border:1px dashed var(--separator-strong);color:var(--fg-secondary)}.btn-add:before{content:"+";margin-right:var(--space-1);font-weight:590}.btn-add:hover:not(:disabled){background:var(--accent-subtle);border-color:var(--accent);border-style:solid;color:var(--accent)}.btn-remove{width:28px;height:28px;border:none;border-radius:var(--radius-md);background:var(--bg-hover);cursor:pointer;font-size:16px;line-height:1;color:var(--fg-secondary);flex-shrink:0}.btn-remove:hover:not(:disabled){background:var(--deny-subtle);color:var(--deny)}.btn-remove:disabled{opacity:.3;cursor:default}.btn-primary{background:var(--accent-fill);border-color:transparent;color:var(--accent-fg)}.btn-primary:hover:not(:disabled){background:var(--accent-fill);filter:brightness(1.08)}.btn-sm{padding:3px var(--space-3);font-size:var(--text-sm)}a.btn{text-decoration:none;color:inherit}a.btn:hover{text-decoration:none}a.btn-primary{color:var(--accent-fg)}.btn-danger{background:var(--deny-fill);border-color:transparent;color:#fff}.btn-danger:hover:not(:disabled){background:var(--deny-fill);filter:brightness(1.08)}.btn.danger{color:var(--deny)}.btn.danger:hover:not(:disabled){background:var(--deny-subtle)}.link{background:none;border:none;padding:0;color:var(--accent);cursor:pointer;font:inherit}.link:hover{text-decoration:underline}.card{background:var(--bg-raised);border:1px solid var(--separator);border-radius:var(--radius-lg);padding:var(--space-5)}.card.panel{margin-bottom:var(--space-5)}.menu{z-index:20;margin:0;padding:var(--space-1);list-style:none;max-height:260px;overflow-y:auto;background:var(--bg-raised);border:1px solid var(--separator);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay)}.menu button{display:block;width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:inherit;font:inherit}.menu button:hover,.menu button:focus-visible,.menu button.selected{background:var(--accent-fill);color:var(--accent-fg);outline:none}.menu button.danger{color:var(--deny)}.menu button.danger:hover,.menu button.danger:focus-visible{background:var(--deny-fill);color:#fff}.menu .menu-sep{height:1px;margin:var(--space-1) 0;background:var(--separator)}.banner{padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);border-radius:var(--radius-md);font-weight:510}.banner.ok{background:var(--allow-subtle);color:var(--allow)}.banner.err{background:var(--deny-subtle);color:var(--deny)}.banner.warn{background:var(--warning-subtle);color:var(--warning)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-3);border:1px solid var(--separator);border-radius:var(--radius-full);background:none;color:var(--fg-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration) var(--ease),color var(--duration) var(--ease),border-color var(--duration) var(--ease)}button.chip:hover{background:var(--bg-hover)}.chip.on{border-color:var(--accent);background:var(--accent-subtle);color:var(--accent)}.chip-x{border:none;background:none;padding:0;cursor:pointer;color:inherit;opacity:.7;font-size:14px;line-height:1}.chip-x:hover{opacity:1;color:var(--deny)}.tag{display:inline-block;flex-shrink:0;padding:1px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);line-height:1.5;letter-spacing:.02em;font-weight:510;background:var(--bg-inset);color:var(--fg-secondary)}.tag.ok{background:var(--allow-subtle);color:var(--allow)}.tag.warn{background:var(--warning-subtle);color:var(--warning)}.tag.err{background:var(--deny-subtle);color:var(--deny)}.tag.info{background:var(--accent-subtle);color:var(--accent)}.hue-schema{--hue: var(--kind-schema);--hue-subtle: var(--kind-schema-subtle)}.hue-policy{--hue: var(--kind-policy);--hue-subtle: var(--kind-policy-subtle)}.hue-entity{--hue: var(--kind-entity);--hue-subtle: var(--kind-entity-subtle)}.hue-accent{--hue: var(--accent);--hue-subtle: var(--accent-subtle)}.hue-allow{--hue: var(--allow);--hue-subtle: var(--allow-subtle)}.hue-warn{--hue: var(--warning);--hue-subtle: var(--warning-subtle)}.hue-deny{--hue: var(--deny);--hue-subtle: var(--deny-subtle)}.tag[class*=hue-]{background:var(--hue-subtle);color:var(--hue)}.icon-tile{display:inline-grid;place-items:center;flex-shrink:0;width:28px;height:28px;border-radius:var(--radius-md);background:var(--hue-subtle, var(--bg-inset));color:var(--hue, var(--fg-secondary))}.icon-tile.lg{width:44px;height:44px;border-radius:var(--radius-lg)}.list-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.list-cards>li{background:var(--bg-raised);border:1px solid var(--separator);border-radius:var(--radius-lg);padding:var(--space-4)}.list-rows{list-style:none;margin:0;padding:0;background:var(--bg-raised);border:1px solid var(--separator);border-radius:var(--radius-lg);overflow:hidden}.list-rows>li{padding:var(--space-3) var(--space-4)}.list-rows>li+li{border-top:1px solid var(--separator)}.segmented{display:inline-flex;gap:1px;padding:2px;background:var(--bg-inset);border:1px solid var(--separator);border-radius:var(--radius-md)}.segmented button{padding:var(--space-1) var(--space-3);border:none;border-radius:var(--radius-sm);background:none;color:var(--fg-secondary);font-size:var(--text-sm);cursor:pointer;transition:background var(--duration) var(--ease),color var(--duration) var(--ease)}.segmented button:hover{color:var(--fg)}.segmented button.active{background:var(--bg-raised);box-shadow:var(--shadow-raised);color:var(--fg);font-weight:560}.stats{list-style:none;margin:0 0 var(--space-4);padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}.stats>li{display:flex}.stat{flex:1;display:flex;flex-direction:column;gap:2px;padding:var(--space-4);background:var(--bg-raised);border:1px solid var(--separator);border-radius:var(--radius-lg);color:inherit}a.stat{text-decoration:none;transition:border-color var(--duration) var(--ease),background var(--duration) var(--ease)}a.stat:hover{border-color:var(--separator-strong);background:var(--bg-hover);text-decoration:none}.stat .stat-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--fg-secondary)}.stat .value{margin-top:var(--space-2);font-size:var(--text-stat);font-weight:600;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.search-bar{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.filters{display:flex;gap:var(--space-2);align-items:center}.filters .select{min-width:130px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-7) var(--space-5)}.empty .icon-tile{margin-bottom:var(--space-3)}.empty p{margin:var(--space-2) auto var(--space-4);max-width:52ch}.empty .empty-actions{display:flex;gap:var(--space-2);justify-content:center}.muted{color:var(--fg-secondary)}.tiny{font-size:var(--text-xs);color:var(--fg-tertiary)}.scroll-x{overflow-x:auto;max-width:100%}.backdrop.svelte-wh9uu8{position:fixed;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#00000040;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:default;z-index:40;animation:svelte-wh9uu8-fade var(--duration) var(--ease)}.palette.svelte-wh9uu8{position:fixed;top:14vh;left:50%;transform:translate(-50%);width:min(600px,calc(100vw - 2 * var(--space-4)));background:var(--bg-raised);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);overflow:hidden;z-index:41;animation:svelte-wh9uu8-rise var(--duration) var(--ease)}.query.svelte-wh9uu8{width:100%;padding:var(--space-4);font-size:var(--text-md);background:none;border:none;border-bottom:1px solid var(--separator)}.query.svelte-wh9uu8:focus{outline:none}ul.svelte-wh9uu8{list-style:none;margin:0;padding:var(--space-1);max-height:52vh;overflow-y:auto}.row.svelte-wh9uu8{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;border-radius:var(--radius-md);cursor:pointer;text-align:left}.main.svelte-wh9uu8{display:flex;flex-direction:column;gap:1px;min-width:0}.label-text.svelte-wh9uu8,.detail.svelte-wh9uu8{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row.selected.svelte-wh9uu8{background:var(--accent-fill);color:var(--accent-fg)}.row.selected.svelte-wh9uu8 .tag:where(.svelte-wh9uu8){background:#fff3;color:var(--accent-fg)}.row.selected.svelte-wh9uu8 .tiny:where(.svelte-wh9uu8),.row.selected.svelte-wh9uu8 .detail:where(.svelte-wh9uu8){color:var(--accent-fg);opacity:.75}.empty.svelte-wh9uu8{padding:var(--space-5);text-align:center}@keyframes svelte-wh9uu8-fade{0%{opacity:0}}@keyframes svelte-wh9uu8-rise{0%{opacity:0;transform:translate(-50%) translateY(6px) scale(.98)}}.app.svelte-12qhfyh{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh}aside.svelte-12qhfyh{display:flex;flex-direction:column;gap:var(--space-5);padding:var(--space-5) var(--space-4);background:var(--bg-sunken);border-right:1px solid var(--separator);position:sticky;top:0;height:100vh}.brand.svelte-12qhfyh{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2)}.mark.svelte-12qhfyh{width:18px;height:18px;border-radius:5px;background:linear-gradient(135deg,var(--accent),#6a5cff)}.name.svelte-12qhfyh{font-weight:600;letter-spacing:-.01em}.signed-in.svelte-12qhfyh{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.package-picker.svelte-12qhfyh{display:flex;flex-direction:column;gap:var(--space-1);padding:0 var(--space-2)}.picker-row.svelte-12qhfyh{display:flex;gap:var(--space-1)}.picker-row.svelte-12qhfyh .select{flex:1;min-width:0}.picker-row.svelte-12qhfyh .package-select .text{white-space:normal;overflow-wrap:anywhere}.picker-head.svelte-12qhfyh{display:flex;align-items:center;justify-content:space-between}.new-btn.svelte-12qhfyh{width:20px;height:20px;flex-shrink:0;padding:0;border:1px solid var(--separator);border-radius:var(--radius-sm);background:none;color:var(--fg-secondary);cursor:pointer;font-size:14px;line-height:1;transition:all var(--duration) var(--ease)}.new-btn.svelte-12qhfyh:hover{border-color:var(--accent);color:var(--accent)}.new-package.svelte-12qhfyh{display:flex;flex-direction:column;gap:var(--space-2)}.new-package-actions.svelte-12qhfyh{display:flex;gap:var(--space-1)}.err.svelte-12qhfyh{color:var(--deny)}nav.svelte-12qhfyh{display:flex;flex-direction:column;gap:var(--space-2)}.nav-group.svelte-12qhfyh{display:flex;flex-direction:column;gap:1px}.nav-group.svelte-12qhfyh+.nav-group:where(.svelte-12qhfyh){padding-top:var(--space-2);border-top:1px solid var(--separator)}.nav-item.svelte-12qhfyh{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--fg);font-weight:480;transition:background var(--duration) var(--ease)}.nav-item.svelte-12qhfyh:hover{background:var(--bg-hover);text-decoration:none}.nav-item.active.svelte-12qhfyh{background:var(--accent-fill);color:var(--accent-fg)}.sidebar-foot.svelte-12qhfyh{margin-top:auto;display:flex;flex-direction:column;gap:1px}.ghost.svelte-12qhfyh{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:none;border:none;border-radius:var(--radius-md);color:var(--fg-secondary);cursor:pointer;text-align:left;transition:background var(--duration) var(--ease)}.ghost.svelte-12qhfyh:hover{background:var(--bg-hover);color:var(--fg);text-decoration:none}.ghost.active.svelte-12qhfyh{background:var(--accent-fill);color:var(--accent-fg)}.ghost.active.svelte-12qhfyh .tiny:where(.svelte-12qhfyh){color:var(--accent-fg);opacity:.75}kbd.svelte-12qhfyh{font-family:var(--font-sans);font-size:var(--text-xs);color:var(--fg-tertiary);border:1px solid var(--separator);border-radius:var(--radius-sm);padding:1px 5px}main.svelte-12qhfyh{padding:var(--space-7) var(--space-7) var(--space-8);max-width:1100px;width:100%}@media (max-width: 720px){.app.svelte-12qhfyh{grid-template-columns:1fr}aside.svelte-12qhfyh{position:static;height:auto}main.svelte-12qhfyh{padding:var(--space-5) var(--space-4)}}
