:root{--bg:#101312;--panel:#191d1b;--line:#2d332f;--text:#eef2eb;--muted:#949e95;--green:#c4f67c}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,"PingFang SC","Microsoft YaHei",sans-serif;font-size:14px}button,input,a{-webkit-tap-highlight-color:transparent}button,a{transition:.2s}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--green);outline-offset:4px}header{height:96px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center}.brand-icon{width:35px;height:35px;border-radius:9px;background:var(--green);color:#142515;font-size:29px;font-weight:900;position:relative;padding-left:7px;line-height:34px}.brand-icon span{font-size:10px;position:absolute;right:5px;top:8px}.brand b{font-size:21px;letter-spacing:-.7px}.brand em{font-size:10px;letter-spacing:2px;font-style:normal;display:block;color:var(--muted);margin-top:3px}nav{display:flex;gap:34px;color:#aab2aa;font-size:13px}nav a.active{color:var(--green)}.header-actions{display:flex;align-items:center;gap:24px}.guest{font-size:11px;color:var(--muted)}.login{border:1px solid #444e43;border-radius:7px;background:transparent;color:var(--text);padding:10px 16px}.login span{margin-left:18px}.hero{max-width:1440px;margin:auto;padding:68px 5% 58px;display:grid;grid-template-columns:1fr 1.12fr;gap:38px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;color:var(--green);display:flex;align-items:center;gap:9px}.eyebrow i,.art-top i,.collection-bottom i{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%}.hero h1{font-size:clamp(44px,4.8vw,72px);line-height:1.25;letter-spacing:-3px;margin:28px 0 23px;font-weight:800}.hero h1 span{color:var(--green)}.hero sup{font-size:36px;vertical-align:top;margin-left:12px;color:var(--green);font-weight:400}.hero p{color:var(--muted);line-height:1.95;font-size:14px}.hero-buttons{display:flex;gap:12px;margin-top:30px}.primary,.secondary{display:inline-flex;justify-content:center;align-items:center;gap:25px;border-radius:7px;padding:14px 22px;font-weight:650;border:1px solid var(--green);background:var(--green);color:#1b2818}.primary:hover{background:#d8ffa2;transform:translateY(-2px)}.secondary{background:transparent;color:#d9dfd7;border-color:#465044;gap:8px}.secondary:hover{border-color:var(--green)}.hero-note{display:flex;gap:25px;color:#7d897d;font-size:11px;margin-top:25px}.hero-art{height:440px;border:1px solid #3a4836;border-radius:15px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#35482c,#20291e 60%,#1a2119)}canvas{width:100%;height:100%;display:block}.art-top{position:absolute;top:22px;left:24px;right:24px;display:flex;justify-content:space-between;font-family:monospace;font-size:9px;letter-spacing:1px;color:#a3b79a}.art-top i{width:5px;height:5px;margin-right:6px}.art-bottom{position:absolute;bottom:24px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.art-bottom small{display:block;font-family:monospace;font-size:8px;letter-spacing:1.3px;color:#93a187;margin-top:8px}.cross{font-size:32px;color:#a7b99a;font-weight:200}.coord{position:absolute;right:20px;top:60px;writing-mode:vertical-rl;font-family:monospace;font-size:8px;letter-spacing:1px;color:#66785f}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 5%;display:flex;justify-content:space-between;gap:25px;white-space:nowrap;overflow:hidden;font-family:monospace;font-size:10px;letter-spacing:1.2px;color:#8c9988}.ticker b{color:var(--green);font-size:14px}.works{max-width:1440px;margin:auto;padding:65px 5% 45px}.muted{color:#859180}.section-top{display:flex;justify-content:space-between;align-items:flex-end}h2{font-size:27px;letter-spacing:-.9px;margin:17px 0 0}.section-top h2 span{color:var(--green);margin-left:22px;font-weight:400}.demo-label{color:#84917f;font-size:10px;border:1px solid var(--line);border-radius:5px;padding:7px 10px}.toolbar{display:flex;justify-content:space-between;margin:32px 0 25px;gap:20px}.filters{display:flex;gap:8px}.filters button{border:1px solid transparent;background:transparent;color:#909b90;border-radius:6px;padding:10px 16px;font-size:12px}.filters button.selected{color:var(--green);background:#263020;border-color:#3e4b34}.filters small{font-size:9px;opacity:.65;margin-left:8px}.search{display:flex;align-items:center;gap:10px;padding:0 12px;border:1px solid var(--line);border-radius:6px;width:260px;color:#899486}.search span{font-size:24px}.search input{width:100%;background:transparent;border:0;outline:0;color:var(--text);font:inherit;font-size:11px}.search kbd{border:1px solid #3b4439;border-radius:3px;padding:1px 5px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#181c19;cursor:pointer}.card:hover{transform:translateY(-5px);border-color:#698151}.card-art{height:190px;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,var(--shade),#1a211d)}.card-art svg{width:100%;height:100%}.card-badge{position:absolute;top:14px;left:14px;font-size:9px;border:1px solid #ffffff25;border-radius:4px;padding:5px 8px;background:#10171399;color:#d9e4d4}.art-number{position:absolute;bottom:12px;right:14px;font-family:monospace;font-size:9px;color:#d8e9d174}.card-body{padding:21px}.card-heading{display:flex;justify-content:space-between;align-items:center}.card h3{font-size:18px;margin:0;letter-spacing:-.3px}.card-heading span{color:#8a9d80;font-size:20px}.card p{color:#8c988b;font-size:12px;line-height:1.8;min-height:42px;margin:10px 0 16px}.tags{display:flex;gap:6px}.tags span{font-size:9px;color:#9caa96;background:#252c23;padding:5px 7px;border-radius:3px}.card-foot{border-top:1px solid var(--line);margin-top:18px;padding-top:14px;display:flex;justify-content:space-between;font-size:10px;color:#8a9787}.card-foot b{color:#becbb4;font-weight:400}.collection-bottom{margin-top:26px;display:flex;justify-content:space-between;font-size:10px;color:#697663}.collection-bottom i{margin-left:8px;width:4px;height:4px}.redeem-banner{margin:28px 5% 0;padding:35px 40px;background:#20291d;border:1px solid #3a4c31;border-radius:10px;display:flex;align-items:center;gap:26px}.ticket-icon{font-size:39px;color:var(--green);background:#2c3924;border:1px solid #4a603c;transform:rotate(-10deg);border-radius:12px;padding:10px 20px}.redeem-banner .eyebrow{font-size:8px}.redeem-banner h2{font-size:23px;margin-top:12px}.redeem-banner p{font-size:12px;color:#8e9d85;margin-bottom:0}.redeem-banner button{margin-left:auto;white-space:nowrap}.about{text-align:center;padding:90px 20px 80px}.about .eyebrow{justify-content:center}.about h2{font-size:29px;margin-top:22px}.about p{font-size:13px;line-height:2;color:var(--muted);margin-top:23px}.about-tags{display:flex;justify-content:center;gap:34px;margin-top:28px;font-size:11px;color:#b6c1ae}footer{border-top:1px solid var(--line);padding:30px 5%;display:flex;align-items:center;justify-content:space-between;color:#798573;font-size:10px}footer .brand{scale:.8;transform-origin:left}footer>a:last-child{font-size:11px}dialog{background:#1b211c;color:var(--text);border:1px solid #4e6045;border-radius:16px;padding:36px;width:460px;max-width:calc(100% - 32px);box-shadow:0 25px 100px #0009}dialog::backdrop{background:#050a07bb;backdrop-filter:blur(8px)}.close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:#a6b29e;font-size:25px}dialog h2{font-size:26px;margin:14px 0}dialog p{font-size:12px;line-height:1.9;color:#a0ad98}dialog label{display:block;margin-top:20px;font-size:12px;color:#c5cebf}dialog input{width:100%;padding:13px;margin-top:8px;border:1px solid #46523f;border-radius:6px;background:#111810;color:white;font:inherit}dialog .primary{width:100%;margin-top:23px}dialog .hint{font-size:10px;color:#87967f}dialog .switch{background:none;border:0;color:var(--green);padding:8px 0}.result{margin-top:18px;color:var(--green);line-height:1.8;font-size:13px}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:var(--green);color:#182512;padding:12px 24px;border-radius:8px;display:none;z-index:5}#empty{text-align:center;padding:60px;color:var(--muted)}@media(min-width:1500px){.redeem-banner{max-width:1296px;margin-left:auto;margin-right:auto}}@media(max-width:900px){nav{gap:18px}.guest{display:none}.hero{gap:20px}.hero h1{font-size:47px}.hero-art{height:390px}.cards{grid-template-columns:repeat(2,1fr)}.hero-note{gap:10px;font-size:9px}.hero-buttons{gap:8px}.primary,.secondary{padding:12px 14px;font-size:12px}.redeem-banner{padding:25px;gap:18px}.redeem-banner h2{font-size:18px}.ticket-icon{display:none}}@media(max-width:620px){header{height:78px}nav{display:none}.brand b{font-size:18px}.login{font-size:11px;padding:9px}.hero{grid-template-columns:1fr;padding-top:38px}.hero h1{font-size:53px}.hero-art{margin-top:16px;height:360px}.hero-note{font-size:10px}.works{padding-top:40px}.section-top{align-items:flex-start}.section-top h2{font-size:22px;max-width:240px;line-height:1.5}.section-top h2 span{display:none}.demo-label{font-size:8px;margin-top:28px;white-space:nowrap}.toolbar{flex-direction:column;gap:15px}.filters button{padding:9px 12px}.search{width:100%;height:40px}.cards{grid-template-columns:1fr}.card-art{height:210px}.redeem-banner{align-items:flex-start;flex-direction:column;padding:26px}.redeem-banner button{margin-left:0}.about{padding:65px 20px}.about h2{font-size:23px;line-height:1.5}.about p br{display:none}.about-tags{gap:20px}footer{flex-wrap:wrap;gap:20px}footer>span{order:3;width:100%}.collection-bottom{font-size:9px}.eyebrow{font-size:8px}.hero sup{font-size:28px}}
.card h3{font-size:17px;line-height:1.5;overflow-wrap:anywhere}.card p{min-height:44px}.card-foot{gap:10px}.card-heading{gap:10px;align-items:flex-start}.card-heading>span{flex-shrink:0}.tags{flex-wrap:wrap}.card-body{display:flex;flex-direction:column;flex:1}.card{display:flex;flex-direction:column}.card-art{flex-shrink:0}dialog{width:650px;max-height:88vh;overflow:auto}dialog h3{margin-top:28px}.description{white-space:pre-wrap;line-height:1.95;font-size:13px;color:#c2cdbb;border-left:2px solid #71875c;padding:2px 0 2px 16px;margin:25px 0}.release{padding:20px;border:1px solid var(--line);border-radius:9px;margin-top:16px;background:#151b15}.release-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.release-title strong{color:var(--green)}.release-title span{color:var(--muted);font-size:11px}.filename{overflow-wrap:anywhere;font-family:monospace;font-size:11px!important}.requirements{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:10px 15px;font-size:12px;line-height:1.6;margin:18px 0}.requirements dt{color:#8f9e86;overflow-wrap:anywhere}.requirements dd{margin:0;color:#d4decd;overflow-wrap:anywhere}.hash{font-family:monospace;overflow-wrap:anywhere}.release details summary{cursor:pointer;font-size:11px;color:#9fb58c}.download{width:100%;margin-top:10px}.download-status{font-size:12px;line-height:1.8;margin-top:10px;color:var(--green)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}.detail-summary{font-size:14px!important}.close{position:sticky;display:block;margin-left:auto;right:0;top:0;background:#1b211c;z-index:1;width:26px;height:26px;line-height:20px}dialog>button.close+div>.eyebrow{margin-top:-14px;padding-right:30px}.card-art.real-art{height:180px}@media(max-width:620px){dialog{padding:24px}.release{padding:15px}.requirements{grid-template-columns:95px 1fr;font-size:11px}.release-title{align-items:flex-start}.card-art.real-art{height:200px}}

[hidden]{display:none!important}

.unlocked-list{display:flex;flex-direction:column;gap:10px;margin-top:25px}.unlocked-list button{text-align:left;justify-content:space-between;line-height:1.6}.eyebrow{overflow-wrap:anywhere}dialog .eyebrow{line-height:1.7}.description,.card p{overflow-wrap:anywhere}

/* Local redesign, step 1: compact collection and category tags. */
.toolbar{align-items:center;flex-wrap:wrap;gap:14px;margin:26px 0 12px}
.catalog-tools{display:flex;align-items:stretch;gap:10px;min-width:0}
.catalog-tools .search{width:240px;height:40px;min-width:0}
.tag-field{display:flex;align-items:center;gap:8px;width:176px;min-width:0;height:40px;padding:0 11px;border:1px solid var(--line);border-radius:6px;background:#171d18;color:#9daa96;font-size:11px}
.tag-field>span{flex-shrink:0;color:#7f8e78}
.tag-field select{width:100%;min-width:0;max-width:100%;border:0;background:transparent;color:#dbe6d4;font:inherit;cursor:pointer;outline-offset:4px;color-scheme:dark}
.tag-field select:focus-visible{outline:2px solid var(--green)}
.tag-field option{background:#192119;color:#eef2eb}
.catalog-status{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:24px;margin-bottom:14px;color:#7e8b78;font-size:11px}
#clear-filters{padding:3px 0;background:none;border:0;color:#b4ce9e;font-size:11px}
#clear-filters:hover{color:var(--green)}
.cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.card{min-width:0;border-radius:9px}
.card:hover{transform:translateY(-3px)}
.card-art.real-art{height:112px}
.card-badge{top:9px;left:10px;padding:4px 6px;font-size:8px}
.art-number{bottom:9px;right:10px;font-size:8px}
.card-body{padding:14px;min-width:0}
.card-heading{gap:8px}
.card h3{font-size:14px;line-height:1.45;min-height:40px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-heading>span{font-size:17px;line-height:1.4}
.card p{font-size:11px;line-height:18px;min-height:36px;max-height:36px;margin:8px 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card .tags{gap:5px;margin-bottom:12px}
.card .tags span{font-size:8px;padding:4px 6px;line-height:1.3}
.card .tags .topic-tag{background:#2a3522;color:#b5d292}
.card-foot{margin-top:auto;padding-top:10px;gap:7px;font-size:9px;line-height:1.5}
.card-foot>b{flex-shrink:0}
@media(max-width:1199px) and (min-width:901px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.catalog-tools .search{width:210px}.tag-field{width:166px}.filters button{padding-left:12px;padding-right:12px}}
@media(max-width:900px){.toolbar{flex-direction:column;align-items:stretch}.filters{flex-wrap:wrap}.catalog-tools{width:100%}.catalog-tools .search{flex:1;width:auto}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.cards{grid-template-columns:1fr;gap:14px}.card-art.real-art{height:110px}.card h3{font-size:15px;min-height:0}.card p{font-size:12px}.card-body{padding:14px}.card .tags span{font-size:9px}.card-foot{font-size:10px}.tag-field{width:158px}.catalog-tools .search{height:40px;padding:0 9px}.catalog-tools .search kbd{display:none}.catalog-status{font-size:10px}.toolbar{gap:12px}.filters button{padding:9px 11px}}

/* Username account dialogs. */
.auth-tabs{display:flex;gap:6px;padding:5px;margin:22px 0;background:#111710;border:1px solid var(--line);border-radius:9px}.auth-tabs button{flex:1;padding:10px;border:0;border-radius:6px;background:transparent;color:#aab5a3}.auth-tabs button.selected{background:#2e4022;color:#d8f7b4}#auth-form .field-help{font-size:11px;line-height:1.7;color:#98a78f;margin:11px 1px 22px}.auth-submit{width:100%;margin-top:8px}.auth-result{min-height:20px;margin:0 0 10px;overflow-wrap:anywhere}.admin-auth-link{display:inline-block;font-size:12px;color:#b4ce9e;margin-top:6px}.account-summary{display:flex;flex-direction:column;gap:7px;padding:18px;border:1px solid #405034;border-radius:9px;background:#202c1b;margin:20px 0}.account-summary strong{color:var(--green);font-size:18px}.account-summary span{font-size:12px;color:#a9b79e}.account-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.header-actions .guest{max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}dialog h2{overflow-wrap:anywhere}@media(max-width:620px){.account-actions>*{width:100%}.auth-tabs{margin-top:16px}.header-actions .guest{max-width:105px}}

#auth-form .auth-result{min-height:0;margin:12px 0 0;font-size:12px}#auth-status:empty{display:none}#auth-form .auth-submit{margin-top:24px}#auth-form label{line-height:1.5}#auth-form input{min-height:46px}

/* Contact and persisted download access. */
.contact-section{max-width:1440px;margin:auto;padding:56px 5% 72px;border-top:1px solid var(--line)}.contact-section h2{font-size:32px;letter-spacing:-1px;margin:16px 0}.contact-intro{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:28px}.contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.contact-card{min-width:0;padding:26px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.contact-channel{display:flex;align-items:center;gap:10px}.contact-channel>span{display:grid;place-items:center;width:34px;height:34px;background:#29351f;color:var(--green);border-radius:8px;font-size:20px}.contact-channel h3{font-size:16px;font-weight:500;margin:0}.contact-value{display:block;font-size:18px;line-height:1.6;overflow-wrap:anywhere;margin:20px 0;color:var(--text);user-select:all}.contact-email{color:var(--green)}.contact-card .secondary{font-size:12px;padding:10px 15px}.contact-status{display:block;min-height:20px;margin-top:12px;color:var(--green);font-size:12px;line-height:1.7}.footer-links{display:flex;gap:22px;font-size:11px;flex-wrap:wrap}.card-foot-meta{display:flex;flex-direction:column;gap:5px;min-width:0}.card-access{font-size:10px;color:var(--green);line-height:1.4}.access-confirmation{padding:12px 16px;border:1px solid #4b6338;border-radius:8px;background:#25351d;color:var(--green)!important;font-size:13px!important;line-height:1.8!important}.detail-lock-actions .secondary{width:100%;margin-top:10px}.detail-lock-actions .primary{margin-top:22px}@media(max-width:620px){.contact-section{padding:40px 5% 48px}.contact-section h2{font-size:27px}.contact-grid{grid-template-columns:1fr;gap:14px}.contact-card{padding:22px}.contact-value{font-size:16px}.footer-links{font-size:11px;gap:20px}.card-access{font-size:10px}}
