@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary-color: #ff8e8b;--secondary-color: #f7b733;--background-start: #ffe5e5;--background-end: #fff0d1;--text-dark: #333333;--text-light: #777777;--white: #ffffff;--danger: #ff4757;--glass-bg: rgba(255, 255, 255, .75);--glass-border: rgba(255, 255, 255, .3);--glass-shadow: 0 8px 32px 0 rgba(255, 142, 139, .15);--border-radius-lg: 24px;--border-radius-md: 16px;--border-radius-sm: 8px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px}.dark-theme{--primary-color: #ff9a9a;--secondary-color: #ffd166;--background-start: #1a1a2e;--background-end: #16213e;--text-dark: #f0f0f0;--text-light: #b0b0b0;--white: #2d2f41;--glass-bg: rgba(30, 32, 50, .75);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .4)}*{box-sizing:border-box;margin:0;padding:0;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-user-select:none;user-select:none}body{background:linear-gradient(135deg,var(--background-start),var(--background-end));background-attachment:fixed;color:var(--text-dark);min-height:100vh;min-height:-webkit-fill-available;overflow-x:hidden;-webkit-tap-highlight-color:transparent}#root{display:flex;flex-direction:column;min-height:100vh;margin:0 auto;max-width:480px;background:var(--glass-bg);box-shadow:0 0 40px #00000026;position:relative;overflow-x:hidden;transition:background .3s ease,color .3s ease}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--border-radius-lg)}.glass-card{background:var(--white);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);transition:transform .2s ease,box-shadow .2s ease,background .3s ease,border-color .3s ease}h1,h2,h3,h4{font-weight:700;color:var(--text-dark)}p{color:var(--text-light);line-height:1.5}.btn-primary{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border:none;border-radius:var(--border-radius-lg);padding:14px 24px;font-size:1rem;font-weight:600;cursor:pointer;box-shadow:0 6px 20px #ff8e8b4d;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),box-shadow .2s ease}.btn-primary:active{transform:scale(.95);box-shadow:0 2px 10px #ff8e8b33}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scroll-container{overflow-y:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}::-webkit-scrollbar{width:0;height:0;background:transparent}.theme-toggle-btn{position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:none;background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 12px #0000001a;font-size:1.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);-webkit-tap-highlight-color:transparent}.theme-toggle-btn:active{transform:scale(.9)}.navbar{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;border-radius:24px 24px 0 0;display:flex;justify-content:space-around;padding:12px 0 24px;z-index:100;box-shadow:0 -4px 20px #0000000d;border-bottom:none}.nav-item{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-light);cursor:pointer;width:80px;transition:all .2s ease}.nav-icon{font-size:1.5rem;transition:transform .2s ease}.nav-item span{font-size:.8rem;font-weight:500}.nav-item.active{color:var(--primary-color)}.nav-item.active .nav-icon{transform:translateY(-4px);filter:drop-shadow(0 2px 4px rgba(255,142,139,.4))}.celebration-overlay{position:fixed;inset:0;background:#0000006b;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:2600;animation:fadeIn .2s ease}.celebration-modal{width:min(100%,360px);padding:28px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;background:linear-gradient(155deg,#ffffffe0,#fff0d1eb);animation:celebrationPop .35s cubic-bezier(.175,.885,.32,1.275)}.dark-theme .celebration-modal{background:linear-gradient(155deg,#262a3bf5,#181c2af5)}.celebration-badge{width:86px;height:86px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.8rem;background:linear-gradient(135deg,#ff8e8b2e,#f7b73342);box-shadow:0 10px 30px #ff8e8b33}.celebration-title{font-size:1.45rem;line-height:1.35}.celebration-text{font-size:1rem;line-height:1.6;color:var(--text-light)}.celebration-button{width:100%;margin-top:6px}@keyframes celebrationPop{0%{opacity:0;transform:translateY(20px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}.settings-overlay{position:fixed;inset:0;z-index:2500;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));background:#0000006b;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeIn .2s ease;-webkit-overflow-scrolling:touch}.settings-modal{width:min(100%,380px);max-height:calc(100dvh - 40px);margin:auto 0;padding:22px;display:flex;flex-direction:column;gap:18px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:linear-gradient(145deg,var(--background-start) 0%,var(--background-end) 100%);animation:slideUp .25s ease}.settings-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.settings-close{width:40px;height:40px;flex-shrink:0;border:1px solid var(--glass-border);border-radius:999px;background:#ffffff9e;color:var(--text-dark);font-size:1.7rem;line-height:1;cursor:pointer}.settings-section{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--glass-border);border-radius:20px;background:#ffffff6b}.dark-theme .settings-section{background:#ffffff0d}.settings-section-copy h3{margin-bottom:4px;font-size:1rem}.settings-section-copy p{font-size:.9rem}.settings-action-btn,.settings-secondary-btn,.settings-reminder-add-btn,.settings-reminder-icon-btn,.settings-period-btn,.settings-time-cancel-btn,.settings-time-apply-btn{font-family:inherit}.settings-action-btn{width:100%;padding:12px 14px;border:1px solid var(--glass-border);border-radius:18px;background:#ffffffc7;color:var(--text-dark);font-size:.95rem;font-weight:700;cursor:pointer}.settings-action-btn:disabled,.settings-secondary-btn:disabled,.settings-time-cancel-btn:disabled,.settings-time-apply-btn:disabled,.settings-reminder-add-btn:disabled,.settings-reminder-icon-btn:disabled{opacity:.65;cursor:wait}.settings-action-btn.active{border-color:transparent;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 8px 20px #ff8e8b3d}.settings-secondary-btn{width:100%;padding:10px 14px;border:1px solid var(--glass-border);border-radius:18px;background:#ffffff8f;color:var(--text-dark);font-size:.9rem;font-weight:700;cursor:pointer}.settings-button-stack{display:flex;flex-direction:column;gap:10px}.settings-reminder-toolbar{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px}.settings-inline-btn{padding:12px 10px;font-size:.9rem}.settings-reminder-add-btn{width:100%;padding:12px 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,142,139,.26);border-radius:18px;background:#ffffffb3;color:var(--text-dark);font-size:.92rem;font-weight:700;cursor:pointer}.settings-reminder-add-btn svg,.settings-reminder-icon-btn svg{width:18px;height:18px;flex-shrink:0}.settings-reminder-list{display:flex;flex-direction:column;gap:10px}.settings-reminder-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.settings-reminder-item-actions{display:flex;align-items:center;gap:8px}.settings-reminder-icon-btn{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,142,139,.18);border-radius:16px;background:#ffffffb8;color:var(--text-light);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.settings-reminder-icon-btn.danger{color:#d16a74}.settings-reminder-add-btn:hover,.settings-reminder-icon-btn:hover,.settings-time-shell:hover,.settings-time-shell.active{transform:translateY(-1px)}.settings-reminder-add-btn:hover,.settings-time-shell:hover,.settings-time-shell.active{border-color:#ff8e8b94;box-shadow:0 10px 22px #ff8e8b29}.settings-reminder-icon-btn:hover{border-color:#ff8e8b57}.settings-time-shell{width:100%;min-width:0;padding:12px 14px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgba(255,142,139,.26);border-radius:18px;background:radial-gradient(circle at top left,rgba(255,255,255,.82),transparent 58%),linear-gradient(135deg,#fff4eceb,#ffe8d7e6);color:var(--text-dark);cursor:pointer;box-shadow:inset 0 1px #ffffff59;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.settings-reminder-order{padding:7px 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffffb8;color:var(--text-light);font-size:.76rem;font-weight:800;white-space:nowrap}.settings-time-text{min-width:0;font-size:.98rem;font-weight:800;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-time-chevron{width:30px;height:30px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffffb8;color:var(--text-light);transition:transform .18s ease,background-color .18s ease}.settings-time-chevron svg{width:16px;height:16px}.settings-time-chevron.open{transform:rotate(180deg)}.settings-reminder-empty{padding:14px 16px;border:1px dashed rgba(255,142,139,.24);border-radius:18px;background:#ffffff75;color:var(--text-light);font-size:.88rem;line-height:1.55}.settings-time-popover{margin-top:2px;padding:16px;border:1px solid rgba(255,142,139,.18);border-radius:22px;background:radial-gradient(circle at top left,rgba(255,255,255,.9),transparent 50%),linear-gradient(145deg,#fffaf7fa,#ffeee2f5);box-shadow:0 18px 38px #ff8e8b29;animation:fadeIn .18s ease}.settings-time-popover-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.settings-time-popover-header strong{display:block;margin-bottom:4px;font-size:.95rem}.settings-time-popover-header p{color:var(--text-light);font-size:.82rem;line-height:1.45}.settings-time-preview{flex-shrink:0;padding:8px 12px;border-radius:14px;background:#ffffffb8;color:var(--text-dark);font-size:.84rem;font-weight:800}.settings-period-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.settings-period-btn,.settings-time-cancel-btn,.settings-time-apply-btn{padding:11px 12px;border:0;border-radius:16px;font-size:.88rem;font-weight:800;cursor:pointer}.settings-period-btn{border:1px solid transparent;background:#ffffffb8;color:var(--text-dark)}.settings-period-btn.active{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 10px 18px #ff8e8b38}.settings-time-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.settings-time-field{display:flex;flex-direction:column;gap:6px}.settings-time-field span{color:var(--text-light);font-size:.8rem;font-weight:700}.settings-time-field select{width:100%;padding:12px 14px;border:1px solid rgba(255,142,139,.2);border-radius:16px;background:#ffffffd1;color:var(--text-dark);font-size:.94rem;font-weight:700;outline:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,rgba(90,95,109,.75) 50%),linear-gradient(135deg,rgba(90,95,109,.75) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}.settings-time-field select:focus{border-color:#ff8e8b8c;box-shadow:0 0 0 3px #ff8e8b26}.settings-time-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.settings-time-cancel-btn{border:1px solid rgba(255,142,139,.16);background:#ffffffb8;color:var(--text-dark)}.settings-time-apply-btn{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 12px 22px #ff8e8b38}.settings-note{color:var(--text-light);font-size:.82rem;line-height:1.5}.settings-account-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--glass-border);border-radius:18px;background:#ffffff9e}.settings-account-copy{display:flex;flex-direction:column;gap:4px}.settings-account-copy strong{font-size:.95rem}.settings-account-copy span{color:var(--text-light);font-size:.84rem}.settings-guest-state{padding:11px 13px;border-radius:16px;background:#ffffff80}.dark-theme .settings-close,.dark-theme .settings-action-btn:not(.active),.dark-theme .settings-secondary-btn,.dark-theme .settings-reminder-add-btn,.dark-theme .settings-reminder-icon-btn,.dark-theme .settings-account-card,.dark-theme .settings-reminder-empty{background:#ffffff14}.dark-theme .settings-time-shell{border-color:#ffffff17;background:radial-gradient(circle at top left,rgba(255,255,255,.06),transparent 55%),linear-gradient(145deg,#242832f5,#191c23fa);box-shadow:inset 0 1px #ffffff08}.dark-theme .settings-reminder-order,.dark-theme .settings-time-chevron,.dark-theme .settings-time-preview,.dark-theme .settings-period-btn,.dark-theme .settings-time-field select,.dark-theme .settings-time-cancel-btn{background:#ffffff14;color:var(--text-dark)}.dark-theme .settings-time-popover{border-color:#ffffff14;background:radial-gradient(circle at top left,rgba(255,255,255,.08),transparent 48%),linear-gradient(145deg,#1e222bf5,#171a21fa);box-shadow:0 18px 38px #00000057}.dark-theme .settings-action-btn.active,.dark-theme .settings-period-btn.active,.dark-theme .settings-time-apply-btn{border-color:transparent;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff}@media(max-width:480px){.settings-account-card,.settings-reminder-item,.settings-reminder-toolbar,.settings-time-select-grid,.settings-time-actions{grid-template-columns:1fr}.settings-account-card{align-items:stretch}.settings-reminder-item-actions{justify-content:flex-end}.settings-time-popover-header{flex-direction:column}}.auth-screen-overlay{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,rgba(247,183,51,.24),transparent 35%),linear-gradient(160deg,#fff5e8f5,#ffe5e5fa);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dark-theme .auth-screen-overlay{background:radial-gradient(circle at top,rgba(247,183,51,.12),transparent 30%),linear-gradient(160deg,#111626f5,#16213efa)}.auth-screen-panel{position:relative;width:min(100%,400px);padding:28px 24px 24px;display:flex;flex-direction:column;gap:18px;background:linear-gradient(150deg,#fffffff0,#fff6e7e0)}.dark-theme .auth-screen-panel{background:linear-gradient(150deg,#232a42f0,#191e2eeb)}.auth-screen-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:none;border-radius:50%;background:#ffffffb8;color:var(--text-dark);font-size:1.5rem;line-height:1;cursor:pointer}.dark-theme .auth-screen-close{background:#ffffff14}.auth-screen-copy{display:flex;flex-direction:column;gap:10px}.auth-screen-eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.18em;color:var(--primary-color)}.auth-screen-copy h1{font-size:2rem;line-height:1.08}.auth-screen-socials{display:flex;flex-direction:column;gap:10px;margin-top:2px}.auth-screen-social-btn{width:100%;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:18px;padding:14px 16px;font-size:.96rem;font-weight:700;cursor:pointer;transition:transform .18s ease,opacity .18s ease}.auth-screen-social-btn:active{transform:scale(.98)}.auth-screen-social-btn:disabled{opacity:.7;cursor:wait}.auth-screen-social-btn.google{background:#fff;color:#1f1f1f;border-color:#00000014}.auth-screen-social-icon{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.95rem;font-weight:800;margin-right:12px}.auth-screen-social-icon svg{width:18px;height:18px;display:block}.auth-screen-social-icon.google{background:#fff;border:1px solid rgba(0,0,0,.08)}.auth-screen-social-text{text-align:center}.auth-screen-form{display:flex;flex-direction:column;gap:10px}.auth-screen-mode-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px;border-radius:20px;background:#ffffff8a}.dark-theme .auth-screen-mode-tabs{background:#ffffff0f}.auth-screen-mode-btn{border:none;border-radius:16px;background:transparent;color:var(--text-light);padding:12px 14px;font-size:.95rem;font-weight:700;cursor:pointer}.auth-screen-mode-btn.active{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 8px 18px #ff8e8b33}.auth-screen-label{font-size:.9rem;font-weight:600;color:var(--text-dark)}.auth-screen-input{width:100%;border:1px solid rgba(255,142,139,.25);border-radius:18px;background:#ffffffe0;color:var(--text-dark);padding:14px 16px;font-size:1rem;font-family:inherit}.dark-theme .auth-screen-input{background:#ffffff14}.auth-screen-check{display:flex;align-items:flex-start;gap:10px;padding:10px 2px 0;font-size:.9rem;color:var(--text-dark);line-height:1.5}.auth-screen-check input{width:18px;height:18px;margin-top:2px;accent-color:var(--primary-color);flex-shrink:0}.auth-screen-submit:disabled,.auth-screen-guest-btn:disabled{opacity:.7;cursor:wait}.auth-screen-note,.auth-screen-feedback{padding:12px 14px;border-radius:16px;font-size:.88rem;line-height:1.5}.auth-screen-note{background:#ff8e8b1f;color:#b64c45}.auth-screen-feedback.success{background:#4fb67d1f;color:#1f7a47}.auth-screen-feedback.error{background:#ff8e8b24;color:#b64c45}.auth-screen-divider{display:flex;align-items:center;gap:12px;color:var(--text-light);font-size:.82rem}.auth-screen-divider-form{margin-top:2px}.auth-screen-divider:before,.auth-screen-divider:after{content:"";flex:1;height:1px;background:#00000014}.dark-theme .auth-screen-divider:before,.dark-theme .auth-screen-divider:after{background:#ffffff1f}.auth-screen-guest-btn{border:1px solid var(--glass-border);border-radius:18px;background:#ffffffa8;color:var(--text-dark);padding:14px 16px;font-size:.98rem;font-weight:700;cursor:pointer}.dark-theme .auth-screen-guest-btn{background:#ffffff14}.nickname-overlay{position:fixed;inset:0;z-index:3200;display:flex;align-items:center;justify-content:center;padding:24px;background:#080c186b;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nickname-modal{position:relative;width:min(100%,380px);padding:28px 24px 24px;display:flex;flex-direction:column;gap:18px;background:linear-gradient(150deg,#fffffff5,#fff6e7eb);animation:slideUp .25s ease}.dark-theme .nickname-modal{background:linear-gradient(150deg,#232a42f5,#191e2ef0)}.nickname-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:none;border-radius:50%;background:#ffffffb8;color:var(--text-dark);font-size:1.5rem;line-height:1;cursor:pointer}.dark-theme .nickname-close{background:#ffffff14}.nickname-copy{display:flex;flex-direction:column;gap:8px}.nickname-eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.16em;color:var(--primary-color)}.nickname-copy h2{font-size:1.7rem;line-height:1.1}.nickname-copy p{color:var(--text-light);line-height:1.5}.nickname-form{display:flex;flex-direction:column;gap:10px}.nickname-label{font-size:.9rem;font-weight:700;color:var(--text-dark)}.nickname-input{width:100%;border:1px solid rgba(255,142,139,.25);border-radius:18px;background:#ffffffe0;color:var(--text-dark);padding:14px 16px;font-size:1rem;font-family:inherit}.dark-theme .nickname-input{background:#ffffff14}.nickname-feedback{padding:12px 14px;border-radius:16px;font-size:.88rem;line-height:1.5}.nickname-feedback.error{background:#ff8e8b24;color:#b64c45}.nickname-submit:disabled{opacity:.7;cursor:wait}.first-login-overlay{position:fixed;inset:0;z-index:3250;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,rgba(255,194,102,.22),transparent 36%),#080c1875;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.first-login-modal{position:relative;width:min(100%,420px);padding:28px 24px 24px;display:flex;flex-direction:column;gap:18px;background:linear-gradient(150deg,#fffffff5,#fff6e7eb);animation:slideUp .25s ease}.dark-theme .first-login-modal{background:linear-gradient(150deg,#232a42f5,#191e2ef0)}.first-login-copy{display:flex;flex-direction:column;gap:8px}.first-login-close{position:absolute;top:16px;right:16px;border:none;background:#ffffffb8;color:var(--text-dark);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.4rem;line-height:1}.first-login-eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.16em;color:var(--primary-color)}.first-login-copy h2{font-size:1.8rem;line-height:1.1}.first-login-copy p{color:var(--text-light);line-height:1.5}.first-login-form{display:flex;flex-direction:column;gap:12px}.first-login-agreement-box{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:20px;background:#ffffff80;border:1px solid var(--glass-border)}.dark-theme .first-login-agreement-box{background:#ffffff0d}.first-login-check{display:flex;align-items:center;gap:10px;font-size:.95rem;color:var(--text-dark)}.first-login-check input{width:18px;height:18px;accent-color:var(--primary-color);flex-shrink:0}.first-login-check.required span:before{content:""}.first-login-check.optional{color:var(--text-light)}.first-login-link{padding:0;color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.first-login-feedback{padding:12px 14px;border-radius:16px;font-size:.88rem;line-height:1.5}.first-login-feedback.error{background:#ff8e8b24;color:#b64c45}.first-login-submit:disabled{opacity:.7;cursor:wait}.category-scroll-container{width:100%;padding:0 16px;margin-bottom:20px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;display:flex}.category-scroll-container::-webkit-scrollbar{display:none}.category-tabs{display:flex;gap:12px;padding:4px 0;width:max-content}.tab-btn{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:24px;padding:10px 20px;font-size:.95rem;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab-btn:hover{background:#ffffffe6}.tab-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px #ff8e8b4d;font-weight:600}.happiness-card{display:flex;flex-direction:column;gap:12px;animation:slideUp .4s ease forwards}.card-header{display:flex;gap:8px;align-items:center}.category-badge{background:var(--primary-color);color:#fff;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.custom-badge{background:var(--secondary-color);color:#fff;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.card-title{font-size:1.4rem;margin:4px 0}.card-desc{font-size:.95rem;margin-bottom:8px;flex-grow:1}.card-desc-short{font-size:.95rem;color:var(--text-light);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:4px}.happiness-card.compact{cursor:pointer;padding:16px;gap:8px}.happiness-card.compact:active{transform:scale(.98)}.card-compact-stamps{font-size:.85rem;color:var(--primary-color);font-weight:600;margin-top:4px}.card-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.card-compact-memos{font-size:.85rem;color:var(--text-light);font-weight:600;margin-top:4px}.detail-modal-overlay{z-index:2000}.detail-modal-content{width:90%;max-width:400px;max-height:90vh;overflow-y:auto;padding:0;border-radius:var(--border-radius-lg);display:flex;flex-direction:column;background:linear-gradient(135deg,var(--background-start) 0%,var(--background-end) 100%);box-shadow:0 10px 40px #0003;border:1px solid var(--glass-border)}.dark-theme .detail-modal-content{background:linear-gradient(135deg,#2a2a35,#1e1e28);border-color:#ffffff1a}.detail-top-actions{position:absolute;top:16px;right:16px;display:flex;gap:8px;z-index:10}.detail-close,.detail-memo-trigger{background:#ffffffb3;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.detail-close{font-size:1.5rem}.detail-icon-btn{border:none;cursor:pointer;font-size:1.1rem;line-height:1}.detail-header{padding:16px 20px 8px;min-height:36px;display:flex;justify-content:flex-start;align-items:center}.badges-container{display:flex;gap:8px;align-items:center}.custom-badge{background:var(--secondary-color);color:#fff;padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:700}.favorite-btn{background:none;border:none;font-size:1.5rem;color:var(--text-dark);cursor:pointer;padding:0;margin:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);-webkit-tap-highlight-color:transparent;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;line-height:1}.favorite-btn:active{transform:scale(.8)}.favorite-btn.active{color:var(--secondary-color);text-shadow:0 0 10px rgba(255,215,0,.5)}.detail-title{padding:0 20px;font-size:1.6rem;margin-bottom:12px}.detail-desc{padding:0 20px;font-size:1.05rem;color:var(--text-dark);line-height:1.6;margin-bottom:24px}.detail-stamp-section{padding:20px;background:var(--glass-bg);border-top:1px solid var(--glass-border);border-radius:0 0 var(--border-radius-lg) var(--border-radius-lg);display:flex;flex-direction:column;align-items:center;gap:16px}.stamp-count.large{text-align:center;font-size:1.1rem;display:flex;flex-direction:column;gap:8px}.stamp-count.large .active-stamps strong{font-size:1.5rem}.stamp-guidance{font-size:.95rem;color:var(--text-light)}.detail-stat-chips{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}.detail-stat-chip{background:#ffffffb3;border:1px solid var(--glass-border);border-radius:18px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;text-align:left}.dark-theme .detail-stat-chip{background:#ffffff0f}.detail-stat-label{font-size:.8rem;color:var(--text-light)}.stamp-btn-large{width:100%;padding:18px;font-size:1.15rem;display:flex;justify-content:center;align-items:center;gap:8px;border-radius:30px;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;transition:transform .2s ease,background .3s ease}.long-press-btn{background:var(--white)!important;color:var(--text-dark);border:2px solid var(--primary-color);position:relative;overflow:hidden}.long-press-btn.pressing{transform:scale(.96);box-shadow:inset 0 4px 10px #0000000d}.long-press-btn.disabled{background:var(--white)!important;color:var(--text-dark);border-color:var(--primary-color);cursor:default;transform:none;opacity:.8}.progress-fill{position:absolute;top:0;left:0;bottom:0;height:100%;background-color:var(--primary-color)!important;opacity:.4;z-index:1;pointer-events:none}.long-press-btn .btn-content{position:relative;z-index:2;display:flex;align-items:center;gap:8px;font-weight:600}.hint-text{font-size:.85rem;color:var(--text-light);margin-top:-8px}.success-message{width:100%;text-align:center;background:#2bc06a1a;color:#2bc06a;padding:12px;border-radius:var(--border-radius);font-weight:600;font-size:.95rem;margin-bottom:8px}.detail-delete-btn{width:100%;border:1px solid rgba(255,71,87,.3);background:#ff475714;color:var(--danger);border-radius:30px;padding:14px 18px;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .2s ease,background .2s ease}.detail-delete-btn:active{transform:scale(.98)}.detail-memo-section{width:100%;display:flex;flex-direction:column;gap:12px;padding-top:4px}.detail-memo-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px}.detail-memo-header h3{font-size:1rem}.detail-memo-header span{font-size:.8rem;color:var(--text-light)}.detail-memo-compose{display:flex;flex-direction:column;gap:10px}.detail-memo-compose textarea{width:100%;resize:none;border:1px solid rgba(255,142,139,.25);border-radius:18px;padding:14px;background:#ffffffd1;color:var(--text-dark);font-size:.95rem;font-family:inherit}.dark-theme .detail-memo-compose textarea{background:#ffffff0f}.detail-memo-actions{display:flex;gap:10px}.detail-memo-skip,.detail-memo-save{flex:1}.detail-memo-skip{border:1px solid var(--glass-border);border-radius:18px;background:#ffffffb8;color:var(--text-dark);padding:12px 14px;font-size:.92rem;font-weight:700;cursor:pointer}.detail-memo-list{display:flex;flex-direction:column;gap:10px}.detail-memo-item{background:#ffffffa3;border:1px solid var(--glass-border);border-radius:18px;padding:14px}.dark-theme .detail-memo-item{background:#ffffff0d}.detail-memo-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.detail-memo-time{font-size:.78rem;color:var(--text-light)}.detail-memo-item-actions{display:flex;gap:8px}.detail-memo-edit-btn,.detail-memo-delete-btn{border:none;background:transparent;padding:0;font-size:.82rem;font-weight:700;cursor:pointer}.detail-memo-edit-btn{color:var(--primary-color)}.detail-memo-delete-btn{color:var(--danger)}.detail-memo-edit-wrap{display:flex;flex-direction:column;gap:10px}.detail-memo-edit-wrap textarea{width:100%;resize:none;border:1px solid rgba(255,142,139,.25);border-radius:18px;padding:14px;background:#ffffffd1;color:var(--text-dark);font-size:.95rem;font-family:inherit}.dark-theme .detail-memo-edit-wrap textarea{background:#ffffff0f}.detail-memo-item p{color:var(--text-dark);line-height:1.55}.delete-confirm-overlay{position:fixed;inset:0;background:#14181c61;display:flex;align-items:center;justify-content:center;padding:24px;z-index:2200}.delete-confirm-modal{width:min(100%,320px);padding:22px;border-radius:22px;display:flex;flex-direction:column;gap:14px;background:linear-gradient(135deg,var(--background-start) 0%,var(--background-end) 100%)}.delete-confirm-title{font-size:1.15rem;margin:0}.delete-confirm-text{font-size:.95rem;margin:0}.delete-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.delete-confirm-cancel,.delete-confirm-submit{border-radius:18px;padding:12px 14px;font-size:.95rem;font-weight:700;cursor:pointer;border:1px solid transparent}.delete-confirm-cancel{background:#ffffffb8;color:var(--text-dark);border-color:var(--glass-border)}.delete-confirm-submit{background:#ff47571f;color:var(--danger);border-color:#ff475747}.slide-down{animation:slideDownFade .4s ease forwards}@keyframes slideDownFade{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.home-view{padding-bottom:80px}.home-header{padding:24px 20px 10px}.home-header h1{font-size:2.2rem;letter-spacing:-.5px;color:var(--primary-color);margin-bottom:4px;display:flex;align-items:center;gap:8px}.home-header p{font-size:1.05rem;font-weight:500}.feed-container{padding:0 16px;display:flex;flex-direction:column}.empty-state{text-align:center;padding:40px 20px;color:var(--text-light);line-height:1.6}.empty-icon{font-size:3rem;margin-bottom:16px;opacity:.8}.modal-overlay{position:fixed;inset:0;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal-content{width:100%;max-width:400px;padding:24px;animation:slideUp .3s cubic-bezier(.175,.885,.32,1.275)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.close-btn{background:none;border:none;font-size:2rem;line-height:1;color:var(--text-light);cursor:pointer}.modal-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:.9rem;font-weight:600;color:var(--text-dark)}.form-group input,.form-group textarea{padding:12px;border-radius:var(--border-radius-sm);border:1px solid rgba(255,142,139,.3);background:#fffc;font-size:1rem;color:var(--text-dark);transition:all .2s;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ff8e8b33}.form-group textarea{resize:none}.category-pills{display:flex;gap:8px;margin-top:4px}.category-pill{flex:1;padding:10px 0;border:1px solid rgba(255,142,139,.3);background:#ffffff80;border-radius:20px;font-size:.95rem;font-weight:500;color:var(--text-light);cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275)}.category-pill:hover{background:#fffc;transform:translateY(-1px)}.category-pill.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color);box-shadow:0 4px 10px #ff6b6b4d;font-weight:600}.submit-btn{width:100%;margin-top:10px}.profile-view{padding-bottom:80px}.profile-header{display:flex;flex-direction:column;align-items:center;padding:32px 20px 24px;text-align:center}.profile-avatar{font-size:4rem;background:var(--glass-bg);width:100px;height:100px;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:var(--glass-shadow);margin-bottom:8px;border:2px solid var(--glass-border)}.profile-tree-section{position:relative;display:flex;flex-direction:column;align-items:center}.clickable-avatar{cursor:pointer;transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.clickable-avatar:active{transform:scale(.9)}.tree-title{font-size:1.1rem;font-weight:700;color:var(--primary-color);margin-bottom:16px;padding:4px 12px;background:var(--glass-bg);border-radius:12px;border:1px solid var(--glass-border);box-shadow:0 2px 10px #0000000d}.tree-tooltip{position:absolute;top:105px;left:50%;transform:translate(-50%);background:var(--text-dark);color:var(--white);padding:8px 16px;border-radius:var(--border-radius-lg);font-size:.95rem;font-weight:500;white-space:nowrap;z-index:10;box-shadow:0 4px 12px #0003;animation:treeTooltipEnter .3s cubic-bezier(.175,.885,.32,1.275)}.tree-tooltip:before{content:"";position:absolute;top:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid var(--text-dark)}.profile-header h2{font-size:1.6rem;margin-bottom:8px;color:var(--text-dark)}.stamp-summary{font-size:1.1rem;color:var(--text-light);margin-bottom:12px}.streak-summary{font-size:1.2rem;font-weight:700;color:var(--primary-color);margin-bottom:24px;background:var(--glass-bg);padding:8px 20px;border-radius:24px;border:1px solid var(--glass-border);display:inline-flex;align-items:center;box-shadow:0 4px 15px #ff6b6b33}.highlight-number{font-size:1.8rem;font-weight:700;color:var(--primary-color);margin:0 4px}.create-btn{width:100%;max-width:300px;font-size:1.1rem;border-radius:30px}.glow-effect{animation:pop 2s infinite ease-in-out}.profile-tabs{display:flex;justify-content:center;gap:12px;padding:0 20px;margin-bottom:24px}.profile-tabs .tab-btn{flex:1;text-align:center}.profile-stamped-categories{margin-bottom:20px}@keyframes treeTooltipEnter{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.app-container{position:relative;min-height:100vh}.settings-trigger-btn{position:absolute;top:16px;right:16px;width:50px;height:50px;border-radius:50%;border:none;background:var(--glass-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 12px #0000001a;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);-webkit-tap-highlight-color:transparent}.settings-trigger-icon{width:28px;height:28px;color:var(--text-dark)}.settings-trigger-btn:active{transform:scale(.9) rotate(12deg)}
