:root{--color-brand: #2e4a3d;--color-brand-dark: #243d32;--color-impulse: #c36a4a;--color-surface: #ffffff;--color-bg: #f9f7f2;--color-text: #1c1c1e;--color-text-muted: #5c5c5f;--color-border: #ebe9e4;--color-success: #2e4a3d;--color-error: #a5533a;--color-warning: #7d6229;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(28, 28, 30, .06);--shadow-lg: 0 12px 48px rgba(28, 28, 30, .1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:32px 16px 64px}.card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:32px 28px;width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;gap:20px}.logo{display:flex;align-items:center;gap:12px;margin-bottom:8px}.headline{text-align:center}.headline h1{font-size:22px;font-weight:700;color:var(--color-text);margin-bottom:6px}.headline p{font-size:15px;color:var(--color-text-muted);line-height:1.5}.instructions{font-size:14px;color:var(--color-text-muted);line-height:1.5;text-align:center}.qr-card{padding:16px;background:#fff;border-radius:var(--radius);box-shadow:0 4px 16px #1c1c1e14}.qr-canvas{display:block;border-radius:4px}.share-code-section{display:flex;flex-direction:column;align-items:center;gap:6px}.share-code-label{font-size:13px;color:var(--color-text-muted)}.share-code{font-size:36px;font-weight:800;letter-spacing:8px;color:var(--color-text)}.expiry{font-size:13px;color:var(--color-text-muted);text-align:center}.expiry.expiring-soon{color:var(--color-warning);font-weight:600}.expiry.expired{color:var(--color-error);font-weight:600}.badges{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.badge{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:500}.badge-view,.badge-edit,.badge-share,.badge-type{background:#2e4a3d1a;color:#3a3a3c}.badge-icon{font-size:14px}.action-buttons{width:100%;display:flex;gap:12px}.action-buttons .btn{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;border-radius:var(--radius-sm);font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;border:none;transition:transform .12s ease,box-shadow .12s ease}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.btn-primary{background:var(--color-brand);color:#fff;box-shadow:0 2px 12px #2e4a3d4d}.btn-primary:hover{background:var(--color-brand-dark);box-shadow:0 4px 18px #2e4a3d66}.btn-outline{background:transparent;color:var(--color-brand);border:1.5px solid rgba(46,74,61,.4)}.btn-outline:hover{background:#2e4a3d0d;border-color:#2e4a3d99}.divider{width:100%;display:flex;align-items:center;gap:12px;color:var(--color-text-muted);font-size:13px;font-weight:500}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--color-border)}.store-buttons{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;flex-wrap:wrap}.store-badge{display:inline-flex;align-items:center;transition:opacity .15s ease,transform .12s ease;border-radius:8px;overflow:hidden}.store-badge:hover{opacity:.85;transform:scale(1.03)}.store-badge:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.store-badge img{display:block}.store-badge img[alt="Get it on Google Play"]{margin:-10px 0}.error-card{text-align:center;gap:16px}.error-icon{font-size:48px;color:var(--color-text-muted)}.next-steps{width:100%;text-align:left;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:16px 20px}.next-steps h2{font-size:14px;font-weight:600;color:var(--color-text);margin-bottom:10px}.next-steps ol{padding-left:20px;display:flex;flex-direction:column;gap:8px}.next-steps li{font-size:14px;color:var(--color-text-muted);line-height:1.5}.skeleton{background:linear-gradient(90deg,#ebe9e4 25%,#d5d3ce,#ebe9e4 75%);background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:16px;width:100%;margin:4px 0}.skeleton-title{height:22px;width:70%}.skeleton-center{margin:0 auto 8px}.skeleton-60{width:60%}.skeleton-qr{width:200px;height:200px;border-radius:12px}.skeleton-btn{height:48px;width:100%;border-radius:var(--radius-sm)}.install-hint{font-size:13px;color:var(--color-text-muted);text-align:center}.footer{margin-top:32px;text-align:center;font-size:12px;color:var(--color-text-muted)}.legal-card{max-width:720px;text-align:left;align-items:stretch;gap:0}.legal-card .logo{align-self:center;margin-bottom:4px}.logo-img{height:56px;width:auto;display:block}.legal-card h1{font-size:24px;font-weight:700;color:var(--color-text);text-align:center;margin-bottom:4px}.legal-effective{font-size:13px;color:var(--color-text-muted);text-align:center;margin-bottom:24px}.legal-card section{margin-bottom:24px}.legal-card h2{font-size:17px;font-weight:600;color:var(--color-text);margin-bottom:8px}.legal-card h3{font-size:15px;font-weight:600;color:var(--color-text);margin-top:12px;margin-bottom:6px}.legal-card p{font-size:14px;color:var(--color-text-muted);line-height:1.7;margin-bottom:8px}.legal-card ul,.legal-card ol{padding-left:24px;margin-bottom:8px}.legal-card li{font-size:14px;color:var(--color-text-muted);line-height:1.7;margin-bottom:4px}.legal-card a{color:var(--color-brand);text-decoration:none;font-weight:500}.legal-card a:hover{text-decoration:underline}.legal-contact{font-weight:500;color:var(--color-text)}.legal-divider{border:none;border-top:1px solid var(--color-border);margin:24px 0 16px}.page-nav{display:flex;align-items:center;justify-content:center;gap:8px;font-size:13px;margin-top:24px}.page-nav a{color:var(--color-text-muted);text-decoration:none;transition:color .15s ease}.page-nav a:hover{color:var(--color-brand)}.nav-dot{color:var(--color-text-muted)}.coming-soon{font-size:1.5rem}
