@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Roboto+Mono:wght@400;500&display=swap";:root{--bg:#1f1f1f;--surface:#292a2d;--surface-high:#303134;--surface-higher:#3c4043;--text:#e8eaed;--text-secondary:#9aa0a6;--text-muted:#71767b;--border:#3c3c3c;--border-light:#5f6368;--accent:#8ab4f8;--accent-hover:#aecbfa;--accent-surface:#8ab4f81f;--accent-surface-hover:#8ab4f833;--danger:#f28b82;--danger-surface:#f28b821f;--success:#81c995;--success-surface:#81c9951f;--sans:"Inter", "Google Sans", system-ui, -apple-system, sans-serif;--mono:"Roboto Mono", ui-monospace, monospace;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--shadow:0 1px 3px #0006, 0 4px 8px #0000004d;--shadow-lg:0 8px 32px #00000080}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface-higher);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.shell{grid-template-columns:256px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg);border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:12px;display:flex}.brand{font-family:var(--sans);color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;padding:12px 16px 20px;font-size:22px;font-weight:600;display:flex}.brand svg{color:var(--accent)}.brand i{font:500 10px var(--mono);background:var(--surface-high);color:var(--text-secondary);border-radius:12px;margin-left:auto;padding:3px 8px;font-style:normal}.sidebar nav{gap:2px;display:grid}.nav,.quiet{color:var(--text-secondary);text-align:left;border-radius:var(--radius-lg);background:0 0;border:0;align-items:center;gap:14px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav svg,.quiet svg{flex-shrink:0;width:20px;height:20px}.nav:hover{color:var(--text);background:var(--surface)}.nav.active{background:var(--accent-surface);color:var(--accent)}.nav.active svg{color:var(--accent)}.sidebar-foot{margin-top:auto}.account{border-top:1px solid var(--border);align-items:center;gap:10px;padding:10px 12px 14px;display:flex}.account-avatar{background:var(--accent-surface);width:28px;height:28px;color:var(--accent);font:600 12px var(--mono);border-radius:50%;place-items:center;display:grid}.account b,.account small{text-overflow:ellipsis;white-space:nowrap;max-width:170px;display:block;overflow:hidden}.account b{color:var(--text);font-size:12px}.account small{color:var(--text-muted);margin-top:2px;font-size:11px}.storage{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:8px;padding:16px;font-size:12px}.storage b{color:var(--text);margin-top:4px;font-weight:500;display:block}.storage>div{background:var(--surface-higher);border-radius:4px;height:4px;margin-top:10px;overflow:hidden}.storage i{background:var(--accent);border-radius:4px;height:100%;display:block}.logout{width:100%;margin-top:8px}.logout:hover{color:var(--text);background:var(--surface)}.content{width:100%;max-width:1400px;margin:0 auto;padding:24px 40px}header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.eyebrow{font:500 11px var(--mono);letter-spacing:.08em;color:var(--accent);text-transform:uppercase;margin:0 0 4px}h1,h2,h3,p{margin-top:0}h1{font:600 28px var(--sans);letter-spacing:-.02em;color:var(--text);margin-bottom:0}h2{font:600 22px var(--sans);letter-spacing:-.01em;color:var(--text)}.header-actions,.modal-actions{gap:8px;display:flex}.button{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);align-items:center;gap:8px;padding:8px 20px;font-size:14px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.button svg{width:18px;height:18px}.button:hover{border-color:var(--border-light);background:var(--surface-high)}.button.primary{background:var(--accent);border-color:var(--accent);color:#1f1f1f;font-weight:600}.button.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.button:disabled{opacity:.4;cursor:not-allowed}.button.ghost{background:0 0;border-color:#0000}.button.ghost:hover{background:var(--surface);border-color:var(--border)}.button.danger{color:var(--danger)}.toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.crumbs,.crumbs span{align-items:center;gap:6px;display:flex}.crumbs button{color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:0;padding:4px 6px;font-size:14px;transition:background .15s,color .15s}.crumbs button:last-child{color:var(--text)}.crumbs button:hover{color:var(--text);background:var(--surface)}.crumbs svg{width:14px;color:var(--text-muted)}.search{background:var(--surface-high);border-radius:var(--radius-lg);color:var(--text-secondary);border:none;align-items:center;gap:10px;padding:8px 16px;transition:background .15s;display:flex}.search:focus-within{background:var(--surface-higher)}.search svg{flex-shrink:0;width:18px}.search input{width:220px;color:var(--text);background:0 0;border:0;outline:0;font-size:14px}.search input::placeholder{color:var(--text-muted)}.dropzone{border:2px dashed var(--border);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;align-items:center;gap:12px;margin:20px 0;padding:20px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.drag{border-color:var(--accent);background:var(--accent-surface)}.dropzone svg{color:var(--accent);width:22px}.dropzone b{color:var(--text);font-size:14px}.dropzone span{font-size:13px}.file-head,.file-row{grid-template-columns:minmax(280px,1fr) 100px 130px 200px;align-items:center;display:grid}.file-head{color:var(--text-muted);letter-spacing:.02em;text-transform:uppercase;padding:0 16px 10px;font-size:12px;font-weight:500}.file-row{border-top:1px solid var(--border);border-radius:0;min-height:52px;padding:10px 16px;transition:background .1s}.file-row:hover{background:var(--surface)}.file-name{align-items:center;gap:12px;min-width:0;display:flex}.file-name>svg{width:20px;height:20px;color:var(--text-secondary);flex:none}.file-name .folder-icon{color:var(--accent);fill:#8ab4f840}.file-name button{color:var(--text);text-overflow:ellipsis;white-space:nowrap;text-align:left;background:0 0;border:0;padding:0;font-size:14px;overflow:hidden}.file-name button:hover{text-decoration:underline}.file-row>span:not(.file-name):not(.row-actions){font:13px var(--mono);color:var(--text-secondary)}.row-actions{opacity:0;justify-content:flex-end;gap:2px;transition:opacity .15s;display:flex}.file-row:hover .row-actions{opacity:1}.row-actions button,.row-actions a,.manifest button,.modal-top button{color:var(--text-secondary);border-radius:var(--radius-sm);background:0 0;border:0;padding:6px;transition:background .15s,color .15s;display:inline-flex}.row-actions svg,.manifest svg,.modal-top svg{width:18px;height:18px}.row-actions button:hover,.row-actions a:hover{color:var(--accent);background:var(--accent-surface)}.empty{text-align:center;min-height:280px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty>svg{width:40px;height:40px;color:var(--text-muted);margin-bottom:16px}.empty h3{color:var(--text);font:600 18px var(--sans);margin-bottom:6px}.empty p{max-width:320px;font-size:13px;line-height:1.6}.banner{border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin:-12px 0 20px;padding:12px 16px;font-size:13px;display:flex}.banner button{color:inherit;background:0 0;border:0;padding:0;display:inline-flex}.banner.error{background:var(--danger-surface);color:var(--danger)}.banner.notice{background:var(--success-surface);color:var(--success)}.shares{border-top:1px solid var(--border)}.share{border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:18px 8px;display:flex}.share-icon{background:var(--accent-surface);width:40px;height:40px;color:var(--accent);border-radius:var(--radius-sm);flex-shrink:0;place-items:center;display:grid}.share-icon svg{width:20px;height:20px}.share h3{color:var(--text);margin:0 0 3px;font-size:14px}.share a{font:12px var(--mono);color:var(--accent)}.share p{color:var(--text-secondary);margin:4px 0 0;font-size:12px}.share .danger{margin-left:auto}.share-token{align-items:center;gap:8px;margin-top:10px;display:flex}.share-token input{width:min(260px,45vw);font-family:var(--mono);font-size:12px}.release-layout{border-top:1px solid var(--border);grid-template-columns:245px 1fr;min-height:440px;display:grid}.app-list{border-right:1px solid var(--border);padding:16px 15px 16px 0}.app-list-head{color:var(--text-muted);font:11px var(--mono);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;padding:0 11px 11px;display:flex}.app-list-head span:last-child{background:var(--surface-higher);border-radius:8px;padding:2px 6px}.app-list>button{text-align:left;border-radius:var(--radius-sm);width:100%;color:var(--text);background:0 0;border:0;padding:11px;display:block}.app-list>button:hover,.app-list>button.selected{background:var(--surface)}.app-list>button span{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.app-list svg{width:16px;color:var(--accent)}.app-list small{color:var(--text-muted);font:11px var(--mono);margin-top:3px;padding-left:24px;display:block}.empty-mini{color:var(--text-secondary);padding:10px;font-size:13px}.release-panel{padding:18px 0 18px 30px}.app-title{justify-content:space-between;align-items:end;display:flex}.app-title h2{margin:0}.manifest{background:var(--surface);border-radius:var(--radius-sm);color:var(--text-secondary);align-items:center;gap:8px;margin:17px 0 20px;padding:10px 14px;font-size:12px;display:flex}.manifest code{font-family:var(--mono);color:var(--text)}.release-list{border-top:1px solid var(--border)}.release{border-bottom:1px solid var(--border);padding:18px 0}.release-meta{align-items:center;gap:9px;display:flex}.release-meta b{font:600 18px var(--sans);color:var(--text)}.release-meta span{background:var(--accent-surface);color:var(--accent);text-transform:uppercase;font:11px var(--mono);border-radius:4px;padding:3px 6px}.release-meta time{color:var(--text-secondary);margin-left:auto;font-size:12px}.release>p{color:var(--text-secondary);margin:10px 0;font-size:13px;line-height:1.5}.asset-list{gap:4px;display:grid}.asset-list a{background:var(--surface);border-radius:var(--radius-sm);color:var(--text);grid-template-columns:18px 1fr auto 16px;align-items:center;gap:8px;padding:10px;font-size:13px;text-decoration:none;transition:background .15s;display:grid}.asset-list a:hover{background:var(--surface-high)}.asset-list a>svg{width:16px;color:var(--accent)}.asset-list small{font:11px var(--mono);color:var(--text-muted)}.loading{height:230px;color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.loading svg{width:20px;animation:.8s linear infinite spin}.modal-backdrop{z-index:10;background:#0009;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(480px,100%);box-shadow:var(--shadow-lg);border-radius:var(--radius-lg);padding:28px}.modal-top{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-top h2{margin:0;font-size:20px}.modal-top button{margin:-4px}.modal-top button:hover{color:var(--text);background:var(--surface-high)}.modal form{gap:16px;display:grid}.modal label{color:var(--text-secondary);gap:6px;font-size:12px;font-weight:600;display:grid}.modal input,.modal select,.modal textarea{border:1px solid var(--border);background:var(--surface-high);border-radius:var(--radius-sm);color:var(--text);outline:none;padding:10px 14px;font-size:14px;transition:border-color .15s}.modal input:focus,.modal select:focus,.modal textarea:focus{border-color:var(--accent)}.modal textarea{resize:vertical;min-height:85px}.modal small{color:var(--text-muted);font-weight:400}.modal-actions{justify-content:flex-end;margin-top:8px}.modal-note{color:var(--text-secondary);margin-bottom:0;font-size:14px;line-height:1.55}.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-error{color:var(--danger);margin:0;font-size:13px}.splash{height:100vh;color:var(--text-secondary);background:var(--bg);place-content:center;justify-items:center;gap:12px;font-size:14px;display:grid}.splash svg{color:var(--accent)}.login{background:radial-gradient(circle at 15% 18%, var(--accent-surface), transparent 26rem), var(--bg);place-items:center;min-height:100vh;padding:24px;display:grid}.login-card{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--surface) 92%, transparent);width:min(410px,100%);box-shadow:var(--shadow-lg);padding:40px}.login-mark{background:var(--surface-high);width:56px;height:56px;color:var(--accent);border-radius:var(--radius-md);place-items:center;margin-bottom:28px;display:grid}.login h1{font-size:36px;line-height:1.05}.login .muted{color:var(--text-secondary);margin:8px 0 28px;font-size:14px}.full{justify-content:center;width:100%;margin-top:4px}.login-action{gap:10px;min-height:48px;text-decoration:none}.login-action svg:first-child{width:19px;height:19px}.login-action svg:last-child{margin-left:auto}.auth-unavailable{border-left:2px solid var(--danger);background:var(--danger-surface);color:var(--text-secondary);margin:24px 0 0;padding:12px 14px;font-size:13px;line-height:1.5}.login-assurance{color:var(--text-muted);align-items:flex-start;gap:8px;margin:24px 0 0;font-size:11px;line-height:1.5;display:flex}.login-assurance svg{width:15px;height:15px;color:var(--success);flex:none}.manifest-link{color:var(--accent);white-space:nowrap}@keyframes spin{to{transform:rotate(360deg)}}.file-row:focus-within .row-actions{opacity:1}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=760px){.shell{grid-template-columns:1fr}.sidebar{z-index:5;border-right:none;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;height:auto;padding:10px 12px;position:sticky;top:0}.brand{padding:0;font-size:18px}.sidebar nav{margin-left:auto;display:flex}.nav{border-radius:var(--radius-lg);padding:8px 12px}.nav span,.sidebar-foot{display:none}.content{padding:20px 16px}header{margin-bottom:20px}h1{font-size:24px}.file-head{display:none}.file-row{grid-template-columns:minmax(0,1fr) auto}.file-row>span:nth-child(2),.file-row>span:nth-child(3){display:none}.row-actions{opacity:1}.toolbar{flex-direction:column;align-items:flex-start;gap:12px}.search,.search input{width:100%}.release-layout{grid-template-columns:1fr}.app-list{border-right:0;border-bottom:1px solid var(--border);gap:4px;padding:12px 0;display:flex;overflow:auto}.app-list-head{display:none}.app-list>button{min-width:150px}.release-panel{padding:22px 0}.share{align-items:flex-start}.share .danger{padding:7px;font-size:0}header{flex-wrap:wrap;gap:12px}.header-actions{flex-wrap:wrap}.file-row{grid-template-columns:minmax(0,1fr);gap:8px}.row-actions{justify-content:flex-start}.share a{overflow-wrap:anywhere}.share>div{min-width:0}.two{grid-template-columns:1fr}.app-title{align-items:flex-start;gap:12px}.app-title .button{white-space:nowrap}.manifest{flex-wrap:wrap;align-items:flex-start}}
