:root{
  --bg:#F6F7FB;
  --card:rgba(255,255,255,.65);
  --stroke:rgba(20,25,35,.10);
  --text:#0B0F19;
  --muted:rgba(11,15,25,.62);
  --accent:#2F80FF;
  --accent2:#8B5CF6;
  --ok:#10B981;
  --warn:#F59E0B;
  --bad:#EF4444;
  --r:18px;
  --shadow: 0 18px 60px rgba(10,12,18,.10);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;color:var(--text);background:var(--bg);}

.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;}
.wash{position:absolute;inset:-10px;background:
  radial-gradient(1200px 600px at 20% 10%, rgba(47,128,255,.16), rgba(0,0,0,0) 60%),
  radial-gradient(900px 600px at 80% 20%, rgba(139,92,246,.14), rgba(0,0,0,0) 62%),
  radial-gradient(1000px 700px at 50% 100%, rgba(16,185,129,.12), rgba(0,0,0,0) 60%);
}
.grain{position:absolute;inset:0;opacity:.06;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");}

.wrap{max-width:1120px;margin:0 auto;padding:92px 18px 50px;}

.topbar{position:fixed;left:18px;right:18px;top:14px;max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border-radius:22px;background:var(--card);border:1px solid var(--stroke);backdrop-filter: blur(16px);box-shadow:var(--shadow);}
.brand{display:flex;align-items:center;gap:12px;}
.logo{width:38px;height:38px;border-radius:14px;background:linear-gradient(135deg, rgba(47,128,255,.28), rgba(139,92,246,.22));border:1px solid rgba(20,25,35,.10);box-shadow: 0 12px 30px rgba(47,128,255,.12);position:relative;}
.logo:after{content:"";position:absolute;inset:10px;border-radius:12px;background:radial-gradient(circle at 30% 30%, rgba(255,255,255,.9), rgba(255,255,255,0) 60%);} 
.brand-title{font-weight:800;letter-spacing:-.4px;line-height:1.05}
.brand-sub{font-size:12px;color:var(--muted);margin-top:2px}

.nav{display:flex;gap:12px;flex-wrap:wrap}
.nav a{color:var(--muted);text-decoration:none;font-weight:600;font-size:13px;padding:8px 10px;border-radius:14px}
.nav a:hover{background:rgba(255,255,255,.6);color:var(--text)}

.top-actions{display:flex;gap:10px}

.hero{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:center;margin-top:10px}
@media (max-width:900px){.hero{grid-template-columns:1fr;}}

.badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:rgba(11,15,25,.7);background:rgba(255,255,255,.6);border:1px solid var(--stroke);padding:8px 10px;border-radius:999px}

.hero h1{margin:14px 0 0;font-size:44px;letter-spacing:-1.2px;line-height:1.03}
@media (max-width:520px){.hero h1{font-size:36px}}
.hero p{margin:14px 0 0;color:var(--muted);line-height:1.6;max-width:64ch}

.hero-actions{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}

.btn{border:1px solid var(--stroke);background:rgba(255,255,255,.6);color:var(--text);padding:12px 14px;border-radius:16px;cursor:pointer;font-weight:750;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.btn:hover{background:rgba(255,255,255,.82)}
.btn.primary{background:linear-gradient(135deg, rgba(47,128,255,.22), rgba(139,92,246,.18));border-color:rgba(47,128,255,.22)}
.btn.small{padding:10px 12px;font-size:13px;border-radius:14px}

.chip{border:1px solid var(--stroke);background:rgba(255,255,255,.65);color:var(--text);padding:10px 12px;border-radius:999px;cursor:pointer;font-weight:750;font-size:13px}
.chip:hover{background:rgba(255,255,255,.85)}

.stats{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.stat{min-width:140px;padding:12px 14px;border-radius:18px;border:1px solid var(--stroke);background:rgba(255,255,255,.55)}
.stat-num{font-weight:900;font-size:22px;letter-spacing:-.6px}
.stat-label{color:var(--muted);font-size:12px;margin-top:2px;font-weight:700}

.glass{background:var(--card);border:1px solid var(--stroke);backdrop-filter: blur(18px);box-shadow:var(--shadow);border-radius:22px}
.card{padding:16px}
.card-top{display:flex;gap:12px;align-items:center}
.card-title{font-weight:850;letter-spacing:-.4px}
.card-sub{color:var(--muted);font-size:13px;margin-top:4px}
.card-body{margin-top:12px;color:var(--muted);line-height:1.6}
.card-actions{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}

.section{margin-top:68px}
.section-head h2{margin:0;font-size:26px;letter-spacing:-.7px}
.section-head p{margin:10px 0 0;color:var(--muted);line-height:1.6}

.toolbar{display:grid;grid-template-columns: 2fr 1fr 1fr 1fr auto;gap:12px;padding:14px;margin-top:16px}
@media (max-width:1000px){.toolbar{grid-template-columns:1fr 1fr;}}

.field label{display:block;color:var(--muted);font-size:12px;font-weight:800;margin-bottom:6px}
input,select{width:100%;padding:12px 12px;border-radius:14px;border:1px solid var(--stroke);background:rgba(255,255,255,.75);outline:none;font-family:inherit}
input:focus,select:focus{border-color:rgba(47,128,255,.35);box-shadow:0 0 0 4px rgba(47,128,255,.10)}

.list{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:16px}
@media (max-width:1000px){.list{grid-template-columns:1fr;}}

.item{padding:14px 14px;cursor:pointer;transition: transform .12s ease}
.item:hover{transform: translateY(-1px)}
.item-top{display:flex;align-items:center;gap:12px}
.title{font-weight:850;letter-spacing:-.35px}
.meta{margin-top:2px;color:var(--muted);font-size:12px;font-weight:700}

.badges{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.b{font-size:11px;font-weight:800;border:1px solid var(--stroke);background:rgba(255,255,255,.7);padding:6px 8px;border-radius:999px;color:rgba(11,15,25,.72)}
.b.ok{border-color:rgba(16,185,129,.20);background:rgba(16,185,129,.10)}
.b.warn{border-color:rgba(245,158,11,.20);background:rgba(245,158,11,.10)}
.b.bad{border-color:rgba(239,68,68,.20);background:rgba(239,68,68,.10)}

.empty{margin-top:14px;color:var(--muted)}

.grid2{display:grid;grid-template-columns: 1fr 1fr;gap:12px;margin-top:16px}
@media (max-width:900px){.grid2{grid-template-columns:1fr;}}

.pane{padding:16px}
.pane h3{margin:0 0 10px;letter-spacing:-.35px}

.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}

.progress{margin-top:8px}
.bar{height:12px;border-radius:999px;background:rgba(11,15,25,.08);border:1px solid var(--stroke);overflow:hidden}
.bar-fill{height:100%;width:0%;background:linear-gradient(90deg, rgba(47,128,255,.8), rgba(139,92,246,.72));}
.progress-meta{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:var(--muted);font-weight:800;font-size:12px}

.known{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.tag{font-size:12px;font-weight:800;border:1px solid var(--stroke);background:rgba(255,255,255,.7);padding:8px 10px;border-radius:999px;cursor:pointer}
.tag:hover{background:rgba(255,255,255,.9)}

.hint{margin-top:10px;color:rgba(11,15,25,.72);font-weight:700;font-size:12px}

.bullets{margin:0;padding-left:18px;line-height:1.8;color:var(--muted)}
.credits{margin-top:10px;color:var(--muted);font-size:12px;line-height:1.5}
.footer{margin-top:18px}

/* modal */
.modal{border:0;padding:0;background:transparent}
.modal::backdrop{background:rgba(15,18,24,.20);backdrop-filter: blur(6px)}
.modal-card{width:min(920px,92vw);max-height:86vh;overflow:auto;padding:18px}
.x{position:sticky;top:0;margin-left:auto;border:1px solid var(--stroke);background:rgba(255,255,255,.75);width:40px;height:40px;border-radius:14px;font-size:20px;cursor:pointer}
.x:hover{background:rgba(255,255,255,.95)}
.modal-head{display:flex;gap:12px;align-items:center;margin-top:6px}
.modal-title{font-weight:900;font-size:20px;letter-spacing:-.4px}
.modal-sub{color:var(--muted);font-weight:800;font-size:12px;margin-top:4px}

.mblock{margin-top:14px}
.mcap{font-weight:900;letter-spacing:-.2px}
.steps{margin:10px 0 0;padding-left:20px;color:var(--muted);line-height:1.7}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:760px){.mgrid{grid-template-columns:1fr;}}
.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.tip{margin-top:10px;color:var(--muted);line-height:1.6;background:rgba(255,255,255,.55);border:1px solid var(--stroke);border-radius:16px;padding:12px}
.modal-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}

/* 3D icons (SVG symbols) */
.icon3d{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto}
.icon3d svg{width:46px;height:46px;display:block}
.icon3d.big{width:54px;height:54px}
.icon3d.big svg{width:54px;height:54px}

@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
