:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-bg:#e9edf2;--text:#333;--surface:#fff;--surface-alt:#f6f8fa;--row-hover:#e6f0fa;--row-active:#fffa90;--field-bg:#fff;--well-bg:#f7f7f7;--code-bg:#fafafa;--thumb-bg:#f3f5f8;--border:#aaa;--border-mid:#c5c5c5;--line:#ccc;--line-soft:#ddd;--field-border:#a9a9a9;--title-top:#f9f9f9;--title-bottom:#d3dae2;--title-text:#222;--card-top:#fdfdfd;--card-bottom:#eceff2;--head-top:#f6f6f6;--head-bottom:#dcdcdc;--head-text:#333;--btn-top:#fdfdfd;--btn-bottom:#e2e2e2;--btn-border:#b3b3b3;--btn-text:#444;--btn-hover-top:#f5faff;--btn-hover-bottom:#cddff2;--btn-hover-border:#7ea7d0;--btn-hover-text:#1c3d5e;--btn-active-top:#d7dee6;--btn-active-bottom:#eef1f4;--bevel:#fff;--tab-top:#f7f7f7;--tab-bottom:#dadada;--tab-text:#555;--tab-active-text:#0b5ea8;--accent:#3b8fde;--focus:#7fb3e8;--focus-border:#5b9bd5;--input-text:#222;--label:#444;--muted:#666;--hint:#777;--stat-value:#1d1d1d;--notice-ok-border:#dad55e;--notice-ok-bg:#fffa90;--notice-ok-text:#777620;--notice-err-border:#f1a899;--notice-err-bg:#fddfdf;--notice-err-text:#5f3f3f;--ok:#2b7a0b;--err:#cd0a0a;--overlay:#aaaaaa59}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-bg:#14181d;--text:#d6dbe1;--surface:#1e242b;--surface-alt:#232a32;--row-hover:#2b3a4a;--row-active:#4d4a1c;--field-bg:#151a20;--well-bg:#232a32;--code-bg:#171c22;--thumb-bg:#171c22;--border:#56606b;--border-mid:#47505a;--line:#3d4650;--line-soft:#343c45;--field-border:#56606b;--title-top:#3a434d;--title-bottom:#262d35;--title-text:#e8ecf0;--card-top:#2a3139;--card-bottom:#232a31;--head-top:#38414a;--head-bottom:#2a3139;--head-text:#dde2e7;--btn-top:#3b444e;--btn-bottom:#2a3139;--btn-border:#56606b;--btn-text:#d6dbe1;--btn-hover-top:#34506b;--btn-hover-bottom:#26415a;--btn-hover-border:#5b8fc4;--btn-hover-text:#e3f0ff;--btn-active-top:#1f262d;--btn-active-bottom:#2c343c;--bevel:#ffffff14;--tab-top:#333c45;--tab-bottom:#262d34;--tab-text:#b4bdc6;--tab-active-text:#7fbcf5;--accent:#4aa0f0;--focus:#5ea3ee;--focus-border:#5b9bd5;--input-text:#e3e7eb;--label:#c5ccd3;--muted:#98a2ad;--hint:#8f99a4;--stat-value:#eef1f4;--notice-ok-border:#6b6725;--notice-ok-bg:#3f3c17;--notice-ok-text:#e5e08a;--notice-err-border:#7a3b33;--notice-err-bg:#4a2622;--notice-err-text:#f2c9c3;--ok:#5dbb3b;--err:#f0625d;--overlay:#0000008c}[hidden]{display:none!important}*{box-sizing:border-box}body{background:var(--page-bg);color:var(--text);margin:0;font:13px/1.4 Segoe UI,Arial,Helvetica,sans-serif}.app{border:1px solid var(--border);background:var(--surface);border-radius:4px;max-width:1000px;margin:14px auto;padding-bottom:10px;box-shadow:0 1px 5px #00000040}.titlebar{border-bottom:1px solid var(--border);background:linear-gradient(var(--title-top), var(--title-bottom));color:var(--title-text);text-shadow:0 1px 0 var(--bevel);border-radius:3px 3px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;padding:6px 10px;font-weight:700;display:flex}.titlebar h1{margin:0;font-size:15px}.brand{align-items:center;gap:8px;display:flex}.brand-logo{width:auto;height:18px}.tools{flex-wrap:wrap;align-items:center;gap:6px 10px;font-weight:400;display:flex}button,a.btn{border:1px solid var(--btn-border);background:linear-gradient(var(--btn-top), var(--btn-bottom));box-shadow:inset 0 1px 0 var(--bevel);color:var(--btn-text);font:inherit;text-shadow:0 1px 0 var(--bevel);cursor:pointer;border-radius:3px;margin:0;padding:3px 12px;text-decoration:none;display:inline-block}button:hover:not(:disabled),a.btn:hover{border-color:var(--btn-hover-border);background:linear-gradient(var(--btn-hover-top), var(--btn-hover-bottom));color:var(--btn-hover-text)}button:active:not(:disabled),a.btn:active,button[aria-pressed=true]{background:linear-gradient(var(--btn-active-top), var(--btn-active-bottom));box-shadow:inset 0 1px 3px #00000040}button:focus-visible,a.btn:focus-visible,input:focus-visible{outline:2px solid var(--focus);outline-offset:1px}button:disabled{opacity:.5;cursor:default}.small,a.btn.small{padding:1px 8px;font-size:12px}button.primary{color:#fff;text-shadow:0 -1px #00000059;background:linear-gradient(#72b4f0,#2f7cc7);border-color:#2a6fb3;font-weight:700;box-shadow:inset 0 1px #fff6}button.primary:hover:not(:disabled){color:#fff;background:linear-gradient(#86c0f5,#3b8ad6);border-color:#1f5a95}button.danger{color:#fff;text-shadow:0 -1px #00000059;background:linear-gradient(#ec8a80,#c63c31);border-color:#b0362d;font-weight:700;box-shadow:inset 0 1px #fff6}button.danger:hover:not(:disabled){color:#fff;background:linear-gradient(#f29a91,#d24a3f);border-color:#8f2921}input[type=text],input[type=password],select{border:1px solid var(--field-border);background:var(--field-bg);color:var(--input-text);font:inherit;border-radius:3px;padding:3px 6px;box-shadow:inset 0 1px 2px #00000026}input[type=text]:focus,input[type=password]:focus,select:focus{border-color:var(--focus-border);box-shadow:inset 0 1px 2px #00000026, 0 0 3px var(--focus);outline:none}label{color:var(--label);flex-direction:column;gap:2px;font-size:12px;font-weight:700;display:flex}label input,label select{font-weight:400}.form-row{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;margin-bottom:10px;display:flex}.ep{color:var(--muted);margin:0 0 8px;font:12px Consolas,Courier New,monospace}.hint{color:var(--hint);margin:4px 0 0;font-size:12px}.stats{border:1px solid var(--border-mid);background:linear-gradient(var(--card-top), var(--card-bottom));border-radius:4px;flex-wrap:wrap;margin:10px 10px 0;display:flex}.stat{border-right:1px solid var(--line-soft);flex-direction:column;flex:96px;padding:4px 10px;display:flex}.stat:last-child{border-right:0}.stat span{color:var(--muted);font-size:11px}.stat b{color:var(--stat-value);font-size:14px}.notice{border:1px solid;border-radius:4px;margin:10px 10px 0;padding:6px 10px}.notice.ok{border-color:var(--notice-ok-border);background:var(--notice-ok-bg);color:var(--notice-ok-text)}.notice.err{border-color:var(--notice-err-border);background:var(--notice-err-bg);color:var(--notice-err-text)}.ok{color:var(--ok)}.err{color:var(--err)}.tabs{margin:10px 10px 0}.tab-list{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:2px;margin:0;padding:0 0 0 2px;list-style:none;display:flex}.tab{border-color:var(--border-mid);background:linear-gradient(var(--tab-top), var(--tab-bottom));color:var(--tab-text);border-bottom:0;border-radius:4px 4px 0 0;padding:5px 14px;font-weight:700;position:relative;top:1px}.tab.active,.tab.active:hover:not(:disabled){border-color:var(--border);background:var(--surface);box-shadow:inset 0 2px 0 var(--accent);color:var(--tab-active-text);padding-bottom:6px}.panel{border:1px solid var(--border);background:var(--surface);border-top:0;border-radius:0 0 4px 4px;padding:10px}.tab-list.sub{margin-top:2px;padding-left:0}.tab-list.sub .tab{padding:3px 12px;font-size:12px}.tab-list.sub .tab.active,.tab-list.sub .tab.active:hover:not(:disabled){padding-bottom:4px}.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border:1px solid var(--line);text-align:left;vertical-align:middle;padding:4px 8px}th{background:linear-gradient(var(--head-top), var(--head-bottom));color:var(--head-text);text-shadow:0 1px 0 var(--bevel);white-space:nowrap;font-weight:700}tbody tr:nth-child(2n){background:var(--surface-alt)}tbody tr:hover{background:var(--row-hover)}tbody tr.active,tbody tr.active:hover{background:var(--row-active)}td.wrap{overflow-wrap:anywhere}td.actions{white-space:nowrap}td.actions>*{margin-right:4px}.gallery-summary{margin:0 0 8px}.gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.tile{border:1px solid var(--border-mid);background:linear-gradient(var(--card-top), var(--card-bottom));border-radius:4px;flex-direction:column;min-width:0;display:flex;overflow:hidden;box-shadow:0 1px 2px #00000026}.tile:hover{border-color:var(--btn-hover-border)}.thumb{aspect-ratio:1;border-bottom:1px solid var(--border-mid);background:var(--thumb-bg);color:var(--hint);justify-content:center;align-items:center;font-size:12px;display:flex;position:relative;box-shadow:inset 0 1px 3px #0000001f}.thumb img{object-fit:contain;opacity:0;width:100%;height:100%}.thumb img.loaded{opacity:1}.thumb-note{text-align:center;padding:0 6px;position:absolute}.tile-meta{flex-direction:column;min-width:0;padding:4px 6px 0;display:flex}.tile-name,.tile-info{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tile-name{font-weight:700}.tile-info{color:var(--muted);font-size:11px}.tile-actions{flex-wrap:wrap;gap:4px;margin-top:auto;padding:6px;display:flex}pre.log{border:1px solid var(--line);background:var(--code-bg);max-height:340px;color:var(--input-text);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:3px;margin:0;padding:8px;font:12px Consolas,Courier New,monospace;overflow:auto;box-shadow:inset 0 1px 2px #0000001a}.overlay{z-index:10;background:var(--overlay);justify-content:center;align-items:flex-start;padding-top:15vh;display:flex;position:fixed;inset:0}.dialog{border:1px solid var(--border);background:var(--surface);border-radius:4px;width:min(380px,92vw);box-shadow:0 0 8px #0006}.dialog .content{padding:14px 12px}.dialog .content p{margin:0 0 8px}.dialog .content .ep{margin-bottom:10px}.dialog .close{padding:0 7px;font-size:16px;line-height:18px}.buttonpane{border-top:1px solid var(--line-soft);background:var(--well-bg);border-radius:0 0 3px 3px;justify-content:flex-end;gap:6px;padding:8px 10px;display:flex}.login-wrap{justify-content:center;padding:12vh 12px 0;display:flex}.dialog.static form{flex-direction:column;gap:10px;display:flex}.dialog.static input{width:100%}.dialog.static button.primary{align-self:flex-start}.dialog.static .notice{margin:0}@media (max-width:640px){.app{border-width:0 0 1px;border-radius:0;margin:0}.tab{padding:5px 8px}label,input[type=text]{width:100%}}
