:root{--bg:#f8f5ef;--paper:#fffefa;--ink:#333f39;--muted:#6d756e;--green:#496b58;--green-soft:#e7eee5;--peach:#f2d9c5;--line:#e3e4da;--radius:22px;font-family:system-ui,-apple-system,"Segoe UI","Microsoft JhengHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--green);text-decoration:none}button{border:0;background:none;color:inherit}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #a06d35;outline-offset:3px}button,input,select{min-height:44px}input:not([type=checkbox]):not([type=range]),select,textarea{width:100%;padding:11px 12px;border:1px solid #cfd5ca;border-radius:12px;background:var(--paper);color:var(--ink);font-size:16px}textarea{resize:vertical;min-height:90px}input[type=checkbox]{accent-color:var(--green);width:20px;min-height:20px;flex:0 0 20px}input[type=range]{width:100%;accent-color:var(--green)}h1,h2,h3,p{margin:0}h1{font-size:29px;line-height:1.55;font-weight:650;letter-spacing:.01em}h2{font-size:21px;line-height:1.6;font-weight:650}h3{font-size:17px;line-height:1.65;font-weight:600}p{line-height:1.8}label{font-size:14px;font-weight:550}small,.small{font-size:13px;line-height:1.7}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.app-shell{max-width:820px;margin:0 auto;padding:0 28px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:27px 0 22px;gap:10px}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);font-size:21px;font-weight:700;letter-spacing:2px}.brand small{display:block;font-size:10px;letter-spacing:2.5px;font-weight:400;margin-top:3px;color:var(--muted)}.brand-mark{font-size:36px;color:#c58c60;font-weight:400}.local-pill{display:flex;gap:6px;align-items:center;font-size:11px;color:var(--muted);white-space:nowrap}.local-pill i{width:5px;height:5px;border-radius:50%;background:#66886a}main{padding:10px 0 120px;outline:0}.page-heading{margin:9px 0 26px}.eyebrow{display:block;font-size:10px;color:#7f866f;letter-spacing:2.5px;margin-bottom:9px;font-weight:650}.page-heading p{font-size:14px;color:var(--muted);margin-top:9px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:18px}.card>h2{margin-bottom:16px}.card>p{margin:10px 0}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;background:#e9eee3;border:none;overflow:hidden;min-height:248px;padding:27px 30px}.hero h2{font-size:24px;margin:14px 0 10px}.hero p{font-size:14px;color:#5d6c5e}.week-badge{font-size:12px;border:1px solid #adbaa4;border-radius:50px;display:inline-block;padding:5px 13px;letter-spacing:.5px}.text-link{color:var(--green);font-size:13px;font-weight:650;padding:9px 0;display:inline-block;line-height:1.8}.hero .text-link{margin-top:6px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:27px 0 16px}.section-heading h2{font-size:19px}.week-picker{display:flex;gap:8px;align-items:center;margin:0 0 14px}.week-picker>button:not(.text-link){width:44px;background:var(--paper);border:1px solid var(--line);border-radius:12px;font-size:28px;flex-shrink:0}.week-picker select{max-width:150px;text-align:center;font-size:15px}.week-picker .text-link{margin-left:auto;white-space:nowrap;font-size:12px}.chapter-ribbon{display:flex;align-items:center;gap:12px;background:#eee7dd;border-radius:13px;padding:14px 17px;flex-wrap:wrap;margin-bottom:14px}.chapter-ribbon>span{font-size:9px;letter-spacing:1.5px;color:#806a52}.chapter-ribbon strong{font-size:14px;font-weight:550}.chapter-ribbon small{margin-left:auto;font-size:11px;color:#756b5c}.task-card{display:flex;align-items:flex-start;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:20px;margin-bottom:12px}.task-symbol{display:flex;align-items:center;justify-content:center;flex:0 0 32px;height:32px;color:#8b947f;background:#f1f1e9;border-radius:50%;font-size:22px;margin-top:1px}.is-done .task-symbol{background:var(--green);color:white}.task-content{flex:1;min-width:0}.task-content p{font-size:12px;color:var(--muted);margin:5px 0 12px}.task-content select{width:122px;font-size:13px;min-height:40px;padding:8px 12px;background:#f9faf5}.chapters{margin-top:22px;padding:18px 20px}summary{cursor:pointer;font-size:14px;line-height:1.8;min-height:30px;align-content:center}summary span{font-size:11px;color:var(--muted);float:right}.chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.chapter-button{text-align:left;background:#f3f2eb;border-radius:12px;padding:12px}.chapter-button small{display:block;color:var(--muted);font-size:11px}.chapter-button span{font-size:12px}.chapter-button.active{background:var(--green-soft);color:var(--green)}.footnote{color:var(--muted);font-size:12px;margin-top:22px;text-align:center}.notice{border-radius:12px;background:#f1eee4;padding:12px 16px;font-size:13px;margin:12px 0;color:#6e654f}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(820px,100%);display:grid;grid-template-columns:repeat(5,1fr);padding:12px 15px max(14px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,254,250,.97);z-index:10}.bottom-nav button{font-size:11px;color:#767c72;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:51px;border-radius:12px}.bottom-nav button>span{font-size:23px;line-height:24px}.bottom-nav button.active{color:var(--green);font-weight:700;background:#eaf0e6}.summary-strip{display:flex;align-items:center;gap:15px;border-radius:20px;background:#e7eee5;padding:20px 24px;margin-bottom:20px}.summary-strip>strong{font-size:32px;font-weight:550}.summary-strip>strong small{font-size:17px;color:#71816b}.summary-strip>span{font-size:13px}.summary-strip .summary-flower{margin-left:auto;font-size:40px;color:#92a681}.chips{display:flex;gap:9px;overflow:auto;margin:16px 0 20px;padding:2px 0}.chip{border:1px solid var(--line);border-radius:30px;padding:9px 17px;background:var(--paper);font-size:13px;white-space:nowrap;min-height:42px}.chip.active{background:var(--green);border-color:var(--green);color:white}.item-card{border-bottom:1px solid var(--line);padding:18px 4px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.item-heading{flex:1;min-width:125px}.item-category{font-size:10px;color:var(--muted)}.item-card h3{font-size:15px}.item-controls{display:flex;align-items:center;gap:6px}.item-controls select{width:105px;font-size:13px}.delete-button{color:#89604e;font-size:12px;min-height:44px;padding:4px 9px}.affiliate-label{width:100%;color:#89604e;font-size:11px}.add-panel{margin-top:24px}.form-stack{display:flex;flex-direction:column;gap:10px}.form-stack label:not(:first-child){margin-top:8px}.add-panel .form-stack{margin-top:18px}.primary,.secondary,.danger{border-radius:13px;padding:12px 20px;min-height:47px;font-size:14px;font-weight:600;text-align:center}.primary{background:var(--green);color:#fff;display:flex;justify-content:center;gap:20px;align-items:center}.form-stack .primary{margin-top:10px}.secondary{border:1px solid #b4c0ae;background:#f4f7ef;color:var(--green)}.danger{background:#895847;color:white}.check-line{display:flex;gap:10px;align-items:center;min-height:44px;font-size:14px;font-weight:450}.filter-panel{display:grid;grid-template-columns:1fr 1fr;gap:15px}.filter-panel select{margin-top:6px;font-size:13px}.empty-state{padding:30px 15px;background:#f0eee6;border-radius:20px;text-align:center;margin:15px 0 23px}.empty-state>span{font-size:39px;color:#8b9a78;display:block;margin-bottom:8px}.empty-state h3{font-size:16px}.empty-state p{font-size:13px;color:var(--muted);margin-top:10px}.gift-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.favorite{color:#748b63;min-height:44px;font-size:12px;white-space:nowrap}.favorite.selected{color:#9b604f}.tag{display:inline-block;border-radius:6px;padding:4px 9px;background:#f0e7dd;font-size:11px}.entrance-card h3{font-size:16px}.entrance-card p,.gift-card p{font-size:13px}.gift-card{margin-bottom:15px}.gift-card label{display:block;margin-top:20px;margin-bottom:7px}.gift-card select{font-size:14px}.conditions{padding:12px;background:#f7f6ef;border-radius:12px;font-size:12px;line-height:1.8}.conditions>div{display:flex;justify-content:space-between;gap:10px}.conditions dt{color:var(--muted)}.conditions dd{margin:0;text-align:right}.baby-card{text-align:center;background:#f2e6d9;border:0;padding:30px 28px}.baby-card label{display:block;margin-top:25px}.baby-card p{font-size:14px;color:#726554;margin-top:10px}.range-labels{display:flex;justify-content:space-between;font-size:11px;color:#7e7362}.gentle-note p{font-size:13px;color:var(--muted);margin:10px 0}.button-row{display:flex;gap:10px;margin:15px 0;flex-wrap:wrap}.card>label{display:block;margin:15px 0 8px}.card>label.check-line{display:flex}.danger-zone{margin-top:20px;border-top:1px solid var(--line);padding-top:15px}.danger-zone summary{color:#8c5a48}.danger-zone p{font-size:12px;margin:12px 0}.welcome{text-align:center;padding:20px 0}.welcome h1{font-size:33px}.welcome>p{font-size:14px;color:var(--muted)}.welcome .form-stack{margin:27px auto 0;max-width:430px;text-align:left;padding:25px}.privacy-note{font-size:11px!important;margin:25px 0}.error-banner{background:#fbe4d4;padding:14px;border-radius:14px;font-size:13px;margin-bottom:20px;line-height:1.7}.error-banner button{font-weight:700;text-decoration:underline}#toast{position:fixed;bottom:104px;left:50%;transform:translate(-50%,12px);width:max-content;max-width:90vw;background:#34483b;color:white;border-radius:13px;padding:12px 20px;font-size:13px;line-height:1.7;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:30}#toast.visible{opacity:1;transform:translate(-50%,0)}
.reduced-motion *{animation:none!important;transition:none!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(min-width:680px){.task-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.task-card{margin:0}.hero .mascot-scene{width:250px}.hero{min-height:270px}.hero .mascot{zoom:1.15}.welcome{max-width:560px;margin:auto}}
@media(max-width:480px){.app-shell{padding:0 20px}.topbar{padding:21px 0 19px}.brand{font-size:19px}.brand-mark{font-size:31px}.brand small{font-size:9px;letter-spacing:2px}.local-pill{font-size:10px}h1{font-size:25px}.page-heading{margin-top:8px;margin-bottom:23px}.hero{padding:24px 20px;min-height:223px;grid-template-columns:1.2fr .8fr;gap:0}.hero h2{font-size:20px}.hero p{font-size:12px}.hero .mascot-scene{width:135px;height:180px;margin-left:4px}.hero .mascot{zoom:.85}.hero .spark-a{left:0}.hero .orb-a{width:100px;height:100px;right:0;top:30px}.hero .mascot-shadow{bottom:20px;width:80px}.hero .text-link{font-size:11px}.week-badge{font-size:11px;padding:4px 10px}.card{padding:20px}.chapter-ribbon{padding:13px;gap:8px}.chapter-ribbon small{width:100%;margin-left:0}.chapter-grid{grid-template-columns:1fr}.task-card{padding:17px;gap:10px}.task-card h3{font-size:16px}.bottom-nav{padding-left:8px;padding-right:8px}.bottom-nav button{font-size:10px}.section-heading h2{font-size:18px}.section-heading .small{font-size:11px}.item-heading{min-width:120px}.welcome h1{font-size:29px}.welcome .mascot-scene.large{height:240px}.filter-panel{gap:12px}.conditions{font-size:11px}.baby-card{padding:25px 18px}.baby-card .mascot-scene.large{width:240px}.form-stack .small{font-size:12px}}
@media(max-width:355px){.app-shell{padding:0 14px}.hero{padding:20px 15px}.hero .mascot-scene{width:110px}.hero h2{font-size:18px}.local-pill{font-size:9px}.week-picker{gap:5px}.week-picker select{width:125px}.week-picker .text-link{font-size:11px}.filter-panel{grid-template-columns:1fr}.section-heading{align-items:flex-start}.welcome h1{font-size:26px}}

/* Original growth illustrations; all animation uses opacity/transform only. */
.growth-scene{position:relative;width:210px;max-width:100%;aspect-ratio:1;height:auto;justify-self:center;margin:auto}
.growth-scene.large{width:300px;max-width:100%;height:auto;margin:0 auto}
.growth-frames{display:grid;width:100%;aspect-ratio:1}.growth-frame{grid-area:1/1;min-width:0;opacity:1}.growth-svg{display:block;width:100%;height:auto;overflow:visible}
.growth-skin{fill:#f6d2b5;stroke:#ad8066;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.growth-shade{fill:#e9b794;opacity:.6}.growth-highlight{fill:none;stroke:#fff3e4;stroke-width:5;stroke-linecap:round;opacity:.75}.growth-contour{fill:none;stroke:#9b705d;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.growth-cheek{fill:#de9d87;opacity:.55}.growth-membrane{fill:#f9e8d6;stroke:#ddbea1;stroke-width:1.5}.growth-glow{fill:#f3dfad}.growth-spark{fill:#c99b56}.growth-gold{fill:#c3a36f}.growth-halo{fill:#f6eddf}.growth-orbit{fill:none;stroke:#ded4bf;stroke-width:1;stroke-linecap:round;stroke-dasharray:3 7}.growth-leaf{fill:#b8c4a8;opacity:.7}.growth-star{fill:none;stroke:#b7a078;stroke-width:1.5;stroke-linecap:round}
.growth-float{transform-origin:160px 160px;animation:growth-drift 8s ease-in-out infinite}.growth-frame.is-entering{animation:growth-in 300ms ease-out both}.growth-frame.is-leaving{animation:growth-out 300ms ease-in both;pointer-events:none}
@keyframes growth-drift{0%,100%{transform:translateY(2px) rotate(-.7deg)}50%{transform:translateY(-2px) rotate(.7deg)}}@keyframes growth-in{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes growth-out{from{opacity:1}to{opacity:0}}
.baby-card{background:#fffaf2;border:1px solid #e7ddce;padding:24px 24px 0;overflow:hidden}.growth-story{max-width:470px;margin:0 auto}.baby-card .week-badge{border-color:#d8c5ac;color:#796448;background:#f8efe1}.baby-card .growth-range{font-size:11px;letter-spacing:.5px;color:#877253;margin:0 0 5px}.baby-card h2{font-size:23px;letter-spacing:.02em;margin:0}.baby-card #baby-caption{font-size:13px;min-height:24px;margin:6px 0 0}.baby-card .growth-disclaimer{font-size:11px;color:#807668;margin:14px 0 24px}.growth-controls{border-top:1px solid #e6dece;background:#f5f1e7;margin:0 -24px;padding:20px 24px 18px}.growth-control-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.growth-control-heading label{margin:0;font-size:13px}.growth-control-heading output{font-size:13px;color:var(--green);font-weight:650;white-space:nowrap}.growth-slider{display:flex;align-items:center;gap:12px;margin-top:7px}.growth-slider button{flex:0 0 44px;border:1px solid #d7d8c9;border-radius:50%;font-size:25px;background:#fffdf6}.growth-slider input{min-width:0;margin:0;cursor:pointer}.growth-controls .range-labels{padding:0 56px}.growth-controls .text-link{margin:7px 0 0}.growth-controls>p{margin:0;font-size:11px;color:#75776b}.growth-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px}.growth-stage-grid button{border:1px solid var(--line);border-radius:12px;padding:12px 8px;text-align:left}.growth-stage-grid small{display:block;color:var(--muted);font-size:10px}.growth-stage-grid span{font-size:12px}.growth-stage-grid [aria-pressed=true]{background:var(--green-soft);border-color:#adbaa4;color:var(--green)}.growth-reading{border-top:1px solid var(--line);padding-top:12px;margin-top:14px}.growth-reading .text-link{display:block;font-size:12px}.gift-search-actions{grid-column:1/-1;display:flex;align-items:center;gap:16px;border-top:1px solid var(--line);padding-top:16px}.gift-search-actions p{flex:1;margin:0;line-height:1.6}.gift-search-actions button{min-width:108px;flex-shrink:0}.applied-filters{padding:12px 16px;border-left:3px solid #92a681;background:#edf1e8;font-size:13px;margin-bottom:14px}.applied-filters .small{font-size:11px;color:var(--muted)}
.reduced-motion .growth-frame.is-leaving{display:none}.reduced-motion .growth-frame.is-entering{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.growth-frame.is-leaving{display:none}.growth-frame.is-entering{opacity:1;transform:none}}
@media(min-width:680px){.hero .growth-scene{width:250px;height:auto}.baby-card{display:grid;grid-template-columns:minmax(0,1fr) 230px;align-items:center;padding:24px;gap:24px}.growth-controls{margin:0;padding:20px 16px;border:1px solid #e6dece;border-radius:18px}.growth-control-heading{display:block;text-align:left}.growth-control-heading output{display:block;margin-top:8px}.growth-slider{gap:6px}.growth-controls .range-labels{padding:0 50px}.baby-card .growth-disclaimer{margin-bottom:0}}
@media(max-width:480px){.hero .growth-scene{width:135px;height:auto;margin:0}.baby-card{padding:20px 18px 0}.baby-card .growth-scene.large{width:270px;height:auto}.welcome .growth-scene.large{width:260px;height:auto}.growth-controls{margin:0 -18px;padding:16px 18px}.baby-card h2{font-size:21px}.growth-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:355px){.hero .growth-scene{width:110px;height:auto}.baby-card .growth-scene.large{width:235px}.baby-card h2{font-size:19px}.gift-search-actions{align-items:stretch;flex-direction:column;gap:10px}.gift-search-actions button{width:100%}}
.gift-card .conditions>div{display:grid;grid-template-columns:3em minmax(0,1fr);gap:10px;align-items:start}.gift-card .conditions dt{white-space:nowrap}.gift-card .conditions dd{text-align:left}.offer-details ol,.offer-details ul{padding-left:1.3em;margin:8px 0}
.art-card{padding:18px 16px 20px}.art-scene{position:relative;aspect-ratio:476/362;width:100%;max-width:540px;margin:0 auto;isolation:isolate}.art-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .65s ease;pointer-events:none}.art-frame.entering,.art-frame.leaving{opacity:0}.art,.art-thumb{background-image:url('assets/approved-six-stages.png');background-repeat:no-repeat}.art{width:100%;max-height:100%;border-radius:22px;box-shadow:0 14px 36px #9c735617;animation:art-float 6s ease-in-out infinite;will-change:transform}.art-caption{text-align:center;min-height:100px;padding-top:16px}.art-caption span{font-size:12px;letter-spacing:.18em;color:#a46146}.art-caption h2{font-size:21px;font-weight:600;letter-spacing:.08em;margin:6px 0}.art-caption p{font-size:14px;color:var(--muted);line-height:1.7;margin:0}.art-picker{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:6px}.art-choice{padding:4px 4px 6px;background:#fffaf2;border:1px solid #e5dbca;border-radius:12px;color:var(--muted);min-height:58px;min-width:0}.art-thumb{display:block;width:100%;border-radius:7px}.art-choice span:last-child{display:block;font-size:11px;margin-top:3px;letter-spacing:.1em}.art-choice[aria-pressed=true]{border-color:#a46146;box-shadow:0 0 0 1px #a46146;color:#a46146;background:#fff4e8}.art-playback{display:flex;gap:8px;margin-top:16px}.art-playback button{flex:1;border:1px solid #ddd2bf;background:#fffaf2;border-radius:24px;padding:11px 4px;font-size:13px;min-height:44px}#art-play{background:var(--green);border-color:var(--green);color:#fff}#art-play:disabled{opacity:.55;cursor:default}.art-note{font-size:11px;text-align:center;line-height:1.8;color:#8d8377;margin:14px 0 0}@keyframes art-float{0%,100%{transform:translateY(0) rotate(-.25deg)}50%{transform:translateY(-5px) rotate(.25deg)}}.reduced-motion .art{will-change:auto}@media(prefers-reduced-motion:reduce){.art{animation:none;will-change:auto}.art-frame{transition:none}}@media(max-width:360px){.art-picker{gap:4px}.art-choice{padding:3px}}
.mascot-art{width:150px;justify-self:center;margin:auto}.mascot-art .art{border-radius:50%;box-shadow:0 10px 28px #9c735626}.mascot-art.large{width:240px}@media(min-width:680px){.hero .mascot-art{width:220px}}@media(max-width:355px){.hero .mascot-art{width:118px}}

/* Approved original art: viewport crops only; no generated or edited image bytes. */
.growth-illustration{width:100%;height:100%;display:flex;align-items:center;padding:12px 2px}
.storybook-float{width:100%;transform-origin:50% 50%;animation:storybook-drift 8s ease-in-out infinite}
.storybook-art{width:100%;aspect-ratio:476/362;background-image:url('assets/approved-six-stages.png');background-repeat:no-repeat;border-radius:22px;box-shadow:0 10px 28px #ad806614}
@keyframes storybook-drift{0%,100%{transform:translateY(2px) rotate(-.25deg)}50%{transform:translateY(-2px) rotate(.25deg)}}
.baby-card .growth-scene.large{width:100%;max-width:360px}
.baby-card .growth-frames{aspect-ratio:476/390}
.hero .growth-illustration{padding:4px 0}.hero .storybook-art{border-radius:16px}
.storybook-art-01{aspect-ratio:476/342;background-size:322.689075630% 299.415204678%;background-position:3.584905660% 28.739002933%;}
.storybook-art-02{aspect-ratio:470/342;background-size:326.808510638% 299.415204678%;background-position:50.093808630% 28.739002933%;}
.storybook-art-03{aspect-ratio:476/342;background-size:322.689075630% 299.415204678%;background-position:96.603773585% 28.739002933%;}
.storybook-art-04{aspect-ratio:476/362;background-size:322.689075630% 282.872928177%;background-position:3.584905660% 83.685800604%;}
.storybook-art-05{aspect-ratio:470/362;background-size:326.808510638% 282.872928177%;background-position:50.093808630% 83.685800604%;}
.storybook-art-06{aspect-ratio:476/362;background-size:322.689075630% 282.872928177%;background-position:96.603773585% 83.685800604%;}

/* Local watercolor sprite: retain source pixels and use the supplied nonuniform windows. */
.companion-art{display:block;flex-shrink:0;background-image:url('assets/companion-cards-sprite.png');background-repeat:no-repeat;pointer-events:none;max-width:100%}
.illustrated-heading{display:grid;grid-template-columns:minmax(0,1fr) 126px;align-items:center;gap:14px}
.illustrated-heading .companion-art{width:126px;animation:companion-arrive 420ms ease-out both}
.companion-note{display:flex;align-items:center;gap:18px}.companion-note .companion-art{width:104px}
.journey-progress{display:block;appearance:none;width:100%;height:7px;margin:0 0 20px;border:0;border-radius:10px;overflow:hidden;background:#e7e9dd;color:#829b77}
.journey-progress::-webkit-progress-bar{background:#e7e9dd;border-radius:10px}.journey-progress::-webkit-progress-value{background:#829b77;border-radius:10px}.journey-progress::-moz-progress-bar{background:#829b77;border-radius:10px}
button.task-symbol,.item-check{width:44px;min-height:44px;height:44px;flex:0 0 44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:23px;background:#eff1e7;color:#7b896c;padding:0}
.is-done button.task-symbol,.is-ready .item-check{background:var(--green);color:#fff}
.item-card{padding:18px 8px;border-radius:14px;gap:10px}.item-card .item-heading{min-width:100px}.item-card>.text-link{margin-left:54px}
.is-ready{background:#edf2e7}.status-updated{animation:status-touch 420ms ease-out}.status-updated [role=checkbox]{animation:check-touch 420ms ease-out}
@keyframes companion-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes status-touch{0%{background-color:#e4edda}100%{background-color:var(--paper)}}
@keyframes check-touch{0%,100%{transform:scale(1)}45%{transform:scale(1.12)}}
@media(max-width:480px){.illustrated-heading{grid-template-columns:minmax(0,1fr) 103px;gap:12px}.illustrated-heading .companion-art{width:103px}.illustrated-heading h1{font-size:23px}.illustrated-heading .eyebrow{font-size:9px;letter-spacing:1.2px}.illustrated-heading p{grid-column:1/-1;font-size:13px}.companion-note .companion-art{width:92px}}
@media(max-width:355px){.illustrated-heading{grid-template-columns:minmax(0,1fr) 88px;gap:8px}.illustrated-heading .companion-art{width:88px}.illustrated-heading h1{font-size:21px}.illustrated-heading .eyebrow{letter-spacing:.7px}.item-controls{margin-left:54px}.item-card .item-heading{min-width:140px}}
.companion-bag{aspect-ratio:660/620;background-size:190.000000000% 202.258064516%;background-position:0.000000000% 0.000000000%;}
.companion-gift{aspect-ratio:589/605;background-size:212.903225806% 207.272727273%;background-position:100.000000000% 0.000000000%;}
.companion-tasks{aspect-ratio:645/619;background-size:194.418604651% 202.584814216%;background-position:0.000000000% 100.000000000%;}
.companion-mother{aspect-ratio:609/649;background-size:205.911330049% 193.220338983%;background-position:100.000000000% 100.000000000%;}

.reading-door{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0 24px}.reading-door button{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #e2dfd1;border-radius:18px;background:#fffaf3;text-align:left;min-width:0}.reading-door .companion-art{width:55px}.reading-door strong{display:block;font-size:13px}.reading-door small{display:block;font-size:10px;line-height:1.6;color:var(--muted);margin-top:3px}.reading-door button:active{background:#eee9dc}
.reading-card summary{display:flex;gap:12px;align-items:center;list-style:none;min-height:44px}.reading-card summary::after{content:'＋';margin-left:auto;color:#8b9a78}.reading-card[open] summary::after{content:'－'}.reading-card summary::-webkit-details-marker{display:none}.reading-card summary .reading-number{float:none;font-size:18px;color:#9b8769}.reading-card summary strong{font-size:16px;font-weight:600}.reading-card>p,.emotion-card>p,.entertainment>p,.story-card>p{font-size:14px;line-height:1.9;margin:14px 0}.reading-idea{background:#eef1e7;border-radius:12px;padding:14px;margin:16px 0}.reading-idea small{color:#64795d;font-size:11px}.reading-idea p{font-size:13px;margin-top:4px}.reading-sources{display:flex;gap:5px 18px;flex-wrap:wrap;margin-top:12px;border-top:1px solid var(--line);padding-top:8px}.reading-sources .text-link{font-size:11px}.reading-section-title{margin:28px 0 16px;font-size:19px}.entertainment{margin-top:20px;background:#fff7ee}.entertainment h2{font-size:18px}.entertainment #companion-joke{min-height:80px}.story-card>.companion-art{width:180px;margin:18px auto}.story-card .notice{font-size:12px}
@media(max-width:480px){.reading-door button{flex-direction:column;align-items:flex-start;padding:13px}.reading-door .companion-art{width:70px;align-self:center}.reading-door strong{font-size:13px}.reading-door small{font-size:10px}}

/* User-triggered concept motifs: six petals, one short animation, no timer loop. */
.task-symbol,.item-check,.favorite,.bloom-control{position:relative}.mini-bloom{position:absolute;width:1px;height:1px;left:50%;top:50%;pointer-events:none;z-index:2}.bloom-petal{font-style:normal;position:absolute;left:-7px;top:-7px;font-size:14px;color:#b99162;opacity:0;animation:petal-open 700ms ease-out both}.bloom-petal:nth-child(even){color:#8ea27c}.petal-0{--x:0px;--y:-32px}.petal-1{--x:29px;--y:-16px}.petal-2{--x:29px;--y:16px}.petal-3{--x:0px;--y:32px}.petal-4{--x:-29px;--y:16px}.petal-5{--x:-29px;--y:-16px}
@keyframes petal-open{0%{opacity:0;transform:translate(0,0) scale(.3)}25%{opacity:.85}100%{opacity:0;transform:translate(var(--x),var(--y)) rotate(32deg) scale(1)}}
.illustrated-heading .gift-bounce{animation:gift-hop 620ms ease-out both}@keyframes gift-hop{0%,100%{transform:translateY(0) rotate(0)}30%{transform:translateY(-7px) rotate(-2deg)}60%{transform:translateY(2px) rotate(1deg)}}
.bloom-row{display:flex;justify-content:center;margin:16px 0}.bloom-control{display:flex;align-items:center;gap:9px;border:1px solid #e0ddcd;background:#f0f1e5;border-radius:24px;padding:7px 20px;min-height:48px}.bloom-control>span{font-size:27px;color:#ad9475}.bloom-control small{font-size:12px;color:#63775e}.reduced-motion .mini-bloom{display:none}@media(prefers-reduced-motion:reduce){.mini-bloom{display:none}}

.filter-panel #gift-district{margin-top:6px;font-size:13px}.filter-panel input:disabled{background:#f0f0e9;color:#7e8378}.branch-details{margin:14px 0;border-top:1px solid var(--line);padding-top:12px}.branch-list{display:grid;gap:12px;margin-top:14px}.branch-row{background:#f3f3e9;border:1px solid #e0e5d5;border-radius:12px;padding:14px}.branch-row h4{font-size:14px;margin:0 0 6px}.branch-row p{font-size:12px;overflow-wrap:anywhere}.branch-row .branch-eligibility{color:#805f40;margin-top:6px}.branch-row .text-link{display:block;font-size:11px;padding:5px 0}.branch-row>small{display:block;font-size:10px;margin-top:6px}
