@import"https://fonts.googleapis.com/css2?family=Gaegu:wght@400;700&family=Nunito:wght@400;600;700;800;900&display=swap";:root{font-family:Nunito,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#322a20;background:#f8f2ea;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}*,*:before,*:after{transition:background-color .26s ease,border-color .26s ease,color .26s ease,box-shadow .26s ease,filter .26s ease,opacity .26s ease,transform .26s ease}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}.app-shell{--bg: #fbf5ed;--text: #332a20;--muted: #786f62;--panel: rgba(255, 250, 242, .84);--panel-strong: #fffaf3;--line: rgba(92, 72, 50, .18);--accent: #758257;--accent-deep: #56633d;--accent-soft: #e7ead9;--peach: #dc9e85;--shadow: 0 24px 70px rgba(93, 71, 45, .16);min-height:100vh;color:var(--text);background:radial-gradient(circle at 16% 14%,rgba(255,255,255,.78),transparent 30%),linear-gradient(135deg,#fffaf6 0%,var(--bg) 55%,#ece9dc 100%);transition:background .42s ease,color .26s ease}.app-shell.dark{--bg: #14140f;--text: #f1e7d9;--muted: #c8bda8;--panel: rgba(30, 30, 23, .7);--panel-strong: #202019;--line: rgba(239, 222, 194, .12);--accent: #9fac73;--accent-deep: #c4cf91;--accent-soft: #2d3522;--peach: #e9b596;--shadow: 0 28px 90px rgba(0, 0, 0, .28);background:radial-gradient(circle at 80% 20%,rgba(91,103,62,.18),transparent 27%),linear-gradient(135deg,#11110d 0%,var(--bg) 55%,#27261f 100%)}.landing{position:relative;min-height:100svh;overflow:hidden;padding:clamp(18px,3vh,32px) clamp(20px,4vw,64px) 18px}.landing:after{position:absolute;right:0;bottom:0;left:0;height:78px;content:"";background:color-mix(in srgb,var(--accent-soft) 72%,transparent);clip-path:ellipse(70% 56% at 50% 100%);pointer-events:none}.top-nav,.workspace-header,.sidebar-head,.nav-actions,.nav-links,.hero-actions,.theme-toggle,.profile-card,.section-kicker,.todo-form,.todo-item,.calendar-panel label,.saved-dates button{display:flex;align-items:center}.top-nav{position:relative;z-index:2;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:8px;font-family:Gaegu,Comic Sans MS,cursive;font-size:clamp(2rem,3.2vw,3rem);font-weight:700;letter-spacing:0}.brand svg,.section-kicker svg,.pill svg{color:var(--accent)}.brand.compact{font-size:1.8rem}.nav-links{gap:clamp(18px,3vw,42px);font-size:1.04rem;font-weight:800}.nav-links a{position:relative;padding:10px 0}.nav-links a.active:after{position:absolute;right:0;bottom:0;left:0;height:3px;content:"";background:var(--accent);border-radius:999px}.nav-actions{gap:16px}.theme-toggle{gap:10px;height:48px;padding:0 14px;color:var(--text);cursor:pointer;background:transparent;border:1px solid var(--line);border-radius:999px}.toggle-track{position:relative;display:block;width:48px;height:28px;background:var(--text);border-radius:999px}.toggle-thumb{position:absolute;top:5px;left:5px;width:18px;height:18px;background:var(--bg);border-radius:50%;transition:transform .18s ease}.dark .toggle-thumb{transform:translate(20px)}.ghost-button,.primary-button,.outline-button,.logout-button,.icon-button,.link-button,.check-button,.side-nav button,.saved-dates button{cursor:pointer}.ghost-button,.primary-button,.outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 28px;font-weight:800;border-radius:18px}.ghost-button,.outline-button{color:var(--text);background:transparent;border:1px solid var(--line)}.primary-button{gap:10px;color:#fffaf0;background:var(--accent);border:1px solid transparent;box-shadow:0 12px 26px #49552c33}.primary-button:hover{background:var(--accent-deep)}.large{min-height:60px;padding:0 34px}.full{width:100%}.hero-grid{display:grid;grid-template-columns:minmax(300px,.86fr) minmax(420px,1.18fr);gap:clamp(24px,4vw,62px);align-items:center;min-height:calc(100svh - 132px);padding-top:clamp(18px,4vh,40px)}.hero-copy{position:relative;z-index:1}.pill{display:inline-flex;align-items:center;gap:12px;padding:14px 22px;margin-bottom:clamp(24px,4vh,34px);font-weight:900;color:var(--accent-deep);background:color-mix(in srgb,var(--accent-soft) 72%,transparent);border:1px solid var(--line);border-radius:999px}.hero-copy h1{margin:0;font-family:Gaegu,Comic Sans MS,cursive;font-size:clamp(4.8rem,8.2vw,7.6rem);font-weight:700;line-height:.8;letter-spacing:0}.tagline{margin:clamp(16px,2.5vh,22px) 0 clamp(14px,2.2vh,20px);color:var(--accent);font-family:Gaegu,Comic Sans MS,cursive;font-size:clamp(2rem,3.5vw,2.75rem);font-weight:700;line-height:.9}.tagline:after{color:var(--peach);content:" ♡"}.hero-text{max-width:520px;margin:0 0 clamp(22px,3vh,30px);color:var(--text);font-size:1.18rem;font-weight:700;line-height:1.55}.memory-loader{display:grid;gap:14px;width:min(100%,360px);margin-top:clamp(24px,4vh,38px)}.loader-notebook{position:relative;width:78px;height:50px;perspective:180px}.loader-notebook:before,.loader-notebook:after{position:absolute;inset:0;content:"";background:color-mix(in srgb,var(--panel-strong) 94%,transparent);border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:10px;box-shadow:0 14px 28px #5d472d1f}.loader-notebook:before{transform:rotate(-4deg)}.loader-notebook:after{background:color-mix(in srgb,var(--accent-soft) 72%,var(--panel-strong) 28%);transform:rotate(4deg) translate(8px);transform-origin:left center;animation:pageFlutter 1.8s ease-in-out infinite}.loader-notebook span{position:absolute;z-index:1;left:18px;width:28px;height:4px;background:color-mix(in srgb,var(--accent) 54%,transparent);border-radius:999px;animation:inkPulse 1.8s ease-in-out infinite}.loader-notebook span:nth-child(1){top:16px}.loader-notebook span:nth-child(2){top:25px;width:38px;animation-delay:.16s}.loader-notebook span:nth-child(3){top:34px;width:22px;animation-delay:.32s}.loader-progress{position:relative;width:min(100%,320px);height:10px;overflow:hidden;background:color-mix(in srgb,var(--accent-soft) 54%,transparent);border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:999px;box-shadow:inset 0 1px #ffffff38}.loader-progress span{position:absolute;inset:1px auto 1px 1px;width:42%;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--peach) 72%,var(--accent) 28%));border-radius:inherit;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 34%,transparent);animation:memoryBuffer 1.65s ease-in-out infinite}.memory-loader p{margin:0;color:var(--muted);font-family:Gaegu,Comic Sans MS,cursive;font-size:1.35rem;font-weight:700;line-height:1}.hero-actions{gap:22px;flex-wrap:wrap}.outline-button{gap:14px}.hero-art{position:relative;width:min(47vw,860px);height:min(62svh,650px);min-height:0;margin-left:auto;filter:drop-shadow(0 24px 58px rgba(93,71,45,.2))}.hero-art:before{position:absolute;inset:-1px;content:"";background:var(--hero-image) center / cover no-repeat;clip-path:polygon(10% 4%,28% 0%,45% 4%,62% 1%,80% 5%,94% 15%,99% 31%,97% 50%,100% 67%,91% 86%,73% 96%,52% 98%,35% 96%,17% 90%,5% 77%,0% 59%,3% 42%,0% 25%);filter:blur(1.4px);transform:scale(1.003);transition:background-image 0ms linear .18s,filter .32s ease,transform .32s ease}.hero-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;clip-path:polygon(10% 4%,28% 0%,45% 4%,62% 1%,80% 5%,94% 15%,99% 31%,97% 50%,100% 67%,91% 86%,73% 96%,52% 98%,35% 96%,17% 90%,5% 77%,0% 59%,3% 42%,0% 25%);transition:opacity .26s ease,filter .32s ease,transform .32s ease}.dark .hero-art img{transform:scale(1.018)}.auth-page{position:relative;min-height:100svh;padding:clamp(18px,3vh,32px) clamp(18px,4vw,58px);overflow:hidden}.auth-page:before{position:absolute;inset:0;content:"";background:radial-gradient(circle at 20% 15%,rgba(255,255,255,.74),transparent 30%),linear-gradient(135deg,color-mix(in srgb,var(--panel-strong) 74%,transparent),transparent 56%);pointer-events:none}.auth-nav{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand-button{padding:0;color:var(--text);cursor:pointer;background:transparent;border:0}.auth-split{position:relative;z-index:1;display:grid;grid-template-columns:minmax(460px,1.18fr) minmax(360px,.82fr);gap:clamp(28px,5vw,72px);align-items:center;min-height:calc(100svh - 86px);padding-top:clamp(18px,4vh,42px)}.memory-room{position:relative;min-height:min(70svh,680px);overflow:hidden;background:linear-gradient(180deg,#fffcf499,#f2e5d280),linear-gradient(135deg,#f6eadb,#e9ead7 58%,#d4dec8);border:1px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:34px;box-shadow:0 30px 88px #5d472d29}.dark .memory-room{background:linear-gradient(180deg,#2d2b21b3,#1c1b15b8),linear-gradient(135deg,#2d2b20,#252c1e 56%,#373827)}.sunbeam,.success-sunbeam{position:absolute;top:-18%;right:3%;width:48%;height:118%;background:linear-gradient(105deg,rgba(255,244,196,.48),rgba(255,244,196,.06) 58%,transparent);filter:blur(2px);transform:rotate(7deg);animation:lightShift 7s ease-in-out infinite alternate;pointer-events:none}.dust-field span{position:absolute;top:calc(12% + (var(--i) * 6%));left:calc(15% + ((var(--i) % 5) * 14%));width:5px;height:5px;background:#fff8dcc2;border-radius:50%;box-shadow:0 0 12px #fff8dc8c;animation:dustFloat calc(6s + (var(--i) * .32s)) ease-in-out infinite}.room-window{position:absolute;top:9%;left:9%;width:42%;height:38%;overflow:hidden;background:#d7ebee;border:14px solid color-mix(in srgb,var(--panel-strong) 84%,#d6c4aa 16%);border-radius:26px;box-shadow:inset 0 0 0 2px #5e463014,0 18px 38px #5d472d1f}.sky{position:absolute;inset:0;background:linear-gradient(180deg,#cbe8ef,#f6e9c4)}.cloud{position:absolute;width:78px;height:28px;background:#ffffffd1;border-radius:999px;animation:cloudDrift 18s linear infinite}.cloud:before,.cloud:after{position:absolute;bottom:8px;content:"";background:inherit;border-radius:50%}.cloud:before{left:12px;width:30px;height:30px}.cloud:after{right:10px;width:24px;height:24px}.cloud-one{top:26%;left:-28%}.cloud-two{top:54%;left:12%;width:58px;height:22px;animation-duration:24s;animation-delay:-8s}.window-frame{position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(50% - 4px),rgba(107,82,56,.22) calc(50% - 4px),rgba(107,82,56,.22) calc(50% + 4px),transparent calc(50% + 4px)),linear-gradient(180deg,transparent calc(50% - 4px),rgba(107,82,56,.2) calc(50% - 4px),rgba(107,82,56,.2) calc(50% + 4px),transparent calc(50% + 4px))}.plant{position:absolute;transform-origin:bottom center}.plant span{position:absolute;display:block;background:#77875b;border-radius:999px 999px 999px 16px;transform-origin:bottom center;animation:leafSway 4.8s ease-in-out infinite alternate}.tall-plant{right:10%;bottom:21%;width:150px;height:250px}.tall-plant:after,.desk-plant:after{position:absolute;right:18%;bottom:0;left:18%;height:30%;content:"";background:#b98564;border-radius:14px 14px 26px 26px;box-shadow:inset 0 -12px #5d472d14}.tall-plant span:nth-child(1){right:54px;bottom:70px;width:34px;height:128px;--leaf-start: -25deg;--leaf-end: -18deg;transform:rotate(-23deg)}.tall-plant span:nth-child(2){right:62px;bottom:80px;width:34px;height:150px;--leaf-start: 18deg;--leaf-end: 26deg;transform:rotate(22deg);animation-delay:-1.4s}.tall-plant span:nth-child(3){right:43px;bottom:72px;width:30px;height:108px;--leaf-start: 44deg;--leaf-end: 52deg;transform:rotate(48deg);animation-delay:-2.2s}.desk-plant{left:14%;bottom:23%;width:90px;height:120px}.desk-plant span:nth-child(1){right:40px;bottom:36px;width:24px;height:70px;--leaf-start: -25deg;--leaf-end: -18deg;transform:rotate(-22deg)}.desk-plant span:nth-child(2){right:28px;bottom:40px;width:22px;height:78px;--leaf-start: 16deg;--leaf-end: 24deg;transform:rotate(20deg);animation-delay:-1.1s}.desk-plant span:nth-child(3){right:22px;bottom:34px;width:20px;height:58px;--leaf-start: 42deg;--leaf-end: 50deg;transform:rotate(46deg);animation-delay:-1.8s}.room-shelf{position:absolute;top:14%;right:8%;display:flex;gap:10px;align-items:flex-end;width:26%;height:110px;border-bottom:12px solid #8d694c}.room-shelf i{display:block;width:22px;background:#d99a83;border-radius:6px 6px 2px 2px}.room-shelf i:nth-child(1){height:58px}.room-shelf i:nth-child(2){height:78px;background:#7c8b60}.room-shelf i:nth-child(3){height:48px;background:#d9bf8f}.desk{position:absolute;right:8%;bottom:13%;left:8%;height:22%;background:linear-gradient(180deg,#a77c5c,#876044);border-radius:34px 34px 22px 22px;box-shadow:0 22px 38px #5d472d33}.desk:after{position:absolute;right:9%;bottom:-40%;left:9%;height:46%;content:"";background:linear-gradient(180deg,#876044,#6f4c37);border-radius:0 0 20px 20px}.mug{position:absolute;right:22%;bottom:54%;width:52px;height:50px;background:#f3d8c3;border-radius:10px 10px 17px 17px}.mug:after{position:absolute;top:12px;right:-18px;width:23px;height:23px;content:"";border:6px solid #f3d8c3;border-left:0;border-radius:0 18px 18px 0}.notebook-illustration{position:absolute;bottom:54%;left:31%;width:190px;height:118px;background:#fff8eb;border:1px solid rgba(92,72,50,.18);border-radius:12px;box-shadow:0 16px 34px #47322029;transform:rotate(-4deg)}.notebook-illustration:before{position:absolute;top:0;bottom:0;left:50%;width:2px;content:"";background:#5c48321f}.notebook-illustration span{position:absolute;top:28px;left:22px;width:56px;height:8px;background:#7582575c;border-radius:999px;box-shadow:0 20px #7582572e,86px 10px #d8997e47}.room-caption{position:absolute;bottom:6%;left:8%;max-width:320px;margin:0;color:color-mix(in srgb,var(--text) 72%,transparent);font-family:Gaegu,Comic Sans MS,cursive;font-size:clamp(1.35rem,2.4vw,2rem);font-weight:700;line-height:1}.memory-auth-card{display:grid;gap:20px;width:min(100%,470px);justify-self:center;padding:clamp(24px,4vw,38px);background:linear-gradient(180deg,color-mix(in srgb,var(--panel-strong) 94%,transparent),color-mix(in srgb,var(--panel) 92%,transparent));border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:30px;box-shadow:0 28px 76px #5d472d24;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.auth-card-heading h1{margin:0;font-family:Gaegu,Comic Sans MS,cursive;font-size:clamp(3.2rem,5vw,4.6rem);font-weight:700;line-height:.88;letter-spacing:0}.auth-card-heading p:last-child{margin:14px 0 0;color:var(--muted);font-size:1.04rem;font-weight:800;line-height:1.48}.auth-form{gap:15px}.auth-form label{color:color-mix(in srgb,var(--muted) 88%,var(--text) 12%)}.auth-form input{min-height:54px;padding:0 17px;background:color-mix(in srgb,var(--panel-strong) 96%,transparent);border-color:color-mix(in srgb,var(--line) 82%,transparent);border-radius:18px;box-shadow:inset 0 1px #ffffff6b,0 10px 22px #5d472d0f}.auth-form input:focus{border-color:color-mix(in srgb,var(--accent) 78%,#ffffff 22%);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 16%,transparent),0 14px 28px #5d472d17;transform:translateY(-1px)}.field-hint{margin:-4px 0 0;color:#a36545;font-size:.9rem;font-weight:850}.auth-message.success{color:var(--accent-deep)}.auth-submit{min-height:56px;margin-top:2px}.google-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;color:var(--text);font-weight:900;cursor:pointer;background:color-mix(in srgb,var(--panel-strong) 78%,transparent);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 22px #5d472d0f}.google-button:hover{background:var(--panel-strong);box-shadow:0 16px 34px #5d472d1f;transform:translateY(-1px)}.google-button:disabled{cursor:wait;opacity:.72}.google-glyph{width:21px;height:21px}.auth-links{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}.success-room{position:relative;display:grid;min-height:100svh;overflow:hidden;background:radial-gradient(circle at 52% 20%,rgba(255,250,231,.9),transparent 30%),linear-gradient(135deg,#fbf4e9,#e8ead7 58%,#d9e3cf);place-items:center}.dark .success-room{background:radial-gradient(circle at 52% 20%,rgba(89,82,54,.32),transparent 30%),linear-gradient(135deg,#181711,#24291e 58%,#343526)}.success-leaves{position:absolute;top:12%;left:12%;width:160px;height:180px}.success-leaves span{position:absolute;width:34px;height:110px;background:#7e8d5e;border-radius:999px 999px 999px 18px;transform-origin:bottom center;animation:leafSway 3.8s ease-in-out infinite alternate}.success-leaves span:nth-child(1){left:48px;bottom:0;--leaf-start: -31deg;--leaf-end: -22deg;transform:rotate(-28deg)}.success-leaves span:nth-child(2){left:78px;bottom:0;height:136px;--leaf-start: 9deg;--leaf-end: 18deg;transform:rotate(13deg);animation-delay:-1s}.success-leaves span:nth-child(3){left:92px;bottom:0;height:98px;--leaf-start: 38deg;--leaf-end: 47deg;transform:rotate(42deg);animation-delay:-1.8s}.success-table{position:relative;width:min(74vw,760px);height:min(52svh,470px);border-bottom:86px solid #8e6448;border-radius:34px}.success-notebook{position:absolute;right:50%;bottom:58px;width:min(58vw,420px);height:250px;background:#fff9ee;border:1px solid rgba(92,72,50,.18);border-radius:20px;box-shadow:0 24px 58px #52382238;transform:translate(50%) rotateX(68deg);transform-origin:bottom center}.success-notebook:before{position:absolute;top:0;bottom:0;left:50%;width:2px;content:"";background:#5c48321f}.success-page{position:absolute;inset:12px 50% 12px 14px;background:#f7e2c975;border-radius:14px 4px 4px 14px;transform-style:preserve-3d}.success-note-text{position:absolute;top:50%;left:50%;width:80%;margin:0;color:#5b4937;font-family:Gaegu,Comic Sans MS,cursive;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:.95;text-align:center;transform:translate(-50%,-50%) rotate(-1deg)}.success-cat{position:absolute;bottom:93px;left:calc(50% - 290px);z-index:2;width:122px;height:92px;opacity:0}.cat-body,.cat-head,.cat-ear,.cat-tail,.cat-paw{position:absolute;display:block;background:#6d5849}.cat-body{right:22px;bottom:0;width:72px;height:54px;border-radius:45px 45px 22px 22px}.cat-head{right:3px;bottom:30px;width:52px;height:46px;border-radius:50%}.cat-ear{bottom:68px;width:18px;height:18px;clip-path:polygon(50% 0,0 100%,100% 100%)}.cat-ear.left{right:37px}.cat-ear.right{right:10px}.cat-tail{bottom:28px;left:6px;width:58px;height:16px;background:transparent;border:12px solid #6d5849;border-right:0;border-bottom:0;border-radius:60px 0 0;transform-origin:right bottom;animation:tailSway 1.2s ease-in-out infinite alternate}.cat-paw{right:0;bottom:9px;width:28px;height:11px;border-radius:999px;animation:pawTap .72s ease-in-out 2 1.7s}.auth-overlay{position:fixed;inset:0;z-index:20;display:grid;padding:20px;background:#0a0a0870;place-items:center}.auth-panel{position:relative;display:grid;width:min(94vw,460px);gap:20px;padding:28px;background:var(--panel-strong);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}.section-kicker{gap:8px;margin:0 0 8px;color:var(--accent-deep);font-size:.85rem;font-weight:900;text-transform:uppercase}.auth-panel h2,.reflection-panel h2{margin:0;font-size:1.55rem}.auth-close{position:absolute;top:12px;right:12px}form{display:grid;gap:14px}label{display:grid;gap:8px;color:var(--muted);font-size:.9rem;font-weight:900}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}input,textarea{width:100%;color:var(--text);background:color-mix(in srgb,var(--panel-strong) 72%,transparent);border:1px solid color-mix(in srgb,var(--line) 74%,transparent);border-radius:20px;outline:none;box-shadow:inset 0 1px color-mix(in srgb,#ffffff 10%,transparent)}input{min-height:56px;padding:0 18px}.password-field{position:relative;display:block}.password-field input{padding-right:48px}.password-toggle{position:absolute;top:50%;right:14px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;color:var(--muted);cursor:pointer;background:transparent;border:0;transform:translateY(-50%)}.password-toggle:hover{color:var(--accent-deep)}textarea{min-height:320px;padding:16px;line-height:1.6;resize:vertical}input:focus,textarea:focus{border-color:color-mix(in srgb,var(--accent) 68%,var(--line) 32%);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 14%,transparent),0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent),0 14px 34px #5d472d14}.link-button{padding:0;color:var(--accent-deep);font-weight:900;text-align:left;background:transparent;border:0}.auth-message{margin:0;color:#b14e3f;font-size:.92rem;font-weight:800}.primary-button:disabled,.ghost-button:disabled,.outline-button:disabled{cursor:wait;opacity:.7}.feature-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:20px;max-width:820px;margin-top:38px}.feature-card{--feature-bg: #f3e4e3;--feature-icon: #6a5845;padding-right:18px;border-right:1px solid var(--line)}.feature-card.sage{--feature-bg: #e8eadb;--feature-icon: #4d573a}.feature-card.peach{--feature-bg: #f6e7cf;--feature-icon: #6b593d}.feature-card.lavender{--feature-bg: #e7e9fb;--feature-icon: #46516c}.feature-card:last-child{border-right:0}.feature-card span{display:inline-grid;width:58px;height:58px;margin-bottom:14px;color:var(--feature-icon);background:var(--feature-bg);border:1px solid color-mix(in srgb,var(--feature-icon) 12%,transparent);border-radius:19px;box-shadow:0 10px 24px color-mix(in srgb,var(--feature-bg) 64%,transparent);place-items:center}.feature-card h3{margin:0 0 8px;font-size:1rem;font-weight:900}.feature-card p{margin:0;color:var(--muted);font-weight:700;line-height:1.45}.landing-section,.get-started-strip{position:relative;z-index:1;margin-top:clamp(42px,8vh,86px)}.landing-section{display:grid;grid-template-columns:minmax(280px,.86fr) minmax(320px,1fr);gap:clamp(24px,5vw,70px);align-items:center;padding:clamp(24px,4vw,42px) 0;border-top:1px solid var(--line)}.landing-section h2{max-width:620px;margin:0 0 14px;font-family:Gaegu,Comic Sans MS,cursive;font-size:clamp(2.6rem,5vw,4.4rem);font-weight:700;line-height:.95}.landing-section p{max-width:670px;margin:0;color:var(--muted);font-size:1.08rem;font-weight:750;line-height:1.65}.section-card-list{display:grid;gap:14px}.section-card-list article{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 40px #5d472d1a}.section-card-list svg{grid-row:span 2;color:var(--accent-deep)}.section-card-list strong{font-weight:900}.section-card-list span{color:var(--muted);font-weight:700}.privacy-section{grid-template-columns:minmax(280px,1fr) auto}.get-started-strip{display:flex;gap:18px;align-items:center;justify-content:center;padding:20px;margin-bottom:48px;color:var(--text);background:color-mix(in srgb,var(--accent-soft) 68%,transparent);border:1px solid var(--line);border-radius:999px}.get-started-strip span{display:inline-flex;gap:8px;align-items:center;font-weight:900}.dashboard{display:grid;grid-template-columns:292px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;padding:26px 20px;background:color-mix(in srgb,var(--panel-strong) 88%,transparent);border-right:1px solid var(--line)}.sidebar-head{justify-content:space-between;margin-bottom:28px}.profile-card{gap:12px;padding:14px;margin-bottom:20px;background:var(--panel);border:1px solid var(--line);border-radius:22px}.profile-card span{display:grid;width:46px;height:46px;color:var(--accent-deep);background:var(--accent-soft);border-radius:50%;place-items:center}.profile-card strong,.profile-card small{display:block;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-card small{color:var(--muted)}.side-nav{display:grid;gap:10px}.side-nav button,.logout-button{display:flex;gap:12px;align-items:center;min-height:50px;padding:0 14px;color:var(--text);font-weight:900;text-align:left;background:transparent;border:1px solid transparent;border-radius:18px}.side-nav button.active,.side-nav button:hover,.logout-button:hover{color:var(--accent-deep);background:var(--accent-soft);border-color:var(--line)}.logout-button{margin-top:auto}.workspace{position:relative;padding:clamp(22px,4vw,46px);overflow:hidden}.workspace:before{position:absolute;inset:0;content:"";background:radial-gradient(circle at 22% 16%,color-mix(in srgb,var(--panel-strong) 88%,transparent),transparent 36%),linear-gradient(180deg,color-mix(in srgb,var(--panel-strong) 55%,transparent),transparent 35%);pointer-events:none}.workspace:after{position:absolute;inset:20px 30px;content:"";background:center / min(42vw,360px) no-repeat var(--workspace-mark, none);opacity:.06;filter:saturate(.85);pointer-events:none}.workspace-header{position:relative;z-index:1;justify-content:space-between;gap:18px;margin-bottom:28px}.workspace-header h1{margin:0;font-family:Gaegu,Comic Sans MS,cursive;font-size:clamp(2rem,4vw,3rem);font-weight:700;letter-spacing:0}.content-grid,.past-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px;align-items:start}.diary-editor,.reflection-panel,.todo-panel,.calendar-panel{padding:clamp(18px,3vw,28px);background:var(--panel);border:1px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:32px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.editor-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.notebook-page{position:relative;overflow:hidden;background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--accent-soft) 38%,transparent),transparent 32%),linear-gradient(145deg,color-mix(in srgb,var(--panel-strong) 88%,transparent),color-mix(in srgb,var(--panel) 78%,transparent)),center / 260px no-repeat var(--page-art);background-position:center,right 28px bottom 32px;background-size:auto,min(24vw,180px);box-shadow:inset 0 1px color-mix(in srgb,#ffffff 24%,transparent),0 26px 84px #3a2b1b1c}.notebook-page:before{position:absolute;inset:0;content:"";background:radial-gradient(circle at right bottom,color-mix(in srgb,var(--accent-soft) 14%,transparent),transparent 34%),linear-gradient(180deg,transparent,color-mix(in srgb,var(--panel-strong) 26%,transparent));opacity:.75;pointer-events:none}.page-stitch{display:none}.page-header,.notebook-page label,.thoughts-shell{position:relative;z-index:1}.page-header{display:grid;grid-template-columns:minmax(0,.9fr) minmax(220px,.55fr);gap:20px;align-items:end}.page-date-block{display:grid;gap:14px}.page-chip{display:inline-flex;align-items:center;width:fit-content;padding:8px 18px;color:var(--accent-deep);font-family:Gaegu,Comic Sans MS,cursive;font-size:1.05rem;font-weight:700;background:color-mix(in srgb,var(--accent-soft) 44%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,var(--line) 78%);border-radius:999px;box-shadow:0 10px 24px #3c442614}.diary-title-input{font-family:Gaegu,Comic Sans MS,cursive;font-size:1.5rem;font-weight:700}.thoughts-shell{display:grid;gap:22px}.thoughts-toolbar{display:grid;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);gap:clamp(18px,3vw,34px);align-items:start;padding:clamp(20px,3vw,28px);background:radial-gradient(circle at 8% 12%,color-mix(in srgb,var(--peach) 10%,transparent),transparent 36%),color-mix(in srgb,var(--panel-strong) 54%,transparent);border:1px solid color-mix(in srgb,var(--line) 54%,transparent);border-radius:30px;box-shadow:inset 0 1px color-mix(in srgb,#ffffff 16%,transparent),0 16px 38px #5d472d0e}.thoughts-header strong{display:block;margin-bottom:8px;color:var(--text);font-size:1.5rem;font-family:Gaegu,Comic Sans MS,cursive;font-weight:700}.thoughts-header p{margin:0;color:var(--muted);max-width:280px;font-size:.94rem;font-weight:700;line-height:1.6}.lined-entry{gap:0}.lined-entry textarea{min-height:430px;height:100%;line-height:1.8;padding:24px 24px 24px 26px;background:color-mix(in srgb,var(--panel-strong) 92%,transparent);border-style:solid;border-radius:24px}.doodle-controls{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.tool-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-start}.tool-chip{display:inline-flex;gap:7px;align-items:center;min-height:40px;padding:0 15px;color:color-mix(in srgb,var(--text) 88%,transparent);font-size:.95rem;font-weight:800;background:color-mix(in srgb,var(--panel-strong) 54%,transparent);border:1px solid color-mix(in srgb,var(--line) 56%,transparent);border-radius:999px;box-shadow:0 6px 16px #5d472d09}.tool-chip.active,.tool-chip:hover{color:var(--accent-deep);background:color-mix(in srgb,var(--accent-soft) 86%,var(--panel-strong) 14%);border-color:color-mix(in srgb,var(--accent) 26%,var(--line) 74%)}.palette-row{gap:12px}.color-dot{width:30px;height:30px;padding:0;cursor:pointer;background:var(--swatch);border:2px solid color-mix(in srgb,var(--swatch) 72%,#ffffff 28%);border-radius:50%;box-shadow:inset 0 1px #fff3,0 8px 18px #0000001a}.color-dot.active{outline:3px solid color-mix(in srgb,var(--accent-soft) 92%,transparent);transform:scale(1.08)}.action-row{gap:10px;justify-content:flex-start}.thought-surface{position:relative;min-height:430px;overflow:hidden;background:repeating-linear-gradient(to bottom,transparent 0,transparent 42px,color-mix(in srgb,var(--line) 36%,transparent) 43px),radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--accent-soft) 20%,transparent),transparent 30%),linear-gradient(180deg,color-mix(in srgb,var(--panel-strong) 78%,transparent),color-mix(in srgb,var(--panel) 66%,transparent));border:1px solid color-mix(in srgb,var(--line) 54%,transparent);border-radius:34px;box-shadow:inset 0 1px #ffffff38,0 20px 42px #5d472d11}.merged-entry,.merged-entry textarea{height:100%}.merged-entry textarea{position:relative;z-index:1;min-height:430px;padding:26px 28px;background:transparent;border:0;box-shadow:none;resize:none;font-size:1.02rem}.brush-size{display:inline-flex;gap:10px;align-items:center;min-height:40px;padding:0 15px;color:var(--text);font-size:.94rem;font-weight:800;background:color-mix(in srgb,var(--panel-strong) 54%,transparent);border:1px solid color-mix(in srgb,var(--line) 56%,transparent);border-radius:999px}.brush-size input{min-height:auto;width:104px;padding:0;accent-color:var(--accent);background:transparent;border:0;box-shadow:none}.doodle-clear{min-height:40px;padding:0 18px;border-radius:999px;box-shadow:none}.doodle-canvas{position:absolute;inset:0;z-index:2;width:100%;height:100%;touch-action:none}.surface-canvas.typing-mode{pointer-events:none;cursor:text}.surface-canvas.drawing-mode{pointer-events:auto;cursor:crosshair}.reflection-panel ul{display:grid;gap:14px;padding-left:20px;margin:18px 0 0;color:var(--muted);line-height:1.55}.todo-panel{max-width:900px}.todo-form{grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-bottom:18px}.todo-list{display:grid;gap:12px}.todo-item{gap:12px;min-height:58px;padding:0 12px;background:color-mix(in srgb,var(--panel-strong) 90%,transparent);border:1px solid var(--line);border-radius:18px}.todo-item span{flex:1;min-width:0;overflow-wrap:anywhere}.todo-item.done span{color:var(--muted);text-decoration:line-through}.check-button,.icon-button{display:inline-grid;width:40px;height:40px;color:var(--accent-deep);background:transparent;border:0;border-radius:14px;place-items:center}.check-button:hover,.icon-button:hover{background:var(--accent-soft)}.past-grid{grid-template-columns:300px minmax(0,1fr)}.past-grid .content-grid{display:block}.calendar-panel{position:sticky;top:28px;overflow:hidden;background:radial-gradient(circle at 18% 8%,color-mix(in srgb,var(--accent-soft) 42%,transparent),transparent 34%),color-mix(in srgb,var(--panel) 92%,transparent)}.calendar-intro{display:flex;gap:14px;align-items:center;margin-bottom:18px}.calendar-intro span{display:inline-grid;width:42px;height:42px;color:var(--accent-deep);background:color-mix(in srgb,var(--accent-soft) 62%,transparent);border:1px solid color-mix(in srgb,var(--line) 62%,transparent);border-radius:16px;place-items:center}.calendar-intro strong{display:block;font-family:Gaegu,Comic Sans MS,cursive;font-size:1.55rem;line-height:.95}.calendar-intro p{margin:5px 0 0;color:var(--muted);font-size:.94rem;font-weight:800}.memoira-calendar{padding:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel-strong) 72%,transparent),color-mix(in srgb,var(--panel) 58%,transparent));border:1px solid color-mix(in srgb,var(--line) 58%,transparent);border-radius:26px;box-shadow:inset 0 1px color-mix(in srgb,#ffffff 13%,transparent),0 14px 34px #5d472d0f}.calendar-topline{display:grid;grid-template-columns:38px 1fr 38px;gap:8px;align-items:center;margin-bottom:14px}.calendar-topline strong{color:var(--text);font-size:1.02rem;font-weight:900;text-align:center}.calendar-topline button,.calendar-days button{cursor:pointer;color:var(--text);background:transparent;border:0}.calendar-topline button{display:inline-grid;width:38px;height:38px;color:var(--accent-deep);border:1px solid color-mix(in srgb,var(--line) 58%,transparent);border-radius:15px;place-items:center}.calendar-topline button:hover{background:color-mix(in srgb,var(--accent-soft) 72%,transparent)}.calendar-weekdays,.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.calendar-weekdays{margin-bottom:8px}.calendar-weekdays span{color:var(--muted);font-size:.75rem;font-weight:900;text-align:center}.calendar-days button{position:relative;display:inline-grid;min-width:0;height:34px;color:color-mix(in srgb,var(--text) 92%,transparent);font-size:.92rem;font-weight:900;border:1px solid transparent;border-radius:13px;place-items:center}.calendar-days button:hover{color:var(--accent-deep);background:color-mix(in srgb,var(--accent-soft) 54%,transparent);border-color:color-mix(in srgb,var(--line) 58%,transparent)}.calendar-days button.muted{color:color-mix(in srgb,var(--muted) 58%,transparent)}.calendar-days button.selected{color:color-mix(in srgb,var(--panel-strong) 78%,#ffffff 22%);background:linear-gradient(135deg,var(--accent),var(--accent-deep));border-color:color-mix(in srgb,var(--accent-deep) 44%,transparent);box-shadow:0 10px 20px #4e5b3033}.calendar-days button span{position:absolute;right:7px;bottom:5px;width:5px;height:5px;background:var(--peach);border-radius:50%}.calendar-days button.selected span{background:color-mix(in srgb,#ffffff 82%,var(--peach) 18%)}.saved-dates-title{color:var(--muted);font-size:.82rem;font-weight:900;letter-spacing:.02em;text-transform:uppercase}.saved-dates{display:grid;gap:10px;margin-top:22px}.saved-dates button{justify-content:space-between;gap:10px;min-height:46px;padding:0 14px;color:var(--text);background:color-mix(in srgb,var(--panel-strong) 36%,transparent);border:1px solid color-mix(in srgb,var(--line) 56%,transparent);border-radius:18px}.saved-dates button.active,.saved-dates button:hover{color:var(--accent-deep);background:color-mix(in srgb,var(--accent-soft) 72%,transparent);border-color:color-mix(in srgb,var(--accent) 22%,var(--line) 78%)}.saved-dates span{width:8px;height:8px;background:var(--peach);border-radius:50%}.mobile-only{display:none}@keyframes leafSway{0%{transform:rotate(var(--leaf-start, -8deg))}to{transform:rotate(var(--leaf-end, 8deg))}}@keyframes cloudDrift{0%{transform:translate(0)}to{transform:translate(480px)}}@keyframes dustFloat{0%,to{opacity:.28;transform:translateZ(0)}50%{opacity:.76;transform:translate3d(18px,-26px,0)}}@keyframes lightShift{0%{opacity:.54;transform:rotate(5deg) translate(-8px)}to{opacity:.82;transform:rotate(8deg) translate(12px)}}@keyframes tailSway{0%{transform:rotate(-6deg)}to{transform:rotate(9deg)}}@keyframes pawTap{0%,to{transform:translateY(0) rotate(0)}45%{transform:translateY(8px) rotate(8deg)}}@keyframes pageFlutter{0%,to{transform:rotate(4deg) translate(8px) rotateY(0)}45%{transform:rotate(2deg) translate(12px) rotateY(-34deg)}}@keyframes inkPulse{0%,to{opacity:.42;transform:scaleX(.84)}50%{opacity:.9;transform:scaleX(1)}}@keyframes memoryBuffer{0%{transform:translate(-104%)}52%{transform:translate(74%)}to{transform:translate(242%)}}@media(max-width:1120px){.top-nav{align-items:flex-start}.nav-links{display:none}.hero-grid{grid-template-columns:1fr;min-height:auto}.hero-art,.hero-art img{width:100%}.feature-row{max-width:none}.auth-split{grid-template-columns:1fr}.memory-room{min-height:440px}.memory-auth-card{width:min(100%,620px)}}@media(max-width:880px){.landing{padding:22px 16px 28px}.top-nav{gap:16px}.nav-actions{flex-wrap:wrap;justify-content:flex-end}.hero-copy h1{font-size:4.3rem}.feature-row,.content-grid,.past-grid,.editor-meta,.page-header,.landing-section,.privacy-section{grid-template-columns:1fr}.auth-nav{align-items:flex-start}.auth-split{min-height:auto}.room-window{width:50%}.room-shelf{display:none}.success-table{width:92vw}.success-cat{left:calc(50% - 230px)}.get-started-strip{flex-direction:column;align-items:stretch;border-radius:28px}.feature-row{gap:14px}.feature-card{padding:16px 0;border-right:0;border-bottom:1px solid var(--line)}.dashboard{grid-template-columns:1fr}.sidebar{position:fixed;z-index:10;width:min(86vw,320px);transform:translate(-100%);transition:transform .18s ease}.sidebar.open{transform:translate(0)}.mobile-only{display:inline-grid}.calendar-panel{position:static}.notebook-page{background-position:center,right 18px bottom 18px;background-size:auto,120px}.thoughts-toolbar{grid-template-columns:1fr}.doodle-controls{width:100%;justify-items:start}.tool-row,.action-row{justify-content:flex-start}}@media(max-width:560px){.brand{font-size:1.55rem}.ghost-button,.primary-button,.outline-button{min-height:44px;padding:0 18px}.hero-copy h1{font-size:3.4rem}.tagline{font-size:1.55rem}.hero-text{font-size:1rem}.hero-art img{min-height:300px}.auth-panel{padding:18px}.auth-page{padding:18px 14px 28px}.auth-nav{gap:14px}.auth-nav .nav-actions{justify-content:flex-end}.memory-room{min-height:330px;border-radius:26px}.room-window{border-width:9px;border-radius:18px}.tall-plant{right:3%;bottom:20%;transform:scale(.75)}.desk-plant{display:none}.notebook-illustration{left:18%;width:142px;height:90px}.memory-auth-card{padding:22px 18px;border-radius:24px}.auth-card-heading h1{font-size:3.1rem}.auth-links{align-items:flex-start;flex-direction:column}.success-notebook{width:78vw;height:210px}.success-note-text{font-size:2.2rem}.success-cat{left:5%;transform:scale(.8)}.workspace{padding:18px 14px}.workspace:after{inset:12px;background-size:120px}.workspace-header{align-items:flex-start}.todo-form{grid-template-columns:1fr}textarea{min-height:260px}.lined-entry textarea{min-height:300px;line-height:1.65}.thoughts-toolbar{padding:16px;border-radius:20px}.thought-surface,.merged-entry textarea{min-height:340px}.merged-entry textarea{padding:20px}.tool-chip,.doodle-clear,.brush-size{min-height:32px;font-size:.9rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
