@import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&family=Inter:wght@400;500;600;700;800&display=swap";
.dapp,.dapp :where(:not(svg,svg *)),.dapp :before,.dapp :after{all:revert}.dapp{box-sizing:border-box;--bg:#eef3f7;--panel:#fff;--panel-2:#f4f9fc;--ink:#13283a;--ink-2:#516678;--muted:#8598a6;--line:#e1eaf0;--line-2:#eef4f8;--teal:#2e9bd6;--teal-d:#1c7db4;--teal-l:#e4f2fb;--mint:#7cc7e8;--ocean:#0b2a3e;--ocean-2:#123b54;--pass:#3f9d6b;--pass-bg:#e7f5ed;--watch:#c2922f;--watch-bg:#f8efd6;--fail:#cf5d4e;--fail-bg:#f8e7e3;--gold:#c5a253;--side:#0b2433;--side-2:#173347;--on-side:#cfe2ee;--on-side-mut:#7f9bad;--shadow:0 1px 2px #0d283a0d, 0 12px 32px -18px #0d283a52;--r:14px;--r-s:10px}.dapp[data-theme=dark]{--bg:#0a1620;--panel:#12202c;--panel-2:#162631;--ink:#e7f0f6;--ink-2:#a1b4c1;--muted:#7a909e;--line:#243845;--line-2:#1d2e3a;--teal-l:#10344c;--pass-bg:#13301f;--watch-bg:#322a14;--fail-bg:#33201c;--side:#081521;--side-2:#142a3a;--on-side:#cfe2ee;--on-side-mut:#7f9bad;--shadow:0 1px 2px #0000004d, 0 12px 30px -18px #0009}.dapp *{box-sizing:border-box;margin:0;padding:0}.dapp{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif}.dapp a{color:inherit;text-decoration:none}.dapp img{max-width:100%;display:block}.dapp button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0}.dapp ::selection{background:var(--teal);color:#fff}.dapp .app{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.dapp .side{background:var(--side);color:var(--on-side);flex-direction:column;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0}.dapp .brand{align-items:center;gap:11px;padding:6px 8px 22px;display:flex}.dapp .brand .mk{background:#fff;border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid;overflow:hidden;box-shadow:0 4px 12px -4px #2e9bd680}.dapp .brand .mk img{object-fit:contain;width:27px;height:27px}.dapp .brand b{letter-spacing:-.01em;color:#fff;font-size:1.05rem;font-weight:700;line-height:1.1;display:block}.dapp .brand span{color:var(--on-side-mut);letter-spacing:.05em;font-size:.68rem}.dapp .nav{flex-direction:column;gap:3px;display:flex}.dapp .nav a{color:var(--on-side-mut);border-radius:10px;align-items:center;gap:11px;padding:10px 12px;font-size:.92rem;font-weight:500;transition:all .18s;display:flex}.dapp .nav a svg{flex:none;width:18px;height:18px}.dapp .nav a:hover{background:var(--side-2);color:var(--on-side)}.dapp .nav a.on{background:var(--teal);color:#fff}.dapp .side .sfoot{border-top:1px solid var(--side-2);flex-direction:column;gap:10px;margin-top:auto;padding-top:16px;display:flex}.dapp .side .replay-btn{border:1px solid var(--side-2);width:100%;color:var(--on-side);cursor:pointer;text-align:left;background:#ffffff08;border-radius:11px;align-items:center;gap:11px;padding:10px 11px;transition:all .18s;display:flex}.dapp .side .replay-btn:hover{border-color:var(--teal);background:color-mix(in srgb, var(--teal) 16%, transparent);transform:translateY(-1px)}.dapp .side .replay-btn .ri{background:var(--teal);border-radius:8px;flex:none;place-items:center;width:30px;height:30px;display:grid}.dapp .side .replay-btn .ri svg{width:16px;height:16px}.dapp .side .replay-btn .rt{flex-direction:column;line-height:1.2;display:flex}.dapp .side .replay-btn b{font-size:.86rem;font-weight:600}.dapp .side .replay-btn .rs{color:var(--on-side-mut);font-size:.7rem}.dapp .side .who{color:var(--on-side-mut);align-items:center;gap:10px;font-size:.82rem;display:flex}.dapp .side .who .av{background:var(--mint);width:30px;height:30px;color:var(--side);border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:grid}.dapp main{min-width:0}.dapp .topbar{z-index:20;background:color-mix(in srgb,var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:13px clamp(16px,3vw,32px);display:flex;position:sticky;top:0}.dapp .topbar .crumb{color:var(--ink-2);align-items:center;gap:8px;font-size:.92rem;display:flex}.dapp .topbar .crumb b{color:var(--ink);font-weight:600}.dapp .topbar .search{background:var(--panel);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;width:min(320px,40vw);margin-left:auto;padding:8px 14px;display:flex}.dapp .topbar .search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;width:100%;font-size:.88rem}.dapp .topbar .search svg{width:15px;height:15px;color:var(--muted);flex:none}.dapp .iconbtn{border:1px solid var(--line);background:var(--panel);width:38px;height:38px;color:var(--ink-2);border-radius:10px;place-items:center;transition:all .18s;display:grid}.dapp .iconbtn:hover{color:var(--teal);border-color:var(--teal)}.dapp .iconbtn svg{width:17px;height:17px}.dapp .content{max-width:1180px;padding:clamp(18px,3vw,34px)}.dapp .grid .gcard{animation:.55s cubic-bezier(.16,1,.3,1) both cardIn;animation-delay:calc(var(--i,0)*42ms)}@keyframes cardIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.dapp .grid .gcard{animation:none}}.dapp .row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.dapp .between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.dapp .h-page{letter-spacing:-.02em;font-size:clamp(1.5rem,2.4vw,2rem);font-weight:800}.dapp .sub{color:var(--ink-2)}.dapp .muted{color:var(--muted)}.dapp .panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.dapp .pad{padding:clamp(16px,2.2vw,24px)}.dapp .eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:700}.dapp .btn{background:var(--teal);color:#fff;border:1px solid var(--teal);border-radius:999px;align-items:center;gap:7px;padding:9px 16px;font-size:.86rem;font-weight:600;transition:all .18s;display:inline-flex}.dapp .btn:hover{background:var(--teal-d)}.dapp .btn.ghost{color:var(--ink);border-color:var(--line);background:0 0}.dapp .btn.ghost:hover{border-color:var(--teal);color:var(--teal)}.dapp .btn.sm{padding:6px 13px;font-size:.8rem}.dapp .chip{border:1px solid var(--line);background:var(--panel);color:var(--ink-2);white-space:nowrap;border-radius:999px;padding:6px 13px;font-size:.8rem;font-weight:600;transition:all .16s}.dapp .chip:hover{border-color:var(--teal);color:var(--teal)}.dapp .chip.on{background:var(--teal);border-color:var(--teal);color:#fff}.dapp .pill{white-space:nowrap;border-radius:999px;padding:4px 11px;font-size:.72rem;font-weight:700}.dapp .pill.pass{color:var(--pass);background:var(--pass-bg)}.dapp .pill.watch{color:var(--watch);background:var(--watch-bg)}.dapp .pill.fail{color:var(--fail);background:var(--fail-bg)}.dapp .score-badge{font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-weight:800;display:inline-flex}.dapp .score-ring{flex:none;width:46px;height:46px}.dapp .welcome{grid-template-columns:1.5fr 1fr;gap:18px;margin-bottom:24px;display:grid}@media (max-width:820px){.dapp .welcome{grid-template-columns:1fr}}.dapp .wcard{border-radius:var(--r);color:#fff;background:var(--side);flex-direction:column;justify-content:flex-end;min-height:170px;padding:26px;display:flex;position:relative;overflow:hidden}.dapp .wcard img{object-fit:cover;opacity:.32;width:100%;height:100%;position:absolute;inset:0}.dapp .wcard .in{position:relative}.dapp .wcard .weyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--mint);margin-bottom:9px;font-size:.7rem;font-weight:700}.dapp .wcard h2{letter-spacing:-.02em;margin-bottom:6px;font-size:1.5rem;font-weight:800}.dapp .wcard p b{color:#fff;font-weight:700}.dapp .wcard p{color:#ffffffc7;max-width:42ch;font-size:.92rem}.dapp .quick{gap:12px;display:grid}.dapp .qcard{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);align-items:center;gap:14px;padding:18px 20px;transition:all .2s;display:flex}.dapp .qcard:hover{border-color:var(--teal);transform:translateY(-2px)}.dapp .qcard .qi{background:var(--teal-l);width:40px;height:40px;color:var(--teal);border-radius:10px;flex:none;place-items:center;display:grid}.dapp .qcard .qi svg{width:19px;height:19px}.dapp .qcard>span:not([class]){flex-direction:column;gap:2px;min-width:0;display:flex}.dapp .qcard b{font-size:.96rem}.dapp .qcard .qs{color:var(--muted);font-size:.8rem}.dapp .qcard .ar{color:var(--teal);margin-left:auto}.dapp .filters{flex-wrap:wrap;align-items:center;gap:9px;margin:18px 0 22px;display:flex}.dapp .filters .lab{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-right:2px;font-size:.78rem;font-weight:600}.dapp .grid{grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:16px;display:grid}.dapp .gcard{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);cursor:pointer;transition:all .22s;overflow:hidden}.dapp .gcard:hover{box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--teal) 40%,var(--line));transform:translateY(-4px)}.dapp .gcard .ph{aspect-ratio:1;background:var(--panel-2);border-bottom:1px solid var(--line-2);place-items:center;display:grid;position:relative}.dapp .gcard .ph svg.garment{width:62%;height:62%}.dapp .gcard .ph img.gimg-img{object-fit:cover;width:100%;height:100%}.dapp .gcard:hover .ph img.gimg-img{transform:scale(1.04)}.dapp .gcard .ph img.gimg-img{transition:transform .4s var(--ease,ease)}.dapp .dph img.gimg-img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.dapp .mph img.gimg-img{object-fit:cover;width:100%;height:100%}.dapp .gimg-fallback{background:var(--panel-2);width:100%;height:100%}.dapp .gcard .ph,.dapp .dhead .dph,.dapp .ctable .mini .mph{overflow:hidden}.dapp .gcard .ph .sb{background:var(--panel);border-radius:50%;place-items:center;width:42px;height:42px;display:grid;position:absolute;top:10px;right:10px;box-shadow:0 2px 8px #10282647}.dapp .gcard .ph .sb svg{display:block}.dapp .gcard .ph:after{content:"";pointer-events:none;background:linear-gradient(#1028261f,#0000 30%);position:absolute;inset:0}.dapp .gcard .gbody{padding:14px 16px 16px}.dapp .gcard .gt{letter-spacing:-.01em;font-size:.98rem;font-weight:700}.dapp .gcard .gm{color:var(--muted);margin-top:2px;font-size:.78rem}.dapp .gcard .gpairs{gap:8px;margin-top:11px;display:flex}.dapp .gcard .gpair{background:var(--panel-2);border:1px solid var(--line-2);border-radius:9px;flex:1;align-items:center;gap:6px;padding:7px 9px;display:flex}.dapp .gcard .gpair .gpl{color:var(--muted);font-size:.66rem;font-weight:600;line-height:1.1}.dapp .gcard .gstats{border-top:1px solid var(--line-2);color:var(--ink-2);align-items:center;gap:10px;margin-top:11px;padding-top:11px;font-size:.76rem;display:flex}.dapp .gcard .gstats .dot{background:var(--muted);border-radius:50%;width:5px;height:5px}.dapp .dhead{grid-template-columns:150px 1fr;align-items:center;gap:22px;display:grid}@media (max-width:760px){.dapp .dhead{grid-template-columns:1fr}}.dapp .dhead .dph{border-radius:var(--r);background:var(--panel-2);border:1px solid var(--line);place-items:center;width:150px;height:170px;display:grid}.dapp .grades{border-top:1px solid var(--line-2);grid-template-columns:1fr 1fr;gap:14px;margin-top:20px;padding-top:20px;display:grid}@media (max-width:680px){.dapp .grades{grid-template-columns:1fr}}.dapp .grade{text-align:left;border-radius:var(--r);border:1px solid var(--line);background:var(--panel-2);cursor:pointer;transition:.22s var(--ease-out);align-items:center;gap:16px;padding:16px 18px;display:flex;position:relative;overflow:hidden}.dapp .grade:after{content:"";background:var(--teal);opacity:0;width:4px;transition:all .22s;position:absolute;top:0;bottom:0;left:0}.dapp .grade.gr-built:after{background:var(--teal)}.dapp .grade.gr-wild:after{background:var(--pass)}.dapp .grade:hover{border-color:color-mix(in srgb,var(--teal) 45%,var(--line));box-shadow:var(--shadow);transform:translateY(-2px)}.dapp .grade:hover:after{opacity:1}.dapp .g-ring{flex:none;place-items:center;display:grid}.dapp .g-ring svg .gr-fg{transition:stroke-dashoffset 1.1s cubic-bezier(.16,1,.3,1)}.dapp .g-txt{flex-direction:column;gap:3px;min-width:0;display:flex}.dapp .g-k{letter-spacing:-.01em;font-size:.96rem;font-weight:700}.dapp .g-k em{color:var(--muted);letter-spacing:.02em;font-size:.72rem;font-style:normal;font-weight:500}.dapp .g-sub{color:var(--ink-2);font-size:.8rem;line-height:1.4}.dapp .g-why{color:var(--teal);align-items:center;gap:5px;margin-top:3px;font-size:.78rem;font-weight:700;display:inline-flex}.dapp .grade.gr-wild .g-why{color:var(--pass)}.dapp .grade:hover .g-why .arr{transform:translate(3px)}.dapp .g-why .arr{transition:all .2s}.dapp .gbadge-mini{border:1px solid;border-radius:6px;place-items:center;min-width:24px;height:21px;padding:0 6px;font-size:.74rem;font-weight:800;display:inline-grid}.dapp .dhead .dph svg.garment{width:64%;height:64%}.dapp .dmeta{color:var(--ink-2);flex-wrap:wrap;gap:8px 20px;margin-top:10px;font-size:.86rem;display:flex}.dapp .dmeta b{color:var(--ink)}.dapp .dscore{text-align:center}.dapp .dscore .big{letter-spacing:-.02em;font-size:2.6rem;font-weight:800;line-height:1}.dapp .dscore .lab{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:4px;font-size:.72rem}.dapp .tabs{border-bottom:1px solid var(--line);gap:4px;margin:24px 0 0;display:flex}.dapp .tabs button{color:var(--ink-2);border-bottom:2px solid #0000;margin-bottom:-1px;padding:11px 18px;font-size:.92rem;font-weight:600;transition:all .16s}.dapp .tabs button.on{color:var(--teal);border-color:var(--teal)}.dapp .tabpane{padding-top:22px}.dapp .seg{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.dapp .seg button{color:var(--ink-2);border-radius:999px;padding:6px 13px;font-size:.8rem;font-weight:600}.dapp .seg button.on{background:var(--teal);color:#fff}.dapp .grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:860px){.dapp .grid2{grid-template-columns:1fr}}.dapp .card-h{background:var(--teal-l);border-radius:11px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:13px 18px;font-size:.98rem;font-weight:700;display:flex}.dapp .card-h .meta{color:var(--ink-2);font-size:.74rem;font-weight:500}.dapp .metric{border-bottom:1px solid var(--line-2);padding:13px 0}.dapp .metric:last-child{border-bottom:0}.dapp .metric .mt{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.dapp .metric .mn{cursor:help;font-size:.9rem;font-weight:600}.dapp .metric .mn .std{color:var(--muted);font-size:.68rem;font-weight:500;display:block}.dapp .metric .mv{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.dapp .metric .mv .delta{border-radius:999px;margin-left:6px;padding:1px 6px;font-size:.68rem;font-weight:700}.dapp .delta.up{color:var(--pass);background:var(--pass-bg)}.dapp .delta.dn{color:var(--watch);background:var(--watch-bg)}.dapp .mbar-row{align-items:center;gap:12px;margin-top:7px;display:flex}.dapp .mbar{background:var(--line-2);border-radius:7px;flex:1;height:13px;position:relative;overflow:hidden}.dapp .mbar i{background:linear-gradient(90deg,var(--teal),var(--mint));border-radius:7px;width:0;transition:width 1s cubic-bezier(.16,1,.3,1);position:absolute;top:0;bottom:0;left:0}.dapp .mbar i.watch{background:linear-gradient(90deg,#d9a83e,#e6c878)}.dapp .mbar i.fail{background:linear-gradient(90deg,#cf5d4e,#e0897c)}.dapp .mbar .th{background:var(--ink);opacity:.4;width:2px;position:absolute;top:-3px;bottom:-3px}.dapp .mscale{color:var(--muted);justify-content:space-between;margin-top:3px;font-size:.65rem;display:flex}.dapp svg.chart{width:100%;height:auto;overflow:visible}.dapp .legend{gap:5px;margin-top:8px;display:grid}.dapp .legend .li{color:var(--ink-2);align-items:center;gap:8px;font-size:.78rem;display:flex}.dapp .legend .sw{border-radius:3px;flex:none;width:11px;height:11px}.dapp .legend .lv{color:var(--ink);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:600}.dapp .wild-grid{grid-template-columns:1.3fr 1fr;gap:16px;display:grid}@media (max-width:880px){.dapp .wild-grid{grid-template-columns:1fr}}.dapp .issues .ir{grid-template-columns:120px 1fr 42px;align-items:center;gap:10px;padding:7px 0;font-size:.86rem;display:grid}.dapp .issues .it{background:var(--line-2);border-radius:6px;height:11px;overflow:hidden}.dapp .issues .it i{background:var(--teal);border-radius:6px;height:100%;display:block}.dapp .insights{background:var(--teal-l);border-radius:var(--r-s);padding:16px}.dapp .insights h4{color:var(--teal-d);margin-bottom:8px;font-size:.8rem}.dapp .insights ul{gap:8px;list-style:none;display:grid}.dapp .insights li{color:var(--ink-2);padding-left:16px;font-size:.84rem;position:relative}.dapp .insights li:before{content:"";background:var(--teal);border-radius:50%;width:6px;height:6px;position:absolute;top:.5em;left:0}.dapp .insights li b{color:var(--ink)}.dapp .photos{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (max-width:680px){.dapp .photos{grid-template-columns:1fr}}.dapp .photo{border-radius:var(--r-s);border:1px solid var(--line);position:relative;overflow:hidden}.dapp .photo img{aspect-ratio:3/2;object-fit:cover;width:100%}.dapp .photo .cap{padding:11px 13px}.dapp .photo .cap .t{align-items:center;gap:7px;font-size:.85rem;font-weight:600;display:flex}.dapp .photo .cap .d{color:var(--muted);margin-top:2px;font-size:.78rem}.dapp .photo .tag{color:#fff;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#102826b3;border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:600;position:absolute;top:9px;left:9px}.dapp .defects{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}@media (max-width:680px){.dapp .defects{grid-template-columns:1fr}}.dapp .defect{border:1px solid var(--line);border-radius:var(--r-s);overflow:hidden}.dapp .defect img{aspect-ratio:4/3;object-fit:cover;width:100%}.dapp .defect .dc{justify-content:space-between;align-items:center;padding:11px 13px;display:flex}.dapp .defect .dc b{font-size:.84rem}.dapp .heatmap{grid-template-columns:1fr 1.1fr;align-items:center;gap:18px;display:grid}@media (max-width:680px){.dapp .heatmap{grid-template-columns:1fr}}.dapp .heatmap svg{width:100%;max-width:240px;margin:0 auto}.dapp .ctable{border-collapse:collapse;width:100%;font-size:.88rem}.dapp .ctable th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:11px 14px;font-size:.72rem}.dapp .ctable th:hover{color:var(--teal)}.dapp .ctable td{border-bottom:1px solid var(--line-2);vertical-align:middle;padding:12px 14px}.dapp .ctable tr{cursor:pointer}.dapp .ctable tbody tr:hover{background:var(--panel-2)}.dapp .ctable td:first-child{font-weight:600}.dapp .ctable .mini{align-items:center;gap:9px;display:flex}.dapp .ctable .mini .mph{background:var(--panel-2);border:1px solid var(--line-2);border-radius:7px;flex:none;place-items:center;width:34px;height:38px;display:grid}.dapp .ctable .mini .mph svg{width:22px;height:26px}.dapp .cbar{background:var(--line-2);border-radius:5px;width:90px;height:8px;overflow:hidden}.dapp .cbar i{border-radius:5px;height:100%;display:block}.dapp .verdict{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.dapp .vchip{background:var(--panel-2);border:1px solid var(--line);border-radius:11px;align-items:center;gap:8px;padding:8px 14px;font-size:.84rem;display:inline-flex}.dapp .vchip .vk{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.68rem}.dapp .vchip b{font-weight:700}.dapp .vchip.good{background:var(--pass-bg);border-color:#0000}.dapp .vchip.good b{color:var(--pass)}.dapp .vchip.weak{background:var(--watch-bg);border-color:#0000}.dapp .vchip.weak b{color:var(--watch)}.dapp .reco{border:1px solid var(--line);border-radius:var(--r);background:linear-gradient(180deg,var(--teal-l),var(--panel));margin-bottom:16px;overflow:hidden}.dapp .reco.win{background:var(--pass-bg)}.dapp .reco-head{align-items:center;gap:14px;padding:18px 20px;display:flex}.dapp .reco-ic{background:var(--teal);color:#fff;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;font-size:1.1rem;font-weight:700;display:grid}.dapp .reco-ic.ok{background:var(--pass)}.dapp .reco-head b{font-size:.98rem;display:block}.dapp .reco-head span{color:var(--ink-2);font-size:.84rem}.dapp .reco-head .proj{color:var(--teal-d)}.dapp .proj-chip{font-variant-numeric:tabular-nums;background:var(--panel);border:1px solid var(--line);color:var(--teal);box-shadow:var(--shadow);border-radius:999px;flex:none;align-items:center;gap:7px;margin-left:auto;padding:7px 14px;font-weight:800;display:inline-flex}.dapp .proj-chip span{color:var(--muted)}.dapp .reco-list{background:var(--line-2);gap:1px;display:grid}.dapp .reco-item{background:var(--panel);align-items:flex-start;gap:13px;padding:13px 20px;display:flex}.dapp .reco-item .pill{flex:none;margin-top:1px}.dapp .reco-item b{font-size:.88rem}.dapp .reco-item span{color:var(--ink-2);font-size:.86rem}.dapp .health{background:var(--line);border:1px solid var(--line);border-radius:var(--r);grid-template-columns:repeat(4,1fr);gap:1px;margin-bottom:22px;display:grid;overflow:hidden}@media (max-width:760px){.dapp .health{grid-template-columns:1fr 1fr}}.dapp .hcell{background:var(--panel);padding:18px 20px}.dapp .hcell .hv{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:800;line-height:1}.dapp .hcell .hl{color:var(--muted);margin-top:5px;font-size:.78rem}.dapp .hcell .distro{align-items:flex-end;gap:4px;height:34px;margin-top:2px;display:flex}.dapp .hcell .distro i{background:var(--teal);opacity:.85;border-radius:3px 3px 0 0;flex:1;min-height:4px;transition:height .8s cubic-bezier(.16,1,.3,1)}.dapp .cellbar{align-items:center;gap:9px;display:flex}.dapp .cellbar .cb{background:var(--line-2);border-radius:4px;flex:none;width:60px;height:6px;overflow:hidden}.dapp .cellbar .cb i{background:var(--teal);border-radius:4px;height:100%;display:block}.dapp .ctable tr.best td:first-child:after{content:"Benchmark";color:var(--pass);background:var(--pass-bg);vertical-align:middle;border-radius:999px;margin-left:8px;padding:2px 7px;font-size:.62rem;font-weight:700}.dapp .ctable tr.worst td:first-child:after{content:"Action first";color:var(--watch);background:var(--watch-bg);border-radius:999px;margin-left:8px;padding:2px 7px;font-size:.62rem;font-weight:700}.dapp .tabpane{animation:.35s cubic-bezier(.16,1,.3,1) tabIn}@keyframes tabIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dapp .tour-block{z-index:1100;cursor:default;position:fixed;inset:0}.dapp .tour-spot{z-index:1101;border:2px solid var(--mint);pointer-events:none;border-radius:13px;transition:all .4s cubic-bezier(.16,1,.3,1);position:fixed;box-shadow:0 0 0 9999px #0a1a18a3}.dapp .tour-pop{z-index:1102;background:var(--panel);width:312px;max-width:calc(100vw - 28px);color:var(--ink);border:1px solid var(--line);border-radius:15px;padding:18px 19px 15px;transition:left .4s cubic-bezier(.16,1,.3,1),top .4s cubic-bezier(.16,1,.3,1);position:fixed;box-shadow:0 24px 60px -18px #00000073}.dapp .tour-pop .caret{background:var(--panel);border-left:1px solid var(--line);border-top:1px solid var(--line);width:13px;height:13px;position:absolute;transform:rotate(45deg)}.dapp .tour-pop .tk{letter-spacing:.09em;text-transform:uppercase;color:var(--teal);align-items:center;gap:7px;font-size:.66rem;font-weight:700;display:inline-flex}.dapp .tour-pop .tk:before{content:"";background:var(--teal);width:16px;height:1px}.dapp .tour-pop h4{letter-spacing:-.01em;margin:8px 0 6px;font-size:1.05rem;font-weight:800}.dapp .tour-pop p{color:var(--ink-2);font-size:.86rem;line-height:1.55}.dapp .tour-pop .term{color:var(--teal-d);border-bottom:1.5px dotted var(--mint);font-weight:600}.dapp .tour-foot{flex-direction:column;align-items:stretch;gap:14px;margin-top:16px;display:flex}.dapp .tour-dots{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;display:flex}.dapp .tour-dots b{background:var(--line);border-radius:50%;width:6px;height:6px;transition:all .25s}.dapp .tour-dots b.on{background:var(--teal);border-radius:3px;width:17px}.dapp .tour-btns{justify-content:flex-end;align-items:center;gap:8px;display:flex}.dapp .tour-btns button{border-radius:999px;padding:8px 15px;font-size:.82rem;font-weight:600;transition:all .16s}.dapp .tour-skip{color:var(--muted);margin-right:auto;padding:8px 6px!important}.dapp .tour-skip:hover{color:var(--ink)}.dapp .tour-back{color:var(--ink-2);border:1px solid var(--line)}.dapp .tour-back:hover{border-color:var(--teal);color:var(--teal)}.dapp .tour-next{background:var(--teal);color:#fff}.dapp .tour-next:hover{background:var(--teal-d)}@media (prefers-reduced-motion:reduce){.dapp .tour-spot,.dapp .tour-pop{transition:none}}.dapp .tip{z-index:80;background:var(--ink);color:var(--panel);pointer-events:none;opacity:0;max-width:250px;box-shadow:var(--shadow);border-radius:7px;padding:7px 10px;font-size:.74rem;transition:all .12s;position:fixed}.dapp .tip.show{opacity:1}.dapp .foot-note{border-top:1px solid var(--line);color:var(--muted);margin-top:26px;padding-top:16px;font-size:.76rem;line-height:1.6}.dapp .foot-note a{color:var(--teal);font-weight:600}.dapp .app{opacity:0;transition:opacity .4s}.dapp.ready .app{opacity:1}.dapp.intro-on{overflow:hidden}.dapp .intro{z-index:1000;--i-accent:#1c7db4;--i-ink:#171717;--i-2:#4d4d4d;--i-mut:#7d7d7d;--i-faint:#a8a8a8;--i-bg:#fff;--i-surface:#fafafa;--i-line:#00000014;--i-line-2:#00000024;color:var(--i-ink);background:var(--i-bg);-webkit-font-smoothing:antialiased;font-family:Geist,Inter,system-ui,sans-serif;transition:opacity .3s;position:fixed;inset:0;overflow:hidden}.dapp .intro.gone{opacity:0;pointer-events:none}.dapp .intro:after,.dapp .motes{display:none}.dapp .intro button:focus-visible,.dapp .intro a:focus-visible{box-shadow:0 0 0 2px var(--i-bg), 0 0 0 4px var(--i-accent);outline:none}.dapp .intro-top{z-index:5;justify-content:space-between;align-items:center;padding:20px clamp(20px,4vw,48px);display:flex;position:absolute;top:0;left:0;right:0}.dapp .intro-brand{letter-spacing:-.01em;color:var(--i-ink);align-items:center;gap:10px;font-size:.95rem;font-weight:600;display:flex}.dapp .intro-brand .mk{border:1px solid var(--i-line);background:#fff;border-radius:7px;place-items:center;width:30px;height:30px;display:grid;overflow:hidden}.dapp .intro-brand .mk img{object-fit:contain;width:22px;height:22px}.dapp .intro-brand small{color:var(--i-mut);letter-spacing:0;font-size:.72rem;font-weight:400;display:block}.dapp .skip{color:var(--i-2);border:1px solid var(--i-line);background:#fff;border-radius:6px;padding:8px 12px;font-size:.82rem;font-weight:500;transition:all .12s}.dapp .skip:hover{border-color:var(--i-line-2);background:var(--i-surface);color:var(--i-ink)}.dapp .stage{position:absolute;inset:0}.dapp .scene{opacity:0;pointer-events:none;place-items:center;padding:96px clamp(22px,5vw,64px) 104px;transition:opacity .3s;display:grid;position:absolute;inset:0;overflow-y:auto}.dapp .scene.active{opacity:1;pointer-events:auto}.dapp .scene-in{width:100%;max-width:1040px}.dapp .scene-two{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(32px,5vw,72px);display:grid}@media (max-width:780px){.dapp .scene-two{grid-template-columns:1fr;gap:28px}.dapp .scene{place-items:start center;padding:88px 22px 96px}.dapp .scene-two .gimg-card{aspect-ratio:auto;height:36vh}.dapp .gimg-card .qmark{font-size:3.4rem}.dapp .solve{grid-template-columns:1fr;gap:24px}.dapp .statgrid{grid-template-columns:1fr}}.dapp [data-anim]{opacity:0;transform:translateY(8px)}.dapp .scene.active [data-anim]{opacity:1;transition:opacity .4s cubic-bezier(.175,.885,.32,1.1),transform .4s cubic-bezier(.175,.885,.32,1.1);transition-delay:calc(var(--d,0)*45ms);transform:none}.dapp .ik{letter-spacing:.05em;text-transform:uppercase;color:var(--i-accent);align-items:center;gap:.6em;margin-bottom:20px;font-family:Geist Mono,Geist,monospace;font-size:.76rem;font-weight:500;display:inline-flex}.dapp .ik:before{content:"";background:var(--i-accent);width:18px;height:1px}.dapp .ih{letter-spacing:-.035em;color:var(--i-ink);font-family:Geist,Inter,sans-serif;font-size:clamp(2rem,1.1rem + 3.2vw,3.6rem);font-weight:600;line-height:1.05}.dapp .ih em{color:var(--i-accent);font-style:normal;font-weight:600}.dapp .ip{color:var(--i-2);max-width:56ch;margin-top:22px;font-size:clamp(1rem,.96rem + .25vw,1.125rem);font-weight:400;line-height:1.6}.dapp .ip b{color:var(--i-ink);font-weight:600}.dapp .inext{color:#fff;background:var(--i-ink);border-radius:6px;align-items:center;gap:8px;height:44px;margin-top:36px;padding:0 16px;font-size:.875rem;font-weight:500;transition:background .12s;display:inline-flex}.dapp .inext span{transition:transform .15s cubic-bezier(.175,.885,.32,1.1)}.dapp .inext:hover{background:#383838}.dapp .inext:hover span{transform:translate(3px)}.dapp .inext.big{height:48px;padding:0 20px;font-size:.95rem}.dapp .ighost{color:var(--i-2);align-items:center;gap:7px;font-size:.875rem;font-weight:500;transition:color .12s;display:inline-flex}.dapp .ighost:hover{color:var(--i-ink)}.dapp .gimg-card{border:1px solid var(--i-line);aspect-ratio:4/5;background:var(--i-surface);border-radius:12px;position:relative;overflow:hidden;box-shadow:0 2px 2px #0000000a}.dapp .gimg-card img{object-fit:cover;width:100%;height:100%}.dapp .gimg-card .vig{background:linear-gradient(#0000 45%,#0000008c);position:absolute;inset:0}.dapp .gimg-card .qmark{color:#fffffff2;place-items:center;font-family:Geist,Inter,sans-serif;font-size:5rem;font-weight:600;display:grid;position:absolute;inset:0}.dapp .gimg-card .tagrow{justify-content:space-between;align-items:end;display:flex;position:absolute;bottom:16px;left:16px;right:16px}.dapp .gimg-card .lifespan{color:#ffffffb8;font-size:.72rem}.dapp .gimg-card .lifespan b{color:#fff;letter-spacing:-.01em;margin-top:2px;font-family:Geist,Inter,sans-serif;font-size:1.1rem;font-weight:600;display:block}.dapp .gimg-card .scan{display:none}.dapp .istat{letter-spacing:-.04em;color:var(--i-ink);font-variant-numeric:tabular-nums;font-family:Geist,Inter,sans-serif;font-size:clamp(2.6rem,1.4rem + 6vw,5.5rem);font-weight:600;line-height:1}.dapp .istat .u{letter-spacing:.02em;color:var(--i-mut);text-transform:uppercase;margin-top:16px;font-family:Geist,Inter,sans-serif;font-size:.15em;font-weight:500;display:block}.dapp .statgrid{grid-template-columns:1fr 1fr;gap:12px;max-width:560px;margin-top:32px;display:grid}.dapp .statgrid .sc{border:1px solid var(--i-line);background:var(--i-surface);border-radius:12px;padding:20px}.dapp .statgrid .sc b{letter-spacing:-.02em;color:var(--i-ink);margin-bottom:4px;font-family:Geist,Inter,sans-serif;font-size:1.5rem;font-weight:600;display:block}.dapp .statgrid .sc span{color:var(--i-2);font-size:.82rem;line-height:1.45}.dapp .labs{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.dapp .lab-x{border:1px solid var(--i-line);text-align:center;background:var(--i-surface);border-radius:12px;flex:150px;padding:20px}.dapp .lab-x .ln{letter-spacing:.02em;text-transform:uppercase;color:var(--i-mut);font-family:Geist Mono,Geist,monospace;font-size:.72rem}.dapp .lab-x .lv{letter-spacing:-.02em;color:var(--i-ink);font-variant-numeric:tabular-nums;margin:8px 0 2px;font-family:Geist,Inter,sans-serif;font-size:1.9rem;font-weight:600}.dapp .lab-x .lu{color:var(--i-mut);font-size:.74rem}.dapp .lab-x.bad .lv{color:var(--i-ink)}.dapp .nope{color:#d8001b;background:#ffeeef;border:1px solid #ffd7d6;border-radius:6px;align-items:center;gap:8px;margin-top:24px;padding:8px 14px;font-size:.82rem;font-weight:500;display:inline-flex}.dapp .converge{display:none}.dapp .solve{grid-template-columns:auto 1fr;align-items:center;gap:40px;display:grid}@media (max-width:680px){.dapp .solve{grid-template-columns:1fr;gap:24px}}.dapp .gradecard{border:1px solid var(--i-line);background:#fff;border-radius:12px;width:300px;padding:6px 20px;box-shadow:0 2px 2px #0000000a}.dapp .gc-row{align-items:center;gap:16px;padding:18px 0;display:flex}.dapp .gc-div{background:var(--i-line);height:1px}.dapp .gc-ring svg{width:64px;height:64px}.dapp .gc-ring .bg{fill:none;stroke:#00000014;stroke-width:6px}.dapp .gc-ring .fg{fill:none;stroke-width:6px;stroke-linecap:round;stroke-dasharray:239;stroke-dashoffset:239px;transition:stroke-dashoffset 1s cubic-bezier(.16,1,.3,1) .2s}.dapp .gc-ring .fg.blue{stroke:#006bff}.dapp .gc-ring .fg.green{stroke:#28a948}.dapp .gc-ring text{fill:#171717;font-family:Geist,Inter,sans-serif;font-weight:700}.dapp .scene.active .gc-ring .fg.blue{stroke-dashoffset:62px}.dapp .scene.active .gc-ring .fg.green{stroke-dashoffset:26px}.dapp .gc-txt{flex-direction:column;gap:2px;display:flex}.dapp .gc-txt b{letter-spacing:-.01em;color:var(--i-ink);font-size:1rem;font-weight:600}.dapp .gc-txt span{color:var(--i-mut);font-size:.78rem}.dapp .lifecycle{color:var(--i-2);flex-wrap:wrap;align-items:center;gap:8px;margin-top:24px;font-size:.76rem;font-weight:500;display:flex}.dapp .lifecycle span{border:1px solid var(--i-line);background:var(--i-surface);border-radius:6px;padding:5px 11px}.dapp .lifecycle i{color:var(--i-faint);font-style:normal}.dapp .dots{z-index:5;justify-content:center;gap:8px;display:flex;position:absolute;bottom:32px;left:0;right:0}.dapp .dots b{cursor:pointer;background:#00000024;border-radius:999px;width:6px;height:6px;transition:all .2s}.dapp .dots b.on{background:var(--i-ink);width:22px}.dapp .keyhint{z-index:5;color:var(--i-faint);font-size:.74rem;position:absolute;bottom:30px;right:clamp(20px,4vw,48px)}@media (max-width:680px){.dapp .keyhint{display:none}}@media (prefers-reduced-motion:reduce){.dapp [data-anim],.dapp .scene{transition:none!important}}.dapp .menu-btn,.dapp .scrim{display:none}@media (max-width:880px){.dapp .app{grid-template-columns:1fr}.dapp .side{z-index:60;width:248px;transition:all .25s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #0000004d}.dapp .app.open .side{transform:none}.dapp .menu-btn{display:grid}.dapp .scrim{z-index:55;opacity:0;pointer-events:none;background:#0006;transition:all .2s;display:block;position:fixed;inset:0}.dapp .app.open .scrim{opacity:1;pointer-events:auto}}
