html[data-uiwh=on] .ep-header,html[data-uiwh=on] .ep-footer,html[data-uiwh=on] .ep-prog,html[data-uiwh=on] .ep-grain,html[data-uiwh=on] .ep-cursor,html[data-uiwh=on] .ep-splash,html[data-uiwh=on] .ep-ai-fixed{display:none!important}html[data-uiwh=on]{scroll-behavior:auto}html[data-uiwh=on],html[data-uiwh=on] body{cursor:auto!important;background:#f4f5f9!important}html[data-uiwh=on] *{cursor:auto}html[data-uiwh=on] .uiwh a,html[data-uiwh=on] .uiwh button,html[data-uiwh=on] .uiwh label{cursor:pointer}.uiwh{--acc:#4f46e5;--acc2:#6366f1;--ink:#0f1729;--ink70:#475069;--ink50:#79839c;--line:#e6e8ef;--soft:#f4f5f9;--card:#fff;--sans:var(--font-sans),"Inter",system-ui,-apple-system,"Helvetica Neue",sans-serif;--mono:"SFMono-Regular",ui-monospace,"JetBrains Mono","Fira Code",Menlo,monospace;background:var(--soft);min-height:100vh;color:var(--ink);font-family:var(--sans)}.uiwh ::selection{background:var(--acc);color:#fff}.uiwh-head{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#ffffffd1;position:sticky;top:0}.uiwh-head-in{align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:12px clamp(16px,4vw,32px);display:flex}.uiwh-back{color:var(--ink70);border-radius:9px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.uiwh-back:hover{background:var(--soft);color:var(--ink)}.uiwh-brand{align-items:baseline;gap:8px;display:inline-flex}.uiwh-brand-mark{color:var(--acc);font-size:18px;transform:translateY(2px)}.uiwh-brand b{letter-spacing:.04em;font-size:16px;font-weight:800}.uiwh-brand em{color:var(--ink50);font-size:12px;font-style:normal}.uiwh-search{border:1px solid var(--line);background:#fff;border-radius:100px;align-items:center;gap:8px;width:min(340px,42vw);margin-left:auto;padding:9px 14px;transition:border-color .2s,box-shadow .2s;display:inline-flex}.uiwh-search:focus-within{border-color:var(--acc2);box-shadow:0 0 0 4px #6366f11f}.uiwh-search svg{color:var(--ink50);flex-shrink:0}.uiwh-search input{width:100%;color:var(--ink);font-size:14px;font-family:var(--sans);background:0 0;border:0;outline:0}.uiwh-hero{text-align:center;max-width:1180px;margin:0 auto;padding:clamp(44px,8vw,88px) clamp(16px,4vw,32px) clamp(18px,3vw,30px)}.uiwh-kicker{letter-spacing:.26em;text-transform:uppercase;color:var(--acc);font-size:12px;font-weight:700}.uiwh-title{letter-spacing:-.04em;background:linear-gradient(120deg,#0f1729,#4f46e5);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-top:14px;font-size:clamp(46px,9vw,96px);font-weight:800;line-height:.92}.uiwh-lead{max-width:52ch;color:var(--ink70);margin:20px auto 0;font-size:clamp(14px,1.5vw,16px);line-height:1.7}.uiwh-lead span{color:var(--ink50);margin-top:4px;font-size:.92em;display:block}.uiwh-cats{z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f4f5f9db;flex-wrap:wrap;justify-content:center;gap:8px;padding:14px clamp(16px,4vw,32px);display:flex;position:sticky;top:57px}.uiwh-chip{border:1px solid var(--line);color:var(--ink70);background:#fff;border-radius:100px;align-items:center;gap:7px;padding:8px 15px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.uiwh-chip:hover{color:var(--ink);border-color:#c9ccd8}.uiwh-chip.is-on{background:var(--ink);border-color:var(--ink);color:#fff}.uiwh-chip i{opacity:.55;font-size:11px;font-style:normal;font-weight:700}.uiwh-chip.is-on i{opacity:.7}.uiwh-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:clamp(16px,2vw,22px);max-width:1180px;margin:0 auto;padding:22px clamp(16px,4vw,32px) 40px;display:grid}.uiwh-card{background:var(--card);border:1px solid var(--line);border-radius:16px;transition:border-color .25s,box-shadow .25s,transform .25s;overflow:hidden}.uiwh-card:hover{border-color:#d4d7e2;transform:translateY(-2px);box-shadow:0 18px 40px -24px #0f172952}.uiwh-prev{background:linear-gradient(0deg,#00000004,#00000004), conic-gradient(from 90deg at 1px 1px,#0000 90deg,#0f17290b 0) 0 0/16px 16px;background-color:#f3f4f8;justify-content:center;align-items:center;min-height:190px;padding:26px;display:flex;position:relative;overflow:hidden}.uiwh-prev.is-dark{background:#12141a radial-gradient(120% 120% at 30% 0,#20242e,#111319 70%)}.uiwh-stage{justify-content:center;align-items:center;max-width:100%;display:flex}.uiwh-flip{color:#4b5468;opacity:0;background:#ffffffb3;border:0;border-radius:8px;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;line-height:1;transition:opacity .2s,background .2s;display:flex;position:absolute;top:10px;right:10px}.uiwh-prev.is-dark .uiwh-flip{color:#fff;background:#ffffff29}.uiwh-card:hover .uiwh-flip{opacity:1}.uiwh-flip:hover{background:#fffffff2}.uiwh-prev.is-dark .uiwh-flip:hover{background:#ffffff47}.uiwh-foot{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;display:flex}.uiwh-meta{align-items:center;gap:9px;min-width:0;display:flex}.uiwh-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.uiwh-tag{letter-spacing:.02em;color:var(--acc);background:#eef2ff;border-radius:100px;flex-shrink:0;padding:3px 8px;font-size:10px;font-weight:700}.uiwh-code{border:1px solid var(--line);color:var(--ink70);background:#fff;border-radius:9px;flex-shrink:0;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:700;transition:all .18s;display:inline-flex}.uiwh-code:hover{border-color:var(--acc2);color:var(--acc);background:#f7f8ff}.uiwh-empty{text-align:center;color:var(--ink50);grid-column:1/-1;padding:80px 0;font-size:14px}.uiwh-footer{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;max-width:1180px;margin:0 auto;padding:26px clamp(16px,4vw,32px) 70px;display:flex}.uiwh-footer p{color:var(--ink50);font-size:13px}.uiwh-home{color:var(--acc);font-size:13px;font-weight:700;text-decoration:none}.uiwh-home:hover{text-decoration:underline}.uiwh-modal{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f17298c;justify-content:center;align-items:center;padding:clamp(12px,3vw,28px);animation:.2s uiwh-fade;display:flex;position:fixed;inset:0}@keyframes uiwh-fade{0%{opacity:0}to{opacity:1}}.uiwh-sheet{background:#fff;border-radius:20px;width:min(680px,100%);max-height:90vh;animation:.28s cubic-bezier(.16,1,.3,1) uiwh-pop;overflow:auto;box-shadow:0 40px 90px -30px #00000080}@keyframes uiwh-pop{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:none}}.uiwh-sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.uiwh-x{background:var(--soft);width:32px;height:32px;color:var(--ink70);border:0;border-radius:9px;font-size:14px}.uiwh-x:hover{color:var(--ink);background:#e9ebf2}.uiwh-prev.is-modal{border-radius:0;min-height:210px}.uiwh-tabs{align-items:center;gap:6px;padding:12px 16px 0;display:flex}.uiwh-tabs>button{color:var(--ink50);background:0 0;border:0;border-radius:9px 9px 0 0;padding:8px 14px;font-size:13px;font-weight:700}.uiwh-tabs>button.is-on{color:var(--ink);background:#0e1116}.uiwh-copy{margin-left:auto;border:1px solid var(--line)!important;color:var(--acc)!important;background:#fff!important;border-radius:9px!important;padding:8px 16px!important}.uiwh-copy:hover{background:#f7f8ff!important}.uiwh-pre{color:#e6e9f2;font-family:var(--mono);white-space:pre;background:#0e1116;border-radius:0 0 20px 20px;margin:0;padding:18px 20px;font-size:12.5px;line-height:1.75;overflow:auto}.uiwh-pre code{font-family:inherit}@media (max-width:640px){.uiwh-search{flex:1;width:auto}.uiwh-brand em{display:none}.uiwh-cats{flex-wrap:nowrap;justify-content:flex-start;top:57px;overflow-x:auto}}@media (prefers-reduced-motion:reduce){.uiwh-card,.uiwh-modal,.uiwh-sheet{transition:none!important;animation:none!important}}
