:root{--panel-ink: #e2d6c0;--panel-ink-dim: #97917f;--panel-ink-faint: #6d6a5e;--panel-gold: #c9b37e;--panel-border: rgba(139, 102, 58, .55);--panel-border-soft: rgba(90, 66, 38, .4);--value-up: #86d9a2;--value-down: #e08a7a}#overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:22;pointer-events:none;font-family:var(--sans)}#overlay>*{pointer-events:auto}#overlay>.camp-quote,#overlay>.camp-info,#overlay>.wallet-note,#overlay>.ignite-toast,#overlay>.knight-toast,#overlay>.world-clock,#overlay>.left-stack{pointer-events:none}.overlay-item{opacity:0;transition:opacity 1.1s ease,transform 1.1s cubic-bezier(.2,.7,.3,1)}#overlay.visible .overlay-item{opacity:1}#overlay.visible .left-stack{transition-delay:.32s}#overlay.visible .camp-quote{transition-delay:.7s}#top-bar-actions .wallet-button{opacity:0;transition:opacity 1.1s ease .12s}body[data-state=live] #top-bar-actions .wallet-button{opacity:1}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.camp-quote{position:absolute;top:calc(max(12px,env(safe-area-inset-top)) + 72px);left:50%;transform:translate(-50%);max-width:min(480px,74vw);text-align:center;font-family:var(--serif);font-style:italic;font-size:1.02rem;line-height:1.5;color:#e2d6c09e;letter-spacing:.04em;text-shadow:0 1px 8px rgba(0,0,0,.7);pointer-events:none}.camp-quote:after{content:"";display:block;width:34px;height:1px;margin:10px auto 0;background:linear-gradient(90deg,transparent,rgba(201,179,126,.6),transparent)}.camp-quote.swap{opacity:0!important;transition:opacity .7s ease}.brass-plate{position:relative;border:none;border-radius:5px;color:var(--ember-soft);cursor:pointer;background:linear-gradient(180deg,#48321ef2,#281b10f5 46%,#18100af7);box-shadow:inset 0 1px #ffd69c47,inset 0 -2px 5px #0000008c,inset 0 0 0 1px #00000073,0 3px #00000059,0 8px 20px #00000080;transition:transform .14s cubic-bezier(.2,.8,.3,1),box-shadow .24s ease,filter .24s ease}.brass-plate:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(180deg,#e2b876d9,#78552d80 55%,#3c2816b3);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;pointer-events:none}.brass-plate:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:radial-gradient(120% 160% at 50% 120%,rgba(255,140,45,.35),transparent 62%);opacity:0;transition:opacity .26s ease;pointer-events:none}.brass-plate:hover{filter:brightness(1.1);box-shadow:inset 0 1px #ffe2b25c,inset 0 -2px 5px #00000080,inset 0 0 0 1px #0006,0 3px #00000059,0 10px 26px #0000008c,0 0 26px #ff8a2c38}.brass-plate:hover:after{opacity:1}.brass-plate:focus-visible{outline:2px solid var(--ember-soft);outline-offset:3px}.brass-plate:active{transform:translateY(2px);box-shadow:inset 0 2px 6px #0009,inset 0 0 0 1px #00000080,0 1px #0000004d,0 3px 10px #00000073}.brass-plate[disabled]{opacity:.6;cursor:wait;filter:saturate(.6)}.brass-plate[disabled]:hover{transform:none;filter:saturate(.6)}.wallet-button{display:flex;align-items:center;gap:9px;min-height:46px;padding:0 20px;font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.6)}.wallet-button svg{width:17px;height:17px;flex:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.wallet-button .status-dot{width:7px;height:7px;border-radius:50%;background:var(--value-up);box-shadow:0 0 8px #86d9a2e6,inset 0 0 0 1px #ffffff59;display:none}.wallet-button[data-connected=true] .status-dot{display:block}.wallet-button[data-connected=true]{text-transform:none;letter-spacing:.05em;font-size:.8rem;padding:0 13px;gap:7px}.wallet-button[data-connected=true] .label-full,.wallet-button[data-connected=true] .label-short{display:none!important}.wallet-button[data-connected=true] svg{width:19px;height:19px}.wallet-note{position:absolute;top:calc(max(12px,env(safe-area-inset-top)) + 62px);right:22px;font-size:.64rem;letter-spacing:.14em;color:var(--panel-ink-faint);text-transform:uppercase;pointer-events:none}#overlay.card-open .wallet-note{opacity:0}.wallet-chip-value{margin-left:8px;color:var(--panel-ink-dim);font-variant-numeric:tabular-nums}.left-stack{position:absolute;left:24px;top:calc(max(12px,env(safe-area-inset-top)) + 66px);display:flex;flex-direction:column;gap:14px;pointer-events:none}.market-ticker{display:flex;flex-direction:column;gap:10px}.world-clock{position:absolute;left:24px;bottom:calc(max(26px,env(safe-area-inset-bottom)) + 30px);display:flex;flex-direction:column;align-items:flex-start;gap:8px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.85));pointer-events:none}.clock-city{display:inline-flex;align-items:center;gap:7px}.clock-phase{display:inline-flex}.clock-phase svg{width:13px;height:13px}.clock-day .clock-phase{color:var(--ember-soft)}.clock-night .clock-phase{color:#9fb2d8}.clock-label{font-style:normal;font-size:.6rem;letter-spacing:.14em;color:#e2d6c08c;min-width:2.6em}.clock-time{font-weight:500;font-size:.78rem;color:var(--panel-ink);font-variant-numeric:tabular-nums;text-shadow:0 1px 4px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.5)}.settings-switch{position:relative;width:44px;height:24px;flex:none;border:none;border-radius:999px;cursor:pointer;background:linear-gradient(180deg,#140e09f2,#261b10f2);box-shadow:inset 0 1px 3px #0009,inset 0 0 0 1px #e2b87647;transition:box-shadow .22s ease,background .22s ease}.settings-switch-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:linear-gradient(180deg,#8a6a42,#5a4227);box-shadow:inset 0 1px #ffd69c66,0 1px 3px #0009;transition:transform .22s cubic-bezier(.2,.7,.3,1),background .22s ease}.settings-switch[aria-pressed=true]{background:linear-gradient(180deg,#603e1ef2,#362412f2);box-shadow:inset 0 1px 3px #00000080,inset 0 0 0 1px #ffc87880,0 0 12px #ff8a2c2e}.settings-switch[aria-pressed=true] .settings-switch-knob{transform:translate(20px);background:linear-gradient(180deg,var(--ember-soft),#c98d4a)}.settings-switch:focus-visible{outline:2px solid var(--ember-soft);outline-offset:3px}.settings-hint{margin-left:8px;font-style:normal;font-size:.6rem;letter-spacing:.08em;color:#e2b87699}.settings-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 12px}.settings-chip{padding:5px 11px;border:none;border-radius:999px;cursor:pointer;font-family:var(--sans);font-size:.62rem;font-weight:500;letter-spacing:.08em;color:#e2d6c08c;background:#0000004d;box-shadow:inset 0 0 0 1px #e2b87638;transition:color .18s ease,background .18s ease,box-shadow .18s ease,opacity .18s ease}.settings-chip[aria-pressed=true]{color:var(--ember-soft);background:#603e1e8c;box-shadow:inset 0 0 0 1px #ffc87880,inset 0 1px #ffd69c33}.settings-chip:hover{filter:brightness(1.15)}.settings-chip:focus-visible{outline:2px solid var(--ember-soft);outline-offset:2px}.settings-chips[data-full=true] .settings-chip[aria-pressed=false]{opacity:.35;cursor:default}.ticker-row{display:flex;align-items:center;gap:9px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.85))}.coin-icon{position:relative;overflow:hidden;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:600;color:#ffffffeb;box-shadow:inset 0 -4px 8px #00000059,0 1px 4px #00000080}.coin-icon img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.coin-icon.ticker-coin{width:20px;height:20px;font-size:.6rem;flex:none}.ticker-spark{width:58px;height:16px;opacity:.95;flex:none}.ticker-spark polyline{fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.ticker-price{font-size:.78rem;color:var(--panel-ink);font-variant-numeric:tabular-nums;text-shadow:0 1px 4px rgba(0,0,0,.9),0 0 12px rgba(0,0,0,.5)}.market-ticker.stale{opacity:.55}.ticker-skel{width:132px;height:16px;border-radius:3px;background:linear-gradient(100deg,#ffffff0d 30%,#ffffff1a,#ffffff0d 70%);background-size:200% 100%;animation:shimmer 1.6s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}.portfolio-card{position:absolute;right:20px;top:calc(max(12px,env(safe-area-inset-top)) + 66px);width:288px;color:var(--panel-ink);border-radius:11px;padding:8px;background:repeating-linear-gradient(93deg,rgba(0,0,0,.2) 0 1.5px,rgba(255,220,160,.035) 1.5px 3px,transparent 3px 9px),linear-gradient(180deg,#614326fa,#3e2a18fa 34%,#24180efc);box-shadow:inset 0 1px #ffcd8c3d,inset 0 0 0 1px #0000008c,inset 0 -2px 6px #00000080,0 14px 40px #0009;transform:translateY(0);transition:opacity .46s ease,transform .46s cubic-bezier(.2,.7,.3,1),visibility 0s}#overlay.visible .portfolio-card:not([data-open=true]){opacity:0;transform:translateY(-10px);pointer-events:none;visibility:hidden;transition:opacity .42s ease,transform .42s cubic-bezier(.2,.7,.3,1),visibility 0s linear .42s}.portfolio-card:not([data-open=true]){visibility:hidden;pointer-events:none}.card-head{display:flex;align-items:center;gap:8px;padding:5px 4px 10px 8px}.card-head>svg{width:15px;height:15px;color:var(--panel-gold);flex:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.6))}.card-head h2{flex:1;font-family:var(--serif);font-weight:600;font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;color:#e7cd93;text-shadow:0 1px 2px rgba(0,0,0,.7)}.card-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--panel-ink-dim);cursor:pointer;border-radius:5px;transition:color .2s ease,background .2s ease,transform .14s ease}.card-close:hover{color:var(--ember-soft);background:#ffffff12}.card-close:active{transform:scale(.9)}.card-close:focus-visible{outline:2px solid var(--ember-soft);outline-offset:2px}.card-close svg{width:13px;height:13px}.card-body{border-radius:6px;padding:12px 14px 10px;background:linear-gradient(180deg,#0e0b0ff0,#08060af5);box-shadow:inset 0 0 0 1px #000000a6,inset 0 1px 10px #00000080}.pv-label{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--panel-ink-dim)}.pv-value{margin-top:2px;font-family:var(--serif);font-size:1.78rem;font-weight:600;color:#f0e6d2;letter-spacing:.02em;font-variant-numeric:tabular-nums}.pv-change{margin-top:2px;font-size:.76rem;font-variant-numeric:tabular-nums}.pv-change.neutral{color:var(--panel-ink-dim)}.pv-change.warn{color:#caa06a}.pv-value.muted{color:var(--panel-ink-dim)}.portfolio-note.warn{color:#caa06a}.up{color:var(--value-up)}.down{color:var(--value-down)}.pv-chart{display:block;width:100%;height:auto;margin:10px 0 2px}.pv-chart .pv-grid line{stroke:#e2d6c021;stroke-width:.7;stroke-dasharray:1 5;stroke-linecap:round}.pv-chart .pv-line{fill:none;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}.spark-caption{font-size:.6rem;letter-spacing:.1em;color:var(--panel-ink-faint)}.pv-ranges{display:flex;gap:5px;margin-top:9px}.pv-ranges .pill-toggle-option{flex:1;min-width:0;padding:5px 0;border:1px solid rgba(139,102,58,.35);border-radius:6px;background:#00000047;text-align:center}.holdings-section{margin-top:12px}.holdings-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:2px}.holdings-title{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--panel-gold)}.holdings-all{background:none;border:none;cursor:pointer;padding:2px 0;font-size:.64rem;letter-spacing:.06em;color:var(--panel-gold);text-decoration:underline dotted}.holdings-all:hover{color:var(--ember-soft)}.holdings-all:focus-visible{outline:2px solid var(--ember-soft);outline-offset:2px}.holding-row{padding:6px 0 8px;border-bottom:1px solid rgba(139,102,58,.16)}.holding-row:last-child{border-bottom:none}.holding-top{display:flex;align-items:center;gap:9px}.coin-icon.holding-coin{width:22px;height:22px;font-size:.6rem;flex:none}.holding-symbol{flex:1;font-size:.74rem;letter-spacing:.05em}.holding-amount{display:block;font-size:.58rem;color:var(--panel-ink-faint);margin-top:1px}.holding-value{text-align:right;font-size:.72rem;font-variant-numeric:tabular-nums}.holding-percent{display:block;font-size:.6rem;color:var(--panel-ink-dim);margin-top:1px}.holding-bar{height:3px;margin-top:6px;border-radius:2px;background:#ffffff12;overflow:hidden}.holding-bar i{display:block;height:100%;border-radius:2px;transition:width .7s cubic-bezier(.2,.7,.3,1)}.card-back{display:block;background:none;border:none;cursor:pointer;padding:2px 0 8px;text-align:left;font-size:.68rem;letter-spacing:.05em;color:var(--panel-ink-dim);transition:color .2s ease}.card-back:hover{color:var(--ember-soft)}.card-back:focus-visible{outline:2px solid var(--ember-soft);outline-offset:2px}.holdings-sum{font-family:var(--serif);font-size:1.2rem;color:#f0e6d2;font-variant-numeric:tabular-nums;margin-bottom:4px}.holdings-list{margin-top:4px}.card-divider{border:none;height:1px;margin:12px 0 2px;background:linear-gradient(90deg,transparent,rgba(139,102,58,.55),transparent)}.card-footnote{padding-top:8px;font-size:.6rem;letter-spacing:.08em;color:var(--panel-ink-faint)}.shimmer-line{border-radius:4px;background:linear-gradient(100deg,#ffffff0a 30%,#ffffff17,#ffffff0a 70%);background-size:200% 100%;animation:shimmer 1.6s infinite linear}.shimmer-line.value{height:30px;width:62%;margin:6px 0 4px}.shimmer-line.chart{height:96px;width:100%;margin:10px 0 4px}.pill-toggle{display:inline-flex;gap:2px;padding:2px;border:1px solid rgba(139,102,58,.4);border-radius:999px;background:#0000004d}.pill-toggle-option{min-width:30px;padding:3px 9px;cursor:pointer;font-family:var(--sans);font-size:.64rem;letter-spacing:.06em;color:var(--panel-ink-dim);background:none;border:none;border-radius:999px;transition:background .22s ease,color .22s ease}.pill-toggle-option[aria-pressed=true]{color:var(--ember-soft);background:linear-gradient(180deg,#ffa03c3d,#b4501a29);box-shadow:inset 0 1px #ffd69c40,inset 0 -1px 3px #0006}.pill-toggle-option:hover{color:var(--panel-ink)}.pill-toggle-option:focus-visible{outline:2px solid var(--ember-soft);outline-offset:2px}.currency-toggle{margin-right:2px}.icon-link{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:4px;color:var(--panel-ink-dim);background:none;border:none;cursor:pointer;transition:color .2s ease,background .2s ease;position:relative}.icon-link svg{width:13px;height:13px}.icon-link:hover{color:var(--panel-gold);background:#ffffff0d}.icon-link:focus-visible{outline:2px solid var(--ember-soft);outline-offset:2px}.icon-link.copied{color:var(--value-up)}.icon-link.copied:after{content:attr(data-copied);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);padding:2px 7px;border-radius:3px;white-space:nowrap;font-size:.58rem;letter-spacing:.08em;color:var(--panel-ink);background:#0c0906f2;border:1px solid rgba(139,102,58,.5)}.wallet-cta{display:block;width:100%;margin:4px 0 6px;padding:1em;font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;text-shadow:0 1px 2px rgba(0,0,0,.6)}.choices-title{margin:2px 0 4px;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--panel-gold)}.wallet-choices{display:flex;flex-direction:column;gap:8px;margin:8px 0 4px}.wallet-choice{display:flex;align-items:center;gap:11px;width:100%;min-height:50px;padding:0 14px;font-family:var(--sans);font-size:.82rem;color:var(--panel-ink);text-align:left}.wallet-choice-mark{width:28px;height:28px;border-radius:7px;flex:none;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:600;color:var(--ember-soft);background:linear-gradient(180deg,#ffb05c2e,#00000059);box-shadow:inset 0 0 0 1px #e2b87659;overflow:hidden}.wallet-choice-mark img{width:100%;height:100%;object-fit:cover}.wallet-choice-name{flex:1;letter-spacing:.03em}.wallet-choice-chain{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--panel-gold);padding:3px 8px;border-radius:999px;background:#0006;box-shadow:inset 0 0 0 1px #8b663a80}.portfolio-note{margin-top:10px;font-size:.68rem;line-height:1.55;color:var(--panel-ink-dim)}.portfolio-note a{color:var(--panel-gold)}.wallet-session{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-top:8px;font-size:.68rem;color:var(--panel-ink-dim)}.wallet-session>span:first-child{white-space:nowrap}.wallet-session .chain-badge{padding:2px 8px;border:1px solid rgba(139,102,58,.45);border-radius:999px;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--panel-gold)}.wallet-disconnect{margin-left:auto;background:none;border:none;cursor:pointer;font-size:.62rem;letter-spacing:.1em;color:var(--panel-ink-faint);text-decoration:underline dotted}.wallet-disconnect:hover{color:var(--panel-ink)}.camp-actions{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:50%;translate:-50% 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:12px;width:max-content;max-width:calc(100vw - 16px)}.camp-actions-side{display:flex;align-items:center;gap:10px}.camp-actions-side.left{justify-content:flex-end}.camp-actions-side.right{justify-content:flex-start}.prop-button{width:46px;height:46px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;color:#f0e0c6d9}.prop-button svg{width:21px;height:21px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.5))}.ignite-button{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 22px 0 13px;font-family:var(--sans);font-size:.74rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.6)}.ignite-button img{width:30px;height:33px;flex:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}.ignite-button[data-state=stoking] img{animation:ignitePulse 1.1s ease-in-out infinite}@keyframes ignitePulse{0%,to{transform:scale(1);filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}50%{transform:scale(1.12);filter:drop-shadow(0 0 10px rgba(255,140,45,.7))}}.ignite-toast,.knight-toast{position:absolute;bottom:max(84px,calc(env(safe-area-inset-bottom) + 64px));left:50%;translate:-50% 0;padding:8px 14px;border-radius:999px;white-space:nowrap;font-size:.68rem;letter-spacing:.06em;color:var(--panel-ink);background:#0c0906eb;border:1px solid rgba(139,102,58,.5);box-shadow:0 6px 18px #00000080;opacity:0;transition:opacity .42s ease,translate .42s ease;pointer-events:none}.ignite-toast.visible,.knight-toast.visible{opacity:1}.knight-toast{white-space:normal;text-align:center;max-width:min(86vw,380px)}.prop-button[data-busy=true]{filter:brightness(1.22)}.prop-button[data-busy=true] svg{animation:bardStride 1.05s ease-in-out infinite}@keyframes bardStride{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(-7deg) scale(1.1)}}.camp-info{position:absolute;bottom:max(26px,env(safe-area-inset-bottom));left:24px;display:flex;align-items:center;gap:12px;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:#e2d6c080;pointer-events:none}.camp-info svg{width:12px;height:12px;opacity:.8}.camp-info>span{display:inline-flex;align-items:center;gap:5px}.camp-info .sep{opacity:.4}.fire-meter{display:inline-flex;align-items:center;gap:7px}.fire-meter-track{width:44px;height:3px;border-radius:2px;background:#ffffff1a;overflow:hidden}.fire-meter-fill{display:block;height:100%;width:60%;border-radius:2px;background:linear-gradient(90deg,#b4501e,var(--ember),var(--ember-soft));transform-origin:left}.camp-sheet{position:fixed;z-index:24;left:50%;bottom:max(14px,env(safe-area-inset-bottom));translate:-50% 0;width:min(560px,calc(100vw - 20px));opacity:0;visibility:hidden;pointer-events:none;transform:translateY(26px);transition:opacity .44s ease,transform .44s cubic-bezier(.2,.7,.3,1),visibility 0s linear .44s}.camp-sheet[data-open=true]{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .52s ease 60ms,transform .52s cubic-bezier(.2,.7,.3,1) 60ms,visibility 0s}.book-frame{border-radius:11px;padding:8px;background:repeating-linear-gradient(93deg,rgba(0,0,0,.2) 0 1.5px,rgba(255,220,160,.035) 1.5px 3px,transparent 3px 9px),linear-gradient(180deg,#614326fa,#3e2a18fa 34%,#24180efc);box-shadow:inset 0 1px #ffcd8c3d,inset 0 0 0 1px #0000008c,inset 0 -2px 6px #00000080,0 14px 40px #0009;outline:none}.book-head{display:flex;align-items:center;gap:8px;padding:4px 4px 8px 10px}.book-head h2{flex:1;font-family:var(--serif);font-weight:600;font-size:.82rem;letter-spacing:.24em;text-transform:uppercase;color:#e7cd93;text-shadow:0 1px 2px rgba(0,0,0,.7)}.book-tabs{display:flex;gap:8px;padding:0 14px;position:relative;z-index:1}.book-tab{flex:1;padding:8px 4px 12px;cursor:pointer;border:none;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 6px),0 100%);font-family:var(--serif);font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#f0e0c68c;background:linear-gradient(180deg,#402c1afa,#261a0ffa);box-shadow:inset 0 1px #ffd69c2e;transition:color .22s ease,background .22s ease,padding .22s ease}.book-tab[aria-selected=true]{color:#ffe3b0;padding-bottom:16px;background:linear-gradient(180deg,#8a3530,#5d211e 70%,#461815);box-shadow:inset 0 1px #ffc89659,inset 0 -8px 12px #0000004d}.book-tab:focus-visible{outline:2px solid var(--ember-soft);outline-offset:-2px}.book-page{margin-top:-6px;border-radius:6px;min-height:196px;max-height:min(44dvh,330px);overflow-y:auto;scrollbar-width:thin;padding:20px 22px 12px;touch-action:pan-y;background:radial-gradient(140% 120% at 50% -20%,#fff8e08c,#fff8e000 55%),radial-gradient(120% 140% at 50% 115%,#60421a52,#60421a00 55%),repeating-linear-gradient(2deg,rgba(120,90,40,.05) 0 1px,transparent 1px 7px),linear-gradient(180deg,#e9dcb6,#dfcfa0 60%,#d3c08d);box-shadow:inset 0 0 0 1px #5a3c1966,inset 0 2px 10px #50341247,inset 0 -3px 12px #50341238}.book-page-inner{transition:opacity .17s ease,transform .17s ease}.book-page-inner[data-turn=next]{opacity:0;transform:translate(-12px)}.book-page-inner[data-turn=prev]{opacity:0;transform:translate(12px)}.wisdom-quote{margin:30px 10px 14px;text-align:center;font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.22rem;line-height:1.55;color:#4a3a20;text-wrap:balance}.wisdom-quote:after{content:"";display:block;width:44px;height:1px;margin:18px auto 0;background:linear-gradient(90deg,transparent,rgba(122,88,36,.75),transparent)}.beast-head{display:flex;align-items:center;gap:13px}.coin-icon.beast-seal{width:46px;height:46px;font-size:1.02rem;flex:none;position:relative;overflow:hidden;box-shadow:inset 0 -6px 10px #00000059,0 1px 4px #50341280,0 0 0 3px #7a582440}.coin-icon.beast-seal img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.beast-epithet{font-family:var(--serif);font-weight:600;font-size:1.14rem;color:#4a3316;line-height:1.2}.beast-sub{margin-top:3px;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#8a744d}.beast-price{margin-top:4px;font-size:.78rem;color:#43351f;font-variant-numeric:tabular-nums}.beast-change{margin-left:8px;font-size:.7rem}.up-ink{color:#2e6b3f}.down-ink{color:#a33c2a}.beast-text{margin-top:13px;font-size:.88rem;line-height:1.65;color:#43351f}.beast-seen{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:4px 11px;border-radius:999px;border:1px solid rgba(139,90,30,.5);background:#ffb05029;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:#7d5417}.beast-seen:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--ember);box-shadow:0 0 8px #ff9a3cd9}.book-nav{display:flex;align-items:center;justify-content:space-between;padding:8px 6px 2px}.book-arrow{width:44px;height:34px;cursor:pointer;border:none;border-radius:6px;font-family:var(--serif);font-size:1.25rem;line-height:1;color:var(--panel-gold);background:#00000047;box-shadow:inset 0 0 0 1px #8b663a59;transition:color .2s ease,background .2s ease,transform .14s ease}.book-arrow:hover{color:var(--ember-soft);background:#0000006b}.book-arrow:active{transform:translateY(1px)}.book-arrow:focus-visible{outline:2px solid var(--ember-soft);outline-offset:2px}.book-arrow[disabled]{opacity:.3;cursor:default}.book-pageno{font-size:.7rem;letter-spacing:.14em;color:var(--panel-ink-dim);font-variant-numeric:tabular-nums}.sheet-note{margin:14px 4px;font-size:.86rem;line-height:1.6;color:#43351f}.sheet-caption{margin-top:10px;font-size:.62rem;letter-spacing:.1em;color:#8a744d}.warn-ink{color:#a33c2a}.nft-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}.nft-tile{min-width:0}.nft-image{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:7px;box-shadow:inset 0 0 0 1px #5a3c1973,0 2px 6px #50341259}.nft-image img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.nft-monogram{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-style:normal;font-family:var(--serif);font-size:1.5rem;font-weight:600;color:#ffffffe6;text-shadow:0 1px 3px rgba(0,0,0,.5)}.nft-flag{position:absolute;right:4px;top:4px;padding:1px 5px;border-radius:3px;font-size:.5rem;letter-spacing:.08em;color:#e7d9b6;background:#281c0ed1}.nft-name{margin-top:5px;font-size:.62rem;color:#43351f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nft-skeleton{aspect-ratio:1;border-radius:7px;background:linear-gradient(100deg,#785a281f 30%,#785a2838,#785a281f 70%);background-size:200% 100%;animation:shimmer 1.6s infinite linear}.chest-label{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:#8a744d}.chest-sum{margin:2px 0 8px;font-family:var(--serif);font-size:1.5rem;font-weight:600;color:#3c2f16;font-variant-numeric:tabular-nums}.chest-list{border-top:1px solid rgba(122,88,36,.35)}.chest-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(122,88,36,.22)}.coin-icon.chest-seal{width:30px;height:30px;font-size:.66rem;flex:none;position:relative;overflow:hidden;color:#ffffffeb;box-shadow:inset 0 -4px 8px #0000004d,0 1px 3px #50341266}.coin-icon.chest-seal img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.chest-naming{flex:1;min-width:0;display:flex;flex-direction:column}.chest-symbol{font-size:.78rem;letter-spacing:.04em;color:#3c2f16}.chest-amount{font-size:.6rem;color:#8a744d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chest-value{font-size:.78rem;color:#43351f;font-variant-numeric:tabular-nums}.chest-unpriced{padding:2px 8px;border-radius:999px;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:#8a744d;border:1px solid rgba(122,88,36,.4)}.trade-actions{display:inline-flex;gap:8px;flex:none}.trade-link{display:inline-flex;align-items:center;padding:4px 12px;border-radius:999px;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .18s ease,transform .14s ease}.trade-link:active{transform:translateY(1px)}.trade-link.trade-buy{color:#2e6b3f;border:1px solid rgba(46,107,63,.55);background:#48845424}.trade-link.trade-buy:hover{background:#48845442}.trade-link.trade-sell{color:#a33c2a;border:1px solid rgba(163,60,42,.5);background:#a34a341f}.trade-link.trade-sell:hover{background:#a34a343d}.trade-link:focus-visible{outline:2px solid #7d5417;outline-offset:2px}.chest-row{flex-wrap:wrap}.chest-row .trade-actions{margin-left:auto}.beast-entry .trade-actions{display:flex;margin-top:14px}.beast-entry .trade-note{margin-top:8px}body.prop-open #overlay>.camp-actions{opacity:0;pointer-events:none}body.prop-open #overlay>.ignite-toast,body.prop-open #overlay>.knight-toast,body.prop-open #overlay>.camp-quote,body.prop-open #overlay>.world-clock,body.prop-open #overlay>.camp-info{opacity:0}body.prop-open #hint{opacity:0}body.cinema-active #overlay>.camp-quote,body.cinema-active #overlay>.camp-info,body.cinema-active #overlay>.world-clock,body.cinema-active #overlay>.wallet-note{opacity:0}body.cinema-active #overlay>.camp-actions{opacity:0;pointer-events:none}@media(max-width:1019px){.camp-quote,.camp-info,.wallet-note{display:none}.wallet-button{padding:0 14px}.wallet-button .label-full{display:none}.left-stack{left:14px;top:calc(max(12px,env(safe-area-inset-top)) + 58px);gap:10px}.market-ticker{gap:8px}.market-ticker>:nth-child(n+5){display:none}.ticker-price{font-size:.74rem}.world-clock{left:14px;bottom:calc(max(20px,env(safe-area-inset-bottom)) + 62px);gap:7px}.clock-time{font-size:.74rem}.ticker-row{transition:opacity .42s ease}#overlay.card-open .market-ticker>.ticker-row:nth-child(n+2){opacity:0}.portfolio-card{right:12px;top:calc(max(12px,env(safe-area-inset-top)) + 62px);width:min(78vw,300px)}.card-body{max-height:calc(100dvh - 220px);overflow-y:auto;scrollbar-width:thin}.camp-sheet{width:calc(100vw - 16px);bottom:max(10px,env(safe-area-inset-bottom))}.book-page{max-height:40dvh;padding:16px 16px 10px}.wisdom-quote{font-size:1.12rem;margin-top:22px}.nft-grid{grid-template-columns:repeat(2,1fr)}.camp-actions{column-gap:8px}.camp-actions-side{gap:7px}.prop-button{width:42px;height:42px}.prop-button svg{width:19px;height:19px}.ignite-button{padding:0 14px 0 9px;font-size:.68rem;letter-spacing:.1em;min-height:44px}.ignite-button img{width:26px;height:29px}}@media(min-width:1020px){.wallet-button .label-short{display:none}.card-body{max-height:calc(100dvh - 240px);overflow-y:auto;scrollbar-width:thin}}@media(prefers-reduced-motion:reduce){.overlay-item,.portfolio-card,.camp-sheet{transition-duration:1ms!important}.book-page-inner,.book-tab{transition:none}.ticker-skel,.shimmer-line,.nft-skeleton{animation:none}.prop-button[data-busy=true] svg{animation:none}}#purchase-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:none}#purchase-sheet.open{display:flex;align-items:center;justify-content:center;padding:18px}.purchase-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#04060c9e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.purchase-panel{position:relative;width:min(92vw,380px);max-height:calc(100dvh - 36px);overflow-y:auto;scrollbar-width:thin;padding:16px 18px 14px;border-radius:12px;font-family:var(--sans);color:var(--panel-ink);background:linear-gradient(180deg,#281c10f7,#150e09f7);box-shadow:inset 0 1px #ffd69c2e,inset 0 0 0 1px #e2b87642,0 18px 48px #000000a6;animation:purchaseIn .26s cubic-bezier(.2,.7,.3,1);outline:none}@keyframes purchaseIn{0%{opacity:0;transform:translateY(10px) scale(.985)}}.purchase-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(226,184,118,.18)}.purchase-head h2{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:#e2b876e6}.purchase-close{width:30px;height:30px;flex:none;border:none;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#e2d6c0b3;background:#00000040;box-shadow:inset 0 0 0 1px #e2b87633}.purchase-close svg{width:15px;height:15px}.purchase-close:hover{color:var(--panel-ink);filter:brightness(1.2)}.purchase-close:focus-visible{outline:2px solid var(--ember-soft);outline-offset:2px}.purchase-body{display:flex;flex-direction:column;gap:10px;padding-top:12px}.purchase-token{display:flex;align-items:center;gap:10px}.purchase-token-icon{position:relative;overflow:hidden;width:34px;height:34px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:#ffffffeb;box-shadow:inset 0 -4px 8px #00000059,0 1px 4px #00000080}.purchase-token-icon img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:50%}.purchase-token-name{display:flex;flex-direction:column;gap:1px;min-width:0}.purchase-token-name b{font-size:.9rem;letter-spacing:.08em}.purchase-token-name span{font-size:.64rem;letter-spacing:.06em;color:var(--panel-ink-dim);font-variant-numeric:tabular-nums}.purchase-text{font-size:.8rem;line-height:1.55;color:#f0e0c6e0}.purchase-label{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:#e2b876bf;margin-top:2px}.purchase-amounts{padding-bottom:2px}.purchase-amounts .settings-chip{font-size:.7rem;padding:6px 13px}.purchase-estimate{font-size:.86rem;font-weight:500;color:var(--panel-ink);font-variant-numeric:tabular-nums;min-height:1.3em}.purchase-estimate.failed{color:var(--value-down);font-weight:400;font-size:.76rem}.purchase-meta{font-size:.64rem;letter-spacing:.06em;color:var(--panel-ink-dim)}.purchase-confirm{align-self:stretch;justify-content:center;display:flex;align-items:center;min-height:46px;margin-top:4px;padding:0 18px;border:none;border-radius:10px;cursor:pointer;font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#ffe6c4}.purchase-pending{display:flex;align-items:center;gap:12px;padding:6px 0}.purchase-spinner{width:20px;height:20px;flex:none;border-radius:50%;border:2px solid rgba(226,184,118,.25);border-top-color:var(--ember-soft);animation:purchaseSpin .9s linear infinite}@keyframes purchaseSpin{to{transform:rotate(360deg)}}.purchase-success{font-size:.86rem;line-height:1.5;color:var(--value-up);font-weight:500}.purchase-error{font-size:.8rem;line-height:1.55;color:var(--value-down)}.purchase-tx{font-size:.7rem;letter-spacing:.08em;color:#e2b876e6;text-decoration:underline;text-underline-offset:3px;width:fit-content}.purchase-tx:hover{color:#ffd9a0}.purchase-note{font-size:.62rem;line-height:1.5;color:var(--panel-ink-dim);padding-top:8px;border-top:1px solid rgba(226,184,118,.12)}@media(prefers-reduced-motion:reduce){.purchase-panel{animation:none}.purchase-spinner{animation-duration:3s}}#purchase-status{position:fixed;left:50%;top:58%;transform:translate(-50%);z-index:30;display:none;pointer-events:none;max-width:min(86vw,340px)}#purchase-status.open{display:block}.purchase-status-plate{position:relative;pointer-events:auto;display:flex;flex-direction:column;gap:8px;padding:12px 40px 12px 16px;border-radius:11px;font-family:var(--sans);color:var(--panel-ink);background:linear-gradient(180deg,#281c10eb,#150e09f0);box-shadow:inset 0 1px #ffd69c2e,inset 0 0 0 1px #e2b87647,0 10px 30px #0000008c;animation:statusIn .32s cubic-bezier(.2,.7,.3,1)}@keyframes statusIn{0%{opacity:0;transform:translateY(14px)}}.purchase-status-body{display:flex;flex-direction:column;gap:8px}.purchase-status-body .purchase-pending{padding:0}.purchase-status-body .purchase-text,.purchase-status-body .purchase-success,.purchase-status-body .purchase-error{font-size:.78rem}.purchase-status-close{position:absolute;top:8px;right:8px;width:26px;height:26px}.purchase-status-close svg{width:13px;height:13px}.purchase-status-retry{min-height:40px;margin-top:2px;font-size:.68rem}@media(prefers-reduced-motion:reduce){.purchase-status-plate{animation:none}}
