:root{--bg:#0b0f17;--panel:#111827;--muted:#6b7280;--text:#e5e7eb;--brand:#60a5fa;--brand2:#34d399}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica Neue,Arial,Apple Color Emoji,Segoe UI Emoji}a{color:inherit;text-decoration:none}.container{max-width:960px;margin:0 auto;padding:16px}.nav{background:var(--panel);z-index:10;border-bottom:1px solid #1f2937;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.nav .spacer{flex:1}.card{background:var(--panel);border:1px solid #1f2937;border-radius:14px;padding:16px}.btn{color:var(--text);cursor:pointer;background:#0f172a;border:1px solid #1f2937;border-radius:10px;padding:8px 12px}.btn:hover{border-color:#374151}.btn.primary{background:linear-gradient(90deg,var(--brand),var(--brand2));color:#0b0f17;border:none}.btn.ghost{background:0 0;border:1px solid #263244}.badge{color:#9ca3af;background:#0f172a;border:1px solid #1f2937;border-radius:999px;padding:2px 8px;font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grid{grid-template-columns:repeat(1,minmax(0,1fr));gap:16px;display:grid}@media (min-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.input,select,textarea{width:100%;color:var(--text);background:#0b1220;border:1px solid #1f2937;border-radius:10px;padding:10px 12px}.label{color:var(--muted);margin-bottom:6px;font-size:12px}.small{color:var(--muted);font-size:12px}.kbd{background:#0b1220;border:1px solid #1f2937;border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas;font-size:12px}hr{border:none;border-top:1px solid #1f2937;margin:16px 0}h1,h2,h3{margin:0 0 10px}.modal{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000e6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal .dialog{background:var(--panel);border:1px solid #1f2937;border-radius:16px;width:560px;max-width:92vw;max-height:90vh;padding:20px;overflow-y:auto;box-shadow:0 20px 60px #00000080}.table{border-collapse:collapse;width:100%}.table td,.table th{text-align:left;border-bottom:1px solid #1f2937;padding:10px 8px}.icon{width:16px;height:16px;display:inline-block}.trace{color:#cbd5e1;background:#0b1220;border:1px solid #1f2937;border-radius:12px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas;font-size:12px}.skeleton{background:#1f2937;border-radius:12px;position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg,#fff0 0%,#ffffff1a 50%,#fff0 100%);animation:1.2s ease-in-out infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes shimmer{to{transform:translate(100%)}}@media (max-width:480px){.modal{align-items:stretch}.modal .dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;padding:calc(24px + env(safe-area-inset-top))16px calc(24px + env(safe-area-inset-bottom) + 72px);-webkit-overflow-scrolling:touch;border-radius:0;flex-direction:column;justify-content:center;display:flex;overflow-y:auto}.modal .dialog .row{gap:18px}.modal .dialog .btn{min-height:48px;font-size:17px}.modal .dialog .label{font-size:15px}.modal .dialog .small{font-size:14px}.modal .dialog .input,.modal .dialog select,.modal .dialog textarea{min-height:48px;padding:14px 16px;font-size:17px}.modal .dialog form>div{margin-bottom:20px!important}.modal .dialog .result-actions{bottom:calc(12px + env(safe-area-inset-bottom));background:var(--panel);z-index:5;padding-top:8px;padding-bottom:0;position:sticky}}
