:root{--panel:#18120f;--panel2:#211713;--line:#443027;--ink:#fff7ed;--muted:#c9b6a8;--accent:#f6a044}
.purchase-success{position:relative;z-index:1001;background:#194c37;color:#d9ffec;text-align:center;padding:12px 18px;font-size:13px;font-weight:750}.purchase-success.warning{background:#66411e;color:#fff0d8}.edition-links>strong{flex:0 0 100%;font-size:14px;margin:8px 0 3px;color:var(--ink)}.edition-links a{padding:11px 14px!important;background:var(--accent)!important;border-color:var(--accent)!important;color:#1b0e08!important;font-size:13px!important;font-weight:800!important}.download-heading{flex:0 0 100%;margin:8px 0 2px}.asset-layout .actions>a{background:var(--accent);border-color:var(--accent);color:#1b0e08;font-weight:800;padding:11px 14px}
.test-mode-banner{position:relative;z-index:1000;background:#f1a23f;color:#211309;text-align:center;padding:8px 16px;font-size:12px;font-weight:800;letter-spacing:.02em}.stripe-mode-picker{border:0;padding:0;margin:2px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stripe-mode-picker legend{color:var(--muted);font-size:13px;margin-bottom:8px}.stripe-mode-picker label{display:flex!important;align-items:center;gap:10px;padding:13px;border:1px solid var(--line);border-radius:10px;background:#120d0b;cursor:pointer}.stripe-mode-picker input{width:auto!important;margin:0}.stripe-mode-picker span,.stripe-mode-picker small,.stripe-status span,.stripe-status small{display:block}.stripe-mode-picker small,.stripe-status small,.setting-help{color:var(--muted);font-size:12px;line-height:1.5}.stripe-status{display:flex;align-items:flex-start;gap:11px;margin:22px 0 12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#120d0b}.stripe-status small+small{margin-top:4px;color:#e9a18c}.status-dot{flex:0 0 auto;width:10px;height:10px;margin-top:4px;border-radius:50%;background:#d99a45;box-shadow:0 0 0 4px rgba(217,154,69,.12)}.status-dot.ok{background:#58d394;box-shadow:0 0 0 4px rgba(88,211,148,.12)}.status-dot.warning{background:#f0a04a}.status-dot.checking{animation:status-pulse 1s infinite alternate}@keyframes status-pulse{to{opacity:.35}}
.check-row>span{display:block;min-width:0}.check-row a{display:inline;color:var(--accent);text-underline-offset:2px}.auth-card{grid-column:1/-1;width:min(100%,480px);justify-self:center}.auth-gate{max-width:440px;margin:0 auto}.auth-gate-heading h3{font-size:22px;line-height:1.2;margin:0 0 6px;letter-spacing:-.02em}.auth-gate-heading p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}.auth-gate .auth-tabs{margin:18px 0 16px}.auth-gate .auth-tabs button{font-size:13px;padding:8px 13px}.auth-gate .stack{gap:12px}.auth-gate .stack label{font-size:12px}.auth-gate .page-button{width:100%;font-size:14px;padding:12px 16px}.page-auth-dialog{width:min(500px,calc(100% - 28px));background:var(--panel2);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 30px 100px #000}.page-auth-dialog::backdrop{background:rgba(7,5,4,.78)}
a{color:inherit}.license-choice{display:flex;align-items:center;justify-content:center;gap:8px;margin:12px auto 0;flex-wrap:wrap}.license-choice button,.state-chip{border:1px solid #70503a;background:#17100d;color:#dcc8b8;border-radius:999px;padding:7px 12px}.license-choice button.active{background:var(--accent);color:#160d08;border-color:var(--accent)}.license-choice button.unavailable{opacity:.5;cursor:not-allowed}.license-choice span{width:100%;font-size:12px;color:#dbc4b2}.check-row{display:flex!important;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45}.check-row input{width:auto!important;margin-top:3px}.state-chip{display:inline-block;text-transform:capitalize;font-size:11px;padding:4px 9px}.state-chip.private{color:#8ce9bd;border-color:#357459}.state-chip.locked{color:#ffd08a;border-color:#8a6532}.state-chip.public{color:#a9d5ff;border-color:#3d668c}
.page-body{background:#0f0c0a;color:var(--ink);min-height:100vh}.page-main{max-width:1120px;margin:0 auto;padding:70px 28px 120px}.page-hero{padding:30px 0 38px;border-bottom:1px solid var(--line);margin-bottom:32px}.page-hero h1{font-size:clamp(42px,7vw,78px);line-height:.95;margin:10px 0}.page-hero p{color:var(--muted);max-width:720px}.page-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.page-card{background:linear-gradient(150deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:18px;padding:24px}.page-card.wide{grid-column:1/-1}.page-card h2,.page-card h3{margin-top:0}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{padding:18px;border:1px solid var(--line);border-radius:14px;background:#120d0b}.metric strong{display:block;font-size:30px;color:var(--accent)}.stack{display:grid;gap:14px}.stack label{display:grid;gap:7px;color:var(--muted)}.stack input,.stack textarea{background:#0d0a08;color:var(--ink);border:1px solid #5c4133;border-radius:10px;padding:12px}.actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.actions button,.actions a,.page-button{border:1px solid #75503a;background:#241710;color:#ffe9d5;border-radius:9px;padding:9px 12px;text-decoration:none;cursor:pointer}.actions .primary,.page-button.primary{background:var(--accent);border-color:var(--accent);color:#170d07;font-weight:700}.actions .danger{border-color:#8b3d3d;color:#ffb2aa}.library-list,.admin-list{display:grid;gap:10px}.library-row,.admin-row{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:15px}.library-row p,.admin-row p{margin:5px 0;color:var(--muted);font-size:13px}.admin-row>div:last-child{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-row input{width:85px;background:#0d0a08;color:white;border:1px solid #5c4133;border-radius:8px;padding:8px}.asset-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:24px}.asset-viewer{min-height:580px;border:1px solid var(--line);border-radius:18px;background:#17110e}.license-box{border-left:3px solid var(--accent);padding:2px 0 2px 16px;color:var(--muted)}.legal{max-width:820px}.legal h2{margin-top:36px}.legal p,.legal li{color:var(--muted);line-height:1.7}.auth-gate{margin-top:18px}.auth-tabs{display:flex;gap:8px;margin-bottom:16px}.auth-tabs button.active{background:var(--accent);color:#160d08}.notice{padding:12px 14px;border:1px solid #76552f;background:#291d11;border-radius:10px;color:#ffd89c}.hidden{display:none!important}
@media(max-width:800px){.page-grid,.asset-layout{grid-template-columns:1fr}.metric-grid{grid-template-columns:1fr}.library-row,.admin-row{align-items:flex-start;flex-direction:column}.page-main{padding-inline:18px}.asset-viewer{min-height:420px}}

.delivery-intro{display:grid;gap:4px;margin-bottom:14px}.delivery-intro strong{font-size:18px}.delivery-intro span{color:var(--muted);font-size:13px}.choice-divider{display:flex;align-items:center;gap:10px;margin:14px 0;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.choice-divider:before,.choice-divider:after{content:'';height:1px;background:var(--line);flex:1}
.block-breakdown{margin-top:24px}.block-breakdown-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:18px}.block-breakdown-heading h2{margin:3px 0 0}.block-breakdown-heading>span,.block-breakdown .eyebrow{color:var(--muted);font-size:12px}.block-breakdown .eyebrow{margin:0;text-transform:uppercase;letter-spacing:.11em;font-weight:800}.block-breakdown-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.block-count{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#120d0b}.block-count code{overflow:hidden;text-overflow:ellipsis;color:#f5dfce}.block-count strong{font-variant-numeric:tabular-nums;color:var(--accent)}.block-rank{color:#876f60;font-size:11px;text-align:right}@media(max-width:700px){.block-breakdown-list{grid-template-columns:1fr}}
.block-count{grid-template-columns:24px 38px minmax(0,1fr) auto}.block-count img{width:36px;height:36px;object-fit:cover;image-rendering:pixelated;border:1px solid #5b4639;border-radius:5px;background:#090706;box-shadow:inset -5px -5px 0 rgba(0,0,0,.16)}
.asset-facts{margin-top:24px}.asset-facts dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}.asset-facts dl>div{padding:13px 14px;border:1px solid var(--line);border-radius:10px;background:#120d0b}.asset-facts dt{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.asset-facts dd{margin:5px 0 0;font-weight:750;overflow-wrap:anywhere}@media(max-width:700px){.asset-facts dl{grid-template-columns:1fr 1fr}}
.gallery-card .card-stats,.gallery-card .card-actions{padding:0}.card-stats{display:flex;gap:14px;align-items:center;margin:13px 0;color:var(--muted);font-size:12px}.card-stats>span,.card-actions a,.card-actions button{display:inline-flex;align-items:center;gap:6px}.card-stats svg,.card-actions svg{width:16px;height:16px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.card-actions a,.card-actions button{text-align:left}.release-notice{margin:0 0 14px!important;padding:11px 12px;border-left:3px solid var(--accent);background:#211712}
.nav .mobile-menu-toggle{display:none;position:relative;width:42px;height:40px;padding:0;border:1px solid var(--line);border-radius:9px;background:#211713}.mobile-menu-toggle span{position:absolute;left:50%;top:50%;display:block;width:20px;height:2px;margin:0;background:var(--ink);transition:transform .18s,opacity .18s}.mobile-menu-toggle span:first-child{transform:translate(-50%,-7px)}.mobile-menu-toggle span:nth-child(2){transform:translate(-50%,-1px)}.mobile-menu-toggle span:last-child{transform:translate(-50%,5px)}.mobile-menu-toggle.open span:first-child{transform:translate(-50%,-1px) rotate(45deg)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:last-child{transform:translate(-50%,-1px) rotate(-45deg)}@media(max-width:820px){.nav{position:relative;z-index:100}.nav .mobile-menu-toggle{display:block}.nav nav:not(.open){display:none}.nav nav.open{display:flex;position:absolute;top:64px;right:0;width:min(280px,calc(100vw - 24px));padding:10px;flex-direction:column;align-items:stretch;gap:2px;background:#18120f;border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 50px rgba(0,0,0,.55)}.nav nav.open a:not(.hidden),.nav nav.open button{display:block;padding:12px 13px;border-radius:8px;text-align:left}.nav nav.open a:hover,.nav nav.open button:hover{background:#2a1d17}}
.result-detail-button{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:14px;padding:11px 16px;border:1px solid var(--accent);border-radius:9px;background:var(--accent);color:#1b0e08!important;font-size:13px!important;font-weight:800;text-decoration:none}.asset-purchase{display:grid;grid-template-columns:minmax(0,1fr) 62px minmax(0,1fr);gap:0;align-items:stretch;margin-top:18px;padding:0;overflow:hidden}.asset-purchase.single{grid-template-columns:1fr}.asset-option{padding:30px}.asset-option .overline{margin-bottom:10px}.asset-option h2{margin:0 0 14px}.asset-option>p{color:var(--muted);line-height:1.55}.paid-option{background:linear-gradient(145deg,rgba(246,160,68,.1),transparent)}.paid-option ul{display:grid;gap:10px;margin:20px 0 25px;padding:0;list-style:none;color:var(--muted)}.paid-option li:before{content:'✓';margin-right:9px;color:var(--accent);font-weight:900}.paid-option .actions,.free-option>.actions{margin-top:18px}.paid-option .actions button{width:100%;justify-content:center}.asset-choice-divider{display:flex;align-items:center;justify-content:center;position:relative;color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.asset-choice-divider:before{content:'';position:absolute;top:24px;bottom:24px;left:50%;width:1px;background:var(--line)}.asset-choice-divider span{position:relative;z-index:1;padding:9px 5px;background:var(--panel2)}.asset-admin{margin-top:18px}@media(max-width:800px){.asset-purchase{grid-template-columns:1fr}.asset-choice-divider{min-height:52px}.asset-choice-divider:before{top:50%;bottom:auto;left:24px;right:24px;width:auto;height:1px}.asset-choice-divider span{padding:5px 10px}.asset-option{padding:24px}}
.purchase-consent{display:grid;gap:10px;margin:18px 0}.purchase-consent .check-row{color:var(--muted)}.purchase-consent small{min-height:18px;color:#ffb3a7}.plan-consent{margin:18px 0 12px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.plan-consent a,.purchase-consent a{color:var(--accent)}
.admin-reference{margin-top:24px}.admin-reference img{display:block;max-width:min(100%,720px);max-height:520px;object-fit:contain;border:1px solid var(--line);border-radius:12px;background:#111}
.gallery-viewer-empty{display:grid;place-items:center;color:var(--muted);font-size:12px;background:var(--panel2)}
.faq{padding:95px 0;border-top:1px solid var(--line)}.faq-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-list details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:0 22px}.faq-list details[open]{border-color:var(--accent)}.faq-list summary{position:relative;padding:21px 34px 21px 0;color:var(--text);font-weight:750;line-height:1.35;cursor:pointer;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:0;top:17px;color:var(--accent);font-size:24px;font-weight:400}.faq-list details[open] summary:after{content:'−'}.faq-list p{margin:0;padding:0 0 22px;color:var(--muted);line-height:1.65}.faq-list p strong{color:var(--text)}.faq-list code{background:#0c0e10;border:1px solid var(--line);border-radius:5px;color:#f0b06d;padding:2px 5px;font:600 12px ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:760px){.faq{padding:70px 0}.faq-list{grid-template-columns:1fr}.faq-list details{padding:0 18px}}
.placement-guide{padding:95px 0;border-top:1px solid var(--line)}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.guide-grid.luanti-guide{grid-template-columns:1fr}.guide-grid article{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:28px}.guide-grid h3{margin:4px 0 22px;font-size:25px}.guide-label{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.14em}.guide-grid ol{margin:0;padding-left:22px;color:var(--muted);line-height:1.58}.guide-grid li{padding:0 0 14px 7px}.guide-grid strong{color:var(--text)}.guide-grid code,.guide-grid kbd{background:#0c0e10;border:1px solid var(--line);border-radius:5px;color:#f0b06d;padding:2px 5px;font:600 12px ui-monospace,SFMono-Regular,Consolas,monospace}.guide-note{margin:12px 0 0;padding:14px;border-left:3px solid var(--accent);background:#17120f;color:var(--muted);font-size:13px;line-height:1.55}.guide-source{margin:18px 0 0;color:var(--muted);font-size:12px}.guide-source a{color:var(--accent)}@media(max-width:820px){.guide-grid{grid-template-columns:1fr}}@media(max-width:560px){.placement-guide{padding:70px 0}.guide-grid article{padding:20px}.guide-grid h3{font-size:22px}}
.guide-art{height:clamp(190px,27vw,330px);overflow:hidden;border:1px solid var(--line);border-radius:16px 16px 0 0;background:#15100c}.guide-art img{width:100%;height:100%;display:block;object-fit:cover}.guide-tabs{display:flex;gap:8px;padding:14px;background:var(--panel);border:1px solid var(--line);border-top:0}.guide-tabs button{border:1px solid var(--line);border-radius:999px;background:#0d1012;color:var(--muted);padding:10px 17px;font:750 13px var(--sans);cursor:pointer}.guide-tabs button.active{border-color:var(--accent);background:var(--accent);color:#15100b}.guide-crop{position:relative;max-height:330px;overflow:hidden;transition:max-height .35s ease}.guide-crop.expanded{max-height:1800px}.guide-crop .guide-grid{grid-template-columns:1fr}.guide-fade{position:absolute;z-index:2;left:0;right:0;bottom:0;height:155px;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--bg) 88%)}.guide-crop.expanded .guide-fade{opacity:0}.guide-expand{position:relative;z-index:3;display:flex;align-items:center;justify-content:center;gap:9px;margin:-23px auto 0;border:1px solid var(--accent);border-radius:999px;background:var(--bg);color:var(--text);padding:11px 20px;font:750 13px var(--sans);cursor:pointer}.guide-expand span{color:var(--accent);font-size:17px}.guide-source{text-align:center}.guide-grid article{border-radius:0 0 14px 14px}@media(max-width:560px){.guide-tabs{overflow-x:auto}.guide-tabs button{white-space:nowrap}.guide-art{height:200px}.guide-crop{max-height:300px}}
.edition-alt{flex:0 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:11px;color:#b99a86}.edition-links .edition-alt a,.actions .edition-alt a{padding:3px 8px!important;background:transparent!important;border:1px solid #5b3b2c!important;border-radius:6px;color:#efa05c!important;font-size:11px!important;font-weight:600!important}
/* Export picker: one select for every game and format. */
.download-picker{flex:1 1 100%;min-width:0;max-width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;margin-top:4px}
.download-picker>label{color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.download-row{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.download-row select{flex:999 1 220px;min-width:0;min-height:46px;appearance:none;background-color:#120d0b;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 19px) 50%,calc(100% - 14px) 50%;background-size:5px 5px;background-repeat:no-repeat;color:var(--ink);border:1px solid #5c4133;border-radius:9px;padding:0 38px 0 12px;font:650 13px var(--sans);cursor:pointer}
.download-row select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.download-row optgroup{font-weight:800}
.edition-links .download-go,.actions .download-go,.download-go{flex:1 0 auto;display:inline-flex!important;align-items:center;justify-content:center;min-height:46px!important;padding:0 20px!important;border-radius:9px;text-decoration:none;font-size:13px!important;font-weight:800!important}
.download-picker small{color:var(--muted);font-size:12px;line-height:1.5}
.download-picker small code{background:#0c0e10;border:1px solid var(--line);border-radius:4px;color:#f0b06d;padding:1px 4px;font:600 11px ui-monospace,SFMono-Regular,Consolas,monospace}
.download-note{opacity:.75}
.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0}
.format-grid article{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px}
.format-grid .plan-name{margin:0}
.format-grid h3{margin:8px 0;font-size:22px;letter-spacing:-.02em}
.format-grid p:not(.plan-name){margin:0;color:var(--muted);font-size:14px;line-height:1.5}
.luanti-mod{margin-top:34px}
.luanti-mod>p:not(.overline){color:var(--muted);line-height:1.6}
footer small{margin-left:4px;font-size:10px;opacity:.7}
@media(max-width:760px){.format-grid{grid-template-columns:1fr}}
/* Details page: switch the preview between game textures, and pick the game for "Blocks used". */
.asset-viewer-wrap{position:relative;min-width:0}
.edition-switch{position:absolute;top:14px;right:14px;z-index:3;display:flex;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(18,13,11,.82);backdrop-filter:blur(6px)}
.edition-switch button{border:0;border-radius:999px;background:transparent;color:var(--muted);padding:7px 13px;font:750 12px var(--sans);cursor:pointer}
.edition-switch button.active{background:var(--accent);color:#1b0e08}
.block-breakdown-heading>div>span{display:block;margin-top:4px;color:var(--muted);font-size:12px}
.block-edition{display:grid;gap:5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.block-edition select{min-width:150px;min-height:40px;appearance:none;background-color:#120d0b;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;color:var(--ink);border:1px solid #5c4133;border-radius:9px;padding:0 34px 0 12px;font:650 13px var(--sans);letter-spacing:0;text-transform:none;cursor:pointer}
/* One nav on every page. Admin and the account label follow the signed-in
   state that theme-init.js sets before the page draws, so nothing shifts. */
.nav-divider{width:1px;height:18px;background:var(--line)}
#adminNav{display:none}
html[data-admin] #adminNav{display:inline}
html[data-signed-in] #registerButton{display:none}
.account-label::before{content:"Sign in"}
html[data-signed-in] .account-label::before{content:var(--account-name,"Profile")}
.nav nav.open .nav-divider{width:auto;height:1px;margin:4px 8px}
.referral-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px 10px;margin:14px auto 0;max-width:720px;padding:10px 14px;border:1px solid var(--accent);border-radius:10px;background:rgba(229,138,61,.1);font-size:13px}
.referral-banner button{border:0;border-radius:7px;background:var(--accent);color:#1b0e08;padding:6px 12px;font:750 12px var(--sans);cursor:pointer}
.metric small{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.invite-card{display:grid;gap:14px}
.invite-card h2{margin:4px 0 6px}
.invite-card p{margin:0;color:var(--muted);line-height:1.55}
.invite-link{display:flex;gap:8px;flex-wrap:wrap}
.invite-link input{flex:999 1 260px;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ink);padding:0 12px;font:600 13px ui-monospace,SFMono-Regular,Consolas,monospace}
.invite-link button{flex:1 0 auto}
.invite-stats{font-size:12px}
.notice button{margin-left:8px;border:1px solid currentColor;border-radius:7px;background:transparent;color:inherit;padding:4px 10px;font:700 12px var(--sans);cursor:pointer}
