:root{--background: hsl(170 20% 98%);--foreground: hsl(170 40% 10%);--card: hsl(0 0% 100%);--muted-foreground: hsl(170 10% 45%);--border: hsl(170 20% 88%);--primary: hsl(160 100% 35%);--primary-foreground: hsl(0 0% 100%);--secondary: hsl(170 20% 92%);--destructive: hsl(0 84% 60%);--ring: hsl(160 100% 35%);--bg: var(--background);--panel: var(--card);--panel-2: hsl(170 20% 96%);--text: var(--foreground);--muted: var(--muted-foreground);--accent: var(--primary);--danger: var(--destructive)}html.dark{--background: hsl(170 30% 4%);--foreground: hsl(170 10% 95%);--card: hsl(170 30% 6%);--muted-foreground: hsl(170 15% 65%);--border: hsl(170 20% 12%);--primary: hsl(160 100% 45%);--primary-foreground: hsl(170 40% 10%);--secondary: hsl(170 25% 10%);--destructive: hsl(0 62% 45%);--ring: hsl(160 100% 45%);--bg: var(--background);--panel: var(--card);--panel-2: hsl(170 25% 10%);--text: var(--foreground);--muted: var(--muted-foreground);--accent: var(--primary);--danger: var(--destructive)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}code{font-size:.9em}.runtime-header{position:fixed;top:0;left:0;right:0;z-index:50;height:56px;border-bottom:1px solid color-mix(in hsl,hsl(var(--border)) 70%,transparent);background:color-mix(in hsl,var(--background) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}html.dark .runtime-header{border-bottom-color:color-mix(in hsl,var(--border) 70%,transparent);background:color-mix(in hsl,var(--background) 85%,transparent)}.runtime-header__inner{width:100%;max-width:none;margin:0 auto;padding:0 clamp(16px,4vw,40px);height:100%;display:flex;align-items:center;justify-content:space-between;gap:16px}.runtime-header__brand{display:flex;flex-direction:column;align-items:flex-start;gap:0;background:none;border:0;color:var(--text);cursor:pointer;padding:4px 8px;border-radius:8px}.runtime-header__brand:hover{background:var(--secondary)}.runtime-header__title{font-weight:700;font-size:15px;line-height:1.1}.runtime-header__subtitle{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.runtime-header__nav{display:flex;gap:4px;flex:1;justify-content:center}.runtime-header__nav-link{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--muted);font-size:14px;cursor:pointer}.runtime-header__nav-link:hover{color:var(--text);background:var(--secondary)}.runtime-header__nav-link.is-active{color:var(--primary);border-color:color-mix(in hsl,var(--primary) 35%,transparent);background:color-mix(in hsl,var(--primary) 12%,transparent);font-weight:600}.runtime-header__actions{display:flex;gap:8px}.runtime-header__icon-btn{width:40px;height:40px;border-radius:999px;border:1px solid color-mix(in hsl,var(--border) 80%,transparent);background:color-mix(in hsl,var(--secondary) 50%,transparent);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.runtime-header__icon-btn:hover{color:var(--text);background:var(--secondary);transform:scale(1.04)}.page-shell{padding-top:72px;min-height:100vh}.page{width:100%;max-width:none;margin:0 auto;padding:24px clamp(16px,4vw,40px)}.page--home{padding-bottom:48px}.hero-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:20px}.hero-card h1{margin:0 0 8px}.home-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;align-items:center}@media(max-width:768px){.home-actions{flex-direction:column;align-items:stretch}}.btn-link{display:inline-flex;align-items:center;padding:8px 14px;border-radius:8px;border:1px solid var(--border);color:var(--text);text-decoration:none;font-size:14px}.btn-link:hover{background:var(--secondary)}.drop-zone{border:2px dashed color-mix(in hsl,var(--primary) 45%,var(--border));border-radius:16px;padding:36px 20px;text-align:center;margin-bottom:20px;background:color-mix(in hsl,var(--panel) 90%,transparent);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,transform .2s ease}.drop-zone--active{border-color:color-mix(in hsl,var(--primary) 75%,var(--border));background:color-mix(in hsl,var(--primary) 12%,var(--panel));box-shadow:0 0 0 3px color-mix(in hsl,var(--primary) 25%,transparent);transform:scale(1.01)}.drop-zone__title{margin:0 0 6px;font-weight:600}.recent-head{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}@media(min-width:720px){.recent-head{flex-direction:row;align-items:center;justify-content:space-between}}.recent-search{position:relative;min-width:0;flex:1;max-width:420px}.recent-search input{width:100%;padding-left:36px}.recent-search__icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.recent-list{list-style:none;margin:0;padding:0}.recent-row{display:flex;align-items:stretch;gap:8px}.recent-item{width:100%;text-align:left;padding:12px 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);margin-bottom:8px;cursor:pointer;color:var(--text)}.recent-item:hover{border-color:color-mix(in hsl,var(--primary) 40%,var(--border))}.recent-item__id{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:13px;display:block}.recent-item__meta{font-size:12px}.recent-item__delete{width:40px;min-width:40px;border-radius:10px;border:1px solid var(--border);background:var(--panel-2);color:var(--muted);display:inline-flex;align-items:center;justify-content:center}.recent-item__delete-btn{display:inline-flex}.recent-item__delete:hover{color:var(--danger);border-color:color-mix(in hsl,var(--danger) 45%,var(--border))}.recent-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}.recent-pagination__controls{display:inline-flex;align-items:center;gap:6px;position:relative;flex-wrap:wrap}.recent-pagination__page-label{display:inline-flex;align-items:center;gap:6px}.recent-pagination__page-label input{width:52px;text-align:center}.dropup{position:relative}.recent-pagination__size-menu{position:absolute;right:0;bottom:calc(100% + 8px);border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 10px 30px color-mix(in hsl,hsl(170 30% 4%) 28%,transparent);padding:6px;min-width:90px;z-index:20}.recent-pagination__size-item{width:100%;text-align:left;border:0;background:transparent;color:var(--text);border-radius:8px;padding:8px 10px}.recent-pagination__size-item:hover{background:var(--secondary)}.recent-pagination__size-item.is-active{color:var(--primary);font-weight:700}.recent-actions-row{margin-top:8px;padding-top:12px;border-top:1px solid color-mix(in hsl,var(--border) 80%,transparent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:color-mix(in hsl,hsl(170 30% 4%) 55%,transparent);display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;overflow:auto}.modal-panel{width:min(520px,100%);background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:20px;margin-top:40px;box-shadow:0 24px 60px color-mix(in hsl,hsl(170 30% 4%) 35%,transparent)}.modal-panel__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.modal-panel__head h2{margin:0;font-size:18px}.modal-panel__hint{margin:8px 0 0;font-size:13px}.modal-panel__section{margin-top:18px}.modal-panel__foot{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.field-label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.mode-pills{display:flex;gap:10px;flex-wrap:wrap}.ok-pill,.warn-pill{font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--border)}.ok-pill{border-color:color-mix(in hsl,var(--primary) 50%,transparent);color:var(--primary)}.warn-pill{border-color:color-mix(in hsl,var(--danger) 45%,transparent);color:var(--danger)}.error-text{color:var(--danger);font-size:14px;margin-top:8px}.delete-preview{margin-top:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);padding:10px}.delete-preview__item,.delete-preview__more{font-size:13px;color:var(--muted)}.modal-panel--danger h2{color:var(--danger)}.status-pill{display:inline-flex;padding:8px 10px;border-radius:999px;border:1px solid var(--border);font-size:13px}.status-pill--ok{border-color:color-mix(in hsl,var(--primary) 45%,transparent);color:var(--primary)}.status-pill--warn{border-color:color-mix(in hsl,#f59e0b 45%,transparent);color:#d97706}.status-pill--error{border-color:color-mix(in hsl,var(--danger) 45%,transparent);color:var(--danger)}.config-validator{margin-top:10px;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:13px}.config-validator--valid{border-color:color-mix(in hsl,var(--primary) 45%,transparent);background:color-mix(in hsl,var(--primary) 12%,transparent)}.config-validator--invalid{border-color:color-mix(in hsl,var(--danger) 45%,transparent);background:color-mix(in hsl,var(--danger) 10%,transparent)}.config-validator--empty{border-color:var(--border);background:color-mix(in hsl,var(--panel-2) 65%,transparent)}.switch{position:relative;display:inline-flex;width:40px;height:22px;margin-right:6px}.switch input{opacity:0;width:0;height:0}.switch__track{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in hsl,var(--border) 75%,transparent);border-radius:999px;transition:background .2s ease}.switch__track:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:999px;background:var(--panel);transition:transform .2s ease}.switch input:checked+.switch__track{background:color-mix(in hsl,var(--primary) 65%,transparent)}.switch input:checked+.switch__track:after{transform:translate(18px)}.import-panel{margin-top:14px}@media(max-width:768px){.row{flex-direction:column;align-items:stretch}.field,.field-wide{min-width:0;width:100%}.runtime-header__nav{display:none}}.workspace-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px}.workspace-head h1{margin:0 0 6px}button.danger.ghost{border-color:color-mix(in hsl,var(--danger) 45%,transparent);background:transparent}.panel{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px}.row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.field{display:flex;flex-direction:column;gap:6px;min-width:240px;flex:1}.field-inline{display:flex;gap:8px;align-items:center}.theme-btn{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:999px;padding:8px 12px}.toolbar-dropdown{position:relative}.toolbar-dropdown__btn{display:inline-flex;align-items:center;gap:6px}.toolbar-dropdown__current{font-weight:600}.toolbar-dropdown__menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;margin:0;padding:6px;list-style:none;min-width:220px;border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:0 10px 30px color-mix(in hsl,hsl(170 30% 4%) 28%,transparent)}.toolbar-dropdown--dropup .toolbar-dropdown__menu{top:auto;bottom:calc(100% + 8px)}.toolbar-dropdown__option{width:100%;text-align:left;border:0;border-radius:8px;background:transparent;color:var(--text)}.toolbar-dropdown__option:hover{background:var(--secondary)}.toolbar-dropdown__option.is-active{color:var(--primary);font-weight:700}.field-wide{min-width:360px}button,select,input{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px}textarea{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:8px;padding:8px 10px;min-height:84px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}button.primary{border-color:color-mix(in hsl,var(--primary) 55%,var(--border));background:color-mix(in hsl,var(--primary) 18%,transparent);color:var(--text)}html.dark button.primary{color:var(--foreground)}button.danger{border-color:color-mix(in hsl,var(--danger) 55%,var(--border));background:color-mix(in hsl,var(--danger) 14%,transparent)}button:disabled{opacity:.55;cursor:not-allowed}button.is-done{border-color:color-mix(in hsl,var(--primary) 50%,transparent);color:var(--primary)}button.is-error{border-color:color-mix(in hsl,var(--danger) 50%,transparent);color:var(--danger)}.inline-control{display:flex;gap:8px;align-items:center}.inline-control input{width:140px}.muted{color:var(--muted)}pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:12px;max-height:520px;overflow:auto}.json-block{border:1px solid var(--border);border-radius:10px;background:var(--panel-2);overflow:hidden}.json-block__summary{width:100%;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:10px 12px;border:0;border-bottom:1px solid var(--border);background:var(--panel-2);color:var(--text);font:inherit;text-align:left}.json-block__chevron{font-size:12px}.json-block__collapsible{display:grid;grid-template-rows:0fr;transition:grid-template-rows .28s ease}.json-block--open .json-block__collapsible{grid-template-rows:1fr}.json-block__collapsible-inner{overflow:hidden;min-height:0}.json-block__empty{margin:0;padding:20px 14px;font-size:14px}.json-actions{display:flex;gap:8px;padding:10px 12px}.json-viewer{margin:0;border:0;border-top:1px solid var(--border);border-radius:0;max-height:460px}.json-viewer code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.5}.json-block .token.property{color:#0066bf}.json-block .token.string{color:#0d7a3e}.json-block .token.number,.json-block .token.boolean,.json-block .token.null{color:#a35f00}.json-block .token.punctuation{color:var(--muted)}html.dark .json-block .token.property{color:#7cc4ff}html.dark .json-block .token.string{color:#8ce99a}html.dark .json-block .token.number,html.dark .json-block .token.boolean,html.dark .json-block .token.null{color:#ffd280}html.dark .json-block .token.punctuation{color:var(--muted)}.perf-badge{display:inline-flex;gap:8px;align-items:baseline;padding:6px 10px;border:1px solid var(--accent);border-radius:999px;background:color-mix(in hsl,var(--accent) 16%,transparent)}.perf-badge strong{font-size:16px}
