@font-face{font-family:Inter;src:url('../Inter.ttf') format('truetype');font-display:swap}
:root{color-scheme:dark;--bg:#0d151a;--panel:#19262d;--field:#101b21;--border:#34464f;--text:#edf2f4;--muted:#a8b9c2;--accent:#df8147;--button:#b5572d;--error:#ffb3a3}
*{box-sizing:border-box}
body{margin:0;padding:40px 20px;background:var(--bg);color:var(--text);font:17px/1.5 Inter,system-ui,sans-serif}
button,input,textarea,select{font:inherit}a{color:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}button:disabled{cursor:default;opacity:.5}[hidden]{display:none!important}
.panel{width:100%;max-width:440px;margin:0 auto;background:var(--panel);padding:32px;border:1px solid #ffffff08;border-radius:20px;text-align:center;box-shadow:0 18px 60px #00000014}
h1{margin:0 0 12px;font-size:38px;line-height:1.2;letter-spacing:-1.5px;font-weight:750}
.note{display:block;max-width:310px;margin:0 auto 24px;color:var(--muted);font-size:21px;line-height:1.5}
textarea{display:block;width:100%;height:144px;resize:none;border:1px solid var(--border);border-radius:10px;background:var(--field);color:var(--text);padding:14px 16px;margin:0 0 24px;font-size:23px;line-height:1.5;font-variant-numeric:tabular-nums;letter-spacing:1.5px}
.duration-label{display:block;margin:0 0 9px;text-align:left;color:var(--muted);font-size:15px}
select{width:100%;height:54px;margin:0 0 20px;padding:0 14px;border:1px solid var(--border);border-radius:10px;background:var(--field);color:var(--text);font-size:19px;cursor:pointer}
.total{margin:0 0 3px;color:var(--accent);font-size:38px;font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums;line-height:1.25;overflow-wrap:anywhere}
.count{margin:0 0 22px;color:var(--muted);font-size:14px}
.primary,.secondary{display:flex;align-items:center;justify-content:center;width:100%;min-height:55px;padding:14px 18px;border:0;border-radius:10px;font-size:19px;font-weight:600;line-height:1.4;text-decoration:none;transition:background .18s}
.primary{background:var(--button);color:#fff}.primary:hover:not(:disabled){background:#c76637}
.secondary{border:1px solid var(--border);background:#24353e;color:var(--text);font-size:15px}
.secondary:hover:not(:disabled){background:#2d414b}
:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
textarea:focus,select:focus,input:focus{border-color:var(--accent)}
.form-status{margin:0 0 16px;font-size:14px;color:var(--muted)}.form-status:empty{display:none}.form-status[data-state=error]{color:var(--error)}
.modal{width:calc(100% - 36px);max-width:420px;padding:28px;border:1px solid var(--border);border-radius:18px;background:var(--panel);color:var(--text);box-shadow:0 20px 80px #0008;max-height:calc(100dvh - 48px);overflow:auto}
.modal::backdrop{background:#03080bcc;backdrop-filter:blur(4px)}
.modal h2{font-size:23px;line-height:1.3;letter-spacing:-.6px;margin:0 0 14px}
.modal-text,.modal-stage{margin:0;color:var(--muted);font-size:16px;line-height:1.6;overflow-wrap:anywhere}
.modal .primary{margin-top:24px;font-size:17px}
.loading-modal{max-width:360px;text-align:center;padding:26px}
.loading-modal h2{font-size:21px}.modal-stage{font-size:15px}
.progress{height:5px;overflow:hidden;border-radius:9px;margin:23px 0 18px;background:#34464f}
.progress span{display:block;width:45%;height:100%;background:var(--accent);border-radius:inherit;animation:progress 1.35s ease-in-out infinite alternate}
@keyframes progress{from{transform:translateX(-75%)}to{transform:translateX(220%)}}
.license-results{display:grid;gap:8px;margin-top:18px}.license-results:empty{display:none}
.license-row{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#101b21;padding:12px 14px;border-radius:9px;font-size:13px}
.license-row strong{font-size:16px;font-variant-numeric:tabular-nums}.license-row .expiry{color:var(--muted);text-align:right}.license-row[data-state=error] strong{color:var(--error)}
.receipt-view{max-width:520px}.receipt-view h1{font-size:32px;letter-spacing:-1px}.receipt-status{font-size:17px;color:var(--muted);margin:14px 0 24px}
.receipt-shell{position:relative;background:#101b21;border:1px solid var(--border);border-radius:12px;text-align:left;overflow:hidden}
.receipt-document{padding:22px 18px 85px;font-size:13px}.receipt-document h2{font-size:19px;line-height:1.5;margin:0 0 18px}
dl{margin:0}dl>div{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #ffffff0b}dt{color:var(--muted)}dd{margin:0;max-width:65%;text-align:right;overflow-wrap:anywhere}
.receipt-shell.collapsed{max-height:290px}.receipt-shell.collapsed::after{content:'';position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(transparent,#101b21 55%);pointer-events:none}
.receipt-toggle{position:absolute;z-index:1;bottom:14px;left:14px;width:calc(100% - 28px);min-height:44px;padding:10px;font-size:14px}
.receipt-email{margin-top:24px;text-align:left}.receipt-email label{display:block;font-size:15px;color:var(--muted);margin-bottom:10px}
.receipt-email>div{display:flex;gap:8px}.receipt-email input{min-width:0;flex:1;background:var(--field);border:1px solid var(--border);border-radius:9px;color:var(--text);padding:13px;font-size:15px}.receipt-email button{width:auto;font-size:14px}
.hint{font-size:13px;color:var(--muted);line-height:1.6}.receipt-actions{display:grid;gap:10px;margin:22px 0 0}.receipt-actions .primary{margin-top:4px}.support{display:block;color:var(--muted);font-size:13px;margin-top:20px;text-decoration:none}
.skip{position:absolute;top:-100px;left:20px;background:var(--panel);padding:10px;z-index:20}.skip:focus{top:10px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.noscript{max-width:440px;margin:20px auto;padding:18px;border:1px solid var(--accent);border-radius:10px;font-size:15px}
@media(max-width:480px){body{padding:20px 16px}.panel{padding:28px 24px;border-radius:18px}h1{font-size:35px}.note{font-size:20px;margin-bottom:22px}textarea{margin-bottom:22px}.receipt-email>div{flex-direction:column}.receipt-email button{width:100%}.receipt-view h1{font-size:29px}}
@media(max-width:360px){body{padding:16px 12px}.panel{padding:26px 20px}.note{font-size:18px}.count{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{body{background:white;color:black;padding:0}.panel{max-width:none;border:0;box-shadow:none;background:white}.skip,.receipt-actions,.support,.receipt-email,.receipt-toggle,#receipt-status{display:none!important}.receipt-shell,.receipt-shell.collapsed{max-height:none;background:white;color:black;border:1px solid #aaa;overflow:visible}.receipt-shell::after{display:none}.receipt-document{padding:20px}dt,dd{color:black}dl>div{border-color:#ddd}}
