html,body{margin:0;padding:0;width:100%;height:100%}*{box-sizing:border-box}:root{--bg:#0b1020;--border: rgba(255,255,255,.12);--text: rgba(255,255,255,.92);--muted: rgba(255,255,255,.62);--accent:#7c5cff;--good:#2bd576;--warn:#ffcc66;--bad:#ff5c7a}body{font-size:clamp(15px,1.1vw,17px);background:var(--bg);overflow-x:hidden;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial}.app{min-height:100vh;color:var(--text);background:radial-gradient(1200px 600px at 20% 0%,rgba(124,92,255,.22),transparent 60%),radial-gradient(900px 500px at 85% 25%,rgba(43,213,118,.14),transparent 60%),radial-gradient(900px 600px at 50% 100%,rgba(255,92,122,.1),transparent 60%),var(--bg)}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border);background:#080c18b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;gap:14px;align-items:center}.logo{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-weight:900;background:linear-gradient(135deg,#7c5cffe6,#2bd5768c);border:1px solid rgba(255,255,255,.14)}.title{font-weight:900;font-size:15px}.subtitle{color:var(--muted);font-size:13px}.topbar-right{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.pill{display:flex;gap:8px;align-items:center;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#ffffff0d;color:var(--muted);font-size:13px}.dot{width:9px;height:9px;border-radius:50%;background:var(--bad)}.pill-ok .dot{background:var(--good)}.pill-warn .dot{background:var(--warn)}.pill-bad .dot{background:var(--bad)}.user{display:flex;gap:12px;align-items:center;padding:8px 12px;border-radius:16px;border:1px solid var(--border);background:#ffffff0d}.avatar{width:36px;height:36px;border-radius:14px;border:1px solid rgba(255,255,255,.14)}.user-name{font-weight:900;font-size:14px}.user-sub{color:var(--muted);font-size:12px}.container{max-width:1200px;margin:0 auto;padding:28px 18px 48px}.grid{display:grid;gap:18px}.grid-2{grid-template-columns:1.4fr 1fr}@media (max-width: 1000px){.grid-2{grid-template-columns:1fr}}.card{border:1px solid var(--border);background:linear-gradient(180deg,#ffffff14,#ffffff0a);border-radius:20px;box-shadow:0 16px 40px #00000059;padding:22px}.card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}h2{margin:0;font-size:20px}h3{margin:0 0 8px;font-size:16px}.muted{color:var(--muted)}.hero h1{font-size:clamp(28px,3vw,40px);margin:0 0 12px}.hero p{margin:0;color:var(--muted);line-height:1.6;max-width:70ch}.hero-actions{margin-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.hint{color:var(--muted);font-size:13px}.hero-stats{margin-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{border:1px solid var(--border);background:#ffffff0d;border-radius:16px;padding:12px}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-weight:900;margin-top:6px}.side h2{margin-bottom:10px}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:8px}.check{color:var(--good);font-weight:900;margin-right:6px}code{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);padding:2px 6px;border-radius:8px;font-size:12px}.btn{border:1px solid rgba(255,255,255,.16);background:#ffffff12;color:var(--text);padding:12px 16px;border-radius:16px;cursor:pointer;font-weight:800;font-size:14px;transition:transform .08s ease,background .2s ease}.btn:hover{background:#ffffff1f;transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-small{padding:9px 12px;border-radius:14px;font-size:13px}.btn-ghost{background:transparent}.btn-discord{background:linear-gradient(135deg,#7c5cfff2,#7c5cff99);border-color:#7c5cff99}.actions{display:flex;gap:10px;align-items:center}.search{display:flex;gap:8px;align-items:center;border:1px solid var(--border);background:#ffffff0d;padding:10px 12px;border-radius:16px}.search-ic{color:var(--muted)}.search-input{border:none;outline:none;background:transparent;color:var(--text);font-size:14px;width:210px}.input{border:1px solid var(--border);background:#ffffff0d;color:var(--text);padding:10px 12px;border-radius:14px;outline:none;font-size:14px}.grow{flex:1}.row{display:flex;gap:10px;align-items:center;margin-top:10px}.block{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.1)}.table-wrap{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:#ffffff08}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:14px;border-bottom:1px solid rgba(255,255,255,.08);font-size:14px}.table th{text-align:left;color:var(--muted);font-weight:900;background:#ffffff0a}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.ping{display:inline-block;padding:4px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;font-size:12px}.watch-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}.watch-frame{position:relative;border:1px solid var(--border);border-radius:18px;background:#ffffff08;overflow:hidden;width:100%;min-height:240px;display:flex;align-items:center;justify-content:center}.watch-video{width:100%;display:block;background:#00000040}.watch-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;background:#00000040}.spinner.small{width:22px;height:22px;border-width:3px}.empty{padding:18px}.empty-title{font-weight:900;margin-bottom:6px}.toast{margin-top:12px;padding:10px 12px;border-radius:14px;border:1px solid rgba(124,92,255,.4);background:#7c5cff24;color:var(--text);font-weight:700}.center{display:flex;flex-direction:column;gap:12px;align-items:center;padding:80px 0}.spinner{width:28px;height:28px;border-radius:999px;border:3px solid rgba(255,255,255,.18);border-top-color:#fffc;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.footer{max-width:1200px;margin:0 auto;padding:20px 18px 30px;display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);color:var(--muted)}
