@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--bg:#f7f5ef;--paper:#fffef9;--ink:#343a2e;--muted:#858578;--line:#e5e3d8;--olive:#727954;--pale:#eeeee2;--rose:#c79c8c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;padding:11px 16px;background:var(--paper);color:var(--ink)}button:hover{filter:brightness(.96)}button.primary{background:var(--olive);color:#fff;border-color:var(--olive)}button.active{background:var(--pale);border-color:var(--olive)}button.small{padding:7px 11px;font-size:12px}a{color:inherit;text-decoration:none}aside{width:234px;position:fixed;inset:0 auto 0 0;background:#f0efe7;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:30px 18px 16px}.brand{font:27px 'Libre Caslon Display',Georgia,serif;padding:0 10px 27px;white-space:nowrap}.brand-icon{color:var(--olive);font-size:34px;vertical-align:middle}.brand small{display:block;letter-spacing:2px;font:8px 'DM Sans',sans-serif;margin:5px 0 0 37px}nav{overflow:auto;scrollbar-width:thin;flex:1}nav p{font-size:9px;letter-spacing:1.8px;color:var(--muted);margin:24px 12px 10px}nav a{display:flex;gap:12px;align-items:center;padding:10px 13px;margin:2px 0;border-radius:7px;font-size:12px}nav a i{font-style:normal;width:18px;font-size:16px;color:var(--olive)}nav a.selected{background:#e0e3d2;color:#475033;font-weight:600}.sidebar-note{border-top:1px solid var(--line);padding:17px 8px 0;font:17px 'Libre Caslon Display',serif}.sidebar-note span{font:10px 'DM Sans';color:var(--muted)}.workspace{margin-left:234px}header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 44px;font-size:9px;letter-spacing:1.7px}header>div{display:flex;align-items:center;gap:20px}.privacy{letter-spacing:0;color:var(--muted);font-size:11px}.avatar{border-radius:50%;background:#e7e8d9;padding:8px 12px;font-size:21px;color:var(--olive)}main{max-width:1460px;margin:auto;padding:36px 44px 60px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--olive);text-transform:uppercase}h1{font:48px 'Libre Caslon Display',Georgia,serif;margin:9px 0 10px;font-weight:400}h2{font:26px 'Libre Caslon Display',Georgia,serif;font-weight:400;margin:0 0 15px}h3{font-size:13px;font-weight:500;margin:0 0 14px}.sub{color:var(--muted);line-height:1.7;font-size:12px;margin:0}.page-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:20px}.hero{display:grid;grid-template-columns:1.65fr 1fr;min-height:238px;background:#e9ebde;border-radius:13px;overflow:hidden;margin-bottom:24px}.hero-copy{padding:34px 35px;position:relative}.hero h2{font-size:39px;max-width:380px;line-height:1.08;margin:12px 0}.hero p{font-size:12px;line-height:1.7;color:#777d68;margin-bottom:21px}.hero-photo{position:relative;min-height:230px}.hero-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.photo-button{position:absolute;bottom:13px;right:13px;background:#fffdf3db;border:0;font-size:10px;padding:8px 11px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:24px}.stat,.card{background:var(--paper);border:1px solid var(--line);border-radius:11px;padding:24px}.stat-label{font-size:10px;color:var(--muted)}.stat .value{font:35px 'Libre Caslon Display',serif;margin:10px 0 6px}.stat small{color:var(--muted);font-size:10px}.columns{display:grid;grid-template-columns:1.65fr 1fr;gap:20px;margin-bottom:22px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.card-top h2{margin:0}.muted{color:var(--muted)}.moods{display:flex;gap:10px;margin:22px 0}.mood{flex:1;text-align:center;padding:13px 3px;background:transparent;border:1px solid transparent}.mood b{display:block;font-size:29px;font-weight:400;margin-bottom:10px}.mood span{font-size:10px;color:var(--muted)}.mood:hover,.mood.selected{background:var(--pale);border-color:var(--line)}.quote{background:#edeee3;text-align:center;display:flex;flex-direction:column;justify-content:center;padding:28px}.quote blockquote{font:27px 'Libre Caslon Display',serif;line-height:1.35;margin:14px 0}.quote small{font-size:9px;letter-spacing:1.7px;color:var(--olive)}.chart{height:155px;width:100%;display:block}.chart-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.empty{padding:34px 15px;text-align:center;color:var(--muted);font-size:12px;line-height:1.8}.empty .symbol{display:block;font-size:30px;color:var(--olive);margin-bottom:8px}.legend{display:flex;gap:15px;font-size:10px;color:var(--muted);margin-top:15px;flex-wrap:wrap}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}.list-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line);gap:10px}.list-row:last-child{border:0}.list-row small{color:var(--muted);font-size:10px}.pill{font-size:10px;background:var(--pale);border-radius:20px;padding:5px 9px;display:inline-block;margin:3px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}label{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}input:not([type=checkbox]):not([type=range]),select,textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--ink);padding:12px;border-radius:7px}textarea{min-height:100px;resize:vertical}input[type=range]{width:100%;accent-color:var(--olive)}input[type=checkbox]{accent-color:var(--olive)}.field{margin-bottom:17px}.full{grid-column:1/-1}.photo-card img{width:100%;height:180px;object-fit:cover;border-radius:7px;margin-bottom:14px}.photo-card p{line-height:1.7;font-size:12px}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.day{min-height:85px;border:1px solid var(--line);padding:12px;border-radius:7px;font-size:11px}.day b{display:block;text-align:center;margin:10px;font-size:22px}.pixel-row{display:flex;align-items:center;gap:4px;margin:5px 0}.pixel-row span{width:33px;font-size:9px}.pixel{width:20px;aspect-ratio:1;background:var(--pale);border-radius:3px}.scroll{overflow:auto}.bar-row{display:grid;grid-template-columns:110px 1fr 38px;align-items:center;gap:12px;font-size:11px;margin:17px 0}.bar{height:8px;background:var(--pale);border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:var(--olive);border-radius:4px}.wheel{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;max-width:660px;margin:25px auto}.wheel button{padding:30px 15px;font:25px 'Libre Caslon Display';border-radius:40px}.breath{height:240px;display:grid;place-items:center}.orb{width:150px;height:150px;border-radius:50%;background:#d9dec4;display:grid;place-items:center;box-shadow:0 0 0 22px #e9ecd9,0 0 0 43px #f2f3e9;font:22px 'Libre Caslon Display';color:#4c5d38}.orb.running{animation:breathe 8s infinite ease-in-out}@keyframes breathe{50%{transform:scale(1.23)}}.stickers{display:flex;gap:14px;flex-wrap:wrap}.stickers button{font-size:35px;padding:15px}footer{padding:20px 44px;border-top:1px solid var(--line);font-size:9px;color:var(--muted);display:flex;justify-content:space-between}.mobile{display:none}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--paper);padding:12px 22px;border-radius:9px;display:none;z-index:99}.demo-tag{font-size:9px;letter-spacing:1px;background:#e9dfc7;padding:7px;border-radius:5px}.night{--bg:#252b2c;--paper:#303737;--ink:#efe9dc;--muted:#aaa99c;--line:#49504d;--pale:#414b40;--olive:#899571}.rose{--olive:#a6747c;--pale:#f0e3e1;--bg:#faf4f0}.night aside{background:#2b3231}.night .hero,.night .quote{background:#414b40}.night .hero p{color:#c3c6b3}@media(min-width:1450px){main{padding-top:45px}.hero{min-height:265px}}@media(max-width:1100px){aside{width:205px}.workspace{margin-left:205px}main{padding:28px 25px}.grid{grid-template-columns:repeat(2,1fr)}header{padding:0 25px}.hero-copy{padding:25px}.hero h2{font-size:33px}}@media(max-width:760px){aside{display:none;z-index:20;width:240px}.menu aside{display:flex}.workspace{margin:0}header{height:65px;padding:0 18px}.mobile{display:block}#breadcrumb{display:none}main{padding:25px 18px}h1{font-size:38px}.page-head{align-items:flex-start}.hero{grid-template-columns:1fr}.hero-photo{min-height:180px}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{padding:17px}.columns,.grid,.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.card{padding:20px}.day{min-height:60px;padding:6px}.calendar{gap:3px}.day b{margin:5px;font-size:17px}footer{padding:20px;display:block}footer span{display:block;margin-top:8px}.privacy{display:none}}@media print{aside,header,footer,.actions,button{display:none!important}.workspace{margin:0}main{padding:0}.card,.stat{break-inside:avoid}.hero-photo{display:none}body{background:white}.columns{grid-template-columns:1fr 1fr}}

/* Layout room for all seven interface languages. */
.language-card{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:22px}.language-card>div:last-child{min-width:205px}#headerLanguage select{padding:7px 9px;font-size:11px;min-width:105px;width:auto}.symbol-options{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.symbol-options button{font-size:21px;padding:6px 12px}.custom-feelings{margin-top:18px}.field input[type=color]{height:45px;padding:5px;max-width:120px}nav a{line-height:1.4}nav a i{flex-shrink:0}.stat .value{overflow-wrap:anywhere}.orb{text-align:center;padding:12px}.actions button{white-space:normal}#moodForm .field{min-width:0}h1,h2{overflow-wrap:break-word}@media(max-width:760px){.language-card{align-items:stretch;flex-direction:column;gap:18px}.language-card>div:last-child{min-width:0}header>div{gap:9px}.page-head{flex-wrap:wrap}}

.local-file{display:flex;align-items:center;gap:12px;min-width:0;flex-wrap:wrap}.file-status{font-size:12px;color:var(--muted);overflow-wrap:anywhere;min-width:0;flex:1}.local-file button{flex-shrink:0}.local-date{position:relative}.date-trigger{width:100%;text-align:left;background:var(--bg);padding:12px}.date-popover{position:absolute;z-index:40;top:calc(100% + 7px);left:0;width:330px;max-width:calc(100vw - 75px);background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 35px #20271922;border-radius:12px;padding:14px}.date-heading{display:flex;align-items:center;gap:5px;margin-bottom:12px}.date-heading button{padding:7px 10px}.date-heading .date-month{padding:7px 3px;width:auto;flex:1;min-width:0}.date-heading .date-year{padding:7px 3px;width:69px}.date-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.date-grid button{border:0;padding:8px 0;border-radius:6px;font-size:12px}.date-weekday{text-align:center;font-size:10px;color:var(--muted);padding:6px 0}.date-grid .selected-date{background:var(--olive);color:white}.date-grid [aria-current=date]{box-shadow:inset 0 0 0 1px var(--olive)}.date-footer{display:flex;justify-content:space-between;gap:6px;border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.date-footer button{font-size:11px;padding:7px 9px}.list-row small{line-height:1.6;max-width:55%}@media(max-width:760px){.list-row{flex-wrap:wrap}.list-row small{max-width:100%}}@media print{.date-popover,.local-file{display:none!important}}

.sticker-picker{border:1px solid var(--line);border-radius:12px;padding:22px;background:var(--paper);margin-bottom:18px}.sticker-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.sticker-picker-heading h2{margin-bottom:8px}#stickerPreview{min-width:75px;text-align:center}.sticker-tabs{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.sticker-tabs button{font-size:11px;padding:8px 11px}.sticker-tabs button[aria-pressed=true]{background:var(--olive);color:#fff;border-color:var(--olive)}.sticker-options{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;margin-bottom:16px}.sticker-option{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 4px;background:var(--bg);min-width:0;min-height:95px;border:2px solid transparent}.sticker-option.selected{border-color:var(--olive);background:var(--pale)}.sticker-option:hover{background:var(--pale)}.sticker-number{color:var(--muted);font-size:9px;margin-top:4px}.animated-sticker{display:inline-block;width:64px;height:64px;vertical-align:middle;transform-origin:50% 65%;will-change:transform}.animated-sticker svg{width:100%;height:100%;display:block;overflow:visible}.photo-card h2 .animated-sticker{width:44px;height:44px;margin-left:8px}.animated-sticker.bob{animation:sticker-bob 2.8s ease-in-out infinite}.animated-sticker.sway{animation:sticker-sway 3.2s ease-in-out infinite}.animated-sticker.pulse{animation:sticker-pulse 2.5s ease-in-out infinite}.animated-sticker.wiggle{animation:sticker-wiggle 3.5s ease-in-out infinite}.sticker-option:nth-child(2n) .animated-sticker{animation-delay:-.8s}.sticker-option:nth-child(3n) .animated-sticker{animation-delay:-1.6s}@keyframes sticker-bob{0%,100%{transform:translateY(2px) rotate(-3deg)}50%{transform:translateY(-5px) rotate(3deg)}}@keyframes sticker-sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes sticker-pulse{0%,100%{transform:scale(.94)}50%{transform:scale(1.06)}}@keyframes sticker-wiggle{0%,70%,100%{transform:rotate(0)}78%{transform:rotate(-7deg)}86%{transform:rotate(7deg)}94%{transform:rotate(-4deg)}}@media(max-width:1100px){.sticker-options{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:500px){.sticker-picker{padding:14px}.sticker-options{gap:6px}.animated-sticker{width:52px;height:52px}.sticker-option{min-height:80px}.sticker-tabs button{padding:8px;font-size:10px}}@media(prefers-reduced-motion:reduce){.animated-sticker{animation:none!important}}@media print{.animated-sticker{animation:none!important;transform:none!important}}

.orb.running{animation:none}.recovery-notice{border-color:#c4936e;margin-bottom:22px}.night .wheel button{color:#343a2e}.date-popover input[type=number]{color:var(--ink)}
