/* BeginThings homepage: live demo zone r2 (#tools). One borderless stage + icon-led tool cards. Uses bt-page-theme variables (light + dark). */
.dz2{--dz-e:cubic-bezier(.22,.8,.25,1);--dz-glow:color-mix(in srgb,var(--accent) 16%,transparent);--dz-soft:color-mix(in srgb,var(--ink) 4.5%,transparent)}
.dz2 [hidden]{display:none!important}
.dz2 .vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dz2 .dz-anchor{display:block;position:relative;top:-110px;height:0}
.dz2 svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.dz-head{display:grid;justify-items:center;text-align:center;max-width:880px;margin:0 auto 26px}
.dz-head .eyebrow{justify-content:center;color:var(--muted);margin-bottom:18px}
.dz-head h2{margin:0}
.dz-head p{color:var(--muted);font-size:clamp(16px,1.35vw,18.5px);line-height:1.6;max-width:640px;margin:18px auto 0}
/* outcome chips */
.dz-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:980px;margin:0 auto 26px}
.dz-chip{font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:var(--dz-soft);border:0;border-radius:999px;padding:10px 16px;cursor:pointer;transition:transform .25s var(--dz-e),background .25s}
.dz-chip::before{content:"→ ";color:var(--accent)}
.dz-chip:hover{background:var(--accent-soft,var(--dz-glow));transform:translateY(-2px)}
/* stage */
.dz-stage{position:relative;isolation:isolate;min-height:clamp(440px,52vw,580px);border-radius:36px;padding:clamp(22px,4vw,56px);display:grid;align-items:center;scroll-margin-top:84px;
 background:radial-gradient(60% 70% at 15% 10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),radial-gradient(55% 65% at 90% 95%,color-mix(in srgb,var(--brand-cyan,#38bdf8) 12%,transparent),transparent 70%),var(--surface);
 box-shadow:0 40px 90px -50px color-mix(in srgb,var(--ink) 45%,transparent);transition:transform .35s var(--dz-e),box-shadow .35s}
.dz-stage::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none;background:repeating-radial-gradient(circle at 50% 50%,transparent 0 22px,color-mix(in srgb,var(--accent) 5%,transparent) 22px 23px);opacity:0;transition:opacity .4s}
.dz-stage.drag::after{opacity:1}
.dz-stage.drag{transform:scale(1.008)}
.dz-stage.hot{box-shadow:0 0 0 3px var(--accent),0 40px 90px -40px color-mix(in srgb,var(--accent) 60%,transparent)}
.dz-over{position:absolute;inset:0;border-radius:inherit;display:grid;place-items:center;background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s;z-index:3}
.dz-over span{display:grid;justify-items:center;gap:12px;font-size:clamp(24px,3vw,38px);font-weight:500;letter-spacing:-.03em;color:var(--ink)}
.dz-over svg{width:64px;height:64px;color:var(--accent);animation:dz-bob 1s var(--dz-e) infinite alternate}
.dz-stage.hot .dz-over{opacity:1}
.dz-v{animation:dz-in .5s var(--dz-e) both;min-width:0}
@keyframes dz-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes dz-bob{to{transform:translateY(-8px)}}
/* idle */
.dz-idle{display:grid;justify-items:center;text-align:center;gap:14px}
.dz-orb{width:112px;height:112px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--brand-gradient,linear-gradient(135deg,var(--accent),#38bdf8));box-shadow:0 22px 50px -18px color-mix(in srgb,var(--accent) 80%,transparent);animation:dz-bob 1.8s ease-in-out infinite alternate;margin-bottom:6px}
.dz-orb svg{width:46px;height:46px;stroke-width:2}
.dz-idle-t{font-size:clamp(30px,3.6vw,52px);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin:0}
.dz-idle-s{color:var(--muted);font-size:17px;max-width:520px;margin:0}
.dz-idle-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px}
.dz-try{color:var(--muted);font-size:14px;margin:4px 0 0}
.dz-private{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;margin:8px 0 0}
.dz-private svg{width:15px;height:15px;color:var(--success,#16a34a);flex:none}
/* buttons */
.dz-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:0 22px;border-radius:999px;border:0;background:var(--dz-soft);color:var(--ink);font:inherit;font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;transition:transform .2s var(--dz-e),background .2s,box-shadow .2s}
.dz-btn:hover{transform:translateY(-2px);background:color-mix(in srgb,var(--ink) 9%,transparent)}
.dz-btn.primary{background:var(--ink);color:var(--bg)}
.dz-btn.primary:hover{box-shadow:0 14px 30px -14px color-mix(in srgb,var(--ink) 70%,transparent);background:var(--ink)}
.dz-btn.big{min-height:58px;padding:0 30px;font-size:17px}
.dz-btn svg{width:20px;height:20px;stroke-width:2.2}
.dz-link{background:none;border:0;padding:0;font:inherit;color:var(--ink);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 60%,transparent);text-underline-offset:3px;cursor:pointer}
.dz-link:hover{color:var(--accent)}
.dz2 button:focus-visible,.dz2 a:focus-visible,.dz2 input:focus-visible,.dz2 textarea:focus-visible,.dz2 h3:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.dz2 h3[tabindex]:focus{outline:0}
/* pick */
.dz-pickv{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,56px);align-items:center}
.dz-files{display:flex;flex-wrap:wrap;gap:14px;align-content:center;justify-content:center}
.dz-thumb{position:relative;width:min(168px,40%);display:grid;gap:8px;animation:dz-in .5s var(--dz-e) both;animation-delay:calc(var(--i,0)*60ms)}
.dz-thumb img,.dz-ext{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:16px;background:var(--bg);box-shadow:0 18px 36px -22px color-mix(in srgb,var(--ink) 60%,transparent)}
.dz-ext{display:grid;place-items:center;font-weight:800;letter-spacing:.08em;font-size:15px;color:var(--accent);background:linear-gradient(160deg,var(--bg),color-mix(in srgb,var(--accent) 10%,var(--bg)))}
.dz-fn{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dz-fn small{display:block;color:var(--muted);font-weight:500}
.dz-ord{position:absolute;top:8px;left:8px;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:var(--bg);font-size:12px;font-weight:700}
.dz-ctl{position:absolute;top:6px;right:6px;display:flex;gap:4px}
.dz-ctl button{width:28px;height:28px;border-radius:50%;border:0;background:color-mix(in srgb,var(--surface) 85%,transparent);color:var(--ink);cursor:pointer;font-size:12px}
.dz-add,.dz-more{align-self:center;font:inherit;font-size:14px;font-weight:600;color:var(--muted);background:none;border:0;cursor:pointer;padding:10px}
.dz-add:hover{color:var(--accent)}
.dz-acts-t{font-size:clamp(24px,2.4vw,34px);font-weight:500;letter-spacing:-.035em;line-height:1.15;margin:0 0 18px}
.dz-acts-t span{display:block;color:var(--muted);font-size:.55em;letter-spacing:0;margin-bottom:4px}
.dz-acts-list{display:grid;gap:8px;margin-bottom:16px}
.dz-act{display:flex;align-items:center;gap:16px;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--dz-soft);border:0;border-radius:20px;padding:14px 18px;cursor:pointer;animation:dz-in .45s var(--dz-e) both;animation-delay:calc(var(--i,0)*55ms + 80ms);transition:transform .25s var(--dz-e),background .25s}
.dz-act:hover{transform:translateX(6px);background:var(--accent-soft,var(--dz-glow))}
.dz-act span{flex:1;font-size:17px;font-weight:600;min-width:0}
.dz-act small{display:block;font-size:13.5px;font-weight:500;color:var(--muted);margin-top:2px}
.dz-act b{font-size:20px;color:var(--accent);transition:transform .25s}
.dz-act:hover b{transform:translateX(4px)}
.dz-act.need{opacity:.7}
.dz-act em,.dz-aitag{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;padding:2px 7px;border-radius:999px;color:#fff;background:linear-gradient(120deg,#8b5cf6,#ec4899);vertical-align:2px}
/* icons */
.dz-ic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;color:var(--accent);background:var(--accent-soft,var(--dz-glow))}
.dz-ic svg{width:24px;height:24px}
.dz-ic.ai{color:#fff;background:linear-gradient(135deg,#8b5cf6,#ec4899)}
/* work */
.dz-work{display:grid;justify-items:center;text-align:center;gap:10px}
.dz-ring{position:relative;width:148px;height:148px;--p:0}
.dz-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.dz-ring circle{stroke:var(--dz-soft);stroke-width:8}
.dz-ring circle.v{stroke:var(--accent);stroke-dasharray:326.7;stroke-dashoffset:calc(326.7 - 326.7*var(--p)/100);transition:stroke-dashoffset .35s var(--dz-e)}
.dz-ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:30px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.dz-work h3{font-size:clamp(24px,2.4vw,32px);font-weight:500;letter-spacing:-.03em;margin:8px 0 0}
.dz-work-s{color:var(--muted);min-height:1.5em;margin:0;max-width:90%;overflow-wrap:anywhere}
/* done */
.dz-res{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4vw,56px);align-items:center}
.dz-res-k{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--success,#16a34a);margin:0 0 10px}
.dz-res-k::before{content:"✓ "}
.dz-res-t{font-size:clamp(34px,4.2vw,60px);font-weight:500;letter-spacing:-.05em;line-height:1.02;margin:0}
.dz-res-t em{color:var(--accent)}
.dz-res-meta{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--muted);font-size:14px;margin:14px 0 22px}
.dz-res-meta b{color:var(--ink)}
.dz-dl{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.dz-tweak{display:grid;gap:10px;margin-top:22px}
.dz-tweak:empty{display:none}
.dz-pills{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.dz-pills span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);min-width:84px}
.dz-pills button{font:inherit;font-size:13.5px;font-weight:600;border:0;border-radius:999px;padding:7px 13px;background:var(--dz-soft);color:var(--ink);cursor:pointer;transition:background .2s}
.dz-pills button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.dz-res-more{display:flex;flex-wrap:wrap;gap:8px 22px;margin:22px 0 0;font-size:14px}
.dz-full{color:var(--muted);text-decoration:none;font-size:14px}
.dz-full:hover{color:var(--accent)}
.dz-res-view{min-width:0}
.dz-stage.pop .dz-res-main{animation:dz-in .6s var(--dz-e) both}
.dz-stage.pop .dz-res-view{animation:dz-pop .7s var(--dz-e) both .08s}
@keyframes dz-pop{from{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:none}}
.chk,.dz-cmp.chk .dz-after{background:repeating-conic-gradient(#d9dce3 0 25%,#f4f5f8 0 50%) 0 0/20px 20px}
.dz-cmp{position:relative;border-radius:22px;overflow:hidden;--x:50%;box-shadow:0 30px 60px -36px color-mix(in srgb,var(--ink) 70%,transparent);touch-action:pan-y}
.dz-cmp img{display:block;width:100%;max-height:440px;object-fit:contain}
.dz-cmp:not(.chk) img{object-fit:cover}
.dz-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--x))}
.dz-after img{width:100%;height:100%}
.dz-handle{position:absolute;top:0;bottom:0;left:var(--x);width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 12px #0006;pointer-events:none}
.dz-handle::after{content:"⟷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;color:#111;display:grid;place-items:center;font-size:18px;box-shadow:0 6px 18px #0005}
.dz-cmp input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.dz-tag{position:absolute;bottom:12px;padding:5px 10px;border-radius:999px;background:#000a;color:#fff;font-size:12px;font-weight:600;pointer-events:none}
.dz-tag.l{left:12px}.dz-tag.r{right:12px}
.dz-one{border-radius:22px;overflow:hidden;display:grid;place-items:center}
.dz-one img{display:block;max-width:100%;max-height:440px;border-radius:16px;box-shadow:0 30px 60px -36px color-mix(in srgb,var(--ink) 70%,transparent)}
.dz-pdfpv{display:flex;justify-content:center;align-items:center;min-height:260px;padding:10px}
.dz-pdfpv canvas{width:min(48%,230px);height:auto;border-radius:6px;background:#fff;box-shadow:0 24px 48px -26px #0009;margin-left:-14%;transform:rotate(calc((var(--i) - 1)*5deg));animation:dz-pop .6s var(--dz-e) both;animation-delay:calc(var(--i)*90ms)}
.dz-pdfpv canvas:first-child{margin-left:0}
.dz-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}
.dz-grid a{position:relative;display:block;animation:dz-pop .5s var(--dz-e) both;animation-delay:calc(var(--i)*60ms)}
.dz-grid img{width:100%;border-radius:8px;background:#fff;box-shadow:0 14px 30px -18px #0008;display:block}
.dz-grid span{position:absolute;bottom:6px;right:6px;font-size:11px;font-weight:700;background:#000a;color:#fff;border-radius:999px;padding:1px 7px}
/* qr + text forms */
.dz-formgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center}
.dz-form h3{font-size:clamp(28px,3vw,42px);font-weight:500;letter-spacing:-.04em;margin:0}
.dz-sub{color:var(--muted);margin:8px 0 18px}
.dz-lab{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.dz2 textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;line-height:1.5;color:var(--ink);background:var(--bg);border:0;border-radius:18px;padding:16px 18px;resize:vertical;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 8%,transparent)}
.dz-toggles{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.dz-toggles label{cursor:pointer}
.dz-toggles input{position:absolute;opacity:0;width:1px;height:1px}
.dz-toggles span{display:inline-block;font-size:13.5px;font-weight:600;padding:7px 13px;border-radius:999px;background:var(--dz-soft)}
.dz-toggles input:checked+span{background:var(--ink);color:var(--bg)}
.dz-toggles input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.dz-ph{display:grid;place-items:center;min-height:260px;border-radius:22px;color:var(--muted);background:var(--dz-soft);text-align:center;padding:20px}
.dz-qr-out{display:grid;justify-items:center;gap:6px;text-align:center}
.dz-qr-out img{width:min(280px,100%);border-radius:18px;background:#fff;padding:8px;box-shadow:0 30px 60px -36px #0009;animation:dz-pop .5s var(--dz-e) both}
.dz-qr-out .dz-res-meta{justify-content:center;margin:12px 0}
.dz-text-out textarea{min-height:200px;background:var(--surface2,var(--bg))}
.dz-msg{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);margin:0;max-width:calc(100% - 40px);font-size:14px;color:var(--muted);text-align:center}
.dz-msg.err{color:var(--danger,#dc2626)}
/* tool cards */
.dz-tools{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(24px,3vw,48px);margin-top:clamp(40px,5vw,72px)}
.dz-group h3{font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0 0 16px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.dz-group h3 small{width:100%;font-size:14px;font-weight:500;color:var(--muted);letter-spacing:0}
.dz-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.dz-tools .dz-group:last-child .dz-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.dz-card{position:relative;display:flex;align-items:center;gap:14px;width:100%;height:100%;box-sizing:border-box;text-align:left;font:inherit;color:var(--ink);text-decoration:none;background:none;border:0;border-radius:18px;padding:12px;cursor:pointer;transition:background .25s,transform .25s var(--dz-e)}
.dz-card:hover{background:var(--dz-soft);transform:translateY(-2px)}
.dz-card:hover .dz-ic{transform:scale(1.08) rotate(-4deg)}
.dz-card .dz-ic{transition:transform .3s var(--dz-e)}
.dz-cn{flex:1;min-width:0;font-size:15.5px;font-weight:600}
.dz-cn small{display:block;font-size:13px;font-weight:500;color:var(--muted);margin-top:1px}
.dz-badge{position:absolute;top:8px;right:10px;font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--muted);opacity:0;transition:opacity .2s}
.dz-badge.go{color:var(--success,#16a34a)}
.dz-card:hover .dz-badge,.dz-card:focus-visible .dz-badge{opacity:1}
/* find + foot */
.dz-find{display:grid;grid-template-columns:auto minmax(0,340px);align-items:center;gap:10px 18px;margin-top:clamp(36px,4vw,56px)}
.dz-find label{font-weight:600}
.dz-find input{font:inherit;font-size:15px;color:var(--ink);background:var(--dz-soft);border:0;border-radius:999px;padding:12px 18px;min-width:0}
.dz-links{grid-column:1/-1;list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.dz-links a{display:inline-block;font-size:14px;color:var(--ink);text-decoration:none;padding:7px 13px;border-radius:999px;background:var(--dz-soft)}
.dz-links a:hover{color:var(--accent)}
.dz-links span{color:var(--muted);font-size:12px}
.dz-count{grid-column:1/-1;margin:0;color:var(--muted);font-size:13px}
.dz-count:empty{display:none}
.dz-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:28px;font-size:14px}
.dz-foot>a{color:var(--ink);font-weight:600;text-decoration:none}
.dz-foot>a:hover{color:var(--accent)}
.dz-foot .quiet{color:var(--muted)}
.dz-foot .quiet a{color:var(--muted)}
/* responsive */
@media (max-width:980px){.dz-tools{grid-template-columns:1fr}}
@media (max-width:820px){
 .dz-pickv,.dz-res,.dz-formgrid{grid-template-columns:1fr}
 .dz-res-t{font-size:34px}
 .dz-find{grid-template-columns:1fr}
}
@media (max-width:560px){
 .dz-chips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin-left:-20px;margin-right:-20px;padding:0 20px 4px;scrollbar-width:none;scroll-snap-type:x proximity}
 .dz-chips::-webkit-scrollbar{display:none}
 .dz-chip{flex:none;scroll-snap-align:start;font-size:13.5px}
 .dz-stage{border-radius:28px;padding:26px 18px 46px;min-height:auto;margin-left:-6px;margin-right:-6px;scroll-margin-top:72px}
 .dz-orb{width:84px;height:84px}.dz-orb svg{width:36px;height:36px}
 .dz-idle-s{font-size:15.5px}
 .dz-idle-btns{display:grid;grid-template-columns:1fr 1fr;width:100%}
 .dz-idle-btns .primary{grid-column:1/-1;min-height:54px}
 .dz-thumb{width:calc(33% - 10px)}
 .dz-files{justify-content:flex-start}
 .dz-act{padding:12px 14px;gap:12px}
 .dz-act span{font-size:16px}
 .dz-ic{width:42px;height:42px}
 .dz-dl .dz-btn{flex:1 1 100%}
 .dz-pills span{min-width:0;width:100%}
 .dz-cards,.dz-tools .dz-group:last-child .dz-cards{grid-template-columns:1fr 1fr;gap:4px}
 .dz-card{flex-direction:column;align-items:flex-start;gap:10px;padding:12px 10px}
 .dz-cn{font-size:14.5px}.dz-cn small{font-size:12.5px}
 .dz-badge{display:none}
 .dz-cmp img,.dz-one img{max-height:300px}
 .dz-foot{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){.dz2 *,.dz2 *::before,.dz2 *::after{animation:none!important;transition:none!important}}
[data-bt-motion=reduce] .dz2 *,[data-bt-motion=reduce] .dz2 *::before,[data-bt-motion=reduce] .dz2 *::after{animation:none!important;transition:none!important}
@media (prefers-reduced-motion:reduce){.dz2 .dz-v,.dz2 *::before,.dz2 *::after{animation:none!important;transition:none!important}.dz-stage.drag{transform:none}}
