/* Peta Days — a seat in the sunlight. Motion is brief and event driven. */
:root{--soft-shadow:0 8px 28px #434a3310;--focus:#79522e}
::selection{background:#f4dd8b;color:#393b32}
body{overflow-wrap:break-word}button,a,summary{-webkit-tap-highlight-color:#f3cd6255}
:is(a,button,summary,input,textarea):focus-visible{outline:3px solid var(--focus);outline-offset:5px}
:is(button,a.button,summary){touch-action:manipulation}
button:disabled{cursor:default}img{color:var(--muted)}
.site-header{background:#faf7eff5;box-shadow:0 1px 0 #393b3208}
.brand{gap:10px;flex-shrink:0}.brand-symbol{width:56px;height:56px;object-fit:contain;flex-shrink:0;transition:transform .25s}
.brand-name{font-size:22px;font-weight:800;letter-spacing:2px}.brand-name small{font-size:9px;letter-spacing:3.3px;margin-top:6px}
.brand:hover .brand-symbol,.brand:focus-visible .brand-symbol{transform:rotate(-7deg)}
.nav>a{position:relative}.nav>a:after{content:'';position:absolute;height:2px;bottom:1px;left:0;right:0;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.nav>a:hover:after,.nav>a[aria-current=page]:after{transform:scaleX(1)}
.dropdown{box-shadow:var(--soft-shadow)}.dropdown a{border-radius:7px}.dropdown a:hover{background:#efeee2}
.button{box-shadow:0 3px 0 #393b3210;transition:transform .18s,box-shadow .18s,background .18s}
.button:active{transform:translateY(2px);box-shadow:none}.button span,.text-link span{display:inline-block;transition:transform .2s}
.button:hover span,.text-link:hover span{transform:translate(2px,-2px)}
.story-card{position:relative;border-radius:16px;transition:box-shadow .2s,transform .2s}.story-card:hover{box-shadow:var(--soft-shadow)}
.story-art{border-radius:15px;overflow:hidden}.story-art img{transition:transform .35s}.story-card a:hover .story-art img{transform:rotate(-3deg) scale(1.035)}
.save-story{min-height:44px}.save-story[aria-pressed=true]{border-color:#849573;background:#e8eddc;color:#405137}
.theme-button,.filter-button,.mood-button,.shelf-option{transition:background .2s,border-color .2s,box-shadow .2s}
:is(.theme-button,.filter-button,.mood-button,.shelf-option)[aria-pressed=true]{box-shadow:inset 0 0 0 1px currentColor}
.sticker-button{transition:transform .2s,box-shadow .2s}.sticker-button:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:var(--soft-shadow)}
.lightbox[open]{animation:paper-arrives .25s both}.lightbox::backdrop{backdrop-filter:blur(3px)}
.greeting-dock{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:9px 14px;margin:-12px 0 30px;padding-right:12px}
.greet-character{font:inherit;font-size:12px;background:var(--white);border:1px solid #d8cfbb;border-radius:24px;padding:10px 16px;min-height:44px;color:var(--ink);cursor:pointer;transition:background .2s,transform .2s}
.greet-character:hover{background:#f5e4d5;transform:translateY(-2px)}.greet-character[data-greet=bean]:hover{background:#f7edbd}
.stage-greeting{width:100%;text-align:right;font-size:12px;line-height:1.8;color:var(--green);min-height:24px;margin:0}
.footer-symbol{width:31px;height:31px;vertical-align:middle;margin-right:8px}.footer-keepsake{max-width:1160px;margin:24px auto 0;padding:21px 0 0;border-top:1px dashed #c9ceba;display:flex;flex-wrap:wrap;gap:16px;align-items:center;position:relative}
.little-hello,.motion-toggle,.hello-close{font:inherit;font-size:12px;border:0;background:transparent;color:var(--green);cursor:pointer;min-height:44px;padding:8px 0}
.little-hello{display:flex;align-items:center;gap:10px}.little-hello>span:first-child{font-size:22px;color:var(--red)}.little-hello:hover{text-decoration:underline;text-underline-offset:5px}
.motion-toggle{margin-left:auto;border:1px solid #b7c0ab;border-radius:22px;padding:8px 15px}.motion-toggle[aria-pressed=true]{background:#e4ead9}
.hello-reply{width:min(440px,100%);border:1px solid #cec4a5;background:#fff9df;border-radius:14px 14px 14px 3px;padding:18px 22px;box-shadow:4px 4px 0 #d4ceba40;order:-1;flex-basis:100%}
.hello-reply[hidden]{display:none}.hello-line{font-size:14px;line-height:1.9;margin:0}.hello-close{padding-bottom:0;min-height:36px}
.reading-thread{position:fixed;left:0;right:0;top:90px;height:3px;z-index:19;pointer-events:none;background:transparent}.reading-thread span{display:block;width:0;height:100%;background:#9da884;opacity:.8}
.memory-card.is-open img{animation:card-peek .28s both}.memory-card.is-matched:after{content:'✓';position:absolute;top:9px;right:12px;font-size:15px;color:#52634c}
.memory-card.is-matched{animation:found-pair .3s both}.hello-reply:not([hidden]){animation:paper-arrives .3s both}
.polish-pop{animation:soft-pop .35s both}.polish-paper{animation:paper-turn .35s both}.polish-wave{animation:wave-hello .65s both!important}
.hero-stage{animation:stage-arrives .7s both}.hero-stage .bubble.one{animation:bubble-arrives .4s .45s both}.hero-stage .bubble.two{animation:bubble-arrives .4s .7s both}
@keyframes soft-pop{0%{transform:scale(.97)}55%{transform:scale(1.02)}100%{transform:scale(1)}}
@keyframes paper-turn{0%{transform:rotate(-1deg) translateY(3px);opacity:.65}100%{transform:rotate(0);opacity:1}}
@keyframes paper-arrives{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes card-peek{from{opacity:.4;transform:scale(.93)}to{opacity:1;transform:scale(1)}}
@keyframes found-pair{50%{box-shadow:0 0 0 4px #d6c37460}}
@keyframes wave-hello{0%,100%{translate:0 0}25%{translate:0 -9px;rotate:-3deg}65%{translate:0 -3px;rotate:3deg}}
@keyframes stage-arrives{from{opacity:0;translate:0 10px}to{opacity:1;translate:0 0}}
@keyframes bubble-arrives{from{opacity:0;scale:.94}to{opacity:1;scale:1}}
html.is-quiet{scroll-behavior:auto}html.is-quiet *,html.is-quiet *:before,html.is-quiet *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:1200px){.footer-keepsake{margin-inline:40px}}
@media(max-width:720px){.brand-symbol{width:46px;height:46px}.brand-name{font-size:19px;letter-spacing:1.3px}.brand-name small{font-size:8px;letter-spacing:2.8px}.brand{gap:7px}.greeting-dock{justify-content:center;margin:8px 0 25px;padding:0;gap:8px}.greet-character{font-size:12px;padding:9px 12px}.stage-greeting{text-align:center;font-size:12px;min-height:40px}.footer-keepsake{margin-inline:18px;margin-top:20px}.hello-line{font-size:13px}.motion-toggle{font-size:11px}.reading-thread{top:76px}.story-art img{transition:none}.nav>a:after{display:none}.site-footer .footer-inner{gap:20px}.lightbox{max-width:calc(100vw - 24px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
