@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#070a1a;--bg-elevated:#0b1028;--bg-card:#0c1024cc;--bg-card-solid:#101636;--border:#ffffff29;--border-strong:#ffffff4d;--text:#f1f5ff;--muted:#9aa5c9;--muted-strong:#d7dfff;--accent:#7c3aed;--accent-2:#22d3ee;--accent-3:#fb7185;--success:#34d399;--warn:#fbbf24;--error:#fb7185;--shadow:0 26px 60px #090e24a6;--radius-lg:28px;--radius-md:18px;--radius-sm:12px}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at top,#7c3aed2e,#0000 45%),radial-gradient(circle at 15% 80%,#22d3ee33,#0000 50%),linear-gradient(160deg,#070a1a 0%,#0b1028 55%,#141b3a 100%);font-family:Space Grotesk,Segoe UI,sans-serif;position:relative;overflow-x:hidden}.particle-canvas{z-index:0;pointer-events:none;opacity:.6;position:fixed;inset:0}body:before,body:after{content:"";filter:blur(140px);opacity:.8;z-index:-1;border-radius:50%;width:560px;height:560px;position:absolute}body:before{background:radial-gradient(circle,#7c3aedb3,#0000 70%);top:-160px;right:-140px}body:after{background:radial-gradient(circle,#fb71858c,#0000 70%);bottom:-220px;left:-180px}a{color:inherit;text-decoration:none}button{font-family:inherit}.page{z-index:1;background:linear-gradient(#0b1028bf 0%,#0b1028d9 50%,#0b1028e6 100%);min-height:100vh;padding:48px 24px 96px;position:relative}.container{gap:24px;width:100%;max-width:1120px;margin:0 auto;display:grid}.header{justify-content:space-between;align-items:center;gap:16px;display:flex}.title-row{align-items:center;gap:10px;display:inline-flex}.title-badge{background:linear-gradient(135deg,#7c3aed66,#22d3ee66);border:2px solid #ffffff59;border-radius:12px;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 10px 22px #7c3aed4d}.title-line{background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3));border-radius:999px;width:56px;height:4px;margin:10px 0 4px;box-shadow:0 6px 16px #7c3aed66}.title{letter-spacing:-.02em;font-size:clamp(28px,4vw,40px);font-weight:700}.subtitle{color:var(--muted);max-width:520px;margin-top:8px;font-size:16px}.header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.locale-toggle{border:2px solid var(--border);background:#0f1430a6;border-radius:999px;align-items:center;gap:4px;padding:3px;display:inline-flex}.locale-button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:6px 12px;font-size:12px;line-height:1.1;transition:all .2s}.locale-button.active{color:var(--text);background:linear-gradient(120deg,#7c3aed73,#22d3ee73)}.locale-button:hover{color:var(--text)}.help-button{border:2px solid var(--border);color:var(--muted-strong);cursor:pointer;background:#0f1430a6;border-radius:999px;padding:10px 16px;transition:all .2s}.help-button:hover{border-color:var(--accent-2);color:var(--text);transform:translateY(-1px)}.grid-two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.card{background:var(--bg-card);border:2px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:24px;transition:transform .25s,box-shadow .25s;animation:.6s both fadeUp}.card:hover{transform:translateY(-3px);box-shadow:0 28px 68px #090e24b3}.sticker-card{background:linear-gradient(160deg,#7c3aed1f,#22d3ee14),var(--bg-card);border:3px solid #ffffff4d;position:relative;box-shadow:0 18px 40px #090e248c,0 6px #7c3aed1f}.sticker-card:after{content:none}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.card-title{font-size:18px;font-weight:600}.card-note{color:var(--muted);font-size:14px}.bento-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.bento-card{border-radius:var(--radius-lg);border:2px solid #fff3;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:18px;transition:transform .25s,box-shadow .25s;display:grid;box-shadow:0 18px 40px #0b102873}.bento-card:hover{transform:translateY(-2px)scale(1.01);box-shadow:0 22px 44px #0b102899}.bento-icon{background:#ffffff29;border-radius:16px;place-items:center;width:42px;height:42px;font-size:20px;display:grid}.bento-label{letter-spacing:.12em;text-transform:uppercase;color:#fffc;font-size:12px}.bento-value{margin-top:6px;font-size:28px;font-weight:700}.bento-unit{color:#ffffffb3;font-size:14px}.bento-success{background:linear-gradient(135deg,#34d39959,#22d3ee26)}.bento-fail{background:linear-gradient(135deg,#fb718559,#7c3aed33)}.bento-total{background:linear-gradient(135deg,#7c3aed59,#22d3ee33)}.bento-warn{background:linear-gradient(135deg,#fbbf2459,#7c3aed33)}.bento-info{background:linear-gradient(135deg,#22d3ee59,#7c3aed33)}.bento-muted{background:linear-gradient(135deg,#94a3b840,#5eead426)}.form{gap:16px;display:grid}.mode-toggle{border:2px solid var(--border);background:#0c1228d9;border-radius:999px;align-items:center;gap:0;padding:4px;display:flex;position:relative;overflow:hidden}.mode-slider{pointer-events:none;background:linear-gradient(135deg,#7c3aed59,#22d3ee59);border-radius:999px;width:calc(50% - 4px);transition:transform .35s cubic-bezier(.34,1.56,.64,1);position:absolute;inset:4px auto 4px 4px;box-shadow:0 8px 20px #7c3aed40}.mode-toggle.single .mode-slider{transform:translate(0)}.mode-toggle.batch .mode-slider{transform:translate(100%)}.mode-button{z-index:1;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;flex:1 1 0;padding:8px 18px;transition:all .2s;position:relative}.mode-button.active{color:var(--text)}.field{gap:8px;display:grid}.label{color:var(--muted-strong);font-size:14px}.textarea,.input{border-radius:var(--radius-md);border:2px solid var(--border);width:100%;color:var(--text);background:#070c1cd9;padding:12px 14px;font-family:Space Grotesk,sans-serif;font-size:14px;transition:border-color .25s,box-shadow .25s,background .25s}select.input{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#ffffffb8 50%),linear-gradient(135deg,#ffffffb8 50%,#0000 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 12px) calc(50% - 3px);background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:34px}select.input option{color:#0b1028;background:#f5f7ff}.textarea{resize:vertical;min-height:120px}.textarea:focus,.input:focus{background:linear-gradient(#070c1cf2,#070c1cf2)padding-box,linear-gradient(135deg,var(--accent),var(--accent-2),var(--accent-3))border-box;border-color:#0000;outline:none;box-shadow:0 0 0 3px #7c3aed40,0 0 18px #22d3ee40}.helper{color:var(--muted);font-size:12px}.helper-list{color:var(--muted);gap:6px;padding-left:18px;font-size:13px;list-style:outside;display:grid}.error-list{border-radius:var(--radius-sm);color:#fecaca;background:#f871711f;border:1px solid #f8717166;gap:6px;padding:10px 12px;font-size:13px;display:grid}.primary-button{color:#0b1020;cursor:pointer;background:linear-gradient(120deg,#7c3aed,#22d3ee,#fb7185) 0 0/200% 200%;border:none;border-radius:999px;padding:12px 20px;font-weight:600;transition:transform .25s,box-shadow .25s;animation:6s infinite gradientShift,3.5s ease-in-out infinite pulseGlow;position:relative;overflow:hidden;box-shadow:0 14px 32px #7c3aed40}.primary-button:after{content:"";opacity:0;background:linear-gradient(120deg,#0000,#ffffff80,#0000);width:60%;height:140%;transition:opacity .2s,transform .6s;position:absolute;top:-20%;left:-60%;transform:skew(-20deg)}.primary-button:disabled{opacity:.5;cursor:not-allowed;animation:none}.primary-button:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 18px 38px #7c3aed59}.primary-button:not(:disabled):hover:after{opacity:1;transform:translate(220%)skew(-20deg)}.loading-dots{vertical-align:middle;gap:4px;margin-left:8px;display:inline-flex}.loading-dots span{background:#0b1020b3;border-radius:50%;width:6px;height:6px;animation:1s ease-in-out infinite dotPulse}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.progress-wrapper{gap:16px;display:grid}.progress-empty{gap:12px;display:grid}.progress-placeholder{border-radius:var(--radius-md);background:#0e142a99;border:2px dashed #ffffff2e;gap:10px;padding:16px;display:grid}.placeholder-bar{background:linear-gradient(90deg,#7c3aed4d,#22d3ee33,#fb71854d);border-radius:999px;height:10px;animation:1.8s ease-in-out infinite shimmer}.placeholder-bar.short{width:60%}.progress-bar{background:#94a3b833;border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#22d3ee,#7c8cff);height:100%;transition:width .4s}.progress-summary{justify-items:end;gap:8px;display:grid}.progress-percent{color:var(--muted-strong);font-size:16px;font-weight:700}.progress-counter-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.progress-counter{background:#94a3b81a;border:1px solid #94a3b859;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.progress-counter-label{color:var(--muted)}.progress-counter-value{color:var(--text);text-align:right;min-width:1.25em;font-weight:700}.progress-counter-success{background:#22c55e1f;border-color:#22c55e73}.progress-counter-fail{background:#f871711f;border-color:#f8717173}.progress-counter-waiting{background:#fbbf241f;border-color:#fbbf2473}.progress-list{gap:12px;display:grid}.progress-item{border:2px solid var(--border);border-radius:var(--radius-md);background:#080c18d9;gap:8px;padding:16px;display:grid}.progress-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.status-badge{border:1px solid #0000;border-radius:999px;padding:4px 10px;font-size:12px;transition:color .2s,border-color .2s,background-color .2s}.status-processing{color:#bae6fd;border-color:#7dd3fc66}.status-pending{color:#fde68a;border-color:#fbbf2466}.status-success{color:#bbf7d0;border-color:#22c55e66}.status-fail{color:#fecaca;border-color:#f8717173}.status-timeout{color:#fcd34d;border-color:#f59e0b73}.status-error{color:#fed7aa;border-color:#fb923c73}.progress-meta{color:var(--muted);font-size:12px}.progress-link{word-break:break-all;color:#cbd5f5;font-family:JetBrains Mono,monospace;font-size:12px}a.progress-link{color:var(--accent-2);text-decoration:underline}a.progress-link:hover{color:#5eead4}.copy-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.copy-button{border:2px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:6px 12px;font-size:12px}.key-badge{border:2px solid var(--border);color:var(--muted-strong);border-radius:999px;padding:4px 10px;font-size:12px}.modal-overlay{z-index:50;background:#020617b3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);border:2px solid var(--border-strong);width:100%;max-width:860px;box-shadow:var(--shadow);background:#0b1020;gap:18px;max-height:88vh;padding:28px;display:grid;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-title{font-size:20px;font-weight:600}.modal-close{color:var(--text);cursor:pointer;background:#94a3b81f;border:none;border-radius:999px;padding:6px 10px}.steps{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.step{border-radius:var(--radius-md);border:1px solid var(--border);background:#0f172a99;padding:12px}.table{border-collapse:collapse;width:100%;color:var(--muted-strong);font-size:13px}.table th,.table td{text-align:left;border-bottom:1px solid #94a3b833;padding:10px 8px}.admin-page .header{align-items:flex-end}.admin-container{gap:28px}.admin-login-card{max-width:420px;margin:0 auto}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.table-wrapper{gap:16px;display:grid}.table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.bulk-actions{border-radius:var(--radius-md);border:2px dashed var(--border);background:#0e142aa6;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.table-checkbox{width:16px;height:16px;accent-color:var(--accent-2);cursor:pointer}.data-table{gap:8px;display:grid}.data-table-head,.data-table-row{grid-template-columns:36px minmax(160px,1.3fr) minmax(120px,.8fr) minmax(110px,.7fr) minmax(160px,1fr) minmax(120px,.8fr) minmax(160px,1fr) minmax(200px,1fr);align-items:center;gap:12px;display:grid}.data-table-head>span,.data-table-row>span,.data-table-row>div{min-width:0}.audit-table .data-table-head,.audit-table .data-table-row{grid-template-columns:minmax(180px,1.1fr) minmax(120px,.8fr) minmax(240px,1.6fr) minmax(120px,.8fr)}.cdk-table .data-table-head,.cdk-table .data-table-row{grid-template-columns:minmax(170px,1.2fr) minmax(90px,.7fr) minmax(140px,1fr) minmax(100px,.8fr) minmax(90px,.8fr) minmax(110px,.8fr) minmax(160px,1fr) minmax(260px,1.8fr)}.audit-table .data-table-row span{word-break:break-word;min-width:0}.usage-log-table .data-table-head,.usage-log-table .data-table-row{grid-template-columns:minmax(170px,1.1fr) minmax(180px,1.1fr) minmax(70px,.5fr) minmax(70px,.5fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(260px,1.8fr);align-items:start}.usage-log-table .data-table-row span,.usage-log-table .usage-result{word-break:break-word}.usage-log-table .usage-link-id{word-break:break-all}.data-table-head{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:8px 12px;font-size:12px}.data-table-row{border-radius:var(--radius-md);border:2px solid var(--border);background:#0a0e1ae6;padding:12px;transition:border-color .2s,background .2s,transform .2s,box-shadow .2s}.data-table-detail{border-radius:var(--radius-md);border:2px dashed var(--border);color:var(--muted);gap:4px;margin-top:8px;padding:12px;font-size:13px;display:grid}.detail-actions{gap:8px;margin-top:6px;display:grid}.inline-edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.input-compact{max-width:160px;padding:8px 12px}.table-empty{text-align:center;color:var(--muted);padding:16px}.ghost-button{border:2px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-size:12px;transition:all .2s}.ghost-button:hover{border-color:var(--accent-2)}.ghost-button.danger{color:#fecaca;border-color:#f8717180}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.mono{word-break:break-all;font-family:JetBrains Mono,monospace;font-size:12px}.copyable{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.inline-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.editable-cell{cursor:pointer;border-bottom:1px dashed #ffffff59;transition:color .2s,border-color .2s}.editable-cell:hover{color:var(--text);border-color:#22d3ee99}.ghost-button--tiny{padding:4px 10px;font-size:11px}.muted-text{color:var(--muted)}.copy-hint{color:#ffffffd9;background:#22d3ee26;border:1px solid #fff3;border-radius:999px;padding:2px 8px;font-size:11px}.admin-panel{border-radius:var(--radius-md);border:2px solid var(--border);background:#080c18cc;gap:12px;padding:16px;display:grid}.generated-list{flex-wrap:wrap;gap:8px;display:flex}.key-chip{background:#7c8cff29;border:2px solid #7c8cff66;border-radius:999px;padding:6px 12px;font-size:12px}.pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}@media (max-width:980px){.data-table-head,.data-table-row{grid-template-columns:1fr;gap:6px}.row-actions{justify-content:flex-start}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes pulseGlow{0%,to{box-shadow:0 14px 32px #7c3aed40}50%{box-shadow:0 18px 44px #22d3ee59}}@keyframes shimmer{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}@keyframes dotPulse{0%,to{opacity:.6;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}@media (max-width:720px){.header{flex-direction:column;align-items:flex-start}.progress-header{flex-direction:column;align-items:flex-start;gap:10px}.progress-summary{justify-items:start;width:100%}.progress-counter-row{justify-content:flex-start}.page{padding:32px 18px 64px}.card{padding:20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.primary-button{animation:none!important}}
