@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,400;0,500;0,600;0,700;1,600&family=Quicksand:wght@500;600;700&display=swap');
:root{font-family:'Nunito',sans-serif;color:#353c3a;background:#ebeade;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #657f68;outline-offset:5px}button{transition:background .2s,transform .2s}button:hover{transform:translateY(-1px)}.topbar{position:fixed;top:0;left:0;width:100%;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:26px 4%;pointer-events:none}.topbar>*{pointer-events:auto}.brand{text-decoration:none;color:inherit;font-family:'Quicksand',sans-serif;font-size:22px;letter-spacing:-1.2px;font-weight:600;display:flex;align-items:center;gap:10px}.brand-dot{font-weight:400;margin-left:-7px}.brand-face{font-size:27px;letter-spacing:-3px}.header-actions{display:flex;gap:12px;align-items:center}.cat-options{display:flex;gap:4px;padding:4px;border:1px solid #ffffff65;border-radius:30px;background:#faf9f055;backdrop-filter:blur(16px)}.cat-choice{border:0;background:transparent;border-radius:25px;padding:6px 16px 6px 7px;display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600}.cat-choice.selected{background:#fffff4d9;box-shadow:0 2px 10px #32382b0b}.portrait{width:28px;height:28px;background-size:130px 98px;background-repeat:no-repeat;border-radius:50%}.portrait.white{background-image:url(example.png);background-position:-20px -2px}.portrait.calico{background-image:url(calico_example.png);background-position:-20px -2px}.settings-button{border:1px solid #ffffff88;background:#faf9f080;width:42px;height:42px;border-radius:50%;font-size:24px;backdrop-filter:blur(16px)}.studio{position:relative;height:100dvh;width:100%;overflow:hidden}.cat-scroll{position:absolute;inset:0;overflow:auto;overflow-x:hidden;scrollbar-width:none;background:#c8d9d3}.cat-scroll::-webkit-scrollbar{display:none}.cat-stage{position:relative;min-height:100%;text-align:center}.cat-stage>#cat{position:sticky;top:0;margin:auto;display:block;pointer-events:none}.world-view{position:sticky;top:0;width:100%;pointer-events:none;overflow:hidden}.world-view #scenery,.world-view #world3d{position:absolute;inset:0;display:block;max-width:none;margin:0}.world-view #world3d{display:none}.three-active #scenery,.three-active>#cat{visibility:hidden}.three-active .world-view #world3d{display:block}.editorial{position:absolute;left:5%;top:24%;pointer-events:none;max-width:30%}.chapter{display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:2px;font-weight:600}.chapter-line{height:1px;width:28px;background:currentColor;opacity:.4}h1{font-family:'Quicksand',sans-serif;font-size:clamp(36px,4.8vw,74px);font-weight:400;letter-spacing:-3.4px;line-height:1.06;margin:25px 0 20px}.editorial p{font-size:12px;line-height:1.9;opacity:.63;margin:0}.edition{display:block;font-size:7px;letter-spacing:2px;margin-top:38px;opacity:.45}.encounter{position:absolute;right:6%;top:46%;width:20%;pointer-events:none;max-width:240px;transform:rotate(-3deg)}.encounter-label{font-size:7px;letter-spacing:1.8px;opacity:.5}.encounter p{font:italic 600 20px/1.5 'Nunito',sans-serif;letter-spacing:-.3px}.encounter-author{font-size:10px;opacity:.65}.view-jumps{position:absolute;right:25px;top:26%;display:flex;flex-direction:column;align-items:center;gap:9px}.view-jumps button{border:0;background:transparent;padding:5px;color:inherit;font-size:19px}.view-jumps span{display:block;font-size:8px;opacity:.65}.view-line{height:40px;width:1px;background:currentColor;opacity:.15}.journey-control{position:absolute;left:50%;bottom:37px;transform:translateX(-50%);width:min(850px,calc(100% - 80px));border:1px solid #ffffff99;border-radius:20px;padding:18px 26px 14px;background:#fcfcf1d9;backdrop-filter:blur(24px);box-shadow:0 16px 65px #1b3e3520;color:#353c3a}.journey-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:9px}.journey-top>div:first-child{display:flex;align-items:center;gap:8px}.live-dot{width:5px;height:5px;border-radius:50%;background:#82996d}#preview-label{font-size:8px;letter-spacing:1.3px}.dock-separator{opacity:.2;margin:0 2px}#height{font-size:10px;opacity:.65}.cap-group{display:flex;align-items:baseline;gap:12px}.cap-label{font-size:7px;letter-spacing:1.5px;opacity:.45}#journey-cap{font:500 25px 'Quicksand',sans-serif;letter-spacing:-1px}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:24px;background:transparent;cursor:ew-resize;margin:0}input[type=range]::-webkit-slider-runnable-track{height:3px;border-radius:5px;background:linear-gradient(to right,#7e9874,#bdcbbb 24%,#91abb4 52%,#817e9b 77%,#343552)}input[type=range]::-moz-range-track{height:3px;border-radius:5px;background:#8fa195}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:16px;margin-top:-6.5px;border-radius:50%;background:#fffef5;border:4px solid #586e57;box-shadow:0 0 0 4px #6d846118}input[type=range]::-moz-range-thumb{height:9px;width:9px;border:4px solid #586e57;border-radius:50%;background:#fffef5}.journey-stops{display:flex;justify-content:space-between;font-size:8px;opacity:.55;margin-top:1px}.dock-footer{display:flex;justify-content:space-between;font-size:8px;opacity:.4;margin-top:14px}.world-footer{position:absolute;left:4%;right:4%;bottom:12px;display:flex;justify-content:space-between;pointer-events:none;font-size:7px;letter-spacing:1.2px;opacity:.5}#render-status{letter-spacing:0;font-size:8px}.night{color:#eeeee5}.night .cat-options,.night .settings-button{background:#ffffff15;border-color:#ffffff26}.night .cat-choice.selected{background:#ffffffde;color:#313a36}.night .journey-control{background:#1e253bdd;border-color:#ffffff25;color:#eaece6}.night input[type=range]::-webkit-slider-thumb{border-color:#d2d4c2;background:#28324a}.night .journey-control{box-shadow:0 20px 70px #0003}dialog{border:1px solid #e0e5d9;border-radius:20px;background:#fafaf3;padding:25px;width:min(380px,90vw);color:#353c3a;box-shadow:0 20px 100px #0002}dialog::backdrop{background:#13242055;backdrop-filter:blur(5px)}.settings-heading{display:flex;align-items:center;justify-content:space-between}.settings-heading h2{font-size:21px;letter-spacing:-.7px;font-weight:500;margin:0}.settings-heading button{border:0;background:none;font-size:24px}.settings-intro{font-size:11px;line-height:1.8;opacity:.6}.mode-picker{display:flex;background:#e9ece2;padding:4px;border-radius:9px;margin:22px 0}.mode-picker button{border:0;background:none;flex:1;font-size:11px;padding:9px;border-radius:6px}.mode-picker [aria-pressed=true]{background:#fffff9}#market-panel label{display:block;font-size:11px;margin-bottom:8px}#market-cap{width:100%;background:#fff;border:1px solid #d6dece;border-radius:9px;padding:12px;font-size:21px}.market-presets{display:flex;gap:5px;margin-top:10px}.market-presets button{flex:1;border:1px solid #d8dfd2;background:none;border-radius:6px;padding:7px 0;font-size:10px}#growth-rule{font-size:11px;line-height:1.7;opacity:.6}#next-step{font-size:10px;opacity:.7}progress{display:block;width:100%;height:4px;accent-color:#80946d;margin:10px 0}#reset{display:block;margin:25px auto 0;border:0;background:none;font-size:11px;opacity:.6}.length-control{border:0;padding:0}.length-control legend{font-size:12px;margin-bottom:14px}.step-buttons{display:flex;gap:8px;margin-top:12px}.step-buttons button{border:1px solid #d8dfd2;border-radius:8px;padding:10px;background:none;flex:1}#market-error,#error{font-size:11px;color:#a34539}#error{position:fixed;top:100px;left:50%;transform:translateX(-50%);background:#fff;padding:15px;border-radius:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(max-width:760px){.topbar{padding:17px 20px}.brand{font-size:16px;letter-spacing:-.8px;gap:6px}.brand-face{font-size:20px}.cat-choice{font-size:0;padding:4px}.portrait{width:27px;height:27px}.header-actions{gap:7px}.settings-button{height:36px;width:36px;font-size:21px}.editorial{top:105px;left:25px;max-width:60%}.chapter{font-size:7px;letter-spacing:1.3px;gap:8px}.chapter-line{width:17px}h1{font-size:35px;letter-spacing:-1.8px;margin:13px 0 0;line-height:1.02}.editorial p,.edition{display:none}.encounter{top:auto;bottom:190px;right:24px;width:39%;max-width:170px}.encounter-label{font-size:6px;letter-spacing:1px}.encounter p{font-size:14px;line-height:1.4;margin:9px 0}.encounter-author{font-size:8px}.view-jumps{right:13px;top:120px}.journey-control{width:calc(100% - 28px);bottom:28px;padding:14px 17px 12px;border-radius:16px}.cap-label,.dock-footer span:last-child{display:none}#journey-cap{font-size:21px}.journey-top{margin-bottom:6px}#height{font-size:8px}#preview-label{font-size:7px}.journey-stops{font-size:6px}.dock-footer{font-size:7px;margin-top:10px}.world-footer{bottom:8px;font-size:5px}.world-footer #render-status{display:none}}
@media(prefers-reduced-motion:reduce){button{transition:none}}
@media(max-width:760px){.encounter{width:108px;right:15px;bottom:210px}.encounter p{font-size:12px}.encounter-label{font-size:5px}.encounter-author{font-size:7px}}
.stage-ticks{display:flex;justify-content:space-between;padding:0 7px;margin:-1px 0 5px}.stage-ticks i{height:4px;width:1px;background:currentColor;opacity:.2}.stage-select-label{display:block;font-size:10px;opacity:.6;margin:20px 0 7px}#stage-select{width:100%;padding:10px;border:1px solid #d6dece;border-radius:8px;color:#353c3a;background:#fff;font:12px 'Nunito',sans-serif}.chapter{white-space:nowrap}@media(max-width:760px){.chapter{font-size:6px;gap:6px}.stage-ticks{margin-bottom:5px}}
@media(max-width:760px){.compact-cat .encounter{top:245px;bottom:auto}}
@media(min-width:761px){body:is([data-chapter-art="party"],[data-chapter-art="construction"],[data-chapter-art="ski"],[data-chapter-art="wind"],[data-chapter-art="vegetables"]) .encounter{top:19%}}
@media(max-width:760px){body:is([data-chapter-art="party"],[data-chapter-art="construction"],[data-chapter-art="ski"],[data-chapter-art="wind"],[data-chapter-art="vegetables"]) .encounter{top:265px;bottom:auto;width:30%;right:18px}}

/* Rounded typography with enough spacing for soft letterforms. */
h1{font-weight:600;letter-spacing:-1.8px;line-height:1.12}.brand{font-weight:700;letter-spacing:-.7px}.brand-dot{font-weight:500}.settings-heading h2{font-family:'Quicksand',sans-serif;font-weight:600}#journey-cap{font-weight:600;letter-spacing:-.6px}.encounter p{letter-spacing:0}.chapter{letter-spacing:1.5px}@media(max-width:760px){h1{letter-spacing:-1px;line-height:1.1}.brand{letter-spacing:-.6px}.chapter{letter-spacing:1px}}

#back-live{border:1px solid currentColor;border-radius:20px;background:transparent;color:inherit;padding:3px 10px;font-size:10px}#feed-status,.token-link,.token-address{font-size:11px;line-height:1.6}.token-link{color:inherit}.token-address{overflow-wrap:anywhere;opacity:.6}

/* Live release: a prominent cap and a reserved buy action. */
.market-summary{display:flex;align-items:center;justify-content:space-between;gap:24px}.market-summary .cap-group{display:flex;flex-direction:column;align-items:flex-start;gap:3px}.market-summary .cap-label{display:block;font-size:10px;letter-spacing:1.6px;opacity:.65}#journey-cap{font:700 clamp(38px,5vw,62px)/1.15 'Quicksand',sans-serif;letter-spacing:-2px;font-variant-numeric:tabular-nums}.buy-group{display:flex;flex-direction:column;align-items:center;gap:7px}#buy-token{border:0;border-radius:16px;background:#355f4b;color:#fff9e9;padding:17px 25px;font:700 15px 'Nunito',sans-serif;white-space:nowrap}#buy-token:disabled{cursor:not-allowed;opacity:.7;transform:none}#buy-note{font-size:10px;opacity:.6}.market-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding-top:12px;border-top:1px solid #7f918433;font-size:10px}.market-meta>div{display:flex;align-items:center;gap:7px}.market-meta #journey-hint{opacity:.65}.night #buy-token{background:#dcebc5;color:#243d30}@media(max-width:760px){.market-summary{gap:10px}#journey-cap{font-size:38px;letter-spacing:-1.5px}.market-summary .cap-label{font-size:8px;letter-spacing:1px}#buy-token{padding:13px 14px;font-size:12px;border-radius:12px}#buy-note{font-size:8px}.market-meta{flex-wrap:wrap;gap:6px;font-size:8px;margin-top:10px;padding-top:9px}}

#copy-ca{width:100%;border:1px solid currentColor;border-radius:12px;background:transparent;color:inherit;padding:9px 18px;font:700 12px "Nunito",sans-serif}#copy-ca:disabled{cursor:not-allowed;opacity:.5;transform:none}#ca-note{font-size:10px;opacity:.6}@media(max-width:760px){#copy-ca{padding:7px 12px;font-size:11px}#ca-note{font-size:8px}}

#journey-cap.pending-cap{font-size:clamp(22px,3vw,38px);letter-spacing:-1px;max-width:420px}@media(max-width:760px){#journey-cap.pending-cap{font-size:23px}}

a#buy-token{display:block;text-align:center;text-decoration:none}a#buy-token:hover{filter:brightness(1.1)}
