@property --ab-ang{syntax:"<angle>";inherits:false;initial-value:0deg}.ab{--cream:#fffdf8;--marble:#fbf7ee;--ink:#171217;--plum:#2a1748;--violet:#6f43d6;--pink:#b23a8e;--gold:#d4af37;--gold-deep:#9a6b12;--gold-soft:#fff2b8;--line:#e6d8a8;--muted:#5d5170;--side:270px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.ab *{box-sizing:border-box}.ab{background:var(--cream);color:var(--ink);font:16px/1.45 var(--font-montserrat),Montserrat,system-ui,sans-serif;flex-direction:column;height:100dvh;margin:0;display:flex;position:relative;overflow:hidden}.ab h1,.ab h2,.ab h3,.ab h4{font-family:var(--font-cinzel),Cinzel,Georgia,serif;letter-spacing:.04em;margin:0}.ab button{font:inherit;color:inherit;cursor:pointer}.ab a{color:inherit}.ab .bar{border-bottom:1px solid var(--gold);background:#fffdf8f7;flex:none;align-items:center;gap:10px;padding:6px 16px;display:flex}.ab .bar .ttl{font:700 15px var(--font-cinzel),Cinzel,serif;letter-spacing:.12em;text-transform:uppercase;color:var(--plum);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ab .menu-btn{border:1px solid var(--gold);width:44px;height:44px;color:var(--plum);background:#fff;border-radius:14px;flex:none;font-size:22px}.ab .layout{flex:1;min-height:0;display:block;position:relative}.ab .side{background:var(--cream);z-index:60;width:min(86vw,320px);padding:calc(16px + env(safe-area-inset-top,0px)) 14px calc(18px + env(safe-area-inset-bottom,0px));border-right:1px solid var(--gold);flex-direction:column;gap:6px;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-102%)}.ab .side.open{transform:none}.ab .scrim{z-index:55;opacity:0;pointer-events:none;background:#17121773;transition:opacity .2s;position:fixed;inset:0}.ab .scrim.open{opacity:1;pointer-events:auto}.ab .side h3{color:var(--gold-deep);text-transform:uppercase;padding:6px 8px;font-size:13px}.ab .side a,.ab .side summary{min-height:44px;color:var(--plum);cursor:pointer;border:1px solid #0000;border-radius:12px;align-items:center;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none;list-style:none;display:flex}.ab .side summary::-webkit-details-marker{display:none}.ab .side summary:after{content:"+";color:var(--gold-deep);margin-left:auto;font-weight:700}.ab .side details[open]>summary:after{content:"−"}.ab .side a:hover,.ab .side summary:hover,.ab .side a.on{border-color:var(--gold);background:linear-gradient(#fff7d6,#f1d67a)}.ab .side details a{margin-left:14px;font-weight:500}.ab .side .close{border:1px solid var(--gold);background:#fff;border-radius:12px;align-self:flex-end;width:44px;height:44px;font-size:20px}.ab .pages{flex-direction:column;display:flex;position:absolute;inset:0}.ab .stagearea{flex:1;min-height:0;position:relative}.ab .page{visibility:hidden;opacity:0;flex-direction:column;gap:10px;min-width:0;padding:10px 16px 6px;transition:opacity .45s,transform .5s cubic-bezier(.2,.8,.2,1),visibility 0s .5s;display:flex;position:absolute;inset:0;transform:translateY(16px)}.ab .page.on{visibility:visible;opacity:1;transition-delay:0s;transform:none}.ab h2.sec{color:var(--ink);text-wrap:balance;flex:none;padding-bottom:8px;font-size:clamp(20px,4.6vw,30px);position:relative}.ab h2.sec em{color:var(--gold-deep);font-style:normal}.ab h2.sec:after{content:"";background:linear-gradient(90deg,var(--gold),var(--violet),transparent);transform-origin:0;width:100%;height:2px;transition:transform 1s cubic-bezier(.2,.8,.2,1) .25s;position:absolute;bottom:0;left:0;transform:scaleX(0)}.ab h2.sec .w{vertical-align:bottom;padding-bottom:.08em;display:inline-block;overflow:hidden}.ab h2.sec .w>i{font-style:inherit;transition:transform .7s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--i)*70ms + .15s);display:inline-block;transform:translateY(105%)}.ab .page.on h2.sec .w>i,.ab .page.on h2.sec:after{transform:none}.ab .glow{isolation:isolate;background:#fff;border-radius:20px;animation:4.5s ease-in-out infinite ab-pulse;position:relative;box-shadow:0 0 18px #d4af3747}.ab .glow:before{content:"";border-radius:inherit;background:conic-gradient(from var(--ab-ang),#d4af37,#6f43d6,#f1d67a,#b23a8e,#d4af37);-webkit-mask-composite:xor;pointer-events:none;z-index:1;padding:2px;animation:7s linear infinite ab-spin;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes ab-spin{to{--ab-ang:360deg}}@keyframes ab-pulse{0%,to{box-shadow:0 0 14px #d4af3740}50%{box-shadow:0 0 30px #6f43d652}}.ab .umbwrap{flex:1;place-items:center;min-height:0;display:grid;container-type:size}.ab .umb{aspect-ratio:1448/1086;width:min(100cqw,133.33cqh);padding:6px;position:relative}.ab .umb .frame{background:#fff;border-radius:14px;width:100%;height:100%;position:relative;overflow:hidden}.ab .umb img{object-fit:contain;width:100%;height:100%;display:block}.ab .hot{aspect-ratio:1;background:0 0;border:2px solid #d4af3700;border-radius:50%;padding:0;transition:box-shadow .2s,border-color .2s,background .2s;position:absolute;transform:translate(-50%,-50%)}.ab .hot:hover,.ab .hot:focus-visible,.ab .hot.on{border-color:var(--gold);background:#fff2b824;outline:none;box-shadow:0 0 0 3px #fff2b8e6,0 0 26px 6px #6f43d68c}.ab .orbits{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ab .orbits circle,.ab .orbits line{fill:none;stroke:var(--gold);stroke-width:3px;stroke-linecap:round}.ab .orbits circle{stroke-dasharray:1;stroke-dashoffset:1px;opacity:.85}.ab .orbits line{stroke:var(--violet);stroke-width:1.6px;stroke-dasharray:6 9;opacity:0}.ab .p-model.on .orbits circle{animation:1.4s cubic-bezier(.4,0,.2,1) forwards ab-drawc;animation-delay:calc(var(--k)*.26s + .5s)}.ab .p-model.on .orbits line{animation:.6s forwards ab-fade,1.6s linear infinite ab-flow;animation-delay:calc(var(--k)*.26s + 1.4s),0s}.ab .orbits circle.on{stroke:var(--pink);stroke-width:4.5px}@keyframes ab-drawc{to{stroke-dashoffset:0}}@keyframes ab-fade{to{opacity:.55}}@keyframes ab-flow{to{stroke-dashoffset:-30px}}.ab .cwrap{flex-direction:column;flex:1;align-items:center;min-height:0;display:flex;position:relative}.ab .brella{z-index:3;cursor:default;flex:none;width:min(100%,560px);position:relative}.ab .brella svg{width:100%;height:auto;display:block;overflow:visible}.ab .brella .gore{transform-box:fill-box;transform-origin:50% 100%;transform:translateX(var(--dx)) scaleX(.1);transition:transform .9s cubic-bezier(.34,1.45,.5,1);transition-delay:calc(var(--k)*70ms);cursor:pointer;outline:none}.ab .brella.open .gore{transform:none}.ab .brella .gore path.f{opacity:.92;transition:filter .25s,opacity .25s}.ab .brella .gore:hover path.f,.ab .brella .gore:focus-visible path.f{filter:brightness(1.15)}.ab .brella .gore.on path.f{opacity:1;filter:brightness(1.12)drop-shadow(0 0 7px #fff2b8e6)}.ab .brella .gore text{font:700 22px var(--font-cinzel),Cinzel,serif;fill:#fff;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#00000040;stroke-width:2px;opacity:0;transition:opacity .4s .9s}.ab .brella.open .gore text{opacity:1}.ab .brella .rib{fill:none;stroke:#fff2b8d9;stroke-width:1.6px;pointer-events:none;opacity:0;transition:opacity .4s .8s}.ab .brella.open .rib{opacity:1}.ab .brella .tip{opacity:0;transition:transform .5s cubic-bezier(.34,1.8,.5,1) .7s,opacity .3s .7s;transform:translateY(-14px)}.ab .brella.open .tip{opacity:1;transform:none}.ab .brella.bob svg{animation:.5s cubic-bezier(.3,1.6,.5,1) ab-bob}@keyframes ab-bob{0%{transform:translateY(0)scale(1)}35%{transform:translateY(-5px)scale(1.012,.985)}to{transform:none}}.ab .viewer{z-index:2;transform-origin:50% 0;opacity:0;pointer-events:none;background:#fff;flex:1;grid-template-rows:auto minmax(0,1fr) auto auto;gap:8px;width:calc(100% - 14px);max-width:560px;min-height:0;margin-top:-30px;padding:34px 12px 12px;transition:transform .6s cubic-bezier(.34,1.45,.5,1),opacity .25s;display:grid;position:relative;transform:translateY(-70%)scale(.2,.05)}.ab .viewer.out{opacity:1;pointer-events:auto;transform:none}.ab .viewer.tuck{transition:transform .28s ease-in,opacity .2s 80ms}.ab .viewer .head{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.ab .viewer .head h3{color:var(--plum);font-size:clamp(15px,4vw,22px)}.ab .center{font:700 11px var(--font-cinzel),Cinzel,serif;letter-spacing:.06em;color:var(--gold-deep);border:1px solid var(--gold);background:var(--marble);border-radius:99px;padding:4px 12px}.ab .viewer .art{min-height:0;position:relative}.ab .viewer .art img{object-fit:contain;border-radius:14px;width:100%;height:100%;position:absolute;inset:0}.ab .steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.ab .steps li{border:1px solid var(--line);background:var(--marble);border-radius:10px;min-width:0;padding:5px 8px}.ab .steps b{font:700 11px var(--font-cinzel),Cinzel,serif;letter-spacing:.05em;color:var(--plum);display:block}.ab .steps span{color:var(--muted);font-size:10.5px;line-height:1.25;display:block}.ab .built{font:600 10.5px/1.35 var(--font-montserrat),Montserrat,sans-serif;color:var(--gold-soft);border:1px solid var(--gold);text-align:center;background:linear-gradient(90deg,#1c1240,#2a1748);border-radius:99px;padding:7px 14px}.ab .p-found{padding:0}.ab .stage{isolation:isolate;background:#1c1240;border-radius:24px;flex-direction:column;flex:1;gap:8px;min-height:0;margin:8px 16px 4px;padding:14px 14px 16px;display:flex;position:relative}.ab .stage:before{content:"";border-radius:inherit;z-index:-1;background-color:#1c1240;background-image:radial-gradient(60% 50% at 20% 10%,#d4af3759,#0000 60%),radial-gradient(55% 55% at 85% 45%,#6f43d68c,#0000 62%),radial-gradient(50% 45% at 30% 95%,#b23a8e66,#0000 60%),none;background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:140% 140%;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;animation:22s ease-in-out infinite alternate ab-drift;position:absolute;inset:0}@keyframes ab-drift{0%{background-position:0 0}to{background-position:100% 100%}}.ab .stage h2.sec{color:var(--gold-soft)}.ab .stage h2.sec em{color:var(--gold)}.ab .stack{grid-template-rows:var(--rows);flex:1;gap:8px;min-height:0;margin-left:34px;transition:grid-template-rows .55s cubic-bezier(.2,.8,.2,1);display:grid}.ab .sc{text-align:left;border:1px solid var(--gold);min-height:0;transform:rotate(var(--r));background:linear-gradient(#fffdf6,#fbf1d2);border-radius:18px;flex-direction:column;justify-content:flex-start;gap:8px;padding:0 18px;transition:transform .5s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 26px -12px #0009}.ab .sc.act{transform:none;box-shadow:0 18px 40px -14px #0009,0 0 0 4px #d4af3729}.ab .sc .idx{font:700 64px/1 var(--font-cinzel),Cinzel,serif;color:#0000;-webkit-text-stroke:1px #9a6b1259;pointer-events:none;position:absolute;top:-4px;right:14px}.ab .sc h3{font:400 clamp(34px,8vw,48px)/1.15 var(--font-great-vibes),"Great Vibes",cursive;letter-spacing:0;color:var(--gold-deep);flex:none;padding-top:2px}.ab .sc .body{opacity:0;flex-direction:column;gap:8px;padding-bottom:14px;transition:opacity .35s;display:flex}.ab .sc.act .body{opacity:1;transition-delay:.25s}.ab .sc .lead{font:700 clamp(17px,4.4vw,26px)/1.25 var(--font-cinzel),Cinzel,serif;color:var(--plum);text-wrap:balance;max-width:26ch}.ab .sc p{color:#3b3147;max-width:58ch;margin:0;font-size:clamp(13px,3.4vw,16px)}.ab .pager{padding:6px 16px calc(8px + env(safe-area-inset-bottom,0px));flex:none;justify-content:center;align-items:center;gap:14px;display:flex}.ab .pg{border:1px solid var(--gold);width:44px;height:44px;color:var(--plum);background:#fff;border-radius:50%;font-size:18px}.ab .pg:disabled{opacity:.35;cursor:default}.ab .dots{align-items:center;gap:26px;padding:0 6px;display:flex;position:relative}.ab .dots:before{content:"";background:#d4af374d;height:2px;position:absolute;top:50%;left:12px;right:12px;transform:translateY(-50%)}.ab .dots i{background:linear-gradient(90deg,var(--gold),var(--violet));width:0;height:2px;transition:width .6s cubic-bezier(.2,.8,.2,1);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.ab .dot{border:2px solid var(--gold);background:var(--cream);border-radius:50%;width:24px;height:24px;padding:0;position:relative}.ab .dot.on{background:var(--gold);box-shadow:0 0 12px #d4af37e6}.ab .dot.seen{background:var(--gold-soft)}.ab .dot:focus-visible{outline:2px solid var(--violet);outline-offset:3px}.ab .rail{pointer-events:none;width:26px;position:absolute;top:64px;bottom:20px;left:12px;overflow:visible}.ab .rail path{fill:none;stroke-linecap:round}.ab .rail .b{stroke:#fff2b847;stroke-width:1.5px;stroke-dasharray:2 7}.ab .rail .d{stroke:url(#rg);stroke-width:3px;transition:stroke-dashoffset .8s cubic-bezier(.2,.8,.2,1)}.ab .rail circle{fill:#1c1240;stroke:var(--gold);stroke-width:2px;transition:fill .4s,r .4s}.ab .rail circle.lit{fill:var(--gold);r:7}.ab .rail .hd{fill:#fff2b8;stroke:var(--gold);stroke-width:2px;filter:drop-shadow(0 0 7px #fff2b8f2);transition:cy .8s cubic-bezier(.2,.8,.2,1),cx .8s}.ab .sp{background:var(--gold-soft);opacity:0;pointer-events:none;width:6px;height:6px;animation:7s ease-in-out infinite ab-float;animation-delay:calc(var(--d)*1s);border-radius:50%;position:absolute;box-shadow:0 0 10px 3px #fff2b8b3}@keyframes ab-float{0%{opacity:0;transform:translateY(20px)scale(.6)}30%{opacity:.9}to{opacity:0;transform:translateY(-70px)scale(1.1)}}.ab .p-found.on .sc{animation:.9s cubic-bezier(.34,1.4,.5,1) backwards ab-cardIn;animation-delay:calc(var(--k)*.15s + .25s)}@keyframes ab-cardIn{0%{opacity:0;transform:translateY(-70px) rotate(calc(var(--r)*-14)) scale(.92)}to{opacity:1;transform:rotate(var(--r))}}.ab .sc.act .lead{animation:.6s cubic-bezier(.2,.8,.2,1) .25s backwards ab-riseIn}.ab .sc.act p{animation:.6s cubic-bezier(.2,.8,.2,1) .42s backwards ab-riseIn}.ab .sc.act h3{animation:.8s cubic-bezier(.2,.8,.2,1) 50ms backwards ab-scriptIn}.ab .sc.act .idx{animation:.8s cubic-bezier(.34,1.5,.5,1) .15s backwards ab-idxIn}@keyframes ab-riseIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes ab-scriptIn{0%{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes ab-idxIn{0%{opacity:0;transform:scale(.4)rotate(-12deg)}to{opacity:1;transform:none}}.ab .sc:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffffffbf 50%,#0000 70%);position:absolute;inset:0;transform:translate(-120%)}.ab .sc.act:after{animation:1.1s .2s ab-sheen}@keyframes ab-sheen{to{transform:translate(120%)}}.ab,.ab *{font-weight:700!important}@media (min-width:960px){.ab .layout{grid-template-columns:var(--side) minmax(0,1fr);display:grid}.ab .layout.collapsed{grid-template-columns:0 minmax(0,1fr)}.ab .side{width:var(--side);z-index:10;position:static;transform:none}.ab .layout.collapsed .side,.ab .scrim,.ab .side .close{display:none}.ab .pages{grid-column:2;position:relative}.ab .page{padding:14px 28px 8px}.ab .p-found{padding:0}.ab .stage{margin:12px 28px 6px}.ab .brella{width:min(100%,400px)}.ab .viewer{grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:10px 22px;width:calc(100% - 40px);max-width:880px;padding:38px 22px 16px}.ab .viewer .head{grid-column:1/-1}.ab .viewer .art{grid-row:2/4}.ab .steps{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:8px}.ab .steps li{padding:8px 12px}.ab .steps b{font-size:13px}.ab .steps span{font-size:12.5px}.ab .built{grid-area:3/2;align-self:end;font-size:12px}.ab .center{font-size:12px}}@media (prefers-reduced-motion:reduce){.ab .sp{display:none}.ab *{transition:none!important;animation:none!important}.ab .brella .gore{transform:none}.ab .brella .gore text,.ab .brella .rib,.ab .brella .tip{opacity:1;transform:none}.ab .viewer{opacity:1;pointer-events:auto;transform:none}.ab .orbits circle{stroke-dashoffset:0}.ab .orbits line{opacity:.5}.ab h2.sec .w>i,.ab h2.sec:after{transform:none}.ab .sc .body{opacity:1}.ab .glow:before{background:linear-gradient(90deg,var(--gold),var(--violet))}}
