:root{color:#302022;font-synthesis:none;--ink:#381c28;--muted:#685252;--wine:#612039;--paper:#fffaf1;--line:#ddcbbb;--green:#325644;--serif:Georgia, "Times New Roman", serif;background:#2e1320;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 14% 5%,#613547 0,#0000 54%),radial-gradient(at 94% 93%,#482836 0,#0000 60%),#2e1320;min-width:0;margin:0}button,input{font:inherit}button:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #9a5936}button:disabled{cursor:default}.preview-shell{align-content:center;gap:13px;width:min(1120px,100% - 56px);min-height:100svh;margin-inline:auto;padding-block:22px 29px;display:grid}.preview-header{color:#f8e9d8;letter-spacing:.015em;justify-content:space-between;align-items:center;gap:10px;font-size:.75rem;display:flex}.preview-header img{filter:brightness(0)invert();width:126px;height:auto;display:block}.preview-header span span{color:#dbad76;margin-inline:4px}.invitation-book{background:var(--paper);border:1px solid #a57665;border-radius:20px 21px 21px 20px;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);min-height:clamp(495px,73svh,650px);display:grid;box-shadow:4px 4px 0 -1px #dfc7ae,8px 8px 0 -2px #b68e77,13px 13px 0 -4px #785347,0 23px 58px #1e0b14ad}.book-cover{isolation:isolate;color:#fff2da;background:linear-gradient(160deg,#230c13ad 2%,#2d0d1473 50%,#200e12ef 100%),#3d1820 url(/art/christmas-hero.webp) 50% 49%/cover;border-radius:19px 0 0 19px;flex-direction:column;justify-content:space-between;gap:35px;min-width:0;padding:clamp(28px,4.7vw,55px);display:flex;position:relative}.book-cover:before{content:"";z-index:-1;pointer-events:none;border:1px solid #e6ba7670;border-radius:12px 2px 2px 12px;position:absolute;inset:12px}.book-cover:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#1308107d);width:19px;position:absolute;inset:0 0 0 auto}.cover-kicker{color:#f2cd99;letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px;font-size:.7rem;font-weight:600}.book-cover h1{font:400 clamp(3rem, 6vw, 5.9rem)/.92 var(--serif);letter-spacing:-.075em;text-shadow:0 2px 22px #1705088a;margin:0}.book-cover h1 em{color:#f4cc96;margin-top:.06em;font-weight:400;display:block}.cover-details{border-top:1px solid #e7b77d88;align-self:flex-start;max-width:100%;padding-top:11px}.cover-details>time{font:400 clamp(1.12rem, 2.05vw, 1.55rem)/1.25 var(--serif)}.cover-details p{color:#f2d8ba;margin:5px 0 0;font-size:.83rem}.cover-details p span{margin-inline:4px}.book-paper{background:linear-gradient(90deg, #61442c1c, transparent 24px), radial-gradient(ellipse at 94% 0%, #f5e6d2, transparent 57%), var(--paper);border-radius:0 20px 20px 0;grid-template-rows:auto 1fr auto;gap:16px;min-width:0;padding:clamp(24px,4.3vw,53px);display:grid}.book-progress{border-bottom:1px solid var(--line);color:var(--wine);letter-spacing:.16em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding-bottom:13px;font-size:.71rem;font-weight:650;display:flex}.book-progress ol{gap:5px;margin:0;padding:0;list-style:none;display:flex}.book-progress li{background:#e1cbb6;border-radius:9px;width:16px;height:3px}.book-progress li[data-reached=true]{background:#a66a63}.book-progress li[aria-current=step]{background:var(--wine);width:28px}.book-stage{perspective:1100px;align-items:center;min-width:0;display:grid}.book-leaf{min-width:0}.book-leaf[data-direction=forward]{transform-origin:0;animation:.55s cubic-bezier(.22,.72,.28,1) both turn-leaf}.book-leaf[data-direction=back]{transform-origin:100%;animation:.48s cubic-bezier(.22,.72,.28,1) both turn-leaf-back}@keyframes turn-leaf{0%{opacity:.2;filter:brightness(.82);transform:rotateY(-71deg)translate(6px)}60%{opacity:1}to{filter:none;transform:none}}@keyframes turn-leaf-back{0%{opacity:.2;filter:brightness(.84);transform:rotateY(65deg)translate(-6px)}60%{opacity:1}to{filter:none;transform:none}}.book-leaf h2{color:var(--ink);font:400 clamp(2.1rem, 4.35vw, 4.05rem)/1.02 var(--serif);letter-spacing:-.054em;text-wrap:balance;margin:0 0 20px}.book-leaf h2:focus{outline:none}.book-choices{border:0;gap:9px;min-width:0;margin:0;padding:0;display:grid}.book-choice{min-height:55px;color:var(--ink);cursor:pointer;background:#fffdf6;border:1px solid #d5baaa;border-radius:9px;align-items:center;gap:12px;padding:10px 14px;transition:background .18s,border-color .18s,box-shadow .18s;display:flex}.book-choice:hover{border-color:#a57266}.book-choice:has(input:checked){background:#edf2e8;border-color:#668875;box-shadow:inset 0 0 0 1px #668875}.book-choice:has(input:focus-visible){outline-offset:3px;outline:2px solid #9a5936}.book-choice input{width:18px;height:18px;accent-color:var(--green);flex:none;margin:0}.book-choice input:focus-visible{outline:none}.book-choice-copy{gap:3px;font-size:.98rem;font-weight:620;display:grid}.book-choice-copy small{color:var(--muted);font-size:.8rem;font-weight:400;line-height:1.35}.page-note{color:var(--muted);margin:0 0 12px;font-size:.86rem;line-height:1.5}.availability{margin:11px 0 0}.age-choices{grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:9px;display:grid}.age-choice{border:1px solid var(--line);background:#fffdf6;border-radius:8px;padding:10px 12px}.age-choice>span{font-size:.84rem}.age-stepper{text-align:center;grid-template-columns:38px 1fr 38px;align-items:center;margin-top:7px;display:grid}.age-stepper button,.selected-colleagues button,.colleague-matches button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff9ec;border-radius:6px}.age-stepper button{min-height:38px;font-size:1.2rem}.age-stepper button:disabled,.colleague-matches button:disabled{opacity:.5;cursor:default}.colleague-search{gap:6px;font-size:.84rem;display:grid}.colleague-search>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.colleague-search small{color:var(--green)}.colleague-search input{width:100%;min-height:42px;color:var(--ink);background:#fffdf6;border:1px solid #cbb3a4;border-radius:7px;padding:8px 10px}.selected-colleagues,.colleague-matches{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.selected-colleagues button,.colleague-matches button{min-height:36px;padding:6px 9px;font-size:.78rem}.selected-colleagues button{background:#e9f0e4;border-color:#9cb09e}.selected-colleagues button span,.colleague-matches button span{color:var(--green);margin-left:3px}.sharing-page>.page-note:last-child{margin:8px 0 0}.book-review{margin:0;font-size:.88rem}.book-review>div{border-top:1px solid var(--line);grid-template-columns:7.4rem minmax(0,1fr);gap:5px 8px;padding:8px 0;display:grid}.book-review dt,.book-review small{color:var(--muted)}.book-review dd{overflow-wrap:anywhere;margin:0}.book-review small{margin-top:3px;line-height:1.4;display:block}.book-navigation{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:9px;padding-top:13px;display:flex}.book-navigation button{cursor:pointer;border-radius:7px;min-height:43px}.book-next{border:1px solid var(--wine);color:#fff5e5;background:var(--wine);justify-content:space-between;align-items:center;gap:17px;min-width:111px;margin-left:auto;padding:8px 14px;font-size:.85rem;font-weight:650;display:inline-flex;box-shadow:0 4px 10px #511a3430}.book-next:not(:disabled):hover{background:#48162b}.book-next:disabled{color:#795d5a;box-shadow:none;cursor:default;background:#efe1d3;border-color:#dcc7b7}.book-next span{font-size:1.05rem}.book-back{color:var(--wine);background:0 0;border:1px solid #0000;padding:7px 10px;font-size:.83rem}.book-back:hover{border-color:var(--line)}.book-back span{margin-right:3px}@media (width<=740px){.preview-shell{gap:8px;width:min(540px,100% - 28px);padding-block:12px 20px}.preview-header{font-size:.68rem}.preview-header img{width:106px}.invitation-book{border-radius:14px;grid-template-columns:1fr;min-height:0}.book-cover{background-position:50%,50% 40%;border-radius:13px 13px 0 0;gap:10px;padding:20px 21px 16px}.book-cover:before{border-radius:8px 8px 1px 1px;inset:6px}.book-cover:after{display:none}.cover-kicker{margin-bottom:5px;font-size:.61rem}.book-cover h1{font-size:clamp(2.12rem,7vw,3.65rem)}.book-cover h1 em{display:inline}.cover-details{padding-top:5px}.cover-details>time{font-size:1rem}.cover-details p{margin-top:2px;font-size:.72rem}.book-paper{border-radius:0 0 13px 13px;gap:13px;min-height:clamp(345px,100svh - 210px,505px);padding:20px}.book-progress{padding-bottom:9px}.book-leaf h2{margin-bottom:14px;font-size:clamp(2rem,8vw,3.15rem)}.book-review>div{grid-template-columns:6.3rem minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.book-leaf[data-direction]{animation:none}.book-choice{transition:none}}
