:root{--color-bg: #fbf3ee;--color-bg-raised: #ffffff;--color-bg-sunken: #f3e6dd;--color-ink: #2b2320;--color-ink-soft: #6b5d56;--color-ink-faint: #a89a92;--color-accent: #d87c7c;--color-accent-strong: #c2615f;--color-accent-soft: #f3dcd9;--color-sage: #8fa888;--color-sage-strong: #75906e;--color-border: #e8d5cb;--color-border-strong: #d8bfae;--color-success: #6f9c6e;--color-error: #c2615f;--shadow-card: 0 1px 2px rgba(43, 35, 32, .04), 0 8px 24px rgba(43, 35, 32, .06);--shadow-card-hover: 0 2px 4px rgba(43, 35, 32, .06), 0 12px 32px rgba(43, 35, 32, .1);--font-display: "Fraunces", Georgia, serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 24px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--color-bg: #211a18;--color-bg-raised: #2c2320;--color-bg-sunken: #19130f;--color-ink: #f3e9e2;--color-ink-soft: #c4b3a8;--color-ink-faint: #8a7468;--color-accent: #e8918f;--color-accent-strong: #f2a7a5;--color-accent-soft: #3d2624;--color-sage: #a8c2a1;--color-sage-strong: #bcd1b6;--color-border: #3a2d28;--color-border-strong: #4d3c34;--color-success: #8fbf8a;--color-error: #f2a7a5;--shadow-card: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px rgba(0, 0, 0, .35);--shadow-card-hover: 0 2px 4px rgba(0, 0, 0, .35), 0 12px 32px rgba(0, 0, 0, .45);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased}body{transition:background-color .2s ease,color .2s ease}#root{min-height:100vh}a{color:var(--color-accent-strong)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:var(--space-6) var(--space-4) var(--space-9)}.brand{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-8)}.brand-mark{width:36px;height:36px;flex-shrink:0}.brand-name{font-family:var(--font-display);font-weight:600;font-size:1.4rem;letter-spacing:-.01em;color:var(--color-ink)}.brand-name span{color:var(--color-accent)}.hero{text-align:center;max-width:560px;margin-bottom:var(--space-7)}.hero h1{font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.08;letter-spacing:-.015em;margin:0 0 var(--space-3);color:var(--color-ink)}.hero h1 em{font-style:italic;color:var(--color-accent-strong)}.hero p{font-size:1.05rem;color:var(--color-ink-soft);margin:0;line-height:1.5}.generator{width:100%;max-width:480px;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-card)}.input-row{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.input-row label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-soft)}.url-input{font-family:var(--font-mono);font-size:.95rem;background:var(--color-bg-sunken);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);color:var(--color-ink);transition:border-color .15s ease,box-shadow .15s ease;width:100%}.url-input::placeholder{color:var(--color-ink-faint)}.url-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.qr-stage{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.qr-frame{position:relative;width:240px;height:240px;background:var(--color-bg-raised);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);overflow:hidden}.qr-frame canvas,.qr-frame img{width:200px;height:200px;border-radius:var(--radius-sm);background:#fff}.qr-frame.empty{color:var(--color-ink-faint);font-size:.85rem;text-align:center;padding:var(--space-5);font-family:var(--font-body)}.qr-frame .corner-dot{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--color-accent);opacity:0;transition:opacity .25s ease,transform .25s ease}.qr-frame:hover .corner-dot{opacity:1}.corner-dot.tl{top:12px;left:12px}.corner-dot.tr{top:12px;right:12px}.corner-dot.bl{bottom:12px;left:12px}.qr-frame:hover .corner-dot.tl{transform:scale(1.15)}.qr-frame:hover .corner-dot.tr{transform:scale(1.15) translateY(2px)}.qr-frame:hover .corner-dot.bl{transform:scale(1.15) translate(2px)}.btn-row{display:flex;gap:var(--space-3);width:100%}.btn{font-family:var(--font-body);font-weight:600;font-size:.92rem;border-radius:var(--radius-pill);padding:var(--space-3) var(--space-5);border:none;cursor:pointer;transition:transform .1s ease,box-shadow .15s ease,background-color .15s ease;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-accent);color:#fffaf7;flex:1}.btn-primary:hover{background:var(--color-accent-strong)}.btn-secondary{background:transparent;color:var(--color-ink-soft);border:1.5px solid var(--color-border-strong)}.btn-secondary:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.btn:disabled{opacity:.5;cursor:not-allowed}.pro-strip{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px dashed var(--color-border-strong);display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.pro-strip-text{font-size:.85rem;color:var(--color-ink-soft);line-height:1.4}.pro-strip-text strong{color:var(--color-ink);font-weight:600}.pro-badge{font-family:var(--font-mono);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;background:var(--color-sage);color:#1d2a1b;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap}.features{margin-top:var(--space-8);display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5);max-width:700px;width:100%}.feature{text-align:center;padding:var(--space-4)}.feature-icon{width:28px;height:28px;margin:0 auto var(--space-2);color:var(--color-accent)}.feature h3{font-family:var(--font-display);font-size:1rem;font-weight:600;margin:0 0 var(--space-1);color:var(--color-ink)}.feature p{font-size:.85rem;color:var(--color-ink-soft);margin:0;line-height:1.4}.link-btn{background:none;border:none;padding:0;font-family:var(--font-body);font-size:inherit;font-weight:600;color:var(--color-accent-strong);cursor:pointer;text-decoration:underline;text-decoration-color:var(--color-accent-soft)}.link-btn:hover{color:var(--color-accent)}.link-btn-danger{color:var(--color-error)}.brand .link-btn{margin-left:auto;font-size:.85rem;text-decoration:none}.btn-ghost{background:transparent;border:none;color:var(--color-sage-strong);font-family:var(--font-body);font-weight:600;font-size:.85rem;cursor:pointer;padding:var(--space-2);width:100%;text-align:center}.btn-ghost:hover{color:var(--color-sage);text-decoration:underline}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.dynamic-note{font-size:.82rem;color:var(--color-ink-soft);text-align:center;margin:0}.dynamic-note code{font-family:var(--font-mono);background:var(--color-bg-sunken);padding:1px 6px;border-radius:4px;font-size:.78rem}.upgrade-banner{margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-sage);color:#1d2a1b;border-radius:var(--radius-md);font-size:.88rem;font-weight:500}.dashboard-new-row{display:flex;flex-direction:column;margin-bottom:var(--space-6);padding-bottom:var(--space-5);border-bottom:1px dashed var(--color-border-strong)}.code-list{display:flex;flex-direction:column;gap:var(--space-4)}.code-row{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4);background:var(--color-bg-sunken)}.code-row-main{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.code-row-label{font-weight:600;font-size:.95rem;color:var(--color-ink)}.code-row-url{font-family:var(--font-mono);font-size:.8rem;color:var(--color-accent-strong)}.code-row-dest{font-size:.85rem;color:var(--color-ink-soft);word-break:break-all}.code-row-edit{display:flex;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap}.code-row-edit .url-input{flex:1;min-width:180px}.code-row-meta{display:flex;align-items:center;gap:var(--space-4);font-size:.8rem;color:var(--color-ink-faint)}.faq{width:100%;max-width:640px;margin-top:var(--space-10)}.faq-heading{font-family:var(--font-display);font-size:1.4rem;font-weight:600;margin:0 0 var(--space-5);color:var(--color-ink)}.faq-list{margin:0;padding:0;display:flex;flex-direction:column;gap:0}.faq-item{border-top:1px solid var(--color-border);padding:var(--space-5) 0}.faq-item:last-child{border-bottom:1px solid var(--color-border)}.faq-item dt{font-weight:600;font-size:.95rem;color:var(--color-ink);margin:0 0 var(--space-2)}.faq-item dd{margin:0;font-size:.9rem;color:var(--color-ink-soft);line-height:1.6}.contact-section{width:100%;max-width:480px;margin-top:var(--space-8)}.contact-heading{font-family:var(--font-display);font-size:1.4rem;font-weight:600;margin:0 0 var(--space-2);color:var(--color-ink)}.contact-sub{font-size:.9rem;color:var(--color-ink-soft);margin:0 0 var(--space-5)}.contact-form{display:flex;flex-direction:column;gap:var(--space-4)}.contact-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.contact-field{display:flex;flex-direction:column;gap:var(--space-2)}.contact-field label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-ink-soft)}.contact-field input,.contact-field textarea{font-family:var(--font-body);font-size:.95rem;background:var(--color-bg-sunken);border:1.5px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-ink);transition:border-color .15s ease,box-shadow .15s ease;width:100%;resize:vertical}.contact-field input::placeholder,.contact-field textarea::placeholder{color:var(--color-ink-faint)}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.contact-field input:disabled,.contact-field textarea:disabled{opacity:.6;cursor:not-allowed}.contact-error{color:var(--color-error);font-size:.85rem;margin:0}.contact-submit{align-self:flex-start;flex:none;padding:var(--space-3) var(--space-6)}.contact-success{display:flex;align-items:center;gap:var(--space-3);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);color:var(--color-ink-soft);font-size:.95rem}.contact-success-icon{width:28px;height:28px;border-radius:50%;background:var(--color-sage);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.contact-success p{margin:0}@media(max-width:600px){.contact-row{grid-template-columns:1fr}}.footer{margin-top:var(--space-8);font-size:.8rem;color:var(--color-ink-faint);text-align:center}.modal-backdrop{position:fixed;inset:0;background:#140e0c73;display:flex;align-items:center;justify-content:center;padding:var(--space-4);z-index:50}.modal{background:var(--color-bg-raised);border-radius:var(--radius-lg);padding:var(--space-7);max-width:420px;width:100%;box-shadow:var(--shadow-card-hover);border:1px solid var(--color-border);position:relative}.modal h2{font-family:var(--font-display);font-size:1.6rem;margin:0 0 var(--space-2)}.modal p.modal-sub{color:var(--color-ink-soft);margin:0 0 var(--space-5);font-size:.95rem}.price-line{display:flex;align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-5)}.price-line .amount{font-family:var(--font-display);font-size:2.4rem;font-weight:600;color:var(--color-ink)}.price-line .period{color:var(--color-ink-soft);font-size:.95rem}.perk-list{list-style:none;padding:0;margin:0 0 var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}.perk-list li{display:flex;align-items:center;gap:var(--space-2);font-size:.9rem;color:var(--color-ink)}.perk-list li:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-sage-strong);flex-shrink:0}.modal-close{position:absolute;top:var(--space-5);right:var(--space-5);background:none;border:none;color:var(--color-ink-faint);font-size:1.4rem;cursor:pointer;line-height:1}@media(max-width:600px){.features{grid-template-columns:1fr}.generator{padding:var(--space-5)}}
