@import "https://fonts.googleapis.com/css2?family=Inter+Tight:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap";@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";html,body{height:100%}body{font-family:var(--font-base);font-size:var(--text-base);color:var(--color-text-primary);background:linear-gradient(to right, var(--color-bg) 0 50%, var(--color-bg-subtle) 50% 100%);flex-direction:column;transition:background-color .2s,color .2s;display:flex;overflow:hidden}@media (width<=960px){html,body{height:auto;overflow:auto}body{background:var(--color-bg)}}.container[data-astro-cid-z4jru4n3]{width:min(100%,1300px);margin-inline:auto}.app-header[data-astro-cid-z4jru4n3]{background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-shrink:0;transition:background-color .2s,border-color .2s}.app-header-inner[data-astro-cid-z4jru4n3]{padding:var(--sp-4) var(--sp-6);justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.brand[data-astro-cid-z4jru4n3]{align-items:center;gap:var(--sp-3);color:inherit;min-width:0;text-decoration:none;display:flex}.brand-icon[data-astro-cid-z4jru4n3]{background:var(--color-primary);border-radius:var(--radius-md);flex-shrink:0;place-items:center;width:28px;height:28px;display:grid}.brand-icon[data-astro-cid-z4jru4n3] svg[data-astro-cid-z4jru4n3]{color:#fff;width:16px;height:16px}.brand-name[data-astro-cid-z4jru4n3]{font-size:var(--text-base);font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);color:var(--color-text-primary);white-space:nowrap}.brand-name[data-astro-cid-z4jru4n3] span[data-astro-cid-z4jru4n3]{color:var(--color-primary)}.header-actions[data-astro-cid-z4jru4n3]{align-items:center;gap:var(--sp-4);min-width:0;display:flex}.made-by[data-astro-cid-z4jru4n3]{align-items:center;gap:var(--sp-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);white-space:nowrap;display:inline-flex}.made-by[data-astro-cid-z4jru4n3] svg[data-astro-cid-z4jru4n3]{width:14px;height:14px;color:var(--color-error);flex-shrink:0}.made-by[data-astro-cid-z4jru4n3] a[data-astro-cid-z4jru4n3]{color:var(--color-primary);font-weight:var(--weight-semibold);text-decoration:none}.made-by[data-astro-cid-z4jru4n3] a[data-astro-cid-z4jru4n3]:hover{text-decoration:underline}.theme-toggle[data-astro-cid-z4jru4n3]{border:1px solid var(--color-border);border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;place-items:center;transition:color .15s,border-color .15s,background .15s;display:grid}.theme-toggle[data-astro-cid-z4jru4n3]:hover{color:var(--color-text-primary);border-color:var(--color-border-strong);background:var(--color-bg-muted)}.theme-toggle[data-astro-cid-z4jru4n3] svg[data-astro-cid-z4jru4n3]{width:16px;height:16px}.app-main[data-astro-cid-z4jru4n3]{flex:1 0 auto;width:min(100%,1300px);min-height:0;overflow:hidden}@media (width<=960px){.app-main[data-astro-cid-z4jru4n3]{min-height:auto;display:block;overflow:visible}}@media (width<=640px){.app-header-inner[data-astro-cid-z4jru4n3]{padding:var(--sp-3) var(--sp-5)}.made-by-prefix[data-astro-cid-z4jru4n3],.made-by-by[data-astro-cid-z4jru4n3]{display:none}}@media (width<=480px){.app-header-inner[data-astro-cid-z4jru4n3]{padding:var(--sp-3) var(--sp-4)}.header-actions[data-astro-cid-z4jru4n3]{gap:var(--sp-2)}.made-by[data-astro-cid-z4jru4n3]{font-size:var(--text-xs)}}@media (width<=360px){.brand-name[data-astro-cid-z4jru4n3]{text-overflow:ellipsis;max-width:92px;overflow:hidden}}.qr-generator{width:100%;height:100%;min-height:calc(100dvh - 68px)}.qr-generator>astro-island{width:100%;height:100%;min-height:inherit;display:block!important}.qr-generator .qr-generator-grid{width:100%;height:100%;min-height:inherit;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.qr-generator .form-col{scrollbar-width:none;padding:var(--sp-8) var(--sp-6);border-right:1px solid var(--color-border);background:var(--color-bg);min-width:0;overflow:hidden auto}.qr-generator .form-col::-webkit-scrollbar{display:none}.qr-generator .section-eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--sp-3)}.qr-generator .panel-heading{font-size:clamp(1.5rem,1.2rem + 1.5vw,2rem);font-weight:var(--weight-extrabold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--color-text-primary);margin-bottom:var(--sp-1)}.qr-generator .panel-heading em{color:var(--color-primary);font-style:italic}.qr-generator .panel-sub{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--sp-6);line-height:var(--leading-normal)}.qr-generator .form-group{margin-bottom:var(--sp-4)}.qr-generator .form-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);letter-spacing:-.01em;margin-bottom:var(--sp-2);display:block}.qr-generator .url-input{width:100%;min-width:0;padding:var(--sp-3) var(--sp-4);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-appearance:none;outline:none;transition:border-color .15s,box-shadow .15s}.qr-generator .url-input::placeholder{color:var(--color-text-disabled);font-family:var(--font-base)}.qr-generator .url-input:hover{border-color:var(--color-border-strong)}.qr-generator .url-input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.qr-generator .url-input.has-error{border-color:var(--color-error)}.qr-generator .url-input.has-error:focus{box-shadow:0 0 0 3px #dc26262e}.qr-generator .input-error-msg{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-error);margin-top:var(--sp-2);display:none}.qr-generator .input-error-msg.visible{display:block}.qr-generator .segmented{background:var(--color-bg-muted);border:1px solid var(--color-border);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.qr-generator .seg-btn{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font-family:var(--font-base);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;background:0 0;border:none;flex:1;min-width:0;transition:background .15s,color .15s,box-shadow .15s}.qr-generator .seg-btn:hover{color:var(--color-text-primary)}.qr-generator .seg-btn.active{background:var(--color-bg);color:var(--color-text-primary);font-weight:var(--weight-semibold);box-shadow:var(--shadow-xs)}[data-theme=dark] .qr-generator .seg-btn.active{background:var(--color-bg-muted);border:1px solid var(--color-border-strong);box-shadow:none}.qr-generator .color-row{gap:var(--sp-3);min-width:0;display:flex}.qr-generator .color-field{align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;flex:1;min-width:0;transition:border-color .15s;display:flex}.qr-generator .color-field:hover{border-color:var(--color-border-strong)}.qr-generator .color-swatch{border-radius:var(--radius-sm);border:1px solid #0000001f;flex-shrink:0;width:20px;height:20px;position:relative;overflow:hidden}[data-theme=dark] .qr-generator .color-swatch{border-color:#ffffff1a}.qr-generator .color-swatch input[type=color]{cursor:pointer;opacity:0;border:none;width:calc(100% + 8px);height:calc(100% + 8px);padding:0;position:absolute;inset:-4px}.qr-generator .color-label-text{font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.qr-generator .color-value{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);flex-shrink:0}.qr-generator .btn-generate{width:100%;min-height:48px;padding:var(--sp-3) var(--sp-6);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-family:var(--font-base);font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:-.01em;cursor:pointer;border:none;transition:background .15s,box-shadow .15s,transform .1s}.qr-generator .btn-generate:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-primary);transform:translateY(-1px)}.qr-generator .btn-generate:active{transform:translateY(0)}.qr-generator .btn-generate:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.qr-generator .btn-clear{width:100%;min-height:44px;margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-4);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-base);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;background:0 0;transition:color .15s,border-color .15s,background .15s}.qr-generator .btn-clear:hover{color:var(--color-error);border-color:var(--color-error-border);background:var(--color-error-bg)}.qr-generator .preview-col{padding:var(--sp-6);gap:var(--sp-4);background:var(--color-bg-subtle);flex-direction:column;min-width:0;display:flex;overflow:hidden}.qr-generator .qr-card{gap:var(--sp-3);flex-direction:column;display:flex}.qr-generator .canvas-wrap{background:var(--color-bg-subtle);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-xl);min-height:clamp(260px,42vw,416px);padding:var(--sp-6);justify-content:center;align-items:center;transition:border-color .2s,background .2s;display:flex}.qr-generator .canvas-wrap.has-qr{border-style:solid;border-color:var(--color-border);background:var(--color-bg);padding:var(--sp-4)}.qr-generator .qr-canvas{border-radius:var(--radius-sm);max-width:min(100%,420px);height:auto;animation:.25s cubic-bezier(.34,1.56,.64,1) both qrAppear;display:none}.qr-generator .qr-canvas.visible{display:block}@keyframes qrAppear{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.qr-generator .empty-state{align-items:center;gap:var(--sp-3);padding:var(--sp-8);text-align:center;flex-direction:column;min-width:0;display:flex}.qr-generator .empty-icon{border-radius:var(--radius-lg);background:var(--color-bg-muted);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-text-disabled);place-items:center;display:grid}.qr-generator .empty-icon svg{width:22px;height:22px}.qr-generator .empty-title{font-size:var(--text-base);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-snug);color:var(--color-text-primary)}.qr-generator .empty-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-normal);max-width:22ch}.qr-generator .generating-state{align-items:center;gap:var(--sp-4);padding:var(--sp-8);flex-direction:column;display:none}.qr-generator .generating-state.visible{display:flex}.qr-generator .spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.qr-generator .generating-state p{font-size:var(--text-sm);color:var(--color-text-muted)}.qr-generator .url-display{padding:var(--sp-3) var(--sp-4);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);word-break:break-all;line-height:var(--leading-normal);display:none}.qr-generator .url-display.visible{display:block}.qr-generator .action-buttons{gap:var(--sp-2);grid-template-columns:repeat(2,1fr);min-width:0;display:none}.qr-generator .action-buttons.visible{display:grid}.qr-generator .btn-action{justify-content:center;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-base);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);cursor:pointer;letter-spacing:-.01em;white-space:nowrap;min-width:0;min-height:48px;transition:color .15s,border-color .15s,background .15s,transform .1s,box-shadow .15s;display:flex}.qr-generator .btn-action svg{flex-shrink:0;width:14px;height:14px}.qr-generator .btn-action:hover{color:var(--color-text-primary);border-color:var(--color-border-strong);background:var(--color-bg-subtle);box-shadow:var(--shadow-xs);transform:translateY(-1px)}.qr-generator .btn-action.success{color:var(--color-success);border-color:var(--color-success-border);background:var(--color-success-bg);transform:none}.qr-generator .btn-action.error-state{color:var(--color-error);border-color:var(--color-error-border);background:var(--color-error-bg);transform:none}.qr-generator .history-section{padding-top:var(--sp-3);border-top:1px solid var(--color-border);flex-shrink:0;margin-top:auto}.qr-generator .history-header{margin-bottom:var(--sp-2);justify-content:space-between;align-items:center;display:flex}.qr-generator .btn-clear-history{font-family:var(--font-base);font-size:var(--text-xs);color:var(--color-text-muted);cursor:pointer;padding:var(--sp-1) var(--sp-2);border-radius:var(--radius-sm);background:0 0;border:none;transition:color .15s,background .15s}.qr-generator .btn-clear-history:hover{color:var(--color-error);background:var(--color-error-bg)}.qr-generator .history-chips{scrollbar-width:none;gap:var(--sp-2);flex-wrap:nowrap;display:flex;overflow:auto hidden}.qr-generator .history-chips::-webkit-scrollbar{display:none}.qr-generator .history-chip{padding:var(--sp-1) var(--sp-3);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius-full);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;align-items:center;max-width:200px;transition:color .15s,border-color .15s,background .15s;display:inline-flex;overflow:hidden}.qr-generator .history-chip:hover{color:var(--color-primary);border-color:var(--color-primary);background:var(--color-primary-light)}@media (width<=960px){.qr-generator,.qr-generator>astro-island{width:100%;height:auto;min-height:auto;display:block!important}.qr-generator .qr-generator-grid{grid-template-columns:1fr;width:100%;height:auto;min-height:auto;display:grid}.qr-generator .form-col{scrollbar-width:thin;border-right:none;border-bottom:1px solid var(--color-border);padding:var(--sp-6) var(--sp-5);overflow:visible}.qr-generator .preview-col{padding:var(--sp-5);min-height:420px;overflow:visible}.qr-generator .qr-card{gap:var(--sp-3)}.qr-generator .canvas-wrap{min-height:300px}}@media (width<=640px){.qr-generator .form-col{padding:var(--sp-6) var(--sp-4)}.qr-generator .preview-col{padding:var(--sp-4);min-height:auto}.qr-generator .panel-heading{font-size:1.75rem}.qr-generator .canvas-wrap{min-height:280px;padding:var(--sp-4);border-radius:var(--radius-lg)}.qr-generator .canvas-wrap.has-qr{padding:var(--sp-3)}.qr-generator .empty-state,.qr-generator .generating-state{padding:var(--sp-6) var(--sp-4)}.qr-generator .action-buttons{grid-template-columns:1fr}.qr-generator .history-header{align-items:flex-start;gap:var(--sp-2)}.qr-generator .history-chip{max-width:70vw}}@media (width<=480px){.qr-generator .segmented{grid-template-columns:1fr;display:grid}.qr-generator .color-row{flex-direction:column}.qr-generator .color-field{padding:var(--sp-3)}.qr-generator .color-value{font-size:.6875rem}.qr-generator .url-input{font-size:16px}.qr-generator .btn-action{font-size:var(--text-sm);padding:var(--sp-2) var(--sp-3);justify-content:center}}@media (width<=360px){.qr-generator .form-col,.qr-generator .preview-col{padding-inline:var(--sp-3)}.qr-generator .panel-heading{font-size:1.5rem}.qr-generator .canvas-wrap{min-height:240px}}:root{--font-base:"Inter Tight", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--color-bg:#fff;--color-bg-subtle:#fafafa;--color-bg-muted:#f4f4f5;--color-border:#e4e4e7;--color-border-strong:#d1d1d6;--color-text-primary:#09090b;--color-text-secondary:#52525b;--color-text-muted:#71717a;--color-text-disabled:#a1a1aa;--color-text-inverse:#fff;--color-primary:#1a4fd6;--color-primary-hover:#1440b8;--color-primary-light:#eef4ff;--color-primary-dim:#1a4fd614;--color-success:#16a34a;--color-success-bg:#f0fdf4;--color-success-border:#bbf7d0;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-error-border:#fecaca;--sp-1:.25rem;--sp-2:.5rem;--sp-3:.75rem;--sp-4:1rem;--sp-5:1.25rem;--sp-6:1.5rem;--sp-8:2rem;--sp-10:2.5rem;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-3xl:clamp(1.75rem, 1.4rem + 1.75vw, 2.5rem);--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--tracking-tight:-.03em;--tracking-snug:-.02em;--tracking-wide:.04em;--tracking-widest:.12em;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px #0000000d, 0 2px 4px #0000000a;--shadow-focus:0 0 0 3px #1a4fd638;--shadow-primary:0 4px 14px #1a4fd638}[data-theme=dark]{--color-bg:#09090b;--color-bg-subtle:#18181b;--color-bg-muted:#27272a;--color-border:#27272a;--color-border-strong:#3f3f46;--color-text-primary:#fafafa;--color-text-secondary:#a1a1aa;--color-text-muted:#71717a;--color-text-disabled:#52525b;--color-text-inverse:#09090b;--color-primary:#5b8af5;--color-primary-hover:#7aa0f7;--color-primary-light:#5b8af51a;--color-primary-dim:#5b8af50f;--shadow-focus:0 0 0 3px #5b8af547;--shadow-primary:0 4px 14px #5b8af540}*,:before,:after{box-sizing:border-box}*{margin:0}body{-webkit-font-smoothing:antialiased;line-height:var(--leading-normal)}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
