@import"https://fonts.googleapis.com/css2?family=Anuphan:wght@400;600;700;800;900&display=swap";:root{font-family:Anuphan,Noto Sans Thai,Inter,Segoe UI,system-ui,sans-serif;color:#2b2c35;background:#fff0f6;--pink: #f24770;--pink-dark: #dc315b;--hot-pink: #ff3f8b;--green: #2fbf75;--orange: #f18614;--red: #ef4d64;--text: #2b2c35;--muted: #767985;--line: #f1dbe2;--shadow: 0 18px 44px rgba(225, 77, 112, .15)}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 12% 10%,rgba(255,149,193,.26),transparent 260px),radial-gradient(circle at 88% 12%,rgba(143,107,255,.16),transparent 320px),#fff0f6}button,input,select{font:inherit}button{border:0}.app-shell{width:min(100%,1060px);min-height:100vh;margin:0 auto;padding:24px 16px 112px;background:radial-gradient(circle at top right,rgba(255,191,207,.55),transparent 300px),linear-gradient(180deg,#fff6f9eb,#fffafcdb 48%,#fff4f7eb)}.landing-page{position:relative;display:grid;min-height:100vh;place-items:center;overflow:hidden;padding:28px 16px;background:radial-gradient(circle at 12% 14%,rgba(255,111,160,.22),transparent 250px),radial-gradient(circle at 88% 18%,rgba(255,196,214,.42),transparent 280px),linear-gradient(160deg,#fff7fb,#ffe8f0 56%,#fff5f8)}.landing-page:before{position:absolute;top:18px;right:18px;bottom:18px;left:18px;border:1px solid rgba(255,168,195,.45);border-radius:8px;content:"";pointer-events:none}.landing-bg-heart{position:absolute;opacity:.72;filter:blur(.1px) drop-shadow(0 12px 20px rgba(242,71,112,.16));pointer-events:none}.heart-a{top:12%;left:10%;font-size:38px;animation:landingFloat 4.2s ease-in-out infinite}.heart-b{right:9%;bottom:18%;font-size:46px;animation:landingFloat 4.8s ease-in-out .35s infinite}.heart-c{top:20%;right:20%;font-size:28px;animation:stickerBob 3.2s ease-in-out infinite}.landing-card{position:relative;z-index:1;width:min(100%,470px);padding:30px 22px 24px;border:1px solid rgba(255,190,207,.9);border-radius:8px;background:radial-gradient(circle at top right,rgba(255,63,139,.12),transparent 190px),#ffffffe8;box-shadow:0 24px 60px #db3f6c2e;text-align:center;animation:landingCardIn .52s cubic-bezier(.2,.8,.2,1) both}.landing-orbit{position:relative;display:grid;width:132px;height:132px;place-items:center;margin:0 auto 18px;border:1px dashed #ffc4d3;border-radius:50%;background:linear-gradient(145deg,#fff,#fff1f6);animation:softSpin 10s linear infinite}.landing-orbit span{position:absolute;display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:#fff;box-shadow:0 12px 24px #ec598529;font-size:28px;animation:reverseSoftSpin 10s linear infinite}.orbit-pill{top:-8px;left:39px}.orbit-heart{right:-3px;bottom:14px}.orbit-clock{bottom:14px;left:-3px}.landing-kicker{margin:0 0 8px;color:var(--hot-pink);font-size:13px;font-weight:900;letter-spacing:0}.landing-card h1{margin:0;color:var(--text);font-size:clamp(32px,8vw,46px);line-height:1.08}.landing-card p:not(.landing-kicker){margin:14px auto 0;max-width:360px;color:var(--muted);font-size:15px;font-weight:700;line-height:1.7}.landing-mini-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0 18px}.landing-mini-cards span{display:grid;min-height:48px;place-items:center;border:1px solid #ffd6df;border-radius:8px;background:#fff8fb;color:var(--pink-dark);font-size:12px;font-weight:900}.landing-start{width:100%;min-height:58px;cursor:pointer;border-radius:8px;background:linear-gradient(135deg,#ff78a7,#ff3f8b 42%,#ed2f60);color:#fff;box-shadow:0 14px 28px #ed2f603d;font-size:18px;font-weight:900}.cloud-page{display:grid;min-height:100vh;place-items:center;padding:24px 16px;background:radial-gradient(circle at 14% 12%,rgba(255,111,160,.2),transparent 260px),radial-gradient(circle at 84% 18%,rgba(255,198,217,.42),transparent 300px),#fff0f6}.cloud-card{display:grid;width:min(100%,460px);gap:14px;padding:24px}.cloud-card h1,.cloud-card p{margin:0}.cloud-card h1{font-size:30px;line-height:1.15}.cloud-card p:not(.section-label){color:var(--muted);font-size:14px;font-weight:700;line-height:1.6}.cloud-card label{display:grid;gap:8px;font-size:14px;font-weight:900}.cloud-card input{width:100%;min-height:54px;border:1px solid #ffc2d2;border-radius:8px;outline:none;background:#fff8fb;color:var(--text);padding:13px 14px;font-size:17px;font-weight:900}.cloud-card input:focus{border-color:var(--hot-pink);box-shadow:0 0 0 4px #ff3f8b21}.password-field{position:relative}.password-field input{padding-right:92px}.password-toggle{position:absolute;top:50%;right:8px;min-height:38px;padding:0 12px;transform:translateY(-50%);border-radius:8px;background:#ffe9f1;color:var(--pink-dark);cursor:pointer;font-size:13px;font-weight:900}.password-toggle:focus-visible{outline:3px solid rgba(255,63,139,.22);outline-offset:2px}.cloud-toggle,.cloud-toggle button{width:100%}.cloud-role-choice{margin:0;box-shadow:none}.viewer-only-note{margin:0;border:1px solid #ffd0dc;border-radius:8px;background:#fff6fa;color:var(--muted);padding:10px 12px;font-size:13px!important;font-weight:800!important}.cloud-signout{justify-self:center}.cloud-status{display:grid;grid-template-columns:1.2fr 1fr minmax(132px,auto);max-width:640px;align-items:center;gap:12px;padding:12px 14px;margin:0 auto 18px}.cloud-status span{display:block;color:var(--muted);font-size:12px;font-weight:900}.cloud-status strong{display:block;color:var(--pink-dark);font-size:14px}.cloud-status p,.cloud-status small{display:block;margin:3px 0 0;color:var(--muted);font-size:12px;font-weight:800}.cloud-audit{border-left:1px solid var(--line);padding-left:12px}.cloud-status-actions{display:grid;gap:8px;justify-items:stretch}.cloud-status-actions button{min-height:44px;cursor:pointer;border-radius:8px;background:linear-gradient(135deg,#fff0f5,#ffe4ef);color:var(--pink-dark);padding:0 14px;font-size:14px;font-weight:900}.cloud-signout-button{border:1px solid #ffc2d2;box-shadow:0 10px 20px #ec59851a}.cloud-signout-button:focus-visible{outline:3px solid rgba(255,63,139,.22);outline-offset:2px}.cloud-error-banner{max-width:640px;margin:-4px auto 18px;border-color:#ffb8c7;background:#fff1f5;padding:12px 14px;color:#c92d48}.cloud-error-banner strong{display:block;font-size:13px}.cloud-error-banner p{margin:4px 0 0;font-size:13px;font-weight:800}.topbar{margin-bottom:18px}.brand{display:flex;align-items:center;justify-content:center;gap:12px}.brand-icon{display:grid;width:50px;height:50px;place-items:center;border:1px solid #ffc5d3;border-radius:8px;background:linear-gradient(145deg,#fff,#ffe8f0);box-shadow:var(--shadow);font-size:28px;animation:pillFloat 3.4s ease-in-out infinite}.brand h1,.brand p,.section-heading h2,.page-title h2,.today-card h2,.log-card h3{margin:0}.brand h1{color:var(--hot-pink);font-size:clamp(34px,7vw,46px);line-height:1}.brand p{margin-top:5px;color:var(--muted);font-size:13px}.role-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:5px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;background:#ffffffdb;box-shadow:0 10px 26px #ec598514}.role-switch button,.mini-toggle button{cursor:pointer;border-radius:7px;background:transparent;color:#747783}.role-switch button:disabled{cursor:default;opacity:.78}.role-switch button{display:grid;gap:2px;padding:13px 10px 12px;font-weight:800}.role-switch span{font-size:12px}.role-switch button.active,.mini-toggle button.active{background:linear-gradient(135deg,#fff,#fff1f6);color:var(--hot-pink);box-shadow:inset 0 0 0 1px #ff9bb4,0 8px 18px #ff5c8b1f}.card{border:1px solid var(--line);border-radius:8px;background:#fffffff0;box-shadow:var(--shadow)}.home-layout{display:grid;gap:24px}.home-primary{display:grid;gap:18px}.today-card{position:relative;overflow:hidden;padding:22px;animation:cardIn .42s ease both}.today-card:before{position:absolute;inset:-90px -70px auto auto;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,rgba(255,109,154,.24),transparent 66%);content:""}.floating-sticker{position:absolute;z-index:1;filter:drop-shadow(0 8px 14px rgba(236,89,133,.2));pointer-events:none}.sticker-one{top:12px;right:18px;animation:stickerBob 2.7s ease-in-out infinite}.sticker-two{right:92px;bottom:84px;animation:stickerBob 3.1s ease-in-out .2s infinite}.today-state{position:relative;z-index:2;display:flex;justify-content:space-between;gap:14px;padding-bottom:20px;border-bottom:1px dashed #f0d6de}.section-label{margin:0 0 4px;color:var(--muted);font-size:13px;font-weight:800}.today-card h2,.page-title h2{font-size:26px;line-height:1.2}.mascot{display:grid;flex:0 0 78px;height:78px;place-items:center;border-radius:8px;background:linear-gradient(145deg,#ffd5df,#ff7fa0);font-size:38px;animation:heartbeat 1.9s ease-in-out infinite}.soft-chip,.status-badge{display:inline-flex;width:fit-content;min-height:30px;align-items:center;padding:5px 12px;border-radius:999px;font-size:13px;font-weight:800}.soft-chip{margin-top:10px;background:#ffe7ee;color:var(--pink-dark)}.status-badge.on_time{background:#e7f8ef;color:#208652}.status-badge.early{background:#fff0f7;color:#d93678}.status-badge.late{background:#fff1df;color:#c25c00}.status-badge.missed{background:#ffe7eb;color:#cc2f47}.pill-plan{position:relative;z-index:2;display:flex;align-items:center;gap:14px;padding:22px 0}.pill-disc{display:grid;width:70px;height:70px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#ffccd8,#ff7ca0);box-shadow:0 12px 22px #f247702e;font-size:32px}.pill-plan strong,.pill-plan span{display:block}.pill-plan strong{font-size:26px}.pill-plan span{margin-top:4px;color:var(--muted);font-size:18px}.stamp-button{width:100%;min-height:66px;cursor:pointer;border-radius:8px;background:linear-gradient(135deg,#ff78a7,#ff3f8b 42%,#ed2f60);color:#fff;box-shadow:0 12px 24px #ed2f603d;font-size:22px;font-weight:900}.stamp-button:disabled{cursor:not-allowed;background:#f2dbe2;color:#9f6d7b;box-shadow:none}.backfill-button{width:100%;min-height:48px;margin-top:10px;cursor:pointer;border:1px solid #ffb9cb;border-radius:8px;background:linear-gradient(135deg,#fff7fb,#ffe8f1);color:var(--pink-dark);font-size:15px;font-weight:900}.backfill-button.compact{width:auto;min-height:42px;margin:0;padding:0 14px}.schedule-button{width:100%;min-height:44px;margin-bottom:10px;cursor:pointer;border:1px solid #ffd0dc;border-radius:8px;background:linear-gradient(135deg,#fff,#fff4f8);color:var(--pink-dark);font-size:14px;font-weight:900}.helper{margin:12px 0 0;color:var(--muted);font-size:13px;text-align:center}.love-notice{display:grid;grid-template-columns:48px 1fr 32px;gap:12px;align-items:center;padding:14px;margin-bottom:18px;animation:noticePop .38s cubic-bezier(.2,.8,.2,1) both}.love-notice.sweet{border-color:#bdebd4;background:linear-gradient(135deg,#f3fff8,#fff)}.love-notice.warning{border-color:#ffd0a0;background:linear-gradient(135deg,#fff7ed,#fff)}.love-notice.angry{border-color:#ffb8c7;background:linear-gradient(135deg,#fff0f4,#fff)}.notice-emoji{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:#fff1f6;font-size:26px}.love-notice strong{display:block;font-size:16px}.love-notice p,.streak-card p{margin:3px 0 0;color:var(--muted);font-size:14px;font-weight:700}.love-notice button{display:grid;width:32px;height:32px;cursor:pointer;place-items:center;border-radius:50%;background:#fff1f6;color:var(--pink-dark);font-size:20px;font-weight:900}.toast-message{position:fixed;z-index:40;right:18px;bottom:88px;left:18px;display:grid;grid-template-columns:34px 1fr 28px;gap:10px;align-items:center;max-width:430px;margin:0 auto;padding:12px;border:1px solid #bdebd4;border-radius:8px;background:radial-gradient(circle at top right,rgba(47,191,117,.14),transparent 130px),#fffffff7;box-shadow:0 18px 40px #28774e29;color:#217a4f;animation:toastIn .26s ease both}.toast-message span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:22px;font-weight:900}.toast-message p{margin:0;font-size:14px;font-weight:900}.toast-message button{display:grid;width:28px;height:28px;cursor:pointer;place-items:center;border-radius:50%;background:#ecfff5;color:#217a4f;font-size:18px;font-weight:900}.streak-card{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;padding:16px;border-color:#ffc3d1}.streak-badge{display:grid;width:54px;height:54px;place-items:center;border-radius:50%;background:linear-gradient(145deg,#ffe8f0,#fff);font-size:28px}.streak-card span{color:var(--muted);font-size:13px;font-weight:900}.streak-card strong{display:block;color:var(--hot-pink);font-size:28px}.summary-section,.log-preview,.transaction-page{margin-top:24px}.section-heading,.log-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:12px}.section-heading h2{font-size:22px}.mini-toggle{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#fff}.mini-toggle button{padding:7px 10px;font-size:12px;font-weight:900}.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.summary-tile{min-height:128px;padding:14px 8px;border:1px solid;border-radius:8px;background:#fff;text-align:center}.summary-tile span{display:inline-grid;width:42px;height:42px;place-items:center;border-radius:50%;color:#fff;font-size:26px;font-weight:900}.summary-tile p{min-height:38px;margin:10px 0 2px;color:var(--muted);font-size:14px;font-weight:800}.summary-tile strong{font-size:22px}.summary-tile.on_time{border-color:#bdebd4;background:#f2fff8}.summary-tile.on_time span,.status-orb.on_time{background:var(--green)}.summary-tile.on_time strong{color:var(--green)}.summary-tile.early{border-color:#ffc4dc;background:#fff7fb}.summary-tile.early span,.status-orb.early{background:#ff6fa8}.summary-tile.early strong{color:#d93678}.summary-tile.late{border-color:#ffd9aa;background:#fffaf2}.summary-tile.late span,.status-orb.late{background:var(--orange)}.summary-tile.late strong{color:var(--orange)}.summary-tile.missed{border-color:#ffc1cd;background:#fff6f8}.summary-tile.missed span,.status-orb.missed{background:var(--red)}.summary-tile.missed strong{color:var(--red)}.adherence{margin-top:12px;padding:16px}.adherence span{color:var(--muted);font-weight:800}.adherence strong{float:right;color:#258d57;font-size:28px}.progress{clear:both;height:10px;margin-top:16px;overflow:hidden;border-radius:999px;background:#eadde0}.progress span{display:block;height:100%;border-radius:inherit;background:var(--green)}.link-button{cursor:pointer;background:transparent;color:var(--pink);font-weight:900}.month-filter{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:900}.month-filter select{min-height:42px;border:1px solid #ffc2d2;border-radius:8px;background:#fff8fb;color:var(--text);padding:0 34px 0 12px;font-weight:900}.log-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:14px;margin-bottom:10px;animation:cardIn .36s ease both}.status-orb{display:grid;width:42px;height:42px;place-items:center;border-radius:50%;color:#fff;font-size:27px;font-weight:900}.log-date{margin:0 0 3px;color:var(--pink-dark);font-size:13px;font-weight:900}.log-card h3{font-size:18px;line-height:1.15}.log-title-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px}.log-title-row .status-badge{max-width:128px;white-space:nowrap}.retro-badge{display:inline-flex;width:fit-content;margin-top:5px;border-radius:999px;background:#fff2df;color:#b95a00;padding:4px 9px;font-size:12px;font-weight:900}.log-quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;margin:10px 0 0}.log-card dl div{display:grid;gap:2px;color:var(--muted);font-size:14px;min-width:0}.log-card dt{font-weight:800}.log-card dd{margin:0}.status-thai{color:var(--muted);font-size:12px;font-weight:800}.log-details{margin-top:10px}.log-details summary{width:fit-content;cursor:pointer;border-radius:999px;background:#fff0f5;color:var(--pink-dark);padding:6px 10px;font-size:12px;font-weight:900;list-style:none;transition:background .16s ease,color .16s ease}.log-details[open] summary{background:#ffe4ee;color:var(--pink-dark)}.log-details summary::-webkit-details-marker{display:none}.log-details summary:after{content:" ▾"}.log-details[open] summary:after{content:" ▴"}.log-detail-body{display:grid;gap:8px;margin-top:10px;border-top:1px dashed #ffd3de;padding-top:10px}.log-detail-meta{display:grid;grid-template-columns:1fr;gap:4px;min-width:0;border:1px solid #ffe2eb;border-radius:8px;background:#fff8fb;padding:9px 10px;color:var(--muted);font-size:12px;font-weight:800;line-height:1.45}.log-detail-meta span{min-width:0;overflow-wrap:anywhere}.edit-button{cursor:pointer;border-radius:8px;background:#fff0f5;color:var(--pink-dark);padding:8px 10px;font-size:12px;font-weight:900}.record-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.delete-button{cursor:pointer;border-radius:8px;background:#fff0f1;color:#cf3048;padding:8px 10px;font-size:12px;font-weight:900}.edit-button,.delete-button{min-height:38px;text-align:center}.log-love-note{margin:0;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:800;line-height:1.45}.log-love-note.sweet{background:#edfdf5;color:#237f52}.log-love-note.warning{background:#fff2df;color:#b95a00}.log-love-note.angry{background:#ffeaf0;color:#c92d48}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:end center;padding:18px;background:#41182a33;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.edit-modal{position:relative;width:min(100%,430px);padding:22px;animation:noticePop .26s ease both}.modal-sticker{position:absolute;top:-22px;right:18px;display:grid;width:54px;height:54px;place-items:center;border:1px solid #ffd0dc;border-radius:50%;background:#fff;box-shadow:var(--shadow);font-size:28px}.edit-modal h2{max-width:320px;margin:0;font-size:23px;line-height:1.2}.edit-modal p:not(.section-label){margin:10px 0 16px;color:var(--muted);font-size:14px;font-weight:700;line-height:1.6}.edit-modal label{display:grid;gap:8px;color:var(--text);font-size:14px;font-weight:900}.edit-modal label+label{margin-top:14px}.edit-modal input{width:100%;min-height:56px;border:1px solid #ffc2d2;border-radius:8px;outline:none;background:#fff8fb;color:var(--text);padding:14px 15px;font-size:18px;font-weight:900;color-scheme:light}.edit-modal input:focus{border-color:var(--hot-pink);box-shadow:0 0 0 4px #ff3f8b21}.delete-modal{border-color:#ffc1cd;background:radial-gradient(circle at top right,rgba(255,100,137,.13),transparent 160px),#fffffff7}.schedule-modal{border-color:#ffd0dc;background:radial-gradient(circle at top right,rgba(255,63,139,.14),transparent 160px),#fffffff7}.delete-preview{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px solid #ffd5de;border-radius:8px;background:#fff7fa;color:var(--muted);font-size:13px;font-weight:900}.quick-date-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0 14px}.quick-date-row button{min-height:38px;cursor:pointer;border:1px solid #ffd0dc;border-radius:8px;background:#fff3f8;color:var(--pink-dark);font-size:12px;font-weight:900}.form-error{margin:10px 0 0!important;border-radius:8px;background:#fff0f4;color:#c92d48!important;padding:10px 12px;font-size:13px!important;font-weight:900!important}.modal-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:10px;margin-top:18px}.modal-actions.single-action{grid-template-columns:1fr}.secondary-button,.primary-button,.danger-button{min-height:48px;cursor:pointer;border-radius:8px;font-weight:900}.secondary-button{background:#fff0f5;color:var(--pink-dark)}.primary-button{background:linear-gradient(135deg,#ff78a7,#ff3f8b);color:#fff;box-shadow:0 12px 22px #ed2f6033}.danger-button{background:linear-gradient(135deg,#ff6f86,#ef4d64);color:#fff;box-shadow:0 12px 22px #ef4d6433}.page-title{margin-bottom:16px}.empty-state{display:grid;gap:5px;padding:24px;color:var(--muted);text-align:center}.empty-state strong{color:var(--text)}.bottom-nav{position:fixed;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;width:min(100%,1060px);margin:0 auto;padding:8px 16px 12px;border-top:1px solid #ffd3de;background:#fff8faf5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-nav button{display:grid;gap:2px;cursor:pointer;background:transparent;color:#80838d;font-size:12px;font-weight:900}.bottom-nav button span{font-size:24px;line-height:1}.bottom-nav button.active{color:var(--pink)}@media(min-width:760px){.app-shell{padding:34px 28px 132px}.topbar,.role-switch,.app-shell>.love-notice{max-width:640px;margin-right:auto;margin-left:auto}.home-layout{grid-template-columns:minmax(0,1.04fr) minmax(340px,.96fr);align-items:start}.log-preview,.transaction-page{margin-top:0}.transaction-page{max-width:760px;margin-right:auto;margin-left:auto}.modal-backdrop{place-items:center}.bottom-nav{bottom:16px;left:50%;width:min(640px,calc(100% - 56px));transform:translate(-50%);border:1px solid #ffd3de;border-radius:8px;box-shadow:0 12px 30px #ec59851a}.toast-message{right:28px;bottom:100px;left:auto;margin:0}}@media(max-width:560px){.brand{justify-content:flex-start}.app-shell{width:min(100%,440px)}.cloud-status{grid-template-columns:1fr;align-items:stretch}.cloud-audit{border-top:1px solid var(--line);border-left:0;padding-top:10px;padding-left:0}.cloud-status-actions{justify-content:stretch}.cloud-status-actions button{width:100%}.log-card{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:12px}.status-orb{width:40px;height:40px;font-size:26px}.log-card h3{font-size:17px}.log-title-row{grid-template-columns:1fr;align-items:flex-start;gap:7px}.log-title-row .status-badge{max-width:100%;white-space:nowrap}.log-quick-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px}.log-card dl div{font-size:13px}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-tile{min-height:104px;padding:12px 8px}.summary-tile span{width:36px;height:36px;font-size:22px}.record-actions{display:grid;grid-template-columns:1fr 1fr}.edit-button,.delete-button{min-height:36px;padding:8px}.quick-date-row,.modal-actions{grid-template-columns:1fr}.log-love-note{padding:10px;font-size:12px}.log-toolbar{align-items:stretch;flex-direction:column}.month-filter select,.backfill-button.compact{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes noticePop{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes landingCardIn{0%{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes landingFloat{0%,to{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-18px) rotate(7deg)}}@keyframes softSpin{to{transform:rotate(360deg)}}@keyframes reverseSoftSpin{to{transform:rotate(-360deg)}}@keyframes pillFloat{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-5px) rotate(5deg)}}@keyframes stickerBob{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-8px) rotate(8deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.08)}28%{transform:scale(1)}42%{transform:scale(1.05)}}
