:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f8fafc;--fg:#0f172a;--muted:#475569;--accent:#0f766e;--accent-fg:#fff;--border:#cbd5e1;--error:#b91c1c;--surface:#fff;--preview-bg:#e2e8f0;--chip-bg:#e2e8f0;--public:#15803d;--unlisted:#b45309;font-family:system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0b1120;--fg:#e2e8f0;--muted:#94a3b8;--accent:#2dd4bf;--accent-fg:#042f2e;--border:#334155;--error:#f87171;--surface:#111a2e;--preview-bg:#1e293b;--chip-bg:#1e293b;--public:#4ade80;--unlisted:#fbbf24}}body{background:var(--bg);color:var(--fg);margin:0}.page{box-sizing:border-box;place-content:center;justify-items:center;gap:16px;min-height:100vh;padding:16px;display:grid}button{font:inherit;border:1px solid var(--border);color:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:10px 18px}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.providers{gap:8px;min-width:min(280px,100vw - 32px);display:grid}.error{color:var(--error)}.muted{color:var(--muted)}.logo{aspect-ratio:684/297;background-color:currentColor;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.login-logo{margin:0 0 8px}.login-logo .logo{width:min(360px,100vw - 32px)}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.app-name{font-size:1.125rem;font-weight:700}.app-user{align-items:center;gap:12px;min-width:0;display:flex}.app-user span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.app-user button{padding:6px 12px}.avatar-small{border-radius:50%;width:32px;height:32px}.content{max-width:1200px;margin:0 auto;padding:24px 16px 48px}.content h1{align-items:center;gap:12px;margin:0 0 24px;font-size:1.5rem;display:flex}.count{background:var(--chip-bg);color:var(--muted);border-radius:999px;padding:2px 10px;font-size:.875rem;font-weight:600}.graphic-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.graphic-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.graphic-preview{aspect-ratio:4/3;background:var(--preview-bg);place-items:center;padding:12px;display:grid}.graphic-preview img{object-fit:contain;max-width:100%;max-height:100%}.graphic-body{gap:8px;padding:12px 16px 16px;display:grid}.graphic-body h2{margin:0;font-size:1rem}.graphic-description{color:var(--muted);margin:0;font-size:.875rem}.tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tags li{background:var(--chip-bg);border-radius:999px;padding:2px 8px;font-size:.75rem}.graphic-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin:0;font-size:.75rem;display:flex}.badge{font-weight:600}.badge-public{color:var(--public)}.badge-unlisted{color:var(--unlisted)}.content-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin:0 0 24px;display:flex}.content-header h1{margin:0}button:disabled{opacity:.6;cursor:default}.dialog{border:1px solid var(--border);background:var(--surface);width:min(480px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--fg);border-radius:12px;padding:0;box-shadow:0 20px 50px #00000059}.dialog[open]{flex-direction:column;display:flex}.dialog::backdrop{background:#0f172a8c}.dialog-wide{width:min(880px,100vw - 32px)}.dialog-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.dialog-header h2{margin:0;font-size:1.125rem}.dialog-close{border:none;padding:2px 10px;font-size:1.5rem;line-height:1}.dialog-body{padding:16px;overflow-y:auto}.dialog-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.form{gap:16px;display:grid}.form .error p{margin:0}.field{gap:6px;display:grid}.field label{font-size:.875rem;font-weight:600}.field input,.field textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:inherit;box-sizing:border-box;border-radius:8px;width:100%;padding:8px 10px}.field textarea{resize:vertical}.field textarea.code{tab-size:2;white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.5}.field [aria-invalid=true]{border-color:var(--error)}.field-errors{color:var(--error);margin:0;padding-left:18px;font-size:.8125rem}.graphic-card{transition:border-color .15s;position:relative}.graphic-card:hover,.graphic-card:focus-within{border-color:var(--accent)}.card-link{color:inherit;text-decoration:none}.card-link:after{content:"";position:absolute;inset:0}.card-link:focus-visible{outline:none}.graphic-card:has(.card-link:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.split{--split-divider:8px;min-width:0;min-height:0;display:flex}.split-horizontal{flex-direction:row}.split-vertical{flex-direction:column}.split-pane{min-width:0;min-height:0;overflow:auto}.split-first{flex-grow:0;flex-shrink:0}.split-second{flex:1 1 0}.split-divider{flex:0 0 var(--split-divider);touch-action:none;background:0 0;position:relative}.split-horizontal>.split-divider{cursor:col-resize}.split-vertical>.split-divider{cursor:row-resize}.split-divider:after{content:"";background:var(--border);transition:background .15s;position:absolute}.split-horizontal>.split-divider:after{inset:0 3px}.split-vertical>.split-divider:after{inset:3px 0}.split-divider:hover:after,.split-divider:focus-visible:after,.split-dragging>.split-divider:after{background:var(--accent)}.split-divider:focus-visible{outline:none}.split-dragging{-webkit-user-select:none;user-select:none}.split-dragging.split-horizontal{cursor:col-resize}.split-dragging.split-vertical{cursor:row-resize}.app-fill{flex-direction:column;height:100dvh;display:flex}.detail{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px 16px 16px;display:flex}.detail-header{flex-wrap:wrap;align-items:baseline;gap:4px 16px;display:flex}.detail-header h1{margin:0;font-size:1.25rem}.back-link{color:var(--accent);font-size:.875rem;text-decoration:none}.back-link:hover{text-decoration:underline}.detail-split{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex:1;overflow:hidden}.graphic-live{background:var(--preview-bg);height:100%;position:relative;overflow:hidden}.graphic-live-canvas{position:absolute;inset:0}.graphic-live-selectable .graphic-live-canvas svg svg *{cursor:pointer}.graphic-live-highlight{box-sizing:border-box;border:2px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);pointer-events:none;border-radius:2px;min-width:4px;min-height:4px;position:absolute;top:0;left:0;box-shadow:0 0 0 1px #0009}.graphic-live-highlight[hidden]{display:none}.graphic-live-error{background:var(--surface);border-radius:8px;margin:0;padding:8px 12px;position:absolute;inset:auto 16px 16px}.variable-controls{align-content:start;gap:16px;padding:16px;display:grid}.variable-controls-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.variable-controls-header h2{margin:0;font-size:1rem}.variable-controls-header button{padding:4px 12px;font-size:.875rem}.variable{border-bottom:1px solid var(--border);gap:6px;padding-bottom:16px;display:grid}.variable:last-child{border-bottom:none}.variable-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.variable-head label{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;font-weight:600}.variable-boolean{justify-content:flex-start;align-items:center}.variable-range{color:var(--muted);white-space:nowrap;font-size:.75rem}.variable-number{grid-template-columns:1fr 96px;align-items:center;gap:8px;display:grid}.variable input[type=range]{width:100%;accent-color:var(--accent)}.variable input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);margin:0}.variable input[type=number],.variable input[type=text]{font:inherit;border:1px solid var(--border);background:var(--bg);color:inherit;box-sizing:border-box;border-radius:6px;width:100%;padding:6px 8px;font-size:.875rem}.key-frames{flex-wrap:wrap;gap:6px;display:flex}.key-frames button{border-radius:999px;padding:2px 10px;font-size:.75rem}.key-frames button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.detail-side{height:100%}.metadata-form{align-content:start;gap:12px;padding:16px;display:grid}.metadata-form h2{margin:0;font-size:1rem}.metadata-form .field input[readonly],.metadata-form .field textarea[readonly]{background:0 0}.form-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.form-actions button{padding:6px 14px}.form-status{margin-right:auto;font-size:.875rem}.checkbox-field{align-items:center;gap:8px;display:flex}.checkbox-field input{width:18px;height:18px;accent-color:var(--accent);margin:0}.field .checkbox-field label{font-weight:600}.field-hint{margin:0;font-size:.8125rem}.button-link{border:1px solid var(--border);color:inherit;border-radius:8px;padding:6px 14px;font-size:.875rem;text-decoration:none;display:inline-block}.button-link:hover{border-color:var(--accent);color:var(--accent)}.button-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.detail-header-action{align-self:center;margin-left:auto}.editor-top,.editor-bottom{height:100%}.svg-tree{align-content:start;gap:8px;padding:16px 8px 16px 16px;display:grid}.svg-tree h2{margin:0;font-size:1rem}.svg-tree-list{margin:0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;list-style:none}.svg-tree-row{cursor:default;white-space:nowrap;border-radius:4px;align-items:baseline;gap:4px;padding-block:2px;padding-inline-end:8px;display:flex}.svg-tree-row:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}.svg-tree-row.selected{background:color-mix(in srgb, var(--accent) 18%, transparent)}.svg-tree-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.svg-tree-toggle{text-align:center;color:var(--muted);cursor:pointer;flex:0 0 14px}.svg-tree-label{align-items:baseline;gap:6px;min-width:0;display:inline-flex}.svg-tree-tag{color:var(--accent)}.svg-tree-attribute{color:inherit}.svg-tree-text{color:var(--muted);font-family:system-ui,sans-serif}.svg-tree-count{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:0 6px;font-size:.6875rem}.svg-tree-empty{padding:16px}
