:root{--bg:#f4f1ea;--bg-card:#fbfaf6;--ink:#23201b;--ink-soft:#6b6459;--line:#ddd6c8;--accent:#b5563a;--shadow:rgba(60,50,35,0.09);--room-wall:#ece5d6;--room-floor:#e0d7c4;--room-ink:#6f6353}@media (prefers-color-scheme:dark){:root{--bg:#1a1815;--bg-card:#24211c;--ink:#ece7dc;--ink-soft:#a49c8c;--line:#3a352d;--accent:#d98368;--shadow:rgba(0,0,0,0.35);--room-wall:#211d17;--room-floor:#2a251d;--room-ink:#a99c85}}*{box-sizing:border-box;margin:0;padding:0}body,html{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:Georgia,Times New Roman,serif;line-height:1.5;-webkit-font-smoothing:antialiased}.page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem)}.card{width:100%;max-width:680px;background:var(--bg-card);border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 60px -30px var(--shadow);overflow:hidden}.card__top{display:flex;align-items:center;justify-content:space-between;padding:1.4rem clamp(1.4rem,4vw,2.4rem);border-bottom:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.68rem;font-weight:600;color:var(--accent)}.date,.eyebrow{font-family:Helvetica Neue,Arial,sans-serif}.date{font-size:.78rem;color:var(--ink-soft)}.card__body{padding:clamp(1.8rem,5vw,3rem) clamp(1.4rem,4vw,2.4rem)}.fact{font-size:clamp(1.5rem,4.2vw,2.15rem);line-height:1.32;font-weight:400;letter-spacing:-.01em}.supplement{margin-top:1rem;font-size:1.02rem;line-height:1.5}.source,.supplement{color:var(--ink-soft)}.source{margin-top:.9rem;font-family:Helvetica Neue,Arial,sans-serif;font-size:.78rem}.source a{color:var(--accent);text-decoration:underline;text-underline-offset:2px;word-break:break-word}.design{margin-top:clamp(1.8rem,5vw,2.6rem);padding-top:clamp(1.6rem,4vw,2.2rem);border-top:1px solid var(--line);display:grid;grid-template-columns:116px 1fr;grid-gap:clamp(1rem,3vw,1.8rem);gap:clamp(1rem,3vw,1.8rem);align-items:center}.design__art{width:116px;height:122px;color:var(--ink);opacity:.9}.design__label{font-family:Helvetica Neue,Arial,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:.62rem;font-weight:600;color:var(--accent);margin-bottom:.35rem}.design__name{font-size:1.15rem;font-weight:600;letter-spacing:-.01em}.design__meta{font-family:Helvetica Neue,Arial,sans-serif;font-size:.82rem;color:var(--ink-soft);margin-top:.15rem}.design__note{font-style:italic;font-size:.95rem;color:var(--ink-soft);margin-top:.6rem}.design__link{display:inline-block;margin-top:.6rem;font-family:Helvetica Neue,Arial,sans-serif;font-size:.78rem;color:var(--accent);text-decoration:none}.design__link:hover{text-decoration:underline}.card__foot{padding:1rem clamp(1.4rem,4vw,2.4rem);border-top:1px solid var(--line);font-family:Helvetica Neue,Arial,sans-serif;font-size:.72rem;color:var(--ink-soft);display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.foot-link{color:var(--accent);text-decoration:none}.foot-link:hover{text-decoration:underline}.action-row{margin-top:1.1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.action-row--design{margin-top:clamp(1.4rem,4vw,1.8rem);padding-top:clamp(1.2rem,3vw,1.6rem);border-top:1px solid var(--line)}.collect,.like{gap:.5rem;border:1px solid var(--line);border-radius:999px;color:var(--ink-soft);cursor:pointer}.collect,.like,.pill-link{display:inline-flex;align-items:center;padding:.5rem 1.1rem;background:transparent;font-family:Helvetica Neue,Arial,sans-serif;font-size:.82rem;transition:color .2s,border-color .2s,background .2s}.pill-link{gap:.4rem;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px;color:var(--accent);text-decoration:none}.pill-link:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.collect:hover,.like:hover{border-color:var(--accent);color:var(--accent)}.collect:disabled,.like:disabled{cursor:default}.collect__mark,.like__heart{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;transition:fill .2s,stroke .2s,transform .2s}.collect--on,.like--on{color:var(--accent);border-color:var(--accent)}.collect--on .collect__mark,.like--on .like__heart{fill:var(--accent);stroke:var(--accent)}@keyframes like-bump{0%{transform:scale(1)}35%{transform:scale(1.35)}70%{transform:scale(.92)}to{transform:scale(1)}}.collect--bump .collect__mark,.like--bump .like__heart{animation:like-bump .32s ease}.calendar{max-width:560px}.cal__head{display:flex;align-items:center;justify-content:space-between;padding:1.2rem clamp(1.4rem,4vw,2.4rem) .4rem}.cal__title{font-size:1.3rem;font-weight:600;letter-spacing:-.01em}.cal__nav{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;color:var(--accent);text-decoration:none;font-size:1.1rem;border:1px solid var(--line)}.cal__nav:hover{border-color:var(--accent)}.cal__nav--off{color:var(--line);border-color:transparent}.cal__today-row{display:flex;justify-content:center;padding:.2rem 0 .1rem}.cal__today{font-family:Helvetica Neue,Arial,sans-serif;font-size:.72rem;color:var(--accent);text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:.28rem .9rem;transition:border-color .2s,background .2s}.cal__today:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px;padding:.4rem clamp(1rem,3.5vw,1.8rem) .6rem}.cal__grid--dow{padding-bottom:0}.cal__dow{text-align:center;font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;padding:.2rem 0}.cal__cell,.cal__dow{font-family:Helvetica Neue,Arial,sans-serif;color:var(--ink-soft)}.cal__cell{position:relative;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:.9rem;text-decoration:none}.cal__cell--empty{color:color-mix(in srgb,var(--ink-soft) 45%,transparent)}.cal__cell--has{color:var(--ink);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);font-weight:600;transition:transform .15s,background .2s}.cal__cell--has:hover{background:color-mix(in srgb,var(--accent) 20%,transparent);transform:translateY(-2px)}.cal__cell--today{outline:2px solid var(--accent);outline-offset:1px}.cal__num{line-height:1}.cal__heart{width:11px;height:11px;fill:var(--accent)}.cal__cell .cal__heart{position:absolute;top:4px;right:5px}.card.empty{max-width:460px;padding:clamp(2rem,6vw,3rem);text-align:center}.empty__title{font-size:1.3rem;margin-bottom:.6rem}.empty__text{color:var(--ink-soft);font-size:.95rem;margin-bottom:1.2rem}.room{max-width:760px}.room__empty{padding:clamp(2rem,6vw,3rem);text-align:center}.room__scene{position:relative;margin:clamp(1rem,3vw,1.4rem);border:1px solid var(--room-ink);border-radius:10px;background:var(--room-wall);overflow:hidden;min-height:400px}.room__scene--empty{min-height:300px}.room__scene:after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:var(--room-floor)}.room__floorline{position:absolute;left:0;right:0;bottom:42%;height:0;border-top:1px solid var(--room-ink);opacity:.5;z-index:1}.room__decor svg{position:absolute;fill:none;stroke:var(--room-ink);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;height:auto}.room__window{top:clamp(1rem,3.5vw,2rem);left:clamp(1.2rem,6vw,3.4rem);width:clamp(92px,17vw,130px);opacity:.75}.room__curtain{top:clamp(.6rem,3vw,1.4rem);right:clamp(.6rem,3vw,1.4rem);width:clamp(46px,9vw,62px);opacity:.6}.room__frame{top:clamp(1.4rem,4vw,2.4rem);right:clamp(3.4rem,12vw,5.4rem);width:clamp(42px,8vw,58px);opacity:.7}.room__plant{bottom:8%;left:clamp(.4rem,3vw,1.6rem);width:clamp(70px,13vw,104px);opacity:.8;z-index:2}.room__pieces{position:relative;z-index:3;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:1rem 1.5rem;padding:clamp(5rem,15vw,9rem) clamp(1.2rem,4vw,3rem) clamp(1.4rem,4vw,2.4rem)}.room__piece{width:clamp(96px,15vw,128px);text-align:center}.room__art{width:100%;height:clamp(96px,16vw,128px);color:var(--room-ink)}.room__piece:after{content:"";display:block;width:66%;height:7px;margin:-3px auto 0;border-radius:50%;background:var(--room-ink);opacity:.16}.room__name{font-family:Helvetica Neue,Arial,sans-serif;font-size:.66rem;color:var(--room-ink);margin-top:.4rem;line-height:1.25}.room__scene--empty .room__empty{position:relative;z-index:3}@media (max-width:460px){.design{grid-template-columns:1fr;justify-items:start}.cal__cell{font-size:.8rem;border-radius:8px}}