:root{--bg:#0b1013;--panel:#121a1e;--line:#253036;--muted:#8b9a9e;--mint:#b2f5ca;--text:#eef3ef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans Thai',sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--mint);outline-offset:4px}header{height:100px;max-width:1440px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);margin:auto}.brand{font-family:'Chakra Petch',sans-serif;font-size:22px;font-weight:700;letter-spacing:1px;position:relative;white-space:nowrap}.brand>span:not(.brand-icon){color:var(--mint)}.brand-icon{font-size:35px;vertical-align:middle;margin-right:8px;color:var(--mint)}.brand small{display:block;font-size:8px;letter-spacing:3px;color:#879a9b;margin:-4px 0 0 47px}nav{display:flex;gap:34px;color:#9ba8aa}nav .current{color:var(--mint)}.official{padding:11px 17px;border:1px solid #42534d;border-radius:5px;font-size:12px}main{max-width:1280px;margin:auto;padding:0 32px}.hero{min-height:480px;display:grid;grid-template-columns:1.08fr 1fr;align-items:center;gap:32px;position:relative}.eyebrow{font:500 10px 'Chakra Petch',sans-serif;letter-spacing:2.5px;color:var(--mint);display:flex;align-items:center;gap:9px}.eyebrow>span,.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px #aff5ca66}h1{font-size:clamp(34px,3.7vw,51px);line-height:1.35;letter-spacing:-1.8px;margin:22px 0 17px;font-weight:600}h1 em{font-family:'Chakra Petch';color:var(--mint);font-style:normal;font-weight:500}p{color:var(--muted);line-height:1.9}.hero-copy>p{font-size:14px}.hero-actions{display:flex;gap:25px;align-items:center;margin:29px 0 25px;font-size:12px}.primary{background:var(--mint);color:#13291f;padding:14px 23px;border-radius:5px;font-weight:600;display:inline-flex;gap:27px}.hero-actions>a:nth-child(2){color:#c7d0cd}.hero-meta{font-size:10px;color:var(--muted);display:flex;gap:8px;align-items:center}.hero-meta i{font-style:normal;color:#3a4a49;margin:0 7px}.hero-art{height:390px;position:relative;background:radial-gradient(ellipse,#8dd9ae15,transparent 65%);overflow:hidden}.orbit{position:absolute;border:1px solid #84d9ad15;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-25deg)}.o1{width:365px;height:365px}.o2{width:460px;height:220px}.cross{position:absolute;color:#638675;font-size:20px;font-weight:200}.c1{top:42px;left:20px}.c2{right:22px;bottom:63px}.floating{position:absolute;width:112px;height:122px;border:1px solid #4d6b5866;border-radius:14px;background:linear-gradient(145deg,#253b32,#111a1c);padding:14px;box-shadow:0 20px 30px #0005;display:flex;align-items:center;justify-content:center}.floating img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 5px 8px #0006)}.floating:nth-child(1){left:36%;top:31%;width:160px;height:174px;z-index:2;transform:rotate(-8deg);background:linear-gradient(135deg,#436554,#182825)}.floating:nth-child(2){left:14%;top:12%;transform:rotate(-17deg)}.floating:nth-child(3){right:4%;top:10%;transform:rotate(14deg)}.floating:nth-child(4){left:10%;bottom:10%;transform:rotate(10deg);width:95px;height:102px}.floating:nth-child(5){right:5%;bottom:12%;transform:rotate(-5deg);width:100px;height:108px}.art-label{position:absolute;bottom:0;left:35%;font:9px 'Chakra Petch';letter-spacing:1px;color:#9db7a8}.art-label span{color:var(--mint);margin-left:10px}.art-label small{display:block;font-size:6px;letter-spacing:1.5px;margin-top:6px;color:#597668}.stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:8px;padding:24px 0;background:linear-gradient(100deg,#17211d88,#11191d88)}.stats>div{display:flex;align-items:center;gap:18px;padding:0 30px;border-right:1px solid var(--line)}.stats>div:last-child{border:0}.stat-icon{font-size:26px;color:var(--mint)}.stats strong{font:500 31px 'Chakra Petch'}.stats div>span:last-child{font-size:11px;color:#c8d0cb}.stats small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.collection{padding-top:65px}.section-heading h2{font-size:26px;font-weight:500;margin:9px 0 25px}.section-heading h2>span{font-size:12px;color:var(--muted);font-weight:400;margin-left:15px}.toolbar{display:flex;gap:13px}.search{display:flex;align-items:center;gap:14px;background:#131c20;border:1px solid #344149;border-radius:6px;padding:9px 16px;flex:1}.search>span{font-size:25px;color:#a9b9b4}.search input{background:none;border:0;color:white;outline:none;width:100%;font-size:12px}.search kbd{border:1px solid #41504f;padding:0 6px;border-radius:3px;color:#7f9189;font-size:11px}select{background:#121b1f;color:#b1bcb7;border:1px solid var(--line);border-radius:6px;padding:12px 16px;font-size:11px}.filters{display:flex;align-items:center;justify-content:space-between;margin-top:23px;border-bottom:1px solid var(--line);gap:12px}.tabs{display:flex;gap:21px}.tabs button{padding:12px 2px 17px;border:0;background:none;color:#94a29f;font-size:12px;border-bottom:2px solid transparent}.tabs .selected{color:var(--mint);border-color:var(--mint)}.tabs b{font:10px 'Chakra Petch';background:#254236;color:var(--mint);border-radius:4px;padding:2px 6px;margin-left:6px}.hide-claimed{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center;white-space:nowrap}input[type=checkbox]{accent-color:var(--mint);width:15px;height:15px}.results{display:flex;justify-content:space-between;align-items:center;margin:22px 0 17px;font-size:11px;color:#8fa49b}.results select{border:0;padding:3px;background:none;color:#9bd5ae}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{border:1px solid var(--line);border-radius:8px;background:#131b20;overflow:hidden;transition:transform .18s,border-color .18s}.card:hover{transform:translateY(-4px);border-color:#617e6b}.card.claimed{opacity:.65}.card-art{height:172px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 80%,#739c7830,transparent 70%),linear-gradient(140deg,#1b2928,#121a20);border-bottom:1px solid #27352f}.card:nth-child(4n+2) .card-art{background:radial-gradient(ellipse at bottom,#665a8a38,transparent 70%),#191e26}.card:nth-child(4n+3) .card-art{background:radial-gradient(ellipse at bottom,#86774930,transparent 70%),#1b211f}.card-art:after{content:'';position:absolute;bottom:0;width:80%;height:1px;background:linear-gradient(90deg,transparent,#aff4ca66,transparent)}.card-art img{width:115px;height:115px;object-fit:contain;filter:drop-shadow(0 8px 15px #0008);transition:transform .3s}.card:hover img{transform:scale(1.08)}.badge{position:absolute;top:12px;left:12px;font-size:8px;letter-spacing:.4px;background:#193b2ddb;color:#b5edc6;padding:4px 7px;border:1px solid #759c7144;border-radius:4px}.type-tag{position:absolute;top:14px;right:12px;font:8px 'Chakra Petch';letter-spacing:1px;color:#9ba9a3}.placeholder{font-size:65px;color:#bcdfb7;text-shadow:0 0 25px #aaf9a65c}.card-body{padding:17px}.card h3{font:600 16px 'Chakra Petch';margin:0 0 5px;overflow-wrap:anywhere;letter-spacing:.4px}.card p{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 0 15px}.card-actions{display:flex;gap:7px}.copy{flex:1;background:#b2f5ca;color:#153224;border:0;border-radius:4px;padding:8px;font-size:11px;font-weight:600}.redeem{display:grid;place-items:center;border:1px solid #3b5148;border-radius:4px;width:33px;color:#b6cebf;font-size:17px}.claim{font-size:10px;color:#8f9e98;margin-top:13px;display:flex;align-items:center;gap:6px}.claim input{margin:0;width:12px;height:12px}.load-more{display:block;margin:28px auto;border:1px solid #3e5348;background:#17251f;color:#c9e8d2;padding:12px 36px;border-radius:5px;font-size:12px}.notice{border:1px solid #293e35;background:#14211b88;display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:6px;color:#97b3a0}.notice p{margin:0;font-size:10px;color:#98aaa0}.guide{margin:65px 0;display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:35px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.guide h2{font-size:25px;font-weight:500}.guide p{font-size:12px}.guide a{font-size:12px;color:var(--mint)}.guide ol{list-style:none;margin:0;padding:0;display:grid;gap:24px}.guide li{display:flex;gap:18px;align-items:center}.guide li>b{font:22px 'Chakra Petch';color:#94c2a6;border:1px solid #355242;width:50px;height:50px;display:grid;place-items:center;border-radius:7px}.guide h3{font-size:13px;font-weight:500;margin:0}.guide li p{margin:3px 0 0;font-size:11px}.sources{display:flex;justify-content:space-between;gap:30px;margin-bottom:45px}.sources h3{font-size:13px;font-weight:500}.sources p,.sources a{font-size:10px}.sources>div:last-child{display:flex;flex-direction:column;gap:12px;padding-top:15px;color:#a4bfae}footer{border-top:1px solid var(--line);padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:15px}footer p{font-size:9px}footer>a:last-child{font-size:11px;color:#9caea1}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(90px);padding:12px 24px;background:var(--mint);color:#153224;border-radius:6px;box-shadow:0 10px 35px #0008;transition:transform .2s;z-index:20;font-size:12px}#toast.show{transform:translateX(-50%) translateY(0)}.empty{grid-column:1/-1;padding:70px;text-align:center;color:var(--muted)}@media(min-width:1450px){.hero{min-height:530px}.hero-art{height:420px}}@media(max-width:1000px){nav{gap:18px}.official{display:none}.grid{grid-template-columns:repeat(3,1fr)}.stats>div{padding:0 15px;gap:10px}.stats strong{font-size:26px}.hero-art{transform:scale(.9)}h1{font-size:38px}.hide-claimed{font-size:10px}}@media(max-width:720px){header{height:80px;padding:0 22px}.brand{font-size:17px}.brand-icon{font-size:28px}.brand small{font-size:6px;margin-left:40px}nav{gap:14px;font-size:10px}nav>a:last-child{display:none}main{padding:0 20px}.hero{grid-template-columns:1fr;gap:0;padding-top:40px}.hero-copy{position:relative;z-index:3}h1{font-size:39px}.hero-art{height:300px;max-width:430px;width:100%;margin:auto;transform:scale(.9);margin-top:-5px}.hero-meta{font-size:9px}.hero-actions{gap:17px}.stats{padding:17px 0;grid-template-columns:1fr 1fr}.stats>div{flex-wrap:wrap;gap:9px;padding:0 16px}.stats>div:last-child{display:none}.stats div>span:last-child{font-size:10px;width:100%}.stat-icon{font-size:20px}.collection{padding-top:38px}.section-heading h2{font-size:23px}.section-heading h2>span{display:block;margin:5px 0 0;font-size:11px}.toolbar{flex-wrap:wrap}.search{min-width:100%}.toolbar>select{padding:8px}.filters{align-items:flex-start;flex-direction:column;gap:3px}.tabs{gap:17px}.tabs button{font-size:10px}.hide-claimed{padding:7px 0 12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card-art{height:145px}.card-art img{width:95px;height:95px}.card-body{padding:12px}.card h3{font-size:13px}.type-tag{display:none}.badge{font-size:7px;left:8px}.guide{grid-template-columns:1fr;gap:28px;margin:40px 0}.sources{flex-direction:column;gap:4px}footer{flex-wrap:wrap}.results{font-size:10px}.results select{font-size:10px;max-width:180px}.notice{align-items:flex-start}.art-label{left:27%}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
:root [hidden]{display:none!important}
:root .pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:28px 0;color:var(--muted)}.page-buttons{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap}.page-buttons button{min-width:35px;height:36px;background:#16201c;border:1px solid #34483d;border-radius:5px;color:#bdcfc4;font-size:11px;padding:0 11px}.page-buttons button[aria-current=page]{background:var(--mint);color:#173425;border-color:var(--mint);font-weight:700}.page-buttons button:hover:not(:disabled){border-color:var(--mint)}.page-buttons button:disabled{opacity:.35;cursor:default}.page-summary{font-size:10px;white-space:nowrap}.page-gap{padding:0 3px}.collection:focus{outline:none}@media(max-width:720px){:root .pagination{flex-direction:column;gap:12px}.page-buttons{gap:5px}.page-buttons button{min-width:30px;padding:0 9px}.page-summary:first-child{display:none}.page-summary:last-child{font-size:10px}}
.equipment-sources{padding:54px 0 0}.equipment-sources h2{font-size:26px;font-weight:500;margin:12px 0}.equipment-intro{font-size:12px;max-width:850px;margin-bottom:25px}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:25px 0 22px}.offer{background:linear-gradient(145deg,#192821,#121b20);border:1px solid #344a3d;border-radius:8px;padding:24px;display:flex;flex-direction:column}.offer-label{align-self:flex-start;font-size:9px;color:#b5ebc6;background:#244333;border-radius:4px;padding:5px 8px}.offer-label.upcoming{color:#e4d5ac;background:#413a28}.offer-icon{font-size:40px;color:var(--mint);margin:24px 0 14px}.offer h3{font:600 19px 'Chakra Petch';margin:0}.offer p{font-size:12px;min-height:48px}.offer-condition{font-size:11px;color:#aec0b6;line-height:1.95;border-top:1px solid #324438;padding:15px 0 22px;flex:1}.offer a{color:var(--mint);font-size:11px;border:1px solid #425e4b;border-radius:4px;padding:11px;text-align:center}.offer a:hover{background:#294334}.tabs{flex-wrap:wrap;gap:16px}@media(max-width:900px){.filters{align-items:flex-start;flex-direction:column}.offer{padding:18px}.offer h3{font-size:17px}}@media(max-width:720px){.offer-grid{grid-template-columns:1fr}.offer p{min-height:0}.equipment-sources{padding-top:35px}.equipment-sources h2{font-size:23px}.offer-icon{margin:15px 0 10px}.tabs{gap:14px}.tabs button{padding-bottom:12px}}
.update-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:15px;padding:10px 14px;border:1px solid #2a3d32;border-radius:5px;background:#14221b;color:#a4c5af;font-size:10px}.update-bar>div{display:flex;align-items:center;gap:9px}.update-bar .dot{flex-shrink:0}.update-bar button{border:1px solid #48614f;background:transparent;color:var(--mint);padding:7px 12px;border-radius:4px;white-space:nowrap;font-size:10px}.update-bar button:disabled{opacity:.5;cursor:wait}@media(max-width:720px){.update-bar{align-items:flex-start;font-size:9px}.update-bar button{padding:6px 8px;font-size:9px}}
.scan-launch{display:flex;align-items:center;gap:15px;margin:-3px 0 18px}.scan-launch button{border:1px solid #517b60;background:#1c3326;color:var(--mint);border-radius:5px;padding:11px 16px;font-size:12px}.scan-launch>span{color:var(--muted);font-size:10px}#glyphScanner{width:min(860px,94vw);max-height:90vh;background:#111c1c;border:1px solid #48624f;border-radius:12px;color:var(--text);padding:28px}#glyphScanner::backdrop{background:#000b;backdrop-filter:blur(5px)}.scan-header{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.scan-header h2{font-size:23px;font-weight:500;margin:10px 0}.scan-header>button{background:none;border:1px solid #405649;color:#cce6d2;border-radius:4px;padding:7px 11px}.scan-help{font-size:12px;color:#acbcb1;line-height:1.9}.scan-file{display:block;background:#1c2c23;border:1px dashed #62866c;border-radius:7px;padding:18px;color:#c2e4cc;font-size:12px}.scan-file input{display:block;margin-top:12px;max-width:100%;font-size:12px}.scan-owned{display:flex;align-items:center;gap:9px;font-size:12px;margin:18px 0;color:#c5d7cc}#scanPreview{width:100%;max-height:340px;object-fit:contain;background:#090e0e;border:1px solid #324539;border-radius:6px}.scan-controls{display:flex;align-items:center;gap:16px;margin-top:18px}.scan-controls button,.scan-save button{border:0;font-size:12px;cursor:pointer}.scan-controls span{font-size:10px;color:#91aa9a;max-width:350px}.scan-controls button:disabled,.scan-save button:disabled{opacity:.4;cursor:default}#scanMessage{font-size:12px;color:var(--mint);min-height:24px}.scan-review-heading{display:flex;justify-content:space-between;gap:10px;align-items:center}.scan-review-heading h3{font-size:16px}.scan-review-heading button{background:transparent;color:#bcdfc7;border:1px solid #49634f;border-radius:4px;padding:8px;font-size:10px}#scanResults{display:grid;gap:10px}.scan-result{display:flex;align-items:center;gap:12px;background:#1b2b23;border:1px solid #354f3e;border-radius:6px;padding:12px;cursor:pointer}.scan-result img,.scan-result canvas{width:64px;height:64px;object-fit:contain;background:#0d1510;border-radius:4px}.scan-result strong{font:600 15px 'Chakra Petch';overflow-wrap:anywhere}.scan-result small{display:block;font-size:10px;color:#a7bcad;margin-top:5px}.scan-save{position:sticky;bottom:-28px;background:#111c1cf5;padding:18px 0 5px;margin-top:10px}@media(max-width:720px){.scan-launch{align-items:flex-start;flex-direction:column;gap:8px}#glyphScanner{padding:20px}.scan-header h2{font-size:19px}.scan-controls{align-items:flex-start;flex-direction:column}.scan-result{gap:8px;padding:9px}.scan-result img,.scan-result canvas{width:45px;height:45px}.scan-result strong{font-size:12px}.scan-result small{font-size:9px}.scan-save{bottom:-20px}.scan-review-heading{align-items:flex-start;flex-direction:column;gap:0}}
.brand-name{font-family:'Noto Sans Thai',sans-serif;font-size:18px;letter-spacing:0;font-weight:600}@media(max-width:720px){.brand-name{font-size:13px}.brand-icon{margin-right:5px}header{gap:12px}header nav{gap:10px}}@media(max-width:420px){header nav{display:none}}
.code-name-note{color:#ff8c8c;font-size:12px;font-weight:500;line-height:1.8;margin:0 0 16px;padding:11px 14px;background:#371b1b66;border-left:3px solid #ff7777;border-radius:3px}@media(max-width:720px){.code-name-note{font-size:11px}}

/* category-buttons-v1 */
.tabs{gap:10px;flex-wrap:wrap;padding:8px 0 16px}
.tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:11px 18px;border:1px solid #36514b;border-radius:12px;background:#15231f;color:#c8ddd6;font-size:13px;font-weight:600;cursor:pointer;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}
.tabs button:hover{background:#233b31;border-color:#8dddb5;transform:translateY(-2px)}
.tabs button:focus-visible{outline:3px solid #aaf5ce;outline-offset:3px}
.tabs button.selected{background:#aaf5ce;color:#10291e;border-color:#aaf5ce;box-shadow:0 4px 18px #73dfaa24}
.tabs button.selected b{background:#174e36;color:#d7ffe9}
@media(max-width:720px){.tabs{gap:8px;width:100%}.tabs button{padding:10px 13px;font-size:12px;flex:1 1 auto}}
