.book-shell{--book-ink:#1a1a1a;--book-paper:#fafafa;--book-muted:#5f5f5f;--book-red:#b3242a;--book-red-ink:#ffffff;--book-card:#ffffff;--book-display:"Fraunces",Georgia,"Times New Roman",serif;--book-sans:"Work Sans",ui-sans-serif,system-ui,sans-serif;font-family:var(--book-sans);position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:clamp(1rem,5vw,4rem) 1rem;overflow-x:hidden;isolation:isolate;background:var(--book-paper);color:var(--book-ink)}.book-blob{display:none}.book-main{width:100%;max-width:34rem}.glass-card{position:relative;border-radius:4px;padding:clamp(1.5rem,4vw,2.75rem);background:var(--book-card);border:1px solid color-mix(in srgb,var(--book-ink) 10%,transparent);box-shadow:0 1px 2px rgb(0 0 0/.04),0 12px 32px rgb(0 0 0/.06)}.glass-card:before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;border-radius:4px 4px 0 0;background:var(--book-red)}.book-header{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.5rem}.book-header h1{font-family:var(--book-display);font-size:clamp(1.6rem,4vw,2rem);font-weight:300;line-height:1.15;letter-spacing:0;color:var(--book-ink)}.book-header p{font-size:.9rem;color:var(--book-muted)}.book-header img{height:2.5rem;width:auto}.glass-progress{display:flex;gap:.4rem;margin-bottom:.35rem}.glass-progress span{height:4px;flex:1;border-radius:999px;background:color-mix(in oklch,var(--book-ink) 15%,var(--book-paper));transition:background .3s ease}.glass-progress span.is-on{background:var(--book-red)}.glass-step-label{font-size:.6875rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--book-muted);margin-bottom:1rem}.glass-form{gap:1.1rem}.glass-form,.glass-row{display:flex;flex-direction:column}.glass-row{gap:.4rem}.glass-row>label{font-size:.85rem;font-weight:500;color:var(--book-ink)}.glass-help{font-size:.75rem;color:var(--book-muted)}.glass-field{width:100%;border-radius:10px;padding:.7rem .9rem;font-size:.92rem;color:var(--book-ink);background:var(--book-paper);border:1.5px solid var(--book-ink);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.glass-field::placeholder{color:var(--book-muted)}.glass-field:focus{border-color:var(--book-red);box-shadow:0 0 0 3px color-mix(in oklch,var(--book-red) 25%,transparent)}select.glass-field{height:2.7rem;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--book-ink) 50%),linear-gradient(135deg,var(--book-ink) 50%,transparent 50%);background-position:calc(100% - 20px) 1.15rem,calc(100% - 14px) 1.15rem;background-size:6px 6px,6px 6px;background-repeat:no-repeat}textarea.glass-field{resize:vertical;min-height:6rem}.glass-field[aria-invalid=true]{border-color:var(--book-red);box-shadow:0 0 0 3px color-mix(in oklch,var(--book-red) 25%,transparent)}.glass-error{font-size:.8rem;font-weight:600;color:var(--book-red)}.glass-consent{display:flex;align-items:flex-start;gap:.6rem;font-size:.85rem;color:var(--book-ink)}.glass-consent input{margin-top:.15rem;width:1rem;height:1rem;accent-color:var(--book-red)}.glass-actions{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.glass-btn{appearance:none;border:none;cursor:pointer;height:2.9rem;padding:0 1.5rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--book-red-ink);background:var(--book-red);transition:background-color .18s ease,opacity .18s ease}.glass-btn:hover{background:color-mix(in srgb,var(--book-red) 86%,var(--book-ink))}.glass-btn:disabled{opacity:.45;cursor:default}.glass-btn-ghost{background:transparent;color:var(--book-ink);border:1px solid color-mix(in srgb,var(--book-ink) 55%,transparent)}.glass-btn-ghost:hover{background:var(--book-ink);color:var(--book-red-ink)}.glass-spacer{flex:1}@media (prefers-reduced-motion:no-preference){.glass-reveal{animation:glass-reveal .16s ease both}}@keyframes glass-reveal{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.glass-done{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;padding:1.5rem .5rem}.glass-done-mark{width:3rem;height:3rem;border-radius:50%;display:grid;place-items:center;color:var(--book-red-ink);font-size:1.4rem;background:var(--book-red);border:1.5px solid var(--book-ink)}.glass-cal{border-radius:14px;padding:.9rem;background:var(--book-paper);border:1.5px solid var(--book-ink)}.glass-cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.glass-cal-title{font-weight:700;font-size:.95rem;color:var(--book-ink)}.glass-cal-nav{width:2rem;height:2rem;border-radius:8px;border:1.5px solid var(--book-ink);background:var(--book-paper);cursor:pointer;font-size:1rem;color:var(--book-ink);transition:background .12s ease,color .12s ease}.glass-cal-nav:hover{background:var(--book-red);color:var(--book-red-ink);border-color:var(--book-red)}.glass-cal-grid,.glass-cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.glass-cal-weekdays{margin-bottom:4px;font-size:.7rem;font-weight:700;color:var(--book-muted);text-align:center}.glass-cal-day{aspect-ratio:1;border:none;border-radius:8px;background:transparent;color:var(--book-ink);font-size:.85rem;cursor:pointer;transition:background .12s ease,color .12s ease,transform .12s ease}.glass-cal-day:hover:not(:disabled){background:color-mix(in oklch,var(--book-red) 14%,var(--book-paper))}.glass-cal-day:focus-visible{outline:2px solid var(--book-red);outline-offset:1px}.glass-cal-day.is-outside{color:var(--book-muted);opacity:.6}.glass-cal-day.is-today{box-shadow:inset 0 0 0 1.5px var(--book-red)}.glass-cal-day.is-selected{background:var(--book-red);color:var(--book-red-ink);transform:scale(1.04)}.glass-cal-day:disabled{color:var(--book-muted);opacity:.35;cursor:default}.glass-cal-foot{display:flex;justify-content:space-between;margin-top:.6rem}.glass-cal-link{border:none;background:none;cursor:pointer;font-size:.8rem;font-weight:700;color:var(--book-red)}.glass-cal-link:disabled{color:var(--book-muted);opacity:.5;cursor:default}.glass-options{gap:.6rem}.glass-option,.glass-options{display:flex;flex-direction:column}.glass-option{gap:.3rem;width:100%;text-align:left;border-radius:12px;padding:.85rem 1rem;font:inherit;color:var(--book-ink);background:var(--book-paper);border:1.5px solid var(--book-ink);cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.glass-option:hover{background:color-mix(in oklch,var(--book-ink) 5%,var(--book-paper))}.glass-option:focus-visible,.glass-option:has(input:focus-visible){outline:none;border-color:var(--book-red);box-shadow:0 0 0 3px color-mix(in oklch,var(--book-red) 25%,transparent)}.glass-option.is-selected{border-color:var(--book-red);background:color-mix(in oklch,var(--book-red) 8%,var(--book-paper));box-shadow:inset 0 0 0 1.5px var(--book-red)}.glass-option-title{display:flex;justify-content:space-between;gap:1rem;font-size:.92rem;font-weight:700}.glass-check{flex-direction:row;align-items:center;gap:.75rem}.glass-check input{width:1rem;height:1rem;accent-color:var(--book-red);flex:none}.glass-check .glass-option-title{flex:1}.glass-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.5rem,1fr));gap:.5rem}.glass-slot{height:2.6rem;border-radius:10px;font:inherit;font-size:.88rem;font-weight:700;color:var(--book-ink);background:var(--book-paper);border:1.5px solid var(--book-ink);cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.glass-slot:hover{background:color-mix(in oklch,var(--book-red) 12%,var(--book-paper))}.glass-slot:focus-visible{outline:2px solid var(--book-red);outline-offset:1px}.glass-slot.is-selected{background:var(--book-red);border-color:var(--book-red);color:var(--book-red-ink)}.glass-summary{width:100%;border-collapse:collapse;font-size:.9rem}.glass-summary td,.glass-summary th{padding:.45rem 0;border-bottom:1.5px solid var(--book-ink)}.glass-summary th{text-align:left;font-weight:600;color:var(--book-ink)}.glass-summary td{text-align:right;font-variant-numeric:tabular-nums}.glass-summary tr.is-total td,.glass-summary tr.is-total th{font-weight:800;color:var(--book-ink)}@media (prefers-color-scheme:dark){.book-shell{--book-ink:#f2f2f3;--book-paper:#0c0c0d;--book-muted:#b9bac0;--book-red:#b3242a;--book-red-ink:#ffffff;--book-card:#151517}}.glass-done .glass-btn{display:inline-flex;margin-block:1rem;text-decoration:none}.glass-receipt-reference{overflow-wrap:anywhere;font-size:.8rem}.book-shell--embed{min-height:0;padding:.25rem 0 2.5rem;background:transparent}.book-shell--embed .book-main{max-width:none}.book-shell--embed .glass-card{padding:clamp(1.75rem,4vw,3.5rem) clamp(1.5rem,5vw,4rem);box-shadow:0 1px 2px rgb(0 0 0/.04),0 22px 40px -26px rgb(0 0 0/.28)}.glass-card{container-type:inline-size}@container (min-width: 44rem){.book-header{margin-bottom:2rem}.book-header h1{font-size:clamp(2rem,4.5cqi,2.9rem)}.book-header p{font-size:1rem}.glass-reveal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.75rem;row-gap:1.35rem;align-items:start}.glass-row>label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.glass-field{padding:.95rem 1.1rem;font-size:1rem;border-width:1px;border-radius:6px}.glass-btn{height:3.2rem;padding:0 2.4rem}.glass-reveal>.glass-row--wide,.glass-reveal>.glass-row:first-child:nth-last-child(odd),.glass-reveal>:not(.glass-row){grid-column:1/-1}}.glass-row-label{font-size:.85rem;font-weight:500;color:var(--book-ink)}.glass-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr));gap:.7rem}.glass-tile{position:relative;display:flex;align-items:center;gap:.75rem;min-height:3.6rem;padding:.9rem 1.1rem;border:1px solid color-mix(in srgb,var(--book-ink) 40%,transparent);border-radius:8px;background:var(--book-paper);color:var(--book-ink);font-size:1rem;line-height:1.3;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.glass-tile input{width:1.1rem;height:1.1rem;flex:none;accent-color:var(--book-red)}.glass-tile:hover{border-color:var(--book-red);transform:translateY(-2px);box-shadow:0 10px 18px -14px rgb(0 0 0/.45)}.glass-tile:has(input:focus-visible){border-color:var(--book-red);box-shadow:0 0 0 3px color-mix(in oklch,var(--book-red) 25%,transparent)}.glass-tile.is-selected{background:color-mix(in oklch,var(--book-red) 8%,var(--book-paper));box-shadow:inset 0 0 0 1px var(--book-red);font-weight:600}.glass-tile.is-selected,.glass-tiles[aria-invalid=true] .glass-tile{border-color:var(--book-red)}.book-shell--embed .glass-field{font-size:1rem}.book-shell--embed select.glass-field{height:auto;background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%}@container (min-width: 44rem){.book-shell--embed .book-header h1{font-size:clamp(2.4rem,5.5cqi,3.6rem)}.book-shell--embed .book-header p{font-size:1.15rem}.book-shell--embed .glass-progress span{height:5px}.book-shell--embed .glass-step-label{font-size:.78rem;margin-bottom:1.4rem}.book-shell--embed .glass-row-label,.book-shell--embed .glass-row>label{font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600}.book-shell--embed .glass-field{padding:1.15rem 1.3rem;font-size:1.12rem}.book-shell--embed .glass-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.book-shell--embed .glass-tile{min-height:4.4rem;padding:1.1rem 1.3rem;font-size:1.08rem}.book-shell--embed .glass-btn{height:3.9rem;padding:0 3.2rem;font-size:.88rem}.book-shell--embed .glass-actions{margin-top:1rem}}@media (prefers-reduced-motion:no-preference){.glass-card.is-armed:not(.is-inview){opacity:0;transform:translateY(36px)}.glass-card.is-armed{transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}.glass-card.is-armed:before{transform:scaleX(0);transform-origin:left;transition:transform 1.1s cubic-bezier(.6,0,.2,1) .35s}.glass-card.is-inview:before{transform:scaleX(1)}.glass-card.is-inview .book-header h1{animation:glass-rise .8s cubic-bezier(.2,.8,.2,1) .25s both}.glass-card.is-inview .book-header p{animation:glass-rise .8s cubic-bezier(.2,.8,.2,1) .4s both}.glass-btn.is-nudging{animation:glass-nudge 2.6s ease-in-out 1.4s infinite}}@keyframes glass-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes glass-nudge{0%,60%,to{transform:none;box-shadow:0 0 0 0 color-mix(in oklch,var(--book-red) 45%,transparent)}12%{transform:scale(1.06)}24%{transform:none}40%{box-shadow:0 0 0 14px color-mix(in oklch,var(--book-red) 0%,transparent)}}@media (prefers-reduced-motion:no-preference){.glass-tile{animation:glass-rise .5s cubic-bezier(.2,.8,.2,1) both}.glass-tile:nth-child(2){animation-delay:.05s}.glass-tile:nth-child(3){animation-delay:.1s}.glass-tile:nth-child(4){animation-delay:.15s}.glass-tile:nth-child(5){animation-delay:.2s}.glass-tile:nth-child(6){animation-delay:.25s}.glass-tile:nth-child(7){animation-delay:.3s}.glass-tile:nth-child(n+8){animation-delay:.35s}.glass-tile.is-selected{animation:glass-pop .28s ease}}@keyframes glass-pop{50%{transform:scale(1.03)}}body:has(.book-shell--embed),html:has(.book-shell--embed){background:transparent}.glass-cal{max-width:24rem;padding:1rem 1.1rem;border-width:1px;border-radius:10px}.glass-cal-title{display:flex;gap:.4rem;font-size:1rem}.glass-cal-select{appearance:none;border:1px solid transparent;border-radius:6px;padding:.3rem .5rem;background:transparent;font:inherit;font-weight:700;color:var(--book-ink);cursor:pointer}.glass-cal-select:focus-visible,.glass-cal-select:hover{border-color:var(--book-red);outline:none;background:color-mix(in oklch,var(--book-red) 8%,var(--book-paper))}.glass-cal-nav:disabled{opacity:.3;cursor:default;background:var(--book-paper);color:var(--book-ink);border-color:var(--book-ink)}.glass-cal-weekdays{font-size:.75rem;letter-spacing:.04em}.glass-cal-weekdays span{padding:.2rem 0}.glass-cal-day{aspect-ratio:auto;height:2.5rem;font-size:.95rem;font-weight:500;border-radius:50%;width:2.5rem;justify-self:center}.glass-cal-day.is-selected{font-weight:700}.glass-cal-link{font-size:.85rem}.glass-consent{align-items:center;gap:.85rem;padding:1rem 1.2rem;border:1.5px solid var(--book-ink);border-radius:8px;font-size:1.05rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease}.glass-consent input{margin-top:0;width:1.5rem;height:1.5rem;flex:none;cursor:pointer}.glass-consent:has(input:checked){border-color:var(--book-red);background:color-mix(in oklch,var(--book-red) 7%,var(--book-paper))}.glass-consent.is-missing{border-color:var(--book-red);box-shadow:0 0 0 3px color-mix(in oklch,var(--book-red) 25%,transparent)}@media (prefers-reduced-motion:no-preference){.glass-consent.is-missing{animation:glass-shake .4s ease}}@keyframes glass-shake{20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}