@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101917;--panel:#192521;--panel2:#202e28;--line:#34483e;--muted:#99ada1;--ink:#edf0df;--gold:#edba69;--green:#a8c483}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px 'DM Sans',sans-serif}h1,h2,h3,strong,button,.brand{font-family:'Space Grotesk',sans-serif}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-1px}h2{font-size:25px;letter-spacing:-.6px}h3{font-size:18px}p{line-height:1.65;color:var(--muted)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{touch-action:manipulation}button{cursor:pointer;color:var(--ink);background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:12px 16px;font-weight:600}button:disabled{opacity:.45;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(1.12)}a{color:var(--gold);text-decoration:none}a:hover{text-decoration:underline}.primary{background:var(--gold);border-color:var(--gold);color:#241d12;box-shadow:0 3px 0 #916837}.secondary{background:transparent}.text-button{border:0;background:transparent;padding:0;color:var(--gold)}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:2px;color:var(--muted);margin-bottom:7px}.game-shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.rail{padding:28px 22px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:26px;background:#121e1a;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:thin}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);font-size:12px;font-weight:700;letter-spacing:1px}.brand b{display:grid;place-items:center;background:var(--gold);color:#182019;width:42px;height:46px;clip-path:polygon(0 0,100% 0,100% 80%,50% 100%,0 80%);font-size:19px}.brand small{display:block;font-size:8px;margin-top:7px;color:var(--muted)}.chapter{font-size:9px;letter-spacing:1px;line-height:1.8;color:var(--muted)}.lamp{display:inline-block;width:6px;height:6px;background:var(--green);box-shadow:0 0 10px #97c783;margin-right:5px;border-radius:50%}nav{display:grid;gap:8px}nav button{display:flex;align-items:center;text-align:left;gap:14px;background:transparent;border-color:transparent;color:var(--muted);padding:11px 14px}nav button span{font-size:19px;width:22px}nav button.active{background:#304136;border:1px solid #577055;color:var(--ink)}.rail-bottom{margin-top:auto;display:grid;gap:17px;font-size:12px}.token-button{display:block;background:#29392e;border:1px solid #647b50;padding:14px;border-radius:8px;color:#d2e4b5;font-weight:700}.token-button span{display:block;font-size:11px;color:var(--muted);margin-top:4px}main{padding:32px 38px;max-width:1550px;width:100%;margin:0 auto}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:30px}.top-actions{display:flex;gap:24px;align-items:center}.wallet-points{text-align:right}.wallet-points small{display:block;font-size:9px;letter-spacing:1.3px;color:var(--muted);margin-bottom:5px}.wallet-points strong{font-size:22px;color:var(--gold)}.notice{padding:14px 18px;border:1px solid #87704b;background:#332c20;border-radius:9px;margin-bottom:22px;color:#ebce9b;line-height:1.6}.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,1fr);gap:24px}.scene{position:relative;min-height:440px;border-radius:14px;overflow:hidden;border:1px solid #415645;background:#17241e;isolation:isolate}.scene:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09160dcc,transparent 60%),url('/assets/workshop.png') center/cover;image-rendering:pixelated;z-index:-2}.scene:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0d1a18 0%,transparent 70%);z-index:-1}.scene-art{position:absolute;height:95%;width:75%;object-fit:contain;right:-7%;bottom:-8%;image-rendering:pixelated;mask-image:linear-gradient(#000 70%,transparent)}.scene-copy{position:relative;padding:28px;max-width:72%;height:100%;min-height:440px;display:flex;flex-direction:column;align-items:flex-start}.scene-label{background:#172820d9;border:1px solid #4c614b;padding:8px 11px;border-radius:4px;font-size:9px;letter-spacing:1.5px;color:#c4d7b4}.scene-copy h2{font-size:40px;line-height:1.05;margin-top:auto;margin-bottom:12px;max-width:330px}.scene-copy p{font-size:13px;color:#c5d2c2;max-width:250px}.scene-copy .chips{margin:16px 0 0}.chip{font-size:10px;border:1px solid #536345;background:#253522;display:inline-block;border-radius:5px;padding:6px 8px;color:#cbddb7}.chips{display:flex;gap:7px;flex-wrap:wrap}.panel{background:var(--panel);border:1px solid var(--line);padding:24px;border-radius:12px}.farm-panel{display:flex;flex-direction:column;gap:17px}.panel-top,.section-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-top .chip{white-space:nowrap}.live-amount{font:700 43px 'Space Grotesk',sans-serif;letter-spacing:-1px;color:var(--gold);overflow-wrap:anywhere}.live-unit{font-size:10px;letter-spacing:2px;color:var(--muted);margin-top:4px}.track{height:8px;background:#0d1711;border:1px solid #3a4d38;border-radius:3px;overflow:hidden}.track i{display:block;height:100%;background:linear-gradient(90deg,#8da968,#c9d695);width:0;transition:width 1s linear}.statline{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px}.statline strong{color:var(--ink)}.farm-panel>.primary{margin-top:auto;width:100%;padding:17px}.hint{font-size:11px;line-height:1.6;color:var(--muted)}.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0}.metric{padding:19px 22px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.metric strong{display:block;font-size:23px;margin-top:8px;overflow-wrap:anywhere}.metric small{font-size:11px;color:var(--muted)}.section-head{margin:30px 0 18px}.section-head p{font-size:12px}.crew-grid,.quest-grid,.market-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.nft{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:11px;overflow:hidden;min-width:0}
.nft.rarity-scavenger,.scene.rarity-scavenger{--rarity:#9fb3ac}
.nft.rarity-mechanic,.scene.rarity-mechanic{--rarity:#5fd0c4}
.nft.rarity-engineer,.scene.rarity-engineer{--rarity:#b98cf0}
.nft.rarity-architect,.scene.rarity-architect{--rarity:#ffbe55}
.nft[class*="rarity-"]{border-color:var(--rarity)}
.nft.rarity-architect{box-shadow:0 0 0 1px var(--rarity),0 0 20px -6px var(--rarity)}
.nft.selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.rarity-name{color:var(--rarity,var(--ink))}
.rarity-chip{border-color:var(--rarity,var(--line))!important;color:var(--rarity,var(--ink))!important}
.scene[class*="rarity-"] .scene-label{border-color:var(--rarity);color:var(--rarity)}.nft-picture{position:relative;background:#1c2a24;aspect-ratio:1}.nft-picture img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.nft-picture .chip{position:absolute;left:10px;top:10px;background:#17231ee8}
.nft-picture .chip.chip-level{left:auto;right:10px}.nft-body{padding:16px}.nft-body h3{font-size:15px;margin:6px 0}.nft-body p{font-size:11px}.nft-body button{width:100%;margin-top:13px}.nft-body .links{margin-top:10px}.section-links{display:flex;gap:12px;flex-wrap:wrap}.selected-panel{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:24px}.selected-panel>div{min-width:0}.upgrade-price{font-size:24px;color:var(--gold);display:block;margin:14px 0}
.market-price{font-size:19px;color:var(--gold);display:block;margin:10px 0}
.market-grid .nft-body .actions{margin-top:2px}
.market-grid .nft-body .actions a.primary{width:100%;text-align:center;font-size:13px}
.market-mine{margin-bottom:24px}
.mine-grid{margin:18px 0}
.mine-grid .nft-body .actions{display:flex;gap:8px}
.mine-grid .nft-body .actions a,.mine-grid .nft-body .actions button{flex:1;text-align:center;font-size:12px;padding:9px}
.sell-list{display:grid;gap:10px;margin-top:14px}
.sell-row{display:grid;grid-template-columns:46px 1fr auto auto;gap:12px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:10px 14px}
.sell-row img{width:46px;height:46px;object-fit:cover;border-radius:6px;image-rendering:pixelated}
.sell-info{display:flex;align-items:center;gap:10px;min-width:0}
.sell-info strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sell-row input{width:110px;min-width:0}
.sell-row button{white-space:nowrap}.selected-panel button{margin-top:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.allocation{margin-top:25px;display:grid;grid-template-columns:1.3fr 1fr;gap:25px;background:linear-gradient(120deg,#283929,#18251f)}.allocation .metric-grid{margin:0;grid-template-columns:1fr 1fr}.allocation p{margin:10px 0}.allocation strong{color:var(--gold)}.empty{padding:45px 25px;text-align:center;border:1px dashed #4f6251;border-radius:12px}.empty p{margin:12px auto;max-width:500px}.empty button{margin-top:10px}.quest-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quest{display:flex;flex-direction:column;gap:13px}.quest .reward{color:var(--gold);font-size:21px}.quest button{margin-top:auto}.quest-number{width:38px;height:38px;background:#304731;border:1px solid #607549;display:grid;place-items:center;color:#c7d9a9;border-radius:8px;flex-shrink:0}
.quest-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tier-chip{color:var(--gold);border-color:#6b5a34}
.streak-chip{background:#3a2c17;border-color:#8a6a34;color:#f0c98a;font-weight:700;padding:9px 12px;white-space:nowrap}
.welcome-back{background:linear-gradient(120deg,#3d3220,#20291f);border-color:var(--gold);margin-bottom:16px}
.welcome-back h2{margin:6px 0 10px}
.welcome-back p{margin-bottom:16px}
.welcome-back button{width:100%;padding:16px}
.event-banner{background:#33202a;border-color:#8a4b6b;color:#f0aecb}
.decor-panel{margin-top:25px}
.decor-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:14px;margin-top:16px}
.decor-tile{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:12px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.decor-tile img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}
.decor-tile strong{font-size:11px}
.decor-tile button{width:100%;font-size:11px;padding:8px}
.decor-item{position:absolute;z-index:1;pointer-events:none;image-rendering:pixelated}
.decor-lamp{top:18px;left:18px;width:56px}
.decor-neon{top:18px;right:18px;width:76px}
.decor-plant{bottom:16px;left:16px;width:56px}
.decor-bench{bottom:8px;left:50%;transform:translateX(-50%);width:104px}
.decor-cabinet{bottom:16px;right:16px;width:66px}
.decor-trophy{top:14px;left:50%;transform:translateX(-50%);width:46px}
.market-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}
.watch-checks{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px}
.watch-checks label{font-size:12px;color:var(--ink)}
.sale-row{display:grid;grid-template-columns:auto 1fr auto auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:12px}
.sale-row:last-child{border-bottom:0}
.sale-row strong{color:var(--gold)}.social-quest{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:24px;background:#263529}.social-quest h2{margin:9px 0 12px}label{display:grid;gap:8px;font-size:12px;color:var(--muted)}input,textarea,select{background:#101c17;border:1px solid #435848;border-radius:6px;padding:13px;color:var(--ink);width:100%;min-width:0}textarea{resize:vertical;line-height:1.6}form{display:grid;gap:15px}.social-quest textarea{margin:12px 0}form .actions{margin-top:4px}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.profile-grid .panel h2{margin-bottom:20px}.social-row{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}.check{display:flex;align-items:center;line-height:1.5}.check input{width:auto}.board-row{display:grid;grid-template-columns:40px 52px minmax(0,1fr) auto;gap:17px;align-items:center;margin-bottom:12px}.board-row img{width:52px;border-radius:8px;image-rendering:pixelated}.board-row .rank{color:var(--gold);font-size:18px}.board-row p{font-size:11px}.board-score{text-align:right;font-size:19px;color:var(--gold)}.links{display:flex;flex-wrap:wrap;gap:7px;min-width:0}.links a{border:1px solid var(--line);padding:6px 9px;font-size:11px;border-radius:4px;overflow-wrap:anywhere}.referral{display:grid;gap:15px}.referral h2{margin:0!important}.summary-list{display:grid;gap:12px}.summary-list .statline{padding-bottom:12px;border-bottom:1px solid var(--line)}.pagination{display:flex;justify-content:center;gap:15px;align-items:center;margin:25px 0}.loading{padding:50px;text-align:center;color:var(--muted)}.loading:before{content:'◌';display:block;font-size:35px;animation:spin 3s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.active-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:7px;box-shadow:0 0 9px #b1d176}.market-grid .nft-body .actions a{font-size:12px}footer{border-top:1px solid var(--line);margin-top:45px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1px;color:var(--muted)}dialog{background:var(--panel);color:var(--ink);border:1px solid #526b52;border-radius:15px;padding:26px;width:min(560px,94vw);max-height:90vh}dialog::backdrop{background:#08110dda;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:25px}.dialog-heading button{padding:6px 12px}dialog p{margin:15px 0}dialog li{margin:12px 0;line-height:1.6;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:14px 22px;border-radius:8px;background:var(--gold);color:#231f16;max-width:90vw;z-index:100;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}[hidden]{display:none!important}
@media(min-width:1500px){.crew-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1150px){.game-shell{grid-template-columns:205px minmax(0,1fr)}.rail{padding:26px 15px}main{padding:25px}.hero-grid{grid-template-columns:1fr 1fr;gap:16px}.scene-copy{max-width:90%;padding:22px}.scene-copy h2{font-size:33px}.scene-art{width:100%;right:-20%}.crew-grid,.market-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quest-grid{grid-template-columns:1fr 1fr}.top-actions{gap:12px}.live-amount{font-size:34px}}
@media(max-width:850px){.game-shell{display:block}.rail{position:relative;height:auto;padding:18px 20px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto;gap:15px}.chapter{display:none}.rail-bottom{margin:0}.rail-bottom p,.rail-bottom>a:last-child{display:none}.token-button{padding:10px 13px;font-size:12px}.token-button span{font-size:9px}.rail nav{grid-column:1/-1;grid-row:2;grid-template-columns:repeat(6,1fr);gap:5px}.rail nav button{display:grid;gap:4px;text-align:center;justify-items:center;padding:10px 3px;font-size:10px}.rail nav button span{font-size:18px}.topbar{margin-bottom:20px}main{padding:24px 20px}.topbar h1{font-size:25px}.wallet-points{display:none}.brand{font-size:10px}.brand small{font-size:7px}.hero-grid{grid-template-columns:1fr 1fr}.scene,.scene-copy{min-height:380px}.scene-copy h2{font-size:31px}.panel{padding:20px}.selected-panel{gap:20px}.allocation{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}}
@media(max-width:590px){.hero-grid{grid-template-columns:1fr}.scene,.scene-copy{min-height:340px}.scene-copy{max-width:75%;padding:24px}.scene-copy h2{font-size:35px}.scene-art{width:85%;right:-8%}.farm-panel{gap:16px}.live-amount{font-size:44px}.metric-grid{gap:8px;margin:16px 0}.metric{padding:14px 10px}.metric strong{font-size:20px}.metric small{font-size:9px}.metric .eyebrow{font-size:8px;letter-spacing:1px}.crew-grid,.market-grid{grid-template-columns:1fr 1fr;gap:12px}.nft-body{padding:12px}.nft-body button{padding:10px;font-size:11px}.nft-body h3{font-size:13px}.quest-grid,.social-quest,.selected-panel{grid-template-columns:1fr}.section-head{align-items:flex-start}.section-head h2{font-size:21px}.section-head button{font-size:11px;padding:10px}.board-row{grid-template-columns:25px 42px minmax(0,1fr);gap:10px;padding:15px}.board-row img{width:42px}.board-score{grid-column:3;text-align:left;font-size:17px}.allocation .metric-grid{gap:12px}.topbar .eyebrow{font-size:8px;letter-spacing:1px}#account{font-size:11px;padding:11px}.topbar h1{font-size:24px}.referral input{font-size:12px}.actions>*{flex-grow:1;text-align:center}.panel-top h2{font-size:21px}.nft-picture .chip{font-size:8px;left:6px;top:6px;padding:5px}footer{flex-direction:column;line-height:1.8}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:590px){.scene-copy{max-width:100%;background:linear-gradient(90deg,#101b19ed 0%,#101b19b0 37%,transparent 85%)}.scene-copy h2{font-size:31px;max-width:175px}.scene-copy p{display:none}.scene-art{right:-18%;width:95%;height:100%;bottom:-8%}.allocation .metric-grid{grid-template-columns:1fr}.selected-panel .track{margin:12px 0}.selected-panel .hint{margin-top:10px}}
@media(max-width:590px){.sell-row{grid-template-columns:38px 1fr;grid-template-areas:"img info" "input input" "button button";row-gap:8px}.sell-row img{grid-area:img;width:38px;height:38px}.sell-info{grid-area:info;flex-wrap:wrap}.sell-row input{grid-area:input;width:100%}.sell-row button{grid-area:button;width:100%}.mine-grid{grid-template-columns:1fr 1fr}.market-side-grid{grid-template-columns:1fr}.decor-grid{grid-template-columns:repeat(auto-fill,minmax(85px,1fr))}.decor-item{display:none}.streak-chip{padding:8px 10px;font-size:12px}}
/* Rankings: tab switcher (replacing the old <select>), podium accents for the top 3, a real
   rarity-bordered avatar (the player's own best raccoon) instead of the old generic class icon,
   and a highlighted / pinned "your place" row. */
.board-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}
.board-tabs button{padding:10px 16px;font-size:12px;border-radius:20px;background:var(--panel2);border:1px solid var(--line);color:var(--muted)}
.board-tabs button.active{background:var(--gold);border-color:var(--gold);color:#241d12;font-weight:700}
.board-avatar{width:52px;height:52px;border-radius:8px;object-fit:cover;image-rendering:pixelated;border:2px solid transparent}
.board-avatar.rarity-scavenger{border-color:#9fb3ac}
.board-avatar.rarity-mechanic{border-color:#5fd0c4}
.board-avatar.rarity-engineer{border-color:#b98cf0}
.board-avatar.rarity-architect{border-color:#ffbe55;box-shadow:0 0 14px -4px #ffbe55}
.board-row{border:1px solid var(--line)}
.board-row.podium-1{background:linear-gradient(90deg,#332a12,var(--panel) 45%);border-color:#edba69}
.board-row.podium-1 .rank{color:#ffd873;font-size:23px}
.board-row.podium-2{background:linear-gradient(90deg,#242b30,var(--panel) 45%);border-color:#c9d0d6}
.board-row.podium-2 .rank{color:#dfe4e8;font-size:20px}
.board-row.podium-3{background:linear-gradient(90deg,#2c2216,var(--panel) 45%);border-color:#caa06b}
.board-row.podium-3 .rank{color:#e0b785;font-size:20px}
.board-row.you-row{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.board-you-nudge{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:13px}
.board-row.pinned{margin-bottom:22px}
/* "Visit workshop" player card — a real hero shot of their raccoon instead of plain text. */
.visit-hero{display:flex;gap:18px;align-items:center;margin-bottom:18px;flex-wrap:wrap}
.visit-avatar{width:104px;height:104px;border-radius:14px;object-fit:cover;image-rendering:pixelated;border:3px solid transparent;flex-shrink:0;background:#1c2a24}
.visit-avatar.rarity-scavenger{border-color:#9fb3ac}
.visit-avatar.rarity-mechanic{border-color:#5fd0c4}
.visit-avatar.rarity-engineer{border-color:#b98cf0}
.visit-avatar.rarity-architect{border-color:#ffbe55;box-shadow:0 0 22px -4px #ffbe55}
.visit-hero-copy{min-width:0}
.visit-hero-copy h2{margin:3px 0 2px}
.visit-hero-copy>p{margin-bottom:10px}
.visit-hero-copy .primary{display:inline-block}
@media(max-width:590px){.visit-avatar{width:76px;height:76px;border-radius:11px}}
/* My profile: a live preview of the same card (visitCard()) other players see, above the edit
   form — updates as you type, so publishing is no longer a leap of faith about how it will look. */
.own-card-panel{margin-bottom:24px}
.own-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.chip-live{border-color:var(--green);color:var(--green)}
.own-card-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.own-card-actions .hint{text-align:right}
/* Rankings: name search (a plain input above the list, never rebuilt while typing — see
   loadBoardResults()'s comment) and the Hall of Fame dialog (past weeks' top 3, mini-podium). */
.board-search{margin:14px 0}
.hof-week{margin-bottom:16px}
.hof-podium{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.hof-entry{text-align:center;padding:14px 8px;border-radius:10px;background:var(--panel2);border:1px solid var(--line)}
.hof-entry .rank{display:block;color:var(--muted);font-size:13px;margin-bottom:6px}
.hof-entry .board-avatar{width:56px;height:56px;margin:0 auto 8px}
.hof-entry .text-button{display:block;margin:0 auto;font-size:13px}
.hof-entry.podium-1{border-color:#edba69;background:linear-gradient(180deg,#332a12,var(--panel2))}
.hof-entry.podium-1 .rank{color:#ffd873;font-weight:700}
.hof-entry.podium-2{border-color:#c9d0d6}
.hof-entry.podium-2 .rank{color:#dfe4e8}
.hof-entry.podium-3{border-color:#caa06b}
.hof-entry.podium-3 .rank{color:#e0b785}
@media(max-width:590px){.hof-podium{grid-template-columns:1fr}}
/* Recycle/burn program (its own nav tab) — an irreversible action, so a warm/warning accent
   throughout instead of the site's usual gold, to visually set it apart before anyone commits. */
#burn .section-head .chip{border-color:#c96a4e;color:#f0a888;white-space:nowrap}
.burn-grid{margin-top:18px}
.burn-card{cursor:pointer;transition:border-color .15s,transform .1s}
.burn-card:hover{border-color:#c96a4e}
.burn-card.selected{border-color:#e8815c;box-shadow:0 0 0 1px #e8815c}
.burn-card .nft-picture{position:relative}
.burn-check{position:absolute;inset:0;display:grid;place-items:center;font-size:34px;color:#fff;background:#c96a4e55;opacity:0;transition:opacity .15s}
.burn-card.selected .burn-check{opacity:1}
.burn-actions{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.burn-actions #burn-go{border-color:#c96a4e;color:#f0a888}
.burn-actions #burn-go:hover:not(:disabled){background:#3a221c}

/* Collection set bonus (My raccoons) */
.set-panel{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.set-panel h3{margin:4px 0 6px}
.set-panel.complete{border-color:var(--gold);background:linear-gradient(120deg,#33301c,var(--panel) 60%)}
.set-chips{display:flex;gap:8px;flex-wrap:wrap}
.set-chips .chip{font-size:12px;padding:8px 10px}
.chip.missing{opacity:.45;border-style:dashed}
.chip.have{border-color:#7f9d5c;color:#cbe0a8}
/* Expeditions */
.outcome-chips{margin:-6px 0 20px}
.expedition-panel{margin-bottom:20px}
.expedition-panel h3{margin-top:4px}.expedition-panel>.hint{margin-top:12px}.nowrap{white-space:nowrap}
.duration-picks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 16px}
.duration-picks button{display:grid;gap:3px;text-align:left;padding:12px 14px}
.duration-picks button strong{font-size:18px}
.duration-picks small{font-size:11px;font-weight:500;opacity:.85}
.expedition-row{grid-template-columns:46px 1fr auto auto}
.countdown{font:600 14px 'Space Grotesk',sans-serif;color:var(--gold);white-space:nowrap}
.relic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin:12px 0}
.relic{background:var(--panel2);border:1px dashed var(--line);border-radius:9px;padding:14px 10px;display:grid;justify-items:center;gap:4px;text-align:center;opacity:.55}
.relic.found{opacity:1;border-style:solid}
.relic-icon{font-size:30px;line-height:1.2}
.relic strong{font-size:12px}
.relic small{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.relic.found.relic-uncommon{border-color:#5fd0c4}
.relic.found.relic-rare{border-color:#b98cf0}
.relic.found.relic-legendary{border-color:#ffbe55;box-shadow:0 0 18px -6px #ffbe55}
/* Clans */
.clan-tag{color:var(--gold)}
.clan-chip{margin:6px 0 2px;border-color:#6b5a34;color:var(--gold)}
.clan-winners,.clan-mine,.clan-create{margin-bottom:22px}
.clan-winners p{margin-top:12px}
.clan-mine h2{margin:6px 0}
.clan-rank{text-align:right}
.clan-rank small{display:block;font-size:10px;letter-spacing:1px;color:var(--muted)}
.clan-rank strong{font-size:30px;color:var(--gold)}
.clan-members{margin:16px 0}
.clan-members .sale-row{grid-template-columns:18px 1fr auto auto;font-size:13px}
.clan-members .text-button{text-align:left;font-weight:600}
.clan-mine .actions{justify-content:space-between}
.clan-create{display:grid;gap:14px}
.clan-form{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px}
.tag-input{text-transform:uppercase}
.clan-row{grid-template-columns:40px minmax(0,1fr) auto auto}
.podium-chip-1{border-color:#edba69;color:#ffd873}
.podium-chip-2{border-color:#c9d0d6;color:#dfe4e8}
.podium-chip-3{border-color:#caa06b;color:#e0b785}
@media(max-width:590px){.duration-picks{grid-template-columns:1fr}.expedition-row{grid-template-columns:46px 1fr auto}.expedition-row>button,.expedition-row>.chip{grid-column:1/-1}.clan-form{grid-template-columns:1fr}.clan-row{grid-template-columns:28px minmax(0,1fr) auto}.clan-row>button{grid-column:1/-1}.set-panel{align-items:flex-start}}

/* Relic crafting and the Curator collection */
.curator-goal{margin:10px 0 4px}.curator-goal .track{margin-bottom:8px}
.relic-craft{margin-top:6px;padding:6px 8px;font-size:11px;width:100%;background:#2d3a26;border-color:#7f9d5c;color:#cbe0a8}

/* ===== Visual layer: pixel icons, mobile bar, reward feedback, time of day, clans, podium ===== */
.px-icon{display:inline-block;vertical-align:middle;flex-shrink:0;image-rendering:pixelated}
nav button .tab-label{font-size:inherit;width:auto}
.tab-more{display:none}
.more-sheet{display:contents}
.empty-icon{color:var(--green);margin:0 auto 12px;display:block}
/* readability: nothing a player needs to read is smaller than ~12px */
p{color:#a9bcb0}
.hint{font-size:12.5px;color:#a9bcb0}
.eyebrow{font-size:11px;letter-spacing:1.6px;color:#a3b6aa}
.statline{font-size:13px}
.chip{font-size:11px}
.nft-body p,.board-row p{font-size:12.5px}
.metric small{font-size:12px}
.sale-row{font-size:13px}
.brand small{font-size:9px}
.relic small{font-size:10.5px}
.section-head p{font-size:13px}
/* collected points fly to the balance; the balance pulses */
#top-balance{display:inline-block}
.float-points{position:fixed;z-index:1000;transform:translate(-50%,-50%);font:700 20px 'Space Grotesk',sans-serif;color:var(--gold);text-shadow:0 2px 0 #0009,0 0 14px #edba6999;pointer-events:none;white-space:nowrap;transition:transform .8s cubic-bezier(.5,-.3,.7,1),opacity .5s ease-in .35s}
.pulse{animation:pulse .6s ease}
@keyframes pulse{40%{transform:scale(1.18);text-shadow:0 0 18px #edba69}}
.confetti{position:fixed;z-index:1000;width:7px;height:7px;margin:-3px 0 0 -3px;pointer-events:none;animation:confetti 1.2s cubic-bezier(.2,.6,.4,1) forwards}
@keyframes confetti{55%{transform:translate(var(--dx),var(--dy)) rotate(calc(var(--rot) / 2));opacity:1}100%{transform:translate(var(--dx),calc(var(--dy) + 140px)) rotate(var(--rot));opacity:0}}
/* reveal dialog: expedition returns and crafting */
.reveal-dialog h2{margin:4px 0 16px}
.reveal-dialog .dialog-heading{margin-bottom:6px}
.reveal-list{display:grid;gap:10px;max-height:52vh;overflow:auto}
.reveal-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.reveal-card img{width:52px;height:52px;border-radius:8px;image-rendering:pixelated}
.reveal-card strong{display:block}
.reveal-card.lost{opacity:.65}
.reveal-outcome{display:inline-block;margin-top:3px;font:600 15px 'Space Grotesk',sans-serif;color:var(--muted)}
.reveal-outcome.landed{animation:land .35s ease}
.outcome-rough{color:#e07a6a!important}.outcome-solid{color:var(--ink)!important}.outcome-big{color:var(--green)!important}.outcome-jackpot{color:#ffd873!important;text-shadow:0 0 12px #ffbe55}
@keyframes land{0%{transform:scale(1.45)}100%{transform:scale(1)}}
.reveal-amount{font:700 20px 'Space Grotesk',sans-serif;color:var(--gold);white-space:nowrap}
.reveal-relic{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#ffffff08;border:1px solid var(--line)}
.reveal-relic small{font-size:13px;color:var(--ink);font-weight:600}
.reveal-relic.relic-uncommon{border-color:#5fd0c4}.reveal-relic.relic-rare{border-color:#b98cf0}.reveal-relic.relic-legendary{border-color:#ffbe55;box-shadow:0 0 18px -4px #ffbe55}
.pop{animation:pop .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes pop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
.reveal-total{margin-top:14px;font-size:14px}
.reveal-ok{width:100%;margin-top:16px}
.relic-common{--glow:#edba69}.relic-uncommon{--glow:#5fd0c4}.relic-rare{--glow:#b98cf0}.relic-legendary{--glow:#ffbe55}
.craft-stage{position:relative;height:150px;display:grid;place-items:center;margin:4px 0}
.craft-inputs{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;gap:30px}
.craft-in{animation:merge .9s ease-in .15s forwards}
@keyframes merge{to{transform:translateX(calc((1 - var(--i)) * 64px)) scale(.4);opacity:0}}
.craft-flash{position:absolute;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,#fff 0,var(--glow) 35%,transparent 70%);opacity:0;animation:flash .6s ease-out .9s forwards}
@keyframes flash{0%{opacity:0;transform:scale(.2)}40%{opacity:1}100%{opacity:0;transform:scale(1.7)}}
.craft-out{opacity:0;animation:pop .5s cubic-bezier(.3,1.6,.5,1) 1.05s forwards;filter:drop-shadow(0 0 14px var(--glow))}
.craft-result{text-align:center;font-size:15px}.craft-result strong{color:var(--ink)}
.curator-unlocked{margin-top:10px;text-align:center;color:var(--gold)}
/* the hideout scene follows the time of day */
.scene-sky{position:absolute;inset:0;z-index:-1;pointer-events:none}
.scene.time-night .scene-sky{background:radial-gradient(circle at 80% 20%,#ffd87326 0,transparent 16%),linear-gradient(180deg,#071030e0,#0a1a3a99 55%,#0b1a2a55)}
.scene.time-night .scene-art{filter:brightness(.9) saturate(.9)}
.scene.time-dawn .scene-sky{background:linear-gradient(180deg,#f3a9a040,#edba6926 50%,transparent)}
.scene.time-dusk .scene-sky{background:linear-gradient(180deg,#e8913a4d,#b050603b 50%,transparent)}
.scene-time{position:absolute;top:18px;right:18px;z-index:2;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:6px 9px;border-radius:5px;background:#101917cc;border:1px solid #4c614b;color:#c4d7b4}
.scene.time-night .scene-time{color:#ffe08a;border-color:#6b5a34}
/* guests: a preview instead of an empty box */
.guest-pitch{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;background:linear-gradient(120deg,#283929,#18251f)}
.guest-pitch h2{margin:4px 0 6px}
.guest-pitch .primary{white-space:nowrap}
.nft.demo .nft-picture:after{content:'DEMO';position:absolute;right:10px;top:10px;font-size:10px;font-weight:700;letter-spacing:1.5px;padding:5px 7px;border-radius:5px;background:#101917d9;color:var(--gold);border:1px solid #6b5a34}
/* clans: emblem and colour */
.clan-emblem{display:inline-grid;place-items:center;color:var(--clan);background:color-mix(in srgb,var(--clan) 14%,transparent);border:1px solid color-mix(in srgb,var(--clan) 45%,transparent);border-radius:8px;padding:4px;flex-shrink:0}
.clan-title{display:flex;align-items:center;gap:12px}
.clan-title .clan-tag,.clan-row-name .clan-tag{color:var(--clan)}
.clan-row-name{display:flex;align-items:center;gap:12px;min-width:0}
.clan-chip{display:inline-flex;align-items:center;gap:6px;color:var(--clan)!important;border-color:var(--clan)!important}
.clan-look{display:grid;gap:8px}
.emblem-pick,.color-pick{display:flex;flex-wrap:wrap;gap:8px}
.emblem-pick label,.color-pick label{position:relative;display:inline-grid;place-items:center;cursor:pointer;gap:0}
.emblem-pick input,.color-pick input{position:absolute;opacity:0;width:1px;height:1px}
.emblem-pick label{width:44px;height:44px;border:1px solid var(--line);border-radius:9px;color:var(--gold);background:var(--panel2)}
.emblem-pick label:has(input:checked){border-color:var(--gold);box-shadow:0 0 0 2px #edba6966}
.color-pick span{width:28px;height:28px;border-radius:50%;background:var(--clan);border:2px solid transparent}
.color-pick label:has(input:checked) span{border-color:#fff;box-shadow:0 0 0 2px var(--clan)}
.emblem-pick label:has(input:focus-visible),.color-pick label:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:2px}
.clan-style{margin-top:16px;display:grid;gap:12px;border-top:1px solid var(--line);padding-top:16px}
.clan-style[hidden]{display:none}
/* rankings podium */
.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;margin:8px 0 22px}
.podium-spot{display:grid;justify-items:center;gap:6px;text-align:center;min-width:0}
.podium-avatar{width:72px;height:72px;border-radius:12px;border:2px solid var(--rarity,var(--line));image-rendering:pixelated;object-fit:cover;background:#1c2a24}
.podium-avatar.rarity-scavenger{--rarity:#9fb3ac}.podium-avatar.rarity-mechanic{--rarity:#5fd0c4}.podium-avatar.rarity-engineer{--rarity:#b98cf0}.podium-avatar.rarity-architect{--rarity:#ffbe55}
.place-1 .podium-avatar{width:92px;height:92px;box-shadow:0 0 26px -6px #ffd873}
.podium-spot .text-button{font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.podium-spot strong{color:var(--gold);font-size:15px}
.podium-clan{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}
.podium-block{width:100%;border-radius:10px 10px 4px 4px;display:grid;place-items:center;font:700 26px 'Space Grotesk',sans-serif;color:#182019}
.place-1 .podium-block{height:110px;background:linear-gradient(#ffd873,#c99a3c)}
.place-2 .podium-block{height:80px;background:linear-gradient(#e6ebef,#9aa5ad)}
.place-3 .podium-block{height:60px;background:linear-gradient(#e0b785,#a87a45)}
/* phones: bottom tab bar with "More", balance back in the header */
@media(max-width:850px){
 .rail nav{position:fixed;left:0;right:0;bottom:0;z-index:60;grid-template-columns:repeat(6,1fr);gap:2px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:#121e1af5;backdrop-filter:blur(8px);border-top:1px solid var(--line);grid-row:auto;grid-column:auto}
 .rail nav button{padding:7px 2px;font-size:10px;border-radius:9px;gap:3px}
 .rail nav button .tab-label{font-size:10px;width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 .tab-more{display:grid}
 .rail nav .more-sheet{display:none;position:absolute;bottom:calc(100% + 8px);right:8px;grid-template-columns:repeat(2,minmax(130px,1fr));gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:8px;box-shadow:0 12px 30px #000a}
 .rail nav .more-sheet.open{display:grid}
 .rail nav .more-sheet button{display:flex;align-items:center;gap:10px;padding:12px;font-size:13px;text-align:left;justify-items:start}
 .rail nav .more-sheet button .tab-label{font-size:13px}
 body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 #toast{bottom:calc(86px + env(safe-area-inset-bottom))}
 .wallet-points{display:block}
 .wallet-points small{font-size:9px;margin-bottom:2px}
 .wallet-points strong{font-size:17px}
 .top-actions{gap:12px}
 .guest-pitch{flex-direction:column;align-items:flex-start}
}
@media(max-width:590px){.podium{gap:6px}.podium-avatar{width:56px;height:56px}.place-1 .podium-avatar{width:68px;height:68px}.place-1 .podium-block{height:84px}.place-2 .podium-block{height:62px}.place-3 .podium-block{height:46px}.reveal-card{grid-template-columns:44px minmax(0,1fr) auto}.reveal-card img{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.craft-in{animation:none;opacity:0}.craft-flash{display:none}.craft-out{animation:none;opacity:1}.pop,.reveal-outcome.landed,.pulse{animation:none}.float-points,.confetti{display:none}}

/* phone polish: short tab labels, header on two rows */
.tab-short{display:none}
@media(max-width:850px){
 .rail nav>button .tab-label{display:none}
 .rail nav>button .tab-short{display:block;font-size:10px}
 .topbar{flex-wrap:wrap;align-items:flex-start}
 .topbar>div:first-child{flex:1 1 100%}
 .top-actions{width:100%;justify-content:space-between}
 .wallet-points{text-align:left;order:-1;margin-right:auto}
 .wallet-points small{display:inline;margin-right:6px}
}

.pending-burns{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;border-color:#87704b;background:#332c20}
.pending-burns p{color:#ebce9b}
@media(max-width:590px){.pending-burns{flex-direction:column;align-items:flex-start}}

/* main raccoon + battery preview (from the 5 Oct update) */
.allocation-formula{margin-top:14px}
.allocation-formula summary{cursor:pointer;color:var(--gold);font-weight:600}
.allocation-formula p{margin-top:8px}
.upgrade-tile h3{margin:6px 0}
@media(max-width:850px){section[aria-label="Main raccoon"].selected-panel{grid-template-columns:1fr}}

/* ===== main raccoon (crew leader) ===== */
.main-raccoon{margin-bottom:24px;background:linear-gradient(120deg,#2a3624,#18251f 60%)}
.main-grid{display:grid;grid-template-columns:auto minmax(0,1.5fr) minmax(240px,1fr);gap:26px;align-items:center}
.main-avatar{position:relative;width:128px;height:128px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 50% 40%,#2f4134,#141f1b 70%);border:3px solid var(--ring);box-shadow:0 0 0 6px #ffffff08,0 0 34px -6px var(--ring)}
.main-avatar img{width:104px;height:104px;object-fit:contain;image-rendering:pixelated}
.main-avatar.ring-green{--ring:#a8c483}.main-avatar.ring-teal{--ring:#5fd0c4}.main-avatar.ring-violet{--ring:#b98cf0}.main-avatar.ring-gold{--ring:#ffbe55}
.main-level{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);background:var(--ring);color:#182019;font:700 13px 'Space Grotesk',sans-serif;padding:4px 10px;border-radius:999px;white-space:nowrap;box-shadow:0 2px 0 #0006}
.main-info h2{margin:4px 0 8px}
.main-mult{color:var(--gold);font-size:1.25em}
.main-ladder{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.rung{display:grid;gap:2px;min-width:78px;padding:8px 10px;border-radius:9px;background:#101917aa;border:1px solid var(--line);text-align:center}
.rung small{font-size:10px;letter-spacing:1px;color:var(--muted)}
.rung strong{font-size:16px;color:var(--ink)}
.rung span{font-size:11px;color:var(--muted)}
.rung.now{border-color:var(--gold);background:#332a12}
.rung.now strong{color:var(--gold)}
.main-upgrade{display:grid;gap:8px;padding:18px;border-radius:12px;background:#101917cc;border:1px solid #4c614b}
.main-upgrade .upgrade-price{margin:0;font-size:28px}
.main-upgrade .upgrade-price small{font-size:13px;color:var(--muted)}
.main-upgrade p{margin:0}
.main-upgrade .primary{width:100%;padding:14px}
.afford{display:grid;gap:4px}
.afford small{font-size:11px;color:var(--muted)}
.refund-note{display:flex;gap:12px;align-items:center;margin-bottom:18px;padding:12px 14px;border-radius:10px;background:#253522;border:1px solid #7f9d5c;color:#cbe0a8}
.refund-note p{margin:0;color:#cbe0a8}
.refund-note .px-icon{color:var(--green);flex-shrink:0}
.leader-tip{display:grid;gap:8px;align-content:start;padding:18px;border-radius:12px;background:#101917aa;border:1px dashed #607549}
.leader-tip .px-icon{color:var(--gold)}
.leader-tip h3,.leader-tip p{margin:0}
/* ===== battery preview ===== */
.batteries{margin-bottom:24px}
.battery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:6px 0 14px}
.battery-card{display:grid;justify-items:start;gap:6px;padding:16px;border-radius:12px;background:var(--panel2);border:1px solid var(--line)}
.battery-card .battery-icon{color:var(--cell)}
.battery-card.cell-1{--cell:#a8c483}.battery-card.cell-2{--cell:#5fd0c4}.battery-card.cell-3{--cell:#b98cf0}.battery-card.cell-4{--cell:#ffbe55}
.battery-card strong{font-size:22px;color:var(--ink)}
.battery-card small{font-size:12px;color:var(--muted)}
.battery-card button{width:100%;margin-top:4px}
.battery-cells{display:flex;gap:4px}
.battery-cells i{width:18px;height:8px;border-radius:2px;background:#ffffff14}
.battery-cells i.on{background:var(--cell)}
.battery-split{display:flex;flex-wrap:wrap;gap:16px;align-items:center;font-size:13px;color:var(--muted)}
.battery-split .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.battery-split .dot.gold{background:var(--gold)}.battery-split .dot.teal{background:#5fd0c4}.battery-split .dot.rose{background:#e79a8a}
.battery-split a{margin-left:auto}
@media(max-width:1100px){.main-grid{grid-template-columns:auto minmax(0,1fr)}.main-upgrade{grid-column:1/-1}.battery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:590px){.main-grid{grid-template-columns:1fr;justify-items:center;text-align:center}.main-ladder{justify-content:center}.main-upgrade{text-align:left;width:100%}.battery-split a{margin-left:0}}

/* ===== the Power Core shop (Market tab) ===== */
.shop-hero{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:20px;align-items:center;margin-bottom:22px}
.shop-hero h2{margin:4px 0 8px}
.shop-status{display:grid;gap:4px;padding:16px 18px;border-radius:12px;background:#332c20;border:1px solid #87704b}
.shop-status strong{color:#ffd873}.shop-status span{font-size:13px;color:#ebce9b}
.shop-status.open{background:#253522;border-color:#7f9d5c}.shop-status.open strong{color:#cbe0a8}
.core-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
.core-card{background:var(--panel);border:1px solid color-mix(in srgb,var(--core) 45%,var(--line));border-radius:14px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.core-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -14px var(--core)}
.core-art{position:relative;aspect-ratio:600/458;background:#0b1210}
.core-art img{width:100%;height:100%;object-fit:cover;display:block}
.core-rarity{position:absolute;left:12px;bottom:12px;font:700 12px 'Space Grotesk',sans-serif;letter-spacing:2px;color:var(--core);background:#0b1210d9;border:1px solid var(--core);border-radius:6px;padding:5px 9px}
.core-body{display:grid;gap:12px;padding:16px;flex:1}
.core-price{display:flex;align-items:baseline;gap:8px}
.core-price strong{font-size:24px;color:var(--ink)}.core-price small{color:var(--muted)}
.core-body dl{margin:0;display:grid;gap:6px}
.core-body dl div{display:flex;justify-content:space-between;font-size:13px;border-bottom:1px solid #2a3a33;padding-bottom:6px}
.core-body dt{color:var(--muted)}.core-body dd{margin:0;font-weight:600;color:var(--ink)}
.core-body button{margin-top:auto;width:100%}
.shop-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.shop-cols h3{margin:6px 0}
.shop-steps{margin:10px 0 12px;padding-left:20px;display:grid;gap:8px;color:#c7d2c6}
.shop-steps b{color:var(--gold)}
.bank-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.bank-stats div{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:10px 12px}
.bank-stats small{display:block;font-size:11px;color:var(--muted)}.bank-stats strong{display:block;font-size:18px;overflow-wrap:anywhere}
.bank-stats div,.earn-live div{min-width:0}.earn-live strong{display:block;overflow-wrap:anywhere}
.bank-stats .usd,.earn-live .usd{display:block;font-style:normal;font-size:13px;color:#8fe0a8;margin-top:2px}
.my-cores{margin-bottom:12px}
.shop-note{margin-bottom:8px}
.core-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:6px 0 12px}
.core-mini{display:grid;gap:8px;background:var(--panel2);border:1px solid color-mix(in srgb,var(--core) 45%,var(--line));border-radius:12px;overflow:hidden;padding-bottom:10px}
.core-mini img{width:100%;aspect-ratio:600/458;object-fit:cover;display:block}
.core-mini div{padding:0 12px;display:grid}
.core-mini strong{color:var(--core)}.core-mini small{font-size:12px;color:var(--muted)}
@media(max-width:1100px){.core-grid,.core-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.shop-hero,.shop-cols{grid-template-columns:1fr}}
@media(max-width:590px){.bank-stats{grid-template-columns:1fr}}

@media(max-width:590px){.core-grid{grid-template-columns:1fr}.core-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* my power cores */
.core-list{display:grid;gap:10px;margin-top:10px}
.core-row{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:center;background:var(--panel2);border:1px solid color-mix(in srgb,var(--core) 40%,var(--line));border-radius:12px;padding:10px 14px 10px 10px}
.core-row img{width:96px;height:73px;object-fit:cover;border-radius:8px}
.core-row-info{display:grid;gap:3px;min-width:0}.core-row-info strong{color:var(--core)}.core-row-info small{font-size:12px;color:var(--muted)}
.core-state{font-size:13px;font-weight:600;padding:8px 12px;border-radius:8px;white-space:nowrap}
.core-state.running{background:#253522;color:#cbe0a8;border:1px solid #7f9d5c}
.core-state.due{background:#332c20;color:#ffd873;border:1px solid #87704b}
.core-state.done{background:#1c2a24;color:var(--muted);border:1px solid var(--line)}
.bonus-title{margin:18px 0 6px}
.shop-status code{font-size:12px}
@media(max-width:590px){.core-row{grid-template-columns:72px minmax(0,1fr)}.core-row img{width:72px;height:55px}.core-row>button,.core-row>.core-state{grid-column:1/-1;white-space:normal;text-align:center}}

/* quantity picker; shorter core art */
.core-buy{display:grid;grid-template-columns:auto 1fr;gap:8px;margin-top:auto}
.qty{display:flex;align-items:center;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#101917}
.qty button{padding:10px 12px;border:0;border-radius:0;background:transparent}
.qty span{min-width:26px;text-align:center;font:700 15px 'Space Grotesk',sans-serif}
.core-art{aspect-ratio:16/9}
.core-art img{object-position:50% 62%}
.core-mini img{aspect-ratio:16/9;object-position:50% 62%}

/* ===== hideout redesign: main raccoon as the command centre ===== */
.main-grid{grid-template-columns:auto minmax(0,1.6fr) minmax(250px,1fr)}
.main-live{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:flex-end;margin:6px 0 10px}
.main-live small{display:block;font-size:10px;letter-spacing:1.5px;color:var(--muted);font-weight:700}
.main-live strong{display:block;font:700 40px 'Space Grotesk',sans-serif;color:var(--gold);letter-spacing:-1px;line-height:1.1}
.main-live .main-speed strong{font-size:22px;color:var(--ink);letter-spacing:0}
.main-raccoon .track{margin-bottom:14px}
.main-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.main-stats>div{background:#101917aa;border:1px solid var(--line);border-radius:9px;padding:9px 11px;min-width:0}
.main-stats small{display:block;font-size:11px;color:var(--muted)}
.main-stats strong{font-size:16px;overflow-wrap:anywhere}
.main-quests{grid-column:1/-1;justify-self:start;background:#332a12;border-color:#6b5a34;color:#ffd873;padding:8px 12px;font-size:13px}
.main-upgrade .main-ladder{margin-top:4px;justify-content:space-between}
.main-upgrade .rung{min-width:0;flex:1;padding:6px 4px}
.main-upgrade .rung strong{font-size:14px}
.main-foot{margin-top:14px}
.core-strip-banner{display:flex;width:100%;align-items:center;gap:14px;text-align:left;margin:0 0 22px;padding:14px 18px;border-radius:12px;background:linear-gradient(90deg,#2c2416,#1c2a24);border:1px solid #87704b;color:#ebce9b;font-weight:500}
.core-strip-banner .px-icon{color:#ffbe55}
.core-strip-banner span{flex:1}.core-strip-banner strong{color:#ffd873}.core-strip-banner b{color:var(--gold);white-space:nowrap}
.home-scene{min-height:360px;margin-bottom:6px}
.home-scene .scene-copy{min-height:360px;max-width:60%}
.home-scene .scene-copy h2{margin-top:auto}
.home-scene .actions{margin-top:14px}
.home-scene .scene-art{width:58%}
@media(max-width:1100px){.main-grid{grid-template-columns:auto minmax(0,1fr)}.main-upgrade{grid-column:1/-1}.main-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:590px){.main-grid{grid-template-columns:1fr}.main-info{text-align:left;width:100%}.main-live strong{font-size:32px}.main-stats{grid-template-columns:1fr 1fr}.home-scene .scene-copy{max-width:100%}.home-scene .scene-art{width:85%;opacity:.55}.core-strip-banner{flex-wrap:wrap}}

/* fixes: art box holds 16:9, quantity row above the buy button */
.core-art{aspect-ratio:16/9;overflow:hidden}.core-art img{position:absolute;inset:0;height:100%}
.core-buy{grid-template-columns:1fr}
.qty{justify-content:space-between}
.core-body .qty button{width:auto;margin:0;padding:10px 16px;font-size:18px;line-height:1}
.core-body .core-buy>.primary{white-space:nowrap}


/* the two incomes of a core */
.earn-two{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.4fr);gap:14px;align-items:stretch;margin:0 0 22px}
.earn-card{position:relative;padding:18px 20px 18px 62px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}
.earn-card.bank{background:linear-gradient(120deg,#2c2416,#1c2a24);border-color:#87704b}
.earn-card h3{margin:0 0 6px;font-size:18px}.earn-card p{margin:0;font-size:14px}
.earn-num{position:absolute;left:18px;top:18px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:700 15px 'Space Grotesk',sans-serif;background:var(--gold);color:#182019}
.earn-card.bank .earn-num{background:#ffbe55}
.earn-plus{display:grid;place-items:center;font:700 34px 'Space Grotesk',sans-serif;color:var(--gold)}
.earn-live{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
.earn-live div{background:#101917aa;border:1px solid #6b5a34;border-radius:9px;padding:8px 10px}
.earn-live small{display:block;font-size:11px;color:#c9b48a}.earn-live strong{font-size:15px;color:#ffd873}
.core-body dl div.est{border-bottom-color:#6b5a34}.core-body dl div.est dd{color:#ffd873}
.shop-hero{grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr)}
@media(max-width:850px){.earn-two{grid-template-columns:1fr}.earn-plus{font-size:26px;line-height:1}.earn-live{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:590px){.earn-live{grid-template-columns:1fr}}

/* trading boosts: class of the week + fresh buy */
.event-banner{display:flex;flex-direction:column;gap:4px}
.event-banner .week-class{color:#ffe08a}
.trade-boosts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.trade-card{margin:0}.trade-card h3{margin:6px 0}.trade-card .button{display:inline-block;margin-top:6px}
.trade-card.week{background:linear-gradient(120deg,#2c2416,#1c2a24);border-color:#87704b}
.trade-card.fresh{border-color:#3f7d5c}
.boost-badges{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}
.boost-badge{font-size:12px;font-weight:700;padding:3px 8px;border-radius:999px;background:#3a3018;color:#ffd873;border:1px solid #87704b}
.boost-badge.fresh{background:#173226;color:#8fe0a8;border-color:#3f7d5c}
@media(max-width:850px){.trade-boosts{grid-template-columns:1fr}}
