:root{color:#20242c;background:#f5f7fa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.62}.app-shell{width:min(100%,1120px);margin:0 auto;padding:24px}.app-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 0 20px}.header-controls{display:flex;align-items:center;gap:8px}.lang-toggle{min-height:34px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#344054;font-size:.82rem;font-weight:700;padding:6px 10px}.eyebrow{margin:0 0 6px;color:#667085;font-size:.76rem;font-weight:700;letter-spacing:0;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{color:#121722;font-size:2rem;line-height:1.15}h2{color:#1e2633;font-size:1.25rem;line-height:1.25}.today-pill,.kind-badge{display:inline-flex;align-items:center;min-height:34px;border:1px solid #d8dee8;border-radius:8px;background:#fff;color:#344054;font-size:.9rem;font-weight:700;padding:6px 10px;white-space:nowrap}.workspace{padding:12px 0 32px}.panel{border:1px solid #dce3ee;border-radius:8px;background:#fff;box-shadow:0 14px 36px #242f4b14}.create-panel{max-width:760px;padding:24px}.dashboard-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:18px;align-items:start}.egg-card,.challenge-card,.checkin-card{padding:22px}.expired-notice{margin-top:4px;padding:16px;border:1px solid #ecd9c2;border-radius:8px;background:#fbf3e7}.expired-notice p{margin:0;color:#7a6a56;font-size:.95rem;line-height:1.5}.challenge-topline,.progress-copy,.status-strip,.dev-banner{display:flex;align-items:center}.challenge-topline{justify-content:space-between;gap:12px;margin-bottom:18px}.challenge-card h2{overflow-wrap:anywhere}.section-heading{margin-bottom:18px}.challenge-form,.checkin-form{display:grid;gap:18px}.reminder-form{display:grid;grid-template-columns:minmax(0,1fr) 142px auto;gap:10px;align-items:end;margin-top:18px;padding-top:16px;border-top:1px solid #e4e9f2}.reminder-toggle{display:flex;align-items:center;gap:10px;min-height:42px}.reminder-toggle input{width:18px;min-height:18px}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}label{display:grid;gap:7px;color:#344054;font-size:.92rem;font-weight:700}input,select,textarea{width:100%;min-height:42px;border:1px solid #cfd8e5;border-radius:8px;background:#fff;color:#20242c;padding:9px 11px}textarea{min-height:124px;resize:vertical;line-height:1.5}.field-help{border:1px solid #e4e9f2;border-radius:8px;background:#f8fafc;color:#475467;padding:10px 12px}.field-help summary{color:#344054;cursor:pointer;font-size:.9rem;font-weight:800}.field-help p{margin:8px 0 0;font-size:.88rem;line-height:1.55}input:focus,select:focus,textarea:focus{border-color:#2f80ed;outline:3px solid rgb(47 128 237 / 16%)}fieldset{min-width:0;margin:0;padding:0;border:0}legend{margin-bottom:8px;color:#344054;font-size:.92rem;font-weight:700}.segmented-control{display:inline-grid;grid-template-columns:repeat(2,minmax(112px,1fr));gap:8px;width:min(100%,320px)}.segmented-control label,.mood-grid label{position:relative}.segmented-control input,.mood-grid input{position:absolute;inline-size:1px;block-size:1px;opacity:0}.segmented-control span,.mood-grid span{display:grid;min-height:42px;place-items:center;border:1px solid #cfd8e5;border-radius:8px;background:#f8fafc;color:#344054;padding:8px;text-align:center}.segmented-control input:checked+span,.mood-grid input:checked+span{border-color:#2f80ed;background:#e8f1ff;color:#174ea6}.mood-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.field-hint{margin:0 0 10px;color:#475467;font-size:.88rem;line-height:1.55;font-weight:400}.egg-variant-grid{display:grid;grid-template-columns:minmax(0,132px)}.egg-variant-swatch{display:grid;justify-items:center;gap:4px;border:1px solid #cfd8e5;border-radius:10px;background:#f8fafc;padding:8px 6px;text-align:center}.egg-variant-swatch svg{width:100%;max-width:72px;height:auto}.egg-variant-caption{font-size:.78rem;font-weight:700;color:#475467}.primary-button,.ghost-button{min-height:42px;border-radius:8px;font-weight:800;letter-spacing:0}.primary-button{width:fit-content;border:1px solid #216e4e;background:#216e4e;color:#fff;padding:9px 18px}.ghost-button{border:1px solid #d0d5dd;background:#fff;color:#9a3412;padding:8px 12px}.progress-block{margin:22px 0 18px}.progress-copy{justify-content:space-between;gap:12px;margin-bottom:10px;color:#475467}.progress-copy strong{color:#121722;font-size:1.3rem}.progress-track{height:12px;overflow:hidden;border-radius:8px;background:#e4e9f2}.progress-track span{display:block;height:100%;border-radius:inherit;background:#2f80ed}.progress-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.progress-detail div{border:1px solid #e4e9f2;border-radius:8px;padding:10px}.progress-detail dt{color:#667085;font-size:.78rem;font-weight:700}.progress-detail dd{margin:4px 0 0;color:#1e2633;font-weight:800}.status-strip,.dev-banner{flex-wrap:wrap;gap:10px;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-weight:700}.status-strip{border:1px solid #d8dee8;background:#fff;color:#475467}.status-strip.is-error{border-color:#f1b8aa;background:#fff4f1;color:#9a3412}.extra-active-banner{flex-direction:column;align-items:stretch}.extra-active-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.extra-active-list li{display:flex;align-items:center;justify-content:space-between;gap:12px}.dev-banner{border:1px solid #b7d7c7;background:#effaf4;color:#216e4e}.dev-banner button{border:1px solid #216e4e;border-radius:6px;background:#fff;color:#216e4e;font:inherit;font-weight:700;padding:2px 10px;cursor:pointer}.dev-banner button:hover{background:#d9f2e5}.egg-card{display:grid;grid-column:1 / -1;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:22px;align-items:center;overflow:hidden;background:radial-gradient(circle at 22% 16%,rgb(231 207 143 / 22%),transparent 34%),linear-gradient(180deg,#fffdf8,#fff 72%)}.egg-stage{display:grid;width:min(100%,320px);aspect-ratio:9 / 10;place-items:center;margin:0;border-radius:8px;background:#f7f1e8}.egg-stage svg{display:block;width:100%;height:100%}.egg-stage .egg-svg{transform-origin:50% 58%;animation:egg-breathe 4s ease-in-out infinite}.egg-stage .egg-svg[data-stage=S3]{animation-duration:3.4s}.egg-stage .egg-svg [data-layer=sparkles]{animation:egg-sparkle 2.8s ease-in-out infinite}.egg-summary{display:grid;gap:16px;min-width:0}.egg-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.egg-stats div{min-width:0;border:1px solid #eadac0;border-radius:8px;background:#ffffffbd;padding:10px}.egg-stats dt{color:#8a725b;font-size:.78rem;font-weight:800}.egg-stats dd{margin:4px 0 0;color:#33261d;font-weight:900}@keyframes egg-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.018)}}@keyframes egg-sparkle{0%,to{opacity:.45}50%{opacity:1}}.egg-card[data-frog-stage=tadpole]{background:radial-gradient(circle at 18% 80%,rgb(139 168 148 / 16%),transparent 46%),radial-gradient(circle at 78% 26%,rgb(139 168 148 / 10%),transparent 42%),linear-gradient(180deg,#fffdf8,#fff 72%)}.egg-card[data-frog-stage=froglet]{background:radial-gradient(circle at 16% 88%,rgb(176 160 104 / 16%),transparent 50%),radial-gradient(circle at 82% 18%,rgb(231 207 143 / 18%),transparent 40%),linear-gradient(180deg,#fffdf8,#fff 72%)}.egg-card[data-frog-stage=adult]{background:radial-gradient(circle at 50% 16%,rgb(231 207 143 / 26%),transparent 44%),linear-gradient(180deg,#fffdf8,#fff 72%)}.egg-stage svg[data-generator-version^=creature_gen_frog_][data-stage=tadpole]{transform-origin:50% 62%;animation:frog-swim-wobble 3.6s ease-in-out infinite}.egg-stage svg[data-generator-version^=creature_gen_frog_][data-stage=froglet]{transform-origin:50% 68%;animation:frog-shore-bob 3.2s ease-in-out infinite}.egg-stage svg[data-generator-version^=creature_gen_frog_][data-stage=adult]{transform-origin:50% 60%;animation:frog-shore-bob 2.6s ease-in-out infinite}@keyframes frog-swim-wobble{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-1.6%) rotate(-1.1deg)}75%{transform:translate(1.6%) rotate(1.1deg)}}@keyframes frog-shore-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.2%)}}.frog-breathe{transform-origin:180px 210px;animation-name:frog-idle-breathe;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-delay:var(--frog-anim-delay, 0s);animation-duration:var(--frog-anim-dur, 3.4s)}@keyframes frog-idle-breathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.012)}}.frog-signature[data-frog-species=rf]{transform-origin:180px 210px;animation-name:frog-signature-rf;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-delay:var(--frog-sig-delay, .4s);animation-duration:calc(var(--frog-anim-dur, 3.4s) * .68)}@keyframes frog-signature-rf{0%,74%,to{transform:scale(1)}84%{transform:scale(1.045,.965)}92%{transform:scale(.99,1.01)}}.frog-signature[data-frog-species=lf]{transform-origin:180px 90px;animation-name:frog-signature-lf;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-delay:var(--frog-sig-delay, .6s);animation-duration:calc(var(--frog-anim-dur, 3.4s) * .82)}@keyframes frog-signature-lf{0%,80%,to{transform:rotate(0)}88%{transform:rotate(-2.2deg)}95%{transform:rotate(1.6deg)}}.frog-signature[data-frog-species=sf]{transform-origin:180px 210px;animation-name:frog-signature-sf;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-delay:var(--frog-sig-delay, .4s);animation-duration:calc(var(--frog-anim-dur, 3.4s) * 1.35)}@keyframes frog-signature-sf{0%,to{transform:translateY(0)}50%{transform:translateY(-2.4px)}}.frog-signature[data-frog-species=kf]{transform-origin:180px 300px;animation-name:frog-signature-kf;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-delay:var(--frog-sig-delay, .4s);animation-duration:calc(var(--frog-anim-dur, 3.4s) * .6)}@keyframes frog-signature-kf{0%,70%,to{transform:scaleY(1)}82%{transform:scaleY(.955)}90%{transform:scaleY(1.02)}}.frog-signature[data-frog-species=mf]{transform-origin:180px 210px;animation-name:frog-signature-mf;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-delay:var(--frog-sig-delay, .4s);animation-duration:calc(var(--frog-anim-dur, 3.4s) * .5)}@keyframes frog-signature-mf{0%,60%,to{transform:rotate(0)}68%,84%{transform:rotate(-.9deg)}76%,92%{transform:rotate(.9deg)}}.frog-signature[data-frog-species=wf]{transform-origin:180px 210px;animation-name:frog-signature-wf;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-delay:var(--frog-sig-delay, .4s);animation-duration:calc(var(--frog-anim-dur, 3.4s) * 1.6)}@keyframes frog-signature-wf{0%,to{transform:translate(0)}50%{transform:translate(2px)}}.hatch-panel{max-width:640px;margin:0 auto;padding:28px;text-align:center}.hatch-egg-crack{width:min(100%,260px);margin:12px auto 20px;animation:hatch-egg-shake 2.2s ease-in-out forwards}.hatch-egg-crack svg{display:block;width:100%;height:auto}.hatch-crack-line{stroke-dasharray:220;stroke-dashoffset:220;opacity:0;animation:hatch-crack-draw 1.1s ease-out .7s forwards}.hatch-creature-figure{width:min(100%,300px);margin:12px auto 16px}.hatch-creature-figure svg{display:block;width:100%;height:auto}.hatch-creature-sweep-in{animation:hatch-creature-settle .9s cubic-bezier(.22,1,.36,1) both}.hatch-thread-flourish{width:min(72%,220px);height:6px;margin:2px auto 16px;border-radius:999px;background:linear-gradient(90deg,#c96f4a,#e0a83f,#8a9b6e 52%,#c9748f,#6a8f9b);opacity:0;transform:scaleX(.2);animation:hatch-thread-sweep .9s cubic-bezier(.22,1,.36,1) .4s forwards}@keyframes hatch-thread-sweep{to{opacity:1;transform:scaleX(1)}}.hatch-reveal .hatch-creature-figure{position:relative;isolation:isolate}.hatch-reveal .hatch-creature-figure:before{content:"";position:absolute;top:-16%;right:-12%;bottom:-16%;left:-12%;z-index:-1;border-radius:50%;background:radial-gradient(circle,#e0a83f6b,#e0a83f00 70%);opacity:0;animation:hatch-color-bloom 1.5s ease-out .3s both;pointer-events:none}@keyframes hatch-color-bloom{0%{opacity:0;transform:scale(.72)}50%{opacity:1;transform:scale(1.06)}to{opacity:0;transform:scale(1.24)}}.stage-ritual-figure.hatch-creature-figure{position:relative;width:min(100%,260px)}.stage-ritual-figure:before,.stage-ritual-figure:after{content:"";position:absolute;left:50%;bottom:6%;width:58%;height:16%;border-radius:50%;border:2px solid rgb(140 168 150 / 42%);transform:translate(-50%) scale(.55);opacity:0;animation:stage-ritual-ripple 2.6s ease-out infinite;pointer-events:none}.stage-ritual-figure:after{animation-delay:.9s}@keyframes stage-ritual-ripple{0%{transform:translate(-50%) scale(.5);opacity:.5}85%,to{transform:translate(-50%) scale(1.4);opacity:0}}.hatch-caption{color:#7a6a56;font-size:.95rem;margin:0 0 20px}.hatch-mood-summary{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;list-style:none;margin:4px 0 18px;padding:0;color:#4a3c2e;font-size:.9rem}.hatch-mood-summary li{display:inline-flex;align-items:center;gap:6px}.hatch-mood-dot{width:10px;height:10px;border-radius:50%;display:inline-block}.hatch-journal-excerpts{text-align:left;margin:0 0 20px;padding:14px 16px;border:1px solid #eadac0;border-radius:8px;background:#fbf6ec}.hatch-journal-excerpts ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}.hatch-journal-excerpts li{display:grid;gap:2px;font-size:.9rem}.hatch-journal-excerpts strong{color:#8a725b;font-size:.78rem}.hatch-naming-form{display:grid;gap:16px;text-align:left}.hatch-naming-form label{display:grid;gap:6px}.hatch-naming-form input{padding:10px 12px;border:1px solid #dce3ee;border-radius:6px}.hatch-naming-actions{display:flex;justify-content:flex-end;gap:10px}.hatched-card{max-width:480px;margin:0 auto;padding:28px;text-align:center}.hatched-card .hatch-creature-figure{background:#f7f1e8;border-radius:8px}.trophy-chain{max-width:640px;margin:16px auto 0;padding:24px;text-align:left}.trophy-chain-empty{margin:0;color:#7a6a56;font-size:.92rem}.trophy-chain-list{position:relative;display:grid;gap:18px;list-style:none;margin:0;padding:0 0 0 34px}.trophy-chain-list:before{content:"";position:absolute;left:15px;top:8px;bottom:8px;width:2px;background:#eadac0}.trophy-chain-item{position:relative;display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:10px;border:1px solid #eadac0;border-radius:8px;background:#fbf6ec}.trophy-chain-node{position:absolute;left:-23px;top:50%;width:10px;height:10px;transform:translateY(-50%);border-radius:50%;background:#d7a24a;border:2px solid #fbf6ec;box-shadow:0 0 0 2px #eadac0}.trophy-chain-thumb{width:64px;height:64px;margin:0;background:#f7f1e8;border-radius:8px;overflow:hidden}.trophy-chain-thumb svg{display:block;width:100%;height:100%}.trophy-chain-meta{display:grid;gap:2px;color:#4a3c2e;font-size:.88rem}.trophy-chain-meta strong{font-size:.98rem}.trophy-chain-title{color:#7a6a56}.trophy-chain-actions{display:flex;gap:8px;margin-top:4px}.trophy-chain-actions .ghost-button,.trophy-chain-rename-actions .ghost-button,.trophy-chain-rename-actions .primary-button{padding:4px 10px;font-size:.82rem}.trophy-chain-rename-form{display:grid;gap:6px}.trophy-chain-rename-form input{padding:6px 8px;border:1px solid #eadac0;border-radius:6px;font-size:.9rem}.trophy-chain-rename-actions{display:flex;justify-content:flex-end;gap:8px}.trophy-chain-hidden{margin-top:18px;padding-top:14px;border-top:1px solid #eadac0}.trophy-chain-hidden-list{display:grid;gap:8px;list-style:none;margin:10px 0 0;padding:0}.trophy-chain-hidden-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #eadac0;border-radius:8px;background:#f7f1e8;color:#7a6a56;font-size:.86rem}.trophy-chain-hidden-thumb{width:40px;height:40px;margin:0;flex-shrink:0;background:#f0e4cc;border-radius:6px;overflow:hidden}.trophy-chain-hidden-thumb svg{display:block;width:100%;height:100%}.trophy-chain-hidden-name{color:#4a3c2e;font-weight:600}.trophy-chain-hidden-item .trophy-chain-title{flex:1}@keyframes hatch-egg-shake{0%,55%{transform:rotate(0)}60%{transform:rotate(-3deg)}65%{transform:rotate(3deg)}70%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}82%,to{transform:rotate(0) scale(1.02)}}@keyframes hatch-crack-draw{to{stroke-dashoffset:0;opacity:1}}@keyframes hatch-creature-settle{0%{clip-path:inset(0 0 100% 0);transform:translateY(6px)}to{clip-path:inset(0 0 0% 0);transform:translateY(0)}}@media(max-width:760px){.app-shell{padding:18px}.app-header,.progress-copy{align-items:flex-start;flex-direction:column}.egg-card,.dashboard-grid,.form-grid,.progress-detail{grid-template-columns:1fr}.egg-stage{width:min(100%,300px);justify-self:center}.egg-stats{grid-template-columns:1fr}.mood-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reminder-form{grid-template-columns:1fr}.primary-button{width:100%}}@media(prefers-reduced-motion:reduce){.egg-stage .egg-svg,.egg-stage .egg-svg [data-layer=sparkles]{animation:none}.egg-stage svg[data-generator-version^=creature_gen_frog_]{animation:none}.hatch-egg-crack,.hatch-crack-line,.hatch-creature-sweep-in{animation:none}.hatch-crack-line{stroke-dashoffset:0;opacity:1}.hatch-thread-flourish,.hatch-reveal .hatch-creature-figure:before,.stage-ritual-figure:before,.stage-ritual-figure:after{animation:none}.frog-breathe,.frog-signature{animation:none}}.share-card-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:32px 16px;background:#20242c8c}.share-card-modal{width:100%;max-width:420px;padding:22px;display:flex;flex-direction:column;gap:14px}.share-card-preview{margin:0;width:100%;border-radius:8px;overflow:hidden;border:1px solid #dce3ee}.share-card-preview svg{display:block;width:100%;height:auto}.share-card-toggle{display:flex;align-items:center;gap:8px;font-weight:600;color:#20242c}.share-card-privacy-note{margin:-6px 0 0;color:#667085;font-size:.85rem;line-height:1.5}.share-card-actions{display:flex;flex-wrap:wrap;gap:10px}.journal-view{max-width:820px;margin:0 auto}.journal-view-header{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}.journal-view-header h2{margin:2px 0 4px}.journal-range,.journal-loading,.journal-error,.journal-empty{margin:0;color:#667085;line-height:1.6}.journal-list{display:flex;flex-direction:column;gap:12px;margin:0;padding:0;list-style:none}.journal-entry{display:grid;grid-template-columns:14px 1fr;gap:12px;padding:14px 0;border-top:1px solid #e8edf3}.journal-mood-dot{width:12px;height:12px;margin-top:5px;border-radius:50%;box-shadow:0 0 0 3px #ffffffd9,0 0 0 4px #d8dfe8}.journal-entry-body{min-width:0}.journal-entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;color:#667085;font-size:.9rem;font-weight:700}.journal-entry p{margin:0;color:#20242c;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}
