:root{--paper:#FFFDF4;--ink:#193E38;--muted:#61746B;--surface:#F0F1DF;--forest:#176D56;--ocean:#CCEAE3;--land:#E1E8B7;--line:#C8D79B;--sun:#FFD76B}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:ui-rounded,SF Pro Rounded,Avenir Next,system-ui,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer;border:0;min-height:48px;padding:13px 24px;border-radius:18px;background:var(--forest);color:var(--paper);font-weight:750;transition:transform .15s,box-shadow .15s}button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #193e3820}button:disabled{opacity:.4;cursor:default;transform:none;box-shadow:none}button:focus-visible{outline:3px solid #bd6912;outline-offset:5px}img{display:block;width:100%}h1,h2,p{margin:0}h1,h2{letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(2.7rem,5.8vw,5.4rem);max-width:900px;font-weight:850;text-wrap:balance}h2{font-size:clamp(1.8rem,3vw,3rem);font-weight:800}.eyebrow{font-size:.68rem;font-weight:850;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.brand{max-width:1240px;margin:0 auto;display:flex;gap:12px;align-items:center;padding:32px 40px;font-size:1.12rem;font-weight:850;letter-spacing:-.03em}.brand-mark{font-size:2.1rem;color:var(--forest)}.brand-note{margin-left:auto;font-size:.74rem;font-weight:500;letter-spacing:.02em;color:var(--muted)}.story{max-width:1240px;padding:0 40px;margin:0 auto}.intro{text-align:center;padding:64px 0 48px}.intro h1{margin:18px auto}.subtitle{font-size:1rem;line-height:1.7;color:var(--muted)}.metadata{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:23px}.metadata span{background:var(--surface);border:1px solid #d6dfba;padding:8px 15px;border-radius:40px;font-size:.73rem}.memory{display:grid;grid-template-columns:1.08fr 1fr;background:#fff;border:1px solid #ebebdb;border-radius:38px;overflow:hidden;box-shadow:0 18px 65px #244c3410}.memory-art{position:relative;background:#deede0;display:flex;align-items:center}.memory-art img{aspect-ratio:1.04;object-fit:cover}.art-stamp{position:absolute;bottom:25px;left:26px;padding:10px 15px;border:1px solid #ffffff80;background:#fffdf4d9;border-radius:30px;font-size:.6rem;letter-spacing:.18em;font-weight:800}.memory-words{padding:45px 42px;display:flex;flex-direction:column;align-items:flex-start}.progress{display:flex;gap:5px;width:100%;margin:22px 0 32px}.progress span{height:4px;border-radius:10px;flex:1;background:#e6ead9}.progress .filled{background:var(--forest)}.memory h2{font-size:clamp(1.6rem,2.8vw,2.6rem)}.chapter{font-size:1.2rem;line-height:1.6;margin:20px 0 30px;overflow-wrap:anywhere;min-height:90px}.controls{display:flex;align-items:center;gap:10px;width:100%;margin-top:auto}.controls>button:not(.icon-button){flex:1}.secondary{background:var(--surface);color:var(--ink)}.icon-button{width:48px;flex-shrink:0;padding:10px}.text-button{background:transparent;color:var(--muted);font-size:.75rem;font-weight:500;align-self:center;margin-top:10px;box-shadow:none}.section-intro{margin:75px 0 32px}.section-intro h2{margin:13px 0}.section-intro p:last-child{color:var(--muted);line-height:1.7;font-size:.95rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:30px;align-items:start}.card{display:block;background:linear-gradient(140deg,#d1eed7,#f8d999 25%,#f4bfae 50%,#e2d8fc 70%,#ade3d3);color:var(--ink);padding:7px;border-radius:29px;box-shadow:0 12px 28px #1b3d2f12;text-align:left;width:100%;max-width:540px;overflow:hidden}.card:hover{transform:translateY(-5px) rotate(-.4deg)}.card-inner{display:block;background:var(--paper);border-radius:23px;overflow:hidden}.card-top{display:flex;justify-content:space-between;padding:17px 20px;font-size:.58rem;letter-spacing:.15em}.card img{aspect-ratio:1.4;object-fit:cover}.card-caption{display:flex;flex-direction:column;gap:10px;padding:22px}.card-caption strong{font-size:1.45rem;letter-spacing:-.03em}.card-caption>span{font-size:.88rem;line-height:1.5;font-weight:400;color:var(--muted);overflow-wrap:anywhere}.card-caption small{font-size:.5rem;letter-spacing:.16em;margin-top:14px}.card-back{display:flex;flex-direction:column;justify-content:center;gap:20px;padding:28px;min-height:260px;overflow-wrap:anywhere}.card-back strong{font-size:1.3rem;line-height:1.5}.card-back>span:last-child{font-size:.9rem;font-weight:400;line-height:1.6;color:var(--muted)}.closing{margin:75px 0 0;text-align:center;padding:60px 24px;border-top:1px solid #dbe2cb}.closing>span{font-size:3rem;color:#779856}.closing h2{font-size:1.9rem;margin:15px auto}.closing p{color:var(--muted);line-height:1.6}footer{text-align:center;padding:40px 24px 50px;color:var(--muted);font-size:.8rem;line-height:2}footer span{font-size:.65rem;letter-spacing:.04em}.status{max-width:600px;margin:30px auto;padding:0 25px;text-align:center}.status img{width:min(100%,300px);margin:0 auto 30px;border-radius:35px}.status h1{font-size:2.7rem;margin:20px 0}.status>p:last-of-type{line-height:1.7;color:var(--muted);margin:20px 0}.status button{margin:10px}@media(max-width:760px){.brand{padding:22px 24px}.brand-note{display:none}.story{padding:0 22px}.intro{padding:38px 0 34px}.intro h1{font-size:2.65rem}.subtitle{font-size:.9rem}.memory{grid-template-columns:1fr;border-radius:28px}.memory-art img{aspect-ratio:1.3}.memory-words{padding:28px 24px}.chapter{font-size:1.12rem;min-height:0}.progress{margin:19px 0 23px}.controls{gap:8px}.controls>button:not(.icon-button){padding:13px 8px}.section-intro{margin-top:50px}.card-grid{gap:24px}.closing{margin-top:50px;padding:38px 0}.closing h2{font-size:1.65rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}button:hover,.card:hover{transform:none}}.card-grid:has(.card:only-child){display:flex;justify-content:center}
