.frl{--frl-night: #152a3a;--frl-deep: #0d2026;--frl-teal: #3b6e70;--frl-teal-hi: #7fb5ad;--frl-mist: #e9efe9;--frl-peach: #f6b98b;--frl-gold: #f2c46b;--frl-gold-hi: #ffe2a6;--frl-olive: #56662a;--frl-olive-deep: #36421a;--frl-lure: #e2582c;--frl-lure-deep: #b23f18;--frl-cream: #fbf3e4;--frl-cream-dim: rgba(251, 243, 228, .8);--frl-cream-faint: rgba(251, 243, 228, .5);--frl-paper: #efe9d8;--frl-paper-2: #e0d5b8;--frl-ink: #132a2e;--frl-dim: #4f6563;--frl-line: rgba(19, 42, 46, .16);--frl-display: "Bowlby One", "Arial Black", Impact, sans-serif;--frl-body: "Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--frl-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--frl-safe-t: env(safe-area-inset-top, 0px);--frl-safe-r: env(safe-area-inset-right, 0px);--frl-safe-b: env(safe-area-inset-bottom, 0px);--frl-safe-l: env(safe-area-inset-left, 0px);margin:0;min-height:100vh;background:var(--frl-paper);color:var(--frl-ink);font:400 16px/1.55 var(--frl-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}.frl *,.frl *:before,.frl *:after{box-sizing:border-box}html.frl-locked,html.frl-locked body{overflow:hidden}.frl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.frl-stage{position:relative;overflow:hidden;isolation:isolate;color:var(--frl-cream);background:linear-gradient(#1e2a4a,#5d4b78 30%,#d08799 46%,#f6b98b 52%,#3b6e70 54%,#173a40 80%,var(--frl-deep));padding:0 max(16px,var(--frl-safe-r)) 48px max(16px,var(--frl-safe-l))}.frl-art{display:block}.frl-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:none;z-index:-1}.frl-scene{display:none}.frl-bar{grid-area:bar;position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:calc(var(--frl-safe-t) + 12px)}.frl-back{order:-1}.frl-back,.frl-skip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border-radius:999px;text-decoration:none;font:400 12px/1 var(--frl-mono);letter-spacing:.04em;color:var(--frl-cream);background:#0d202673;border:1px solid rgba(251,243,228,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.frl-back span{font-size:18px;line-height:0;margin-top:-2px}.frl-skip{border-color:#f2c46bbf}.frl-back:hover,.frl-skip:hover{border-color:var(--frl-gold);color:var(--frl-gold-hi)}.frl-head{grid-area:head;position:relative;z-index:2;padding-top:26px;text-align:center;text-shadow:0 2px 16px rgba(20,16,40,.55),0 1px 2px rgba(20,16,40,.45)}.frl-kicker{margin:0 0 6px;font:400 12px/1.3 var(--frl-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--frl-cream-dim)}.frl-title{margin:0;font:400 clamp(40px,12vw,84px)/1 var(--frl-display);letter-spacing:.01em;color:var(--frl-gold-hi);background:linear-gradient(180deg,#fff4d6 8%,var(--frl-gold) 55%,var(--frl-lure) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 rgba(30,28,60,.85)) drop-shadow(0 6px 18px rgba(255,170,90,.3));text-shadow:none}.frl-lede{margin:12px auto 0;max-width:32ch;font-size:clamp(16px,4.3vw,19px);color:var(--frl-cream-dim)}.frl-dock{grid-area:dock;position:relative;z-index:2}.frl-hint{margin:0 0 10px;min-height:2.6em;display:flex;align-items:flex-end;font:400 11.5px/1.35 var(--frl-mono);letter-spacing:.05em;text-transform:uppercase;color:var(--frl-cream-dim)}.frl-ledger{list-style:none;margin:0;padding:0}.frl-slot{position:relative;color:var(--frl-ink)}.frl-slot-num{font:600 11px/1 var(--frl-mono);letter-spacing:.06em}.frl-slot-body{display:grid;gap:2px;min-width:0}.frl-slot-label{font:400 10.5px/1.2 var(--frl-mono);letter-spacing:.14em;text-transform:uppercase;color:#132a2ea8}.frl-slot-from{color:var(--frl-lure-deep)}.frl-slot-value{font:400 clamp(17px,4.8vw,21px)/1.15 var(--frl-display);overflow-wrap:anywhere;color:var(--frl-olive-deep)}.frl-slot-note{font-size:14px;line-height:1.35;color:#132a2ecc}.frl-slot-wait{display:none}.frl-slot{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;background:radial-gradient(circle at 14px 50%,rgba(19,42,46,.55) 0 4px,transparent 4.5px),repeating-linear-gradient(0deg,rgba(90,70,30,.04) 0 2px,transparent 2px 6px),linear-gradient(170deg,#f6f1e2,var(--frl-paper-2));border-radius:14px 6px 6px 14px;box-shadow:inset 0 -3px #132a2e1a,0 10px 22px -14px #000000bf}.frl-slot-num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;margin-left:20px;background:var(--frl-olive);color:var(--frl-gold-hi);box-shadow:inset 0 0 0 3px #f2c46b4d}.frl-controls,.frl-hint{display:none}html:not(.frl-motion) .frl-stage{display:flex;flex-direction:column;text-align:center;padding-bottom:56px}html:not(.frl-motion) .frl-bar{order:0}html:not(.frl-motion) .frl-head{order:1;padding-top:30px}html:not(.frl-motion) .frl-art{order:2;width:calc(100% + 32px);max-width:640px;height:auto;aspect-ratio:400 / 520;margin:18px auto 0;align-self:center;-webkit-mask-image:linear-gradient(transparent,#000 10%,#000 82%,transparent);mask-image:linear-gradient(transparent,#000 10%,#000 82%,transparent)}html:not(.frl-motion) .frl-dock{order:3}html:not(.frl-motion) .frl-ledger{display:grid;gap:12px;width:min(100%,520px);margin:-40px auto 0}html:not(.frl-motion) .frl-slot{padding:14px 18px 15px 0;text-align:left}html:not(.frl-motion) .frl-slot:nth-child(odd){transform:rotate(-.6deg)}html:not(.frl-motion) .frl-slot:nth-child(2n){transform:rotate(.5deg)}html:not(.frl-motion) .frl-done{max-width:520px;margin:30px auto 0;padding:24px 20px 26px;border-radius:20px;background:var(--frl-deep);color:var(--frl-cream);text-shadow:none;box-shadow:0 20px 40px -24px #000c}.frl-done-title{margin:0 0 16px;font:400 clamp(24px,7vw,40px)/1.12 var(--frl-display);color:var(--frl-cream)}.frl-done-title span{color:var(--frl-gold)}.frl-motion .frl-stage{height:100vh;height:100svh;min-height:0;padding:0 max(16px,var(--frl-safe-r)) 0 max(16px,var(--frl-safe-l));display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"bar" "head" "scene" "dock";touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.frl-motion .frl-stage.is-done{touch-action:auto}.frl-motion .frl-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:-1}.frl-motion .frl-canvas{display:block;opacity:0;transition:opacity .6s ease}.frl-motion .frl-stage.is-live .frl-canvas{opacity:1}.frl-motion .frl-stage.is-live .frl-art{visibility:hidden}.frl-motion .frl-scene{display:block;grid-area:scene;min-height:0}.frl-motion .frl-head{padding-top:8px}.frl-motion .frl-kicker{font-size:11px;margin-bottom:2px}.frl-motion .frl-title{font-size:clamp(32px,9.5vw,70px)}.frl-motion .frl-lede{display:none}.frl-motion .frl-dock{margin:0 calc(-1*max(16px,var(--frl-safe-r))) 0 calc(-1*max(16px,var(--frl-safe-l)));padding:28px max(16px,var(--frl-safe-r)) calc(var(--frl-safe-b) + 14px) max(16px,var(--frl-safe-l));background:linear-gradient(#09181d00,#09181dd1 28px,#09181df2)}.frl-motion .frl-hint{display:flex}.frl-motion .frl-stage.is-resting .frl-hint,.frl-motion .frl-stage.is-warn .frl-hint{color:var(--frl-gold)}.frl-motion .frl-stage.is-run .frl-hint{color:#ff9a74}.frl-motion .frl-slot{padding:10px 14px 11px 0;min-height:72px}.frl-motion .frl-slot:not(.is-placed){background:#fbf3e40f;color:var(--frl-cream);box-shadow:inset 0 0 0 1.5px #fbf3e438}.frl-motion .frl-slot:not(.is-placed) .frl-slot-num{background:transparent;color:var(--frl-cream-faint);box-shadow:inset 0 0 0 1.5px #fbf3e447}.frl-motion .frl-slot:not(.is-placed) .frl-slot-label{color:var(--frl-cream-dim)}.frl-motion .frl-slot:not(.is-placed) .frl-slot-from{color:var(--frl-gold)}.frl-motion .frl-slot:not(.is-placed) .frl-slot-wait{display:block;font:400 11.5px/1.3 var(--frl-mono);letter-spacing:.03em;color:var(--frl-cream-faint)}.frl-motion .frl-slot:not(.is-placed) .frl-slot-value,.frl-motion .frl-slot:not(.is-placed) .frl-slot-note{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.frl-motion .frl-slot.is-fresh{animation:frl-splash .8s cubic-bezier(.2,.8,.2,1)}@keyframes frl-splash{0%{transform:translateY(12px) rotate(1.5deg) scale(.96);box-shadow:0 0 0 3px var(--frl-teal-hi),0 0 30px #7fb5ad99}60%{box-shadow:0 0 0 3px #7fb5ad73,0 0 18px #7fb5ad4d}to{transform:none}}.frl-motion .frl-controls{display:grid;gap:10px;margin-top:12px}.frl-gauges{display:flex;align-items:flex-end;gap:14px}.frl-gauge-wrap{flex:1;min-width:0;display:grid;gap:6px}.frl-gauge-label{font:400 10.5px/1 var(--frl-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--frl-cream-dim)}.frl-gauge{--t: .1;position:relative;height:12px;border-radius:999px;overflow:hidden;background:linear-gradient(90deg,#7fb5ad47 0,#7fb5ad47 62%,#f2c46b5c 62%,#f2c46b5c 80%,#e2582c8c 80%);box-shadow:inset 0 0 0 1px #fbf3e42e}.frl-gauge-fill{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(90deg,#a6e4cb,var(--frl-gold) 70%,var(--frl-lure));clip-path:inset(0 calc((1 - var(--t)) * 100%) 0 0 round 999px)}.frl-stage.is-red .frl-gauge{animation:frl-shake .12s linear infinite;box-shadow:inset 0 0 0 1px #ff8c64cc,0 0 14px #e2582c99}@keyframes frl-shake{0%,to{transform:translate(0)}50%{transform:translate(1.5px)}}.frl-dist{margin:0;flex:none;font:400 11px/1 var(--frl-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--frl-cream-dim);text-align:right}.frl-dist b{font:400 26px/1 var(--frl-display);color:var(--frl-gold-hi);letter-spacing:0}.frl-dist span{display:block;margin-top:4px}.frl-row{display:flex;align-items:center;gap:14px}.frl-pips{display:flex;gap:6px;flex:none}.frl-pip{width:10px;height:10px;border-radius:50%;box-shadow:inset 0 0 0 1.5px #fbf3e46b;transition:background .3s ease,box-shadow .3s ease}.frl-pip.is-on{background:radial-gradient(circle at 35% 35%,#ffe2a6,var(--frl-lure) 70%);box-shadow:0 0 8px #e2582cb3}.frl-reel{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 20px;border:0;border-radius:16px;background:linear-gradient(var(--frl-gold-hi),var(--frl-gold) 45%,#e9a046);color:#1d1a10;font:400 19px/1 var(--frl-display);letter-spacing:.02em;box-shadow:inset 0 -4px #783c0a66,0 10px 22px -12px #000c;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .12s ease,filter .2s ease}.frl-reel:hover{filter:brightness(1.05)}.frl-reel-icon{width:22px;height:22px;border-radius:50%;flex:none;background:radial-gradient(circle,#1d1a10 0 3px,transparent 3.5px),conic-gradient(from 0deg,#1d1a10 0 25%,transparent 25% 50%,#1d1a10 50% 75%,transparent 75%);box-shadow:inset 0 0 0 2.5px #1d1a10;opacity:.85}.frl-stage.is-reeling .frl-reel{transform:translateY(2px);box-shadow:inset 0 -2px #783c0a66,0 0 0 3px #ffe2a659}.frl-stage.is-reeling .frl-reel-icon{animation:frl-spin .45s linear infinite}.frl-stage.is-run .frl-reel{background:linear-gradient(#ffc2a6,#f08a5c 45%,var(--frl-lure))}.frl-stage.is-run .frl-reel-icon{animation:frl-spin .25s linear infinite reverse}@keyframes frl-spin{to{transform:rotate(360deg)}}.frl-motion .frl-stage:not(.is-done) .frl-done{display:none}.frl-motion .frl-stage.is-done .frl-controls,.frl-motion .frl-stage.is-done .frl-hint{display:none}.frl-motion .frl-done{animation:frl-rise .8s cubic-bezier(.2,.8,.2,1) both;text-align:center}.frl-motion .frl-done .frl-btn{width:100%;max-width:420px}@keyframes frl-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@media(max-width:899px),(max-height:819px){.frl-motion .frl-slot:not(.is-current){position:absolute;width:1px;height:1px;min-height:0;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.frl-motion .frl-stage.is-done .frl-ledger{display:none}}.frl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border:1.5px solid currentColor;border-radius:999px;background:transparent;color:inherit;font:650 15px/1 var(--frl-body);text-decoration:none;text-shadow:none;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.frl-btn-solid{background:var(--frl-teal);border-color:var(--frl-teal);color:var(--frl-cream)}.frl-btn-solid:hover{background:var(--frl-deep);border-color:var(--frl-deep)}.frl-stage .frl-btn-solid{background:linear-gradient(var(--frl-gold-hi),var(--frl-gold) 45%,#e9a046);border-color:transparent;color:#1d1a10}.frl-btn:disabled{opacity:.45;cursor:not-allowed}.frl a:focus-visible,.frl button:focus-visible{outline:3px solid var(--frl-gold);outline-offset:3px}.frl-details a:focus-visible,.frl-details button:focus-visible{outline-color:var(--frl-lure)}.frl-details{position:relative;outline:none;padding:64px max(20px,var(--frl-safe-r)) calc(var(--frl-safe-b) + 36px) max(20px,var(--frl-safe-l));background:radial-gradient(120% 60% at 85% 0%,rgba(246,185,139,.22),transparent 60%),repeating-linear-gradient(0deg,rgba(90,70,30,.03) 0 2px,transparent 2px 9px),var(--frl-paper)}.frl-motion .frl-details{padding-top:72px}.frl-wrap{max-width:880px;margin:0 auto}.frl-eyebrow{margin:0 0 10px;font:400 12px/1.3 var(--frl-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--frl-lure-deep)}.frl-dtitle{margin:0 0 14px;font:400 clamp(36px,10vw,72px)/1.04 var(--frl-display);color:var(--frl-teal)}.frl-dlede{margin:0;max-width:42ch;font-size:clamp(16px,4.3vw,19px);color:var(--frl-dim)}.frl-facts{margin:34px 0 0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--frl-line)}.frl-facts>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid var(--frl-line)}.frl-facts dt{font:400 11px/1.7 var(--frl-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--frl-dim)}.frl-facts dd{margin:0;display:grid;gap:3px}.frl-facts b{font:650 17px/1.25 var(--frl-body)}.frl-facts dd>span{font-size:14.5px;color:var(--frl-dim)}.frl-kit{margin-top:40px}.frl-kit-title{margin:0 0 10px;font:400 26px/1.1 var(--frl-display);color:var(--frl-teal)}.frl-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;column-gap:32px}.frl-list li{display:flex;align-items:center;gap:12px;padding:9px 0;border-bottom:1px dashed var(--frl-line);font-size:15.5px}.frl-list li:before{content:"";flex:none;width:11px;height:11px;border-radius:50%;background:linear-gradient(var(--frl-lure) 0 50%,#fff 50%);box-shadow:inset 0 0 0 1px #132a2e59}.frl-kit-note{margin:14px 0 0;font-size:14.5px;color:var(--frl-dim);max-width:52ch}.frl-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.frl-details .frl-btn{color:var(--frl-ink)}.frl-details .frl-btn:hover{border-color:var(--frl-lure);color:var(--frl-lure-deep)}.frl-rsvp{margin-top:54px;padding:30px 22px;border-radius:24px;background:radial-gradient(90% 70% at 100% 0%,rgba(246,185,139,.32),transparent 60%),radial-gradient(70% 60% at 0% 100%,rgba(127,181,173,.2),transparent 60%),linear-gradient(165deg,#1f4a50,var(--frl-deep));color:var(--frl-cream);box-shadow:inset 0 0 0 1px #f2c46b2e,0 30px 60px -32px #0d2026d9}.frl-rsvp .frl-eyebrow{color:var(--frl-gold)}.frl-rsvp-title{margin:0 0 8px;font:400 clamp(28px,8vw,44px)/1.1 var(--frl-display);color:var(--frl-gold-hi)}.frl-rsvp-note{margin:0 0 20px;color:var(--frl-cream-dim);font-size:15px;max-width:46ch}.frl-form label{display:block;margin-bottom:8px;font:400 11px/1 var(--frl-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--frl-gold)}.frl-form input{width:100%;padding:12px 2px;border:0;border-bottom:2px solid var(--frl-cream);border-radius:0;background:transparent;color:var(--frl-cream);font:500 20px/1.2 var(--frl-body)}.frl-form input::placeholder{color:#fbf3e473}.frl-form input:focus{outline:none;border-bottom-color:var(--frl-gold)}.frl-answers{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.frl-rsvp .frl-btn{color:var(--frl-cream);border-color:#fbf3e4b3}.frl-rsvp .frl-btn-solid{background:linear-gradient(var(--frl-gold-hi),var(--frl-gold) 45%,#e9a046);border-color:transparent;color:#1d1a10}.frl-rsvp .frl-btn:hover:not(:disabled){background:var(--frl-teal-hi);border-color:var(--frl-teal-hi);color:var(--frl-ink)}.frl-rsvp .frl-btn:focus-visible{outline-color:var(--frl-gold)}#status{min-height:1.5em;margin:16px 0 0;font-weight:600;color:var(--frl-cream)}.frl-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:44px;padding-top:20px;border-top:1px solid var(--frl-line)}.frl-foot a{color:var(--frl-dim);font:400 12.5px/1 var(--frl-mono);letter-spacing:.04em;text-decoration:none}.frl-foot a:hover{color:var(--frl-lure-deep)}@media(min-width:900px),(orientation:landscape)and (min-width:560px){.frl-motion .frl-stage{grid-template-columns:minmax(0,1fr) minmax(290px,400px);grid-template-rows:auto minmax(0,1fr) auto auto minmax(0,1fr);grid-template-areas:"bar bar" "scene ." "scene head" "scene dock" "scene .";column-gap:clamp(16px,4vw,64px);padding-right:max(16px,var(--frl-safe-r),4vw);padding-bottom:calc(var(--frl-safe-b) + 12px)}.frl-motion .frl-head{text-align:left;padding:0 0 18px}.frl-motion .frl-dock{margin:0;padding:16px;border-radius:22px;background:#09181db8;box-shadow:inset 0 0 0 1px #f2c46b24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.frl-motion .frl-hint{min-height:0}.frl-motion .frl-done{text-align:left;margin-top:14px}.frl-motion .frl-done-title{font-size:clamp(22px,2.2vw,28px);margin-bottom:12px}}@media(min-width:900px)and (min-height:820px){.frl-motion .frl-title{font-size:clamp(46px,4.4vw,66px)}.frl-motion .frl-lede{display:block;margin:12px 0 0;font-size:17px}.frl-motion .frl-ledger{display:grid;gap:7px}.frl-motion .frl-slot{min-height:58px;padding-top:8px;padding-bottom:9px}.frl-motion .frl-slot-value{font-size:16px}.frl-motion .frl-slot-note{font-size:13px}}@media(orientation:landscape)and (max-height:500px){.frl-motion .frl-kicker{display:none}.frl-motion .frl-title{font-size:28px}.frl-motion .frl-head{padding-bottom:8px}.frl-motion .frl-hint{display:none}.frl-motion .frl-slot{min-height:0}.frl-motion .frl-reel{min-height:46px}.frl-dist b{font-size:20px}}@media(min-width:900px){.frl-facts{grid-template-columns:1fr 1fr;column-gap:40px}.frl-list{grid-template-columns:1fr 1fr}.frl-rsvp{padding:42px 46px}.frl-details{padding-top:96px}}
