.login-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(24px,env(safe-area-inset-top)) var(--page-gutter) max(24px,env(safe-area-inset-bottom));background:var(--bg-primary);position:relative;overflow:hidden}.login-bg-pattern{position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,rgba(255,107,53,.08) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(255,107,53,.06) 0%,transparent 50%);pointer-events:none}.login-loading{display:flex;align-items:center;justify-content:center}.loading-spinner{width:36px;height:36px;border:3px solid var(--border-card);border-top-color:var(--accent-fire);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login-content{display:flex;flex-direction:column;align-items:center;text-align:center;width:min(100%,360px);z-index:1;animation:fadeInUp .6s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--accent-fire-dim);border:1px solid rgba(255,107,53,.3);border-radius:20px;color:var(--accent-fire);font-size:12px;font-weight:700;letter-spacing:.15em;margin-bottom:clamp(24px,7vh,32px)}.login-title{font-size:clamp(32px,9vw,38px);font-weight:700;color:var(--text-primary);line-height:1.15;margin-bottom:16px;font-family:Space Grotesk,sans-serif}.title-accent{color:var(--accent-fire)}.login-subtitle{color:var(--text-secondary);font-size:16px;line-height:1.6;margin-bottom:clamp(34px,8vh,48px)}.google-btn{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:18px 32px;background:var(--text-primary);color:var(--bg-primary);border:none;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;transition:all .25s ease;font-family:Space Grotesk,sans-serif}.google-btn:hover{transform:translateY(-3px);box-shadow:0 12px 32px #fff3}.google-btn:active{transform:translateY(-1px)}.dev-login-btn{display:flex;align-items:center;justify-content:center;width:100%;margin-top:12px;padding:14px 24px;background:transparent;color:var(--text-secondary);border:1px solid var(--border-card);border-radius:14px;font-size:14px;font-weight:600;cursor:pointer;transition:all .25s ease;font-family:Space Grotesk,sans-serif}.dev-login-btn:hover{color:var(--text-primary);border-color:#ff6b3573;transform:translateY(-2px)}.dev-login-btn:active{transform:translateY(-1px)}.login-footer{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;padding:0 24px}@media (max-height: 680px){.login-screen{justify-content:flex-start}.login-content{padding-top:32px}.login-footer{position:static;margin-top:28px}}.login-footer p{color:var(--nav-inactive);font-size:12px}:root{--bg-primary: #09090B;--bg-elevated: #18181B;--bg-card: #18181B;--border-color: #27272A;--border-card: #3F3F46;--text-primary: #FAFAFA;--text-secondary: #A1A1AA;--primary-color: #FF6B35;--primary-dark: #E55A2B;--accent-fire: #FF6B35;--accent-fire-dim: rgba(255, 107, 53, .15);--status-done: #22C55E;--status-done-dim: rgba(34, 197, 94, .15);--status-pending: #F59E0B;--status-pending-dim: rgba(245, 158, 11, .15);--success-color: #22C55E;--nav-active: #FF6B35;--nav-inactive: #52525B;--page-gutter: clamp(14px, 4vw, 20px);--content-max-width: 520px;--bottom-nav-base-height: 72px;--bottom-nav-height: calc(var(--bottom-nav-base-height) + env(safe-area-inset-bottom));--radius-card: 16px;--radius-control: 12px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%;background:var(--bg-primary)}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);min-height:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-fire);outline-offset:3px}h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,sans-serif;font-weight:700;letter-spacing:-.02em}a{color:inherit;text-decoration:none}.page{min-height:100dvh;padding-bottom:calc(var(--bottom-nav-height) + 16px)}.page-content{width:min(100%,var(--content-max-width));margin:0 auto;padding:max(12px,env(safe-area-inset-top)) var(--page-gutter) 0}.route-loading{min-height:100dvh;padding:2rem;display:flex;align-items:center;justify-content:center;gap:16px;color:var(--text-secondary)}.private-note{width:100%;max-width:340px}.private-note-heading{align-items:center;display:flex;justify-content:space-between;gap:.75rem;margin-bottom:.45rem}.private-note-label{color:var(--text-primary);font-size:.82rem;font-weight:700}.private-note-count{color:var(--text-secondary);flex:0 0 auto;font-size:.72rem;font-weight:700}.private-note-count.is-over,.private-note-error{color:#ef4444}.private-note-input{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-control);color:var(--text-primary);line-height:1.45;min-height:92px;padding:.8rem .9rem;resize:vertical;width:100%}.private-note-input::placeholder{color:var(--nav-inactive)}.private-note-input:focus{border-color:var(--accent-fire);outline:none}.private-note-error,.private-note-status{font-size:.78rem;font-weight:700;line-height:1.3;margin:.45rem 0 0;text-align:left}.private-note-status{color:var(--status-done)}.private-note-save{background:var(--bg-card);border:1px solid var(--border-card);border-radius:var(--radius-control);color:var(--text-primary);cursor:pointer;font-size:.86rem;font-weight:700;min-height:42px;margin-top:.65rem;padding:0 .9rem;transition:background-color .2s ease,border-color .2s ease,transform .18s ease;width:100%}.private-note-save:active{transform:scale(.98)}.private-note-save:disabled{cursor:not-allowed;opacity:.55;transform:none}::selection{background:var(--accent-fire);color:var(--bg-primary)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-card);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--nav-inactive)}
