.grouped-container{max-width:420px;margin:0 auto;padding:20px 20px 100px}.card-group{margin-bottom:60px}.group-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:30px;align-items:baseline;gap:8px;width:fit-content;margin-bottom:20px;padding:12px 16px;display:flex}.group-icon{font-size:20px}.group-label{color:#fff;letter-spacing:.5px;font-size:16px;font-weight:600}.group-count{color:#fff9;background:#0000004d;border-radius:20px;padding:2px 8px;font-size:12px}.group-stack{min-height:280px;position:relative}.wallet-card{color:#fff;cursor:pointer;border-radius:20px;flex-direction:column;height:200px;padding:16px;transition:transform .2s,box-shadow .2s;display:flex;position:absolute;left:0;right:0;box-shadow:0 8px 20px #0000004d}.wallet-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0006}.wallet-card:active{transform:scale(.98)}.card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.card-name{color:#fff;text-shadow:0 1px 2px #0003;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:18px;font-weight:700;overflow:hidden}.card-chip{flex-shrink:0;position:relative;top:auto;right:auto}.chip-icon{opacity:.8;font-size:28px}.card-brand{align-items:center;margin-bottom:16px;display:flex}.brand-logo{background:#fff3;border-radius:24px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;font-weight:700;display:flex}.brand-name{display:none}.card-number{letter-spacing:1px;background:#ffffff26;border-radius:10px;width:fit-content;margin-bottom:12px;padding:8px 12px;font-family:Courier New,monospace;font-size:12px;display:inline-block}.card-date,.card-place,.card-valid{background:#0003;border-radius:8px;align-items:center;gap:6px;width:fit-content;margin-top:4px;padding:4px 10px;font-size:10px;display:flex}@media (width<=480px){.grouped-container{padding:16px 16px 100px}.card-group{margin-bottom:50px}.wallet-card{height:180px;padding:12px}.card-name{font-size:16px}.brand-logo{width:40px;height:40px;font-size:20px}.chip-icon{font-size:24px}.card-number{padding:6px 10px;font-size:10px}.group-header{margin-bottom:16px;padding:10px 14px}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container{will-change:transform;background:#fff;border-radius:28px;flex-direction:column;width:90%;max-width:380px;max-height:85vh;animation:.3s slideUp;display:flex;position:relative;overflow:hidden}.modal-container[style*=transform]{animation:none}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.swipe-indicator{cursor:grab;background:#fff;justify-content:center;padding:12px 0 4px;display:flex}.swipe-indicator:active{cursor:grabbing}.swipe-bar{background:#ddd;border-radius:2px;width:40px;height:4px}.modal-header{padding:24px 20px 20px;position:relative}.modal-close{color:#fff;cursor:pointer;z-index:10;background:#0000004d;border:none;border-radius:16px;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex;position:absolute;top:16px;right:16px}.modal-logo{flex-direction:column;align-items:center;gap:12px;display:flex}.modal-logo-icon{color:#fff;border-radius:32px;justify-content:center;align-items:center;width:64px;height:64px;font-size:32px;font-weight:700;display:flex}.modal-logo h2{color:#fff;margin:0;font-size:24px}.modal-content{-webkit-overflow-scrolling:touch;flex:1;padding:24px;overflow-y:auto}.barcode-large{cursor:pointer;background:#fff;border-radius:16px;flex-direction:column;align-items:center;margin-bottom:24px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex;overflow-x:auto;box-shadow:0 4px 12px #0000001a}.barcode-large:active{transform:scale(.98)}.barcode-large canvas{max-width:100%;height:auto}.tap-to-expand-hint{color:#999;text-align:center;margin-top:8px;font-size:11px}.card-details{margin-bottom:24px}.detail-row{border-bottom:1px solid #eee;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.detail-label{color:#666;font-size:14px}.detail-value{color:#333;word-break:break-all;text-align:right;font-weight:500}.detail-value.highlight{color:#4f46e5;font-size:18px;font-weight:700}.website-link{color:#4f46e5;word-break:break-all;text-align:right;font-size:14px;text-decoration:none}.website-link:hover{text-decoration:underline}.action-button{color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-bottom:12px;padding:14px;font-size:16px;font-weight:600}.action-button.secondary{color:#333;background:#f0f0f0}.barcode-type-buttons{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:20px;display:flex}.type-btn{cursor:pointer;background:#f5f5f5;border:none;border-radius:40px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.type-btn .type-icon{font-size:16px}.type-btn .type-name{color:#666}.type-btn:hover{background:#e8e8e8;transform:translateY(-1px)}.type-btn.active{background:#4f46e5}.type-btn.active .type-name{color:#fff}.barcode-placeholder{text-align:center;padding:30px 20px}.placeholder-icon{opacity:.7;margin-bottom:16px;font-size:64px}.placeholder-text{color:#666;margin-bottom:8px;font-size:16px;font-weight:600}.placeholder-hint{color:#999;font-size:12px}.barcode-large.invalid{cursor:default;background:#f8f8f8;justify-content:center;align-items:center;min-height:180px;display:flex}.barcode-large.invalid .tap-to-expand-hint{display:none}.qr-container{justify-content:center;align-items:center;padding:10px;display:flex}.fullscreen-barcode{z-index:2000;cursor:pointer;background:#fff;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fullscreen-content{flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:20px;display:flex;position:relative}.fullscreen-close{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#333;cursor:pointer;z-index:10;background:#0000001a;border:none;border-radius:22px;width:44px;height:44px;font-size:24px;position:absolute;top:20px;right:20px}.fullscreen-barcode-wrapper{cursor:pointer;justify-content:center;align-items:center;width:auto;height:70vh;display:flex}.barcode-fullscreen{transform-origin:50%;background:#fff;border-radius:20px;justify-content:center;align-items:center;width:auto;height:100%;padding:20px;display:flex;transform:rotate(90deg)}.barcode-fullscreen canvas{max-height:100%;width:auto!important;height:100%!important}.fullscreen-number{letter-spacing:2px;color:#333;text-align:center;word-break:break-all;background:#0000000d;border-radius:40px;max-width:80%;margin-top:20px;padding:10px 20px;font-family:Courier New,monospace;font-size:18px}.fullscreen-hint{text-align:center;color:#999;font-size:12px;position:absolute;bottom:20px;left:0;right:0}@media (width<=480px){.modal-container{width:95%;max-height:90vh}.modal-content{padding:20px}.modal-logo-icon{width:50px;height:50px;font-size:24px}.modal-logo h2{font-size:20px}.barcode-large{padding:12px}.detail-label,.detail-value{font-size:13px}.action-button{padding:12px;font-size:14px}.type-btn{padding:8px 14px;font-size:12px}.type-btn .type-icon{font-size:14px}.barcode-type-buttons{gap:8px;margin-top:16px}.fullscreen-close{width:40px;height:40px;font-size:20px;top:16px;right:16px}.fullscreen-barcode-wrapper{height:60vh}.barcode-fullscreen{padding:15px}.fullscreen-number{margin-top:15px;font-size:14px}.fullscreen-hint{font-size:11px;bottom:16px}}@media (height<=600px){.modal-container{max-height:95vh}.modal-content{padding:12px}.barcode-large{margin-bottom:12px;padding:10px}.card-details{margin-bottom:12px}.modal-header{padding:16px 16px 12px}.fullscreen-barcode-wrapper{height:50vh}}.dev-banner{color:#fff;z-index:1000;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);transition:all .3s;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 10px #0003}.dev-banner.minimized{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000c}.banner-content{justify-content:space-between;align-items:center;gap:12px;max-width:600px;margin:0 auto;padding:8px 16px;display:flex}.banner-icon{font-size:20px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.banner-text{flex-direction:column;flex:1;gap:2px;display:flex}.banner-text strong{font-size:14px;font-weight:600}.banner-text span{opacity:.9;font-size:11px}.banner-actions{gap:8px;display:flex}.banner-minimize,.banner-close{color:#fff;cursor:pointer;background:#fff3;border:none;border-radius:14px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;transition:background .2s;display:flex}.banner-minimize:hover,.banner-close:hover{background:#ffffff4d}.banner-minimize:active,.banner-close:active{transform:scale(.95)}.dev-banner.minimized .banner-text{display:none}.dev-banner.minimized .banner-icon{font-size:16px}.dev-banner.minimized .banner-content{padding:4px 16px}@media (width<=480px){.banner-text strong{font-size:12px}.banner-text span{font-size:10px}}.real-status-bar{color:#fff;background:0 0;justify-content:space-between;padding:12px 20px 4px;font-size:14px;font-weight:500;display:flex}.status-time{font-weight:600}.status-placeholder{width:20px}*{box-sizing:border-box;margin:0;padding:0}body{background:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,sans-serif}.app{min-height:100vh;padding-top:48px}.status-bar{color:#fff;justify-content:space-between;padding:12px 20px 4px;font-size:14px;font-weight:500;display:flex}.header{text-align:center;padding:20px 20px 10px}.header h1{color:#fff;letter-spacing:-.5px;background:linear-gradient(135deg,#fff,#a5b4fc);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:34px;font-weight:700}.subtitle{color:#fff9;margin-top:8px;font-size:14px}.add-card-button{z-index:100;justify-content:center;display:flex;position:fixed;bottom:24px;left:0;right:0}.plus-button{color:#4f46e5;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:none;border-radius:40px;padding:14px 28px;font-size:16px;font-weight:600;transition:transform .2s;box-shadow:0 4px 15px #0003}.plus-button:active{transform:scale(.96)}@media (width<=480px){.app{padding-top:44px}.header h1{font-size:28px}.subtitle{font-size:12px}.plus-button{padding:12px 24px;font-size:14px}}
