@font-face{font-family:Barlow;src:url('assets/barlow-condensed-bold.woff2') format('woff2');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:Inter;src:url('assets/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#10110f;--panel:#1b1c18;--line:#30322b;--green:#c2ff56;--orange:#ffb474;--text:#f2f2e9;--muted:#a0a294;--mono:'Courier New',monospace;--display:Barlow,'Arial Narrow',Impact,sans-serif;--body:Inter,Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.5}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:5px}button svg,svg{width:22px;height:22px;vertical-align:middle}button{border:0}p,h1,h2,h3{margin:0}h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1;letter-spacing:-.015em}img{max-width:100%}.shell{width:min(1440px,calc(100% - 112px));margin-inline:auto}.tiny-label,.eyebrow{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.07em}.tiny-label{color:var(--muted)}.eyebrow{color:var(--green);display:flex;align-items:center;gap:8px}.header{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:30px}.brand{font-family:var(--display);font-size:28px;font-weight:700;display:inline-flex;align-items:center;white-space:nowrap;letter-spacing:-.02em}.brand-symbol{display:grid;place-items:center;background:var(--green);color:var(--bg);width:34px;height:35px;transform:skew(-8deg);margin-right:10px}.brand-symbol svg{width:24px;height:24px}.brand-to{font-size:.65em;margin:0 3px;color:var(--muted)}.brand-period{color:var(--green)}nav{display:flex;gap:32px;font-size:14px;color:#bfc0b5}nav a:hover{color:var(--green)}.header-right{display:flex;align-items:center;gap:18px}.demo-badge{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted);border:1px solid var(--line);padding:6px 9px}.icon-button{width:40px;height:40px;min-width:40px;border:1px solid #3a3c34;display:inline-grid;place-items:center;background:transparent;font-size:21px;transition:background .2s,color .2s,border-color .2s}.icon-button:hover{background:var(--green);border-color:var(--green);color:var(--bg)}.header .icon-button{border:0;width:30px;min-width:30px}.hero{min-height:620px;display:grid;grid-template-columns:1.13fr 1fr .74fr;align-items:center;position:relative;gap:18px;padding-top:48px;padding-bottom:46px}.hero-copy{z-index:2;align-self:center;padding-right:8px}.hero-copy>.eyebrow{font-size:11px;letter-spacing:.045em;white-space:nowrap}.live-dot{width:6px;height:6px;background:currentColor;display:inline-block;border-radius:50%;box-shadow:0 0 12px currentColor;flex-shrink:0}.hero h1{font-size:clamp(55px,5.5vw,85px);line-height:.98;margin:24px 0 23px;letter-spacing:-.02em}.hero h1>span{color:var(--green)}.hero-intro{font-size:14px;line-height:1.75;max-width:380px;color:#a8aa9e}.hero-intro strong{font-weight:400;color:#e0e1d5}.total-block{max-width:375px;margin:27px 0 24px}.total-block>.tiny-label{font-size:10px;letter-spacing:.11em}.total{font-size:clamp(47px,4.8vw,72px);line-height:1.15;font-weight:750;letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin-top:4px}.total-cursor{color:var(--green);font-weight:400;vertical-align:7px;margin-left:4px;font-size:.7em;animation:blink 2s steps(1) infinite}.total-block p{font-size:13px;color:var(--muted);margin:6px 0 10px}.total-block strong{font-weight:400;color:#d3d5c8}.total-block p>span{float:right;font-family:var(--mono);color:var(--green);font-size:12px}.overall-track{height:3px;background:#2d3027;overflow:hidden}.overall-track>span{height:100%;display:block;background:var(--green);min-width:0;transition:width 1s}.primary-button{background:var(--green);color:#171c0d;min-height:57px;display:flex;align-items:center;justify-content:center;gap:9px;padding:17px 22px;font-size:14px;font-weight:800;letter-spacing:.015em;transition:transform .2s,background .2s,box-shadow .2s}.primary-button:hover{background:#d4ff89;transform:translateY(-2px);box-shadow:0 8px 35px #c2ff5617}.primary-button:active{transform:translateY(0)}.hero-cta{width:100%;max-width:375px;justify-content:flex-start}.button-arrow{font-size:23px;margin-left:auto;line-height:1}.cta-note{font-size:11px;color:var(--muted);margin-top:10px;letter-spacing:.01em}.character-stage{height:544px;position:relative;align-self:end;margin-left:-33px;margin-right:-25px;isolation:isolate;overflow:hidden}.stage-grid{position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,#383c2940 50%,transparent 50.2%),linear-gradient(transparent 49.8%,#383c2940 50%,transparent 50.2%);background-size:64px 64px;opacity:.3}.character-watermark{position:absolute;top:60px;left:9%;font:700 107px/.8 var(--display);color:#24271c;letter-spacing:-.035em;transform:rotate(-5deg);z-index:-1}.character-art{position:absolute;inset:20px -12px 0;background-repeat:no-repeat;background-position:center;background-size:cover;mask-image:linear-gradient(to bottom,transparent,black 7%,black 82%,transparent 99%)}.phase-art{background-image:url('assets/phases.webp');background-size:700% 100%;inset:30px 8px 8px;mask-image:linear-gradient(to bottom,transparent,black 5%,black 88%,transparent)}.character-top{position:absolute;top:7px;left:17px;right:17px;display:flex;justify-content:space-between;align-items:center}.character-top>.tiny-label{font-size:10px}.art-label{font:9px var(--mono);letter-spacing:.09em;color:#aaa99b}.stage-cross{position:absolute;color:#768552;font-family:var(--mono);font-size:22px;z-index:1}.cross-top{top:30px;left:13px}.cross-bottom{bottom:20px;right:8px}.character-caption{position:absolute;bottom:5px;left:24px;right:24px;padding:15px 5px;display:flex;gap:13px;align-items:center;border-top:1px solid #73894d70;background:linear-gradient(90deg,#10110fe8,#10110f99);backdrop-filter:blur(6px)}.level-square{height:52px;width:51px;border:1px solid var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--green);transform:skew(-5deg)}.level-square small{font:10px var(--mono);line-height:1}.level-square strong{font:700 31px/1 var(--display)}.character-caption>div+div{display:flex;flex-direction:column}.character-caption .tiny-label{font-size:9px;line-height:1.5}.character-caption>div>strong{font-family:var(--display);font-size:22px;line-height:1.3;letter-spacing:.02em}.character-caption>div>span:last-child{font-size:10px;color:var(--muted)}.floating-loot{position:absolute;left:0;bottom:140px;display:flex;align-items:center;gap:10px;background:#25291eeb;border:1px solid #68764860;padding:12px 13px;box-shadow:0 10px 35px #0006;transform:rotate(-4deg);backdrop-filter:blur(8px)}.floating-loot>span:first-child{color:var(--green)}.floating-loot .tiny-label{font-size:8px;color:var(--green)}.floating-loot div{display:flex;flex-direction:column}.floating-loot strong{font-size:11px;font-weight:500}.loot-check{font-size:15px;color:var(--green);padding-left:10px}.mission-panel{align-self:center;position:relative;margin-top:25px;border:1px solid #414334;background:linear-gradient(155deg,#27291fcc,#1a1c17dd);padding:20px 22px 18px;box-shadow:0 12px 50px #0002;min-width:0;z-index:2}.mission-panel:before{content:'';width:40px;height:2px;position:absolute;top:-1px;left:20px;background:var(--orange)}.quest-top{display:flex;justify-content:space-between;align-items:center;gap:5px}.quest-top .eyebrow{font-size:10px;letter-spacing:.04em}.quest-top>span:last-child{font:12px var(--mono);color:#777a6b}.orange{color:var(--orange)}.quest-top .live-dot{animation:pulse 2.5s infinite}.quest-object{height:128px;display:flex;align-items:center;justify-content:center;position:relative;margin:5px 0 15px;color:var(--orange);background:radial-gradient(ellipse,#ffb47417,transparent 65%)}.quest-object svg{width:79px;height:79px;stroke-width:1.25;filter:drop-shadow(0 4px 18px #ffb47435);transform:rotate(-9deg)}.object-ring{position:absolute;width:110px;height:110px;border:1px dashed #a27f5140;border-radius:50%;transform:rotateX(45deg)}.quest-loot-label{position:absolute;bottom:-4px;font:9px var(--mono);letter-spacing:.12em;color:#ad9476}.mission-panel>.tiny-label{font-size:9px;margin-top:20px}.mission-panel h2{font-size:49px;margin:9px 0 13px;text-transform:uppercase;line-height:.93;overflow-wrap:anywhere}.mission-panel>p:not(.tiny-label){color:#b6b8a9;font-size:13px;line-height:1.6;min-height:43px}.quest-amount{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:22px;font-variant-numeric:tabular-nums}.quest-amount>strong{font-size:18px;font-weight:650;letter-spacing:-.04em}.quest-amount>span{font-size:12px;color:var(--muted)}.quest-progress{height:7px;background:#424538;margin-top:10px;overflow:hidden}.quest-progress>span{height:100%;width:70%;display:block;background:var(--orange);box-shadow:0 0 18px #ffb47455;transition:width .8s;position:relative}.quest-progress>span:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff5,transparent);transform:translateX(-100%);animation:shimmer 3s infinite}.quest-remaining{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);margin-top:8px;gap:5px}.quest-remaining strong{color:var(--orange);font-weight:500}.text-button{display:inline-flex;background:none;color:var(--text);padding:0;gap:12px;align-items:center;font-size:12px}.text-button:hover{color:var(--green)}.mission-panel .text-button{width:100%;border-top:1px solid #3a3d30;padding-top:13px;margin-top:19px;justify-content:space-between;font-size:11px}.mission-panel .text-button span{font-size:17px}.missions-section{padding:31px 0 25px;border-block:1px solid var(--line);background:#151611;overflow:hidden}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-top h2{font-size:31px;margin-top:10px;letter-spacing:0}.section-top>.eyebrow{font-size:10px}.section-top .eyebrow{font-size:10px}.mission-navigation{display:flex;align-items:center;gap:8px}.mission-navigation>.tiny-label{font-size:10px;margin-right:15px}.mission-navigation .icon-button{width:32px;height:32px;min-width:32px;font-size:17px}.mission-rail{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#4b5537 transparent;cursor:grab;touch-action:pan-x pan-y;margin-top:26px;padding-bottom:7px}.mission-rail.dragging{cursor:grabbing;scroll-behavior:auto;user-select:none}.mission-trail{display:flex;width:max-content;padding:0 max(56px,calc((100vw - 1440px)/2));position:relative}.checkpoint{background:none;position:relative;width:130px;min-height:128px;padding:0 10px 0 0;text-align:left;flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start}.checkpoint:before{content:'';position:absolute;top:22px;height:2px;background:#3b3e32;width:100%;left:0}.checkpoint.complete:before{background:#7ca337}.checkpoint:last-child:before{display:none}.checkpoint-disc{display:grid;place-items:center;position:relative;width:44px;height:44px;border:1px solid #484c3b;background:#20221b;color:#9d9e8f;transition:background .2s,transform .2s}.checkpoint-disc svg{width:20px;height:20px}.checkpoint.complete .checkpoint-disc{background:#252f19;border-color:#698438;color:var(--green)}.checkpoint.active .checkpoint-disc{background:var(--orange);color:#242318;border-color:var(--orange);box-shadow:0 0 0 5px #ffb47410,0 0 25px #ffb47420;animation:questPulse 3s infinite}.checkpoint.selected .checkpoint-disc{outline:2px solid var(--text);outline-offset:4px}.checkpoint:hover .checkpoint-disc{transform:translateY(-3px);border-color:var(--green)}.checkpoint .checkpoint-number{font:9px var(--mono);color:#8c907e;position:absolute;top:3px;left:53px}.checkpoint.active .checkpoint-number{color:var(--orange)}.checkpoint strong{font:700 17px/1.2 var(--display);text-transform:uppercase;max-width:112px;margin-top:12px;min-height:37px;color:#a8ab9a;letter-spacing:.015em}.checkpoint.complete strong{color:var(--text)}.checkpoint.active strong{color:var(--orange)}.checkpoint .checkpoint-goal{font:11px var(--mono);color:#8b917c;margin-top:5px}.checkpoint.complete .checkpoint-goal{color:#adc58a}.trail-footer{display:flex;justify-content:space-between;align-items:center;margin-top:15px;gap:15px}.trail-footer .tiny-label{font-size:9px;display:flex;align-items:center;gap:6px}.trail-footer .text-button{font-size:10px;color:var(--muted)}.legend-dot{height:5px;width:5px;display:inline-block;background:var(--green);margin-left:9px}.legend-dot:first-child{margin-left:0}.active-dot{background:var(--orange)}.locked-dot{background:#666b5b}.mission-detail{margin-top:24px;border:1px solid #404637;padding:24px;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:20px;background:#1a1d15}.mission-detail[hidden]{display:none}.mission-detail h3{font-size:32px;text-transform:uppercase;margin:9px 0}.mission-detail p{font-size:14px;color:var(--muted)}.mission-detail blockquote{margin:8px 0 12px;font-size:17px;color:var(--green)}.mission-detail .detail-close{position:absolute;right:12px;top:12px}.mission-detail .detail-copy{padding-right:30px}.receipts-section{padding:69px 0 53px;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#272b1a44,transparent 65%)}.receipts-section h2{font-size:64px;line-height:.95;letter-spacing:-.02em;margin-top:19px}.outline-text{-webkit-text-stroke:1px #ccd0be;color:transparent}.green-slash{font-size:15px}.section-description{color:var(--muted);font-size:14px;line-height:1.75;margin-top:20px}.receipt-note{text-align:right;padding-bottom:5px}.receipt-note>span:first-child{display:inline-block;border:1px solid #454a39;padding:10px;transform:rotate(7deg);color:var(--green);margin-bottom:13px}.receipt-note p{font-size:13px;color:#d2d5c6;margin-bottom:9px}.receipt-note .tiny-label{font-size:9px;color:#868c78}.photo-carousel{height:485px;position:relative;margin-top:30px;perspective:1300px;touch-action:pan-y;cursor:grab;user-select:none}.photo-carousel:active{cursor:grabbing}#photo-cards{height:100%;position:relative;transform-style:preserve-3d}.photo-card{width:254px;position:absolute;left:calc(50% - 127px);top:17px;background:#e3e4d5;color:#141810;padding:8px 8px 13px;transform-origin:50% 100%;transition:transform .6s cubic-bezier(.2,.7,.25,1),opacity .5s,filter .5s;box-shadow:0 18px 45px #0009;will-change:transform;cursor:pointer}.photo-card:focus-visible{outline-offset:5px}.photo-card:not(.center){filter:brightness(.65)}.photo-image{aspect-ratio:4/5;position:relative;background-color:#252d21;overflow:hidden;background-repeat:no-repeat;background-size:300% 200%}.photo-image img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.photo-image .receipt-tag{position:absolute;left:10px;right:10px;top:10px;font:9px var(--mono);letter-spacing:.07em;color:var(--green);display:flex;align-items:center;gap:6px;text-shadow:0 2px 7px black}.photo-image .receipt-tag:before{content:'✓';display:grid;place-items:center;width:18px;height:18px;background:var(--green);color:#10110f;font-weight:700;text-shadow:none}.photo-image .photo-date{position:absolute;bottom:8px;left:10px;color:#fff;font:9px var(--mono);text-shadow:0 1px 5px black}.photo-card .photo-goal{font:9px var(--mono);color:#575b4b;display:flex;justify-content:space-between;margin:10px 4px 5px}.photo-card h3{font-size:25px;line-height:1.05;margin:0 4px 6px;text-transform:uppercase}.photo-card .photo-caption{font-size:10px;line-height:1.4;margin:0 4px;color:#51563f;min-height:29px}.photo-placeholder{display:grid;place-items:center;color:var(--green);height:100%;padding:30px;text-align:center;font:700 32px var(--display);background:linear-gradient(135deg,#343c2b,#12160f)}.carousel-controls{display:flex;align-items:center;gap:21px;justify-content:center}.carousel-controls .icon-button{border-radius:50%;width:38px;min-width:38px;height:38px}.carousel-controls .tiny-label{font-size:11px}.drag-hint{position:absolute;right:56px;color:#737967}#empty-photos{position:absolute;inset:0;display:grid;place-items:center;color:var(--muted)}#empty-photos[hidden]{display:none}.endgame{position:relative;min-height:300px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;border:1px solid #414632;background:linear-gradient(120deg,#20261a,#171b13);padding:39px 45px;margin-bottom:70px}.endgame-number{position:absolute;right:19%;font:700 340px/.8 var(--display);color:#232c1b;transform:rotate(-8deg);user-select:none}.endgame-copy{position:relative;z-index:1}.endgame .eyebrow{font-size:10px;color:#a5b68e}.endgame .eyebrow svg{width:14px;height:14px}.endgame h2{font-size:43px;margin:18px 0 13px}.endgame p:not(.eyebrow){font-size:14px;color:var(--muted)}.endgame .text-button{color:var(--green);margin-top:18px}.endgame-stamp{display:flex;flex-direction:column;align-items:center;border:2px solid #82995660;padding:27px;transform:rotate(8deg);color:#b6d38588;position:relative;margin-right:28px}.endgame-stamp svg{width:37px;height:37px;margin-bottom:8px}.endgame-stamp>span:nth-child(2){font:700 37px/.9 var(--display);text-align:center}.endgame-stamp small{font:8px var(--mono);margin-top:15px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;padding-bottom:65px}.faq h2{font-size:48px;margin-top:16px}.faq>div>p:last-child{font-size:13px;color:var(--muted);margin-top:16px}.faq .eyebrow{font-size:10px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;padding:21px 0;cursor:pointer;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:20px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font:22px var(--mono);color:var(--green)}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:14px;line-height:1.8;color:var(--muted);padding:0 30px 20px 0}.footer{border-top:1px solid var(--line);padding-block:29px;display:flex;justify-content:space-between;align-items:center;gap:30px}.footer .brand{font-size:24px}.footer p,.footer>a:last-child{font-size:10px;color:var(--muted)}.demo-toolbar{border-top:1px dashed #33382a;padding:20px 0 30px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.demo-toolbar>.tiny-label{font-size:9px}.demo-toolbar>.tiny-label:last-child{margin-left:auto;color:#6c725e}.demo-toolbar select{color:#bdc7aa;background:#1c2116;border:1px solid #38402d;padding:7px 28px 7px 9px;font-size:11px;max-width:100%}.demo-toolbar .text-button{font-size:11px;color:#b6bfa4}.mobile-only{display:none}.skip-link{position:fixed;top:-100px;left:12px;z-index:100;background:var(--green);color:#111;padding:12px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.no-script{position:fixed;bottom:0;left:0;right:0;padding:15px;background:var(--green);color:#12160c;z-index:100}
dialog{border:1px solid #50593d;background:#171c12;color:var(--text);padding:40px;width:min(490px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;box-shadow:0 30px 100px #000a}dialog::backdrop{background:#080a06d9;backdrop-filter:blur(10px)}dialog[open]{animation:modalIn .25s ease-out}.dialog-close{position:absolute;right:14px;top:14px;font-size:25px;border:0;width:32px;height:32px;min-width:32px}.modal-symbol{color:var(--green);display:block;margin-bottom:20px}.modal-symbol svg{height:35px;width:35px}dialog .eyebrow{font-size:9px;margin:12px 0}dialog h2{font-size:48px}dialog p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:16px}fieldset{border:0;padding:0;margin:25px 0 0}.amount-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.amount-options>button{background:#22291a;border:1px solid #3f4931;padding:13px 6px;font-size:15px;font-weight:600;min-height:47px}.amount-options>button:last-child{font-size:12px}.amount-options>button:hover,.amount-options>.selected{border-color:var(--green);background:#c2ff5612;color:var(--green)}.custom-field{display:flex;align-items:center;gap:10px;background:#10150c;border:1px solid #48583a;padding:12px 15px;margin-top:12px;color:var(--green)}.custom-field:focus-within{border-color:var(--green)}.custom-field input{width:100%;min-width:0;background:none;border:0;outline:none;color:var(--text);font-size:20px;font-variant-numeric:tabular-nums}.custom-field>span:last-child{font:11px var(--mono);color:var(--muted)}dialog .error-text{color:#ffb494!important;min-height:19px;font-size:12px!important;margin-top:7px!important}.checkout-summary{display:flex;flex-direction:column;gap:4px;margin:13px 0 19px}.checkout-summary span{font-size:11px;color:var(--muted)}.checkout-summary strong{font-size:14px}.donate-submit{width:100%;justify-content:space-between}.demo-disclosure{text-align:center;font-size:10px!important;line-height:1.7}.demo-disclosure svg{width:12px;height:12px;margin-right:4px}.success-view{text-align:center;padding:25px 0 8px}.success-view .modal-symbol{font-size:45px}.success-view .primary-button{width:100%;margin-top:25px}.celebration-dialog{text-align:center;border-color:var(--green);padding-top:45px}.celebration-dialog .eyebrow{justify-content:center}.celebration-check{margin:0 auto 22px;width:70px;height:70px;background:var(--green);color:#131c09;border-radius:50%;display:grid;place-items:center;font-size:40px;box-shadow:0 0 60px #c2ff5630}.celebration-dialog h2{color:var(--green);text-transform:uppercase}.celebration-dialog .primary-button{margin-top:25px;font-size:11px;width:100%}#unlocked-list{font:11px/1.8 var(--mono);color:#b8c4a5;margin-top:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);z-index:100;background:var(--green);color:#15210b;font-size:13px;font-weight:600;padding:14px 22px;box-shadow:0 10px 40px #0008;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100vw - 32px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}#confetti{position:fixed;inset:0;pointer-events:none;z-index:150;overflow:hidden}.confetto{position:absolute;top:-15px;width:8px;height:14px;background:var(--green);animation:confettiFall 2.3s ease-in forwards}.art-failed{background-image:none!important;display:flex;align-items:center;justify-content:center}.art-failed:after{content:'CHARACTER ART UNAVAILABLE';font:12px var(--mono);color:var(--muted)}
@keyframes blink{50%{opacity:0}}@keyframes pulse{50%{box-shadow:0 0 0 5px #ffb47410}}@keyframes shimmer{70%,100%{transform:translateX(160%)}}@keyframes questPulse{50%{box-shadow:0 0 0 6px #ffb47418,0 0 25px #ffb47425}}@keyframes modalIn{from{opacity:0;transform:translateY(15px) scale(.97)}to{opacity:1;transform:none}}@keyframes confettiFall{to{transform:translate3d(var(--drift),110vh,0) rotate(640deg);opacity:0}}
@media(min-width:1600px){.hero{gap:32px;min-height:685px}.character-stage{height:600px}.mission-panel{padding:25px 28px}.hero-intro{font-size:16px}.quest-object{height:145px}.hero h1{font-size:87px}.mission-panel h2{font-size:57px}.mission-panel>p:not(.tiny-label){font-size:14px}}
@media(max-width:1150px){.shell{width:calc(100% - 64px)}.header{gap:18px}nav{gap:22px}.hero{grid-template-columns:1.15fr 1fr .83fr;gap:10px;min-height:600px}.hero-copy>.eyebrow{font-size:9px}.hero h1{font-size:61px}.hero-intro{font-size:13px}.total{font-size:58px}.character-stage{height:510px;margin-left:-26px;margin-right:-36px}.character-watermark{font-size:85px}.character-caption{left:13px;right:13px}.character-caption>div>strong{font-size:19px}.character-caption>div>span:last-child{font-size:9px}.character-caption .level-square{width:44px;flex-shrink:0}.floating-loot{left:8px;padding:9px;bottom:143px}.floating-loot strong{font-size:9px}.mission-panel{padding:17px}.mission-panel h2{font-size:43px}.quest-top .eyebrow{font-size:9px}.quest-top>span:last-child{font-size:10px}.hero-cta{font-size:12px;padding-inline:15px}.total-block>.tiny-label{font-size:9px}.mission-trail{padding-inline:32px}.quest-object{height:115px}.drag-hint{right:32px}.endgame{padding:35px}.endgame-stamp{margin-right:0}.endgame h2{font-size:39px}}
@media(max-width:900px){.header nav{display:none}.hero{grid-template-columns:1.1fr 1fr;gap:20px;padding-block:37px;align-items:start}.hero-copy{grid-column:1;grid-row:1 / 3;padding-top:25px}.hero h1{font-size:69px}.hero-copy>.eyebrow{white-space:normal;font-size:10px;max-width:280px}.hero-intro{font-size:15px;max-width:340px}.total-block{margin-top:35px}.total{font-size:65px}.hero-cta{font-size:13px}.character-stage{grid-column:2;grid-row:1;height:325px;margin:0}.character-art{inset:0 0 -75px;background-position:center 25%}.phase-art{inset:0;background-position-y:0}.character-watermark{font-size:77px}.character-caption{bottom:0;background:#10110fbf}.character-top{top:0;left:0;right:0}.floating-loot{display:none}.mission-panel{grid-column:2;grid-row:2;margin-top:-20px;display:grid;grid-template-columns:1fr 1fr;gap:0 15px;padding:19px}.quest-top{grid-column:1/-1}.quest-object{display:none}.mission-panel>.tiny-label{grid-column:1/-1;margin-top:14px}.mission-panel h2{font-size:38px;grid-column:1/-1;margin:8px 0}.mission-panel h2 br{display:none}.mission-panel>p:not(.tiny-label){grid-column:1/-1;font-size:12px;min-height:0}.quest-amount,.quest-progress,.quest-remaining,.mission-panel .text-button{grid-column:1/-1}.quest-amount{margin-top:15px}.quest-amount>strong{font-size:17px}.mission-panel .text-button{margin-top:12px;padding-top:9px}.receipts-section h2{font-size:57px}.section-top h2{font-size:28px}.receipt-note{max-width:190px}.receipt-note .tiny-label{font-size:8px}.endgame h2{font-size:34px}.endgame-stamp{padding:18px}.endgame-stamp>span:nth-child(2){font-size:31px}.endgame-number{right:17%}.faq{gap:35px}.faq h2{font-size:44px}.footer{gap:15px;flex-wrap:wrap}.footer p{order:3;flex-basis:100%;margin-top:-10px}.demo-toolbar>.tiny-label:last-child{display:none}.drag-hint{display:none}}
@media(max-width:600px){.shell{width:calc(100% - 36px)}.header{height:73px;gap:8px}.brand{font-size:25px}.brand-symbol{width:27px;height:29px;margin-right:7px}.brand-symbol svg{width:21px}.header-right{gap:6px}.demo-badge{font-size:8px;padding:5px;letter-spacing:.03em}.header .icon-button{width:25px;min-width:25px}.hero{grid-template-columns:1fr 1fr;gap:15px 10px;padding-top:30px;padding-bottom:31px}.hero-copy{grid-column:1/-1;grid-row:1;padding-top:0;padding-right:0;display:grid;grid-template-columns:1fr}.hero-copy>.eyebrow{max-width:none;font-size:9px;white-space:normal}.hero h1{font-size:clamp(55px,14.3vw,78px);margin:20px 0 15px;line-height:.97}.hero h1 br{display:none}.hero h1>span{display:block}.hero-intro{font-size:13px;line-height:1.65;max-width:none}.total-block{margin:22px 0 17px;max-width:none}.total-block>.tiny-label{font-size:9px}.total{font-size:59px;line-height:1.1}.total-block p{font-size:12px}.hero-cta{max-width:none;font-size:13px;min-height:52px}.cta-note{text-align:center;font-size:10px}.character-stage{grid-column:1;grid-row:2;height:343px;margin:6px -8px 0 -11px;align-self:stretch}.character-art{inset:20px -45px 0;background-position:center center;mask-image:linear-gradient(to bottom,transparent,black 8%,black 75%,transparent 96%)}.phase-art{inset:15px 0 0;background-size:700% 100%;mask-image:linear-gradient(to bottom,transparent,black 8%,black 85%,transparent 96%)}.character-top{top:8px;left:15px;right:5px;flex-wrap:wrap;gap:3px}.character-top>.tiny-label{font-size:8px}.art-label{font-size:7px}.character-watermark{font-size:62px;top:70px;left:7px}.character-caption{bottom:1px;left:13px;right:5px;gap:8px;padding-block:10px}.character-caption .level-square{width:37px;height:42px}.level-square strong{font-size:27px}.character-caption>div>strong{font-size:16px;max-width:110px;line-height:1.05;margin-top:3px}.character-caption .tiny-label{font-size:7px}.character-caption>div>span:last-child{display:none}.stage-cross{display:none}.mission-panel{grid-column:2;grid-row:2;margin-top:13px;align-self:stretch;padding:13px 12px;display:flex;flex-direction:column;gap:0}.quest-top .eyebrow{font-size:8px;gap:5px}.quest-top>span:last-child{display:none}.quest-object{display:flex;height:69px;margin:6px 0 4px;flex-shrink:0}.quest-object svg{width:49px;height:49px}.object-ring{width:67px;height:67px}.quest-loot-label{display:none}.mission-panel>.tiny-label{font-size:7px;margin-top:9px}.mission-panel h2{font-size:35px;margin:6px 0 10px}.mission-panel h2 br{display:block}.mission-panel>p:not(.tiny-label){font-size:11px;line-height:1.45;min-height:32px}.quest-amount{margin-top:auto;padding-top:13px;flex-wrap:wrap;gap:1px 4px}.quest-amount>strong{font-size:16px}.quest-amount>span{font-size:10px}.quest-progress{min-height:5px;height:5px;margin-top:8px}.quest-remaining{font-size:8px;margin-top:6px}.mission-panel .text-button{font-size:9px;margin-top:12px;padding-top:9px}.mission-panel .text-button span{font-size:13px}.missions-section{padding-top:26px}.section-top{align-items:flex-start}.section-top h2{font-size:26px;line-height:1.03}.mobile-only{display:block}.section-top .eyebrow{font-size:8px}.mission-navigation{gap:5px;flex-wrap:wrap;justify-content:flex-end;max-width:90px}.mission-navigation>.tiny-label{font-size:8px;margin:0 0 5px;flex-basis:100%;text-align:right}.mission-navigation .icon-button{width:31px;height:31px;min-width:31px}.mission-rail{margin-top:25px}.mission-trail{padding-inline:18px}.checkpoint{width:117px;min-height:124px}.checkpoint strong{font-size:16px;max-width:100px}.checkpoint .checkpoint-goal{font-size:10px}.trail-footer{align-items:flex-start;gap:13px;flex-direction:column;margin-top:12px}.trail-footer .tiny-label{font-size:8px;gap:4px}.trail-footer .text-button{font-size:10px}.mission-detail{grid-template-columns:1fr;padding:20px;gap:5px}.mission-detail h3{font-size:28px}.mission-detail .detail-copy{padding-right:15px}.mission-detail p{font-size:12px}.mission-detail blockquote{font-size:14px}.receipts-section{padding-top:44px;padding-bottom:39px}.receipts-section .section-top{display:block}.receipts-section h2{font-size:53px;margin-top:14px}.section-description{font-size:12px;margin-top:16px}.receipt-note{text-align:left;max-width:none;display:flex;gap:8px;align-items:center;margin-top:18px}.receipt-note>span:first-child,.receipt-note>p{display:none}.receipt-note .tiny-label{font-size:8px}.photo-carousel{height:459px;margin-top:25px;perspective:850px}.photo-card{width:236px;left:calc(50% - 118px);top:12px}.photo-card h3{font-size:23px}.photo-card .photo-caption{font-size:10px}.carousel-controls{gap:19px}.carousel-controls .tiny-label{font-size:10px}.endgame{padding:27px 23px;min-height:300px;margin-bottom:42px}.endgame h2{font-size:33px;max-width:250px}.endgame p:not(.eyebrow){font-size:12px}.endgame .eyebrow{font-size:8px}.endgame-stamp{display:none}.endgame-number{font-size:300px;right:-15px;bottom:-8px}.endgame-copy{z-index:1}.endgame .text-button{font-size:11px}.faq{grid-template-columns:1fr;gap:15px;padding-bottom:35px}.faq h2{font-size:39px;margin-top:11px}.faq h2 br{display:none}.faq>div>p:last-child{font-size:12px;margin-top:12px}.faq-list summary{font-size:13px;padding-block:18px}.faq-list details p{font-size:13px;padding-right:10px}.footer{padding-top:23px;padding-bottom:24px;gap:18px}.footer .brand{font-size:23px}.footer>a:last-child{font-size:10px}.footer p{font-size:9px;margin-top:-5px}.demo-toolbar{gap:12px;padding-bottom:25px}.demo-toolbar>.tiny-label:first-child{flex-basis:100%}.demo-toolbar select{font-size:10px;padding-right:5px;max-width:calc(100% - 100px)}.demo-toolbar .text-button{font-size:10px}dialog{padding:30px 23px}dialog h2{font-size:41px}dialog .eyebrow{font-size:8px}.modal-symbol{margin-bottom:16px}.amount-options{gap:7px}.amount-options>button{padding-block:11px}.celebration-dialog h2{font-size:40px}.toast{font-size:12px;bottom:15px}}
.character-art.hero-art{background-size:auto 100%;background-position-y:top}
.hero-intro{font-size:16px}.mission-panel>p:not(.tiny-label){font-size:14px}.cta-note{font-size:12px}
.character-art.phase-art{inset:30px auto 5px;left:50%;height:calc(100% - 35px);width:auto;aspect-ratio:1916 / 5747;transform:translateX(-50%);background-size:700% 100%}
@media(max-width:900px){.character-art.hero-art{inset:0}.character-art.phase-art{inset:15px auto 0;left:50%;height:calc(100% - 15px)}}
@media(max-width:600px){.character-art.hero-art{inset:20px -25px 0}}
@media(max-width:1150px) and (min-width:901px){.hero-intro{font-size:14px}.mission-panel>p:not(.tiny-label){font-size:13px}}
@media(max-width:900px){.hero-intro{font-size:14px}.mission-panel>p:not(.tiny-label){font-size:12px}.cta-note{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.photo-card{will-change:auto}}
.character-art.cinematic-art{inset:18px 0 0;background-size:contain;background-position:center;mask-image:linear-gradient(to bottom,transparent,black 5%,black 82%,transparent 99%)}
.character-history{grid-column:2;display:flex;align-items:center;gap:8px;justify-content:center;margin-top:-30px;z-index:3}.character-history .icon-button{width:28px;height:28px;min-width:28px;font-size:15px}.character-history .tiny-label{font-size:9px}.character-history .text-button{font-size:9px}.character-history [hidden]{display:none}
.quest-object #quest-icon{display:block;width:138px;height:138px}.quest-object img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 8px 15px #0005)}
.enablers{display:grid;grid-template-columns:.7fr 1.3fr;gap:45px;border-top:1px solid var(--line);padding:25px 0 30px;align-items:center}.enablers h2{font-size:35px;margin:9px 0}.enablers .eyebrow{font-size:10px}.enablers-intro>p:last-child{font-size:13px;color:var(--muted)}.enablers-board{border:1px solid var(--line);background:#181b14;padding:15px 20px}.enablers-head{display:flex;justify-content:space-between;gap:15px;font-size:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.supporter-list{max-height:192px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#647547 #1a2014}.supporter-row{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #30352a;font-size:14px}.supporter-rank{font:12px var(--mono);color:var(--muted)}.supporter-row:first-child .supporter-rank,.supporter-row>span:last-child{color:var(--green)}.supporter-row strong{overflow-wrap:anywhere;font-weight:500}.supporters-empty{padding:22px 0;color:#b1b9a4;font-size:14px;max-width:400px}.leaderboard-note{color:var(--muted);font-size:10px;margin-top:10px}
.supporter-list{padding-right:18px;scrollbar-gutter:stable}
.player-name-label{display:block;font:11px var(--mono);color:var(--green);margin-top:24px;margin-bottom:9px}.player-name-input{display:block;width:100%;background:#10150c;border:1px solid #48583a;padding:13px 14px;color:var(--text);font-size:16px}.player-name-input[readonly]{border-style:dashed;color:#c5d5af}dialog .field-note{font-size:11px!important;line-height:1.5;margin-top:7px!important}#name-error:empty{display:none}.checkout-disclosure{font-size:11px!important;text-align:center}.checkout-disclosure svg{width:12px;height:12px}.checkout-status{padding:12px;border:1px solid #424c34;background:#252d1b;font-size:12px!important;line-height:1.6}.photo-carousel.is-empty{height:150px;cursor:default}.carousel-controls[hidden]{display:none}#empty-photos{text-align:center;padding:25px;font-size:14px}.photo-image{background-size:cover}
@media(max-width:900px){.character-history{grid-column:2;margin-top:0;grid-row:3;flex-wrap:wrap}.enablers{gap:25px}.character-art.cinematic-art{inset:0;background-position:center 30%}}
@media(max-width:600px){.character-history{grid-column:1/-1;grid-row:3;margin-top:0;gap:12px}.enablers{grid-template-columns:1fr;gap:15px;padding-top:24px}.enablers h2{font-size:31px}.enablers-intro>p:last-child br{display:none}.enablers-board{padding:13px 15px}.supporter-list{max-height:175px}.quest-object #quest-icon{width:80px;height:80px}.character-art.cinematic-art{inset:20px 0 0;background-size:auto 100%;background-position:center}.player-name-label{margin-top:18px}.character-history .icon-button{width:36px;height:36px;min-width:36px}}
.endgame-lambo{display:none}
.endgame.is-complete{min-height:390px;overflow:visible;margin-bottom:115px;border-color:#a0cc58;background:radial-gradient(circle at 79% 45%,#506d224d,transparent 45%),linear-gradient(120deg,#1d2a13,#111910 75%);box-shadow:inset 0 0 0 1px #c2ff5620,0 18px 75px #80ae2320}
.endgame.is-complete .endgame-copy{width:52%;max-width:570px;padding:18px 0;z-index:2}
.endgame.is-complete .eyebrow{color:var(--green)}
.endgame.is-complete #endgame-lock{display:inline-flex;color:var(--green);filter:drop-shadow(0 0 8px #c2ff5680)}
.endgame.is-complete #endgame-lock svg{width:20px;height:20px;stroke-width:2}
.endgame.is-complete h2{font-size:clamp(38px,3.25vw,48px);color:#f8ffe9;text-shadow:0 3px 25px #0008}
.endgame.is-complete #endgame-message{color:#d4e5be}
.endgame.is-complete .endgame-number{right:16%;color:#718f3030}
.endgame.is-complete .endgame-stamp{display:none}
.endgame.is-complete .endgame-lambo{display:block;position:absolute;z-index:1;width:min(58%,750px);max-width:none;right:-4%;bottom:-18%;filter:drop-shadow(0 20px 32px #0009);pointer-events:none}
@media(max-width:900px){.endgame.is-complete{min-height:340px}.endgame.is-complete .endgame-copy{width:60%}.endgame.is-complete h2{font-size:clamp(34px,4.3vw,47px)}.endgame.is-complete .endgame-lambo{width:58%;right:-4%;bottom:-14%}}
@media(max-width:600px){.endgame.is-complete{min-height:480px;align-items:flex-start;padding:28px 23px;margin-bottom:100px}.endgame.is-complete .endgame-copy{width:100%;max-width:none;padding:0}.endgame.is-complete h2{font-size:clamp(33px,8.4vw,45px);max-width:340px;margin:16px 0 11px}.endgame.is-complete #endgame-message{max-width:290px}.endgame.is-complete .endgame-lambo{width:105%;right:-4%;bottom:-15%}.endgame.is-complete .endgame-number{font-size:260px;right:0;bottom:8px}}
@media(max-width:600px){html,body{overflow-x:clip}.hero{grid-template-columns:minmax(0,1fr);gap:10px}.character-stage{grid-column:1;grid-row:2;height:440px;margin:0}.character-art.hero-art{inset:0}.character-caption>div>strong{max-width:230px}.mission-panel{grid-column:1;grid-row:3;min-height:330px;margin:0;padding:20px 22px}.mission-panel h2{font-size:clamp(38px,11vw,52px);margin:5px 0 11px}.mission-panel>p:not(.tiny-label){font-size:14px;line-height:1.5}.quest-object{height:82px;margin:9px 0 3px}.object-ring{width:77px;height:77px}.mission-panel .text-button{font-size:12px}.character-history{grid-row:4}.endgame.is-complete .endgame-lambo{right:-3%;width:102%}}

/* Let the mission collectible fill the unused upper-right corner without pushing the story down. */
.mission-panel{isolation:isolate}
.mission-panel> :not(.quest-object){position:relative;z-index:1}
.mission-panel>.tiny-label{margin-top:31px}
.mission-panel h2{text-shadow:0 2px 15px #1b1d18,0 0 4px #1b1d18}
.quest-object{display:flex;position:absolute;top:31px;right:5px;width:clamp(142px,13vw,185px);height:165px;margin:0;z-index:0;pointer-events:none;opacity:.9;mask-image:linear-gradient(90deg,transparent 0,#000 28%)}
.quest-object #quest-icon{width:100%;height:100%}
.quest-object .object-ring{width:132px;height:132px}
.quest-loot-label{display:none}
.mission-rail{padding-top:12px;margin-top:15px}
@media(max-width:900px){.quest-top{grid-column:1/-1}.mission-panel>.tiny-label{margin-top:27px}.quest-object{width:145px;height:145px;top:26px;right:2px}}
@media(max-width:600px){.mission-panel>.tiny-label{margin-top:26px}.quest-object{width:172px;height:172px;top:29px;right:8px}.quest-object .object-ring{width:135px;height:135px}.mission-panel h2{max-width:100%}.mission-rail{margin-top:14px}}

/* Keep character history controls beside the character on phones. */
@media(max-width:600px){
  .hero{padding-bottom:22px}
  .character-history{grid-column:1;grid-row:3;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;justify-items:center;gap:8px;margin:0;padding:9px 12px;border:1px solid #414334;background:#1c2019}
  .character-history .icon-button{width:40px;height:40px;min-width:40px}
  .character-history .tiny-label{text-align:center;font-size:9px;white-space:nowrap}
  .character-history .text-button{grid-column:1/-1;margin:1px auto 2px}
  .mission-panel{grid-column:1;grid-row:4;min-height:0}
}
