/* Memo's home: restrained motion, with every moving layer optional. */
.topbar .brand,.topbar nav,.header-end{line-height:1}
.topbar{align-items:center;padding-top:26px;padding-bottom:26px}
.topbar .brand,.topbar nav{align-self:center}
.topbar .brand{display:block;position:relative;padding-left:50px;line-height:40px}
.topbar .brand-name{color:inherit;font-size:inherit;letter-spacing:inherit;margin:0}
.topbar .memo-avatar{position:absolute;left:0;top:50%;transform:translateY(-50%);border-radius:50%;object-fit:cover;border:1px solid #b29aff40}
.header-end{align-self:center}
.topbar nav a,.topbar nav button{display:inline-flex;align-items:center;min-height:40px;padding:0}
.hero{height:440px;border:0;background:#15101b;mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 91%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 91%,transparent)}
.hero-copy{padding-top:48px;padding-bottom:48px}
.hero-art img{object-position:center}
.hero-art:after{pointer-events:none}
.hero-copy .season-note{font-size:11px;line-height:1.7;color:#e6bf9f;margin:20px 0 0}
.season-note span{display:block;font-size:10px;color:var(--muted)}
.season.in-season i{box-shadow:0 0 8px #b29aff66;animation:season-pulse 3s ease-in-out infinite}
@keyframes season-pulse{0%,100%{opacity:.45;box-shadow:0 0 2px #b29aff22}50%{opacity:1;box-shadow:0 0 10px #b29aff88}}
.lotus-watermark{margin-left:4px;display:grid;place-items:center;width:43px;height:40px;opacity:.42;transition:opacity .2s,filter .2s,transform .2s;flex-shrink:0}
.lotus-watermark img{object-fit:contain;width:38px;height:32px}
.lotus-watermark:hover,.lotus-watermark:focus-visible{opacity:1;filter:drop-shadow(0 0 5px #b29aff88)}
.lotus-watermark:active{transform:scale(.92)}
.cauldron-drawer{max-width:none}
.cauldron-drawer{background:linear-gradient(110deg,#19141f,#141019)}
.card{background:linear-gradient(135deg,#19151e,#131017)}
.cauldron-drawer .swap-disabled{background:#34263f}
.cauldron-drawer .swap-disabled{display:grid;place-items:center;min-height:48px;padding:10px}
.cauldron-drawer .swap-disabled svg{width:24px;height:24px;color:#d7c5ff}
.cauldron-drawer .swap-disabled .swap-moon{display:block;margin:0;font-size:28px;font-weight:400;line-height:1;color:#c4a7ff;text-shadow:0 0 22px #9868f57a}
.trade-toolbar{display:flex;align-items:center;gap:18px;margin:0 0 17px;flex-wrap:wrap}
.trade-mode{display:flex;padding:3px;border:1px solid #b29aff20;border-radius:8px;background:#100d15;gap:3px}
.trade-mode button{min-width:70px;padding:6px 13px;font-size:12px;border-radius:5px;color:var(--muted)}
.trade-mode [aria-pressed=true]{background:#30213c;color:#e5d3ff}
.trade-mode [data-trade-mode=sell][aria-pressed=true]{background:#38211e;color:#ffc3a0}
.token-picker-trigger{display:flex;align-items:center;gap:7px;min-height:34px;max-width:65%;min-width:95px;background:#201929;border:1px solid #b29aff25;border-radius:7px;padding:6px 9px;font-size:12px}
.token-picker-trigger>span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;text-align:left}
.token-picker-trigger img{width:20px;height:20px;object-fit:cover;border-radius:50%}
.token-picker-trigger:hover{border-color:#b29aff70}
.quick-amounts{display:flex;gap:5px;margin-top:11px;flex-wrap:wrap}
.quick-amounts button{font-size:10px;padding:3px 8px;border:1px solid #b29aff25;border-radius:5px;color:#cfc0df}
.quick-amounts button:hover:enabled{background:#b29aff15}
.quick-amounts button:disabled{opacity:.4}
.cauldron-inputs{align-items:stretch}
.cauldron-drawer .swap-box{min-height:153px}
.trade-identity{display:flex;align-items:center;gap:12px;margin-top:17px;border-top:1px solid var(--line);padding-top:13px;font-size:10px;color:var(--muted);flex-wrap:wrap}
.trade-identity>span{font-family:monospace;overflow-wrap:anywhere;min-width:0;flex:1}
.trade-identity button,.trade-identity a{font-size:10px;color:var(--purple);white-space:nowrap}
.trade-identity button:disabled{opacity:.4}
.token-picker-content{padding:24px}.token-picker-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.token-picker-heading h2{font-size:22px;margin:0}.token-picker-heading button{font-size:28px;line-height:1;padding:5px}
#token-search{width:100%;padding:12px;background:#100d15;color:var(--text);border:1px solid #b29aff40;border-radius:8px;font-size:13px;margin-bottom:12px}
#token-results{max-height:340px;overflow:auto}
.token-option{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px 9px;border-bottom:1px solid var(--line);text-align:left;border-radius:5px}
.token-option:hover,.token-option:focus-visible{background:#b29aff12}
.token-option strong{display:block;font-size:14px;font-weight:500}.token-option small{display:block;overflow-wrap:anywhere;font-size:10px;color:var(--muted);margin-top:3px}
.token-option>span:first-child{min-width:0}.token-option-price{font-size:11px;white-space:nowrap;color:#cfc0df}
#token-picker-empty{font-size:12px;color:var(--muted);padding:14px 0}
@media(max-width:520px){.trade-toolbar{gap:12px}.trade-identity>span{flex-basis:100%}.token-picker-content{padding:18px}.cauldron-drawer .swap-box{min-height:140px}}
.cauldron-destinations{display:flex;align-items:center;gap:8px;margin:0 0 17px;font-size:11px;color:var(--muted);flex-wrap:wrap}
.cauldron-destinations button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;min-width:58px;padding:5px 12px;border:1px solid #b29aff25;border-radius:20px;font-size:11px;color:var(--text)}
.cauldron-destinations button img{border-radius:50%;object-fit:cover}
.cauldron-destinations button:hover{border-color:#b29aff66}
.cauldron-destinations button[aria-pressed=true]{background:#b29aff13;border-color:#b29aff70;color:#d7c5ff}
.destination-hint{margin-left:4px;font-size:10px}
.cauldron-chevron{color:var(--purple);width:24px;height:24px;flex-shrink:0}
.cauldron-chevron path{d:path('M5 9 L12 15 L19 9');transition:d .32s cubic-bezier(.4,0,.2,1)}
.cauldron-drawer[open] .cauldron-chevron path{d:path('M5 15 L12 9 L19 15')}
.cauldron-drawer[open] .cauldron-chevron{transform:none}
.cauldron-body{max-width:none;padding:0 20px 20px}
.cauldron-drawer .swap-top{display:none}
.cauldron-drawer .swap-panel{padding:0 0 0;background:none;border:0}
.cauldron-drawer .swap-status{margin:0 0 14px;font-size:10px}
.cauldron-flow{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(230px,1fr);gap:25px;align-items:start}
.cauldron-inputs{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:stretch;gap:7px}
.cauldron-drawer .swap-divider{margin:0;padding:0;border:0;display:grid;place-items:center;align-self:center;transform:rotate(-90deg);transition:background .2s}
.cauldron-drawer .swap-divider svg{display:block;width:18px;height:18px}
.cauldron-drawer .swap-divider:hover:enabled{background:#503865}
.cauldron-drawer .swap-divider:disabled{opacity:.4}
.cauldron-drawer .amount-row select{min-width:0;max-width:65%;text-overflow:ellipsis;background:#201929}
.cauldron-drawer .swap-box{min-height:130px;padding:16px}
.cauldron-drawer .token-label{font-size:9px}
.cauldron-drawer .route-info{margin:0 0 12px;row-gap:6px}
.cauldron-drawer .swap-message{font-size:9px;margin:10px 0}
.swap-debug{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 10px;color:#bfaad1;font-size:10px}
.swap-debug[hidden]{display:none}
.swap-debug-copy{border:1px solid #b29aff66;border-radius:6px;padding:3px 8px;color:#ddcaff;font-size:10px}
.cauldron-drawer .text-button{font-size:10px}
.market-status{font-size:10px;color:var(--muted);text-align:center;margin:-10px 0 24px}
.market-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;text-align:left;font-size:10px;padding:13px 0;border-top:1px solid var(--line);margin-top:auto;margin-bottom:12px}
.market-metrics dt{color:var(--muted)}.market-metrics dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}
.market-up{color:#b5d6bb}.market-down{color:#edaaa7}.metric-age{font-size:9px;color:var(--muted);grid-column:1/-1;text-align:center}
.market-stale{color:#e8b887}.token-mint{font-size:10px;overflow-wrap:anywhere;color:var(--purple)}
.memo-companion{position:fixed;left:0;top:0;width:190px;height:155px;padding:0;border:0;background:none;z-index:12;pointer-events:none;transform-origin:center bottom;will-change:transform}
.memo-companion[hidden]{display:none}.memo-companion canvas{width:100%;height:100%;object-fit:contain;transform-origin:50% 75%;transition:transform .3s ease;filter:drop-shadow(0 6px 8px #0005)}
.memo-companion[data-state=watch]{pointer-events:auto;cursor:pointer}
.memo-trinket{position:fixed;z-index:13;pointer-events:none;color:#c7a2ff;font-size:26px;line-height:1;text-shadow:0 0 12px #a66aff88}
.memo-trinket[hidden],body:has(dialog[open]) .memo-trinket{display:none}
.memo-trinket[data-play=bat]{animation:memo-bat-trinket 2.5s ease-in-out both}
.memo-trinket[data-play=mischief]{animation:memo-drop-trinket 2.5s ease-in-out both}
@keyframes memo-bat-trinket{0%,14%{opacity:1;transform:translate(0,0)}55%{opacity:1;transform:translate(-45px,-30px) rotate(150deg)}100%{opacity:0;transform:translate(-80px,25px) rotate(300deg) scale(.3)}}
@keyframes memo-drop-trinket{0%,14%{opacity:1;transform:translate(0,0)}50%{opacity:1;transform:translate(-20px,-15px) rotate(40deg)}100%{opacity:0;transform:translate(-30px,65px) rotate(90deg) scale(.3)}}
.memo-companion[data-state=poof] canvas{animation:memo-poof .7s ease-out forwards}
.memo-companion[data-state=poof]::after{content:'✧';position:absolute;inset:20%;color:#c7a2ff;font-size:75px;text-shadow:0 0 30px #be88ff;animation:memo-poof .7s ease-out forwards}
@keyframes memo-poof{0%{opacity:1;filter:blur(0)}50%{opacity:.65;filter:blur(6px);scale:1.1}100%{opacity:0;filter:blur(16px);scale:.5}}
.memo-blink{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;stroke:none;fill:none}
.memo-blink-paint{opacity:0}
.memo-blink.is-blinking .memo-blink-paint{animation:memo-blink .9s ease-in-out both}
.memo-background-blink{filter:blur(.7px) saturate(.84) brightness(.86)}
@media(max-width:520px){.memo-background-blink{filter:blur(.5px) saturate(.84) brightness(.86)}}
@keyframes memo-blink{0%,35%,55%,90%,100%{opacity:0}12%,22%,65%,75%{opacity:1}}
.launch-strip>.memo-portrait{width:74px;height:74px;border-radius:50%;object-fit:cover;object-position:center;border:1px solid #b29aff55;box-shadow:0 0 24px #b29aff12;flex-shrink:0}
.portrait-preview{width:100%;border-radius:12px;display:block;margin:18px 0}
@media(max-width:950px){.cauldron-flow{grid-template-columns:1fr;gap:17px}.cauldron-review{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;align-items:center}.cauldron-review .route-info{grid-row:span 2}.cauldron-review .text-button{grid-column:1/-1}.cauldron-review .swap-message{margin:9px 0}.hero{height:425px}}
@media(max-width:800px){.topbar{padding-top:18px;padding-bottom:18px}.hero{height:410px}.hero-copy{padding-top:30px;padding-bottom:30px}footer{gap:12px}footer>span{max-width:170px}}
@media(max-width:520px){.hero{height:auto;min-height:560px}.hero-copy{padding-bottom:230px}.hero-art{height:265px}.cauldron-body{padding:0 12px 15px}.cauldron-inputs{grid-template-columns:1fr;gap:0}.cauldron-drawer .swap-divider{margin:-6px auto;transform:none;border:3px solid #21182b}.cauldron-drawer .swap-box{min-height:110px}.cauldron-review{display:block}.cauldron-review .swap-message{margin:12px 0}.memo-companion{width:150px;height:122px}footer .lotus-watermark{margin-left:auto}footer>span{max-width:none}.launch-strip>.memo-portrait{width:58px;height:58px}}
@media(prefers-reduced-motion:reduce){.season.in-season i,.memo-companion[data-state=poof] canvas,.memo-companion[data-state=poof]::after{animation:none}.memo-blink{display:none}.cauldron-chevron path{transition:none}}

.card .creature-icon img,.lore-summary .creature-icon img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.curator-link{font-size:10px;color:var(--purple)}
@media(max-width:520px){.launch-strip{display:grid;grid-template-columns:58px minmax(0,1fr);gap:16px;align-items:start}.launch-strip>.memo-portrait{grid-row:1/3}.launch-strip>div{min-width:0}.launch-strip #memo-launch{grid-column:2;margin:0;justify-self:start}}

.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));justify-content:center}.card{width:100%;max-width:350px;justify-self:center}.quick-amounts button{min-height:28px}
/* Portrait orbit: the same token identity drives both the wheel and search. */
#token-picker{position:fixed;inset:auto;margin:0;width:min(390px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:0;background:#120e1a;border:1px solid #b29aff40;border-radius:24px;box-shadow:0 24px 90px #0009}
#token-picker::backdrop{background:#09060e80;backdrop-filter:blur(3px)}
#token-picker[open]{animation:orbit-arrive .16s ease-out}
#token-picker .token-picker-content{padding:20px}
#token-picker .token-picker-heading{margin-bottom:14px}
#token-picker .token-picker-heading h2{font-size:18px;font-weight:500}
#token-picker #token-search{margin-bottom:0;font-size:12px;padding:10px 12px}
#token-results.radial-results{position:relative;height:310px;max-height:none;overflow:visible;margin:6px 0 0}
.radial-results:before{content:'';position:absolute;width:68%;height:68%;border:1px solid #b29aff18;border-radius:50%;left:16%;top:16%;pointer-events:none}
.radial-hub{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:100px;text-align:center;pointer-events:none}
.radial-hub>span{display:block;font-size:34px;color:#c4a7ff;text-shadow:0 0 22px #9868f57a;line-height:1.2}
.radial-hub small{display:block;font-size:9px;line-height:1.4;letter-spacing:.5px;margin:8px auto 0;color:var(--muted);max-width:76px}
.token-portrait{position:relative;display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;overflow:hidden;border-radius:50%;background:linear-gradient(135deg,#342340,#17101f);color:#cfb5ff;border:1px solid #b29aff45;font-size:20px}
.token-portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#token-results:not(.radial-results) .token-option>span:nth-child(2){flex:1;min-width:0}
#token-results:not(.radial-results){margin-top:12px;max-height:310px}
.radial-results .token-option{position:absolute;left:calc(50% + var(--orbit-x));top:calc(50% + var(--orbit-y));transform:translate(-50%,-50%);width:92px;min-height:86px;padding:4px;display:flex;flex-direction:column;justify-content:flex-start;gap:6px;text-align:center;border:0;border-radius:14px;transition:background .12s}
.radial-results .token-portrait{width:56px;height:56px;font-size:26px;transition:border-color .12s,box-shadow .12s}
.radial-results .token-option strong{font-size:11px;max-width:86px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.radial-results .token-option small,.radial-results .token-option-price{display:none}
.token-option[aria-pressed=true] .token-portrait{border-color:var(--orange);box-shadow:0 0 0 3px #ffa45c20}
.token-option:hover .token-portrait,.token-option:focus-visible .token-portrait{border-color:#d4baff;box-shadow:0 0 20px #b29aff35}
#token-pages:not([hidden]){display:flex;justify-content:center;align-items:center;gap:22px;font-size:11px;color:var(--muted)}
#token-pages button{width:44px;height:36px;border-radius:9px;border:1px solid var(--line);font-size:17px}
#token-pages button:disabled{opacity:.3}
@keyframes orbit-arrive{from{opacity:0;scale:.97}to{opacity:1;scale:1}}
@media(max-width:370px){#token-picker .token-picker-content{padding:14px}#token-results.radial-results{height:280px}.radial-results .token-option{width:76px}.radial-results .token-option strong{max-width:72px}.radial-results .token-portrait{width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){#token-picker[open]{animation:none}}
@media(max-width:370px){.topbar{padding-left:14px;padding-right:14px;gap:12px}.topbar .brand{font-size:20px;gap:7px}.topbar .wallet-button{padding:7px 9px}.topbar .header-end{gap:8px}}
/* The tokens sit over the fire; the reverse control and flame share an axis. */
.cauldron-vessel{min-width:0}
.cauldron-drawer .amount-row{display:flex;flex-direction:column-reverse;align-items:center;gap:12px;margin:15px 0 10px}
.cauldron-drawer .token-picker-trigger{justify-content:center;max-width:100%;min-width:100px;min-height:38px;padding:7px 12px;margin:0 auto;border-radius:20px}
.cauldron-drawer .token-picker-trigger>span:first-of-type{flex:initial;text-align:center}
.cauldron-drawer .amount-row input{width:100%;text-align:center}
.cauldron-drawer .amount-row input:focus::placeholder{color:transparent}
.cauldron-drawer .output-amount{line-height:1.3;min-height:39px}
.cauldron-drawer .swap-box>p{text-align:center}
.cauldron-drawer .quick-amounts{justify-content:center}
.cauldron-fire-seat{display:flex;justify-content:center;margin:14px 0 0}
.cauldron-fire{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffa45c50;border-radius:50%;color:#ffa45c;background:#1b1217;transition:background .15s,box-shadow .15s,border-color .15s}
.cauldron-fire svg{width:23px;height:23px;stroke-width:1.4}
.cauldron-fire:hover,.cauldron-fire[aria-expanded=true]{background:#2d1a20;border-color:#ffa45c;box-shadow:0 0 22px #ff9b4028}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#swap-settings{width:min(460px,calc(100vw - 32px));padding:26px;background:#17121f;border:1px solid #b29aff35;border-radius:20px}
#swap-settings::backdrop{background:#09060e90;backdrop-filter:blur(3px)}
.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:24px}
.settings-heading h2{font-size:21px;font-weight:500;letter-spacing:-.5px;margin:0}
.settings-heading button{font-size:26px;width:36px;height:36px;line-height:1}
#swap-settings fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}
#swap-settings legend{padding:0;font-size:13px;font-weight:500}
#swap-settings legend span{font-size:10px;color:var(--muted);margin-left:5px;font-weight:400}
#swap-settings p{font-size:11px;line-height:1.6;color:var(--muted);margin:6px 0 12px}
.sol-preset-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sol-preset-fields label{font-size:10px;color:var(--muted)}
#swap-settings input{background:#100d15;border:1px solid #b29aff35;border-radius:7px;color:var(--text);padding:10px;min-width:0;width:100%;font-size:13px}
.sol-preset-fields input{display:block;margin-top:5px}
.slippage-options{display:flex;align-items:end;gap:7px}
.slippage-options button{padding:10px 12px;border:1px solid #b29aff25;border-radius:7px;font-size:12px;min-height:41px}
.slippage-options button[aria-pressed=true]{color:var(--orange);background:#ffa45c0a;border-color:#ffa45c55}
.slippage-options label{font-size:10px;color:var(--muted);margin-left:auto;width:100px;min-width:0}
.slippage-options label>span{display:flex;align-items:center;gap:7px;margin-top:5px}
#swap-settings .settings-note{border-top:1px solid var(--line);padding-top:16px;margin-top:0}
#swap-settings #preferences-error{color:#edaaa7;min-height:0}
#swap-settings [aria-invalid=true]{border-color:#edaaa7}
.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px;font-size:12px}
#reset-swap-settings{margin-right:auto;color:var(--muted)}
.settings-actions button{min-height:40px}
.settings-actions .save-settings{padding:9px 14px;background:#b29aff;color:#160f20;border-radius:8px}
@media(max-width:520px){#swap-settings{padding:20px}.slippage-options{gap:5px}.slippage-options button{padding:10px}.slippage-options label{width:85px}.settings-actions{gap:9px}.cauldron-fire-seat{margin-bottom:6px}}
/* Moonlight spills beyond the banner into the surrounding night. */
body{background:radial-gradient(ellipse 950px 630px at calc(50% + 390px) 420px,#783acb2b,transparent 74%),radial-gradient(ellipse 760px 540px at calc(50% - 390px) 470px,#90422e20,transparent 76%),radial-gradient(ellipse 1200px 360px at 50% 790px,#35214522,transparent 78%),#100d15}
.landing{justify-content:flex-start;padding-top:clamp(40px,9svh,100px);padding-bottom:70px}
.landing .hero{height:clamp(440px,44svh,480px);background:transparent;border-radius:0;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 87%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 87%,transparent)}
/* One sky sits behind the top bar, banner, and the surrounding room. */
body::after{content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.82;background-image:radial-gradient(circle at 5% 6%,#f3ddff 0 1px,transparent 2px),radial-gradient(circle at 12% 14%,#c7a8f2 0 1px,transparent 2px),radial-gradient(circle at 18% 5%,#f7e9ff 0 1.3px,transparent 2.5px),radial-gradient(circle at 26% 11%,#d9c2ff 0 .8px,transparent 2px),radial-gradient(circle at 32% 20%,#f3ddff 0 1px,transparent 2px),radial-gradient(circle at 38% 7%,#d4b8f9 0 1px,transparent 2px),radial-gradient(circle at 45% 4%,#fff2ff 0 1.4px,transparent 3px),radial-gradient(circle at 53% 17%,#d9b9ff 0 .8px,transparent 2px),radial-gradient(circle at 61% 8%,#f3ddff 0 1px,transparent 2px),radial-gradient(circle at 70% 3%,#c7a8f2 0 .8px,transparent 2px),radial-gradient(circle at 79% 14%,#f7e9ff 0 1px,transparent 2px),radial-gradient(circle at 89% 5%,#d8b8ff 0 1px,transparent 2px),radial-gradient(circle at 96% 19%,#f3ddff 0 .8px,transparent 2px),radial-gradient(circle at 9% 29%,#c7a8f2 0 .7px,transparent 1.8px),radial-gradient(circle at 28% 38%,#f7e9ff 0 .7px,transparent 1.8px),radial-gradient(circle at 47% 33%,#d9b9ff 0 .7px,transparent 1.8px),radial-gradient(circle at 76% 36%,#f3ddff 0 .7px,transparent 1.8px);mask-image:linear-gradient(to bottom,#000 0 20%,#000b 45%,transparent 82%);-webkit-mask-image:linear-gradient(to bottom,#000 0 20%,#000b 45%,transparent 82%)}
.hero-art{mask-image:linear-gradient(to right,transparent,#000 19%,#000 97%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 19%,#000 97%,transparent)}
.hero-art:after{background:linear-gradient(90deg,#19121e80,transparent 32%),linear-gradient(0deg,#15101b99,transparent 30%)}
@media(max-width:950px){.landing{padding-top:clamp(30px,6svh,60px)}.landing .hero{height:440px}}
@media(max-width:520px){body{background:radial-gradient(ellipse 450px 650px at 85% 500px,#783acb26,transparent 75%),radial-gradient(ellipse 400px 400px at 5% 280px,#90422e1c,transparent 80%),#100d15}.landing{padding-top:20px;padding-bottom:36px}.landing .hero{height:auto;min-height:560px;background:linear-gradient(180deg,#19121e80,transparent)}.hero-art{mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 84%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 24%,#000 84%,transparent)}.hero-art:after{background:linear-gradient(180deg,#19121e90,transparent 55%)}}
/* One compact Cauldron travels into inspection without duplicating its state. */
.lore-summary>.creature-icon{position:relative;left:50%;margin-left:0;margin-right:0;transform:translateX(-50%)}
.token-picker-name,.token-picker-emblem{display:none}
.lore-summary>.market-metrics{padding-bottom:0;margin-bottom:0}
.dialog-inner .creation-note{margin:8px 0 0;font-size:10px;line-height:1.4;text-align:center;color:var(--muted)}
.mini-cauldron.cauldron-drawer{position:relative;width:100%;margin:6px 0 0;padding:12px 20px;background:#110e17;border:1px solid #b29aff35;border-radius:15px}
.mini-cauldron-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;height:32px;margin-bottom:10px}
.dialog-inner .mini-cauldron-heading h3{margin:0;font-size:15px;color:#f3eaf8;letter-spacing:-.4px;font-weight:500}
.cook-cauldron{font:inherit;letter-spacing:inherit;min-height:32px;padding:0;color:inherit}
.cook-cauldron:hover{color:var(--purple)}
.expand-cauldron{font-size:10px;color:var(--purple);min-height:30px;padding:4px 8px;border:1px solid #b29aff25;border-radius:8px;background:transparent}
.expand-cauldron:hover{background:#b29aff0d;border-color:#b29aff60}
.mini-cauldron .swap-status,.mini-cauldron .trade-identity,.mini-cauldron .route-info,.mini-cauldron .text-button,.mini-cauldron .swap-box>p,.mini-cauldron .amount-unit{display:none}
.mini-cauldron .text-button[data-modal="receipt"]{display:block}
.receipt-list{list-style:none;padding:0;margin:20px 0;max-height:45vh;overflow:auto;display:grid;gap:10px}
.receipt-list li{min-width:0;padding:12px 14px;border:1px solid #b29aff30;border-radius:9px;background:#b29aff09}
.receipt-list time{display:block;color:#c8b6d8;font-size:11px}
.receipt-list code{display:block;overflow-wrap:anywhere;margin:5px 0 10px;font-size:11px;color:#f0e6f7}
.receipt-list li span{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.receipt-list button,.receipt-clear{color:var(--purple);font-size:11px;padding:5px 0}
.receipt-clear{margin-top:5px}
.mini-cauldron .trade-toolbar{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;margin:0}
.mini-cauldron .trade-mode{background:#0d0a11;padding:2px;border-radius:8px}
.mini-cauldron .trade-mode button{min-width:48px;min-height:28px;font-size:11px;padding:3px 10px;border-radius:6px}
.mini-cauldron .cauldron-flow{display:block}
.mini-cauldron .cauldron-inputs{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 0 minmax(0,1fr);grid-template-rows:auto;gap:0;border:1px solid #b29aff24;border-radius:12px;background:linear-gradient(135deg,#1e1726,#151019);overflow:hidden}
.mini-cauldron .swap-box{min-width:0;min-height:0;margin:0;padding:10px 12px;border:0;border-radius:0;background:none}
.mini-cauldron .swap-box:last-child{grid-column:3;grid-row:1;border-left:1px solid #b29aff20;background:#08060b18}
.mini-cauldron .input-caption,.mini-cauldron .input-caption label{font-size:10px;color:#c4b3d0}
.mini-cauldron .input-caption>span{display:none}
.mini-cauldron .swap-box:first-child .input-caption{justify-content:flex-end;text-align:right}
.mini-cauldron .amount-row{display:flex;flex-direction:column-reverse;align-items:stretch;gap:6px;margin:6px 0 0}
.mini-cauldron .amount-row input,.mini-cauldron .output-amount{width:100%;font-size:26px;line-height:1.15;min-height:30px;text-align:left;letter-spacing:-.7px;font-variant-numeric:tabular-nums}
.mini-cauldron .amount-row input:focus-visible{box-shadow:0 1px #b29aff80}
.mini-cauldron .swap-box:first-child .amount-row input{text-align:right}
.mini-cauldron .output-amount{color:#a899b7}
.mini-cauldron .token-picker-trigger{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;max-width:100%;min-height:32px;margin:0;padding:3px 8px;border:1px solid #b29aff2b;border-radius:8px;background:#b29aff09}
.mini-cauldron .token-picker-trigger img,.mini-cauldron .token-picker-emblem{width:22px;height:22px;border-radius:50%;flex-shrink:0}
.mini-cauldron .token-picker-emblem{display:grid;place-items:center;background:linear-gradient(135deg,#805cac33,#65c9bb20);line-height:1;color:#c6b3e3;flex:none}
.mini-cauldron .token-picker-emblem svg{display:block;width:20px;height:20px;flex:none;margin:0}
.mini-cauldron .token-picker-trigger>.token-picker-symbol{flex:0 1 auto;text-align:center;font-size:12px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mini-cauldron .token-picker-name{display:none}
.mini-cauldron .swap-divider{grid-row:1;grid-column:2;justify-self:center;align-self:center;z-index:2;width:28px;height:28px;margin:0;border:3px solid #17111f;border-radius:8px;transform:none;background:#33233f;color:#dbc2ff}
.mini-cauldron .swap-divider svg{width:16px;height:16px;transform:rotate(90deg)}
.mini-cauldron .quick-amounts{justify-content:flex-end;flex-wrap:wrap;gap:4px;margin-top:6px}
.mini-cauldron .quick-amounts button{min-width:32px;min-height:26px;padding:3px 6px;font-size:10px;border-radius:6px;background:#0f0b1666;border-color:#b29aff22}
.mini-cauldron .quick-amounts button:hover:enabled{border-color:#b29aff80;background:#b29aff12}
.mini-cauldron .cauldron-fire-seat{margin:11px 0;position:relative;gap:14px;align-items:center}
.mini-cauldron .cauldron-fire-seat:before,.mini-cauldron .cauldron-fire-seat:after{content:'';height:1px;flex:1;background:linear-gradient(90deg,transparent,#ffa45c25)}
.mini-cauldron .cauldron-fire-seat:after{transform:rotate(180deg)}
.mini-cauldron .cauldron-fire{width:28px;height:28px;background:#1c121b;border-color:#ffa45c40;flex-shrink:0}
.mini-cauldron .cauldron-fire svg{width:17px;height:17px}
.mini-cauldron .cauldron-review{display:block}
.mini-cauldron .swap-disabled{min-height:32px;padding:4px;width:100%;border-radius:8px;background:linear-gradient(100deg,#37243f,#292035);border-color:#b29aff27}
.mini-cauldron .swap-disabled .swap-moon{font-size:24px}
.dialog-inner .mini-cauldron .swap-message{font-size:10px;line-height:1.4;margin:6px 0 0;text-align:center;color:#a594b3}
@media(min-width:521px){.mini-cauldron .amount-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.mini-cauldron .token-picker-trigger{max-width:125px}.mini-cauldron .swap-box{padding:10px 18px}}
@media(min-width:521px){.mini-cauldron .swap-box:first-child .amount-row{grid-template-columns:auto minmax(0,1fr)}.mini-cauldron .swap-box:first-child .token-picker-trigger{order:-1}}
@media(max-width:520px){.mini-cauldron.cauldron-drawer{padding:10px 12px}.mini-cauldron .trade-toolbar{top:10px}.mini-cauldron .trade-mode button{min-width:42px;padding:3px 7px}.mini-cauldron .swap-box{padding:9px 10px}.mini-cauldron .quick-amounts button{min-width:26px;padding:3px 4px}.mini-cauldron .token-picker-trigger{padding:3px 5px}.mini-cauldron .token-picker-trigger>.token-picker-symbol{font-size:11px}}
@media(max-width:360px){.dialog-inner .mini-cauldron-heading h3{font-size:13px}.mini-cauldron .trade-mode button{min-width:36px;padding:3px 5px}.mini-cauldron .expand-cauldron{font-size:9px;padding:4px 5px}}
@media(max-width:520px){.mini-cauldron .swap-box:first-child{padding-right:16px}.mini-cauldron .swap-box:last-child{padding-left:16px}}
/* Keep off-screen entrances and exits from expanding the page's scroll area. */
.memo-stage{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:12;contain:layout paint}
.memo-stage .memo-companion,.memo-stage .memo-trinket{position:absolute}
/* Fold the welcome copy away; Memo's original scene becomes the room. */
body{isolation:isolate}
.memo-scenery{position:fixed;inset:0;z-index:-1;pointer-events:none;display:grid;place-items:center;overflow:hidden;opacity:0;transform:scale(.98);background:#100d15}
.memo-scenery img{width:100%;height:100%;max-width:1920px;max-height:1280px;object-fit:cover;object-position:66% 48%;filter:blur(.7px) saturate(.84) brightness(.86);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.memo-scenery:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#100d1540,transparent 22%,transparent 80%,#100d1550)}
.banner-control{position:relative;z-index:1;display:flex;justify-content:center;height:36px;transform:translateX(-2px)}
#banner-toggle{display:grid;place-items:center;width:52px;height:36px;padding:0;color:#bba3d6;border-radius:0 0 18px 18px;background:transparent;border:1px solid #b29aff45;border-top:0}
#banner-toggle svg{width:19px;height:19px;transform:translateX(1px)}
#banner-toggle path{d:path('M6 12 L12 6 L18 12');transition:d .5s ease-in-out}
#banner-toggle:hover{color:#f0dcff;border-color:#b29aff85;background:transparent}
.hero-fold{display:grid;grid-template-rows:1fr;opacity:1}
.hero-clip{min-height:0;overflow:hidden}
.banner-tucked .hero-fold{grid-template-rows:0fr;opacity:0}
.banner-tucked .memo-scenery{opacity:1;transform:scale(1)}
.banner-tucked #banner-toggle path{d:path('M6 12 L12 18 L18 12')}
.banner-ready .hero-fold{transition:grid-template-rows .75s cubic-bezier(.22,.7,.2,1),opacity .45s ease}
.banner-ready .memo-scenery{transition:opacity .95s ease,transform 1.1s cubic-bezier(.22,.7,.2,1)}
.banner-ready .workspace{transition:margin-top .75s cubic-bezier(.22,.7,.2,1)}
.banner-tucked .workspace{margin-top:14px}
.topbar,.banner-tucked .topbar{background:transparent;border-bottom:0;box-shadow:none}
.banner-tucked .section-heading{padding:16px 12px;border-radius:20px;background:radial-gradient(ellipse,#100d15bd,transparent 72%);text-shadow:0 2px 8px #100d15}
.banner-tucked .collection-moon{margin-bottom:8px}
.banner-tucked .search,.banner-tucked .filters button{background:#15101bed}
.banner-tucked .market-status,.banner-tucked .collection-foot{text-shadow:0 1px 4px #000,0 0 12px #000}
.banner-tucked .launch-strip,.banner-tucked footer{background:#100d15db;border-radius:14px;padding-left:18px;padding-right:18px}
@media(max-width:520px){.memo-scenery img{object-position:67% 50%;mask-image:none;filter:blur(.5px) saturate(.84) brightness(.86)}.banner-tucked .workspace{margin-top:8px}.banner-control{height:34px}#banner-toggle{height:34px}.banner-tucked .section-heading{background:#100d15a6}}
@media(prefers-reduced-motion:reduce){.hero-fold,.memo-scenery,.workspace,#banner-toggle path{transition:none!important}.memo-scenery{transform:none}}
.submit-coin-group{display:flex;align-items:center;justify-content:center;gap:9px;flex-wrap:wrap;margin:8px 0 30px;text-align:center}
.submit-coin-button{display:inline-block;padding:5px 0;color:#d7bdf2;font-size:11px;text-decoration:underline;text-decoration-color:#b29aff70;text-underline-offset:4px}
.submit-coin-hint{font-size:10px;color:#a99bb2}
.submit-coin-button:hover{color:#f2e7ff}
#coin-submission-form label{display:block;margin:17px 0 6px;color:#dfd2e7;font-size:11px}
#coin-submission-form input,#coin-submission-form textarea{display:block;width:100%;border:1px solid #b29aff50;border-radius:8px;background:#100d15aa;color:#f8f2eb;padding:11px 12px;font:inherit;resize:vertical}
#coin-submission-form input:focus-visible,#coin-submission-form textarea:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
#coin-submission-form .submission-wallet{margin:17px 0 10px;overflow-wrap:anywhere;font-size:11px}
#coin-submission-form .secondary,#coin-submission-form .primary{margin:0 9px 10px 0;min-height:39px}
#submission-status{min-height:24px;color:#e9b6a9}
.submission-thanks{padding:14px 0}.submission-thanks>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid #76d9a4;border-radius:50%;color:#8df0b7;font-size:24px}.submission-thanks h3{color:#baf5d0}
.card>.category{margin-bottom:18px}

/* Lotus Glass: one coherent material, deepening with the focus of the tool. */
#detail.is-haunt{background:linear-gradient(145deg,#21162a38,#100c1728);border-color:#dfc6ff68;box-shadow:0 34px 110px #0502089c,inset 0 1px #ffffff12,0 0 45px #9f62da1c;backdrop-filter:blur(9px) saturate(1.4)}
#detail.is-haunt::backdrop{background:#09050d38;backdrop-filter:blur(3px)}
#detail.is-haunt .dialog-inner{background:linear-gradient(145deg,#ffffff0a,transparent 58%)}
#token-picker{background:linear-gradient(145deg,#171020d9,#0b0811d1);border-color:#d0b0ff52;box-shadow:0 28px 100px #030105d6,0 0 36px #a56ee01a;backdrop-filter:blur(25px) saturate(1.38)}
#token-picker .token-picker-content{background:linear-gradient(145deg,#ffffff05,transparent 54%)}
#swap-settings{background:linear-gradient(145deg,#130d1bef,#09070eee);border-color:#c7a4f348;box-shadow:0 30px 110px #020103e8,0 0 34px #925ccc12;backdrop-filter:blur(27px) saturate(1.28)}
#swap-settings input{background:#08060cb8}
.cauldron-drawer .swap-disabled.is-ready{cursor:pointer;border-color:#b988f278;background:linear-gradient(110deg,#4a3158,#30203c);box-shadow:inset 0 1px #ffffff0b,0 0 24px #a66be31a}
.cauldron-drawer .swap-disabled.is-ready:hover{border-color:#d3b0ffad;background:linear-gradient(110deg,#563865,#382548)}
@supports not (backdrop-filter:blur(1px)){#detail.is-haunt{background:#17101f}#token-picker{background:#110c18}#swap-settings{background:#0d0912}}
@media(prefers-reduced-transparency:reduce){#detail.is-haunt{background:#17101f;backdrop-filter:none}#token-picker{background:#110c18;backdrop-filter:none}#swap-settings{background:#0d0912;backdrop-filter:none}}
