:root{font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.5;font-weight:400;color:var(--ink);background-color:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--paper: #ffffff;--paper-strong: #f3f4f6;--ink: #1c2327;--muted: #5c6b74;--accent: #ff6b5f;--accent-strong: #ff4c38;--mint: #31c7b2;--sun: #f6b63b;--panel: #ffffff;--panel-border: rgba(28, 35, 39, .12);--shadow: 0 24px 50px rgba(28, 35, 39, .12);--radius: 24px}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#fff;color:var(--ink)}#root{min-height:100vh}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{border:none;background:none;cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(255,107,95,.4);outline-offset:2px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:sans-serif;background-color:#fff;color:#1b1b1b}.app.printer-app{min-height:100vh;background-color:#fff}.container{width:min(95%,425px);margin:100px auto 1em;transform:translateY(-85px);transition:all .8s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:100}.container.minimized{position:fixed;top:20px;right:20px;margin:0;width:120px;transform:scale(.4) translate(0);transform-origin:top right;z-index:1000;pointer-events:auto;cursor:pointer}.invoice-container{position:relative;margin-bottom:2em;height:630px}.invoice-slot{width:100%;height:120px;background-color:#2b2b2b;border:2px solid #2c2c2c;border-radius:1em;box-shadow:0 0 1px #000,0 5px 15px #00000073}.slot-hole{background-color:#000;border-radius:100vmax;width:90%;height:25px;margin:1em auto;border:1px solid #1b1b1b;box-shadow:0 0 1px #000,0 5px 15px #00000073}.invoice{position:absolute;width:85%;top:1.5em;left:50%;transform:translate(-50%);background-color:#fff;color:#6b7280;padding:1em;border-radius:.5em;box-shadow:0 5px 25px #00000026;transition:transform .6s ease-in}.invoice.teared{animation:tearAndFall 1s forwards ease-in;pointer-events:none}@keyframes tearAndFall{0%{transform:translate(-50%) rotate(0)}15%{transform:translate(-50.5%) rotate(-1deg)}30%{transform:translate(-49.5%) rotate(1deg) translateY(5px)}to{transform:translate(-50%) translateY(1200px) rotate(15deg);opacity:0}}.invoice:before{content:"";position:absolute;width:100%;height:80px;left:0;top:0;background:linear-gradient(180deg,rgba(0,0,0,.95) 0%,rgba(0,0,0,.75) 10%,rgba(0,0,0,.65) 25%,rgba(0,0,0,.45) 40%,rgba(0,0,0,.25) 60%,transparent 100%)}.invoice .title{position:relative;font-size:1.15rem;padding:.55em 0;letter-spacing:.5px;text-align:center;margin-bottom:1.25em;font-weight:500;color:#1b1b1b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.invoice .title:before{content:"";position:absolute;height:1.5px;width:100%;top:0;left:0;background-image:repeating-linear-gradient(90deg,#1b1b1b,#1b1b1b 8px,transparent 8px,transparent 16px)}.invoice .title:after{content:"";position:absolute;height:1.5px;width:100%;bottom:0;left:0;background-image:repeating-linear-gradient(90deg,#1b1b1b,#1b1b1b 8px,transparent 8px,transparent 16px)}.invoice .amount,.invoice .payment-status .heading{display:flex;align-items:center;justify-content:space-between;font-size:1rem;margin-bottom:.5em}.invoice .amount .value{font-weight:700;color:#000}.invoice .payment-status{border:1px solid #ddd;padding:1em;border-radius:15px;margin-top:1em}.invoice .payment-status .heading{justify-content:flex-end}.invoice .payment-status .heading span{text-transform:uppercase;font-weight:500;color:#000}.payers-list{list-style-type:none;margin:.5em 0}.payers-list li{border-bottom:1px solid #eee;display:flex;align-items:center}.payers-list li p{flex-grow:1;display:flex;justify-content:space-between;align-items:center;font-size:.9rem;padding:.5em}.payers-list .payer-image-container{padding:.5em;border-right:1px solid #eee}.payers-list .payer-image-container img{width:35px;border-radius:50%}.payers-list .pay-tag{border:1px solid #ddd;border-radius:8px;padding:.3em .5em}.fa-circle-check{color:#22c55e}.fa-clock{color:#d97706}.btn-group{display:flex;align-items:center;justify-content:center;gap:.75em;margin-top:1.5rem;padding:0 1rem 1.5rem;transform:translateY(-20px)}.btn{font-size:.9rem;height:35px;padding:0 2.5rem;border-radius:999px;border:none;cursor:pointer;width:auto;min-width:220px;font-weight:600;display:flex;align-items:center;justify-content:center;transition:all .2s}.reminder-btn{background-color:#b4fa00;color:#000}.reminder-btn:hover:not(:disabled){filter:brightness(1.1)}.reminder-btn:disabled{background-color:#e5e7eb;color:#9ca3af;cursor:not-allowed}.download-btn{background-color:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.download-btn:hover:not(:disabled){background-color:#e5e7eb}.download-btn:disabled{opacity:.5;cursor:not-allowed}.status-progress{position:relative;margin:1.5em 0 .5em;height:6px;background-color:#eee;border-radius:100vmax}.status-progress__bar{position:absolute;left:0;top:0;height:100%;width:0;background-color:#000;border-radius:100vmax;transition:width .35s ease}.checkpoint{position:absolute;background:#fffffff2;width:26px;height:26px;border-radius:50%;border:.5px solid #eee;display:flex;justify-content:center;align-items:center;box-shadow:0 5px 10px #00000026;left:var(--pos);top:0;transform:translate(-50%,-40%);z-index:2}.checkpoint__dot{display:inline-block;width:15px;height:15px;border-radius:50%;background-color:#d1d5db;transition:transform .2s ease,background-color .2s ease}.checkpoint.is-active .checkpoint__dot{background-color:#000;transform:scale(1.03)}.checkpoint.is-done .checkpoint__dot{background-color:#22c55e}.checkpoint__label{position:absolute;left:50%;top:-34px;transform:translate(-50%,-100%);background-color:#fff;border:1px solid #eee;border-radius:999px;padding:.25em .6em;font-size:.7rem;color:#111827;white-space:nowrap;box-shadow:0 6px 12px #0000001f;animation:label-pop .45s ease;z-index:3}.checkpoint__label.is-done{color:#16a34a;animation:label-wiggle .8s ease-in-out}.checkpoint.is-done:after{content:"";position:absolute;left:50%;top:-12px;width:6px;height:6px;border-radius:2px;background:#f59e0b;box-shadow:-12px -6px #f97316,10px -10px #22c55e,16px 6px #38bdf8,-16px 8px #f43f5e;transform:translate(-50%);animation:confetti-pop .9s ease-out;pointer-events:none}.fa-stamp{color:#000}hr{border:none;height:1px;background-color:#ddd;margin:.75em 0}.payment-info{display:flex;justify-content:space-between;align-items:center;margin:.75em 1em;font-size:1rem;color:#6b7280}.card-info{display:flex;align-items:center;gap:.75em}.card-icon{display:inline-block;width:35px;height:26px;background-color:#1a43bf;border-radius:5px}.pay-now-btn{font-size:1.15rem;background-color:#111827;color:#fff;width:100%;padding:.75em 0;border:2px solid #1b1b1b;border-radius:.75em;box-shadow:0 0 1px #000,0 5px 15px #00000073;cursor:pointer}.upload-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.upload-card{position:relative;display:grid;place-items:center;border-radius:16px;border:1px solid #eee;background:#f9fafb;overflow:hidden;min-height:300px;height:auto;margin-bottom:1em;cursor:pointer}.upload-card img{width:100%;height:auto;display:block;background:#fff}.upload-placeholder{display:grid;gap:6px;text-align:center;font-weight:600;color:#6b7280}.upload-placeholder span{font-size:.85rem;font-weight:500;color:#9ca3af}.upload-tag{position:absolute;right:12px;bottom:12px;padding:4px 10px;border-radius:999px;background:#ffffffe6;border:1px solid #eee;font-size:.75rem;font-weight:600;color:#6b7280}.upload-overlay{position:absolute;inset:0;background:#fff6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;border-radius:16px;z-index:10;opacity:1;transition:opacity .4s ease;animation:fadeIn .4s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.upload-overlay.error{background:#ffebebe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.overlay-error-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem;text-align:center}.error-message{color:#dc2626;font-size:.95rem;font-weight:500;line-height:1.5}.error-close-btn{background:#111827;color:#fff;border:none;padding:.6rem 2rem;border-radius:999px;font-weight:600;cursor:pointer;transition:all .2s}.error-close-btn:hover{background:#374151;transform:scale(1.05)}.overlay-progress-container{width:100%;padding:0 1rem}.spinner{display:none}.heading__value{font-weight:700;color:#000}.option-block{display:grid;gap:1em;margin-top:.25em}.receipt-header{display:flex;justify-content:space-between;align-items:center;padding:0 .5rem .5rem;border-bottom:1px dashed #e5e7eb;margin-bottom:.5rem;font-size:.85rem;color:#111827;font-weight:600}.receipt-header span:nth-child(1){flex:1;text-align:left}.receipt-header span:nth-child(2){width:70px;text-align:center}.receipt-header span:nth-child(3){width:70px;text-align:center}.receipt-header span:nth-child(4){width:70px;text-align:right}.style-list{display:flex;flex-direction:column}.receipt-row{display:flex;align-items:center;padding:.75rem .5rem;border-bottom:1px dashed #e5e7eb;position:relative}.receipt-col-style{flex:1;display:flex;align-items:center;gap:.25rem;cursor:pointer;position:relative}.receipt-col-style .current-value{font-size:.8rem;font-weight:500;color:#374151}.dropdown-arrow{color:#9ca3af;transition:transform .2s}.receipt-col-size,.receipt-col-qty{width:70px;text-align:center;cursor:pointer;position:relative;font-size:.8rem;font-weight:500;color:#374151;display:flex;align-items:center;justify-content:center}.receipt-col-price{width:70px;text-align:right;font-size:.8rem;font-weight:500;color:#374151;display:flex;align-items:center;justify-content:flex-end}.receipt-dropdown-menu{position:absolute;top:100%;left:-.5rem;min-width:140px;background:#fff;border:1px dashed #e5e7eb;box-shadow:0 4px 12px #0000000d;border-radius:4px;z-index:50;padding:.25rem 0;margin-top:.25rem}.receipt-dropdown-menu.center-menu{left:50%;transform:translate(-50%);min-width:60px}.dropdown-item{padding:.5rem 1rem;font-size:.9rem;color:#374151;cursor:pointer;transition:background .1s}.dropdown-item:hover{background-color:#f9fafb}.dropdown-item.active{background-color:#f0fdf4;color:#166534;font-weight:700}.receipt-remarks-row{display:flex;padding:.5rem;margin-top:.5rem;font-size:.8rem;color:#374151}.remarks-label{font-weight:600;white-space:nowrap;color:#111827}.remarks-input{flex:1;border:none;background:transparent;padding:0;margin:0;font-family:inherit;font-size:inherit;color:inherit;resize:none;outline:none;line-height:1.4}.remarks-input::placeholder{color:#9ca3af;font-weight:400}.style-list-item{display:flex;align-items:center;padding:.6rem .5rem;border:none;background:transparent;border-bottom:1px dashed #e5e7eb;text-align:left;cursor:pointer;width:100%;font-family:Courier New,Courier,monospace}.style-list-item:hover{background-color:#f9fafb}.style-list-item:last-child{border-bottom:none}.style-col-name{flex:1;font-size:.85rem;font-weight:600;color:#374151}.style-col-qty{width:60px;text-align:center;font-size:.85rem;color:#111827}.style-col-price{width:60px;text-align:right;font-size:.85rem;color:#111827;display:flex;align-items:center;justify-content:flex-end;gap:.5rem;width:auto;min-width:60px}.price-val{min-width:1.5rem}.style-check{width:16px;height:16px;color:#166534;display:flex;align-items:center;justify-content:center}.style-list-item.is-active .style-icon{background-color:#dcfce7;color:#166534}.style-info{display:flex;flex-direction:column;flex-grow:1;gap:.25rem}.style-info strong{color:#111827;font-family:Courier New,Courier,monospace;font-size:.9rem;font-weight:600;letter-spacing:-.02em}.style-status{flex-shrink:0}.status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .6rem;border-radius:4px;font-size:.7rem;font-weight:500;background-color:transparent;color:#9ca3af;border:1px solid #e5e7eb}.status-badge.is-active{background-color:transparent;color:#166534;border:1px solid #22c55e}.status-radio{width:1.25rem;height:1.25rem;border-radius:50%;border:2px solid #e5e7eb}.style-card{border:1px dashed #bbb;border-radius:0;padding:.75em;background-color:transparent;text-align:left;color:#6b7280;cursor:pointer;box-shadow:none;font-family:Courier New,Courier,monospace;transition:all .2s ease}.style-card strong{display:block;color:#1b1b1b;font-size:.9rem;margin-bottom:.35em}.style-card span{font-size:.8rem}.style-card.is-active{background-color:#f0fdf4;border:2px solid #22c55e;border-style:solid;color:#000;box-shadow:0 0 10px #22c55e66}.style-card.is-active strong{color:#000}.segmented{display:flex;gap:.5em;background:transparent;border-radius:0;border:1px solid #ddd;padding:.35em}.segmented button{flex:1;border:none;background:transparent;border-radius:0;padding:.45em 0;font-size:.85rem;color:#6b7280;cursor:pointer;font-family:Courier New,Courier,monospace;border-right:1px dashed #ccc}.segmented button:last-child{border-right:none}.segmented button.is-active{background:#22c55e;color:#000;font-weight:700;box-shadow:0 2px 5px #22c55e4d}.option-hint{margin-top:.45em;font-size:.8rem;color:#6b7280}.option-group textarea{width:100%;min-height:90px;border-radius:12px;border:1px solid #eee;padding:.65em;font-family:inherit;color:#1b1b1b;background:#fff;resize:vertical}@keyframes label-pop{0%{opacity:0;transform:translate(-50%,-110%) scale(.9)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}@keyframes label-wiggle{0%{transform:translate(-50%,-100%) rotate(0)}25%{transform:translate(-50%,-100%) rotate(-2deg)}50%{transform:translate(-50%,-100%) rotate(2deg)}75%{transform:translate(-50%,-100%) rotate(-1deg)}to{transform:translate(-50%,-100%) rotate(0)}}@keyframes confetti-pop{0%{opacity:0;transform:translate(-50%) scale(.6)}30%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%) translateY(-10px) scale(.9)}}@media(max-width:424px){h1{font-size:1.2rem}.invoice{padding:.75em}.invoice .title{position:relative;font-size:1rem;padding:.5em 0}.slot-hole{width:95%}.invoice{width:90%}.invoice .amount,.payers-list li p{font-size:.85rem}.payers-list .pay-tag{font-size:.8rem}.btn{padding:.5em 0;font-size:.8rem}.payment-info{font-size:.95rem}.pay-now-btn{font-size:1.05rem}.option-grid{grid-template-columns:1fr}.segmented{flex-direction:column;border-radius:16px}}.flying-stickers-container{position:fixed;inset:0;z-index:500;pointer-events:none;perspective:2000px}.flying-sticker{position:absolute;object-fit:contain;opacity:0;background:#fff;padding:8px;border-radius:12px;box-shadow:0 10px 40px #00000026;transform-origin:center;transform:scale(.1) translate(0) rotateX(45deg);border:1px solid #f0f0f0;z-index:10;pointer-events:none;transition:transform 3s cubic-bezier(.22,1,.36,1),opacity .3s ease}.phase-printing_stickers .flying-sticker{animation:flyFromSlot 1.2s forwards cubic-bezier(.25,1,.5,1)}.phase-tidying .flying-sticker{opacity:1;pointer-events:auto;cursor:pointer;animation:tidyUp 3s both cubic-bezier(.22,1,.36,1)}.phase-tidying .flying-sticker:hover{z-index:100}@keyframes flyFromSlot{0%{opacity:0;transform:scale(.3) translate(0) rotate(0)}10%{opacity:1;transform:scale(.6) translateY(30px) rotate(calc(var(--messy-rotate) * .2))}45%{transform:scale(1.1) translate(calc(var(--messy-x) * .5),calc(var(--messy-y) * .5)) rotate(calc(var(--messy-rotate) * .6))}75%{transform:scale(1.02) translate(calc(var(--messy-x) * 1.03),calc(var(--messy-y) * 1.03)) rotate(calc(var(--messy-rotate) * 1.05))}to{opacity:1;transform:scale(1) translate(var(--messy-x, 0),var(--messy-y, 0)) rotate(var(--messy-rotate, 0deg))}}@keyframes tidyUp{0%{opacity:1;transform:scale(1) translate(var(--messy-x, 0),var(--messy-y, 0)) rotate(var(--messy-rotate, 0deg))}30%{transform:scale(1.02) translate(calc(var(--messy-x) * .7 + var(--tidy-x) * .3),calc(var(--messy-y) * .6 + var(--tidy-y) * .4)) rotate(calc(var(--messy-rotate) * .5))}70%{transform:scale(1.01) translate(calc(var(--messy-x) * .2 + var(--tidy-x) * .8),calc(var(--messy-y) * .2 + var(--tidy-y) * .8)) rotate(calc(var(--messy-rotate) * .1))}to{opacity:1;transform:scale(1) translate(var(--tidy-x, 0),var(--tidy-y, 0)) rotate(0)}}.collection-btn{position:fixed;right:24px;bottom:24px;width:56px;height:56px;border-radius:28px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 32px #0000001f;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.collection-btn:hover{transform:scale(1.1);box-shadow:0 12px 48px #0000002e}.collection-btn.active{display:flex}.collection-count{position:absolute;top:-4px;right:-4px;background:#ff5e57;color:#fff;font-size:11px;font-weight:700;height:20px;min-width:20px;padding:0 6px;border-radius:10px;display:flex;align-items:center;justify-content:center;border:2px solid white}.collection-drawer{position:fixed;top:0;right:-400px;width:360px;height:100vh;background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:-10px 0 40px #0000001a;z-index:1001;transition:right .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}.collection-drawer.open{right:0}.drawer-header{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid rgba(0,0,0,.05)}.drawer-header h3{font-size:18px;font-weight:600;margin:0;color:#333}.close-btn{background:none;border:none;cursor:pointer;padding:8px;border-radius:50%;color:#666;transition:background .2s;display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#0000000d;color:#333}.drawer-grid{flex:1;min-height:0;overflow-y:auto;padding:24px;display:grid;grid-template-columns:repeat(2,1fr);gap:24px;align-content:start;grid-auto-rows:min-content}.drawer-item{position:relative;background:#f8f9fa;border-radius:16px;overflow:hidden;height:auto;transition:transform .2s}.drawer-item:hover{transform:translateY(-2px)}.drawer-item .img-wrapper{width:100%;padding-bottom:100%;position:relative;background:#fff}.drawer-item .img-wrapper img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;padding:10px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.1))}.download-btn{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:14px;background:#fff;color:#333;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;opacity:0;transform:scale(.8);transition:all .2s;cursor:pointer}.drawer-item:hover .download-btn{opacity:1;transform:scale(1)}.download-btn:hover{background:#333;color:#fff}.drawer-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999}.empty-icon{margin-bottom:16px;color:#eee}.drawer-empty p{margin:0 0 4px;font-size:15px;font-weight:500;color:#666}.drawer-empty span{font-size:13px;color:#aaa}.drawer-actions{position:absolute;top:8px;right:8px;display:flex;gap:6px}.gif-btn{width:28px;height:28px;border-radius:50%;background:#ffffffe6;border:1px solid #ddd;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#333;transition:all .2s}.gif-btn:hover{background:#fdf000;border-color:#fdf000;transform:scale(1.1)}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:#fff;border-radius:20px;width:90%;max-width:400px;padding:24px;box-shadow:0 20px 40px #0003;animation:modalPop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes modalPop{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h3{margin:0;font-size:1.25rem;color:#111}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.action-btn{padding:12px;border-radius:12px;background:#f3f4f6;border:2px solid transparent;font-weight:500;color:#374151;cursor:pointer;transition:all .2s}.action-btn:hover{background:#e5e7eb}.action-btn.active{background:#fdf000;color:#000;border-color:#000}.generating-status{text-align:center;padding:40px 0}.spinner{width:40px;height:40px;border:4px solid #eee;border-top-color:#fdf000;border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}.generating-status p{font-weight:600;font-size:1.1rem;margin-bottom:8px}.generating-status span{color:#6b7280;font-size:.9rem}.sticker-preview{display:flex;justify-content:center;margin-bottom:20px}.mini-preview{width:100px;height:100px;object-fit:contain;background:#000;border-radius:12px;padding:8px}.modal-hint{text-align:center;color:#666;margin-bottom:16px;font-size:.95rem}@keyframes spin{to{transform:rotate(360deg)}}.pui-container{position:relative;width:90%;height:2.5rem;display:flex;align-items:center;-webkit-user-select:none;user-select:none;margin:0 auto;overflow:visible}.pui-bg-line{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:1.5px;background-color:#f3f4f6;z-index:0;border-radius:9999px}.pui-progress-line{position:absolute;left:0;top:50%;transform:translateY(-50%);height:1.5px;background-color:#22c55e;z-index:10;box-shadow:0 0 6px #22c55e33;transition:width .3s ease-out}.pui-node{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:20}.pui-node-ping{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:9999px;border:1px solid #22c55e;opacity:0;width:0;height:0}.pui-node-ping.active{animation:pui-ping .6s ease-out}@keyframes pui-ping{0%{width:0px;height:0px;opacity:.8}75%,to{width:24px;height:24px;opacity:0}}.pui-node-dot{position:relative;border-radius:9999px;border:2px solid white;transition:all .5s ease-out}.pui-node-dot.completed{background-color:#000;width:.75rem;height:.75rem;box-shadow:0 4px 6px -1px #0000001a;transform:scale(1.05)}.pui-node-dot.pending{background-color:#e5e7eb;width:.5rem;height:.5rem}.pui-label{position:absolute;top:1.25rem;left:50%;transform:translate(-50%);font-size:.6rem;font-weight:500;letter-spacing:.02em;white-space:nowrap;transition:color .3s}.pui-label.completed{color:#000}.pui-label.pending{color:#d1d5db}.pui-orb{position:absolute;top:50%;transform:translate(-50%,-50%);z-index:30;width:.875rem;height:.875rem;background-color:#22c55e;border-radius:9999px;box-shadow:0 0 10px #22c55e99;border:2px solid white;display:flex;align-items:center;justify-content:center;transition:all .3s ease-out}.pui-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:50}
