:root{--paper: #f7f4ee;--ink: #14110f;--green: #16a34a;--green-bright: #22c55e;--yellow: #f4c542;--orange: #ff7a45;--bg: #14110f;--bg-soft: #1d1917;--surface: #211c19;--surface-2: #2a2421;--text: #f3ede3;--text-dim: #a89f92;--border: #38302b;--card-shadow: 0 18px 40px rgba(0, 0, 0, .45);--radius: 18px;--radius-sm: 12px;--font-sans: "Manrope", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace}:root[data-theme=light]{--bg: #efe9df;--bg-soft: #f7f4ee;--surface: #fffdf9;--surface-2: #f2ece1;--text: #14110f;--text-dim: #6d6355;--border: #ddd3c3;--card-shadow: 0 16px 34px rgba(56, 45, 32, .16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);background-color:var(--bg);background-image:radial-gradient(circle at 1px 1px,rgba(128,128,128,.08) 1px,transparent 0);background-size:22px 22px;color:var(--text);-webkit-font-smoothing:antialiased;transition:background-color .3s ease,color .3s ease}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:3px solid var(--green-bright);outline-offset:2px;border-radius:4px}.topbar{border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.topbar__inner{max-width:760px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:800;letter-spacing:.02em}.brand__mark{display:grid;place-items:center;width:30px;height:30px;background:var(--green-bright);color:#06210f;border-radius:8px;font-size:18px;box-shadow:inset 0 -3px #0003}.brand__name{font-size:15px}.topbar__right{display:flex;align-items:center;gap:8px}.pill{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.06em;padding:6px 10px;border-radius:999px;border:1px solid var(--green);color:var(--green-bright);background:color-mix(in srgb,var(--green) 12%,transparent);white-space:nowrap}.toggle{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.05em;display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);cursor:pointer;transition:all .2s ease}.toggle--on{border-color:var(--orange);color:var(--orange);background:color-mix(in srgb,var(--orange) 14%,transparent)}.icon-btn{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;transition:transform .15s ease,background .2s ease}.icon-btn:hover{transform:translateY(-1px);background:var(--surface-2)}.container{max-width:760px;margin:0 auto;padding:32px 20px 60px}.hero{text-align:center;padding:26px 0 30px}.hero__title{font-size:clamp(2.6rem,9vw,4.4rem);line-height:.98;font-weight:800;letter-spacing:-.03em;margin:0;display:flex;flex-direction:column}.hero__title-accent{color:var(--green-bright);position:relative}.hero__title-accent:after{content:"";display:block;width:84px;height:5px;background:var(--yellow);border-radius:3px;margin:14px auto 0}.hero__text{margin:22px auto 0;max-width:440px;color:var(--text-dim);font-size:1.05rem;line-height:1.5}.calc-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:28px 24px 26px;box-shadow:var(--card-shadow);position:relative}.calc-card:before{content:"";position:absolute;top:6px;right:6px;bottom:6px;left:6px;border:1px dashed color-mix(in srgb,var(--border) 70%,transparent);border-radius:calc(var(--radius) - 6px);pointer-events:none}.calc-card__eyebrow{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;color:var(--green-bright);font-weight:700}.calc-card__title{margin:8px 0 22px;font-size:1.5rem;font-weight:800;letter-spacing:-.01em}.amount-field{display:flex;align-items:center;gap:10px;background:var(--bg-soft);border:2px solid var(--border);border-radius:var(--radius-sm);padding:16px 20px;transition:border-color .2s ease,box-shadow .2s ease}.amount-field.is-focused{border-color:var(--green-bright);box-shadow:0 0 0 4px color-mix(in srgb,var(--green-bright) 18%,transparent)}.amount-field.is-shaking{animation:shake .4s ease;border-color:var(--orange)}.amount-field__symbol{font-size:2.4rem;font-weight:700;color:var(--text-dim)}.amount-field__input{flex:1;min-width:0;border:none;background:transparent;color:var(--text);font-family:var(--font-sans);font-size:clamp(2.2rem,8vw,3.2rem);font-weight:800;letter-spacing:-.02em;outline:none;width:100%}.amount-field__input::placeholder{color:color-mix(in srgb,var(--text-dim) 55%,transparent)}.calc-card__hint{margin:12px 2px 0;font-family:var(--font-mono);font-size:12px;color:var(--text-dim)}.calc-card__hint strong{color:var(--text)}.preset-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.preset-chip{font-family:var(--font-mono);font-size:12px;font-weight:600;padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;transition:transform .14s ease,border-color .2s ease,color .2s ease}.preset-chip:hover{transform:translateY(-2px);border-color:var(--green-bright);color:var(--green-bright)}.upi-field{margin-top:18px}.upi-field__label{display:block;font-family:var(--font-mono);font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--text-dim);margin-bottom:8px}.upi-field__input{width:100%;background:var(--bg-soft);border:2px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;color:var(--text);font-family:var(--font-mono);font-size:1rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.upi-field__input::placeholder{color:color-mix(in srgb,var(--text-dim) 60%,transparent)}.upi-field__input:focus{border-color:var(--green-bright);box-shadow:0 0 0 4px color-mix(in srgb,var(--green-bright) 18%,transparent)}.upi-field__hint{margin:8px 2px 0;font-size:12px;color:var(--text-dim)}.modal__payee{margin:4px 0 0;font-size:.9rem;color:var(--text-dim);word-break:break-all}.modal__payee strong{color:var(--text);font-family:var(--font-mono)}.amount-error{min-height:20px;margin-top:14px;color:var(--orange);font-size:.9rem;font-weight:600}.calc-card__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--font-sans);font-weight:800;font-size:.95rem;letter-spacing:.01em;padding:14px 22px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:transform .12s ease,box-shadow .15s ease,background .2s ease;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px) scale(.985)}.btn--primary{flex:1;min-width:200px;background:var(--green-bright);color:#06210f;box-shadow:0 6px 0 var(--green),0 12px 22px #16a34a47}.btn--primary:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--green),0 16px 26px #16a34a52}.btn--primary:active{box-shadow:0 2px 0 var(--green),0 6px 12px #16a34a47;transform:translateY(4px)}.btn--accent{background:var(--yellow);color:#3a2c00;box-shadow:0 6px #cf9f1f,0 12px 20px #f4c5424d}.btn--accent:hover{transform:translateY(-2px)}.btn--ghost{background:transparent;color:var(--text);border-color:var(--border)}.btn--ghost:hover{border-color:var(--green-bright);color:var(--green-bright);transform:translateY(-2px)}.btn--block{width:100%}.btn--pay{background:var(--ink);color:var(--paper);padding:11px 16px;font-size:.82rem;white-space:nowrap;border:1px solid var(--ink)}:root[data-theme=light] .btn--pay{background:var(--ink);color:var(--paper)}.btn--pay:hover:not(:disabled){transform:translateY(-2px);background:var(--green);border-color:var(--green);color:#fff}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.easter-egg{margin-top:16px;padding:14px 18px;border-radius:var(--radius-sm);border:1px dashed var(--yellow);background:color-mix(in srgb,var(--yellow) 12%,transparent);color:var(--text);font-weight:600;display:flex;align-items:center;gap:10px;animation:pop-in .4s ease}.easter-egg__emoji{font-size:1.4rem}.loading{margin-top:26px;display:flex;flex-direction:column;align-items:center;gap:16px;padding:30px;text-align:center}.loading__spinner{width:42px;height:42px;border-radius:50%;border:4px solid var(--border);border-top-color:var(--green-bright);animation:spin .8s linear infinite}.loading__text{font-family:var(--font-mono);color:var(--text-dim);font-size:.95rem;max-width:340px}.reveal{animation:slide-up .5s ease both}.summary{margin-top:34px}.summary__title{font-size:1.5rem;font-weight:800;line-height:1.25;letter-spacing:-.01em;margin:0 0 20px}.summary__count{color:var(--green-bright)}.summary__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.stat-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 18px;display:flex;flex-direction:column;gap:8px}.stat-tile--accent{background:var(--ink);border-color:var(--ink)}.stat-tile--accent .stat-tile__label{color:var(--green-bright)}.stat-tile--accent .stat-tile__value{color:var(--paper)}.stat-tile__label{font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;color:var(--text-dim);font-weight:700}.stat-tile__value{font-size:1.7rem;font-weight:800;letter-spacing:-.02em}.payments{margin-top:34px}.payments__header{margin-bottom:18px}.payments__title{font-size:1.35rem;font-weight:800;margin:0 0 16px}.progress__labels{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-family:var(--font-mono);font-size:12px;margin-bottom:8px}.progress__count{font-weight:700;color:var(--text)}.progress__amount{color:var(--text-dim)}.progress__track{height:12px;background:var(--surface-2);border-radius:999px;overflow:hidden;border:1px solid var(--border)}.progress__fill{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green-bright));border-radius:999px;transition:width .5s cubic-bezier(.22,1,.36,1)}.payment-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.payment-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;animation:slide-up .45s ease both;transition:border-color .2s ease,transform .15s ease}.payment-card:hover{transform:translate(2px)}.payment-card--paid{border-color:color-mix(in srgb,var(--green) 55%,var(--border));background:color-mix(in srgb,var(--green) 8%,var(--surface))}.payment-card__index{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;color:var(--text-dim);min-width:26px}.payment-card__body{flex:1;min-width:0}.payment-card__actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;flex-shrink:0}.payment-card__label{font-size:.8rem;color:var(--text-dim);font-weight:600}.payment-card__amount{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin:2px 0}.payment-card__ref{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);letter-spacing:.02em}.status-pill{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.05em;padding:4px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-dim)}.status-pill--ready{color:var(--yellow);border-color:color-mix(in srgb,var(--yellow) 50%,var(--border))}.status-pill--processing{color:var(--orange);border-color:color-mix(in srgb,var(--orange) 50%,var(--border))}.status-pill--paid{color:var(--green-bright);border-color:color-mix(in srgb,var(--green) 55%,var(--border));background:color-mix(in srgb,var(--green) 12%,transparent)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#080605a8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:40;animation:fade-in .2s ease}.modal{position:relative;width:100%;max-width:380px;max-height:calc(100dvh - 40px);overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:26px 22px 24px;box-shadow:0 30px 60px #00000080;animation:modal-in .28s cubic-bezier(.22,1,.36,1);text-align:center}.modal__handle{display:none}.modal__close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer}.modal__close:hover{background:var(--orange);color:#3a2c00;border-color:var(--orange)}.modal__title{font-size:1.2rem;font-weight:800;margin:6px 30px 20px;line-height:1.3}.qr-frame{width:210px;height:210px;margin:0 auto;border-radius:var(--radius-sm);background:var(--paper);border:3px solid var(--ink);display:grid;place-items:center;overflow:hidden;transition:transform .3s ease}.qr-frame img{width:100%;height:100%;object-fit:contain}.qr-frame.is-done{background:var(--green-bright);border-color:var(--green);transform:scale(1.02)}.qr-success{display:flex;flex-direction:column;align-items:center;gap:6px;color:#06210f;font-weight:800;animation:pop-in .35s ease}.qr-loading{color:var(--text-dim)}.modal__meta{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px 0 6px}.modal__tag{font-family:var(--font-mono);font-size:10px;font-weight:700;letter-spacing:.08em;padding:5px 9px;border-radius:999px;border:1px solid var(--green);color:var(--green-bright)}.modal__amount{font-size:1.5rem;font-weight:800}.modal__explain{margin:14px 0 20px;text-align:left;font-size:.9rem}.modal__explain summary{cursor:pointer;font-weight:700;color:var(--green-bright);list-style:none}.modal__explain summary::-webkit-details-marker{display:none}.modal__explain summary:before{content:"＋ ";font-family:var(--font-mono)}.modal__explain[open] summary:before{content:"－ "}.modal__explain p{margin:8px 0 0;color:var(--text-dim);line-height:1.5}.completion{margin-top:34px;text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:34px 24px 30px;box-shadow:var(--card-shadow)}.completion__burst{font-size:3rem;animation:pop-in .5s ease}.completion__title{font-size:clamp(2rem,8vw,3rem);font-weight:800;letter-spacing:-.02em;margin:8px 0 10px;color:var(--green-bright)}.completion__subtitle{color:var(--text-dim);font-size:1.05rem;margin:0 auto 26px;max-width:380px;line-height:1.5}.receipt{max-width:340px;margin:0 auto;background:var(--paper);color:var(--ink);border-radius:var(--radius-sm);padding:22px 22px 18px;text-align:left;box-shadow:0 14px 30px #0000004d;position:relative;font-family:var(--font-mono)}.receipt__head{text-align:center;border-bottom:2px dashed var(--ink);padding-bottom:14px;margin-bottom:14px}.receipt__brand{display:block;font-family:var(--font-sans);font-weight:800;font-size:1.3rem}.receipt__tagline{display:block;font-size:11px;color:var(--green);font-weight:700;margin-top:4px}.receipt__line{display:flex;justify-content:space-between;gap:12px;font-size:13px;padding:6px 0}.receipt__line span:first-child{color:#6d6355}.receipt__line span:last-child{font-weight:700}.receipt__line--dashed{border-top:1px dashed #b9ad99;margin-top:6px;padding-top:12px}.receipt__stamp{margin-top:16px;text-align:center;font-family:var(--font-sans);font-weight:800;letter-spacing:.1em;color:var(--ink);border:2px solid var(--ink);border-radius:8px;padding:8px;transform:rotate(-2deg)}.achievement{margin:24px auto 0;max-width:340px;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;border-radius:var(--radius-sm);border:1px solid var(--yellow);background:color-mix(in srgb,var(--yellow) 12%,transparent);color:var(--yellow)}.achievement__label{display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.achievement__name{display:block;font-family:var(--font-sans);font-weight:800;font-size:1.1rem;color:var(--text)}.completion__actions{margin-top:26px;display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.why{margin-top:40px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px 20px}.why summary{cursor:pointer;font-weight:800;list-style:none}.why summary::-webkit-details-marker{display:none}.why summary:after{content:" ↓";color:var(--green-bright)}.why[open] summary:after{content:" ↑"}.why p{margin:12px 0 0;color:var(--text-dim);line-height:1.55}.footer{border-top:1px solid var(--border);text-align:center;padding:30px 20px 40px;color:var(--text-dim)}.footer p{margin:4px 0}.footer__mono{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em}.confetti-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60;overflow:hidden}.confetti-piece{position:absolute;width:10px;height:14px;opacity:0;animation:confetti-fly 1.3s ease-out forwards}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pop-in{0%{opacity:0;transform:scale(.7)}70%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes grow-x{0%{width:0!important}}@keyframes confetti-fly{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 340px)) rotate(var(--rot))}}@media (max-width: 560px){.summary__grid{grid-template-columns:1fr}.calc-card__actions .btn,.completion__actions .btn{width:100%;flex:1 1 100%}.btn--primary{min-width:0}.payment-card{flex-wrap:wrap}.payment-card__body{flex:1 1 60%}.payment-card__actions{flex:1 1 100%;flex-direction:row;align-items:center;justify-content:space-between;gap:12px}.btn--pay{flex:1}.modal{align-self:flex-end;max-width:100%;border-radius:22px 22px 0 0}.modal-overlay{align-items:flex-end;padding:0}.modal__handle{display:block;width:44px;height:5px;border-radius:999px;background:var(--border);margin:0 auto 14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
