@import"https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,700;12..96,800&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&display=swap";:root{--bg: #f9f8f6;--surface: #ffffff;--surface-2: #f3f1ee;--border: #e6e3de;--border-subtle: #eeebe6;--text: #0d0c0b;--muted: #79746e;--accent: #5b21b6;--accent-h: #4c1d95;--accent-mid: #7c3aed;--accent-light: #f3edff;--danger: #dc2626;--warn-bg: #fffbeb;--warn-border: #f59e0b;--warn-text: #78350f;--success: #16a34a;--radius: 12px;--radius-sm: 8px;--radius-lg: 20px;--shadow: 0 1px 3px rgba(13,12,11,.05), 0 1px 2px rgba(13,12,11,.04);--shadow-md: 0 4px 16px rgba(13,12,11,.07), 0 2px 4px rgba(13,12,11,.04);--shadow-lg: 0 12px 40px rgba(13,12,11,.1), 0 4px 8px rgba(13,12,11,.05);--nav-bg: #0d0c0b;--nav-text: rgba(255,255,255,.78);--nav-border: rgba(255,255,255,.07);--nav-hover: rgba(255,255,255,.08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,-apple-system,system-ui,sans-serif;font-size:15px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;height:56px;background:var(--nav-bg);border-bottom:1px solid var(--nav-border);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{font-family:Bricolage Grotesque,system-ui,sans-serif;font-weight:700;font-size:1rem;color:#fff;letter-spacing:-.03em;display:flex;align-items:center;gap:8px}.brand:hover{text-decoration:none;color:#fff;opacity:.9}.brand-dot{width:22px;height:22px;background:linear-gradient(135deg,#7c3aed,#a78bfa);border-radius:5px;flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 2px 8px #7c3aed80}.brand-dot:before{content:"";position:absolute;top:3px;left:3px;width:6px;height:6px;background:#ffffffd9;border-radius:1.5px;box-shadow:10px 0 #ffffffd9,0 10px #ffffffd9,5px 5px #ffffff80,10px 10px #ffffffd9}.topbar .btn{font-size:.85rem}.topbar .btn-ghost{color:var(--nav-text);border-color:transparent;background:transparent}.topbar .btn-ghost:hover:not(:disabled){background:var(--nav-hover);color:#fff;border-color:transparent}.topbar .btn-primary{background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:transparent;color:#fff;box-shadow:0 1px 6px #6d28d973}.topbar .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 3px 10px #6d28d98c;opacity:1}.main{flex:1;max-width:700px;margin:0 auto;padding:2.5rem 1.5rem 5rem;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;border:1px solid transparent;line-height:1;transition:all .15s ease;text-decoration:none;white-space:nowrap;font-family:inherit}.btn:hover{text-decoration:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 1px 4px #5b21b633}.btn-primary:hover:not(:disabled){background:var(--accent-h);border-color:var(--accent-h);box-shadow:0 3px 10px #5b21b64d}.btn-ghost{background:transparent;color:var(--muted);border-color:var(--border)}.btn-ghost:hover:not(:disabled){background:var(--surface);color:var(--text);border-color:#d2cec8}.btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.btn-secondary:hover:not(:disabled){background:var(--surface-2)}.btn-full{width:100%;padding:.75rem;font-size:.95rem}.field{display:flex;flex-direction:column;gap:.45rem}.label{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.input{padding:.65rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;background:var(--surface);color:var(--text);outline:none;width:100%;transition:border-color .15s,box-shadow .15s;font-family:inherit}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5b21b61a}.input::placeholder{color:#c2bdb6}.input-file{padding:.5rem .9rem;cursor:pointer;color:var(--muted);font-size:.875rem}.seg{display:flex;border:1.5px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;background:var(--surface-2)}.seg-opt{flex:1;padding:.55rem .75rem;text-align:center;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--muted);border-right:1.5px solid var(--border);transition:background .12s,color .12s;-webkit-user-select:none;user-select:none}.seg-opt:last-child{border-right:none}.seg-opt.on{background:var(--accent);color:#fff;border-color:var(--accent)}.seg-opt:not(.on):hover{background:var(--border-subtle);color:var(--text)}.seg-opt.warn.on{background:#d97706;border-color:#d97706}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.alert{padding:.65rem .9rem;border-radius:var(--radius-sm);font-size:.85rem;border:1.5px solid}.alert-warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn-text)}.alert-error{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.stack{display:flex;flex-direction:column;gap:1.1rem}.stack-sm{display:flex;flex-direction:column;gap:.6rem}.row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.muted{color:var(--muted);font-size:.875rem}.divider{border:none;border-top:1px solid var(--border)}.badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:99px;font-size:.7rem;font-weight:600;letter-spacing:.02em}.badge-indigo{background:#ede9fe;color:#5b21b6}.badge-blue{background:#dbeafe;color:#1e40af}.badge-gray{background:#f3f1ee;color:#5a5550}.badge-green{background:#dcfce7;color:#15803d}.badge-amber{background:#fef3c7;color:#92400e}.badge-orange{background:#ffedd5;color:#9a3412}.badge-red{background:#fee2e2;color:#991b1b}.qr-grid,.qr-card{display:flex;flex-direction:column;gap:.75rem}.qr-card-header{display:flex;align-items:flex-start;gap:.9rem}.qr-card-header img{width:72px;height:72px;flex-shrink:0;border-radius:var(--radius-sm);border:1px solid var(--border);object-fit:contain;background:var(--surface-2)}.qr-card-meta{flex:1;min-width:0}.qr-card-title{font-weight:600;font-size:.95rem;line-height:1.3}.qr-card-slug{font-size:.75rem;color:var(--muted);margin-top:.15rem}.qr-result{display:flex;gap:1.25rem;align-items:flex-start}.qr-result-img{width:140px;height:140px;flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius-sm)}.qr-result-info{flex:1;display:flex;flex-direction:column;gap:.6rem}.recent-list{display:flex;flex-direction:column;gap:.5rem}.recent-item{display:flex;align-items:center;gap:.85rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);transition:border-color .15s,box-shadow .15s,transform .15s;cursor:pointer;text-decoration:none;color:inherit}.recent-item:hover{border-color:var(--accent);box-shadow:0 0 0 3px #5b21b614;transform:translateY(-1px);text-decoration:none}.recent-item img{width:40px;height:40px;border-radius:6px;flex-shrink:0}.recent-item-info{flex:1;min-width:0}.recent-item-title{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-item-meta{font-size:.78rem;color:var(--muted)}.edit-row{display:flex;gap:.5rem;align-items:center}.edit-row .input{flex:1;padding:.4rem .65rem;font-size:.875rem}.interstitial-wrap{max-width:480px;margin:3rem auto}.ad-block{background:var(--surface-2);border:1.5px dashed var(--border);border-radius:var(--radius);padding:2rem;text-align:center;color:var(--muted);margin-bottom:1.25rem}.countdown{font-size:.8rem;color:var(--muted)}.section-head{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin-bottom:.1rem}.page-title{font-family:Bricolage Grotesque,system-ui,sans-serif;font-size:1.5rem;font-weight:700;letter-spacing:-.025em}@media(max-width:480px){.qr-result{flex-direction:column}.qr-result-img{width:120px;height:120px}.topbar{padding:0 1rem}.main{padding:2rem 1rem 4rem}}
