:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;border-inline:1px solid var(--border);box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow:hidden}*{box-sizing:border-box;margin:0;padding:0;font-family:sans-serif}body.font-small{font-size:85%}body.font-medium{font-size:100%}body.font-large{font-size:120%}body{background:#e8f6f8;justify-content:center;width:100%;min-height:100vh;margin:0;padding:0;display:flex;overflow-x:hidden}.phone{width:100%;max-width:420px;height:var(--app-height,100vh);box-sizing:border-box;background:#e8f6f8;border:none;border-radius:0;flex-direction:column;margin:0 auto;padding:0;display:flex;overflow:hidden}.screen{flex-direction:column;flex:1;min-height:0;max-height:100%;display:flex;overflow:hidden}.ocean-header{background:linear-gradient(175deg,#0a2a4a 0%,#0e4d7a 55%,#1a8a9a 100%);overflow:hidden}.header-top{justify-content:space-between;align-items:center;padding:14px 18px 10px;display:flex}.logo-row{color:#fff;align-items:center;gap:8px;font-size:18px;font-weight:500;display:flex}.avatar{color:#fff;background:#0a2a4a;border:1.5px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:500;display:flex}.next-label{color:#7ecfe0;padding:0 18px 6px;font-size:13px}.next-card{background:#ffffff21;border:.5px solid #ffffff38;border-radius:14px;align-items:center;gap:12px;margin:0 18px 10px;padding:11px 14px;display:flex}.next-info{flex:1}.next-name{color:#fff;font-size:16px;font-weight:500}.next-days{color:#f0c040;font-size:13px}.celebrate-btn{color:#0a2a4a;cursor:pointer;background:#f0c040;border:none;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:500}.content{background:linear-gradient(#e8f6f8 50%,#0e4d7a 100%);flex:1;min-height:0;padding-bottom:10px;overflow-y:auto}.section-title{color:#0a2a4a;padding:12px 18px 8px;font-size:15px;font-weight:500}.bday-list{flex-direction:column;gap:8px;padding:0 18px;display:flex}.bday-item{cursor:pointer;background:#fff;border:.5px solid #c0e4ec;border-radius:14px;align-items:center;gap:12px;padding:10px 12px;display:flex}.bday-avatar{background:#d0f0f8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:20px;display:flex}.bday-info{flex:1}.bday-name{color:#0a2a4a;font-size:15px;font-weight:500}.bday-date{color:#4a8aaa;font-size:12px}.bday-badge{border-radius:10px;padding:3px 9px;font-size:12px;font-weight:500}.badge-soon{color:#b07d00;background:#fff5d0}.badge-later{color:#0a6a7a;background:#d0f0f8}.bottom-nav{background:#fff;border-top:.5px solid #c0e4ec;flex-shrink:0;justify-content:space-around;padding:10px 0 14px;display:flex}.bottom-nav button{color:#6baabb;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;font-size:22px;display:flex}.bottom-nav button span{font-size:11px}.bottom-nav button.active{color:#0a2a4a}.add-header{background:linear-gradient(135deg,#0a2a4a,#1a7a8a);align-items:center;gap:10px;padding:14px 18px;display:flex}.add-header span{color:#fff;font-size:16px;font-weight:500}.back-btn{color:#7ecfe0;cursor:pointer;background:0 0;border:none;font-size:18px}.form-body{background:linear-gradient(#e8f6f8 50%,#0a3a6a 100%);flex-direction:column;flex:1;gap:13px;padding:16px 18px;display:flex;overflow-y:auto}.form-group{flex-direction:column;gap:4px;display:flex}.form-label{color:#4a8aaa;text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:500}.form-label.question{text-transform:none;letter-spacing:0;font-size:15px}.form-input{color:#0a2a4a;background:#fff;border:.5px solid #c0e4ec;border-radius:10px;outline:none;padding:10px 12px;font-size:15px}.form-input::placeholder{color:#9accd8}.form-row{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.form-row .form-group{flex:1;min-width:0}.form-row .form-input{width:100%;padding:10px 6px;font-size:14px}.category-row{flex-wrap:nowrap;gap:6px;display:flex}.cat-btn{cursor:pointer;color:#4a8aaa;text-align:center;background:#fff;border:.5px solid #c0e4ec;border-radius:20px;flex:1;padding:6px 8px;font-size:12px}.cat-btn.sel{color:#fff;background:#0a2a4a;border-color:#0a2a4a}.save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0a2a4a,#1a7a8a);border:none;border-radius:12px;margin-top:auto;padding:13px;font-size:15px;font-weight:500}.detail-header{background:linear-gradient(175deg,#0a2a4a 0%,#0e4d7a 55%,#1a8a9a 100%);padding:14px 18px 0;overflow:hidden}.detail-avatar-big{margin-top:8px;margin-bottom:6px;font-size:40px;display:block}.detail-name{color:#fff;font-size:20px;font-weight:500}.detail-sub{color:#7ecfe0;margin-top:2px;font-size:13px}.detail-body{background:linear-gradient(#e8f6f8 50%,#0e4d7a 100%);flex-direction:column;flex:1;gap:12px;padding:16px 18px;display:flex;overflow-y:auto}.info-card{background:linear-gradient(135deg,#e8f6f8 0%,#c0dff0 100%);border:.5px solid #c0e4ec;border-radius:14px;padding:12px 14px}[data-theme=bio] .info-card{background:linear-gradient(135deg,#0a2a4a,#0e4d7a);border:none}.info-row{justify-content:space-between;align-items:center;display:flex}.info-key{color:#4a8aaa;font-size:13px}.info-val{color:#0a2a4a;font-size:14px;font-weight:500}.divider{border-top:.5px solid #d0eaf4;margin:8px 0}.countdown-pill{color:#b07d00;background:#fff5d0;border-radius:20px;padding:4px 12px;font-size:12px;font-weight:500}.actions-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.action-btn{cursor:pointer;background:#fff;border:.5px solid #c0e4ec;border-radius:14px;flex-direction:column;align-items:center;gap:5px;padding:12px;font-size:22px;display:flex}.action-btn span{color:#0a2a4a;font-size:12px;font-weight:500}.ai-loading{text-align:center;color:#0a2a4a;background:#0a2a4a14;border-radius:14px;padding:14px;font-size:13px}.ai-card{background:#fff;border:.5px solid #c0e4ec;border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex}.ai-title{color:#0a2a4a;font-size:13px;font-weight:500}.ai-text{color:#1a3a5a;font-size:13px;line-height:1.6}.gift-item{align-items:center;gap:8px;display:flex}.gift-text{color:#1a3a5a;font-size:13px}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}@keyframes swayFast{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes tentacle{0%,to{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}@keyframes floatUp{0%{opacity:.7;transform:translateY(0)}to{opacity:0;transform:translateY(-80px)}}[data-fontsize=small],[data-fontsize=small] .bday-name{font-size:12px!important}[data-fontsize=small] .bday-date{font-size:10px!important}[data-fontsize=small] .section-title{font-size:13px!important}[data-fontsize=small] .bday-badge{font-size:10px!important}[data-fontsize=large] .bday-name{font-size:20px!important}[data-fontsize=large] .bday-date{font-size:16px!important}[data-fontsize=large] .section-title{font-size:20px!important}[data-fontsize=large] .bday-badge{font-size:16px!important}[data-fontsize=large] .next-name{font-size:22px!important}[data-fontsize=large] .next-days{font-size:16px!important}[data-fontsize=large] .detail-name{font-size:26px!important}[data-fontsize=large] .detail-sub{font-size:17px!important}[data-fontsize=large] .info-key{font-size:16px!important}[data-fontsize=large] .info-val{font-size:18px!important}[data-fontsize=large] .action-btn span{font-size:15px!important}[data-theme=bio] .phone{background:#020d1a}[data-theme=bio] .content{background:#020d1a;min-height:0}[data-theme=bio] .bday-item{background:#0a1a2a;border-color:#0a4a6a}[data-theme=bio] .bday-name{color:#0fc}[data-theme=bio] .bday-date{color:#0aa}[data-theme=bio] .section-title{color:#0fc}[data-theme=bio] .badge-soon{color:#0f8;background:#1a3a00}[data-theme=bio] .badge-later{color:#0cf;background:#001a3a}[data-theme=bio] .bottom-nav{background:#0a1a2a;border-color:#0a4a6a}[data-theme=bio] .bottom-nav button{color:#0aa}[data-theme=bio] .bottom-nav button.active{color:#0fc}[data-theme=bio] .next-card{background:#00ffc814;border-color:#00ffc833}[data-theme=bio] .next-name{color:#0fc}[data-theme=bio] .next-days{color:#0f8}[data-theme=bio] .next-label{color:#0aa}[data-theme=bio] .celebrate-btn{color:#020d1a;background:#0f8}[data-theme=bio] .ocean-header,[data-theme=bio] .detail-header{background:linear-gradient(175deg,#020d1a 0%,#041a2a 55%,#052a3a 100%)}[data-theme=bio] .detail-name{color:#0fc}[data-theme=bio] .detail-sub{color:#0aa}[data-theme=bio] .detail-body{background:linear-gradient(#0e4d7a 0%,#041a2a 50%,#010810 100%)}[data-theme=bio] .info-card{background:#0a1a2a;border-color:#0a4a6a}[data-theme=bio] .info-key{color:#0aa}[data-theme=bio] .info-val{color:#0fc}[data-theme=bio] .divider{border-color:#0a4a6a}[data-theme=bio] .countdown-pill{color:#0f8;background:#001a3a}[data-theme=bio] .action-btn{background:#0a1a2a;border-color:#0a4a6a}[data-theme=bio] .action-btn span{color:#0fc}[data-theme=bio] .ai-card{background:#0a1a2a;border-color:#0a4a6a}[data-theme=bio] .ai-title{color:#0fc}[data-theme=bio] .ai-text,[data-theme=bio] .gift-text{color:#0aa}[data-theme=bio] .ai-loading{color:#0fc;background:#00ffc814}[data-theme=bio] .add-header{background:linear-gradient(135deg,#020d1a,#052a3a)}[data-theme=bio] .form-body{background:#020d1a}[data-theme=bio] .form-input{color:#0fc;background:#0a1a2a;border-color:#0a4a6a}[data-theme=bio] .form-input::placeholder,[data-theme=bio] .form-label{color:#0aa}[data-theme=bio] .cat-btn{color:#0aa;background:#0a1a2a;border-color:#0a4a6a}[data-theme=bio] .cat-btn.sel{color:#020d1a;background:#0f8;border-color:#0f8}[data-theme=bio] .save-btn{color:#020d1a;background:linear-gradient(135deg,#0a6,#0fa)}[data-theme=bio] .back-btn{color:#0aa}[data-theme=bio] body{background:#020d1a}.today-card{background:linear-gradient(135deg,#f0c040,#ff8c00);border-radius:14px;align-items:center;gap:12px;margin:0 18px 10px;padding:12px 14px;animation:1.5s ease-in-out infinite pulse;display:flex}.today-card .next-name{color:#0a2a4a;font-weight:600}.today-card .next-days{color:#0a2a4a}.today-card .celebrate-btn{color:#f0c040;background:#0a2a4a}.jelly-glow{animation:1.5s ease-in-out infinite jellyGlow}@keyframes jellyGlow{0%,to{opacity:.3;r:4}50%{opacity:1;r:7}}[data-theme=bio] .jelly-glow{fill:#0ff;filter:drop-shadow(0 0 6px #0ff);animation:1s ease-in-out infinite jellyGlowBio}[data-theme=bio] ellipse[fill=\#cc44cc],[data-theme=bio] ellipse[fill=\#aa33bb],[data-theme=bio] ellipse[fill=\#dd55aa],[data-theme=bio] ellipse[fill=\#9933cc]{fill:#04a;filter:drop-shadow(0 0 8px #0af)}[data-theme=bio] ellipse[fill=\#ee66ee],[data-theme=bio] ellipse[fill=\#cc55dd],[data-theme=bio] ellipse[fill=\#ff77cc],[data-theme=bio] ellipse[fill=\#bb55ee]{fill:#06c;filter:drop-shadow(0 0 6px #0cf)}@keyframes jellyGlowBio{0%,to{opacity:.4}50%{opacity:1}}[data-theme=bio] .jelly-glow{fill:#0ff!important;animation:1s ease-in-out infinite jellyGlowBio!important}@keyframes coralBirth{0%{opacity:0;transform-origin:bottom;transform:scaleY(0)scaleX(.5)}40%{opacity:.6;transform:scaleY(.6)scaleX(.8)}70%{opacity:.9;transform:scaleY(1.12)scaleX(1.05)}85%{opacity:1;transform:scaleY(.95)scaleX(.98)}to{opacity:1;transform:scaleY(1)scaleX(1)}}.reef-born-anim{animation:4s ease-out forwards coralBirth}
