:root{--color-page: #F3EDE1;--color-surface: #FDFBF5;--color-surface-sunken: #F7F1E8;--color-border: #E0D5C1;--color-border-soft: #EDE4D3;--color-text-strong: #33261D;--color-text: #4A3C2E;--color-text-soft: #7A6A56;--color-text-faint: #A5937D;--color-scrim: rgb(51 38 29 / 45%);--color-accent: #216E4E;--color-accent-strong: #17553B;--color-accent-soft: #E4EFE3;--color-accent-border: #9CBEA4;--color-accent-ring: rgb(33 110 78 / 28%);--color-danger: #9A3412;--color-danger-soft: #FAEFE7;--color-danger-border: #E2B49C;--color-gold: #D7A24A;--color-gold-bright: #E0A83F;--color-gold-glow: rgb(231 207 143 / 22%);--mood-calm: #B7CBD6;--mood-joyful: #F2CE82;--mood-resolute: #D89B78;--mood-hopeful: #B9CA9C;--mood-tired: #C0B2C4;--mood-pulled: #E7B085;--mood-tender: #ECC3BC;--mood-grateful: #D2B47E;--font-sans: ui-sans-serif, system-ui, -apple-system, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--text-xs: .78rem;--text-sm: .875rem;--text-md: 1rem;--text-lg: 1.25rem;--text-xl: 1.75rem;--weight-normal: 400;--weight-medium: 600;--weight-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--radius-sm: 8px;--radius-lg: 14px;--radius-pill: 999px;--shadow-card: 0 8px 24px rgb(92 74 62 / 8%);--shadow-pop: 0 18px 48px rgb(92 74 62 / 18%);color:var(--color-text);background:var(--color-page);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}[hidden]{display:none!important}label:has(input[type=checkbox]){display:flex;align-items:center;gap:var(--space-2)}body{margin:0;min-width:320px;min-height:100vh}:root.native-shell body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}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 var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:6px 10px}.eyebrow{margin:0 0 6px;color:var(--color-text-soft);font-size:var(--text-xs);font-weight:var(--weight-normal);letter-spacing:.04em;text-transform:uppercase}h1,h2{margin:0;letter-spacing:0}h1{color:var(--color-text-strong);font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:1.25}h2{color:var(--color-text-strong);font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:1.4}.today-pill,.kind-badge{display:inline-flex;align-items:center;min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:6px 10px;white-space:nowrap}.workspace{padding:12px 0 32px}.app-shell.is-immersive{border-radius:var(--radius-lg);padding-top:var(--space-3);padding-bottom:var(--space-3);background:radial-gradient(circle at 50% 0%,var(--color-gold-glow),transparent 60%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-sunken) 55%,var(--color-page) 100%)}.app-shell.is-immersive .app-header,.app-shell.is-immersive .dev-banner,.app-shell.is-immersive .extra-active-banner{display:none}.app-shell.is-immersive .status-strip:not(.is-error){display:none}.app-shell.is-immersive .hatch-panel{background:transparent;border:none;box-shadow:none}.panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.challenge-screen,.create-screen{max-width:680px;margin:0 auto}.challenge-card{margin-top:var(--space-5);padding:22px}.sheet,.create-panel{position:relative;margin-top:calc(-1 * var(--space-6));border:none;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-pop);padding:var(--space-5) var(--space-4);display:grid;gap:var(--space-4)}.expired-notice{margin-top:4px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.expired-notice p{margin:0;color:var(--color-text-soft);font-size:var(--text-sm);line-height:1.5}.challenge-topline,.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}.challenge-meta-line{margin:0;color:var(--color-text-soft);font-size:var(--text-sm);line-height:1.7}.challenge-meta-line b{color:var(--color-text-strong);font-weight:var(--weight-medium);white-space:nowrap}.challenge-meta-line .meta-sep{margin:0 2px;color:var(--color-text-faint)}.card-links{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-1)}.card-links-group{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4)}.card-links .secondary-button,.card-links .ghost-button,.card-links .danger-button{display:inline-flex;align-items:center;min-width:auto;min-height:44px;border:none;background:transparent;padding:2px 0;font-size:var(--text-sm)}.card-links .secondary-button{color:var(--color-accent)}.card-links .secondary-button:hover:not(:disabled),.card-links .ghost-button:hover:not(:disabled){background:transparent;color:var(--color-accent);text-decoration:underline}.card-links .danger-button:hover:not(:disabled){background:transparent;text-decoration:underline}.section-heading{margin-bottom:18px}.challenge-form{display:block}.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 var(--color-border-soft)}.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:var(--space-2);color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium)}input,select,textarea{width:100%;min-height:44px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-strong);font-size:var(--text-md);padding:9px 11px}textarea{min-height:124px;resize:vertical;line-height:1.6}.field-help{border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text);padding:10px 12px}.field-help summary{color:var(--color-text);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium)}.field-help p{margin:8px 0 0;font-size:var(--text-sm);line-height:1.55}input:focus,select:focus,textarea:focus{border-color:var(--color-accent);outline:3px solid var(--color-accent-ring)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;box-shadow:0 0 0 4px var(--color-accent-ring)}fieldset{min-width:0;margin:0;padding:0;border:0}legend{margin-bottom:8px;color:var(--color-text);font-size:var(--text-sm);font-weight:var(--weight-medium)}.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:44px;place-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--text-md);padding:8px;text-align:center}.segmented-control input:checked+span{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-strong);font-weight:var(--weight-medium)}.mood-grid input[value=calm]+span{--mood-c: var(--mood-calm)}.mood-grid input[value=joyful]+span{--mood-c: var(--mood-joyful)}.mood-grid input[value=hopeful]+span{--mood-c: var(--mood-hopeful)}.mood-grid input[value=tender]+span{--mood-c: var(--mood-tender)}.mood-grid input[value=resolute]+span{--mood-c: var(--mood-resolute)}.mood-grid input[value=pulledThrough]+span{--mood-c: var(--mood-pulled)}.mood-grid input[value=tired]+span{--mood-c: var(--mood-tired)}.mood-grid input[value=grateful]+span{--mood-c: var(--mood-grateful)}.mood-grid span:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;vertical-align:-1px;border-radius:50%;background:var(--mood-c, var(--color-border))}.mood-grid input:checked+span{border-color:var(--mood-c, var(--color-accent));background:color-mix(in srgb,var(--mood-c, var(--color-accent)) 26%,var(--color-surface));color:var(--color-text);font-weight:var(--weight-medium)}.mood-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.field-hint{margin:0 0 10px;color:var(--color-text);font-size:var(--text-sm);line-height:1.55;font-weight:var(--weight-normal)}.egg-variant-grid{display:grid;grid-template-columns:minmax(0,132px)}.egg-variant-swatch{display:grid;justify-items:center;gap:4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken);padding:8px 6px;text-align:center}.egg-variant-swatch svg{width:100%;max-width:72px;height:auto}.egg-variant-caption{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text)}.create-stage{gap:var(--space-2)}.create-stage .egg-variant-grid{grid-template-columns:minmax(0,220px);margin:var(--space-2) auto 0}.create-stage .egg-variant-swatch{border:none;background:transparent;padding:0;gap:var(--space-2)}.create-stage .egg-variant-swatch svg{max-width:176px}.create-stage .egg-variant-caption{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--color-text-soft)}.stage-hint{margin:0;color:var(--color-text-soft);font-size:var(--text-sm);line-height:1.6}.primary-button,.secondary-button,.ghost-button,.danger-button{min-height:44px;border-radius:var(--radius-sm);font-weight:var(--weight-medium);letter-spacing:0;white-space:nowrap}.primary-button{width:fit-content;border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-surface);font-size:var(--text-md);padding:9px 18px}.primary-button:hover:not(:disabled){background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.secondary-button{min-width:96px;border:1px solid var(--color-accent-border);background:var(--color-surface);color:var(--color-accent);font-size:var(--text-sm);padding:8px 14px}.secondary-button:hover:not(:disabled){background:var(--color-accent-soft);border-color:var(--color-accent)}.ghost-button{min-width:72px;border:1px solid transparent;background:transparent;color:var(--color-text-soft);font-size:var(--text-sm);padding:8px 12px}.ghost-button:hover:not(:disabled){color:var(--color-accent)}.danger-button{min-width:72px;border:1px solid var(--color-danger-border);background:transparent;color:var(--color-danger);font-size:var(--text-sm);padding:8px 12px}.danger-button:hover:not(:disabled){background:var(--color-danger-soft)}.progress-track{height:6px;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-border-soft)}.progress-track span{display:block;height:100%;border-radius:inherit;background:var(--color-accent)}.progress-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);margin:0}.progress-detail div{display:grid;gap:var(--space-1)}.progress-detail dt{color:var(--color-text-soft);font-size:var(--text-xs);font-weight:var(--weight-normal)}.progress-detail dd{margin:0;color:var(--color-text-strong);font-weight:var(--weight-medium);font-size:var(--text-md)}.status-strip,.dev-banner{flex-wrap:wrap;gap:10px;border-radius:var(--radius-sm);margin-bottom:12px;padding:10px 12px;font-size:var(--text-sm);font-weight:var(--weight-normal)}.status-strip{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.status-strip.is-error{border-color:var(--color-danger-border);background:var(--color-danger-soft);color:var(--color-danger)}.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 var(--color-accent-border);background:var(--color-accent-soft);color:var(--color-accent)}.dev-banner button{border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-accent);font:inherit;font-weight:var(--weight-medium);padding:2px 10px;cursor:pointer}.dev-banner button:hover{background:var(--color-accent-soft)}.egg-card,.stage{display:flex;flex-direction:column;align-items:center;overflow:hidden;border:none;box-shadow:none;text-align:center;padding:var(--space-5) var(--space-4) 44px;background:radial-gradient(circle at 50% 14%,var(--color-gold-glow),transparent 55%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-sunken) 76%,var(--color-page) 100%)}.egg-card{gap:var(--space-3)}.egg-stage{display:grid;width:min(74%,280px);aspect-ratio:9 / 10;place-items:center;margin:0}.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;justify-items:center;gap:var(--space-2);max-width:420px;min-width:0}.stage-word{margin:0;color:var(--color-text-strong);font-size:var(--text-lg);font-weight:var(--weight-medium);line-height:1.4}.stage-dots{display:flex;justify-content:center;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-1)}.stage-dots i{width:10px;height:10px;border-radius:50%;background:var(--color-surface);border:1px solid var(--color-border)}.stage-dots i.on{background:var(--color-accent);border-color:var(--color-accent)}.stage-note{margin:0;color:var(--color-text-soft);font-size:var(--text-sm)}.stage-progress-track{width:min(100%,220px);margin:var(--space-1) auto 0}@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%,color-mix(in srgb,var(--color-accent) 16%,transparent),transparent 46%),radial-gradient(circle at 78% 26%,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 42%),radial-gradient(circle at 50% 14%,var(--color-gold-glow),transparent 55%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-sunken) 76%,var(--color-page) 100%)}.egg-card[data-frog-stage=froglet]{background:radial-gradient(circle at 16% 88%,var(--color-gold-glow),transparent 50%),radial-gradient(circle at 82% 18%,var(--color-gold-glow),transparent 40%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-sunken) 76%,var(--color-page) 100%)}.egg-card[data-frog-stage=adult]{background:radial-gradient(circle at 50% 16%,var(--color-gold-glow),transparent 44%),linear-gradient(180deg,var(--color-surface) 0%,var(--color-surface-sunken) 76%,var(--color-page) 100%)}.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{position:relative;width:min(100%,260px);aspect-ratio:360 / 400;margin:12px auto 20px;animation:hatch-egg-shake 2.2s ease-in-out forwards}.hatch-egg-crack-real,.hatch-crack-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.hatch-egg-crack-real svg{display:block;width:100%;height:100%}.hatch-crack-line{stroke:var(--color-text);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,var(--mood-resolute) 0%,var(--color-gold-bright) 26%,var(--mood-hopeful) 52%,var(--mood-tender) 76%,var(--mood-calm) 100%);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,color-mix(in srgb,var(--color-gold-bright) 42%,transparent) 0%,transparent 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 color-mix(in srgb,var(--color-accent) 42%,transparent);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:var(--color-text-soft);font-size:var(--text-sm);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:var(--color-text);font-size:var(--text-sm)}.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 var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.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:var(--text-sm)}.hatch-journal-excerpts strong{color:var(--color-text-soft);font-size:var(--text-xs)}.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 var(--color-border);border-radius:var(--radius-sm)}.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:var(--color-surface-sunken);border-radius:var(--radius-lg)}.trophy-chain{max-width:640px;margin:16px auto 0;padding:24px;text-align:left}.trophy-chain-empty{margin:0;color:var(--color-text-soft);font-size:var(--text-sm)}.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:var(--color-border)}.trophy-chain-item{position:relative;display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:center;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken)}.trophy-chain-node{position:absolute;left:-23px;top:50%;width:10px;height:10px;transform:translateY(-50%);border-radius:50%;background:var(--color-gold);border:2px solid var(--color-surface-sunken);box-shadow:0 0 0 2px var(--color-border)}.trophy-chain-thumb{width:64px;height:64px;margin:0;background:var(--color-surface-sunken);border-radius:var(--radius-sm);overflow:hidden}.trophy-chain-thumb svg{display:block;width:100%;height:100%}.trophy-chain-meta{display:grid;gap:2px;color:var(--color-text);font-size:var(--text-sm)}.trophy-chain-meta strong{font-size:var(--text-md);font-weight:var(--weight-medium)}.trophy-chain-title{color:var(--color-text-soft)}.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:var(--text-xs)}.trophy-chain-rename-form{display:grid;gap:6px}.trophy-chain-rename-form input{padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm)}.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 var(--color-border)}.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 var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-soft);font-size:var(--text-sm)}.trophy-chain-hidden-thumb{width:40px;height:40px;margin:0;flex-shrink:0;background:var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.trophy-chain-hidden-thumb svg{display:block;width:100%;height:100%}.trophy-chain-hidden-name{color:var(--color-text);font-weight:var(--weight-medium)}.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{align-items:flex-start;flex-direction:column}.form-grid{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:var(--color-scrim)}.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:var(--radius-sm);overflow:hidden;border:1px solid var(--color-border)}.share-card-preview>svg{display:block;width:100%;height:auto}.share-card-toggle{display:flex;align-items:center;gap:8px;font-weight:var(--weight-medium);color:var(--color-text-strong)}.share-card-privacy-note{margin:-6px 0 0;color:var(--color-text-soft);font-size:var(--text-sm);line-height:1.5}.share-card-actions{display:flex;flex-wrap:wrap;gap:10px}.journal-view{max-width:820px;margin:0 auto;padding:var(--space-5) var(--space-4)}.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:var(--color-text-soft);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 var(--color-border-soft)}.journal-mood-dot{width:12px;height:12px;margin-top:5px;border-radius:50%;box-shadow:0 0 0 3px #ffffffd9,0 0 0 4px var(--color-border)}.journal-entry-body{min-width:0}.journal-entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;color:var(--color-text-soft);font-size:var(--text-sm);font-weight:var(--weight-medium)}.journal-entry p{margin:0;color:var(--color-text-strong);line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.clutch-create-toggle{display:flex;align-items:center;gap:8px;margin:4px 0 0;font-weight:var(--weight-medium)}.clutch-create-toggle input{width:auto}.clutch-section{max-width:680px;margin:20px auto 0}.clutch-invite-row{display:flex;gap:8px;margin:10px 0 16px}.clutch-invite-input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-page);color:var(--color-text);font-size:var(--text-sm)}.clutch-status{margin:0;color:var(--color-text-soft);font-size:var(--text-sm)}.clutch-member-list{display:flex;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none}.clutch-member-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--color-border-soft);border-radius:var(--radius-sm)}.clutch-member-creature{width:40px;height:40px;flex-shrink:0}.clutch-member-creature svg{width:100%;height:100%;display:block}.clutch-member-creature .frog-breathe,.clutch-member-creature .frog-signature{animation:none}.clutch-member-meta{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.clutch-member-status{color:var(--color-text-soft);font-size:var(--text-xs)}.clutch-landing-card{max-width:480px;margin:0 auto}.account-prompt-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-sunken);color:var(--color-text)}.account-prompt-banner p{margin:0;font-weight:600}.account-prompt-actions{display:flex;gap:8px;flex-shrink:0}.account-section{margin-top:20px}.account-provider-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border-soft)}.account-provider-row:last-of-type{border-bottom:none}.account-protected-badge{padding:4px 10px;border-radius:999px;background:var(--color-accent-soft);color:var(--color-accent-strong);font-size:.82rem;font-weight:700}.account-email-form{display:flex;flex-wrap:wrap;gap:8px;flex:1}.account-email-form input{flex:1;min-width:180px}.account-relogin-toggle{margin-top:12px}.account-relogin-block{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--color-border-soft)}
