@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@400;450;500;550;600;650;700&display=swap');
:root{--bg:#faf7f2;--panel:#f5f0e9;--paper:#fffcf8;--ink:#293b44;--muted:#869094;--line:#e9e2da;--accent:#a18da8;--accent-dark:#87718f;--accent-pale:#f0e9ef;--sage:#688b7b;--shadow:0 8px 30px #5c493809;--serif:'Cormorant Garamond',Georgia,serif;--font:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px var(--font);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit;transition:background .2s,transform .2s,box-shadow .2s}button:hover{filter:brightness(.98)}button:active{transform:translateY(1px)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-dark);outline-offset:4px}button{border:0;background:none}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-size:38px;font-weight:500;letter-spacing:-.8px}h2{font-size:19px;font-weight:550}h3{font-size:16px;font-weight:550}p{line-height:1.7}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.photo{width:100%;height:100%;display:block}.app-shell{display:grid;grid-template-columns:240px minmax(380px,760px) 290px;max-width:1530px;min-height:100vh;margin:auto}.sidebar{padding:44px 23px 24px;border-right:1px solid var(--line);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:0 15px}.brand .icon{height:38px;width:27px;color:#716c65;transform:rotate(-10deg)}.brand span,.wordmark{font-family:var(--serif);font-style:italic;font-size:48px;letter-spacing:-2px}.brand-tagline{font-size:10px;color:var(--muted);margin:6px 0 49px 19px;letter-spacing:.4px}.sidebar nav{display:grid;gap:9px}.nav-item{position:relative;display:flex;align-items:center;gap:13px;width:100%;padding:15px 18px;border-radius:11px;text-align:left;color:#7e8588;font-size:12px}.nav-item.active{background:var(--accent-pale);color:var(--accent-dark);font-weight:600}.nav-item .icon{width:19px;height:19px}.nav-dot{margin-left:auto;width:5px;height:5px;background:#c6928e;border-radius:50%}.sidebar-bottom{margin-top:auto;padding-top:30px}.botanical{color:#8c9986}.sidebar-bottom>.botanical{width:75px;height:117px;display:block;margin:0 auto 20px;opacity:.5;transform:rotate(12deg)}.sidebar-bottom>p{text-align:center;font-family:var(--serif);font-style:italic;font-size:19px;color:#8d9185}.sidebar-user{border-top:1px solid var(--line);padding-top:23px;margin-top:32px;display:flex;align-items:center;gap:10px}.sidebar-user b{font-size:12px;font-weight:550}.sidebar-user small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.sidebar-user>.icon{margin-left:auto;width:16px;color:var(--accent)}.avatar{width:38px;height:38px;overflow:hidden;border-radius:50%;padding:0;flex-shrink:0;border:3px solid var(--paper);box-shadow:0 0 0 1px var(--line);background:#dfcbbd}.main-content{padding:47px 42px 45px;min-width:0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:29px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:var(--muted);font-weight:600;margin-bottom:7px}.header-actions{display:flex;gap:18px;align-items:center}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%}.notification{position:relative;color:#757776}.notification i{position:absolute;right:9px;top:6px;width:4px;height:4px;background:#bd8d8a;border-radius:50%;box-shadow:0 0 0 2px var(--bg)}.welcome-banner{background:#eee9df;position:relative;overflow:hidden;min-height:206px;border-radius:15px;padding:28px;margin-bottom:36px;border:1px solid #e6e0d5}.tiny-title{font-size:8px;letter-spacing:1.6px;color:#8b8e7f;font-weight:600}.welcome-banner h2{font-family:var(--serif);font-size:30px;line-height:1.18;font-weight:500;margin:13px 0 12px;letter-spacing:-.4px;position:relative;z-index:1}.welcome-banner p{font-size:10px;color:#8b8e84;position:relative;z-index:1}.welcome-banner>.botanical{position:absolute;height:202px;width:133px;right:0;bottom:-24px;transform:rotate(24deg);opacity:.55}.banner-spark{position:absolute;right:88px;top:34px;color:#a8a58f;font-size:27px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 19px}.section-heading h2{font-size:17px}.section-heading h2>span{display:inline-flex;margin-left:6px;align-items:center;justify-content:center;background:#eeebe6;color:#8e8d85;font:10px var(--font);width:21px;height:21px;border-radius:50%}.section-heading p{font-size:10px;color:var(--muted);margin-top:7px}.text-button{display:inline-flex;gap:5px;align-items:center;font-size:10px;color:var(--accent-dark);padding:8px 0;white-space:nowrap}.text-button .icon{width:15px;height:15px}.filter-tabs{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 8px;margin-bottom:14px;scrollbar-width:none}.chip{border:1px solid var(--line);border-radius:30px;white-space:nowrap;padding:9px 14px;font-size:10px;color:#848b8a;background:transparent}.chip.selected{background:var(--accent);border-color:var(--accent);color:white}.event-list{display:grid;gap:13px}.event-card{display:flex;position:relative;overflow:hidden;text-align:left;border:1px solid #eee1db;border-radius:13px;background:#f8eeea;min-height:147px;padding:10px;align-items:stretch;width:100%;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}.event-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #66534810}.event-card.concert{background:#efedf3;border-color:#e5e1ea}.event-card.exam{background:#eeeee6;border-color:#e2e4da}.event-card.appointment{background:#f7ece8;border-color:#ebdfd9}.event-card.other{background:#efefed;border-color:#e3e3dd}.event-photo{width:91px;min-width:91px;border-radius:8px;position:relative;overflow:hidden}.event-copy{padding:7px 22px 5px 10px;flex:1;min-width:0}.category-label{font-size:8px;color:#a78d85;letter-spacing:.5px}.concert .category-label{color:#90859f}.exam .category-label{color:#84907d}.event-copy h3{font-size:14px;margin:5px 0 10px;line-height:1.4;padding-right:20px}.countdown{font-size:18px;font-family:var(--serif);font-weight:600}.event-footer{display:flex;justify-content:space-between;gap:6px;font-size:8px;color:#93928e;margin-top:9px}.mini-progress{opacity:.8}.category-icon{position:absolute;right:15px;top:17px;color:#bc8c86}.concert .category-icon{color:#9281a5}.exam .category-icon{color:#809582}.category-icon .icon{width:20px;height:20px}.progress-track{height:3px;background:#dfccc740;border-radius:10px;overflow:hidden;margin-top:8px}.progress-track span{display:block;height:100%;background:#bc9fa6;border-radius:10px;transition:width .3s}.card-arrow{position:absolute;right:13px;bottom:36px;width:13px;color:#b2a9a2}.gentle-note{display:flex;flex-direction:column;align-items:center;margin:32px 0 0;color:#a9a59b}.gentle-note>.icon{width:17px;margin-bottom:8px}.gentle-note p{font-size:10px}.gentle-note>span{font-family:var(--serif);font-style:italic;font-size:20px;margin-top:8px;color:#ac9baa}.right-panel{border-left:1px solid var(--line);padding:51px 27px 25px;display:flex;flex-direction:column}.today-label{font-size:10px;letter-spacing:.5px;color:#94978f;text-align:right;margin:9px 0 42px}.inspiration{height:390px;border-radius:100px 100px 12px 12px;overflow:hidden;position:relative;background:#e5d4c5}.inspiration>.photo{position:absolute;inset:0;opacity:.76}.inspiration:after{content:'';position:absolute;inset:0;background:linear-gradient(#f0ece6dd,#f0e9df99 35%,transparent 80%)}.inspiration-content{position:absolute;inset:0;z-index:1;text-align:center;padding-top:41px}.inspiration-content>.icon{height:40px;width:28px;color:#6d7976}.inspiration-content p{font:26px/1.3 var(--serif);margin:20px 0 15px}.inspiration-content>span{font-size:9px;color:#808c89}.little-reminder{position:relative;margin-top:29px;padding:24px 19px;background:#f2eee6;border:1px solid var(--line);border-radius:12px}.little-reminder>span{font-size:7px;letter-spacing:1.6px;color:#a39c8b}.little-reminder p{font-family:var(--serif);font-size:22px;line-height:1.3;margin-top:12px}.little-reminder>.icon{position:absolute;right:14px;bottom:20px;color:#b6aa99;width:17px}.right-footer{margin-top:auto;padding-top:30px;color:#aba89e;font-size:8px;text-align:center;letter-spacing:.6px}.right-footer span{padding-left:4px}.bottom-nav,.fab{display:none}.calendar-panel{border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:24px;margin-bottom:30px}.month-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.month-heading h2{font-family:var(--serif);font-size:24px;text-transform:capitalize}.month-heading>div{display:flex;align-items:center}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center}.weekday{font-size:10px;color:var(--muted);padding-bottom:13px}.calendar-day{min-height:46px;border-radius:50%;font-size:12px;position:relative}.calendar-day.today{box-shadow:inset 0 0 0 1px var(--accent)}.calendar-day.chosen{background:var(--accent);color:white}.calendar-day>div{height:5px;display:flex;justify-content:center;gap:2px;margin-top:4px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#a9aaa0;flex-shrink:0}.dot.birthday{background:#d99599}.dot.concert{background:#a194bd}.dot.exam{background:#9aab8c}.dot.appointment{background:#d1b3a1}.legend{display:flex;flex-wrap:wrap;gap:13px;border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.legend span{display:flex;align-items:center;gap:5px;font-size:8px;color:var(--muted)}.back{margin:0 0 13px -8px}.form-panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px;display:grid;gap:21px}.form-intro{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:11px;padding-bottom:8px}.form-intro .icon{color:var(--sage);height:30px}label{display:block;font-size:12px;font-weight:500}input:not([type=radio]):not([type=checkbox]),textarea,select{display:block;width:100%;padding:14px;border:1px solid var(--line);border-radius:11px;color:var(--ink);background:var(--bg);font-size:12px;margin-top:10px;min-height:46px}input::placeholder,textarea::placeholder{color:#a4a5a1}textarea{resize:vertical;line-height:1.6}select{appearance:auto}.input-icon{position:relative}.input-icon>.icon{position:absolute;left:13px;top:13px;color:#a4949b;width:18px}.input-icon>input{padding-left:40px!important}.optional{font-size:9px;color:var(--muted);font-weight:400;margin-left:5px}.category-picker{display:flex;gap:7px;margin-top:-9px;flex-wrap:wrap}.category-choice{position:relative;display:flex;gap:6px;align-items:center;padding:12px 9px;border:1px solid var(--line);border-radius:10px;font-size:9px;cursor:pointer}.category-choice input{position:absolute;opacity:0;width:100%;height:100%;inset:0;cursor:pointer;margin:0}.category-choice:has(input:checked){background:var(--accent-pale);border-color:var(--accent);color:var(--accent-dark)}.category-choice:has(input:focus-visible){outline:2px solid var(--accent-dark);outline-offset:2px}.category-choice>.icon{width:18px;height:18px}.quick-dates{display:flex;gap:8px;margin-top:-10px}.primary{background:var(--accent);color:white;border:1px solid var(--accent-dark);min-height:46px;padding:13px 25px;border-radius:30px;width:100%;display:flex;justify-content:center;align-items:center;gap:10px;font-size:12px;box-shadow:0 4px 12px #7f628014}.primary>.icon{width:17px;height:17px}.detail-main{padding:32px 42px}.detail-cover{height:247px;position:relative;border-radius:16px;overflow:hidden}.detail-cover>.photo{object-fit:cover}.cover-back{position:absolute;left:15px;top:15px;background:#fff9;backdrop-filter:blur(10px)}.cover-label{position:absolute;left:20px;bottom:20px;padding:8px 13px;background:#fff9;border-radius:20px;font-size:10px;backdrop-filter:blur(10px)}.cover-label .icon{width:15px;height:15px;margin-right:6px}.detail-body{padding:28px 8px}.detail-body h1{font-size:32px;margin-bottom:15px}.detail-date{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);flex-wrap:wrap}.detail-date .icon{width:16px;height:16px}.detail-date b{font-weight:500;color:var(--accent-dark)}.detail-divider{height:1px;background:var(--line);margin:26px 0}.check-row{display:flex;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:19px 0;font-weight:400;font-size:12px;position:relative;cursor:pointer}.check-row input{position:absolute;left:0;width:23px;height:23px;opacity:0}.custom-check{width:21px;height:21px;border:1px solid #adb4b2;border-radius:5px;display:flex;align-items:center;justify-content:center}.custom-check>.icon{width:16px;height:16px;opacity:0}.check-row.done .custom-check{background:var(--sage);border-color:var(--sage);color:white}.check-row.done .custom-check>.icon{opacity:1}.check-row.done>span:last-child{color:#8b928b;text-decoration:line-through}.check-row:has(input:focus-visible) .custom-check{outline:2px solid var(--accent)}.inline-form{display:flex;align-items:center;gap:10px;margin-top:10px}.inline-form input{margin-top:0!important}.inline-form .icon-button{background:var(--accent-pale);color:var(--accent-dark);flex-shrink:0}.progress-label{display:flex;justify-content:space-between;margin-top:27px;font-size:10px;color:var(--muted)}.progress-label b{font-weight:500}.large{height:5px;margin-top:10px}.reminder-info{display:flex;align-items:center;gap:9px;font-size:10px;color:var(--muted);margin-top:26px;line-height:1.6}.reminder-info>.icon{width:17px;height:17px}.danger{color:#b58079;margin-top:23px}.note-box{padding:20px;background:var(--panel);border-radius:12px;margin-top:24px}.note-box>span{font-size:8px;letter-spacing:1px;color:var(--muted)}.note-box p{font-size:12px;margin-top:9px;white-space:pre-wrap}.notice-banner{display:flex;align-items:center;gap:15px;padding:20px;background:var(--accent-pale);border-radius:12px;margin-bottom:23px}.notice-banner>.icon{color:var(--accent-dark)}.notice-banner p{font-size:11px;color:var(--accent-dark)}.notification-list{border:1px solid var(--line);border-radius:14px;background:var(--paper);overflow:hidden}.notification-row{display:flex;align-items:center;gap:16px;text-align:left;padding:25px 20px;width:100%;border-bottom:1px solid var(--line)}.notification-row:last-child{border:0}.notice-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;width:43px;height:43px;background:#f3dcd8;color:#bc8c86}.notice-icon.concert{background:#e4ddec;color:#8e7ba0}.notice-icon.exam{background:#e0e6d9;color:#80917a}.notification-row h3{font-size:12px}.notification-row p{font-size:12px;color:var(--muted);margin:4px 0}.notification-row small{font-size:9px;color:var(--muted)}.notification-row>.icon{margin-left:auto;width:15px;color:#aaa}.footnote{font-size:10px;color:var(--muted);margin-top:25px;text-align:center}.profile-panel{text-align:center;padding:17px 0 25px}.profile-avatar{width:90px;height:90px;border:6px solid #eee1d5;border-radius:50%;overflow:hidden;margin:0 auto 18px;background:#e2cfc0}.profile-panel h1{font-family:var(--font);font-size:22px;font-weight:550;letter-spacing:0}.profile-panel h1>.icon{width:18px;color:var(--sage)}.profile-panel p{color:var(--muted);font-size:11px;margin:9px 0 25px}.stats{display:flex;gap:13px}.stats>div{flex:1;border:1px solid var(--line);border-radius:13px;padding:19px 10px;background:var(--paper)}.stats b{display:block;font-family:var(--serif);font-size:25px;font-weight:500}.stats span{display:block;font-size:9px;margin-top:7px;color:var(--muted)}.settings-list{border-top:1px solid var(--line)}.settings-list button{display:flex;align-items:center;gap:16px;text-align:left;padding:20px 7px;border-bottom:1px solid var(--line);width:100%;font-size:12px}.settings-list button>.icon:first-child{width:19px;color:#987e83}.settings-list button>.icon:last-child{margin-left:auto;width:14px;color:#a1a39c}.profile-quote{display:flex;justify-content:center;align-items:center;gap:20px;margin-top:32px}.profile-quote>.botanical{width:57px;height:100px;opacity:.6}.profile-quote p{font:23px/1.4 var(--serif);color:#a09b8e}.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px 17px;margin:30px 0 35px}.theme-option{padding:0}.theme-art{height:174px;position:relative;border-radius:15px;overflow:hidden;background:#eee4d7;border:2px solid transparent}.theme-art .botanical{position:absolute;width:100px;height:170px;left:50%;transform:translateX(-50%) rotate(15deg);bottom:-40px;color:#a09377}.theme-art>span{font:italic 25px var(--serif);position:absolute;left:0;right:0;top:32px;color:#88796e}.theme-option b{font-weight:400;font-size:10px;display:block;margin-top:12px}.theme-art.lavender{background:#e3dcee}.theme-art.lavender .botanical{color:#9b83b5}.theme-art.pink{background:#f0d8d8}.theme-art.pink .botanical{color:#c18f8b}.theme-art.nature{background:#a2ad96}.theme-art.nature .botanical{color:#e0debe}.theme-art.night{background:#293941}.theme-art.night .botanical,.theme-art.night>span{color:#c1beb0}.theme-art.minimal{background:#efeae2}.theme-art.minimal .botanical{color:#c5b8a4}.theme-option.chosen .theme-art{border-color:var(--accent-dark)}.theme-art i{position:absolute;top:8px;right:8px;width:21px;height:21px;background:var(--accent-dark);border-radius:50%;color:white;display:flex;align-items:center;justify-content:center}.theme-art i>.icon{width:14px}.muted{color:var(--muted);font-size:12px;line-height:1.8}.muted>.icon{width:14px}.empty{text-align:center;padding:45px 20px;width:100%}.empty>.botanical{height:105px;width:75px;margin-bottom:12px}.empty h2{font-family:var(--serif);font-size:28px;font-weight:500}.empty p{color:var(--muted);font-size:12px;margin:12px 0 25px}.empty .primary{max-width:235px;margin:auto}.about-panel{padding:30px;background:var(--panel);border-radius:16px;text-align:center}.about-panel>.botanical{width:80px;height:140px;opacity:.7}.about-panel h2{font:30px var(--serif);margin:15px 0}.about-panel p{font-size:12px;color:var(--muted);margin-bottom:17px}.version{font-size:10px;color:var(--accent-dark)}.loading{text-align:center;padding:100px 0;color:var(--accent-dark);font:24px var(--serif)}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:14px 25px;border-radius:30px;font-size:12px;z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 4px 20px #0002;max-width:90vw;white-space:nowrap}#toast.show{opacity:1;transform:translate(-50%,0)}.splash{height:75vh;min-height:530px;position:relative;border-radius:20px;overflow:hidden}.splash>.photo{position:absolute;inset:0}.splash-content{position:absolute;inset:0;display:flex;align-items:center;flex-direction:column;padding:90px 35px 35px}.splash-content .wordmark{font-size:74px}.splash-content p{text-align:center;font-size:16px}.splash-content .primary{margin-top:auto;background:#f8e9dc;color:#38414a;border:0}
[data-theme=lavender]{--bg:#f6f2f9;--panel:#ede7f1;--paper:#fbf8fd;--line:#e5ddea;--accent:#9b85b5;--accent-dark:#7e659b;--accent-pale:#eae1f3}[data-theme=pink]{--bg:#fcf4f2;--panel:#f5e8e4;--paper:#fff9f7;--line:#edddd9;--accent:#be949e;--accent-dark:#a27781;--accent-pale:#f2e0e3}[data-theme=nature]{--bg:#f2f4ed;--panel:#e9eddf;--paper:#f8faf4;--line:#dee3d4;--accent:#8d9d7c;--accent-dark:#6e805e;--accent-pale:#e2e9d9}[data-theme=night]{--bg:#202d33;--panel:#293a40;--paper:#29383e;--ink:#ebe6da;--muted:#a6b1b0;--line:#3b4c50;--accent:#899593;--accent-dark:#697f7d;--accent-pale:#354b50}[data-theme=night] .event-card,[data-theme=night] .welcome-banner,[data-theme=night] .little-reminder{background:var(--panel);border-color:var(--line)}[data-theme=night] .inspiration-content{color:#293b44}[data-theme=minimal]{--bg:#fbfaf8;--panel:#f1eeea;--paper:#fff;--accent:#a99d91;--accent-dark:#897d71;--accent-pale:#ede8e1}
@media(min-width:1450px){.app-shell{grid-template-columns:250px minmax(380px,850px) 310px}.main-content{padding-left:60px;padding-right:60px}.welcome-banner{min-height:220px}.event-card{min-height:155px}.event-photo{width:100px;min-width:100px}}
@media(max-width:1190px){.app-shell{grid-template-columns:210px minmax(380px,1fr)}.right-panel{display:none}.main-content{max-width:820px;width:100%;margin:auto}.sidebar{padding-left:16px;padding-right:16px}}
@media(max-width:700px){body{font-size:13px}.app-shell{display:block}.sidebar{display:none}.main-content{padding:32px 23px 109px;max-width:520px;min-height:100dvh;margin:auto}.page-header{margin-bottom:25px}.page-header h1{font-size:33px}.eyebrow{font-size:8px;letter-spacing:1.5px}.header-actions{gap:10px}.avatar{width:35px;height:35px}.welcome-banner{padding:23px;min-height:191px;margin-bottom:28px}.welcome-banner h2{font-size:28px}.welcome-banner p{max-width:215px;line-height:1.7;font-size:9px}.welcome-banner>.botanical{right:-15px;opacity:.45;height:180px;bottom:-22px}.banner-spark{right:48px;top:27px}.section-heading h2{font-size:16px}.section-heading p{font-size:10px}.desktop-add{display:none}.filter-tabs{margin-right:-23px;padding-right:23px;margin-bottom:12px;gap:6px}.chip{font-size:10px;padding:9px 13px}.event-card{min-height:143px;padding:9px}.event-photo{width:78px;min-width:78px}.event-copy{padding-left:10px;padding-right:10px}.event-copy h3{font-size:13px;margin-top:6px;padding-right:13px;margin-bottom:10px}.category-icon{right:12px;top:17px}.category-icon>.icon{width:17px;height:17px}.event-footer{font-size:8px;gap:3px}.mini-progress{font-size:7px}.countdown{font-size:20px}.card-arrow{display:none}.gentle-note{margin-top:27px}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(15px);border-top:1px solid var(--line);padding:10px 15px max(15px,env(safe-area-inset-bottom));z-index:20;justify-content:space-around}.bottom-nav .nav-item{width:65px;padding:5px 0 2px;flex-direction:column;gap:5px;font-size:8px;border-radius:0;position:relative;background:none;color:#9a9e99}.bottom-nav .nav-item.active{color:var(--accent-dark)}.bottom-nav .nav-item.active:before{content:'';position:absolute;top:-11px;width:20px;height:2px;background:var(--accent);border-radius:5px}.bottom-nav .nav-item>.icon{width:21px;height:21px}.fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:94px;right:max(24px,calc((100vw - 480px)/2));width:49px;height:49px;border-radius:17px;background:var(--accent);color:#fff;box-shadow:0 5px 15px #88768c35;border:1px solid #fff6;z-index:10}.fab>.icon{width:23px;height:23px}.calendar-panel{padding:19px 14px}.month-heading h2{font-size:23px}.calendar-day{min-height:40px}.legend{gap:11px}.form-panel{padding:20px 16px;gap:22px}.category-picker{gap:6px}.category-choice{padding:10px 8px;font-size:9px}.optional{display:block;margin-left:0;margin-top:4px}.detail-main{padding:0 0 100px}.detail-cover{height:280px;border-radius:0 0 20px 20px}.cover-back{top:25px;left:22px}.detail-body{padding:28px 25px}.detail-body h1{font-size:30px}.detail-body .eyebrow{margin-bottom:12px}.notification-row{padding:23px 14px;gap:12px}.theme-grid{gap:22px 12px}.theme-art{height:160px}.theme-art .botanical{width:90px}.notice-banner{padding:16px;gap:11px}.theme-option b{font-size:11px}#toast{bottom:91px;font-size:11px;white-space:normal;text-align:center;width:max-content}.splash{height:calc(100dvh - 150px)}.profile-panel{padding-top:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.splash{background:linear-gradient(#b8c4d3,#eed3bf 60%,#d3afa0)}.splash>.photo{top:50%;height:50%;opacity:.8}.splash:after{content:"";position:absolute;inset:40% 0 25%;background:linear-gradient(#ead0bd,transparent);pointer-events:none}.splash-content{z-index:1}

.repeat-option{display:flex;align-items:center;gap:16px;padding:17px;background:var(--accent-pale);border:1px solid var(--line);border-radius:12px;position:relative;cursor:pointer}.repeat-option>span:first-child{flex:1}.repeat-option b{display:block;font-size:12px;font-weight:550;line-height:1.5}.repeat-option small{display:block;font-size:10px;color:var(--muted);line-height:1.6;margin-top:5px}.repeat-option input{position:absolute;right:17px;width:42px;height:26px;opacity:0;cursor:pointer}.toggle-track{width:42px;height:26px;background:#c9c6c3;border-radius:20px;flex-shrink:0;pointer-events:none;transition:background .2s}.toggle-track:after{content:'';display:block;width:20px;height:20px;border-radius:50%;background:white;margin:3px;box-shadow:0 1px 4px #0002;transition:transform .2s}.repeat-option input:checked+.toggle-track{background:var(--accent-dark)}.repeat-option input:checked+.toggle-track:after{transform:translateX(16px)}.repeat-option input:focus-visible+.toggle-track{outline:2px solid var(--accent-dark);outline-offset:4px}.repeat-help{font-size:10px;color:var(--muted);margin-top:-12px;line-height:1.7}.repeat-detail{font-size:11px;color:var(--accent-dark);margin-top:14px}

/* Profile: quiet typography and direct access to preferences. */
.profile-redesign .page-header{margin-bottom:32px}
.profile-intro{padding:7px 0 27px;margin-bottom:30px;border-bottom:1px solid var(--line)}
.profile-accent-line{display:block;width:28px;height:3px;border-radius:3px;background:var(--accent);margin-bottom:19px}
.profile-intro h2{font:500 32px/1.2 var(--serif);letter-spacing:-.4px;overflow-wrap:anywhere}
.profile-intro p{font-size:11px;color:var(--muted);margin-top:10px}
.profile-intro .text-button{font-size:10px;margin-top:13px;gap:7px;min-height:34px}
.preferences-section{margin-bottom:28px}
.preferences-label{font:500 9px var(--font);letter-spacing:1.8px;color:var(--muted);margin:0 0 13px 3px}
.preferences-card{border:1px solid var(--line);border-radius:15px;overflow:hidden;background:var(--paper)}
.preference-row{display:flex;align-items:center;gap:13px;width:100%;padding:20px 17px;text-align:left;min-height:85px}
.preference-row+.preference-row{border-top:1px solid var(--line)}
.preference-row:hover{background:var(--panel)}
.preference-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:35px;height:35px;border-radius:11px;background:var(--accent-pale);color:var(--accent-dark)}
.preference-icon .icon{width:18px;height:18px}
.preference-copy{flex:1;min-width:0}
.preference-copy b{display:block;font-size:12px;font-weight:500}
.preference-copy small{display:block;font-size:10px;line-height:1.5;color:var(--muted);margin-top:6px}
.preference-value{font-size:9px;color:var(--accent-dark);padding:5px 8px;background:var(--accent-pale);border-radius:6px;flex-shrink:0}
.preference-arrow{width:14px;height:14px;color:var(--muted)}
.profile-signature{text-align:center;padding:11px 0 5px}
.profile-signature>span{font:italic 30px var(--serif);color:var(--accent-dark)}
.profile-signature>p{font-size:9px;color:var(--muted);margin-top:5px;letter-spacing:.2px}
@media(max-width:700px){.profile-redesign .page-header{margin-bottom:26px}.profile-intro{padding-top:2px;padding-bottom:19px;margin-bottom:25px}.profile-intro h2{font-size:30px}.preference-row{padding:18px 14px;gap:11px}.preference-copy small{font-size:9px}.preferences-section{margin-bottom:24px}.profile-signature{padding-top:4px}}

/* A warmer, personal profile without photographs or statistics. */
.profile-redesign .page-header{margin-bottom:24px}
.profile-intro{display:flex;align-items:center;position:relative;isolation:isolate;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line));border-radius:23px;padding:25px 25px 23px;margin-bottom:29px;background:radial-gradient(ellipse at 100% 0%,#efd5c466,transparent 70%),linear-gradient(125deg,var(--accent-pale),var(--panel));box-shadow:0 9px 25px #70506307}
.profile-hello{position:relative;z-index:1;flex:1;min-width:0}
.hello-tag{display:block;font-size:8px;font-weight:550;letter-spacing:1.9px;color:var(--accent-dark);margin-bottom:14px}
.profile-intro h2{font-size:34px;line-height:1.15;letter-spacing:-.6px;max-width:360px}
.profile-intro h2 em{font-style:italic;color:var(--accent-dark)}
.profile-intro p{font-size:12px;line-height:1.7;color:color-mix(in srgb,var(--ink) 65%,var(--muted));margin-top:12px}
.profile-intro .text-button{font-size:10px;color:var(--accent-dark);margin-top:17px;padding:9px 12px;background:color-mix(in srgb,var(--paper) 75%,transparent);border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-radius:20px;min-height:35px}
.profile-keepsake{width:98px;height:130px;position:relative;flex-shrink:0;margin-left:5px;margin-right:6px}
.keepsake-paper{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;inset:14px 3px 2px 0;transform:rotate(9deg);background:var(--paper);border:1px solid var(--line);border-radius:4px 4px 25px 4px;box-shadow:3px 7px 0 color-mix(in srgb,var(--accent) 13%,transparent)}
.keepsake-paper:before{content:'';position:absolute;width:35px;height:12px;background:color-mix(in srgb,var(--accent) 28%,transparent);top:-5px;transform:rotate(-16deg)}
.keepsake-paper>.icon{width:25px;height:25px;color:#bd9290;margin-bottom:11px}
.keepsake-paper>span{font:italic 16px/1.2 var(--serif);text-align:center;color:var(--accent-dark)}
.keepsake-spark{position:absolute;right:-9px;top:-9px;color:#bc9d6d;font-size:28px;z-index:2}
.keepsake-dot{position:absolute;bottom:-10px;left:-12px;font-size:21px;color:var(--accent)}
.preferences-label{font-size:9px;letter-spacing:1.4px;margin-bottom:12px;color:var(--accent-dark)}
.preferences-card{border-radius:18px;box-shadow:0 4px 20px #70506305}
.preference-row{padding:19px 18px;gap:14px;min-height:84px}
.preference-row:hover{background:color-mix(in srgb,var(--accent-pale) 45%,var(--paper))}
.preference-row .preference-arrow{transition:transform .2s}
.preference-row:hover .preference-arrow{transform:translateX(3px)}
.preference-icon{width:40px;height:40px;border-radius:14px;background:#e9e0f0;color:#9479a4;box-shadow:inset 0 0 0 1px #fff5}
.preference-row[data-nav=reminders] .preference-icon{background:#f5e2d9;color:#b5876a}
.preference-row[data-nav=edit-profile] .preference-icon{background:#e5ece1;color:#829575}
.preference-row[data-nav=about] .preference-icon{background:#f0e2e5;color:#b38393}
.preference-copy b{font-size:13px}
.preference-copy small{font-size:10px;color:color-mix(in srgb,var(--ink) 50%,var(--muted))}
.preference-value{border-radius:20px;padding:6px 10px}
.theme-swatches{display:flex;align-items:center;gap:4px;margin-top:10px}
.theme-swatches i{width:12px;height:12px;background:#e8daca;border-radius:50%;border:1px solid #00000009}
.theme-swatches i:nth-child(2){background:#b9a5ce}.theme-swatches i:nth-child(3){background:#e0adb0}.theme-swatches i:nth-child(4){background:#9fac91}
.profile-signature{padding-top:0}.signature-heart{display:flex;align-items:center;justify-content:center;gap:10px;margin:0 auto 4px;color:var(--accent)}.signature-heart:before,.signature-heart:after{content:'';width:28px;height:1px;background:var(--line)}.signature-heart .icon{width:12px;height:12px}.profile-signature>span{font-size:25px}.profile-signature>p{font-size:10px}
@media(max-width:700px){.profile-intro{padding:23px 21px;margin-bottom:25px}.profile-intro h2{font-size:30px}.profile-intro p{font-size:11px}.profile-keepsake{width:81px;height:113px;margin-right:1px}.keepsake-paper>span{font-size:15px}.preference-row{padding:17px 14px;gap:11px}.preference-copy b{font-size:12px}.preference-copy small{font-size:9px}.preference-icon{width:36px;height:36px;border-radius:12px}.preference-value{padding:5px 8px}.profile-intro .text-button{margin-top:16px}}
@media(max-width:360px){.profile-keepsake{width:65px;height:104px}.profile-intro{padding:21px 17px}.profile-intro h2{font-size:27px}.keepsake-paper>span{font-size:13px}}

.simple-detail{padding:4px 0 25px}.detail-back{font-size:11px;gap:6px;margin-bottom:22px;min-height:38px}.detail-back .icon{width:17px;height:17px}.detail-heading{padding:27px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(125deg,var(--accent-pale),var(--panel))}.detail-category{display:flex;align-items:center;gap:8px;color:var(--accent-dark);font-size:11px;margin-bottom:19px}.detail-category .icon{width:20px;height:20px}.detail-heading h1{font-size:34px;line-height:1.2;overflow-wrap:anywhere}.detail-countdown{font:italic 25px var(--serif);color:var(--accent-dark);margin-top:18px}.detail-facts{margin-top:25px;border:1px solid var(--line);border-radius:16px;background:var(--paper);padding:0 19px}.detail-facts>div{display:flex;gap:15px;align-items:center;padding:19px 0}.detail-facts>div+div{border-top:1px solid var(--line)}.detail-facts .icon{color:var(--accent-dark);width:20px;height:20px}.detail-facts small{display:block;font-size:8px;letter-spacing:1.3px;color:var(--muted);margin-bottom:7px}.detail-facts b{display:block;font-size:12px;font-weight:500}.simple-detail>.danger{padding:14px 0;margin-top:23px}.simple-detail .note-box p{overflow-wrap:anywhere}@media(max-width:700px){.detail-main:has(.simple-detail){padding:25px 23px 100px}.detail-heading{padding:23px}.detail-heading h1{font-size:31px}}

/* Events are information cards, not links to another screen. */
article.event-card{cursor:default;overflow:visible;transition:none}
article.event-card:hover{transform:none;box-shadow:var(--shadow)}
.event-card .event-copy{padding-right:35px}
.event-inline-note{margin-top:13px;padding-top:10px;border-top:1px solid var(--line);font-size:11px;line-height:1.7;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere}
.event-menu{position:absolute;right:10px;bottom:12px;z-index:2}
.event-menu[open]{z-index:5}
.event-menu summary{display:flex;align-items:center;justify-content:center;width:34px;height:32px;border-radius:10px;cursor:pointer;list-style:none;font-size:22px;color:var(--accent-dark)}
.event-menu summary::-webkit-details-marker{display:none}
.event-menu summary:hover,.event-menu[open] summary{background:var(--accent-pale)}
.event-menu summary:focus-visible{outline:2px solid var(--accent-dark);outline-offset:2px}
.event-menu-panel{position:absolute;right:0;top:37px;width:190px;padding:9px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 25px #49354918}
.event-menu-panel>span{display:block;padding:8px;font-size:10px;color:var(--muted)}
.event-menu-panel>button{display:flex;align-items:center;gap:8px;padding:11px 8px;color:#a36c67;width:100%;text-align:left;font-size:11px;border-radius:7px}
.event-menu-panel>button .icon{width:16px;height:16px}
.event-menu-panel>button:hover{background:var(--panel)}
article.notification-row{cursor:default}

/* The single, permanent night palette. */
:root,[data-theme=night]{color-scheme:dark;--bg:#202f35;--panel:#293b41;--paper:#26373d;--ink:#eee9dc;--muted:#b0bebc;--line:#3b4f54;--accent:#b1c5b8;--accent-dark:#c0d2c7;--accent-pale:#334a4c;--sage:#b1c5b8;--shadow:0 6px 24px #0b17191c}
::selection{background:#b1c5b8;color:#202f35}
body{background:var(--bg);color:var(--ink)}
.primary,.fab,.chip.selected{background:#b1c5b8;border-color:#b1c5b8;color:#203238}
.primary:hover,.fab:hover,.chip.selected:hover{background:#c4d4c9}
.nav-item{color:var(--muted)}.nav-item.active{background:#33494d;color:#e1eadd}
.brand .icon,.notification,.brand-tagline{color:var(--muted)}
.botanical{color:#b4c3a5}.banner-spark{color:#d2c6a6}
[data-theme=night] .welcome-banner{background:linear-gradient(125deg,#30444a,#2a3a40);border-color:#42565a}
.welcome-banner h2{color:var(--ink)}.welcome-banner p,.tiny-title{color:#c0cbbf}
.section-heading h2>span{background:#3a4e51;color:#e0e7dc}
.chip{color:#c5ceca;border-color:#4a5b5f}.chip.selected{color:#203238}
[data-theme=night] .event-card{background:#303c40;border-color:#495355}
[data-theme=night] .event-card.birthday{background:#3a3e40;border-color:#535255}
[data-theme=night] .event-card.concert{background:#363d4b;border-color:#4d5667}
[data-theme=night] .event-card.exam{background:#303f3a;border-color:#495b4e}
[data-theme=night] .event-card.appointment{background:#3c3e3a;border-color:#56584e}
.category-label,.event-card .category-icon{color:#e1b7ad}
.concert .category-label,.concert .category-icon{color:#c9bde5}
.exam .category-label,.exam .category-icon{color:#bed0ac}
.appointment .category-label,.appointment .category-icon{color:#d9c7aa}
.other .category-label,.other .category-icon{color:#bacccc}
.event-copy h3,.countdown{color:var(--ink)}.event-footer{color:#bdc7c3}
.event-inline-note{color:#d5dcd4;border-color:#576365}.event-menu-panel>button,.danger{color:#efb4ac}
.gentle-note,.gentle-note>span,.today-label,.right-footer{color:#b3beb4}
.sidebar-bottom>p{color:#bfc9b9}
[data-theme=night] .inspiration{background:#24373d}
[data-theme=night] .inspiration:after{background:linear-gradient(#26383ee6,#26383ebf 50%,#26383e44)}
[data-theme=night] .inspiration-content{color:var(--ink)}
.inspiration-content>.icon,.inspiration-content>span{color:#c8d2c1}
[data-theme=night] .little-reminder{background:#2c3e43;border-color:var(--line)}
.little-reminder>span,.little-reminder>.icon{color:#c6c7ae}
input::placeholder,textarea::placeholder{color:#aab7b6}
.form-intro,.muted,.optional,.repeat-help{color:var(--muted)}
.category-choice:has(input:checked){background:#3d5555;color:#e1e9de;border-color:#9bb6aa}
.repeat-option{background:#2e4548}.toggle-track{background:#53696c}
.repeat-option input:checked+.toggle-track{background:#b1c5b8}
.calendar-day.chosen{background:#b1c5b8;color:#203238}
.calendar-day.today{box-shadow:inset 0 0 0 1px #b1c5b8}
.notice-banner{background:#30484b}.notice-banner p,.notice-banner>.icon{color:#d0ded4}
.notice-icon{background:#524449;color:#e8b9b0}.notice-icon.concert{background:#45465e;color:#d3c4e8}.notice-icon.exam{background:#415348;color:#c4d5b3}
.profile-intro{background:radial-gradient(ellipse at 100% 0%,#52636044,transparent 70%),linear-gradient(125deg,#344a50,#293e43);border-color:#4c6266}
.profile-intro h2{color:var(--ink)}.profile-intro h2 em,.hello-tag{color:#c7d7c5}
.profile-intro p{color:#c7d1c9}
.profile-intro .text-button{background:#3b5356;border-color:#526d6c;color:#e1e9dd}
.keepsake-paper{background:#dcdaca;border-color:#bdbfad;box-shadow:3px 7px 0 #101f2340}
.keepsake-paper>span{color:#475b54}.keepsake-paper>.icon{color:#846763}
.keepsake-paper:before{background:#80978aaa}.keepsake-spark{color:#d8c9a6}
.preference-icon,.preference-row[data-nav=reminders] .preference-icon{background:#4b4c40;color:#e0cfad;box-shadow:none}
.preference-row[data-nav=edit-profile] .preference-icon{background:#3b534b;color:#c1d4bb}
.preference-copy small{color:#b9c7c2}.preferences-label{color:#bacdbd}
.profile-signature>span{color:#c1d1bf}
.bottom-nav .nav-item{color:#aabbb8}.bottom-nav .nav-item.active{color:#dce7d7}
.splash{background:linear-gradient(#273d45,#425559 60%,#697776)}.splash:after{background:linear-gradient(#435659,transparent)}.splash-content .primary{background:#b1c5b8;color:#203238}

.bottom-nav .nav-item.active{background:transparent}

/* Event cards share the night surface; category colors stay in the accents. */
[data-theme=night] article.event-card.event-card{
  --event-accent:#adc7c5;
  background:linear-gradient(115deg,#30464c 0%,#293d44 55%,#273a41 100%);
  border:1px solid #415b60;
  border-radius:17px;
  box-shadow:0 5px 18px #10202620,inset 0 1px 0 #d2e8dc06;
}
[data-theme=night] article.event-card.birthday{--event-accent:#e5b8aa}
[data-theme=night] article.event-card.concert{--event-accent:#c8bfe7}
[data-theme=night] article.event-card.exam{--event-accent:#bed2b0}
[data-theme=night] article.event-card.appointment{--event-accent:#dec9a3}
[data-theme=night] article.event-card:before{
  content:'';position:absolute;left:-1px;top:25px;bottom:25px;width:3px;
  border-radius:4px;background:var(--event-accent);opacity:.75;pointer-events:none;
}
[data-theme=night] article.event-card:hover{box-shadow:0 5px 18px #10202620,inset 0 1px 0 #d2e8dc06}
[data-theme=night] .event-card .category-label{color:var(--event-accent)}
[data-theme=night] .event-card .category-icon{
  display:flex;align-items:center;justify-content:center;
  width:33px;height:33px;right:14px;top:14px;border-radius:11px;
  background:color-mix(in srgb,var(--event-accent) 9%,transparent);
  color:var(--event-accent);
}
[data-theme=night] .event-card .category-icon .icon{width:19px;height:19px}
[data-theme=night] .event-card .event-copy{padding-left:14px;padding-right:39px}
[data-theme=night] .event-card .event-copy h3{color:#f0ecdf}
[data-theme=night] .event-card .countdown{color:#dbe7dc}
[data-theme=night] .event-card .event-footer{color:#b4c6c4}
[data-theme=night] .event-card .event-menu summary{color:#a9c1bd}

/* Clear category markers on the dark calendar surface. */
[data-theme=night] .dot{background:#d8e2e7}
[data-theme=night] .dot.birthday{background:#ff9fae}
[data-theme=night] .dot.concert{background:#c2adff}
[data-theme=night] .dot.exam{background:#a7d78e}
[data-theme=night] .dot.appointment{background:#ffc488}
[data-theme=night] .dot.other{background:#d8e2e7}
[data-theme=night] .legend{gap:14px 17px}
[data-theme=night] .legend span{color:#dce5e1;font-size:10px;gap:7px}
[data-theme=night] .legend .dot{width:9px;height:9px;box-shadow:0 0 0 2px #ffffff0b}
[data-theme=night] .calendar-day .dot{width:6px;height:6px}
[data-theme=night] .calendar-day.chosen .dot{outline:1px solid #31464b;outline-offset:1px}

/* One category palette shared by cards, calendar markers and notifications. */
:root{--cat-birthday:#ffd16a;--cat-concert:#72d8ff;--cat-exam:#ff9b7a;--cat-appointment:#c5acff;--cat-other:#e1eaf0}
.birthday{--category-color:var(--cat-birthday)}
.concert{--category-color:var(--cat-concert)}
.exam{--category-color:var(--cat-exam)}
.appointment{--category-color:var(--cat-appointment)}
.other{--category-color:var(--cat-other)}
[data-theme=night] article.event-card.event-card{--event-accent:var(--category-color,var(--cat-other))}
[data-theme=night] article.event-card:before{width:4px;opacity:1;top:23px;bottom:23px}
[data-theme=night] .event-card .category-label{font-weight:550;color:var(--event-accent)}
[data-theme=night] .event-card .category-icon{background:color-mix(in srgb,var(--event-accent) 17%,#253940);border:1px solid color-mix(in srgb,var(--event-accent) 30%,transparent);color:var(--event-accent)}
[data-theme=night] .event-card .category-icon .icon{stroke-width:1.8}
[data-theme=night] .dot.birthday,[data-theme=night] .dot.concert,[data-theme=night] .dot.exam,[data-theme=night] .dot.appointment,[data-theme=night] .dot.other{background:var(--category-color)}
[data-theme=night] .notice-icon.birthday,[data-theme=night] .notice-icon.concert,[data-theme=night] .notice-icon.exam,[data-theme=night] .notice-icon.appointment,[data-theme=night] .notice-icon.other{color:var(--category-color);background:color-mix(in srgb,var(--category-color) 17%,#253940)}
[data-theme=night] .category-choice .icon{color:var(--category-color)}

.settings-welcome{display:flex;align-items:center;gap:15px;padding:21px;margin-bottom:25px;border:1px solid #425c60;border-radius:18px;background:linear-gradient(120deg,#334b50,#2a3d43)}.settings-welcome>.icon{width:28px;height:35px;color:#c2d1b9}.settings-welcome h2{font:500 25px/1.2 var(--serif)}.settings-welcome p{font-size:10px;color:var(--muted);margin-top:7px}.real-settings{display:grid;gap:19px}.settings-group{padding:20px;border:1px solid var(--line);border-radius:17px;background:var(--paper)}.settings-group h2{display:flex;gap:9px;align-items:center;font-size:13px;color:#dce7d4;margin-bottom:19px}.settings-group h2 .icon{width:18px;height:18px;color:var(--accent)}.settings-group label{font-size:11px;color:#c5d2cc}.settings-group label+label{margin-top:20px}.setting-help{font-size:10px;color:var(--muted);margin-top:11px;line-height:1.7}.settings-save-note{text-align:center;font-size:10px;color:var(--muted);margin-top:-8px}.real-settings .primary{margin-top:2px}@media(max-width:700px){.settings-welcome{padding:18px}.settings-welcome h2{font-size:23px}.settings-group{padding:18px}}

/* Compact settings sheet, with native modal focus and Escape behavior. */
.settings-trigger{color:var(--accent);border:1px solid var(--line);background:#2b4147}
.settings-sheet{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,460px);max-width:100%;max-height:90dvh;overflow-y:auto;border:1px solid #4b6266;border-bottom:0;border-radius:25px 25px 0 0;background:#293d43;color:var(--ink);padding:13px 26px max(28px,env(safe-area-inset-bottom));box-shadow:0 -12px 70px #09181c66}
.settings-sheet::backdrop{background:#07161bc2;backdrop-filter:blur(4px)}
body:has(.settings-sheet[open]){overflow:hidden}
.sheet-handle{width:35px;height:4px;background:#718a8b;border-radius:5px;margin:0 auto 26px}
.sheet-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:25px}
.sheet-header h2{font:500 30px/1.2 var(--serif)}
.sheet-header .eyebrow{font-size:8px;color:#b8cdc2;margin-bottom:7px}
.sheet-header .icon-button{color:var(--muted);background:#344b50;flex-shrink:0}
.settings-sheet form{display:grid;gap:21px}
.settings-sheet label{font-size:12px}
.settings-sheet input,.settings-sheet select{background:#203238!important;border-color:#4b6266!important}
.settings-sheet .setting-help{margin-top:-10px;font-size:11px;line-height:1.65}
.settings-sheet .primary{margin-top:3px}
.settings-sheet[open]{animation:sheet-enter .22s ease-out}
@keyframes sheet-enter{from{transform:translateY(25px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){.settings-sheet[open]{animation:none}}

.event-menu-panel>button[data-edit]{color:var(--ink)}

/* First launch: welcome and a single, personal introduction. */
.onboarding{min-height:100dvh;max-width:520px;margin:auto;padding:37px 30px max(27px,env(safe-area-inset-bottom));display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 32%,#3b565d66,transparent 55%);color:var(--ink)}
.onboard-brand{display:flex;justify-content:center;align-items:center;gap:9px;color:#d7dfcb}.onboard-brand span{font:italic 39px var(--serif);letter-spacing:-1px}.onboard-brand>.icon{width:22px;height:29px}
.onboard-art{height:255px;position:relative;width:260px;margin:25px auto 20px;flex-shrink:0;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #a7c4b21c;border-radius:50%;width:240px;height:240px}.orbit-two{width:170px;height:170px;border-style:dashed;transform:rotate(20deg)}.onboard-botanical{width:95px;height:172px;transform:rotate(10deg);opacity:.85}.onboard-botanical .botanical{width:100%;height:100%;color:#b9c8a9}.orbit-symbol{position:absolute;width:43px;height:43px;display:grid;place-items:center;background:#30474e;border:1px solid #50666a;border-radius:14px;box-shadow:0 7px 22px #10202644;color:var(--category-color)}.orbit-symbol.birthday{left:3px;top:61px;transform:rotate(-12deg)}.orbit-symbol.concert{right:2px;top:67px;transform:rotate(12deg)}.orbit-symbol.appointment{left:74px;bottom:0;transform:rotate(-8deg)}.onboard-star{position:absolute;right:51px;bottom:35px;font-size:27px;color:#cfc5a1}
.onboard-copy{text-align:center}.onboard-copy .eyebrow{font-size:8px;letter-spacing:1.3px;color:#b5c9b6;margin-bottom:17px}.onboard-copy h1,.name-intro h1{font:500 39px/1.12 var(--serif);letter-spacing:-.6px}.onboard-copy h1 em,.name-intro h1 em{font-weight:400;color:#bdceb8}.onboard-copy>p:last-child{font-size:12px;line-height:1.85;color:#bdcbc7;margin-top:18px}.onboard-bottom{margin-top:auto;padding-top:29px;text-align:center}.onboard-dots{display:flex;justify-content:center;gap:6px;margin-bottom:20px}.onboard-dots i{height:5px;width:5px;border-radius:5px;background:#546d70}.onboard-dots i.active{width:20px;background:#b1c5b8}.onboard-bottom>.primary{min-height:49px;font-size:13px}.onboard-bottom>span{display:block;font-size:9px;color:#a9bdb6;margin-top:16px}
.name-top{display:flex;align-items:center;justify-content:space-between}.name-top .onboard-brand span{font-size:33px}.name-top>.icon-button{background:#2d4349;border:1px solid var(--line)}.name-intro{padding-top:65px}.name-heart{display:grid;place-items:center;width:53px;height:53px;background:#344b4e;border:1px solid #51676a;border-radius:19px;color:#d5c8b2;margin-bottom:27px;transform:rotate(-6deg)}.name-heart .icon{width:26px;height:26px}.name-intro .eyebrow{font-size:9px;margin-bottom:17px;color:#b6cbbd}.name-intro h1{font-size:43px}.name-intro>p:last-child{font-size:13px;line-height:1.8;color:#bdcbc7;margin:20px 0 31px}.name-screen form{flex:1;display:flex;flex-direction:column}.name-screen label{font-size:12px;color:#dce5d9}.name-screen input{background:#293f46!important;border-color:#536c70!important;padding:17px!important;font-size:16px!important;min-height:54px!important}.name-hint{font-size:10px;color:#b0c2ba;margin-top:11px}.name-screen .onboard-bottom{padding-top:35px}
@media(min-width:701px){.onboarding{min-height:min(900px,100dvh);border-left:1px solid var(--line);border-right:1px solid var(--line);padding-left:45px;padding-right:45px}.name-intro{padding-top:75px}}
@media(max-height:750px){.onboard-art{height:196px;transform:scale(.8);margin:8px auto}.onboard-copy h1{font-size:34px}.name-intro{padding-top:28px}.onboard-bottom{padding-top:22px}}

/* Final application name. */
.onboard-brand span{font-size:29px;letter-spacing:-.6px}.name-top .onboard-brand span{font-size:24px}.brand span{font-size:25px;line-height:1.1;letter-spacing:-.7px;text-align:left}.gentle-note>span{font-size:19px}

/* Branded empty state and in-app time picker. */
.empty-logo{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 20px;border:1px solid var(--line);border-radius:27px;background:var(--accent-pale);color:var(--accent-dark);box-shadow:0 8px 22px #596b4c12}
.empty-logo .icon{width:45px;height:52px;stroke-width:1.7}
.form-field>label{display:block;font-size:12px;font-weight:500}
.time-field{display:flex;align-items:center;gap:13px;width:100%;min-height:64px;margin-top:10px;padding:12px 15px;border:1px solid var(--line);border-radius:14px;background:var(--bg);text-align:left;color:var(--accent-dark)}
.time-field>span{display:grid;gap:4px;flex:1}.time-field small{font-size:9px;letter-spacing:.7px;color:var(--muted)}.time-field b{font-size:17px;font-weight:600;color:var(--ink)}.time-field>.icon:first-child{width:25px;height:25px}.time-field>.icon:last-child{width:17px;height:17px;color:var(--muted)}
.time-picker{width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--ink);overflow:visible}.time-picker::backdrop{background:#342f28a8;backdrop-filter:blur(3px)}
.time-picker-sheet{position:fixed;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,520px);padding:12px 22px max(24px,env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;border-radius:28px 28px 0 0;background:var(--paper);box-shadow:0 -18px 60px #3f38294d}
.time-picker-handle{width:42px;height:5px;margin:0 auto 22px;border-radius:5px;background:#d9d2c4}.time-picker header{display:flex;align-items:center;justify-content:space-between;gap:20px}.time-picker header h2{font:500 27px/1.2 var(--serif)}.time-picker header .icon-button{background:var(--panel);color:var(--muted)}
.time-preview{display:flex;align-items:center;justify-content:center;margin:20px 0 17px;font:600 42px/1 var(--font);letter-spacing:1px;color:var(--accent-dark)}.time-preview i{font-style:normal;margin:0 6px;color:#b0a793}
.time-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.time-columns section{min-width:0}.time-columns h3{text-align:center;font-size:10px;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.time-options{height:220px;overflow-y:auto;padding:82px 7px;scroll-snap-type:y mandatory;border:1px solid var(--line);border-radius:17px;background:var(--bg);scrollbar-width:none}.time-options::-webkit-scrollbar{display:none}.time-options button{display:block;width:100%;height:52px;border-radius:13px;font-size:17px;color:var(--muted);scroll-snap-align:center}.time-options button.selected{background:var(--accent);color:white;font-weight:650;box-shadow:0 5px 14px #71857525}
.time-picker footer{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:16px;margin-top:18px}.time-picker footer .text-button,.time-picker footer .time-cancel{font-size:11px;color:var(--muted)}.time-picker footer .primary{min-height:45px;padding-inline:17px}
body:has(.time-picker[open]){overflow:hidden}
@media(prefers-reduced-motion:reduce){.time-picker::backdrop{backdrop-filter:none}}
