*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{--ivory: #f6f1e6;--paper: #fcfaf4;--ink: #1e2a38;--ink-soft: #5f6b78;--sage: #93ac97;--sage-deep: #63806c;--gold: #c0a059;--line: rgba(30, 42, 56, .12);--wash: rgba(147, 172, 151, .14);--shadow: 0 1px 2px rgba(30, 42, 56, .04), 0 10px 24px -16px rgba(30, 42, 56, .35);--shadow-lift: 0 2px 4px rgba(30, 42, 56, .05), 0 18px 32px -20px rgba(30, 42, 56, .45);--serif: ui-serif, Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;--sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--radius: 14px;--gap: 1.15rem;--nav-height: 4.25rem;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--ivory: #15181b;--paper: #1d2126;--ink: #ece5d8;--ink-soft: #9aa3ab;--sage: #8ca592;--sage-deep: #a8c1ac;--gold: #d3b471;--line: rgba(236, 229, 216, .14);--wash: rgba(140, 165, 146, .16);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 24px -16px rgba(0, 0, 0, .8);--shadow-lift: 0 2px 6px rgba(0, 0, 0, .35), 0 18px 32px -20px rgba(0, 0, 0, .9)}}body{min-height:100dvh;background-color:var(--ivory);background-image:radial-gradient(circle at 12% 8%,rgba(255,255,255,.5),transparent 55%),radial-gradient(circle at 88% 92%,var(--wash),transparent 60%);background-attachment:fixed;color:var(--ink);font-family:var(--sans);font-size:16px;letter-spacing:.005em}h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}.shell{display:flex;min-height:100dvh;flex-direction:column}.shell__paper{flex:1}.page{display:flex;max-width:42rem;flex-direction:column;gap:var(--gap);margin-inline:auto;padding:2.25rem 1.15rem calc(var(--nav-height) + 2.5rem + env(safe-area-inset-bottom))}.wordmark{font-family:var(--serif);font-size:.7rem;letter-spacing:.36em;text-align:center;text-transform:uppercase;color:var(--sage-deep)}.page-head{display:flex;flex-direction:column;gap:.3rem;padding-block:.5rem .25rem}.page-head__eyebrow{font-size:.68rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sage-deep)}.page-head h1{font-size:clamp(1.8rem,7vw,2.35rem);line-height:1.15}.page-head__blurb{color:var(--ink-soft);font-size:.95rem;max-width:34ch}.overview__head{display:flex;flex-direction:column;gap:.45rem;padding-block:.75rem .25rem;text-align:center}.overview__names{font-size:clamp(2rem,9vw,2.9rem);line-height:1.15}.overview__date,.overview__venue{color:var(--ink-soft);font-size:.95rem}.overview__venue{font-style:italic}.countdown{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);padding:1.6rem 1rem 1.4rem;text-align:center}.countdown__number{font-family:var(--serif);font-size:clamp(3.4rem,19vw,4.75rem);line-height:.95;letter-spacing:-.03em}.countdown__label{margin-top:.55rem;font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft)}.panel{display:flex;flex-direction:column;gap:.7rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);padding:1.15rem}.panel__title{font-size:1.15rem}.panel__note{color:var(--ink-soft);font-size:.85rem}.progress{display:flex;flex-direction:column;gap:.4rem}.progress__track{height:.4rem;overflow:hidden;border-radius:99px;background:var(--wash)}.progress__fill{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--sage),var(--sage-deep));transition:width .62s cubic-bezier(.32,.72,.3,1)}.progress__track[aria-valuenow="100"] .progress__fill{background:linear-gradient(90deg,var(--gold),color-mix(in srgb,var(--gold) 60%,#fff))}.progress__count{display:flex;justify-content:space-between;font-size:.76rem;letter-spacing:.06em;color:var(--ink-soft)}.progress__percent{color:var(--sage-deep)}.card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);transition:transform .24s ease,box-shadow .24s ease}@media(hover:hover)and (pointer:fine){.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}}.card__head{display:flex;align-items:center;gap:.15rem}.card__lead{padding-inline-start:.95rem}.card__toggle{display:flex;flex:1;align-items:center;gap:.75rem;border:0;background:none;padding:1rem .95rem;color:inherit;cursor:pointer;text-align:start}.card__titles{display:flex;min-width:0;flex-direction:column;gap:.15rem}.card__title{font-family:var(--serif);font-size:1.08rem;line-height:1.25}.card__subtitle{overflow:hidden;color:var(--ink-soft);font-size:.8rem;text-overflow:ellipsis;white-space:nowrap}.card__meta{margin-inline-start:auto;flex:none;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sage-deep)}.card__chevron{width:.45rem;height:.45rem;flex:none;border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);transform:rotate(45deg) translate(-2px,-2px);transition:transform .26s ease}.card.is-open .card__chevron{transform:rotate(-135deg)}.card__panel{border-top:1px solid var(--line)}.card__panel-inner{display:flex;flex-direction:column;gap:.9rem;padding:1rem .95rem 1.15rem;animation:unfold .28s cubic-bezier(.32,.72,.3,1) both}@keyframes unfold{0%{opacity:0;transform:translateY(-7px)}}.rows{display:flex;flex-direction:column;list-style:none;padding:0}.row{display:flex;align-items:center;gap:.5rem;border-bottom:1px dashed var(--line);padding-block:.5rem}.row:last-child{border-bottom:0}.row .check{flex:1}.row__remove{flex:none;border:0;border-radius:8px;background:none;padding:.2rem .45rem;color:var(--ink-soft);cursor:pointer;font-size:1.05rem;line-height:1;opacity:.45;transition:opacity .18s ease}.row__remove:hover,.row__remove:focus-visible{opacity:1}.check{display:flex;align-items:center;gap:.65rem;cursor:pointer;transition:transform .26s cubic-bezier(.32,.72,.3,1),opacity .26s ease}.check input{position:absolute;width:1px;height:1px;opacity:0}.check__box{position:relative;width:1.15rem;height:1.15rem;flex:none;border:1.5px solid var(--sage);border-radius:6px;transition:background-color .22s ease,border-color .22s ease}.check__box:after{content:"";position:absolute;top:.13rem;left:.36rem;width:.3rem;height:.58rem;border:solid var(--paper);border-width:0 1.8px 1.8px 0;transform:rotate(45deg) scale(.4);opacity:0;transition:transform .2s cubic-bezier(.32,.72,.3,1),opacity .16s ease}.check.is-done .check__box,.check.is-settling .check__box{border-color:var(--sage-deep);background-color:var(--sage-deep)}.check.is-done .check__box:after,.check.is-settling .check__box:after{opacity:1;transform:rotate(45deg) scale(1)}.check.is-settling{transform:translate(12px);opacity:.35}.check.is-done .check__label{color:var(--ink-soft);text-decoration:line-through;text-decoration-color:var(--sage)}.check__label{font-size:.96rem;line-height:1.35}.check__meta{margin-inline-start:auto;color:var(--ink-soft);font-size:.78rem}.check input:focus-visible+.check__box{outline:2px solid var(--gold);outline-offset:2px}.field{display:flex;flex-direction:column;gap:.35rem}.field label{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.field__control{position:relative;display:flex;align-items:center}.field__prefix{position:absolute;left:.7rem;color:var(--ink-soft)}.field--prefixed input{padding-inline-start:1.65rem}input,textarea{width:100%;border:1px solid var(--line);border-radius:10px;background-color:color-mix(in srgb,var(--ivory) 55%,var(--paper));padding:.6rem .7rem;color:inherit;font-family:var(--sans);font-size:1rem}textarea{resize:vertical;line-height:1.5}input:focus-visible,textarea:focus-visible{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 24%,transparent)}.button{border:1px solid var(--line);border-radius:99px;background:var(--paper);padding:.55rem 1.15rem;color:inherit;cursor:pointer;font-size:.9rem;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}@media(hover:hover)and (pointer:fine){.button:hover{transform:translateY(-1px);box-shadow:var(--shadow)}}.button--gold{border-color:var(--gold);background:var(--gold);color:#21252b;letter-spacing:.02em}.button--quiet{align-self:start;border-color:transparent;background:none;padding-inline:0;color:var(--ink-soft);font-size:.78rem;text-decoration:underline dotted}.inline-add{display:flex;gap:.5rem}.inline-add input{flex:1}.segmented{display:flex;gap:.25rem;border-radius:99px;background:var(--wash);padding:.25rem}.segmented__option{flex:1;border:0;border-radius:99px;background:none;padding:.45rem .3rem;color:var(--ink-soft);cursor:pointer;font-size:.85rem;transition:background-color .2s ease,color .2s ease}.segmented__option.is-on{background:var(--paper);box-shadow:var(--shadow);color:var(--ink)}.tally{display:flex;justify-content:space-around;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);padding:1.1rem 1rem;text-align:center}.tally__number{display:block;font-family:var(--serif);font-size:1.75rem;line-height:1.1}.tally__label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft)}.section-list{display:flex;flex-direction:column;gap:.6rem}.section-list__title{font-size:.7rem;font-family:var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sage-deep)}.section-list ul{display:flex;flex-direction:column;gap:.6rem;list-style:none;padding:0}.section-link{display:grid;grid-template-columns:1fr auto;gap:.55rem .75rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow);padding:1rem;color:inherit;text-decoration:none;transition:transform .24s ease,box-shadow .24s ease}.section-link .progress{grid-column:1 / -1}@media(hover:hover)and (pointer:fine){.section-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-lift)}}.section-link__title{display:block;font-family:var(--serif);font-size:1.08rem}.section-link__blurb{color:var(--ink-soft);font-size:.82rem}.section-link__count{align-self:center;color:var(--sage-deep);font-size:.8rem;letter-spacing:.06em}.tabs{position:fixed;inset-inline:0;bottom:0;z-index:10;border-top:1px solid var(--line);background:color-mix(in srgb,var(--ivory) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.3rem .5rem calc(.3rem + env(safe-area-inset-bottom))}.tabs ul{display:flex;gap:.2rem;max-width:42rem;margin-inline:auto;list-style:none;padding:0}.tab{display:block;flex:1;border:1px solid transparent;border-radius:10px 10px 3px 3px;padding:.6rem .15rem;color:var(--ink-soft);font-family:var(--serif);font-size:.76rem;letter-spacing:.03em;text-align:center;text-decoration:none;transition:background-color .2s ease,color .2s ease,transform .2s ease}.tab.is-active{border-color:var(--line);border-bottom-color:transparent;background:var(--paper);box-shadow:inset 0 2px 0 var(--gold);color:var(--ink)}@media(hover:hover)and (pointer:fine){.tab:hover{transform:translateY(-2px);color:var(--ink)}}.toast-slot{position:fixed;inset-inline:0;bottom:calc(var(--nav-height) + .75rem + env(safe-area-inset-bottom));z-index:20;display:flex;justify-content:center;pointer-events:none}.toast{display:flex;align-items:center;gap:.5rem;border:1px solid var(--line);border-radius:99px;background:var(--paper);box-shadow:var(--shadow-lift);padding:.5rem 1rem;color:var(--ink);font-size:.82rem;animation:toast-in .26s cubic-bezier(.32,.72,.3,1) both}.toast__mark{width:.45rem;height:.45rem;border-radius:99px;background:var(--sage-deep)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.confetti{position:fixed;inset:0;z-index:30;overflow:hidden;pointer-events:none}.confetti__word{position:absolute;top:24%;width:100%;color:var(--ink);font-family:var(--serif);font-size:clamp(1.35rem,6vw,1.8rem);text-align:center;animation:word-glow 3.4s ease both}.confetti__bit{position:absolute;top:-10vh;width:.45rem;height:.75rem;border-radius:2px;animation:fall 3.2s cubic-bezier(.3,.5,.4,1) forwards}.confetti__bit--sage{background:var(--sage)}.confetti__bit--gold{background:var(--gold)}.confetti__bit--ink{background:color-mix(in srgb,var(--ink) 55%,var(--ivory))}@keyframes fall{0%{opacity:0;transform:translateZ(0) rotate(0) scale(var(--scale))}12%{opacity:1}to{opacity:0;transform:translate3d(calc(var(--drift) * 11vw),112vh,0) rotate(520deg) scale(var(--scale))}}@keyframes word-glow{0%{opacity:0;transform:translateY(10px)}18%,75%{opacity:1;transform:translateY(0)}to{opacity:0}}.page--lost{align-items:center;justify-content:center;min-height:100dvh;text-align:center}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
