.bottom-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.2rem;pointer-events:none}.bottom-bar>*{pointer-events:auto}.bottom-bar-logo{height:20px;width:auto;object-fit:contain}.bottom-bar-btn{background:#0000004d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:#fff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0}.bottom-bar-btn .material-icons{font-size:20px}.bottom-bar-menu-wrapper{position:relative}.bottom-bar-dropdown{position:absolute;bottom:calc(100% + 6px);right:0;background:var(--color-surface);border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);padding:.25rem;min-width:120px;box-shadow:var(--shadow-md);animation:fadeIn .15s ease}.bottom-bar-dropdown button{display:block;width:100%;background:none;border:none;color:var(--color-text);padding:.5rem .75rem;text-align:left;font-size:.9rem;border-radius:var(--radius-sm);cursor:pointer}.bottom-bar-dropdown button:active{background:#ffffff1a}@media(hover:hover){.bottom-bar-dropdown button:hover{background:#ffffff1a}}.info-modal-backdrop{position:fixed;inset:0;z-index:200;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease}.info-modal{background:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:1.5rem;max-width:420px;width:100%;max-height:80vh;overflow-y:auto;color:var(--color-text)}.info-modal h2{font-size:1.3rem;margin-bottom:.75rem;color:var(--color-primary)}.info-modal h3{font-size:1.05rem;margin-top:1rem;margin-bottom:.5rem}.info-modal p{font-size:.9rem;color:var(--color-text-muted);margin-bottom:.5rem;line-height:1.6}.info-modal ul{padding-left:1.25rem;margin-bottom:1rem}.info-modal li{font-size:.85rem;color:var(--color-text-muted);margin-bottom:.4rem;line-height:1.5}.info-modal-close{display:block;margin:1rem auto 0;background:var(--color-primary);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:var(--radius-full);cursor:pointer;font-size:.9rem;font-weight:500}@media(hover:hover){.info-modal-close:hover{background:var(--color-primary-hover)}}.qr-copy-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:.75rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--color-text);padding:.45rem 1rem;border-radius:var(--radius-full);cursor:pointer;font-size:.85rem;transition:background .15s}@media(hover:hover){.qr-copy-btn:hover{background:#fff3}}:root{--color-bg: #0f172a;--color-surface: #1e293b;--color-primary: #8b5cf6;--color-primary-hover: #7c3aed;--color-secondary: #ec4899;--color-text: #f1f5f9;--color-text-muted: #94a3b8;--color-error: #ef4444;--color-success: #22c55e;--color-accent: #f59e0b;--color-text-secondary: #cbd5e1;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-glow: 0 0 20px -5px var(--color-primary);--bottom-bar-height: 52px;font-family:system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{background-color:var(--color-bg);color:var(--color-text);height:100dvh;min-width:320px;margin:0;overflow-x:hidden}@supports not (height: 100dvh){body{height:100vh}}#root{width:100%;display:flex;flex-direction:column}button{border-radius:var(--radius-md);border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:600;font-family:inherit;background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:all .25s}@media(hover:hover){button:hover{filter:brightness(1.1)}}button:active{transform:scale(.98)}a:active{opacity:.7}button.primary{background-color:var(--color-primary)}button.secondary{background-color:transparent;border:1px solid rgba(255,255,255,.2);color:var(--color-text-muted)}button.icon-btn{padding:.5em;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;border:none;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}input,select,textarea{background-color:var(--color-surface);border:1px solid rgba(255,255,255,.1);color:var(--color-text);padding:.8rem;border-radius:var(--radius-sm);font-size:1rem;width:100%}input:focus,select:focus{outline:2px solid var(--color-primary);border-color:transparent}h1,h2,h3{line-height:1.1;margin-bottom:.5rem}a{color:var(--color-primary);text-decoration:none;transition:color .2s}@media(hover:hover){a:hover{text-decoration:underline}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease-out forwards}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.layout-root{position:relative;min-height:100dvh;width:100%}@supports not (min-height: 100dvh){.layout-root{min-height:100vh}}.layout-main{width:100%;height:100%}.container{width:100%;max-width:480px;margin:0 auto;padding:2rem 1rem;display:flex;flex-direction:column;justify-content:center}.card{background:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:2.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.card h2{margin-top:0;font-size:2rem;text-align:center;margin-bottom:2rem;background:linear-gradient(to right,var(--color-primary),var(--color-secondary));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.btn{display:block;width:100%;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:600;text-align:center;cursor:pointer;transition:all .2s;border:none;font-size:1rem;margin-top:1rem}.btn.primary:disabled{opacity:.7;cursor:not-allowed}.input-group{margin-bottom:1.5rem}.input-group label{display:block;margin-bottom:.5rem;color:var(--color-text-muted);font-size:.875rem}.auth-alt-methods{margin-top:1.5rem}.auth-links{margin-top:1.5rem;text-align:center;font-size:.875rem;color:var(--color-text-muted)}.auth-links a{color:var(--color-primary);text-decoration:none}@media(hover:hover){.auth-links a:hover{text-decoration:underline}}.alert{padding:1rem;background:#ef444433;border:1px solid rgba(239,68,68,.2);color:var(--color-error);border-radius:.5rem;margin-bottom:1.5rem;text-align:center}
