:root{--cream: #FBF6EE;--cream-deep: #F4ECDD;--ink: #3D2E2A;--ink-soft: #6E5A53;--peach: #EBA994;--peach-deep: #D88A72;--sage: #A8B89E;--pink: #F2D5D0;--dot: #E8D8C4;--font-script: "Caveat", "Comic Sans MS", cursive;--font-serif: "Fraunces", Georgia, serif;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--measure: 38ch;--radius: 18px}html,body{margin:0;padding:0;background:var(--cream);color:var(--ink);font-family:var(--font-sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;background-image:radial-gradient(var(--dot) 1px,transparent 1px);background-size:22px 22px;background-position:-11px -11px}*{box-sizing:border-box}a{color:var(--peach-deep);text-decoration:none;border-bottom:1.5px dotted var(--peach-deep);transition:color .15s ease,border-color .15s ease}a:hover{color:var(--ink);border-bottom-color:var(--ink)}.page{max-width:560px;margin:0 auto;padding:48px 22px 96px}section{margin-bottom:72px}.label{font-family:var(--font-script);font-size:1.6rem;color:var(--peach-deep);margin:0 0 8px;font-weight:400}.label:before{content:"↳ ";opacity:.6}h2{font-family:var(--font-serif);font-weight:500;font-size:1.55rem;letter-spacing:-.01em;margin:0 0 18px;line-height:1.25}p{margin:0 0 14px;max-width:var(--measure)}p:last-child{margin-bottom:0}.hello{text-align:center;padding-top:8px}.hello .greeting{font-family:var(--font-script);font-size:3.6rem;line-height:1;color:var(--ink);margin:18px 0 6px}.hello .greeting .flower{color:var(--peach-deep)}.hello .tagline{font-family:var(--font-serif);font-style:italic;font-size:1.15rem;color:var(--ink-soft);margin:0 auto;max-width:32ch}.polaroid{display:inline-block;background:#fff;padding:12px 12px 36px;box-shadow:0 8px 24px #3d2e2a1f,0 1px 2px #3d2e2a14;transform:rotate(-3deg);border-radius:4px;margin-bottom:4px;background-clip:padding-box}.polaroid-photo{display:block;width:200px;height:240px;background-image:url(/me.jpg),linear-gradient(135deg,var(--pink),var(--peach));background-size:cover,cover;background-position:50% 22%,center;background-repeat:no-repeat,no-repeat;border-radius:1px}.welcome{margin:36px 0 56px}.welcome-card{position:relative;background:linear-gradient(165deg,#fbeae6,#f2d5d0);border-radius:22px;padding:28px 26px 22px;transform:rotate(.8deg);box-shadow:0 2px #d88a722e,0 12px 30px #3d2e2a1f;font-family:var(--font-serif);font-style:italic;font-size:1.04rem;line-height:1.65;color:var(--ink)}.welcome-card p{margin:0 0 12px;max-width:none}.welcome-card p:last-child{margin-bottom:0}.welcome-card:before{content:"♡";position:absolute;top:-14px;left:22px;width:32px;height:32px;display:grid;place-items:center;background:var(--peach-deep);color:#fff;font-size:1rem;border-radius:50%;box-shadow:0 2px 6px #d88a7259}.welcome-kicker{font-family:var(--font-script);font-style:normal;font-size:1.25rem;color:var(--peach-deep);margin-bottom:6px!important}.welcome-greeting{font-family:var(--font-script);font-style:normal;font-size:2.4rem;color:var(--ink);line-height:1;margin:4px 0 12px!important}.welcome-sign{font-family:var(--font-script);font-style:normal;font-size:1.6rem;color:var(--peach-deep);text-align:right;margin-top:14px!important;line-height:1.1}@media(min-width:640px){.welcome-card{padding:36px 32px 26px;font-size:1.08rem}.welcome-greeting{font-size:2.8rem}}.season p{font-family:var(--font-serif);font-size:1.08rem;color:var(--ink)}.season em{color:var(--peach-deep);font-style:italic}.cards{display:grid;gap:14px}.card{background:#fff;border-radius:var(--radius);padding:18px 20px;box-shadow:0 2px 0 var(--cream-deep),0 6px 18px #3d2e2a0f;display:flex;gap:14px;align-items:flex-start}.card .icon{font-size:1.6rem;line-height:1;flex:none;margin-top:2px}.card .kicker{font-family:var(--font-script);color:var(--sage);font-size:1.15rem;line-height:1;margin:0 0 4px}.card .body{font-family:var(--font-serif);font-size:1.02rem;color:var(--ink);margin:0}.picks .cat-list{display:flex;flex-direction:column;gap:10px;margin-top:22px}.picks details.cat{background:#fff;border-radius:var(--radius);box-shadow:0 2px 0 var(--cream-deep),0 6px 18px #3d2e2a0f;overflow:hidden;transition:box-shadow .2s ease}.picks details.cat[open]{box-shadow:0 2px 0 var(--peach),0 10px 24px #3d2e2a1a}.picks details.cat summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;align-items:center;gap:12px;font-family:var(--font-serif);font-size:1.08rem;color:var(--ink);user-select:none}.picks details.cat summary::-webkit-details-marker{display:none}.picks .cat-icon{font-size:1.4rem;line-height:1;flex:none}.picks .cat-name{flex:1}.picks .cat-arrow{color:var(--peach-deep);font-size:1.1rem;transition:transform .2s ease}.picks details.cat[open] .cat-arrow{transform:rotate(180deg)}.picks .items{list-style:none;margin:0;padding:14px 18px 18px;display:flex;flex-direction:column;gap:14px;border-top:1px dashed var(--cream-deep)}.picks .item-name{font-family:var(--font-serif);font-size:1rem;color:var(--ink);font-weight:500;margin-bottom:2px}.picks .item-name a{border-bottom:1.5px dotted var(--peach-deep)}.picks .item-note{font-size:.95rem;color:var(--ink-soft);margin:0;max-width:none;line-height:1.55}.picks .item--todo{padding-left:10px;border-left:2px dashed var(--pink)}.picks .item-note--empty{font-family:var(--font-script);font-size:1.1rem;color:var(--peach-deep);opacity:.75}.picks .picks-disclosure{font-size:.85rem;line-height:1.55;color:var(--ink-soft);background:var(--cream-deep);border-left:3px solid var(--peach);border-radius:0 var(--radius) var(--radius) 0;padding:12px 16px;margin:18px 0 22px;max-width:none}.picks .picks-fine{text-align:center;margin-top:22px;font-size:.82rem;color:var(--ink-soft);font-style:italic;max-width:40ch;margin-left:auto;margin-right:auto;opacity:.85}.touch{text-align:center}.touch .links{display:flex;flex-direction:column;gap:10px;margin:18px 0 24px;align-items:center}.touch .links a{font-family:var(--font-serif);font-size:1.1rem;padding:4px 2px}.touch .signoff{font-family:var(--font-script);font-size:1.8rem;color:var(--peach-deep);margin-top:8px}.soft-corner h2{color:var(--ink)}.card--soft{background:linear-gradient(165deg,#fbeae6,#f2d5d0)}.card--soft:hover{box-shadow:0 2px 0 var(--peach-deep),0 12px 26px #d88a7240}.soft{margin-top:8px}.soft .soft-intro{font-family:var(--font-serif);font-size:1.08rem;line-height:1.65;color:var(--ink);margin:18px 0 28px;max-width:none}.soft-crisis{background:linear-gradient(165deg,#fbeae6,#f2d5d0);border-radius:var(--radius);padding:20px 22px 18px;margin:0 0 32px;box-shadow:0 2px 0 var(--peach),0 8px 22px #d88a722e}.soft-crisis-label{font-family:var(--font-script);font-size:1.3rem;color:var(--peach-deep);margin:0 0 10px}.soft-crisis ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.soft-crisis li{font-family:var(--font-serif);font-size:1rem;color:var(--ink);line-height:1.55;max-width:none}.soft-crisis li strong{font-weight:500;color:var(--ink);background:#ffffff8c;padding:1px 6px;border-radius:4px}.soft-crisis a{color:var(--peach-deep);border-bottom:1.5px dotted var(--peach-deep)}.soft-crisis-fine{font-family:var(--font-script);font-size:1.1rem;color:var(--ink-soft);margin:14px 0 0}.soft-note,.soft-talk{background:#fff;border-radius:var(--radius);padding:20px 22px;margin:0 0 22px;box-shadow:0 2px 0 var(--cream-deep),0 6px 18px #3d2e2a0f}.soft-kicker{font-family:var(--font-script);font-size:1.25rem;color:var(--peach-deep);margin:0 0 10px}.soft-note p,.soft-talk p{font-family:var(--font-serif);font-size:1rem;color:var(--ink);line-height:1.6;margin:0 0 12px;max-width:none}.soft-note p:last-child,.soft-talk p:last-child{margin-bottom:0}.soft-list{list-style:none;margin:4px 0 12px;padding:0;display:flex;flex-direction:column;gap:8px;font-family:var(--font-serif);color:var(--ink)}.soft-list li{padding-left:16px;position:relative}.soft-list li:before{content:"✿";position:absolute;left:0;top:1px;color:var(--peach);font-size:.9rem}.soft-list-fine{font-size:.9rem!important;color:var(--ink-soft)!important;font-style:italic}.soft-talk-link{display:inline-block;margin-top:4px;font-family:var(--font-serif);font-size:1.05rem;color:var(--peach-deep)}.soft-sign{font-family:var(--font-script);font-size:1.5rem;color:var(--peach-deep);text-align:center;margin:32px 0 20px;line-height:1.3}.soft-sign span{display:inline-block;margin-top:6px;font-size:1.3rem}.soft-disclaimer{font-size:.85rem;color:var(--ink-soft);font-style:italic;text-align:center;max-width:42ch;margin:24px auto 0;line-height:1.6;opacity:.85}.back{display:inline-block;font-family:var(--font-script);font-size:1.2rem;color:var(--ink-soft);border-bottom:none;margin-bottom:28px}.back:hover{color:var(--peach-deep);border-bottom:none}.card--link{text-decoration:none;border:none;color:var(--ink);position:relative;padding-right:36px;transition:transform .15s ease,box-shadow .15s ease}.card--link:hover{color:var(--ink);transform:translateY(-2px);box-shadow:0 2px 0 var(--peach),0 10px 22px #3d2e2a1a}.card--link .card-arrow{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-family:var(--font-serif);font-size:1.4rem;color:var(--peach-deep);transition:transform .2s ease}.card--link:hover .card-arrow{transform:translate(4px,-50%)}.picks--page,.pack{margin-top:8px}.pack .pack-note{font-family:var(--font-script);font-size:1.15rem;color:var(--sage);margin:14px 0 22px}.pack .cat-list{display:flex;flex-direction:column;gap:10px;margin-top:18px}.pack details.cat{background:#fff;border-radius:var(--radius);box-shadow:0 2px 0 var(--cream-deep),0 6px 18px #3d2e2a0f;overflow:hidden}.pack details.cat[open]{box-shadow:0 2px 0 var(--peach),0 10px 24px #3d2e2a1a}.pack details.cat summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;align-items:center;gap:12px;font-family:var(--font-serif);font-size:1.08rem;color:var(--ink);user-select:none}.pack details.cat summary::-webkit-details-marker{display:none}.pack .cat-icon{font-size:1.4rem;line-height:1;flex:none}.pack .cat-name{flex:1}.pack .cat-count{font-family:var(--font-sans);font-size:.85rem;color:var(--ink-soft);background:var(--cream-deep);padding:3px 8px;border-radius:999px;font-variant-numeric:tabular-nums}.pack .cat-count-done{font-weight:600;color:var(--peach-deep)}.pack .cat-arrow{color:var(--peach-deep);font-size:1.1rem;transition:transform .2s ease}.pack details.cat[open] .cat-arrow{transform:rotate(180deg)}.pack .pack-items{list-style:none;margin:0;padding:4px 18px 18px;display:flex;flex-direction:column;gap:2px;border-top:1px dashed var(--cream-deep)}.pack .pack-item{display:flex;align-items:flex-start;padding:10px 0;border-bottom:1px dashed var(--cream-deep)}.pack .pack-item:last-child{border-bottom:none}.pack .pack-item input[type=checkbox]{appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--peach);margin:2px 12px 0 0;flex:none;cursor:pointer;background:#fff;display:grid;place-items:center;transition:background .15s ease,border-color .15s ease}.pack .pack-item input[type=checkbox]:checked{background:var(--peach);border-color:var(--peach)}.pack .pack-item input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:.95rem;font-weight:700;line-height:1}.pack .pack-item label{flex:1;cursor:pointer;display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-family:var(--font-serif);font-size:1rem;color:var(--ink);line-height:1.4}.pack .pack-name{flex:1;min-width:0}.pack .pack-qty{font-family:var(--font-sans);font-size:.8rem;color:var(--ink-soft);background:var(--cream);padding:2px 8px;border-radius:999px;font-variant-numeric:tabular-nums;white-space:nowrap}.pack .pack-pill{font-family:var(--font-script);font-size:1rem;color:var(--peach-deep);padding:0 4px}.pack .pack-item.is-checked .pack-name{color:var(--ink-soft);text-decoration:line-through;text-decoration-color:var(--peach)}.pack .pack-item.is-checked .pack-pill{opacity:.5}.pack-reset{display:block;margin:32px auto 0;background:transparent;border:1.5px dashed var(--peach);color:var(--peach-deep);font-family:var(--font-script);font-size:1.15rem;padding:8px 22px;border-radius:999px;cursor:pointer;transition:background .15s ease}.pack-reset:hover{background:var(--cream-deep)}.foot{text-align:center;font-size:.85rem;color:var(--ink-soft);margin-top:48px;opacity:.7}.doodle{display:block;text-align:center;font-size:1.2rem;color:var(--sage);margin:48px 0;letter-spacing:14px}@media(min-width:640px){.page{padding:72px 22px 120px}.hello .greeting{font-size:4.4rem}h2{font-size:1.8rem}}
