.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.5);display:none;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity 0.2s}.auth-modal-overlay.show{display:flex;opacity:1}.auth-modal{background:white;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,0.15);padding:16px 20px;width:90%;max-width:320px;transform:scale(0.95);transition:transform 0.2s;will-change:transform}.auth-modal-overlay.show .auth-modal{transform:scale(1)}.auth-modal-overlay.show.auth-submitting .auth-modal{transform:scale(1)!important}.auth-tabs{display:flex;gap:0;border-bottom:1px solid #e8eaed;margin-bottom:14px}.auth-tab{flex:1;padding:8px 0;background:transparent;border:none;font-size:14px;font-weight:500;color:#70757a;cursor:pointer;position:relative;transition:color 0.2s;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif}.auth-tab.active{color:#1a73e8}.auth-tab::after{content:"";position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:0;height:2px;background:#1a73e8;transition:width 0.2s}.auth-tab.active::after{width:60%}.auth-form{--auth-gap: 12px;display:flex;flex-direction:column}.auth-form>*{margin-bottom:var(--auth-gap)}.auth-form>*:last-child{margin-bottom:0}.auth-input-group{display:flex;flex-direction:column;gap:4px}.auth-input-label{display:flex;align-items:center;gap:4px;font-size:12px;color:#70757a;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif}.auth-input-label .material-icons{font-size:14px;color:#5f6368}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input{width:100%;height:38px;padding:0 12px;border:1px solid #e8eaed;border-radius:8px;font-size:14px;color:#202124;background:#fff;transition:border-color 0.2s,box-shadow 0.2s;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif}.auth-input:focus{outline:none;border-color:#1a73e8;box-shadow:0 0 0 2px rgba(26,115,232,0.1)}.auth-input::placeholder{color:#9aa0a6}.auth-code-row{display:flex;gap:8px;align-items:flex-end}.auth-code-row .auth-input-group{flex:1}.auth-send-code-btn{height:38px;padding:0 12px;background:#1a73e8;color:white;border:none;border-radius:8px;font-size:12px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background 0.2s;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif}.auth-send-code-btn:disabled{background:#9aa0a6;cursor:not-allowed}.auth-input-pw{padding-right:38px}.auth-pw-toggle{position:absolute;right:4px;width:30px;height:30px;padding:0;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#9aa0a6;transition:color 0.2s,background 0.2s}.auth-pw-toggle .material-icons{font-size:18px}.auth-pw-toggle:active{transform:scale(0.94)}.auth-collapse{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows 0.22s ease,margin-bottom 0.22s ease,visibility 0s linear 0.22s}.auth-form>.auth-collapse{margin-bottom:0}.auth-collapse>*{overflow:hidden;padding:3px;margin:-3px}.auth-modal[data-mode=register] .auth-collapse{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows 0.22s ease,margin-bottom 0.22s ease,visibility 0s}.auth-modal[data-mode=register] .auth-form>.auth-collapse{margin-bottom:var(--auth-gap)}.auth-submit-btn{width:100%;height:42px;margin-top:8px;background:#1a73e8;color:white;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background 0.2s;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Helvetica Neue",Arial,sans-serif;outline:none;box-shadow:none}.auth-submit-btn:focus{outline:none;box-shadow:none}.auth-submit-btn:disabled{cursor:not-allowed}.auth-btn-text{display:inline-block}.auth-submit-btn.loading{pointer-events:none}.auth-global-status{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:10001;pointer-events:none;opacity:0;transition:opacity 0.15s}.auth-global-status.show{opacity:1}.auth-global-spinner{width:64px;height:64px;border:4px solid rgba(200,200,200,0.3);border-top-color:#1a73e8;border-radius:50%;animation:auth-spin 0.8s linear infinite}@keyframes auth-spin{to{transform:rotate(360deg)}}.auth-global-icon{width:64px;height:64px}.auth-global-icon svg{width:100%;height:100%}.auth-global-icon.success svg circle{stroke:#34a853;stroke-dasharray:166;stroke-dashoffset:166;animation:auth-circle-draw 0.4s ease-out forwards}.auth-global-icon.success svg path{stroke:#34a853;stroke-dasharray:50;stroke-dashoffset:50;animation:auth-check-draw 0.3s ease-out 0.25s forwards}.auth-global-icon.error svg circle{stroke:#ea4335;stroke-dasharray:166;stroke-dashoffset:166;animation:auth-circle-draw 0.4s ease-out forwards}.auth-global-icon.error svg path{stroke:#ea4335;stroke-dasharray:50;stroke-dashoffset:50;animation:auth-check-draw 0.3s ease-out 0.25s forwards}@keyframes auth-circle-draw{to{stroke-dashoffset:0}}@keyframes auth-check-draw{to{stroke-dashoffset:0}}.login-btn.logged-in{background:#1a73e8;border-color:#1a73e8;color:white}@media(max-width:480px){.auth-modal{width:95%;padding:14px 16px}}@media(hover:hover){.auth-tab:hover{color:#202124}.auth-send-code-btn:hover:not(:disabled){background:#1765cc}.auth-pw-toggle:hover{color:#1a73e8;background:#f1f3f4}.auth-submit-btn:hover:not(:disabled):not(.loading){background:#1765cc}.login-btn.logged-in:hover{background:#1765cc;border-color:#1765cc}}.auth-notice{margin-top:14px;padding:10px 12px;border-radius:8px;background:#e8f0fe;color:#1a73e8;font-size:13px;line-height:1.5;text-align:center}.auth-notice[hidden]{display:none}.auth-notice.is-error{background:#fce8e6;color:#c5221f}
