:root{--bg-dark: #0f172a;--card-bg: rgba(30, 41, 59, .7);--card-border: rgba(255, 255, 255, .125);--text-main: #f8fafc;--text-muted: #94a3b8;--primary: #8b5cf6;--primary-hover: #7c3aed;--secondary: #ec4899;--accent: #10b981;--font-sans: "Outfit", "Noto Sans JP", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-sans);min-height:100vh;display:flex;justify-content:center;align-items:center;overflow-x:hidden;position:relative}.bg-animation{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-1;overflow:hidden}.blob{position:absolute;filter:blur(80px);border-radius:50%;opacity:.6;animation:float 20s infinite alternate ease-in-out}.blob-1{width:400px;height:400px;background:var(--primary);top:-100px;left:-100px}.blob-2{width:500px;height:500px;background:var(--secondary);bottom:-200px;right:-100px;animation-delay:-5s}.blob-3{width:300px;height:300px;background:#3b82f6;top:40%;left:30%;animation-delay:-10s}@keyframes float{0%{transform:translate(0) scale(1)}to{transform:translate(100px,50px) scale(1.2)}}.app-container{width:100%;max-width:480px;padding:20px}.glass-card{background:var(--card-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:24px;padding:32px 24px;box-shadow:0 25px 50px -12px #00000080;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.glass-card:hover{transform:translateY(-5px)}.card-header{text-align:center;margin-bottom:30px}.logo{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.gradient-icon{font-size:28px;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.logo h1{font-size:26px;font-weight:700;letter-spacing:.5px}.subtitle{color:var(--text-muted);font-size:14px;font-weight:300}.tabs-container{display:flex;background:#0f172a99;border-radius:12px;padding:4px;margin-bottom:24px;position:relative}.tab-btn{flex:1;padding:12px 10px;border:none;background:transparent;color:var(--text-muted);font-family:inherit;font-size:14px;font-weight:500;cursor:pointer;transition:color .3s;z-index:1;display:flex;align-items:center;justify-content:center;gap:8px}.tab-btn.active{color:#fff}.tab-selector{position:absolute;top:4px;left:4px;height:calc(100% - 8px);width:calc(50% - 4px);background:linear-gradient(135deg,var(--primary),#3b82f6);border-radius:8px;transition:transform .3s cubic-bezier(.86,0,.07,1)}.tabs-container:has(>.tab-btn:nth-child(3).active) .tab-selector{transform:translate(100%);background:linear-gradient(135deg,#3b82f6,var(--accent))}.view-section{display:none}.view-section.active{display:block;animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.radio-switch{display:flex;position:relative;background:#0003;border-radius:12px;padding:4px;margin-bottom:24px}.radio-switch input[type=radio]{display:none}.radio-label{flex:1;text-align:center;padding:12px;z-index:1;cursor:pointer;color:var(--text-muted);font-weight:500;transition:color .3s}.radio-switch input:checked+.radio-label{color:#fff}.radio-slider{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background:#475569;border-radius:8px;transition:transform .3s ease}.radio-switch input:nth-of-type(2):checked~.radio-slider{transform:translate(100%)}.input-group{position:relative;margin-bottom:20px}.outline-input input{width:100%;padding:16px 16px 16px 44px;background:#ffffff08;border:1px solid var(--card-border);border-radius:12px;color:#fff;font-size:16px;transition:border-color .3s,background .3s;font-family:inherit}.outline-input input:focus{outline:none;border-color:var(--primary);background:#8b5cf60d}.outline-input label{position:absolute;left:44px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:.2s ease all;font-size:15px}.outline-input .input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--primary);opacity:.8}.input-group.outline-input input:focus~label,.input-group.outline-input input:not(:placeholder-shown)~label{top:0;transform:translateY(-50%) scale(.85);background:var(--bg-dark);padding:0 8px}.toggles-group{display:flex;flex-direction:column;gap:16px;margin-bottom:24px;padding:16px;background:#00000026;border-radius:12px}.toggle-wrapper{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.toggle-text{font-size:14px;color:var(--text-main);display:flex;align-items:center;gap:8px}.toggle-text i{color:#94a3b8}.toggle-switch{position:relative;width:44px;height:24px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#334155;transition:.4s;border-radius:24px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}.toggle-switch input:checked+.slider{background-color:var(--primary)}.toggle-switch input:checked+.slider:before{transform:translate(20px)}.radio-pill{display:inline-flex;cursor:pointer}.radio-pill input[type=radio]{display:none}.radio-pill span{padding:8px 16px;border-radius:20px;font-size:13px;font-weight:500;color:var(--text-muted);background:#ffffff0d;border:1px solid var(--card-border);transition:all .25s ease}.radio-pill input:checked+span{background:linear-gradient(135deg,var(--primary),#3b82f6);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px -4px #8b5cf666}.radio-pill:hover span{border-color:#8b5cf666}.glass-input-inline{background:#ffffff0d;border:1px solid var(--card-border);border-radius:10px;color:#fff;padding:8px 12px;font-family:inherit;font-size:14px;outline:none;transition:border-color .3s}.glass-input-inline:focus{border-color:var(--primary);background:#8b5cf60d}.glass-select{background:#ffffff0d;border:1px solid var(--card-border);color:#fff;padding:8px 12px;border-radius:8px;font-family:inherit;font-size:14px;outline:none;cursor:pointer}.glass-select option{background:var(--bg-dark);color:#fff}.action-btn{width:100%;padding:16px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:10px;transition:transform .2s,box-shadow .2s}.action-btn:hover{transform:translateY(-2px);box-shadow:0 10px 20px -10px var(--primary)}.action-btn:active{transform:translateY(0)}.action-btn.accent-green{background:linear-gradient(135deg,#10b981,#059669)}.action-btn.accent-green:hover{box-shadow:0 10px 20px -10px #10b981}.result-board{margin-top:24px;padding:24px;background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:16px;text-align:center;opacity:0;transform:scale(.95);transition:opacity .4s,transform .4s;display:none}.result-board.show{display:block;opacity:1;transform:scale(1);animation:popIn .5s cubic-bezier(.175,.885,.32,1.275)}.result-board.accent-board{background:#10b9811a;border:1px solid rgba(16,185,129,.2)}.result-title{font-size:14px;color:var(--text-muted);margin-bottom:8px}.result-amount{display:flex;justify-content:center;align-items:baseline;gap:4px;margin-bottom:8px}.currency{font-size:24px;font-weight:300;color:#cbd5e1}.value{font-size:40px;font-weight:700;letter-spacing:-1px;text-shadow:0 0 20px rgba(255,255,255,.3)}.note{font-size:12px;color:#64748b}@keyframes popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.gps-status{display:flex;align-items:center;gap:8px;padding:10px 16px;border-radius:10px;font-size:13px;margin-bottom:16px;cursor:pointer;transition:all .3s ease;border:1px solid transparent}.gps-status:hover{transform:translateY(-1px)}.gps-status span{flex:1}.gps-unknown,.gps-prompt{background:#64748b26;border-color:#64748b4d;color:#94a3b8}.gps-acquiring{background:#4facfe1a;border-color:#4facfe4d;color:#4facfe}.gps-acquired,.gps-granted{background:#4ade801a;border-color:#4ade804d;color:#4ade80}.gps-denied{background:#f871711a;border-color:#f871714d;color:#f87171}.gps-failed{background:#fbbf241a;border-color:#fbbf244d;color:#fbbf24}.payment-section{margin-top:20px;padding:20px;background:#4facfe0f;border:1px solid rgba(79,172,254,.2);border-radius:16px;animation:fadeInUp .4s ease}.payment-header{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:#4facfe;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.08)}.payment-header i{font-size:18px}#payment-element{margin-bottom:16px;min-height:40px}.payment-message{padding:12px 16px;border-radius:10px;font-size:14px;text-align:center;margin-bottom:12px;line-height:1.5}.payment-message.success{background:#4ade801a;border:1px solid rgba(74,222,128,.3);color:#4ade80}.payment-message.error{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171}.stripe-btn{background:linear-gradient(135deg,#4facfe,#635bff);margin-top:8px}.stripe-btn:hover{box-shadow:0 10px 20px -10px #635bff}.stripe-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.stripe-btn i{font-size:20px}.payment-description{font-size:13px;color:#94a3b8;line-height:1.6;margin-bottom:16px}.sms-link-display{background:#00000040;border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:12px 16px;margin-bottom:12px;word-break:break-all}.sms-link-label{font-size:12px;color:#94a3b8;margin-bottom:6px;display:flex;align-items:center;gap:6px}.sms-link-display a{color:#4facfe;font-size:13px;text-decoration:none}.sms-link-display a:hover{text-decoration:underline}.sms-actions{display:flex;gap:8px;margin-top:12px}.sms-action-btn{flex:1;padding:12px 8px;border:1px solid rgba(255,255,255,.15);border-radius:10px;background:#ffffff0d;color:#fff;font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all .2s ease}.sms-action-btn:hover{background:#ffffff1a;transform:translateY(-1px)}.sms-action-btn i{font-size:18px}.sms-btn{border-color:#4ade804d;color:#4ade80}.sms-btn:hover{background:#4ade801a}.copy-btn{border-color:#4facfe4d;color:#4facfe}.copy-btn:hover{background:#4facfe1a}.share-btn{border-color:#a855f74d;color:#a855f7}.share-btn:hover{background:#a855f71a}.payment-status{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:12px;font-size:14px;font-weight:500;margin-top:16px;transition:all .4s ease}.payment-status.waiting{background:#4facfe1a;border:1px solid rgba(79,172,254,.3);color:#4facfe}.payment-status.completed{background:#4ade8026;border:1px solid rgba(74,222,128,.4);color:#4ade80;font-size:16px;font-weight:600;animation:pulseGlow 1.5s ease-in-out 3}.payment-status.expired{background:#64748b1a;border:1px solid rgba(100,116,139,.3);color:#94a3b8}@keyframes pulseGlow{0%,to{box-shadow:0 0 #4ade8000}50%{box-shadow:0 0 20px 4px #4ade804d}}.gps-status{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:10px;font-size:13px;cursor:pointer;transition:all .3s ease;margin-bottom:12px}.gps-unknown{background:#94a3b81a;border:1px solid rgba(148,163,184,.2);color:#94a3b8}.gps-prompt{background:#4facfe1a;border:1px solid rgba(79,172,254,.3);color:#4facfe}.gps-acquiring{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:#fbbf24}.gps-acquired,.gps-granted{background:#4ade801a;border:1px solid rgba(74,222,128,.3);color:#4ade80}.gps-denied{background:#f871711a;border:1px solid rgba(248,113,113,.3);color:#f87171}.gps-failed{background:#fbbf241a;border:1px solid rgba(251,191,36,.3);color:#fbbf24}
