.editor-modules .editor-module{border:1px solid var(--border, rgba(148, 163, 184, .18));border-radius:10px;background:var(--bg-card, rgba(15, 23, 42, .18));overflow:hidden}.editor-modules .editor-module>summary{cursor:pointer;padding:.7rem .95rem;font-weight:600;list-style:none;color:var(--text-primary);display:flex;justify-content:space-between;gap:1rem;align-items:center}.editor-modules .editor-module>summary::-webkit-details-marker{display:none}.editor-modules .editor-module>summary:after{content:"+";color:var(--text-secondary);font-weight:400;font-size:1.1rem}.editor-modules .editor-module[open]>summary:after{content:"−"}.editor-modules .editor-module-attrcount{color:var(--text-muted, var(--text-secondary));font-weight:400;font-size:.82rem;margin-left:auto}.editor-modules .editor-module-validity{font-weight:600;font-size:.72rem;padding:.1rem .5rem;border-radius:999px;white-space:nowrap}.editor-modules .editor-module-validity[hidden]{display:none}.editor-modules .editor-module-validity[data-severity=error]{color:#ef4444;background:color-mix(in srgb,#ef4444 13%,transparent)}.editor-modules .editor-module-validity[data-severity=warning]{color:#f59e0b;background:color-mix(in srgb,#f59e0b 16%,transparent)}.editor-modules .editor-attr-list{margin:0;padding:0;list-style:none;border-top:1px solid var(--border, rgba(148, 163, 184, .12))}.editor-modules .editor-attr{display:grid;grid-template-columns:minmax(200px,1.2fr) 60px minmax(0,2fr) auto;gap:.6rem;padding:.55rem .95rem;align-items:center;border-bottom:1px solid var(--border, rgba(148, 163, 184, .08));cursor:pointer;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.84rem}.editor-modules .editor-attr:last-child{border-bottom:0}.editor-modules .editor-attr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}.editor-modules .editor-attr.is-edited{background:color-mix(in srgb,#f59e0b 8%,transparent)}.editor-modules .editor-attr.is-edited:hover{background:color-mix(in srgb,#f59e0b 14%,transparent)}.editor-modules .editor-attr.is-readonly{cursor:default;opacity:.7}.editor-modules .editor-attr.is-readonly:hover{background:transparent}.editor-modules .editor-attr.is-readonly .editor-attr-edit{color:var(--text-muted, var(--text-secondary));font-style:italic}.editor-modules .editor-attr.is-search-hidden,.editor-modules .editor-module.is-search-hidden{display:none}.editor-modules .editor-attr-keyword{color:var(--text-primary);font-family:var(--font-sans, system-ui);font-size:.9rem}.editor-modules .editor-attr-keyword small{display:block;color:var(--text-muted, var(--text-secondary));font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.78rem}.editor-modules .editor-attr-vr{text-align:center;color:var(--text-secondary);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.editor-modules .editor-attr-value{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.editor-modules .editor-attr-value.is-edited-value:after{content:"· edited";margin-left:.5rem;color:#f59e0b;font-family:var(--font-sans, system-ui);font-size:.78rem;letter-spacing:.04em}.editor-modules .editor-attr-edit{color:var(--accent);font-family:var(--font-sans, system-ui);font-size:.82rem}.file-shelf .file-card{display:grid;grid-template-columns:auto 1fr auto;gap:1rem;align-items:center;padding:1rem 1.1rem;border:1px solid var(--border, rgba(148, 163, 184, .18));border-radius:12px;background:var(--bg-card, rgba(15, 23, 42, .25));transition:border-color .15s,transform .15s,box-shadow .15s}.file-shelf .file-card:hover{border-color:#0ea5e980;transform:translateY(-1px);box-shadow:0 6px 18px #0f172a0f}.file-shelf .file-card-icon{color:var(--accent);display:inline-flex}.file-shelf .file-card-body{min-width:0}.file-shelf .file-card-row{display:flex;align-items:baseline;gap:.5rem;margin:0 0 .2rem}.file-shelf .file-card-name{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-weight:600;color:var(--text-primary);font-size:.95rem;overflow-wrap:anywhere}.file-shelf .file-card-modality{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.7rem;font-weight:600;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);border-radius:4px;padding:.1em .45em;text-transform:uppercase;letter-spacing:.05em}.file-shelf .file-card-meta{display:flex;flex-wrap:wrap;gap:.4rem;font-size:.82rem;color:var(--text-secondary)}.file-shelf .file-card-meta .dot{color:var(--text-muted, var(--text-secondary))}.file-shelf .file-card-edits{color:var(--accent);font-weight:500}.file-shelf .file-card-actions{display:flex;gap:.4rem;align-items:center;flex-shrink:0}.file-shelf .file-card-btn{padding:.4rem .85rem;border-radius:999px;font-size:.82rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;border:1px solid var(--border, rgba(148, 163, 184, .18));background:transparent;color:var(--text-secondary);font-family:inherit}.file-shelf .file-card-btn:hover{background:var(--bg-elevated, rgba(15, 23, 42, .4));color:var(--text-primary)}.file-shelf .file-card-btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.file-shelf .file-card-btn--primary:hover{background:var(--accent-hover, var(--accent));color:#fff}.file-shelf .file-card-btn--icon{padding:.4rem;line-height:0}@media(max-width:480px){.file-shelf .file-card{grid-template-columns:auto 1fr;gap:.6rem .85rem}.file-shelf .file-card-actions{grid-column:1 / -1;justify-content:flex-end}}@media(max-width:600px){.editor-modules .editor-attr{grid-template-columns:minmax(0,1fr) auto;gap:.4rem .65rem;padding:.55rem .65rem}.editor-modules .editor-attr-keyword{grid-column:1 / -1}.editor-modules .editor-attr-vr{text-align:left}.editor-modules .editor-attr-value{grid-column:1}.editor-modules .editor-attr-edit{grid-column:2;align-self:end}.editor-modules .editor-attr-edit-panel{grid-row:auto}.editor-modules .editor-attr-edit-footer{flex-direction:column;align-items:stretch;gap:.45rem}.editor-modules .editor-attr-edit-actions{justify-content:flex-end}}@media(max-width:480px){.validation-issues-item{grid-template-columns:1fr}.validation-issues-fix{grid-column:1;justify-self:flex-end}}.editor-modules .editor-attr-edit-panel{grid-column:1 / -1;grid-row:2;margin-top:.65rem;padding:.85rem .95rem .75rem;background:var(--bg-elevated, rgba(15, 23, 42, .45));border:1px solid var(--border, rgba(148, 163, 184, .18));border-radius:8px;font-family:var(--font-sans, system-ui);font-size:.85rem;display:block;max-height:320px;overflow:hidden;transition:max-height .2s ease,padding .2s ease,margin .2s ease,border-width .2s ease,opacity .18s ease}.editor-modules .editor-attr-edit-panel[hidden]{display:block;max-height:0;margin-top:0;padding-top:0;padding-bottom:0;border-top-width:0;border-bottom-width:0;opacity:0;pointer-events:none}.editor-modules .editor-attr-edit-inner{display:block}.editor-modules .editor-attr.is-editing{background:color-mix(in srgb,var(--accent) 4%,transparent)}.editor-modules .editor-attr-edit-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.4rem}.editor-modules .editor-attr-edit-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);display:inline-flex;gap:.65rem;align-items:baseline;flex-wrap:wrap}.editor-modules .editor-attr-edit-vr-hint{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.72rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--text-muted, var(--text-secondary))}.editor-modules .editor-attr-edit-char-count{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.72rem;color:var(--text-muted, var(--text-secondary));flex-shrink:0}.editor-modules .editor-attr-edit-input{width:100%;padding:.45rem .65rem;font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.85rem;color:var(--text-primary);background:var(--bg-card, rgba(15, 23, 42, .4));border:1px solid var(--border, rgba(148, 163, 184, .25));border-radius:6px;transition:border-color .15s,box-shadow .15s}.editor-modules .editor-attr-edit-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.editor-modules .editor-attr-edit-input.is-invalid{border-color:#ef444480}.editor-modules .editor-attr-edit-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.55rem;flex-wrap:wrap}.editor-modules .editor-attr-edit-feedback{font-size:.78rem;color:var(--text-muted, var(--text-secondary));flex:1;min-width:0}.editor-modules .editor-attr-edit-feedback[data-state=error]{color:#ef4444}.editor-modules .editor-attr-edit-actions{display:flex;gap:.4rem;flex-shrink:0}.editor-modules .editor-attr-edit-actions .btn[hidden]{display:none}.editor-modules .editor-attr[data-severity=error]{box-shadow:inset 3px 0 #ef4444;background:color-mix(in srgb,#ef4444 4%,transparent)}.editor-modules .editor-attr[data-severity=warning]{box-shadow:inset 3px 0 #f59e0b;background:color-mix(in srgb,#f59e0b 3%,transparent)}.editor-modules .editor-attr[data-severity=info]{box-shadow:inset 3px 0 #3b82f6}.editor-modules .editor-attr[data-severity=pass]{box-shadow:inset 3px 0 color-mix(in srgb,#22c55e 50%,transparent)}.editor-modules .editor-attr[data-severity].is-editing{background:color-mix(in srgb,var(--accent) 4%,transparent)}.editor-modules .editor-attr-edit-feedback[data-state=warning]{color:#f59e0b}.validation-issues-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border, rgba(148, 163, 184, .12))}.validation-issues-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.4rem .75rem;padding:.6rem .95rem;border-bottom:1px solid var(--border, rgba(148, 163, 184, .08));font-size:.85rem}.validation-issues-item:last-child{border-bottom:0}.validation-issues-item--error{border-left:2px solid rgb(239,68,68)}.validation-issues-item--warning{border-left:2px solid rgb(245,158,11)}.validation-issues-item--info{border-left:2px solid rgb(59,130,246)}.validation-issues-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;grid-column:1 / -1}.validation-issues-sev{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.1em .5em;border-radius:4px}.validation-issues-sev--error{color:#ef4444;background:color-mix(in srgb,#ef4444 14%,transparent)}.validation-issues-sev--warning{color:#f59e0b;background:color-mix(in srgb,#f59e0b 14%,transparent)}.validation-issues-sev--info{color:#3b82f6;background:color-mix(in srgb,#3b82f6 14%,transparent)}.validation-issues-rule{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.78rem;color:var(--text-muted, var(--text-secondary))}.validation-issues-tag{font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.78rem;color:var(--accent);font-weight:600}.validation-issues-msg{color:var(--text-secondary);grid-column:1;line-height:1.4}.validation-issues-fix{grid-column:2;align-self:start;padding:.3rem .7rem;border-radius:999px;font-size:.78rem;font-weight:500;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);cursor:pointer;font-family:inherit;transition:background .15s,color .15s}.validation-issues-fix:hover{background:var(--accent);color:#fff}.viz-section:where(.astro-74f4b3lj){display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:2rem;align-items:center;margin:2rem 0}.viz-section--reverse:where(.astro-74f4b3lj){grid-template-columns:220px minmax(0,1fr)}.viz-section--reverse:where(.astro-74f4b3lj) .viz-section__text:where(.astro-74f4b3lj){grid-column:2}.viz-section--reverse:where(.astro-74f4b3lj) .viz-section__art:where(.astro-74f4b3lj){grid-column:1;grid-row:1}.viz-section__text:where(.astro-74f4b3lj){min-width:0}.viz-section__art:where(.astro-74f4b3lj){width:220px;max-width:100%;aspect-ratio:200 / 160}.viz-section__art:where(.astro-74f4b3lj) svg:where(.astro-74f4b3lj){width:100%;height:100%;display:block}@media(max-width:720px){.viz-section:where(.astro-74f4b3lj),.viz-section--reverse:where(.astro-74f4b3lj){grid-template-columns:1fr;gap:1rem}.viz-section--reverse:where(.astro-74f4b3lj) .viz-section__text:where(.astro-74f4b3lj){grid-column:1}.viz-section--reverse:where(.astro-74f4b3lj) .viz-section__art:where(.astro-74f4b3lj){grid-column:1;grid-row:auto}.viz-section__art:where(.astro-74f4b3lj){max-width:220px;width:100%}}@media(max-width:560px){.viz-section__art:where(.astro-74f4b3lj){display:none}}.cta-row:where(.astro-74f4b3lj){display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0 0}.hero-aside:where(.astro-74f4b3lj){margin:.75rem 0 0;color:var(--text-secondary);font-size:.875rem;line-height:1.55}.hero-aside:where(.astro-74f4b3lj) a:where(.astro-74f4b3lj){color:var(--accent);text-decoration:none;font-weight:600}.hero-aside:where(.astro-74f4b3lj) a:where(.astro-74f4b3lj):hover{text-decoration:underline}.btn:where(.astro-74f4b3lj){display:inline-flex;align-items:center;padding:.65rem 1.1rem;border-radius:999px;font-weight:600;font-size:.9375rem;text-decoration:none}.btn-primary:where(.astro-74f4b3lj){background:var(--accent);color:#fff}.btn-primary:where(.astro-74f4b3lj):hover{background:var(--accent-hover)}.btn-ghost:where(.astro-74f4b3lj){color:var(--text-primary);border:1px solid var(--border, rgba(148, 163, 184, .25))}.btn-ghost:where(.astro-74f4b3lj):hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.btn-disabled:where(.astro-74f4b3lj){opacity:.55;filter:grayscale(.4);cursor:not-allowed;pointer-events:none}.coming-soon-note:where(.astro-74f4b3lj){margin:.6rem 0 0;font-size:.875rem;color:var(--text-muted, var(--text-secondary));font-style:italic}.editor-tool:where(.astro-74f4b3lj){margin:2.25rem 0 0;padding:1.5rem;border:1px solid var(--border, rgba(148, 163, 184, .18));border-radius:14px;background:var(--bg-surface, rgba(255, 255, 255, .02))}.editor-tool:where(.astro-74f4b3lj) h2:where(.astro-74f4b3lj){margin:0 0 .5rem;font-size:1.4rem}.tool-blurb:where(.astro-74f4b3lj){margin:0 0 1.25rem;color:var(--text-secondary);line-height:1.55;font-size:.95rem}.tool-blurb:where(.astro-74f4b3lj) code:where(.astro-74f4b3lj){background:var(--bg-card, rgba(15, 23, 42, .4));padding:.05em .4em;border-radius:4px;font-size:.875em}.tool-blurb:where(.astro-74f4b3lj) a:where(.astro-74f4b3lj){color:var(--accent)}.editor-dropzone:where(.astro-74f4b3lj){border:2px dashed var(--border, rgba(148, 163, 184, .35));border-radius:12px;padding:1.75rem 1rem;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.editor-dropzone:where(.astro-74f4b3lj):hover,.editor-dropzone:where(.astro-74f4b3lj):focus-visible,.editor-dropzone:where(.astro-74f4b3lj).is-drag{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,transparent);outline:none}.editor-dropzone-prompt:where(.astro-74f4b3lj){margin:0;display:flex;flex-direction:column;gap:.25rem}.editor-dropzone-prompt:where(.astro-74f4b3lj) strong:where(.astro-74f4b3lj){font-size:1rem;color:var(--text-primary)}.editor-dropzone-prompt:where(.astro-74f4b3lj) strong:where(.astro-74f4b3lj) code:where(.astro-74f4b3lj){background:var(--bg-card, rgba(15, 23, 42, .4));padding:.05em .4em;border-radius:4px}.editor-dropzone-or:where(.astro-74f4b3lj){color:var(--text-muted, var(--text-secondary));font-size:.875rem}.editor-status:where(.astro-74f4b3lj){margin:1rem 0 0;padding:.85rem 1rem;border-radius:10px;font-size:.92rem;line-height:1.5;border:1px solid var(--border, rgba(148, 163, 184, .2));background:var(--bg-card, rgba(15, 23, 42, .3))}.editor-status:where(.astro-74f4b3lj).is-error{border-color:#ef444459;background:color-mix(in srgb,#ef4444 8%,transparent)}.editor-status:where(.astro-74f4b3lj).is-busy{border-color:#0ea5e959;background:color-mix(in srgb,var(--accent) 6%,transparent)}.editor-status:where(.astro-74f4b3lj).is-ok{border-color:#22c55e59;background:color-mix(in srgb,#22c55e 7%,transparent)}.editor-status:where(.astro-74f4b3lj).is-warn{border-color:#f59e0b59;background:color-mix(in srgb,#f59e0b 7%,transparent)}.editor-workspace:where(.astro-74f4b3lj){margin:1.25rem 0 0}.editor-workspace-header:where(.astro-74f4b3lj){display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;justify-content:space-between;padding:.75rem .95rem;border:1px solid var(--border, rgba(148, 163, 184, .18));border-radius:10px;background:var(--bg-card, rgba(15, 23, 42, .25))}.editor-summary:where(.astro-74f4b3lj){display:flex;flex-direction:column;gap:.2rem;min-width:0}.editor-filename:where(.astro-74f4b3lj){font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.92rem;color:var(--text-primary);font-weight:600;overflow-wrap:anywhere}.editor-ciod:where(.astro-74f4b3lj){font-size:.82rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.editor-actions:where(.astro-74f4b3lj){display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.editor-pending:where(.astro-74f4b3lj){font-size:.85rem;color:var(--text-secondary);margin-right:.4rem}.btn-sm:where(.astro-74f4b3lj){padding:.45rem .85rem;font-size:.85rem;border:1px solid var(--border, rgba(148, 163, 184, .25));cursor:pointer}.btn-sm:where(.astro-74f4b3lj)[disabled]{opacity:.45;cursor:not-allowed}.btn-sm:where(.astro-74f4b3lj):not([disabled]):hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.btn-primary:where(.astro-74f4b3lj).btn-sm{background:var(--accent);color:#fff;border-color:transparent}.btn-primary:where(.astro-74f4b3lj).btn-sm:not([disabled]):hover{background:var(--accent-hover)}.editor-search-row:where(.astro-74f4b3lj){margin:.85rem 0 0;display:flex;align-items:center;gap:.6rem}.editor-search:where(.astro-74f4b3lj){flex:1;padding:.55rem .8rem;border:1px solid var(--border, rgba(148, 163, 184, .25));border-radius:8px;background:var(--bg-card, rgba(15, 23, 42, .25));color:var(--text-primary);font-size:.92rem}.editor-search:where(.astro-74f4b3lj):focus{outline:2px solid var(--accent);outline-offset:1px}.editor-search-count:where(.astro-74f4b3lj){font-size:.82rem;color:var(--text-muted, var(--text-secondary));white-space:nowrap}.editor-modules:where(.astro-74f4b3lj){margin:.85rem 0 0;display:flex;flex-direction:column;gap:.6rem}.editor-backdrop:where(.astro-74f4b3lj){position:fixed;inset:0;background:#00000073;backdrop-filter:blur(2px);z-index:9;cursor:pointer}.editor-panel:where(.astro-74f4b3lj){position:fixed;left:50%;bottom:1rem;transform:translate(-50%);width:min(calc(100% - 2rem),720px);max-width:720px;z-index:110;padding:1rem 1.1rem;border:1px solid var(--accent);border-radius:12px;background:var(--bg-card, rgba(15, 23, 42, .92));backdrop-filter:blur(8px);box-shadow:0 12px 32px #00000052;display:flex;flex-direction:column;gap:.6rem}.editor-panel:where(.astro-74f4b3lj)[hidden]{display:none}.editor-tool:where(.astro-74f4b3lj):has(#editor-panel:not([hidden])){padding-bottom:16rem}.editor-panel-head:where(.astro-74f4b3lj){display:flex;align-items:center;gap:.75rem}.editor-panel-title:where(.astro-74f4b3lj){font-size:.95rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.editor-panel-close:where(.astro-74f4b3lj){margin-left:auto;display:inline-flex;align-items:center;gap:.35rem;background:var(--bg-surface, rgba(15, 23, 42, .4));border:1px solid var(--border, rgba(148, 163, 184, .25));color:var(--text-secondary);cursor:pointer;font-size:.85rem;font-family:inherit;line-height:1;padding:.4rem .7rem;border-radius:6px}.editor-panel-close:where(.astro-74f4b3lj)>span:where(.astro-74f4b3lj):first-child{font-size:1.2rem;line-height:1}.editor-panel-close-label:where(.astro-74f4b3lj){font-weight:500}.editor-panel-close:where(.astro-74f4b3lj):hover{color:var(--text-primary);background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:var(--accent)}.editor-panel-add-fields:where(.astro-74f4b3lj){display:flex;gap:.5rem;align-items:flex-end}.editor-panel-add-fields:where(.astro-74f4b3lj) .editor-panel-label:where(.astro-74f4b3lj){flex:1}.editor-panel-add-fields:where(.astro-74f4b3lj) .editor-panel-label:where(.astro-74f4b3lj):has(.editor-panel-input-vr){flex:0 0 6rem}.editor-panel-input-vr:where(.astro-74f4b3lj){text-transform:uppercase}.editor-panel-hint:where(.astro-74f4b3lj){margin:0;color:var(--text-muted, var(--text-secondary));font-size:.85rem}.editor-panel-tagname:where(.astro-74f4b3lj){margin:0;font-size:.85rem;font-weight:600;color:var(--accent)}.editor-panel-tagname:where(.astro-74f4b3lj)[hidden]{display:none}.editor-panel-label:where(.astro-74f4b3lj){display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--text-secondary);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.editor-panel-input:where(.astro-74f4b3lj){padding:.6rem .7rem;border-radius:8px;border:1px solid var(--border, rgba(148, 163, 184, .3));background:var(--bg-surface, rgba(15, 23, 42, .3));color:var(--text-primary);font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:.92rem;text-transform:none;letter-spacing:0;font-weight:400}.editor-panel-input:where(.astro-74f4b3lj):focus{outline:2px solid var(--accent);outline-offset:1px}.editor-panel-input:where(.astro-74f4b3lj).is-invalid{border-color:#ef444480}.editor-panel-validation:where(.astro-74f4b3lj){margin:0;color:#ef4444;font-size:.85rem}.editor-panel-actions:where(.astro-74f4b3lj){display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.editor-summary:where(.astro-74f4b3lj){flex-direction:row;align-items:baseline;gap:.65rem;flex-wrap:wrap}.editor-exit:where(.astro-74f4b3lj){position:absolute;top:12px;right:12px;gap:.35rem;flex-shrink:0;z-index:2}.editor-exit:where(.astro-74f4b3lj) svg:where(.astro-74f4b3lj){display:inline-block;vertical-align:middle}.editor-modal-panel:where(.astro-74f4b3lj) .editor-actions:where(.astro-74f4b3lj){padding-right:6.5rem}.editor-ciod:where(.astro-74f4b3lj){text-transform:none;letter-spacing:0;font-size:.85rem}.file-shelf:where(.astro-74f4b3lj){display:flex;flex-direction:column;gap:.75rem;margin:1.25rem 0 0}.file-shelf:where(.astro-74f4b3lj):empty{display:none}.editor-modal:where(.astro-74f4b3lj){position:fixed;inset:var(--navbar-height, 72px) 0 0 240px;z-index:100;overflow:hidden}.editor-modal:where(.astro-74f4b3lj)[hidden]{display:none}@media(max-width:960px){.editor-modal:where(.astro-74f4b3lj){inset:var(--navbar-height, 72px) 0 0 0}}@media(max-width:600px){.editor-modal-panel:where(.astro-74f4b3lj){padding:14px 12px}.editor-summary:where(.astro-74f4b3lj){gap:.4rem .65rem}.editor-workspace-header:where(.astro-74f4b3lj){padding:.6rem .7rem}.editor-actions:where(.astro-74f4b3lj){gap:.35rem}.validation-bar:where(.astro-74f4b3lj){padding:.55rem .7rem;gap:.6rem}.validation-summary:where(.astro-74f4b3lj){width:100%}}.editor-modal-backdrop:where(.astro-74f4b3lj){position:fixed;inset:var(--navbar-height, 72px) 0 0 240px;background:#0206178c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}@media(max-width:960px){.editor-modal-backdrop:where(.astro-74f4b3lj){inset:var(--navbar-height, 72px) 0 0 0}}:where(.astro-74f4b3lj)[data-theme=light] .editor-modal-backdrop:where(.astro-74f4b3lj){background:#0f172a66}.editor-modal-panel:where(.astro-74f4b3lj){position:relative;max-width:1080px;margin:1.5rem auto;padding:24px;height:calc(100% - 3rem);background:var(--bg-base);border:1px solid var(--border-default);border-radius:16px;overflow-y:auto;box-sizing:border-box}:where(.astro-74f4b3lj)[data-theme=light] .editor-modal-panel:where(.astro-74f4b3lj){background:var(--bg-base, #f8fafc)}.editor-modal:where(.astro-74f4b3lj) .editor-workspace:where(.astro-74f4b3lj){margin:0}.validation-bar:where(.astro-74f4b3lj){display:flex;flex-wrap:wrap;align-items:center;gap:1rem;padding:.65rem .95rem;margin-top:.85rem;border:1px solid var(--border, rgba(148, 163, 184, .18));border-radius:10px;background:var(--bg-card, rgba(15, 23, 42, .25))}.validation-toggle:where(.astro-74f4b3lj){display:inline-flex;align-items:center;gap:.65rem;cursor:pointer;user-select:none}.validation-toggle:where(.astro-74f4b3lj) input:where(.astro-74f4b3lj){position:absolute;opacity:0;pointer-events:none}.validation-toggle-track:where(.astro-74f4b3lj){position:relative;width:36px;height:20px;border-radius:999px;background:var(--border, rgba(148, 163, 184, .3));transition:background .15s;flex-shrink:0}.validation-toggle-thumb:where(.astro-74f4b3lj){position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:999px;background:#fff;transition:transform .15s;box-shadow:0 1px 3px #00000040}.validation-toggle:where(.astro-74f4b3lj) input:where(.astro-74f4b3lj):checked+.validation-toggle-track:where(.astro-74f4b3lj){background:var(--accent)}.validation-toggle:where(.astro-74f4b3lj) input:where(.astro-74f4b3lj):checked+.validation-toggle-track:where(.astro-74f4b3lj) .validation-toggle-thumb:where(.astro-74f4b3lj){transform:translate(16px)}.validation-toggle:where(.astro-74f4b3lj) input:where(.astro-74f4b3lj):focus-visible+.validation-toggle-track:where(.astro-74f4b3lj){box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.validation-toggle-label:where(.astro-74f4b3lj){font-size:.85rem;font-weight:500;color:var(--text-primary)}.validation-summary:where(.astro-74f4b3lj){display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.validation-pill:where(.astro-74f4b3lj){display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .6rem;border-radius:999px;font-size:.78rem;font-weight:500}.validation-pill:where(.astro-74f4b3lj):before{content:"";width:6px;height:6px;border-radius:999px}.validation-pill--error:where(.astro-74f4b3lj){color:#ef4444;background:color-mix(in srgb,#ef4444 12%,transparent)}.validation-pill--error:where(.astro-74f4b3lj):before{background:#ef4444}.validation-pill--warning:where(.astro-74f4b3lj){color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,transparent)}.validation-pill--warning:where(.astro-74f4b3lj):before{background:#f59e0b}.validation-pill--pass:where(.astro-74f4b3lj){color:#22c55e;background:color-mix(in srgb,#22c55e 12%,transparent)}.validation-pill--pass:where(.astro-74f4b3lj):before{background:#22c55e}.editor-workspace:where(.astro-74f4b3lj)[data-validation=off] .validation-summary:where(.astro-74f4b3lj){opacity:.35}.validation-issues:where(.astro-74f4b3lj){margin-top:.5rem;border:1px solid var(--border, rgba(148, 163, 184, .18));border-radius:10px;background:var(--bg-card, rgba(15, 23, 42, .18))}.validation-issues:where(.astro-74f4b3lj)[hidden]{display:none}.validation-issues-summary:where(.astro-74f4b3lj){cursor:pointer;list-style:none;padding:.55rem .95rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;font-size:.85rem;color:var(--text-primary)}.validation-issues-summary:where(.astro-74f4b3lj)::-webkit-details-marker{display:none}.validation-issues-summary:where(.astro-74f4b3lj):after{content:"+";color:var(--text-secondary);font-weight:400;font-size:1.1rem;margin-left:auto}.validation-issues:where(.astro-74f4b3lj)[open] .validation-issues-summary:where(.astro-74f4b3lj):after{content:"−"}.validation-issues-count:where(.astro-74f4b3lj){font-weight:600}.validation-issues-hint:where(.astro-74f4b3lj){color:var(--text-muted, var(--text-secondary));font-size:.78rem;font-weight:400}
