@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&display=swap";:root{--bg:#fff;--bg-alt:#fafafa;--fg:#1a1a1a;--fg-dim:#999;--accent:#1a1a1a;--border:#e0e0e0;--danger:#888;--font-mono:"JetBrains Mono","Fira Code","Courier New",monospace}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);font-family:var(--font-mono);font-size:14px;line-height:1.6;min-height:100vh}a,body{color:var(--fg)}a{text-decoration:none}a:hover{text-decoration:underline}.terminal{background:var(--bg-alt);border:1px solid var(--border);overflow:hidden}.terminal+.terminal{margin-top:1rem}.terminal.dragover{border-color:var(--fg-dim);border-style:dashed}.terminal-header{align-items:center;background:var(--bg);border-bottom:1px solid var(--border);color:var(--fg-dim);display:flex;font-size:12px;gap:.5rem;padding:.5rem 1rem}.terminal-dots{display:flex;gap:6px}.terminal-dots span{border:1px solid var(--border);border-radius:50%;height:10px;width:10px}.terminal-body{padding:1rem}.prompt:before{color:var(--fg);content:"$ "}.cursor:after{animation:blink 1s step-end infinite;color:var(--fg);content:"█"}@keyframes blink{50%{opacity:0}}.spinner{animation:spin-star 1.5s ease-in-out infinite;display:inline-block;margin-right:1px}@keyframes spin-star{0%{content:"*";opacity:1}25%{opacity:.3}50%{opacity:1}75%{opacity:.3}to{opacity:1}}.btn{background:var(--bg);border:1px solid var(--border);color:var(--fg);cursor:pointer;display:inline-block;font-family:var(--font-mono);font-size:13px;padding:.4rem 1rem;transition:border-color .2s,color .2s}.btn:hover{border-color:var(--fg);color:#000}.btn-accent{color:var(--fg)}.btn-accent,.btn-danger{border-color:var(--fg-dim)}.btn-danger{color:var(--fg-dim)}.btn-danger:hover{background:#eee;color:#000}.input{background:var(--bg);border:1px solid var(--border);color:var(--fg);font-family:var(--font-mono);font-size:13px;outline:none;padding:.4rem .75rem;width:100%}.input:focus{border-color:var(--fg-dim)}.table{border-collapse:collapse;font-size:13px;width:100%}.table td,.table th{border-bottom:1px solid var(--border);padding:.4rem .75rem;text-align:left}.table th{color:var(--fg-dim);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.table tr:hover td{background:var(--bg)}.file-row{display:flex;font-size:13px;gap:1.5rem;padding:.2rem 0}.file-row:hover{background:var(--bg)}.file-perm{color:var(--fg-dim);min-width:10ch}.file-size{color:var(--fg-dim);min-width:6ch;text-align:right}.file-date{color:var(--fg-dim);min-width:16ch}.file-name a{color:var(--fg)}.file-name a:hover{color:#000}.file-name.dir a{color:var(--fg-dim)}.file-name.dir a:hover{color:var(--fg)}.container{margin:0 auto;max-width:960px;padding:2rem 1rem}.header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:1rem}.header h1{color:var(--fg);font-size:16px;font-weight:500}.nav{display:flex;font-size:13px;gap:1rem}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{border-right:1px solid var(--border);padding:1rem;width:200px}.admin-sidebar a{color:var(--fg-dim);display:block;font-size:13px;margin-bottom:.25rem;padding:.4rem .75rem}.admin-sidebar a.active,.admin-sidebar a:hover{color:#000;text-decoration:none}.admin-content{flex:1;padding:1.5rem}.badge{border:1px solid var(--border);display:inline-block;font-size:11px;margin-right:.25rem;padding:.1rem .5rem}.badge-green{color:var(--fg)}.badge-green,.badge-red{border-color:var(--fg-dim)}.badge-red{color:var(--fg-dim)}.modal-overlay{align-items:center;background:#000c;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.modal{background:var(--bg-alt);border:1px solid var(--border);max-width:600px;min-width:400px;padding:1.5rem}.modal h3{color:var(--fg);font-size:14px;font-weight:500;margin-bottom:1rem}.upload-area{border:1px dashed var(--border);color:var(--fg-dim);cursor:pointer;padding:2rem;text-align:center;transition:border-color .2s}.upload-area.dragover,.upload-area:hover{border-color:var(--fg);color:var(--fg)}.code-block-wrap{position:relative}.code-block-wrap .copy-btn{background:transparent;border:none;color:var(--fg-dim);cursor:pointer;font-family:var(--font-mono);font-size:11px;padding:.1rem .4rem;position:absolute;right:.4rem;top:.4rem;transition:color .2s}.code-block,.code-block-wrap .copy-btn:hover{color:var(--fg)}.code-block{background:var(--bg-alt);border:1px solid var(--border);font-family:var(--font-mono);font-size:12px;line-height:1.5;overflow-x:auto;padding:.75rem 1rem;white-space:pre}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.flex{display:flex}.gap-1{gap:.5rem}.gap-2{gap:1rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.text-dim{color:var(--fg-dim)}.text-accent{color:var(--fg)}.text-danger{color:var(--fg-dim)}.text-sm{font-size:12px}body:after{background:repeating-linear-gradient(0deg,rgba(0,0,0,.015),rgba(0,0,0,.015) 1px,transparent 0,transparent 2px);content:"";inset:0;pointer-events:none;position:fixed;z-index:9999}
