:root{--surface: #0d1117;--card: #161b22;--elevated: #1c2128;--border: #30363d;--border-subtle: rgba(48, 54, 61, .5);--text: #e6edf3;--text-secondary: #8b949e;--text-tertiary: #6e7681;--accent: #58a6ff;--primary: #1f6feb;--primary-hover: #388bfd;--danger: #f85149;--danger-hover: #da3633;--success: #3fb950;--success-hover: #2ea043;--warning: #d29922;--warning-hover: #bb8009;--btn-bg: #21262d;--btn-hover: #30363d;--muted: #8b949e;--offline: #484f58;--radius-sm: 6px;--radius: 10px;--radius-lg: 12px;--radius-xl: 16px;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px rgba(0, 0, 0, .15);--shadow-elevated: 0 4px 12px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .2);--shadow-modal: 0 20px 60px rgba(0, 0, 0, .5);--sp: .25rem;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background:var(--surface);color:var(--text);min-height:100vh;line-height:1.5}a{text-decoration:none;color:inherit}img,video{display:block;max-width:100%}button,input,select,textarea{font-family:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--primary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--btn-hover)}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.flex-1{flex:1}.shrink-0{flex-shrink:0}.gap-0\.5{gap:calc(var(--sp) * .5)}.gap-1{gap:calc(var(--sp) * 1)}.gap-1\.5{gap:calc(var(--sp) * 1.5)}.gap-2{gap:calc(var(--sp) * 2)}.gap-2\.5{gap:calc(var(--sp) * 2.5)}.gap-3{gap:calc(var(--sp) * 3)}.gap-4{gap:calc(var(--sp) * 4)}.gap-5{gap:calc(var(--sp) * 5)}.gap-6{gap:calc(var(--sp) * 6)}.w-full{width:100%}.w-1\/2{width:50%}.w-3\/4{width:75%}.w-2{width:calc(var(--sp) * 2)}.w-2\.5{width:calc(var(--sp) * 2.5)}.w-3{width:calc(var(--sp) * 3)}.w-3\.5{width:calc(var(--sp) * 3.5)}.w-4{width:calc(var(--sp) * 4)}.w-6{width:calc(var(--sp) * 6)}.w-7{width:calc(var(--sp) * 7)}.w-9{width:calc(var(--sp) * 9)}.w-10{width:calc(var(--sp) * 10)}.w-11{width:calc(var(--sp) * 11)}.w-12{width:calc(var(--sp) * 12)}.w-16{width:calc(var(--sp) * 16)}.w-28{width:7rem}.w-48{width:12rem}.w-56{width:14rem}.max-w-xs{max-width:20rem}.h-full{height:100%}.h-1\.5{height:calc(var(--sp) * 1.5)}.h-2{height:calc(var(--sp) * 2)}.h-2\.5{height:calc(var(--sp) * 2.5)}.h-3{height:calc(var(--sp) * 3)}.h-3\.5{height:calc(var(--sp) * 3.5)}.h-4{height:calc(var(--sp) * 4)}.h-5{height:calc(var(--sp) * 5)}.h-6{height:calc(var(--sp) * 6)}.h-7{height:calc(var(--sp) * 7)}.h-9{height:calc(var(--sp) * 9)}.h-10{height:calc(var(--sp) * 10)}.h-11{height:calc(var(--sp) * 11)}.h-12{height:calc(var(--sp) * 12)}.h-28{height:7rem}.h-32{height:8rem}.h-screen{height:100vh}.h-56{height:14rem}.min-h-0{min-height:0}.min-w-0{min-width:0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.object-cover{object-fit:cover}.aspect-square{aspect-ratio:1}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-xs{font-size:.75rem;line-height:1.333}.text-sm{font-size:.8125rem;line-height:1.384}.text-base{font-size:.875rem;line-height:1.428}.text-lg{font-size:1rem;line-height:1.5}.text-xl{font-size:1.125rem;line-height:1.333}.text-2xl{font-size:1.5rem;line-height:1.166}.text-3xl{font-size:1.875rem;line-height:1.066}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-black{font-weight:900}.font-mono{font-family:var(--font-mono)}.tabular-nums{font-variant-numeric:tabular-nums}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.text-text{color:var(--text)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--muted)}.text-accent{color:var(--accent)}.text-primary{color:var(--primary)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-warning\/70{color:#d29922b3}.text-\[11px\]{font-size:11px}.text-offline{color:var(--offline)}.text-white{color:#fff}.placeholder-muted::placeholder{color:var(--muted)}.placeholder-tertiary::placeholder{color:var(--tertiary)}.bg-surface{background:var(--surface)}.bg-card{background:var(--card)}.bg-elevated{background:var(--elevated)}.bg-btn-bg{background:var(--btn-bg)}.bg-accent{background:var(--accent)}.bg-primary{background:var(--primary)}.bg-danger{background:var(--danger)}.bg-success{background:var(--success)}.bg-warning{background:var(--warning)}.bg-muted{background:var(--muted)}.bg-offline{background:var(--offline)}.bg-surface\/50{background:#0d111780}.bg-surface\/80{background:#0d1117cc}.bg-card\/50{background:#161b2280}.bg-card\/80{background:#161b22cc}.bg-accent\/10{background:#58a6ff1a}.bg-primary\/10{background:#1f6feb1a}.bg-danger\/10{background:#f851491a}.bg-success\/10{background:#3fb9501a}.bg-warning\/10{background:#d299221a}.bg-black\/50{background:#00000080}.bg-black\/80{background:#000c}.bg-none{background:none}.border{border:1px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}.border-t{border-top:1px solid var(--border)}.border-r{border-right:1px solid var(--border)}.border-none{border:none}.border-border\/40{border-color:#30363d66}.border-border\/50{border-color:#30363d80}.border-accent{border-color:var(--accent)}.border-accent\/30{border-color:#58a6ff4d}.border-danger\/30{border-color:#f851494d}.border-success\/30{border-color:#3fb9504d}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:9999px}.p-1{padding:calc(var(--sp) * 1)}.p-2{padding:calc(var(--sp) * 2)}.p-3{padding:calc(var(--sp) * 3)}.p-4{padding:calc(var(--sp) * 4)}.p-5{padding:calc(var(--sp) * 5)}.p-6{padding:calc(var(--sp) * 6)}.px-2{padding-inline:calc(var(--sp) * 2)}.px-2\.5{padding-inline:calc(var(--sp) * 2.5)}.px-3{padding-inline:calc(var(--sp) * 3)}.px-3\.5{padding-inline:calc(var(--sp) * 3.5)}.px-4{padding-inline:calc(var(--sp) * 4)}.px-5{padding-inline:calc(var(--sp) * 5)}.px-6{padding-inline:calc(var(--sp) * 6)}.py-0\.5{padding-block:calc(var(--sp) * .5)}.py-1{padding-block:calc(var(--sp) * 1)}.py-1\.5{padding-block:calc(var(--sp) * 1.5)}.py-2{padding-block:calc(var(--sp) * 2)}.py-2\.5{padding-block:calc(var(--sp) * 2.5)}.py-3{padding-block:calc(var(--sp) * 3)}.py-4{padding-block:calc(var(--sp) * 4)}.py-6{padding-block:calc(var(--sp) * 6)}.py-8{padding-block:calc(var(--sp) * 8)}.mt-1{margin-top:calc(var(--sp) * 1)}.mt-2{margin-top:calc(var(--sp) * 2)}.mb-1{margin-bottom:calc(var(--sp) * 1)}.mb-2{margin-bottom:calc(var(--sp) * 2)}.mb-3{margin-bottom:calc(var(--sp) * 3)}.mb-4{margin-bottom:calc(var(--sp) * 4)}.mb-6{margin-bottom:calc(var(--sp) * 6)}.ml-4{margin-left:calc(var(--sp) * 4)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.top-1\/2{top:50%}.-top-1\/4{top:-25%}.left-3{left:calc(var(--sp) * 3)}.-left-1\/4{left:-25%}.right-2{right:calc(var(--sp) * 2)}.right-3{right:calc(var(--sp) * 3)}.-right-1\/4{right:-25%}.-bottom-1\/4{bottom:-25%}.z-10{z-index:10}.z-50{z-index:50}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.pointer-events-none{pointer-events:none}.backdrop-blur-sm{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.backdrop-blur-md{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.shadow-card{box-shadow:var(--shadow-card)}.shadow-elevated{box-shadow:var(--shadow-elevated)}.shadow-lg{box-shadow:0 10px 15px #0000004d}.shadow-modal{box-shadow:var(--shadow-modal)}.cursor-pointer{cursor:pointer}.cursor-default{cursor:default}.outline-none{outline:none}.transition{transition:all .15s cubic-bezier(.4,0,.2,1)}.transition-colors{transition:color .15s,background-color .15s,border-color .15s}.transition-shadow{transition:box-shadow .15s cubic-bezier(.4,0,.2,1)}.hover\:bg-btn-bg:hover{background:var(--btn-bg)}.hover\:bg-btn-hover:hover{background:var(--btn-hover)}.hover\:bg-border:hover{background:var(--border)}.hover\:bg-card:hover{background:var(--card)}.hover\:bg-primary-hover:hover{background:var(--primary-hover)}.hover\:bg-danger-hover:hover{background:var(--danger-hover)}.hover\:text-text:hover{color:var(--text)}.hover\:text-accent:hover{color:var(--accent)}.hover\:text-danger:hover{color:var(--danger)}.hover\:border-accent:hover{border-color:var(--accent)}.hover\:shadow-elevated:hover{box-shadow:var(--shadow-elevated)}.hover\:opacity-90:hover{opacity:.9}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:opacity-100{opacity:1}.focus\:border-accent:focus{border-color:var(--accent)}.focus\:ring:focus{box-shadow:0 0 0 2px var(--accent)}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:pointer-events-none:disabled{pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes ping{75%,to{transform:scale(2);opacity:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes skeleton{0%{transform:translate(-100%)}to{transform:translate(100%)}}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}.animate-fade-in{animation:fadeIn .15s ease-out}.animate-slide-up{animation:slideUp .2s ease-out}.animate-scale-in{animation:scaleIn .15s ease-out}.skeleton{position:relative;overflow:hidden;background:var(--btn-bg);border-radius:var(--radius-sm)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.04),transparent);animation:skeleton 1.5s ease-in-out infinite}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:border-color .15s,box-shadow .15s}.card-hover:hover{border-color:var(--border);box-shadow:var(--shadow-elevated)}.card-header{display:flex;align-items:center;gap:8px;padding:16px 20px 0;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.card-body{padding:6px 20px 16px}.card-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0}.card-row+.card-row{border-top:1px solid var(--border-subtle)}.card-row-label{font-size:.8125rem;color:var(--text-secondary)}.card-row-value{font-size:.8125rem;font-weight:600;color:var(--text);text-align:right;margin-left:16px;font-variant-numeric:tabular-nums}.stat-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);margin-bottom:4px}.stat-value{font-size:1.75rem;font-weight:800;letter-spacing:-.025em;line-height:1;font-variant-numeric:tabular-nums}.bar{height:6px;border-radius:999px;overflow:hidden;background:var(--btn-bg)}.bar-fill{height:100%;border-radius:999px;transition:width .6s cubic-bezier(.4,0,.2,1)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:600;border-radius:var(--radius);border:1px solid var(--border);background:var(--btn-bg);color:var(--text);cursor:pointer;transition:all .15s;white-space:nowrap}.btn:hover{background:var(--btn-hover)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--btn-bg)}.btn-icon{width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:.6875rem;font-weight:600;border-radius:999px;white-space:nowrap}.badge-dot{width:6px;height:6px;border-radius:50%}.badge-online{background:#3fb9501f;color:var(--success)}.badge-online .badge-dot{background:var(--success)}.badge-offline{background:#8b949e1a;color:var(--text-secondary)}.badge-offline .badge-dot{background:var(--offline)}.badge-accent{background:#58a6ff1f;color:var(--accent)}.input{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:7px 12px;font-size:.8125rem;color:var(--text);outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent);box-shadow:0 0 0 2px #58a6ff26}.input::placeholder{color:var(--muted)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--btn-bg);border:1px solid var(--border);border-radius:var(--radius);padding:5px 28px 5px 10px;font-size:.75rem;color:var(--text);cursor:pointer;outline:none;transition:border-color .15s;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%238b949e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.select:focus{border-color:var(--accent)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease-out}.modal{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);animation:scaleIn .15s ease-out}.context-menu{position:fixed;z-index:60;background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-elevated);padding:4px;min-width:160px;animation:scaleIn .1s ease-out;transform-origin:top left}.context-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;font-size:.75rem;font-weight:500;color:var(--text);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s;border:none;background:none;text-align:left}.context-menu-item:hover{background:var(--btn-bg)}.context-menu-item.danger{color:var(--danger)}.context-menu-item.danger:hover{background:#f851491f}.context-menu-divider{height:1px;background:var(--border);margin:4px 8px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.toolbar-group{display:flex;align-items:center;gap:8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:64px 24px;text-align:center}.empty-state-icon{width:48px;height:48px;border-radius:var(--radius-lg);background:var(--btn-bg);display:flex;align-items:center;justify-content:center;color:var(--muted);margin-bottom:16px}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.col-span-1{grid-column:span 1 / span 1}.col-span-2{grid-column:span 2 / span 2}.col-span-5{grid-column:span 5 / span 5}.col-span-6{grid-column:span 6 / span 6}.device-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}.section-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px}@media(max-width:768px){.section-grid,.device-grid{grid-template-columns:1fr}.toolbar{flex-direction:column;align-items:stretch}.toolbar-group{flex-wrap:wrap}.sidebar{display:none}.file-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media(min-width:769px){.sm\:hidden{display:none}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:1024px){.lg\:w-40{width:10rem}}
