:root{color-scheme:dark;--bg:#111216;--surface:#191b20;--line:#ffffff13;--text:#f4f2ee;--muted:#a5a5af;--gold:#e8b778;--orange:#da843f;--body:'Noto Sans Thai',sans-serif;--display:'Barlow Condensed',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.7 var(--body)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{border:0}img{max-width:100%}.container{max-width:1216px;width:calc(100% - 96px);margin:auto}.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:var(--gold);color:#111;padding:12px}.skip-link:focus{top:8px}.site-header{height:94px;display:flex;align-items:center;gap:35px;padding:0 5%;background:#101114f2;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:14px;margin-right:auto;white-space:nowrap}.brand-emblem{font:800 46px/.8 var(--display);color:var(--gold);letter-spacing:-7px;transform:skew(-12deg);border-right:1px solid #e8b77840;padding-right:20px}.brand-emblem span{font-size:28px;color:#fff;letter-spacing:-3px}.brand strong{font:700 29px/1 var(--display);letter-spacing:2px;display:block}.brand small{font:500 12px/1.8 var(--display);color:var(--gold);letter-spacing:4px}.site-header nav{display:flex;gap:35px;align-self:stretch}.site-header nav a{font-size:14px;font-weight:500;display:flex;flex-direction:column;justify-content:center;position:relative}.site-header nav small{font:500 12px/1.6 var(--display);color:var(--muted);letter-spacing:1.5px}.site-header nav a:hover,.site-header nav a.active{color:var(--gold)}.site-header nav a.active:after{content:'';position:absolute;bottom:0;width:100%;height:2px;background:var(--gold)}.header-action{border:1px solid #b98f5c55;padding:10px 22px;font-size:14px;color:var(--gold)}.header-action:hover{background:#e8b77812}.menu-toggle{display:none}.hero{position:relative;min-height:680px;overflow:hidden;isolation:isolate;background:#171716}.hero-landscape{position:absolute;inset:0;background:url('assets/cabal-world.png') center/cover;opacity:.75;z-index:-4}.hero-character{position:absolute;height:1060px;width:auto;max-width:none;right:-30px;top:-110px;object-fit:contain;z-index:-3;filter:drop-shadow(0 0 75px #d69b3430)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#111216fa 0%,#111216ed 24%,#11121692 46%,#11121600 72%),linear-gradient(0deg,#111216 0%,transparent 35%);z-index:-2}.hero:after{content:'';position:absolute;inset:0;pointer-events:none;border-bottom:1px solid var(--line);z-index:-1}.hero-content{max-width:1216px;width:calc(100% - 96px);margin:auto;padding:66px 0 82px}.eyebrow{font:600 14px/1.5 var(--display);letter-spacing:3px;color:var(--gold);margin:0 0 18px;display:flex;align-items:center;gap:13px}.line{width:28px;height:1px;background:var(--gold)}.episode{border:1px solid #e8b77845;padding:3px 9px;font-size:12px;letter-spacing:2px;margin-left:5px}.hero-kicker{font:500 14px var(--display);color:#bcb5a8;letter-spacing:5px;margin:35px 0 0}.hero h1{font:800 clamp(86px,9.6vw,144px)/1 var(--display);letter-spacing:1px;margin:8px 0 19px;text-shadow:0 5px 30px #0004}.hero h1 span{color:var(--gold)}.hero h2{font-size:25px;font-weight:500;margin:0 0 12px}.hero-copy{color:#b8b6b6;font-size:16px;line-height:1.9;margin:0 0 28px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;min-height:52px;font-size:15px;font-weight:600;transition:background .2s,transform .2s;border:1px solid transparent}.button:hover{transform:translateY(-2px)}.primary{background:linear-gradient(105deg,#e9bc7b,#d79a4f);color:#161211;box-shadow:0 4px 25px #dd9c4222}.primary:hover{background:#f0c78b}.secondary{background:#17181c99;border-color:#ffffff30}.secondary:hover{background:#2a2928}.button svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.5;fill:none}.hero-caption{display:flex;align-items:center;gap:10px;color:#7e7a72;font:500 12px var(--display);letter-spacing:2px;margin-top:37px}.diamond{height:5px;width:5px;background:var(--gold);transform:rotate(45deg)}.hero-footer{position:absolute;bottom:20px;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:0 5%;font:500 12px var(--display);color:#8b887f;letter-spacing:2px}.hero-footer i{color:#494744;margin:0 9px}.hero-footer a{font:400 12px var(--body);letter-spacing:0;display:flex;gap:12px;align-items:center}.hero-footer a span{font-size:22px}.announcement-strip{border-bottom:1px solid var(--line);background:#17191d}.strip-inner{display:flex;align-items:center;gap:24px;min-height:62px}.strip-label{font:600 12px var(--display);color:var(--gold);letter-spacing:2px;border-right:1px solid #ffffff20;padding-right:24px}.strip-inner p{font-size:14px;margin:0;color:#c4c2c0}.strip-inner a{margin-left:auto;font-size:13px;color:var(--gold)}.news-section{padding-top:72px;padding-bottom:82px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:29px}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2,.downloads-section h2{font-size:32px;line-height:1.5;margin:0;font-weight:600}.section-heading h2 span{color:#9d9ca3;font-weight:400}.section-index{font:500 13px var(--display);letter-spacing:2px;color:#73737c;padding-bottom:9px}.news-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:28px;gap:16px}.filters{display:flex;gap:28px;overflow-x:auto}.filters button{white-space:nowrap;font-size:14px;padding:0 0 16px;background:transparent;color:#9b9ba4;border-bottom:2px solid transparent}.filters button:hover{color:var(--text)}.filters button.selected{color:var(--gold);border-color:var(--gold)}.news-count{font-size:12px;color:#72727d;white-space:nowrap;align-self:flex-start}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.news-card{background:#181a1e;border:1px solid var(--line);transition:transform .2s,border-color .2s;position:relative;min-width:0}.news-card:hover{transform:translateY(-5px);border-color:#e8b77855}.news-card-button{background:none;text-align:left;width:100%;display:block;padding:0;height:100%}.card-image{height:190px;position:relative;overflow:hidden;background:#23241f}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.news-card:hover img{transform:scale(1.04)}.card-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#181a1e40,transparent)}.card-image.art-world img{filter:brightness(1.2);object-position:center}.card-image.art-character{background:radial-gradient(ellipse at 60% 50%,#515f38,#171a17)}.card-image.art-character img{object-fit:contain;height:650px;max-width:none;width:100%;object-position:top;margin-top:-25px}.image-label{position:absolute;left:20px;bottom:14px;z-index:1;font:700 35px/1 var(--display);letter-spacing:3px;text-shadow:0 2px 12px #000}.image-label small{display:block;font:500 12px/2 var(--display);letter-spacing:2px;color:var(--gold)}.card-image .sample-label{position:absolute;top:12px;right:12px;z-index:2;background:#111d;padding:3px 9px;color:#dad3c6;font-size:12px}.card-content{padding:22px 23px 20px}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.tag{font-size:12px;color:var(--gold);letter-spacing:.3px}.tag.update{color:#80b0db}.tag.fix{color:#a4bda2}.tag.event{color:#c19ade}.card-meta time{font-size:12px;color:#777780}.news-card h3{font-size:19px;line-height:1.55;margin:0 0 10px;font-weight:600}.news-card p{font-size:14px;line-height:1.8;color:#92939d;margin:0 0 18px}.card-bottom{display:flex;justify-content:space-between;font-size:12px;color:#747580;padding-top:16px;border-top:1px solid var(--line)}.card-bottom span:last-child{color:#c9bba3}.empty-state,.loading{padding:32px;border:1px solid var(--line);color:var(--muted);grid-column:1/-1}.patch-section{background:#15171b;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.patch-layout{display:grid;grid-template-columns:1fr 1.15fr;gap:80px;padding-top:65px;padding-bottom:65px}.patch-intro{position:relative;overflow:hidden}.patch-intro h2{font-size:31px;line-height:1.6;margin:0 0 15px;font-weight:500}.patch-intro h2 span{color:var(--gold)}.patch-intro p:not(.eyebrow){color:#96959f;font-size:15px}.outline-word{display:block;font:800 115px/1 var(--display);color:transparent;-webkit-text-stroke:1px #e8b77820;letter-spacing:4px;margin-top:30px}.patch-entry{position:relative;border-left:1px solid #77603f;padding:0 0 29px 27px}.patch-entry:last-child{padding-bottom:0}.patch-entry:before{content:'';position:absolute;width:7px;height:7px;left:-4px;top:10px;background:var(--gold);transform:rotate(45deg)}.patch-entry time{color:#777780;font-size:12px}.patch-entry button{display:block;padding:0;background:none;text-align:left;color:#e8e5df;font-size:19px;font-weight:500;margin:5px 0 10px}.patch-entry button:hover{color:var(--gold)}.patch-entry p{margin:0;color:#93939b;font-size:14px}.patch-entry .version{font:600 13px var(--display);letter-spacing:1px;background:#e8b77812;color:var(--gold);padding:3px 7px;margin-left:10px}.downloads-section{display:flex;gap:40px;align-items:center;justify-content:space-between;padding-top:68px;padding-bottom:68px}.downloads-section h2{font-size:27px}.downloads-section h2 span{font-family:var(--display);font-size:34px;color:var(--gold)}.downloads-section p:not(.eyebrow){font-size:14px;color:var(--muted);margin:10px 0 0}.download-options{display:flex;gap:14px;flex-wrap:wrap}.download-option{min-width:155px;text-align:left;background:#1b1d21;border:1px solid #ffffff1a;padding:17px 23px}.download-option:hover{border-color:var(--gold)}.download-option strong{font:600 19px var(--display);letter-spacing:1.5px;display:block}.download-option span{display:block;font-size:12px;color:#9999a1;margin-top:5px}footer{border-top:1px solid var(--line);background:#0e0f12}.footer-top{display:flex;align-items:center;justify-content:space-between;padding-top:35px;padding-bottom:28px}.footer-brand{font:600 23px var(--display);letter-spacing:2px}.footer-brand span{color:var(--gold)}.footer-top p,.footer-top>a:last-child{font-size:12px;color:#96949f}.footer-bottom{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding-top:19px;padding-bottom:24px;font-size:12px;color:#60616a}dialog{padding:30px;max-width:760px;width:calc(100% - 32px);max-height:85vh;overflow:auto;background:#1b1c21;color:var(--text);border:1px solid #b7986c55;box-shadow:0 20px 100px #0008}dialog::backdrop{background:#08090bce;backdrop-filter:blur(6px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-close:not(.button){font:300 34px/1 var(--body);background:none;width:40px;height:40px;color:#aaa}.article-meta{font-size:12px;color:#92929b;margin:10px 0}dialog h2{font-size:29px;line-height:1.6;margin:10px 0 24px}.article-body p{color:#c4c2c9;margin:0 0 17px}.article-body h3{font-size:19px;color:var(--gold);margin:28px 0 10px}.article-body ul{padding-left:25px;color:#c4c2c9}.article-body .sample-note{background:#e8b7780e;border-left:2px solid var(--gold);padding:12px 15px;font-size:14px;color:#cab898}.dialog-bottom{border-top:1px solid var(--line);padding-top:24px;margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-bottom>span{font:600 14px var(--display);letter-spacing:2px;color:var(--gold)}
@media(min-width:1500px){.hero-character{right:7%}}@media(max-width:1100px){.site-header{gap:20px;padding:0 4%}.site-header nav{gap:23px}.header-action{display:none}.hero-character{right:-130px}.hero h1{font-size:118px}.container,.hero-content{width:calc(100% - 64px)}.patch-layout{gap:40px}.downloads-section{align-items:flex-start;flex-direction:column}}@media(max-width:760px){html{scroll-padding-top:85px}.site-header{height:76px;padding:0 22px}.brand strong{font-size:24px}.brand-emblem{font-size:39px}.brand small{font-size:12px;letter-spacing:3px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;padding:10px}.menu-toggle span{width:23px;height:1px;background:var(--gold)}.site-header nav{display:none;position:absolute;top:76px;left:0;right:0;background:#15161afc;padding:18px 25px;gap:22px;border-bottom:1px solid var(--line);align-items:flex-start}.site-header nav.open{display:flex;flex-wrap:wrap}.site-header nav a{padding-bottom:10px}.site-header nav small{font-size:12px}.hero{min-height:690px}.hero-content,.container{width:calc(100% - 40px)}.hero-content{padding-top:50px;padding-bottom:100px}.hero-character{height:850px;right:-250px;top:-55px;opacity:.62}.hero-shade{background:linear-gradient(90deg,#111216e8 0%,#1112169c 62%,#11121633),linear-gradient(0deg,#111216 0%,transparent 60%)}.hero h1{font-size:100px;letter-spacing:-1px}.hero-kicker{font-size:12px;letter-spacing:3px;margin-top:43px}.hero h2{font-size:21px;max-width:340px}.hero-copy{font-size:15px;max-width:320px}.hero .eyebrow{gap:9px;font-size:12px;letter-spacing:2px}.hero-caption{font-size:12px;letter-spacing:1px;max-width:300px;line-height:1.8}.hero-footer{padding:0 20px}.hero-footer>span:last-child{display:none}.button{padding:13px 20px;font-size:14px}.strip-inner{gap:15px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}.strip-label{font-size:12px;padding-right:15px}.strip-inner p{font-size:13px;flex:1;min-width:150px}.strip-inner a{display:none}.news-section{padding-top:48px;padding-bottom:48px}.section-heading h2{font-size:27px}.section-index{display:none}.news-toolbar{gap:0}.filters{gap:24px;width:100%;padding-top:5px}.news-count{display:none}.news-grid{grid-template-columns:1fr;gap:22px}.card-image{height:215px}.news-card h3{font-size:20px}.patch-layout{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:35px}.patch-intro h2{font-size:27px}.outline-word{display:none}.downloads-section{padding-top:45px;padding-bottom:45px;gap:25px}.downloads-section h2{font-size:23px}.downloads-section h2 span{font-size:30px}.download-options{width:100%}.download-option{flex:1;min-width:140px}.footer-top{flex-wrap:wrap;gap:10px}.footer-top p{flex-basis:100%;order:3;margin:0}.footer-bottom{flex-direction:column;gap:7px}dialog{padding:22px}dialog h2{font-size:23px}.hero-actions{gap:10px}}@media(max-width:360px){.hero h1{font-size:84px}.hero h2{font-size:19px}.episode{font-size:12px;letter-spacing:0}.line{display:none}.hero .eyebrow{gap:8px}.hero-actions .button{padding:12px 15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.server-info-section{padding-top:64px;padding-bottom:10px}
.ranking-section{padding-top:70px;padding-bottom:12px}
.ranking-section .section-heading h2 span{font-family:var(--display);color:var(--gold);letter-spacing:1px}
.ranking-toolbar{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:-4px 0 20px;color:var(--muted);font-size:13px}
.ranking-toolbar p{margin:0}.ranking-toolbar>div{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
#ranking-refresh{background:#e8b7780b;border:1px solid #e8b77840;padding:8px 14px;color:var(--gold);font-size:12px;min-height:40px}
#ranking-refresh:hover{background:#e8b7781c}#ranking-refresh:disabled{opacity:.55;cursor:wait}#ranking-status.is-stale{color:#d9a269}
.ranking-card{min-width:0;border:1px solid #e8b77825;background:linear-gradient(125deg,#20201f,#17191e 65%);overflow:hidden}
.ranking-overall{border-top:2px solid var(--gold)}.ranking-card-heading{padding:24px 28px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--line)}
.ranking-card-heading h3{font-size:23px;margin:3px 0 0;font-weight:600}.ranking-kicker{font:600 13px var(--display);color:var(--gold);letter-spacing:2px}
.ranking-limit{margin-left:auto;font:600 17px var(--display);color:#b6a186;letter-spacing:2px}
.ranking-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px;table-layout:fixed}
.ranking-table th{font-size:12px;font-weight:500;color:#9996a1;padding:15px 28px;background:#ffffff02}
.ranking-table td{padding:16px 28px;border-top:1px solid #ffffff08;overflow-wrap:anywhere}
.ranking-table th:first-child{width:100px}.ranking-table th:last-child{width:120px;text-align:right}
.ranking-table th:nth-child(3):not(:last-child){width:28%}.ranking-table tbody tr:hover{background:#ffffff03}
.rank-position{font:600 20px var(--display);color:#7c7c89}.rank-player{font-weight:600}.rank-points{text-align:right;color:var(--gold);font:600 25px var(--display);font-variant-numeric:tabular-nums}
.rank-top .rank-position{color:var(--gold)}.rank-1{background:#e8b77808}.rank-1 .rank-player{color:#f7d8b1}.rank-2 .rank-position{color:#c8cbd9}.rank-3 .rank-position{color:#bd9067}
.class-tag{font:600 16px var(--display);color:#b9b7c1}.ranking-class-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:40px 0 20px}
.ranking-class-heading h3{font-size:21px;font-weight:500;margin:0}.ranking-class-heading>span{font:500 13px var(--display);letter-spacing:2px;color:#817f8a}
.ranking-class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ranking-class-grid .ranking-card-heading{padding:22px}
.ranking-class-grid h4{font:600 25px/1.2 var(--display);letter-spacing:.5px;margin:0}.class-subtitle{font-size:12px;color:#92919c}
.class-emblem{flex:none;width:46px;height:46px;display:grid;place-items:center;background:#e8b77809;border:1px solid #e8b77830;font:600 21px var(--display);color:var(--gold)}
.class-1{color:#e3a47e}.class-2{color:#ceba8d}.class-3{color:#a7bce8}.class-4{color:#a6c9a1}.class-5{color:#b4cbd3}.class-6{color:#c2a8db}.class-7{color:#d5a788}.class-8{color:#9bc5c9}.class-9{color:#b39ad7}
.ranking-class-grid .ranking-table th,.ranking-class-grid .ranking-table td{padding:13px 20px}.ranking-class-grid .ranking-table th:first-child{width:65px}.ranking-class-grid .ranking-table th:last-child{width:75px}
.ranking-class-grid .rank-player{font-size:13px}.ranking-class-grid .rank-points{font-size:23px}.ranking-empty{margin:0;padding:32px 24px;text-align:center;font-size:13px;color:#92919c;min-height:95px}
.ranking-note{margin:20px 0 0;font-size:12px;color:#85828f;line-height:1.9}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1101px){.site-header nav{gap:24px}.site-header{gap:24px}.header-action{padding:10px 16px}}
@media(max-width:1100px){.ranking-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.ranking-section{padding-top:48px}.ranking-toolbar{align-items:flex-start;flex-direction:column;gap:12px}.ranking-toolbar>div{justify-content:space-between;width:100%}.ranking-card-heading{padding:20px}.ranking-card-heading h3{font-size:20px}.ranking-table th,.ranking-table td{padding:13px 12px}.ranking-table th:first-child{width:57px}.ranking-table th:last-child{width:72px}.ranking-table th:nth-child(3):not(:last-child){width:27%}.ranking-table{font-size:13px}.class-tag{font-size:14px}.ranking-class-heading{margin-top:30px}.ranking-class-grid{grid-template-columns:1fr;gap:16px}.ranking-limit{font-size:14px}.ranking-kicker{font-size:12px}.rank-points{font-size:23px}}
.server-info-section .section-heading h2 span{color:var(--gold);font-family:var(--display);font-weight:600;letter-spacing:1px}
.server-info-label{font-size:14px;color:#b7aa97;padding-bottom:8px}
.server-info-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.server-info-card{grid-column:span 2;position:relative;padding:29px 28px 28px;background:linear-gradient(135deg,#22211f,#17191e 75%);border:1px solid #e8b77825;min-width:0;border-top:2px solid #b68b52}
.server-info-card.info-card-wide{grid-column:span 3}
.info-card-index{position:absolute;right:22px;top:18px;font:500 14px var(--display);letter-spacing:2px;color:#8e7b60}
.server-info-card .info-stat{margin:5px 0 17px;font:700 60px/1.1 var(--display);color:var(--gold);letter-spacing:1px}
.info-stat span{font-size:22px;letter-spacing:2px;color:#b7aa97}
.server-info-card h3{font-size:20px;line-height:1.65;font-weight:600;margin:0 0 10px}
.server-info-card>p:not(.info-stat){margin:0;font-size:16px;line-height:1.85;color:#aaa8b1}
@media(max-width:1000px){.server-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.server-info-card,.server-info-card.info-card-wide{grid-column:span 1}.server-info-card:last-child{grid-column:span 2}.server-info-label{display:none}.site-header nav{gap:23px}}
@media(max-width:600px){.server-info-section{padding-top:45px;padding-bottom:0}.server-info-section .section-heading h2{font-size:25px}.server-info-grid{grid-template-columns:1fr;gap:16px}.server-info-card:last-child{grid-column:span 1}.server-info-card{padding:25px}.server-info-card .info-stat{font-size:52px}.server-info-card h3{font-size:20px}}
