:root{color-scheme:light dark;--bg: #fafafa;--surface: #fff;--text: #1c1c1e;--muted: #6b6b70;--border: #e2e2e6;--accent: #3b6df0;--danger: #c62828}@media(prefers-color-scheme:dark){:root{--bg: #131316;--surface: #1c1c20;--text: #ececf0;--muted: #9a9aa2;--border: #2e2e34;--accent: #7c9cff;--danger: #ef6b6b}}*{box-sizing:border-box}body{margin:0;font:15px/1.45 system-ui,sans-serif;background:var(--bg);color:var(--text)}button{font:inherit;padding:6px 14px;border:0;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer}button:disabled{opacity:.6;cursor:default}button.link{padding:0;background:none;color:var(--accent)}.muted{color:var(--muted)}.error{color:var(--danger)}.login{max-width:340px;margin:12vh auto;padding:24px;display:flex;flex-direction:column;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.login h1{margin:0}.login label{display:flex;flex-direction:column;gap:4px}input{font:inherit;padding:8px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text)}.topbar{display:flex;align-items:center;gap:16px;padding:10px 20px;background:var(--surface);border-bottom:1px solid var(--border)}.brand{display:inline-flex;align-items:center;gap:8px}.brand img{display:block}.topbar-user{margin-left:auto;color:var(--muted)}.explorer{padding:16px 20px}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:12px}.toolbar{margin-left:auto;display:flex;align-items:center;gap:14px}.split{display:flex;gap:20px;align-items:flex-start}.listing{flex:1;width:100%;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:4px 12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--border)}tr:last-child td{border-bottom:0}th{color:var(--muted);font-weight:500}.num{text-align:right;white-space:nowrap}.row{cursor:pointer}.row:hover,.row.selected{background:color-mix(in srgb,var(--accent) 10%,transparent)}.badge{margin-left:8px;padding:1px 7px;border-radius:10px;font-size:12px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.details{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;width:clamp(360px,36vw,640px);flex-shrink:0;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.details-head{display:flex;justify-content:space-between;gap:12px}.details h2{margin:0;font-size:17px;word-break:break-all}.path{word-break:break-all;font-size:13px}dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px}dt{color:var(--muted)}dd{margin:0}.versions{list-style:none;margin:0;padding:0}.versions li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid var(--border)}@media(max-width:800px){.split{flex-direction:column;align-items:stretch}.details{top:auto;bottom:0;width:100%;max-height:55vh}}.tabs{display:flex;gap:4px}button.tab{background:none;color:var(--muted)}button.tab.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.conflicts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.conflict{padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.conflict p{margin:6px 0}.conflict-name{font-weight:600;word-break:break-all}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0}button.danger{background:var(--danger)}.uploads{list-style:none;margin:0 0 12px;padding:8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.uploads li{display:flex;justify-content:space-between;gap:12px;padding:3px 0}.row-actions{text-align:right;white-space:nowrap}button.icon-button{display:inline-flex;align-items:center;padding:4px;background:none;color:var(--muted)}button.icon-button:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}button.icon-button.danger-text:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.back{padding:12px 20px 0}.emulators{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}button.emulator{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:10px;text-align:left}button.emulator:hover{border-color:var(--accent)}button.emulator img{object-fit:contain}.back{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.versions li>span{display:inline-flex;align-items:center;gap:8px}.versions li>span:last-child{flex-shrink:0;white-space:nowrap}.versions .badge{margin-left:0}.icon-slot{display:inline-block;width:26px;height:26px}.selected-files{list-style:none;margin:12px 0 0;padding:0;max-height:40vh;overflow-y:auto;font-size:13px;color:var(--muted)}.selected-files li{padding:3px 0;word-break:break-all}.summary{margin:0 0 12px}.emulator-text{display:flex;flex-direction:column;min-width:0}.emulator-meta{font-size:13px}dialog.clear-dialog{max-width:460px;width:calc(100% - 32px);padding:20px 22px;background:var(--surface);color:var(--text);border:2px solid var(--danger);border-radius:12px}dialog.clear-dialog::backdrop{background:#0009}.clear-dialog h2{margin:0 0 10px;font-size:18px;color:var(--danger)}.clear-dialog .warning{margin:0 0 8px}.clear-dialog ul{margin:0 0 14px;padding-left:20px}.clear-dialog label{display:flex;flex-direction:column;gap:6px}.clear-dialog code{overflow-wrap:anywhere}
