@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-400-italic.woff2) format("woff2")}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/instrument-serif-400.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/manrope-400.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/manrope-500.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/manrope-600.woff2) format("woff2")}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/manrope-700.woff2) format("woff2")}:root{--sj-ink: #221D19;--sj-ink-muted: #6E6155;--sj-ink-soft: #8A7E73;--sj-ink-faint: #A0907F;--sj-ink-ghost: #B6A899;--sj-paper: #FFFDF9;--sj-paper-warm: #FCF6EE;--sj-sand: #F1E4D3;--sj-sand-deep: #F6E7D4;--sj-surface: #FFFFFF;--sj-line: #EFE3D4;--sj-line-strong: #E7DACA;--sj-line-dashed: #DFCFBB;--sj-divider: #F1E7DA;--sj-line-input: #CBB598;--sj-terracotta: #E4633C;--sj-terracotta-deep: #D9502E;--sj-terracotta-press: #C0421F;--sj-terracotta-hover: #C24A26;--sj-sage: #5C7F63;--sj-sage-deep: #3F5F46;--sj-sage-tint: #EDF1E9;--sj-honey: #E9C97F;--sj-honey-tint: #FBEEDA;--sj-honey-text: #8A6112;--sj-honey-text-soft: #A67A1E;--sj-bezel: #1E1915;--sj-scrim: rgba(30,25,21,.42);--sj-font-display: "Instrument Serif", Georgia, serif;--sj-font-text: "Manrope", system-ui, sans-serif;--sj-r-pill: 999px;--sj-r-sheet: 34px;--sj-r-card-lg: 26px;--sj-r-card: 22px;--sj-r-field: 16px;--sj-r-cell: 12px;--sj-control-h: 56px;--sj-field-h: 54px;--sj-chip-h: 44px;--sj-shadow-cta: 0 14px 24px -14px rgba(196,74,38,.85);--sj-shadow-card: 0 18px 30px -22px rgba(40,26,14,.5);--sj-shadow-device: 0 40px 70px -28px rgba(40,26,14,.5)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--sj-paper);color:var(--sj-ink);font-family:var(--sj-font-text);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100dvh}#root{max-width:480px;margin:0 auto;min-height:100dvh;position:relative;background:var(--sj-paper)}h1,h2,h3{font-weight:400;font-family:var(--sj-font-display)}button{font-family:var(--sj-font-text);cursor:pointer;border:none;background:none}input,textarea{font-family:var(--sj-font-text);font-size:16px;color:var(--sj-ink)}a{color:var(--sj-terracotta);text-decoration:none}.serif{font-family:var(--sj-font-display)}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sj-ink-faint)}.muted{color:var(--sj-ink-soft)}.hidden,[hidden]{display:none!important}.screen{padding:10px 22px 110px;display:flex;flex-direction:column;gap:22px}.screen-title{font-size:34px;line-height:1.08}.btn{display:block;width:100%;text-align:center;border-radius:var(--sj-r-pill);padding:16px;font-size:16px;font-weight:700}.btn-primary{background:var(--sj-terracotta);color:#fff6ee;box-shadow:var(--sj-shadow-cta)}.btn-primary:active{background:var(--sj-terracotta-press)}.btn-primary:disabled{background:#f0e4d5;color:var(--sj-ink-ghost);box-shadow:none;cursor:default}.btn-light{background:#fff6ee;color:var(--sj-terracotta-press)}.btn-outline{background:var(--sj-surface);border:1px solid var(--sj-line-strong);color:var(--sj-ink);box-shadow:none}.field-label{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sj-ink-faint);margin-bottom:8px;display:block}.input{width:100%;border:1px solid var(--sj-line-input);background:var(--sj-surface);border-radius:18px;padding:15px 16px;font-size:16px}.input:focus{outline:none;border-color:var(--sj-terracotta)}.footnote{text-align:center;font-size:13px;color:var(--sj-ink-soft)}.signin{min-height:100dvh;display:flex;flex-direction:column;padding:62px 28px 34px;background:linear-gradient(170deg,#fffdf9,#fcf6ee 46%,#f6e7d4)}.brand-tile{width:56px;height:56px;border-radius:20px;background:var(--sj-terracotta);color:#fff6ee;font-family:var(--sj-font-display);font-size:30px;line-height:56px;text-align:center}.brand-mark{display:block;border-radius:20px}.back-link{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:700;color:var(--sj-ink-soft);margin-bottom:18px;align-self:flex-start}.signin h1{font-size:40px;line-height:1.05;margin-top:18px}.signin .sub{font-size:15px;line-height:1.6;color:var(--sj-ink-muted);margin-top:8px}.signin .spacer{flex:1;min-height:24px}.signin .form{display:flex;flex-direction:column;gap:14px}.pin-row{display:flex;gap:8px}.pin-box{flex:1;height:58px;border-radius:14px;background:#fff;border:1.5px solid var(--sj-line);font-family:var(--sj-font-display);font-size:26px;text-align:center;display:flex;align-items:center;justify-content:center}.pin-box.next{border-color:var(--sj-terracotta)}.pin-box.filled{border-color:var(--sj-line-dashed)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}.key{border-radius:16px;background:#fff;border:1px solid var(--sj-line);padding:15px 0;font-size:19px;font-weight:700}.key.ghost{background:transparent;border:none}.link-row{display:flex;justify-content:space-between;font-size:13px;font-weight:700}.radio-row{display:flex;align-items:center;gap:12px;border:1.5px solid var(--sj-line);border-radius:16px;padding:13px 14px;background:#fff}.radio-row.selected{background:var(--sj-honey-tint);border-color:var(--sj-honey)}.radio-dot{width:18px;height:18px;border-radius:999px;border:2px solid var(--sj-line-dashed);flex:none}.radio-row.selected .radio-dot{background:var(--sj-terracotta);border-color:var(--sj-terracotta)}.radio-row .r-title{font-weight:700;font-size:14px}.radio-row .r-sub{font-size:12px;color:var(--sj-ink-soft)}.date-parts{display:flex;gap:10px}.date-parts .input{flex:1 1 0;min-width:0;text-align:center;padding-left:8px;padding-right:8px}.date-parts .input.year{flex:1.6 1 0}.card{background:var(--sj-surface);border:1px solid var(--sj-line);border-radius:var(--sj-r-card);padding:18px}.card-lg{border-radius:var(--sj-r-card-lg);padding:20px}.header-row{display:flex;align-items:flex-start;justify-content:space-between}.avatar{width:42px;height:42px;border-radius:999px;background:#f3e7d8;color:var(--sj-ink-muted);font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.greeting{font-size:34px;line-height:1.08;margin-top:2px}.nudge{border-radius:var(--sj-r-card-lg);padding:22px;color:#fff6ee;background:linear-gradient(150deg,#e4633c,#d9502e);box-shadow:0 18px 30px -18px #c44a26e6}.nudge .eyebrow{color:#fff6ee;opacity:.85}.nudge .prompt{font-family:var(--sj-font-display);font-size:28px;line-height:1.2;margin:8px 0 16px}.nudge .btn{width:auto;display:inline-block;padding:13px 22px;font-size:15px}.entry-row{display:flex;gap:14px;align-items:center;background:var(--sj-surface);border:1px solid var(--sj-line);border-radius:var(--sj-r-card);padding:12px}.entry-thumb{width:62px;height:62px;border-radius:18px;object-fit:cover;flex:none;background:#f1e4d3}.entry-thumb.placeholder{display:flex;align-items:center;justify-content:center;background:var(--sj-paper-warm);border:1px solid var(--sj-line)}.entry-thumb.placeholder img{width:30px;height:30px;opacity:.72}.entry-row .text{font-weight:600;line-height:1.35}.entry-row .meta{font-size:12px;font-weight:600;color:var(--sj-ink-soft);margin-top:2px}.empty{border:1.5px dashed var(--sj-line-dashed);border-radius:24px;background:var(--sj-paper-warm);padding:26px 22px;text-align:center}.empty h3{font-size:22px}.empty p{font-size:14px;color:var(--sj-ink-soft);margin-top:6px}.counters{display:flex;gap:12px}.counter{flex:1;border-radius:var(--sj-r-card);padding:18px}.counter.streak{background:var(--sj-sage-tint)}.counter.smiles{background:var(--sj-honey-tint)}.counter .num{font-family:var(--sj-font-display);font-size:32px;line-height:1}.counter.streak .num{color:var(--sj-sage-deep)}.counter.smiles .num{color:var(--sj-honey-text)}.counter .cap{font-size:12px;font-weight:700;margin-top:6px}.counter.streak .cap{color:var(--sj-sage)}.counter.smiles .cap{color:var(--sj-honey-text-soft)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:9px 14px;border-radius:999px;font-size:13px;font-weight:700;background:#fff;color:var(--sj-ink-muted);border:1px solid var(--sj-line-strong)}.chip.selected{background:var(--sj-ink);color:#fff6ee;border-color:var(--sj-ink)}.cal-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.cal-wd{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--sj-ink-ghost);text-align:center}.cal-day{aspect-ratio:1;border-radius:12px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;color:var(--sj-ink-soft)}.cal-day.smile{background:var(--sj-terracotta);color:#fff6ee}.cal-day.past{background:#f6ede2}.cal-day.future{color:#d5c6b4}.cal-day.today{border:2px solid var(--sj-sage)}.printed{border-radius:var(--sj-r-card-lg);background:var(--sj-ink);color:#fff6ee;padding:20px}.printed .bar{height:8px;border-radius:999px;background:#fff6ee29;margin:14px 0;overflow:hidden}.printed .bar>span{display:block;height:100%;background:var(--sj-terracotta)}.printed .note{font-size:13px;line-height:1.5;color:#c9b9a6}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--sj-scrim);z-index:40}.scrim-top{z-index:60}.sheet-top{z-index:70}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:50;max-width:480px;margin:0 auto;background:var(--sj-paper);border-radius:34px 34px 0 0;padding:22px 22px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px;max-height:88dvh;overflow-y:auto;border:1px solid var(--sj-line-input);border-bottom:none;box-shadow:0 -24px 48px -20px #281a0e73}.grabber{width:42px;height:5px;border-radius:3px;background:var(--sj-line-strong);margin:0 auto}.sheet h2{font-size:26px;line-height:1.15}.textarea{min-height:88px;resize:none;border-radius:20px;border:1px solid var(--sj-line-input);background:var(--sj-paper-warm);padding:14px 16px;font-size:16px;line-height:1.45;width:100%}.textarea:focus{outline:none;border-color:var(--sj-terracotta)}.photo-attach{width:100%;border:1.5px dashed var(--sj-line-dashed);border-radius:20px;padding:14px;text-align:center;font-size:13px;font-weight:700;color:var(--sj-ink-soft);background:transparent}.photo-attach.has{background:var(--sj-sage-tint);color:var(--sj-sage-deep)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;max-width:480px;margin:0 auto;height:92px;padding:0 26px calc(26px + env(safe-area-inset-bottom));display:flex;align-items:flex-end;justify-content:space-around;background:linear-gradient(180deg,#fffdf900,#fffdf9 42%)}.tab{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--sj-ink-ghost);font-size:11px;font-weight:700;letter-spacing:.05em}.tab.active{color:var(--sj-terracotta)}.tab .glyph{font-size:18px}.tab-add{width:58px;height:58px;border-radius:999px;background:var(--sj-terracotta);color:#fff6ee;font-size:28px;display:flex;align-items:center;justify-content:center;margin-bottom:2px;box-shadow:0 14px 24px -10px #c44a26d9}.offline-strip{display:flex;align-items:center;gap:8px;background:var(--sj-sage-tint);color:var(--sj-sage-deep);border-radius:14px;padding:10px 14px;font-size:13px;font-weight:600}.offline-strip .dot{width:8px;height:8px;border-radius:999px;background:var(--sj-sage);flex:none}.update-banner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--sj-ink);color:#fff6ee;border:none;border-radius:16px;padding:12px 16px;font-size:14px;font-weight:600;text-align:left;cursor:pointer}.update-banner .update-cta{font-weight:800;color:#ffd9b0;flex:none}.celebrate{position:fixed;left:16px;right:16px;top:50%;transform:translateY(-50%);max-width:400px;margin:0 auto;z-index:70;background:var(--sj-paper);border:1px solid var(--sj-line-input);border-radius:28px;padding:30px 24px;text-align:center;display:flex;flex-direction:column;gap:12px;box-shadow:0 30px 60px -24px #281a0e80}.celebrate-burst{font-size:52px;line-height:1;animation:sj-pop .5s ease}.celebrate h2{font-size:28px}.celebrate p{font-size:15px;line-height:1.6;color:var(--sj-ink-soft)}.celebrate .btn{margin-top:6px}@keyframes sj-pop{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.celebrate-burst{animation:none}}.inspiration{min-height:20px;display:flex;align-items:center;justify-content:center;text-align:center;padding:2px 8px}.inspiration-line{font-size:13px;font-style:italic;color:var(--sj-ink-soft);opacity:0;transition:opacity 1.8s ease}.inspiration-line.show{opacity:1}@media (prefers-reduced-motion: reduce){.inspiration-line{transition:none}}.install-hint{position:relative;border-radius:var(--sj-r-card);background:#fff6ee;border:1px solid var(--sj-line-strong);padding:16px 40px 16px 16px}.install-hint-title{font-family:var(--sj-font-display);font-size:17px;line-height:1.25;color:var(--sj-ink)}.install-hint-sub{font-size:13px;line-height:1.5;color:var(--sj-ink-soft);margin-top:4px}.install-hint-x{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:999px;background:transparent;border:none;color:var(--sj-ink-ghost);font-size:15px;line-height:1;cursor:pointer}.install-hint-x:active{background:#f3e7d8}.offline-card{border-radius:var(--sj-r-card);background:var(--sj-sage-tint);padding:18px}.offline-card h4{font-size:14px;font-weight:700;color:var(--sj-sage-deep)}.offline-card p{font-size:13px;line-height:1.5;color:var(--sj-sage);margin-top:4px}.switch{width:52px;height:31px;border-radius:999px;background:var(--sj-line-dashed);padding:3px;flex:none}.switch.on{background:var(--sj-sage)}.switch .knob{width:25px;height:25px;border-radius:999px;background:#fff;box-shadow:0 2px 5px #0003;transition:transform .16s ease}.switch.on .knob{transform:translate(21px)}.person-row{display:flex;align-items:center;gap:14px;border:1px solid var(--sj-line);border-radius:var(--sj-r-card);padding:14px;background:#fff}.person-row.active{background:var(--sj-honey-tint);border-color:var(--sj-honey)}.person-row .circle{width:40px;height:40px;border-radius:999px;background:#f3e7d8;color:var(--sj-ink-muted);font-weight:700;display:flex;align-items:center;justify-content:center;flex:none}.person-row .name{font-weight:700;font-size:15px}.person-row .role{font-size:12px;font-weight:600;color:var(--sj-ink-soft)}.person-row .count{margin-left:auto;font-size:12px;font-weight:700;color:var(--sj-ink-ghost)}.add-row{border:1.5px dashed var(--sj-line-dashed);background:var(--sj-paper-warm)}.add-row .circle{background:var(--sj-terracotta);color:#fff6ee;font-size:22px}.toast{position:fixed;left:50%;bottom:108px;transform:translate(-50%);z-index:60;background:var(--sj-ink);color:#fff6ee;padding:10px 18px;border-radius:999px;font-size:13px;font-weight:600}.err{color:var(--sj-terracotta-press);font-size:13px;font-weight:600}.datepicker{position:relative}.date-field{width:100%;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--sj-line-strong);background:var(--sj-surface);border-radius:16px;padding:14px 16px;font-size:16px;color:var(--sj-ink)}.date-field .chev{color:var(--sj-ink-soft)}.dp-panel{margin-top:8px;border:1px solid var(--sj-line-strong);background:var(--sj-surface);border-radius:18px;padding:12px;box-shadow:var(--sj-shadow-card)}.dp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dp-title{font-weight:700}.dp-nav{width:40px;height:40px;border-radius:12px;font-size:20px;color:var(--sj-ink);display:flex;align-items:center;justify-content:center}.dp-nav:active{background:var(--sj-paper-warm)}.dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.dp-wd{text-align:center;font-size:10px;font-weight:700;color:var(--sj-ink-ghost);padding-bottom:4px}.dp-day{aspect-ratio:1;min-height:40px;border-radius:12px;font-size:15px;font-weight:600;color:var(--sj-ink);background:var(--sj-paper-warm)}.dp-day:active{background:var(--sj-line)}.dp-day.selected{background:var(--sj-terracotta);color:#fff6ee}.dp-day.disabled{color:var(--sj-ink-ghost);background:transparent}.slider-month{font-weight:700;font-size:14px;color:var(--sj-ink-muted);margin-bottom:6px}.day-slider{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 8px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.day-slider::-webkit-scrollbar{display:none}.day-chip{flex:0 0 auto;width:46px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 6px;border-radius:14px;background:var(--sj-surface);border:1px solid var(--sj-line)}.day-chip .dw{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--sj-ink-ghost);text-transform:uppercase}.day-chip .dn{font-family:var(--sj-font-display);font-size:20px;line-height:1;color:var(--sj-ink)}.day-chip .dot{width:6px;height:6px;border-radius:999px;background:transparent}.day-chip.has .dot{background:var(--sj-terracotta)}.day-chip.selected{background:var(--sj-ink);border-color:var(--sj-ink)}.day-chip.selected .dw,.day-chip.selected .dn{color:#fff6ee}.day-chip.selected.has .dot{background:var(--sj-honey)}.book-page{flex:1;aspect-ratio:3/4;background:var(--sj-paper);border:1px solid var(--sj-divider);border-radius:6px;padding:12px;display:flex;flex-direction:column;gap:6px}.book-chapter{font-family:var(--sj-font-display);font-size:15px}.book-imgblock{background:#f1e4d3;border-radius:4px;height:88px}.book-line{height:6px;border-radius:3px;background:var(--sj-line)}.entry-detail{min-height:100dvh;background:var(--sj-paper)}.entry-hero{width:100%;height:320px;object-fit:cover;display:block}.entry-hero.placeholder{background:linear-gradient(140deg,#f7d9c4,#efb99b);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px}.entry-hero-mark{width:76px;height:76px;opacity:.92;filter:drop-shadow(0 2px 8px rgba(120,60,30,.18))}.entry-hero-thought{font-size:21px;line-height:1.3;text-align:center;color:#7a3b22;max-width:300px}.entry-back{position:absolute;top:54px;left:20px;width:38px;height:38px;border-radius:999px;background:#fffdf9e6;color:var(--sj-ink);font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center}.entry-body{padding:26px 24px;display:flex;flex-direction:column;gap:14px}.entry-text{font-size:30px;line-height:1.25}.entry-tag{align-self:flex-start;background:#f3e7d8;color:var(--sj-ink-muted);font-size:13px;font-weight:700;padding:8px 14px;border-radius:999px}.entry-edit{align-self:flex-start;margin-top:6px;background:transparent;border:none;color:var(--sj-terracotta);font-weight:700;font-size:14px;cursor:pointer;padding:4px 0}.lift-card{border-radius:var(--sj-r-card);background:var(--sj-honey-tint);padding:18px}.lift-card .eyebrow{color:var(--sj-honey-text-soft)}.lift-card .lift-text{font-family:var(--sj-font-display);font-size:20px;line-height:1.25;margin-top:6px;color:var(--sj-honey-text)}@media (prefers-reduced-motion: reduce){*{transition:none!important}}
