:root{--paper:#f1f4f0;--surface:#fff;--ink:#15211b;--muted:#4e5d56;--line:#d6ded8;--line-strong:#b4c2b9;--brand:#0b5d46;--brand-deep:#084434;--brand-tint:#e2f0e9;--ok:#14724a;--ok-bg:#dff1e7;--bad:#b3261e;--bad-bg:#fbe8e5;--warn:#7a4f00;--warn-bg:#fdefcd;--idle:#4f5d56;--idle-bg:#e8ede9;--info:#1b5a8c;--info-bg:#e0edf7;--r-sm:6px;--r:10px;--r-lg:14px;--sh-1:0 1px 2px #15211b12;--sh-2:0 14px 30px -14px #15211b59, 0 2px 6px #15211b14;--ease:cubic-bezier(.2, .8, .2, 1);--topbar-h:68px}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--topbar-h) + 16px)}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:400 15px/1.55 Public Sans,Noto Sans Bengali,system-ui,sans-serif}[lang=bn]{font-family:Noto Sans Bengali,Public Sans,system-ui,sans-serif}[lang=bn] .f-id,[lang=bn] .tb-id,[lang=bn] .num{font-family:Public Sans,Noto Sans Bengali,sans-serif}button,input,select{font:inherit;color:inherit}.app{flex-direction:column;min-height:100vh;display:flex}.ico{flex:none}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted);font-size:13px}:focus-visible{outline-offset:2px;border-radius:4px;outline:3px solid #e0a100}.topbar{z-index:30;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.topbar-in{max-width:1180px;height:var(--topbar-h);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:0 24px;display:flex}.brand{align-items:center;gap:12px;min-width:0;display:flex}.mark{width:38px;height:38px;color:var(--brand);flex:none}.mark-check{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .5s .5s var(--ease) forwards}h1{letter-spacing:-.2px;margin:0;font-size:19px;font-weight:800;line-height:1.2}.sub{color:var(--muted);margin:1px 0 0;font-size:13px}.langsw{background:var(--idle-bg);border:1px solid var(--line);border-radius:999px;flex:none;grid-template-columns:1fr 1fr;padding:3px;display:grid;position:relative}.langsw .pill{background:var(--brand);width:calc(50% - 3px);transition:transform .25s var(--ease);border-radius:999px;position:absolute;top:3px;bottom:3px;left:3px}.langsw[data-lang=bn] .pill{transform:translate(100%)}.langsw button{z-index:1;cursor:pointer;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:0 16px;font-size:14px;font-weight:600;transition:color .2s;position:relative}.langsw button[aria-pressed=true]{color:#fff}.workspace{flex:1;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:32px;width:100%;max-width:1180px;margin:0 auto;padding:32px 24px 24px;display:grid}.flow{flex-direction:column;gap:4px;min-width:0;display:flex}.step{grid-template-columns:36px minmax(0,1fr);gap:16px;display:grid}.rail{flex-direction:column;align-items:center;padding-top:2px;display:flex}.dot{background:var(--surface);border:2px solid var(--line-strong);width:32px;height:32px;color:var(--muted);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;transition:background .3s,border-color .3s,color .3s;display:grid}.step.done .dot{background:var(--brand);border-color:var(--brand);color:#fff}.line{background:var(--line);border-radius:2px;flex:1;width:2px;margin:6px 0;position:relative;overflow:hidden}.step-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0;box-shadow:var(--sh-1);margin-bottom:20px;padding:20px 24px 24px}h2{letter-spacing:-.1px;margin:4px 0 0;font-size:18px;font-weight:700;line-height:1.3}.help{color:var(--muted);max-width:64ch;margin:4px 0 16px}.step-body>h2:last-child{margin-bottom:0}.actions{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 0;display:flex}.btn{cursor:pointer;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-sm);justify-content:center;align-items:center;gap:8px;min-height:42px;padding:8px 16px;font-weight:600;transition:background .18s,border-color .18s,box-shadow .18s,transform .12s;display:inline-flex}.btn:hover:not(:disabled):not(.is-off){border-color:var(--brand);background:var(--brand-tint)}.btn:active:not(:disabled):not(.is-off){transform:scale(.98)}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover:not(:disabled):not(.is-off){background:var(--brand-deep);border-color:var(--brand-deep)}.btn.ghost{color:var(--brand);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled):not(.is-off){background:var(--brand-tint);border-color:#0000}.btn.small{min-height:36px;padding:4px 12px;font-size:14px}.btn.big{min-height:50px;padding:10px 22px;font-size:16px}.btn.block{width:100%}.btn:disabled,.btn.is-off{opacity:.5;cursor:not-allowed}.btn.primary:disabled,.btn.primary.is-off{opacity:1;background:#6f8f84;border-color:#6f8f84}.icon-btn{cursor:pointer;border-radius:var(--r-sm);width:44px;height:44px;color:var(--muted);background:0 0;border:1px solid #0000;flex:none;place-items:center;transition:background .18s,color .18s;display:grid}.icon-btn:hover{background:var(--bad-bg);color:var(--bad)}.spin{border:2.5px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.spin.dark{border-color:var(--line-strong);border-top-color:var(--brand)}.alert{border-radius:var(--r-sm);border-left:4px solid;align-items:flex-start;gap:12px;margin:12px 0 0;padding:12px 16px;display:flex}.alert>.ico{margin-top:3px}.alert ul{margin:4px 0 0;padding-left:18px}.alert.error{background:var(--bad-bg);border-color:var(--bad)}.alert.ok{background:var(--ok-bg);border-color:var(--ok)}.alert a{color:var(--brand-deep);font-weight:700}.restored{align-items:center;margin:0 0 16px}.restored span{flex:1}.tender-band{border-left:4px solid var(--brand);background:var(--brand-tint);border-radius:0 var(--r) var(--r) 0;margin-top:12px;padding:14px 18px}.tb-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;display:flex}.tb-id{letter-spacing:.4px;color:var(--brand-deep);background:var(--surface);border:1px solid var(--line-strong);font-variant-numeric:tabular-nums;border-radius:4px;padding:1px 8px;font-size:13px;font-weight:800}.tb-deadline{color:var(--brand-deep);align-items:center;gap:6px;font-size:14px;display:inline-flex}.tb-title{margin:8px 0 4px;font-size:20px;font-weight:700;line-height:1.3}.tb-meta{flex-wrap:wrap;gap:4px 32px;margin:0;display:flex}.tb-meta dt{color:var(--muted);font-size:12px}.tb-meta dd{margin:0;font-weight:600}.tender-band .actions{margin-top:12px}.drop{border:2px dashed var(--line-strong);border-radius:var(--r);transition:border-color .2s, background .2s, transform .2s var(--ease);background:#fafcfa;flex-wrap:wrap;align-items:center;gap:12px 16px;padding:18px 20px;display:flex}.drop.over{border-color:var(--brand);background:var(--brand-tint);transform:scale(1.01)}.drop-ico{color:var(--brand);transition:transform .25s var(--ease)}.drop.over .drop-ico{transform:translateY(-4px)}.drop-text{flex-direction:column;flex:180px;min-width:0;display:flex}.drop-text span{color:var(--muted);font-size:13px}.drop-actions{flex-wrap:wrap;gap:8px;display:flex}.reading{align-items:center;gap:8px;margin:12px 0 0;display:flex}.empty{color:var(--muted);margin:12px 0 0}.files{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.file{border:1px solid var(--line);border-left:4px solid var(--line-strong);border-radius:var(--r-sm);animation:enter .25s var(--ease) backwards;animation-delay:calc(var(--i,0) * 40ms);transition:transform .2s var(--ease), box-shadow .2s;grid-template-columns:44px minmax(0,1fr) 44px;align-items:start;gap:12px;padding:10px 8px 10px 12px;display:grid}.file:hover{box-shadow:var(--sh-1);transform:translate(3px)}.file.bad{border-left-color:var(--bad);background:snow}.file.dup{border-left-color:var(--info)}.pdf-ico{background:var(--paper);border:1px solid var(--line-strong);width:40px;height:48px;color:var(--brand);border-radius:4px 10px 4px 4px;place-items:center;margin-top:2px;display:grid;position:relative}.pdf-ico b{background:var(--brand);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:20px;padding:0 5px;font-size:11px;line-height:18px;position:absolute;bottom:-6px;right:-8px}.file.bad .pdf-ico{color:var(--bad);background:var(--bad-bg);border-color:#e7b5b0}.fname{word-break:break-word;font-weight:600}.fmeta{color:var(--muted);font-size:13px}.ftags{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.tag,.chip,.status{border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.6;display:inline-flex}.t-bad{background:var(--bad-bg);color:var(--bad)}.t-dup{background:var(--info-bg);color:var(--info)}.t-ok{background:var(--ok-bg);color:var(--ok)}.t-idle{background:var(--idle-bg);color:var(--idle)}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.notice{color:var(--ok);animation:enter .25s var(--ease) both;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.empty-state{color:var(--muted);flex-direction:column;align-items:flex-start;gap:8px;padding:8px 0 0;display:flex}.empty-state p{margin:0 0 4px}.ledger{border-top:1px solid var(--line);margin:0 -24px -24px;overflow-x:auto}.reqs{border-collapse:collapse;width:100%}.reqs th{text-align:left;color:var(--muted);background:var(--paper);border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px;font-size:13px;font-weight:600}.reqs th:first-child{padding-left:24px}.reqs td{border-bottom:1px solid var(--line);vertical-align:top;padding:14px 12px;transition:background .3s,box-shadow .4s}.reqs tr:last-child td{border-bottom:0}.reqs td:first-child{box-shadow:inset 4px 0 0 var(--bar,transparent);padding-left:24px}.reqs tbody tr:hover td{background:#f8faf8}.row-ok{--bar:var(--ok)}.row-missing,.row-expired{--bar:var(--bad)}.row-expiry_needed{--bar:#d99a00}.row-not_provided{--bar:var(--line-strong)}.reqs tr.flash td{animation:1.5s ease-out flash}.ord span{background:var(--paper);border:1px solid var(--line-strong);width:28px;height:28px;color:var(--muted);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.dname{font-weight:700}.dtags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.chip{border:1px solid var(--line);background:var(--surface);color:var(--muted);font-weight:500}.c-req{color:var(--brand-deep);background:var(--brand-tint);border-color:#8fb7a6}.c-exp{border-style:dashed}.reqs select,.reqs input[type=date],.pages-in,.pos select{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);width:100%;max-width:300px;min-height:44px;padding:8px 12px;transition:border-color .18s,box-shadow .18s}.reqs select,.pos select{appearance:none;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%234e5d56' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:34px}.reqs select:hover,.reqs input[type=date]:hover{border-color:var(--brand)}.exp-field{color:var(--muted);flex-direction:column;gap:2px;margin-top:8px;font-size:13px;font-weight:600;display:flex}.exp-field input{max-width:200px!important}.exp-wait{margin-top:6px}.hint{color:var(--muted);max-width:210px;margin-top:6px;font-size:12px}.status{animation:stamp .28s var(--ease) both;white-space:nowrap;border:1px solid #0000}.s-ok{background:var(--ok-bg);color:var(--ok);border-color:#b5dec7}.s-missing,.s-expired{background:var(--bad-bg);color:var(--bad);border-color:#efbeb9}.s-expiry_needed{background:var(--warn-bg);color:var(--warn);border-color:#ecd08b}.s-not_provided{background:var(--idle-bg);color:var(--idle);border-color:var(--line)}.switch{cursor:pointer;align-items:center;gap:12px;min-height:44px;display:inline-flex}.switch input{opacity:0;width:1px;height:1px;position:absolute}.track{background:var(--line-strong);border-radius:999px;flex:none;width:44px;height:26px;transition:background .2s;position:relative}.thumb{width:20px;height:20px;transition:transform .2s var(--ease), width .15s;background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch input:checked+.track{background:var(--brand)}.switch input:checked+.track .thumb{transform:translate(18px)}.switch input:focus-visible+.track{outline-offset:2px;outline:3px solid #e0a100}.opt{border:1px solid var(--line);border-radius:var(--r-sm);margin-top:12px}.opt summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:8px 16px;font-weight:600;list-style:none;display:flex}.opt summary::-webkit-details-marker{display:none}.opt summary:hover{background:var(--paper)}.caret{transition:transform .25s var(--ease)}.opt[open] .caret{transform:rotate(90deg)}.opt-body{border-top:1px solid var(--line);animation:enter .22s var(--ease) both;padding:4px 16px 16px}.opt-body .help{margin-top:12px;margin-bottom:0}.seal-prev{border:1px solid var(--line);background:#fff;border-radius:4px;width:auto;height:48px}.seal-opts{flex-wrap:wrap;gap:24px;margin-top:16px;display:flex}.check{cursor:pointer;align-items:center;gap:8px;min-height:36px;margin:4px 0;display:flex}.check input{width:18px;height:18px;accent-color:var(--brand)}.pos{flex-direction:column;gap:4px;display:flex}.pages-in{max-width:200px;margin-top:4px}.inline-gen{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.dossier{top:calc(var(--topbar-h) + 24px);max-height:calc(100vh - var(--topbar-h) - 40px);padding-top:12px;position:sticky;overflow:visible}.stack{height:214px;margin:0 14px 22px 0;position:relative}.sheet{border-radius:var(--r);border:1px solid var(--line-strong);background:var(--surface);transform:translate(var(--tx,0), var(--ty,0)) rotate(var(--rot,0deg));transform-origin:20% 100%;transition:transform .45s var(--ease);animation:deal .6s var(--ease) backwards;position:absolute;inset:0}.sheet.back2{--tx:12px;--ty:-10px;--rot:2.4deg;background:#e3e9e5;animation-delay:50ms}.sheet.back1{--tx:6px;--ty:-5px;--rot:1.1deg;background:#eef2ef;animation-delay:.15s}.dossier[data-state=ready] .back2{--tx:16px;--ty:-12px;--rot:4.2deg}.dossier[data-state=ready] .back1{--tx:8px;--ty:-6px;--rot:2deg}.sheet.front{border-top:5px solid var(--brand);box-shadow:var(--sh-2);flex-direction:column;padding:18px 18px 16px;animation-delay:.3s;display:flex}.dossier[data-state=empty] .sheet.front{border-top-color:var(--line-strong);border-style:solid dashed dashed}.f-id{letter-spacing:.4px;color:var(--brand-deep);font-variant-numeric:tabular-nums;padding-right:92px;font-size:13px;font-weight:800}.f-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:4px;font-size:16px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.f-pages{color:var(--muted);align-items:baseline;gap:8px;margin-top:auto;font-weight:600;display:flex}.f-pages .num{color:var(--ink);letter-spacing:-1px;font-variant-numeric:tabular-nums;font-size:52px;font-weight:800;line-height:1}.f-empty{color:var(--muted);text-align:center;margin:auto 0;padding:0 12px}.corner{animation:stamp .28s var(--ease) both;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:10px;right:10px}.c-ready{background:var(--ok-bg);color:var(--ok);border:1px solid #b5dec7}.c-fix{background:var(--bad-bg);color:var(--bad);border:1px solid #efbeb9}.strip{gap:4px;margin:0 0 8px;padding:0;list-style:none;display:flex}.strip li{flex:1;min-width:0}.seg{cursor:pointer;background:0 0;border:0;width:100%;height:28px;padding:0;display:block;position:relative}.seg:before{content:"";height:8px;transition:background .3s, transform .2s var(--ease);background:var(--c,var(--line-strong));border-radius:3px;position:absolute;top:10px;left:0;right:0}.seg:hover:before{transform:scaleY(1.5)}.seg-ok{--c:var(--ok)}.seg-not_provided:before{border:1.5px dashed var(--line-strong);background:0 0}.seg-missing:before,.seg-expired:before{background:repeating-linear-gradient(135deg, var(--bad) 0 3px, #e9a49e 3px 6px)}.seg-expiry_needed:before{background:radial-gradient(circle,#8a5a00 1.2px,#0000 1.5px) 0 0/5px 5px,#f0c25a}.d-sum{margin:0 0 12px;font-size:14px;font-weight:600}.d-list{grid-template-columns:minmax(0,1fr);gap:4px;max-height:190px;margin:0 0 16px;padding:0;list-style:none;display:grid;overflow:hidden auto}.d-list li{min-width:0}.d-list button{text-align:left;cursor:pointer;border-radius:var(--r-sm);background:0 0;border:1px solid #0000;align-items:center;gap:8px;width:100%;min-height:44px;padding:6px 8px;transition:background .18s,border-color .18s;display:flex}.d-list button:hover{background:var(--surface);border-color:var(--line-strong)}.d-list .d-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;overflow:hidden}.d-list .go{color:var(--muted);transition:transform .18s}.d-list button:hover .go{transform:translate(3px)}.d-hint{color:var(--muted);min-height:1.5em;margin:8px 0 0;font-size:13px}.d-done,.d-err{border-radius:var(--r-sm);animation:enter .25s var(--ease) both;border-left:4px solid;align-items:flex-start;gap:8px;margin-top:8px;padding:10px 12px;font-size:14px;display:flex}.d-done{background:var(--ok-bg);border-color:var(--ok);color:var(--ink)}.d-done .ico{color:var(--ok);margin-top:2px}.d-done a{color:var(--brand-deep);word-break:break-all;font-weight:700}.d-err{background:var(--bad-bg);border-color:var(--bad)}.d-csv{margin-top:12px}.foot{text-align:center;color:var(--muted);padding:24px 16px 32px;font-size:13px}.only-mobile,.csv-mobile{display:none}@keyframes enter{0%{opacity:0;transform:translateY(6px)}}@keyframes stamp{0%{opacity:0;transform:scale(1.4)rotate(-3deg)}60%{opacity:1;transform:scale(.96)}to{transform:scale(1)}}@keyframes deal{0%{opacity:0;transform:translateY(34px)rotate(0)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes flash{0%,35%{background:#fff0c2}to{background:0 0}}.ico.draw path{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw .4s 50ms var(--ease) forwards}@media (width<=960px){.workspace{grid-template-columns:minmax(0,1fr);gap:0;padding:20px 16px 150px}.only-desktop{display:none}.only-mobile{display:flex}.sub{display:none}.dossier{z-index:40;max-height:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line-strong);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"strip btn""info btn";align-items:center;gap:2px 14px;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -10px 24px -14px #15211b66}.stack,.d-csv,.d-hint,.d-done{display:none}.csv-mobile{margin-top:12px;display:inline-flex}.strip{grid-area:strip;margin:0}.seg{pointer-events:none;height:20px}.seg:before{top:6px}.d-sum{grid-area:info;margin:0;font-size:13px}.dossier[data-state=todo] .d-sum{display:none}.d-list{grid-area:info;max-height:none;margin:0;overflow:visible}.d-list li:nth-child(n+2){display:none}.d-list button{min-height:40px;padding:2px 0}.gen{grid-area:btn;width:auto;min-height:48px;padding:8px 16px}.dossier[data-state=empty]{grid-template-columns:1fr;grid-template-areas:"btn"}.dossier[data-state=empty] .gen{width:100%}.d-err{grid-column:1/-1}}@media (width<=720px){.topbar-in{padding:0 16px}h1{font-size:16px}.mark{width:32px;height:32px}.langsw button{padding:0 12px;font-size:13px}.step{grid-template-columns:28px minmax(0,1fr);gap:10px}.dot{width:28px;height:28px;font-size:13px}.step-body{padding:16px}.tb-title{font-size:18px}.ledger{margin:0 -16px -16px;overflow:visible}.reqs,.reqs tbody,.reqs tr,.reqs td{width:100%;display:block}.reqs thead{display:none}.reqs tr{border-bottom:1px solid var(--line);box-shadow:inset 4px 0 0 var(--bar,transparent);padding:12px 16px 12px 20px;position:relative}.reqs tr:last-child{border-bottom:0}.reqs td,.reqs td:first-child{box-shadow:none;border:0;padding:4px 0}.reqs td:before{content:attr(data-label);color:var(--muted);margin-bottom:2px;font-size:12px;display:block}.reqs td.ord{width:auto;position:absolute;top:12px;right:16px}.exp-field input{max-width:none!important}.reqs td.ord:before{display:none}.reqs tbody tr:hover td{background:0 0}.reqs tr.flash{animation:1.5s ease-out flash}.reqs tr.flash td{animation:none}.reqs select,.reqs input[type=date],.hint{max-width:none}.file{grid-template-columns:40px minmax(0,1fr) 44px;gap:10px}}.btn{position:relative;overflow:hidden}.btn:hover:not(:disabled):not(.is-off){transform:translateY(-1px);box-shadow:0 8px 16px -10px #15211b8c}.btn:active:not(:disabled):not(.is-off){box-shadow:none;transform:translateY(0)scale(.97)}.btn.primary:after{content:"";pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff4d 50%,#0000 65%);position:absolute;inset:0;transform:translate(-120%)}.btn.primary:hover:not(:disabled):not(.is-off):after{transition:transform .7s var(--ease);transform:translate(120%)}.ripple{opacity:.22;pointer-events:none;background:currentColor;border-radius:50%;animation:.6s ease-out forwards ripple;position:absolute;transform:scale(0)}.gen.pulse{animation:pulse 1.8s var(--ease) .4s 3}.btn.busy{background-image:linear-gradient(110deg,#0000 30%,#ffffff47 50%,#0000 70%);background-size:200% 100%;animation:1.1s linear infinite shimmer}.icon-btn:hover .ico{animation:.4s ease-in-out wiggle}.drop.idle .drop-ico{animation:2.8s ease-in-out infinite float}.drop.over .drop-ico{animation:none}.switch:active .thumb{width:26px}.switch input:checked:active+.track .thumb{transform:translate(12px)}.line:after{content:"";background:var(--brand);opacity:.4;transform-origin:top;transition:transform .7s var(--ease) .15s;position:absolute;inset:0;transform:scaleY(0)}.step.done .line:after{transform:scaleY(1)}.step.done .dot{animation:pop .45s var(--ease)}.reqs tbody tr{animation:enter .35s var(--ease) backwards;animation-delay:calc(var(--i,0) * 45ms)}.file.leaving{animation:leave .22s var(--ease) forwards}.tender-band,.alert{animation:enter .35s var(--ease) backwards}.strip .seg:before{transform-origin:0;animation:grow .45s var(--ease) backwards;animation-delay:calc(min(var(--i,0), 10) * 30ms)}.f-pages .num{transform-origin:0 100%;animation:bump .45s var(--ease);display:inline-block}.stack.shake{animation:.45s shake}.big-stamp{border:3px double var(--ok);color:var(--ok);animation:slam .5s var(--ease) both;pointer-events:none;background:#ffffffbf;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:15px;font-weight:800;display:inline-flex;position:absolute;bottom:16px;right:14px;transform:rotate(-9deg)}.app.swap :is(h2,.help,.dname,.hint,.tb-title,.d-sum,.f-title,.d-name,.drop-text,.fmeta){animation:.3s ease-out swap}@supports (animation-timeline:scroll()){.topbar:after{content:"";background:var(--brand);transform-origin:0;height:3px;animation:linear both progress;animation-timeline:scroll(root);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}}@supports (animation-timeline:view()){.step-body{animation:linear both reveal;animation-timeline:view();animation-range:entry entry 35%}}@keyframes ripple{to{opacity:0;transform:scale(1)}}@keyframes pulse{0%{box-shadow:0 0 #0b5d4680}70%,to{box-shadow:0 0 0 14px #0b5d4600}}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}@keyframes wiggle{25%{transform:rotate(-12deg)}75%{transform:rotate(12deg)}}@keyframes float{50%{transform:translateY(-4px)}}@keyframes pop{0%{transform:scale(.7)}60%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes leave{to{opacity:0;transform:translate(28px)scale(.98)}}@keyframes grow{0%{opacity:0;transform:scaleX(0)}}@keyframes bump{40%{transform:scale(1.12)}}@keyframes shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}@keyframes slam{0%{opacity:0;transform:scale(2.3)rotate(-18deg)}55%{opacity:1;transform:scale(.94)rotate(-9deg)}75%{transform:scale(1.04)rotate(-9deg)}to{transform:scale(1)rotate(-9deg)}}@keyframes swap{0%{opacity:.25}}@keyframes progress{to{transform:scaleX(1)}}@keyframes reveal{0%{opacity:.3;transform:translateY(18px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}.mark-check,.ico.draw path{stroke-dashoffset:0!important}.step-body,.topbar:after{animation:none!important}.topbar:after,.ripple,.btn.primary:after{display:none}}
