:root{--navy:#1f2a44;--navy-2:#2e3d63;--bg:#f4f5f7;--card-bg:#fff;--text:#1f2a44;--muted:#5f6368;--green:#0f7b3e;--red:#b3261e;--amber:#9a6700;--border:#dadce0}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:-apple-system,system-ui,Segoe UI,Roboto,sans-serif}header{background:var(--navy);color:#fff;z-index:2;justify-content:space-between;align-items:center;padding:14px 16px;display:flex;position:sticky;top:0}header h1{margin:0;font-size:1.1rem;font-weight:600}header button{color:#fff;background:0 0;border:1px solid #fff6;border-radius:8px;padding:6px 12px;font-size:.9rem}main{max-width:480px;margin:0 auto;padding:16px}section#settings,.create{background:var(--card-bg);border-radius:14px;margin-bottom:16px;padding:16px;box-shadow:0 1px 4px #1f2a4414}section h2{margin:0 0 12px;font-size:1rem}label{color:var(--muted);margin:10px 0 4px;font-size:.82rem;display:block}label.check{color:var(--text);align-items:center;gap:8px;margin-top:14px;font-size:.88rem;display:flex}label.check input{width:auto}input{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:10px;padding:11px 12px;font-size:1rem}button.primary{background:var(--navy);color:#fff;border:none;border-radius:10px;width:100%;margin-top:14px;padding:13px;font-size:1rem;font-weight:600}button:disabled{opacity:.5}.error{color:var(--red);white-space:pre-wrap;margin-top:10px;font-size:.88rem}.notice{color:var(--muted);margin-top:8px;font-size:.85rem}.center{text-align:center}.create>summary{cursor:pointer;font-weight:600;list-style:none}.create>summary::-webkit-details-marker{display:none}.wallet{background:var(--card-bg);border-radius:18px;margin-bottom:18px;padding:14px;box-shadow:0 2px 8px #1f2a441a}.wallet.new{outline:3px solid #7fa3e8}.face{background:linear-gradient(120deg, var(--navy) 0%, var(--navy-2) 55%, #3c4f7d 100%);color:#fff;aspect-ratio:1.586;border-radius:14px;flex-direction:column;padding:16px 20px;transition:background .6s;display:flex;position:relative;overflow:hidden}.face.inactive{filter:grayscale(.7);opacity:.75}.face.used{background:linear-gradient(120deg,#0d5c30 0%,#0f7b3e 55%,#27995a 100%)}.face-top{justify-content:space-between;align-items:center;display:flex}.org{letter-spacing:.12em;opacity:.75;font-size:.66rem}.emv{background:linear-gradient(135deg,#e6c468,#c9a23f);border-radius:6px;width:42px;height:31px;margin-top:14px;box-shadow:inset 0 0 0 1.5px #00000040,inset 0 7px 0 -5px #00000040,inset 0 -7px 0 -5px #00000040}.face .number{letter-spacing:.14em;text-shadow:0 1px 1px #0006;margin-top:12px;font-family:SF Mono,ui-monospace,Menlo,monospace;font-size:1.15rem}.face-bottom{justify-content:space-between;align-items:flex-end;gap:10px;margin-top:auto;display:flex}.face-bottom .lbl{letter-spacing:.1em;opacity:.6;font-size:.56rem}.face-bottom .name{font-size:.98rem;font-weight:600}.used-stamp{letter-spacing:.12em;color:#fff;background:#00000026;border:3px solid #ffffffd9;border-radius:8px;padding:4px 10px;font-weight:800;position:absolute;top:42%;right:14px;transform:rotate(-12deg)}.chip{text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:.68rem;font-weight:700}.chip.active{color:var(--green);background:#e0f2e9f2}.chip.used{color:var(--green);background:#fff}.chip.revoked{color:var(--red);background:#fbe9e7f2}.chip.expired{color:var(--amber);background:#fdf3d7f2}.wallet-buttons{flex-direction:column;gap:10px;margin-top:14px;display:flex}.btn{border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:1.02rem;font-weight:600;text-decoration:none;display:flex}.btn.apple{color:#fff;background:#000}.btn.google{color:#1f1f1f;border:1.5px solid var(--border);background:#fff}.btn.google .g{background:conic-gradient(from -45deg,#ea4335 110deg,#4285f4 90deg 180deg,#34a853 180deg 270deg,#fbbc05 270deg) 73% 55%/150% 150% no-repeat;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:700}.small-actions{justify-content:center;gap:8px;margin-top:12px;display:flex}.small-actions button,.small-actions a{border:1px solid var(--border);color:var(--navy);background:#fff;border-radius:8px;padding:8px 12px;font-size:.8rem;text-decoration:none}.small-actions .danger{color:var(--red);border-color:#f0c9c6}.qr-holder{text-align:center;margin-top:14px}.qr-holder img{border:1px solid var(--border);background:#fff;border-radius:12px;padding:10px}.qr-holder .link{word-break:break-all;color:var(--muted);margin-top:8px;font-size:.75rem}.hidden{display:none}
