*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background-color:#0b0f19;color:#f3f4f6;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}.bg-slate-950{background-color:#0b0f19}.bg-panel{background-color:#111827}.bg-panel-alt{background-color:#1f2937}.text-slate-100{color:#f3f4f6}.text-muted{color:#9ca3af}.text-accent{color:#38bdf8}.text-good{color:#34d399}.text-warn{color:#fbbf24}.min-h-screen{min-height:100vh}.container{width:100%;max-width:1200px;margin:0 auto;padding:1.5rem 1rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.flex-1{flex:1 1}.grid{display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}@media (max-width:720px){.grid-2,.grid-4{grid-template-columns:minmax(0,1fr)}}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.p-4{padding:1rem}.w-full{width:100%}.border{border:1px solid #1f2937}.border-accent{border:1px solid #38bdf8}.rounded{border-radius:.5rem}.title{font-size:1.75rem;font-weight:700}.subtitle{font-size:1.125rem;font-weight:600}.small{font-size:.8125rem}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.field{display:flex;flex-direction:column;gap:.25rem;font-size:.8125rem;color:#9ca3af}.input{background-color:#0b0f19;color:#f3f4f6;border:1px solid #374151;border-radius:.375rem;padding:.5rem .625rem;font-size:.9375rem;width:100%}.input:focus{outline:2px solid #38bdf8;outline-offset:1px}.btn{background-color:#1f2937;color:#f3f4f6;border:1px solid #374151;border-radius:.5rem;padding:.625rem 1rem;font-size:.9375rem;font-weight:600;cursor:pointer}.btn:hover{background-color:#374151}.btn-primary{background-color:#0284c7;border-color:#0284c7}.btn-primary:hover{background-color:#0369a1}.tab-active{background-color:#0284c7;border-color:#38bdf8}.viewer-box{background-color:#0b0f19;border:1px solid #1f2937;border-radius:.5rem;width:100%;min-height:320px}