:root{--ink:#211e1b;--paper:#f6efde;--bg:#eee4d1;--muted:#6d6257;--line:#c7bba5;--accent:#b72920;--cta:#b72920;--radius:2px;--jade:var(--accent);--gold:var(--line);--primary-color:var(--accent);--bs-body-color:var(--ink);--bs-body-bg:var(--paper);}
/* Fide art-directed themes. Real HTML controls above independent AI artwork. */
html{scroll-behavior:smooth;scroll-padding-top:24px;color-scheme:light}
html[data-color-mode=dark]{color-scheme:dark}
body.jade-site{margin:0;background:var(--bg)!important;color:var(--ink)!important;font:14px/1.7 'Be Vietnam Pro',Arial,sans-serif}
body.jade-site :is(h1,h2,h3,h4,h5,h6){color:var(--ink);font-family:'Be Vietnam Pro',Arial,sans-serif;line-height:1.3}
body.jade-site :is(button,input,select,textarea){font-family:inherit}
body.jade-site a{color:var(--ink)}
body.jade-site a:hover{color:var(--accent)}
body.jade-site :focus-visible{outline:3px solid var(--accent);outline-offset:4px}
body.jade-site .site-shell{width:100%;max-width:1800px;margin:0 auto;border:0;border-radius:0;background:var(--paper);box-shadow:none;overflow:clip}
body.jade-site .site-header{min-height:90px;padding:8px 4%;border-bottom:1px solid var(--line);background:var(--paper);gap:18px;position:relative;z-index:10}
body.jade-site .brand{width:200px;max-width:20%;height:76px;display:flex;align-items:center;justify-content:flex-start}
body.jade-site .brand img{width:190px;height:80px;object-fit:contain}
body.jade-site .site-nav{gap:14px;border-color:var(--line)}
body.jade-site .site-nav :is(a,button){color:var(--ink);font-size:12px;font-weight:600;padding:9px 5px;border-radius:0}
body.jade-site .site-nav [aria-current=page],body.jade-site .site-nav :is(a,button):hover{background:none;box-shadow:inset 0 -2px var(--accent);color:var(--accent)}
body.jade-site .account-nav{gap:8px}
body.jade-site .jade-button{background:var(--cta);color:#fff!important;border:1px solid var(--cta);border-radius:var(--radius);font:700 13px/1.4 'Be Vietnam Pro',Arial,sans-serif;padding:13px 21px;min-height:46px;box-shadow:none;gap:10px;transition:transform .2s,filter .2s}
body.jade-site .jade-button:hover{background:var(--cta);filter:brightness(1.1);transform:translateY(-2px)}
body.jade-site .jade-button.secondary{background:var(--paper);color:var(--ink)!important;border-color:var(--line)}
body.jade-site .page-content{padding:35px 4%;background:var(--paper)}
body.jade-site .page-content:has(.design-home){padding:0}
body.jade-site .design-home{margin:0;color:var(--ink);background:var(--paper);overflow:hidden}
.design-hero{position:relative;isolation:isolate;min-height:580px;display:flex;align-items:center;overflow:hidden;background:var(--paper)}
.design-hero-art{position:absolute;inset:0;background:url('/assets/design/hero.png') center 54%/cover no-repeat;z-index:-2}
.design-hero-copy{width:53%;padding:55px 0 60px 5%;position:relative;z-index:1}
.design-eyebrow{font-size:10px;font-weight:700;letter-spacing:2.8px;color:var(--accent);margin:0 0 16px!important;text-transform:uppercase}
body.jade-site .design-hero h1{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-size:clamp(52px,5.6vw,94px);font-weight:800;line-height:1;letter-spacing:-1px;margin:0 0 25px}
.design-hero h1 em{font-style:normal;color:var(--accent)}
.design-intro{max-width:380px;font-size:14px;line-height:1.9;color:var(--muted)}
.design-actions{display:flex;flex-wrap:wrap;gap:13px;margin-top:27px}
.design-actions .jade-button{min-height:56px!important;min-width:165px;font-size:15px!important;padding:16px 24px!important}
.design-footnote{margin:24px 0 0!important;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.design-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;position:relative;z-index:2;margin:0 3%;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:13px 0}
.design-shortcuts>a,.design-shortcuts>button{border:0;border-right:1px solid var(--line);background:transparent;display:flex;align-items:center;gap:10px;text-align:left;padding:6px 20px;color:var(--ink);min-width:0;cursor:pointer;transition:background .2s}
.design-shortcuts>:last-child{border-right:0}
.design-shortcuts>:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.design-shortcuts strong{display:block;font-size:17px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:1px;font-weight:700}
.design-shortcuts small{display:block;font-size:10px!important;color:var(--muted);margin-top:5px}
.design-shortcuts b{margin-left:auto;font-size:18px;color:var(--accent);font-weight:400}
.design-icon{flex-shrink:0;width:80px;height:80px;display:block;background-image:url('/assets/design/icons.png');background-size:200% 200%;border-radius:18px;mix-blend-mode:normal}
.icon-download{background-position:left top}.icon-gift{background-position:right top}.icon-member{background-position:left bottom}.icon-trophy{background-position:right bottom}
.design-editorial,.huong-dan-gon{padding:55px 4% 0!important;margin:0!important}
.design-section-heading,.huong-dan-dau{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:23px}
body.jade-site .design-section-heading h2,body.jade-site .huong-dan-dau h2{font-size:30px;margin:0;font-weight:800;letter-spacing:-1px}
.design-section-heading>a,.huong-dan-dau>a{font-size:12px;white-space:nowrap;padding-bottom:4px;color:var(--accent)!important}
.design-section-heading .design-eyebrow{margin-bottom:9px!important}
.design-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.design-story{display:block;min-width:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper);transition:transform .25s,box-shadow .25s}
.design-story:hover{transform:translateY(-5px);box-shadow:0 12px 30px #0002}
.design-scene{height:260px;position:relative;background-image:url('/assets/design/scenes.png');background-size:300% auto;background-repeat:no-repeat;background-position-y:42%;overflow:hidden}
.scene-1{background-position-x:0%}.scene-2{background-position-x:50%}.scene-3{background-position-x:100%}
.design-scene span{position:absolute;bottom:14px;left:18px;background:var(--paper);padding:6px 11px;color:var(--ink);font-size:9px;font-weight:700;letter-spacing:2px;border-radius:3px}
.design-story-copy{padding:23px}
body.jade-site .design-story h3{font-size:20px;font-weight:800;margin:0 0 10px;letter-spacing:-.6px}
.design-story p{font-size:12px;color:var(--muted);line-height:1.8;margin:0 0 18px!important}
.story-link{font-size:11px;font-weight:700;color:var(--accent)}
.huong-dan-nhan{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}
.huong-dan-dau p{color:var(--muted);font-size:13px;margin:7px 0 0!important}
.huong-dan-luoi{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.huong-dan-the{display:flex;flex-direction:column;border:1px solid var(--line);background:var(--paper);border-radius:var(--radius);padding:23px;min-width:0}
.huong-dan-tieu-de{display:flex;gap:12px;align-items:center;margin-bottom:15px;min-height:52px}
.huong-dan-tieu-de img{width:45px;height:45px;object-fit:contain;image-rendering:pixelated}
.huong-dan-sach{font-size:34px;color:var(--accent);width:45px;text-align:center}
.huong-dan-tag{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}
body.jade-site .huong-dan-the h3{font-size:16px;line-height:1.5;margin:0;font-weight:700}
.huong-dan-the p,.huong-dan-the ul{font-size:12px;color:var(--muted);line-height:1.9}
.huong-dan-the ul{padding:0;list-style:none;margin:0 0 18px}
.huong-dan-the a{color:var(--accent)!important;font-size:11px;font-weight:700;margin-top:auto}
.fide-section{padding:50px 4% 0}
body.jade-site .fide-title{font-size:28px;text-align:left;margin:0 0 25px;letter-spacing:-1px}
.fide-title:before,.fide-title:after{display:none}
.fide-mechanics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fide-mechanics article{border:1px solid var(--line);padding:24px;border-radius:var(--radius);background:var(--paper)}
.fide-mechanics i{font-size:23px;color:var(--accent);margin-bottom:20px}
body.jade-site .fide-mechanics h3{font-size:16px}
.fide-mechanics p{font-size:12px;color:var(--muted)}
.fide-center{text-align:right;font-size:12px;padding:14px 0}
.fide-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.fide-steps article{border-top:1px solid var(--line);padding:20px 5px}
.fide-steps article>span{font:700 42px 'Barlow Condensed',sans-serif;color:var(--accent)}
body.jade-site .fide-steps h3{font-size:16px;margin:14px 0 9px}
.fide-steps p,.fide-steps a{font-size:12px;color:var(--muted)}
.fide-farewell{margin-top:50px;padding:50px 5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px;background:var(--paper)}
body.jade-site .fide-farewell h2{font-size:38px;font-weight:800}
.fide-farewell p{color:var(--muted);font-size:13px}
.fide-actions{display:flex;gap:12px;flex-wrap:wrap}
.fide-donate{display:flex;align-items:center;justify-content:space-between;padding:25px;margin:30px 4%;border:1px solid var(--line);border-radius:var(--radius)}
body.jade-site .site-footer{padding:28px 4%;border-top:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:11px}
body.jade-site .site-footer>a{color:var(--ink);font-size:15px}
body.jade-site .site-footer nav :is(a,button){color:var(--muted)}
/* Inner pages, forms and dialogs use the same tokens without replacing functional markup. */
body.jade-site :is(.auth-page,.leaderboard-banner,.rank-podium,.community-hero,.gift-hero,.activation-hero,.membership-hero){background-image:linear-gradient(90deg,var(--paper),color-mix(in srgb,var(--paper) 70%,transparent)),url('/assets/design/hero.png')!important;background-size:cover!important;background-position:center!important}
body.jade-site :is(.card,.card-header,.card-body,.auth-card,.jade-panel,.jade-dialog,.modal-content,.swal2-popup,.main-content,.admin-sidebar,.login-card,.account-dropdown,.download-card,.download-header,.download-footer,.events-shell,.events-header,.events-panel,.event-rule-body,.event-reward,.events-rewards,.events-rules,.gift-main-container,.gift-content,.gift-item,.accordion-content,.activation-container,.info-container,.rank-container,.rank-main-container,.profile-stats,.reward-dialog-content,.reward-dialog-footer,.reward-dialog-header){background-color:var(--paper)!important;background-image:none!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:none}
body.jade-site :is(.card,.auth-card,.jade-dialog,.modal-content,.login-card,.download-card,.gift-main-container,.activation-container){border-radius:var(--radius)!important}
body.jade-site :is(.auth-heading p,.auth-switch,.auth-field small,.download-card-description,.download-card-heading p,.download-updated,.download-footer p,.leaderboard-banner p,.rank-subtitle,.text-muted){color:var(--muted)!important}
body.jade-site :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.form-control,.form-select){background:var(--paper)!important;color:var(--ink)!important;border-color:var(--line)!important;font-family:inherit!important}
body.jade-site :is(.auth-emblem,.download-emblem,.events-trophy,.leaderboard-trophy){background:var(--cta)!important;border-color:var(--line)!important;color:var(--ink)!important;box-shadow:none!important;border-radius:var(--radius)}
body.jade-site :is(.auth-submit,.download-action,.btn-primary,.btn-success,.btn-warning,.btn-action-custom.active,.gift-tab.active,.events-tabs [aria-selected=true]){background:var(--cta)!important;border-color:var(--cta)!important;color:#fff!important;font-family:inherit!important;box-shadow:none!important}
body.jade-site :is(.auth-input input,.auth-submit,.auth-switch a){font-family:inherit!important}
body.jade-site :is(.auth-reveal,.auth-refresh,.auth-input>i,.auth-switch a,.platform-icon,.auth-divider,.download-link-entry i){color:var(--accent)!important}
body.jade-site :is(.btn-action-custom,.gift-tab,.accordion-header,.events-tabs button){background:var(--paper)!important;color:var(--ink)!important;border-color:var(--line)!important;font-family:inherit!important}
body.jade-site :is(th,td,.table,.table-gift,.table-custom){border-color:var(--line)!important;color:var(--ink)!important}
body.jade-site :is(.table,.table-gift){--bs-table-bg:var(--paper);--bs-table-striped-bg:color-mix(in srgb,var(--accent) 6%,var(--paper));--bs-table-hover-bg:color-mix(in srgb,var(--accent) 10%,var(--paper));--bs-table-color:var(--ink);--bs-table-striped-color:var(--ink)}
body.jade-site :is(.reward-dialog-label,.reward-dialog-eyebrow,.events-footer p){color:var(--muted)!important}
body.jade-site :is(dialog,#events-dialog,#top-reward-dialog){color:var(--ink);background:var(--paper)!important;border:1px solid var(--line)!important;max-width:calc(100% - 24px)}
body.jade-site dialog::backdrop{background:#020817ba;backdrop-filter:blur(6px)}
body.jade-site :is(.dialog-close,.events-close,.reward-dialog-close){background:var(--paper)!important;color:var(--ink)!important;border-color:var(--line)!important}
.color-mode-toggle{position:fixed;right:16px;bottom:16px;z-index:1040;border:1px solid var(--line);border-radius:30px;padding:9px 14px;background:var(--paper);color:var(--ink);box-shadow:0 4px 18px #0002;font:600 11px 'Be Vietnam Pro',sans-serif;cursor:pointer}
/* Admin: all existing tabs, controls, guards and APIs remain functional. */
body.jade-admin{font-family:'Be Vietnam Pro',Arial,sans-serif!important;background:var(--bg)!important;padding:18px!important;gap:0;grid-template-columns:238px minmax(0,1fr)!important}
body.jade-admin .admin-sidebar{border:1px solid var(--line)!important;border-radius:var(--radius) 0 0 var(--radius);top:18px;min-width:0}
body.jade-admin .admin-brand{display:block;padding:20px 22px;color:var(--ink);border-bottom:1px solid var(--line)}
.admin-brand img{width:165px;height:86px;object-fit:contain;display:block;margin:auto}
.admin-brand small{display:block;text-align:center;color:var(--muted)!important;font-size:9px!important;letter-spacing:2px}
body.jade-admin .admin-sidebar nav a{color:var(--ink)!important;font-size:12px;border-radius:8px}
body.jade-admin .admin-sidebar nav a.active{background:var(--cta)!important;color:#fff!important}
body.jade-admin .admin-sidebar nav a:hover{background:color-mix(in srgb,var(--accent) 14%,var(--paper))!important}
body.jade-admin .admin-sidebar nav a i{color:var(--accent)!important}
body.jade-admin .admin-sidebar nav a.active i{color:inherit!important}
body.jade-admin .main-content{border-radius:0 var(--radius) var(--radius) 0!important;min-width:0;padding:28px!important}
body.jade-admin :is(.text-light,.text-white,.text-warning){color:var(--ink)!important}
body.jade-admin :is(.card-header,.catalog-hero,.pl-hero,.gc-hero,.ss-hero,.ta-intro){border-bottom:1px solid var(--line)!important;background:var(--paper)!important;color:var(--ink)!important}
body.jade-admin .login-shell{background:linear-gradient(90deg,color-mix(in srgb,var(--paper) 80%,transparent),transparent),url('/assets/design/hero.png') center/cover;min-height:calc(100vh - 36px);border-radius:var(--radius)}
body.jade-admin .login-card{border:1px solid var(--line)!important;box-shadow:0 20px 70px #0003!important}
body.jade-admin .table-responsive{max-width:100%;overflow:auto}
/* 01 — cosmic premiere */
.theme-cosmos .design-hero{min-height:590px}
.theme-cosmos .design-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#070d1cee 0%,#070d1c66 40%,transparent 65%);z-index:-1}
body.theme-cosmos .design-hero h1{font-style:italic;text-shadow:0 4px 30px #557cdb55}
.theme-cosmos .design-hero h1 em{color:#c6c4ff}
.theme-cosmos .design-primary{box-shadow:0 0 22px #8243ee77,inset 0 0 16px #c5a8ff55!important;border:1px solid #bd9aff!important}
.theme-cosmos .design-shortcuts{margin-top:-18px;background:#0c1428ed;border-color:#495b94;box-shadow:0 0 25px #6642dd17}
.theme-cosmos .design-editorial .design-stories{grid-template-columns:1.2fr 1fr;gap:18px}
.theme-cosmos .design-story:first-child{grid-row:span 2;position:relative;min-height:445px}
.theme-cosmos .design-story:first-child .design-scene{position:absolute;inset:0;height:auto;background-size:300% auto;background-position-y:47%;opacity:.6}
.theme-cosmos .design-story:first-child .design-story-copy{position:absolute;bottom:0;padding:35px;background:linear-gradient(transparent,#080e22);width:100%;padding-top:100px}
body.theme-cosmos .design-story:first-child h3{font-size:35px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;max-width:300px}
.theme-cosmos .design-story:not(:first-child){display:grid;grid-template-columns:42% 58%;min-height:210px}
.theme-cosmos .design-story:not(:first-child) .design-scene{height:100%;background-size:300% auto}
.theme-cosmos .design-story:not(:first-child) .design-scene span{display:none}
.theme-cosmos .design-story:not(:first-child) .design-story-copy{padding:22px}
.theme-cosmos .design-story:not(:first-child) h3{font-size:21px}
/* 02 — printed tournament manga */
body.theme-manga .site-header{border-bottom:2px solid var(--ink);background:var(--paper)}
body.theme-manga :is(.site-nav a,.site-nav button){font-family:'Barlow Condensed',sans-serif;font-size:18px;font-weight:700}
body.theme-manga .design-hero h1{font-size:clamp(68px,8.9vw,140px);line-height:.91;font-weight:900;letter-spacing:-1.8px;transform:rotate(-3deg);transform-origin:left center;margin-bottom:33px}
.theme-manga .design-hero-copy{width:46%;padding-left:4%}
.theme-manga .design-hero{min-height:600px}
.theme-manga .design-hero-art{background-position:60% center}
.theme-manga .design-intro{max-width:330px;font-size:12px;color:#514438}
.theme-manga .design-eyebrow{letter-spacing:2px;font-size:9px}
.theme-manga .design-shortcuts{margin:0;border-radius:0;border:0;background:#201e1b;color:#f6efde;padding:16px 3%}
.theme-manga .design-shortcuts :is(a,button){color:#f6efde;border-color:#ffffff38}
.theme-manga .design-shortcuts :is(small,b){color:#d2c5aa}
.theme-manga .design-icon{border-radius:50%;width:64px;height:64px}
body.theme-manga .design-section-heading h2{font:800 44px/.95 'Barlow Condensed',sans-serif;text-transform:uppercase;max-width:260px}
.theme-manga .design-story{border:2px solid var(--ink);border-radius:0;box-shadow:5px 5px 0 color-mix(in srgb,var(--ink) 12%,transparent)}
.theme-manga .design-scene{height:310px}
.theme-manga .design-scene span{font:700 16px 'Barlow Condensed',sans-serif;letter-spacing:1px;background:#201e1b;color:#f6efde;border-radius:0}
body.theme-manga .design-story h3{font:800 29px/1.1 'Barlow Condensed',sans-serif;text-transform:uppercase}
.theme-manga .design-story .story-link{border-top:1px solid var(--line);display:block;padding-top:14px}
.theme-manga .huong-dan-the{border-top:4px solid var(--accent)}
.theme-manga .fide-farewell{background:#211e1b;color:#f6efde}
body.theme-manga .fide-farewell h2{color:#f6efde;font-family:'Barlow Condensed',sans-serif;font-size:56px;text-transform:uppercase}
.theme-manga .fide-farewell p{color:#d2c5aa}
/* 03 — collectible cloud worlds */
body.theme-candy{font-family:'Nunito',Arial,sans-serif;font-size:15px}
body.theme-candy :is(h1,h2,h3,h4,h5,h6){font-family:'Nunito',Arial,sans-serif;font-weight:900}
body.theme-candy .site-header{width:92%;max-width:1240px;margin:18px auto -104px;border-radius:60px;min-height:86px;padding:4px 28px;background:#fffffff2;box-shadow:0 8px 22px #4061971a;border:1px solid #ffffffcc}
body.theme-candy .brand{height:74px;width:165px}
body.theme-candy .brand img{width:155px;height:72px}
body.theme-candy .site-nav{gap:15px}
body.theme-candy .jade-button{border-radius:40px;color:#152959!important;font-family:'Nunito',sans-serif;font-weight:900;border-color:#efca23;box-shadow:0 3px 0 #d5ad12}
body.theme-candy .jade-button.secondary{border-color:var(--line);box-shadow:0 3px 0 var(--line)}
.theme-candy .design-hero{min-height:850px;align-items:flex-start}
.theme-candy .design-hero-art{background-position:center bottom;background-size:cover}
.theme-candy .design-hero-copy{width:100%;padding:147px 12% 0;text-align:center}
.theme-candy .design-hero .design-eyebrow{display:none}
body.theme-candy .design-hero h1{font-family:'Nunito',sans-serif;font-weight:900;font-size:clamp(34px,3.7vw,58px);line-height:1.08;letter-spacing:-1.5px;color:#102755;text-shadow:0 2px 0 #fff7;margin:0 auto 14px}
.theme-candy .design-hero h1 em{color:#102755}
.theme-candy .design-intro{font-family:'Nunito',sans-serif;max-width:none;font-size:18px;font-weight:800;color:#365e9d}
.theme-candy .design-actions{position:absolute;top:665px;left:0;right:0;justify-content:center;margin:0}
.theme-candy .design-actions .jade-button{min-width:215px;font-size:18px!important}
.theme-candy .design-footnote{display:none}
.theme-candy .design-shortcuts{margin:-60px 4% 0;gap:16px;background:none;border:none;padding:0}
.theme-candy .design-shortcuts>:nth-child(1){background:#e4f2ff}.theme-candy .design-shortcuts>:nth-child(2){background:#ffe2df}.theme-candy .design-shortcuts>:nth-child(3){background:#eee6ff}.theme-candy .design-shortcuts>:nth-child(4){background:#fff1b1}
.theme-candy .design-shortcuts>:is(a,button){border:1px solid #ffffffaa;border-radius:25px;padding:14px 15px;box-shadow:0 8px 18px #34639e0c;gap:10px}
.theme-candy .design-icon{width:75px;height:75px;mix-blend-mode:multiply;border-radius:20px}
.theme-candy .design-shortcuts strong{font-family:'Nunito',sans-serif;font-size:20px;letter-spacing:0;text-transform:none;font-weight:900;color:#152959}
.theme-candy .design-shortcuts small{color:#4e648a;font-size:11px!important}
.theme-candy .design-shortcuts b{display:none}
.theme-candy .design-section-heading{justify-content:center;text-align:center;position:relative}
.theme-candy .design-section-heading>a{position:absolute;right:0;bottom:0}
.theme-candy .design-section-heading .design-eyebrow{color:#7993b7;font-size:9px}
body.theme-candy .design-section-heading h2{font-size:32px;letter-spacing:-.8px}
.theme-candy .design-story{border:0;box-shadow:0 6px 25px #315c9820;background:var(--paper)}
.theme-candy .design-scene{height:280px}
.theme-candy .design-scene span{border-radius:30px;font-family:'Nunito',sans-serif;font-size:10px;letter-spacing:1px}
.theme-candy .huong-dan-the{background:color-mix(in srgb,var(--bg) 60%,var(--paper));border:1px solid var(--line)}
.theme-candy .fide-farewell{background:color-mix(in srgb,var(--bg) 65%,var(--paper));border-top:0;border-radius:60px 60px 0 0}
body.theme-candy :is(.auth-submit,.download-action,.btn-primary,.btn-success,.btn-warning,.btn-action-custom.active,.gift-tab.active,.events-tabs [aria-selected=true],.admin-sidebar nav a.active){color:#152959!important}
/* Alternative color modes retain each theme's visual identity. */
html[data-color-mode=light]:has(body.theme-cosmos){--ink:#182951;--paper:#f3f6ff;--bg:#e5edff;--muted:#53638a;--line:#c5d2eb;--accent:#6440b1;--cta:#7040d0}
html[data-color-mode=light] .theme-cosmos .design-hero{--ink:#eaf0ff;--muted:#b6c5e3;--accent:#83d8ff;--paper:#0c1428}
html[data-color-mode=light] .theme-cosmos .design-shortcuts{background:var(--paper)}
html[data-color-mode=light] .theme-cosmos .design-story:first-child{--ink:#eaf0ff;--muted:#b6c5e3;--accent:#a9dfff}
html[data-color-mode=dark]:has(body.theme-manga){--ink:#f5e9d8;--paper:#211e1b;--bg:#161412;--muted:#c0b19e;--line:#51473d;--accent:#ff806b;--cta:#b72920}
html[data-color-mode=dark] .theme-manga .design-hero{--ink:#211e1b;--accent:#b72920}
html[data-color-mode=dark]:has(body.theme-candy){--ink:#e7edff;--paper:#182644;--bg:#111c34;--muted:#a8b9d9;--line:#394e72;--accent:#a7c7ff;--cta:#ffdc38}
html[data-color-mode=dark] .theme-candy .site-header{background:#182644f5;border-color:#394e72}
/* Mobile layouts keep real controls reachable without shrinking a screenshot. */
@media(min-width:1500px){.design-hero{min-height:650px}.theme-manga .design-hero{min-height:650px}.theme-cosmos .design-hero{min-height:650px}.theme-candy .design-hero{min-height:930px}.theme-candy .design-actions{top:735px}}
@media(max-width:1150px){body.jade-site .site-nav{gap:7px}body.jade-site .site-nav :is(a,button){font-size:11px}body.jade-site .account-nav .jade-button{font-size:11px;padding:10px 12px}body.jade-site .brand{width:165px}.design-shortcuts>a,.design-shortcuts>button{padding:5px 12px;gap:8px}.design-icon{width:65px;height:65px}.design-shortcuts small{font-size:9px!important}.design-shortcuts b{display:none}.theme-candy .design-shortcuts{gap:10px}.theme-candy .design-icon{width:50px;height:50px}.theme-candy .design-shortcuts strong{font-size:17px}.theme-candy .design-shortcuts small{font-size:9px!important}.theme-candy .design-section-heading>a{position:static}.theme-candy .design-section-heading{justify-content:space-between;text-align:left}.design-hero-copy{width:55%}.design-scene{height:225px}}
@media(max-width:960px){body.jade-site .site-header{flex-wrap:wrap;min-height:100px}body.jade-site .site-nav{order:3;flex-basis:100%;padding-top:8px;justify-content:center}body.jade-site .brand{max-width:35%}body.jade-site .account-nav{margin-left:auto}.design-hero{min-height:540px}.design-hero-copy{padding-left:5%;width:58%}.design-hero-art{background-position:60% center}.design-intro{max-width:310px}.design-actions{gap:9px}.design-actions .jade-button{min-width:0;font-size:12px!important;padding:14px 16px!important}.design-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));padding:5px}.design-shortcuts>:nth-child(2){border-right:0}.design-shortcuts>:nth-child(-n+2){border-bottom:1px solid var(--line)}.design-shortcuts>a,.design-shortcuts>button{padding:13px 18px}.design-shortcuts strong{font-size:21px}.design-shortcuts small{font-size:11px!important}.design-stories{gap:12px}.design-story-copy{padding:20px 16px}.design-scene{height:225px}.fide-mechanics{grid-template-columns:repeat(2,minmax(0,1fr))}.huong-dan-luoi{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-cosmos .design-editorial .design-stories{grid-template-columns:1fr 1fr}.theme-cosmos .design-story:not(:first-child){grid-template-columns:1fr;min-height:0}.theme-cosmos .design-story:not(:first-child) .design-scene{display:none}.theme-manga .design-hero{min-height:540px}.theme-manga .design-hero-copy{width:51%}.theme-manga .design-hero-art{background-position:54% center}.theme-candy .site-header{margin-bottom:-145px!important;border-radius:30px!important}.theme-candy .design-hero-copy{padding-top:177px}.theme-candy .design-hero{min-height:800px}.theme-candy .design-hero-art{background-size:auto 780px}.theme-candy .design-actions{top:647px}.theme-candy .design-shortcuts{margin-top:-20px}.theme-candy .design-shortcuts :is(a,button){border:0}.theme-candy .design-icon{width:65px;height:65px}.theme-candy .design-shortcuts strong{font-size:21px}.theme-candy .design-shortcuts small{font-size:11px!important}body.jade-admin{grid-template-columns:190px minmax(0,1fr)!important;padding:10px!important}body.jade-admin .main-content{padding:18px!important}}
@media(max-width:650px){body.jade-site{font-size:14px}body.jade-site .site-header{padding:8px 15px;min-height:76px;gap:7px}body.jade-site .brand{max-width:42%;width:142px;height:62px}body.jade-site .brand img{width:138px;height:62px}body.jade-site .menu-toggle{display:inline-flex!important;margin-left:auto;border-radius:8px;padding:7px 9px!important;min-height:36px!important;font-size:11px!important}body.jade-site .account-nav{gap:6px;margin:0}body.jade-site .account-nav .jade-button{min-height:34px;font-size:10px;padding:8px 10px}body.jade-site .account-nav>a.secondary{display:none}body.jade-site .site-nav{display:none;justify-content:flex-start;gap:8px;border-top:1px solid var(--line);margin-top:4px}body.jade-site .site-nav.is-open{display:flex}body.jade-site .site-nav :is(a,button){font-size:12px;padding:9px}body.jade-site .page-content{padding:20px 14px}.design-hero{min-height:710px;align-items:flex-start}.design-hero-art{background-size:auto 480px;background-position:70% bottom;background-repeat:no-repeat}.design-hero-copy{width:100%;padding:32px 22px 0}.design-eyebrow{font-size:8px;letter-spacing:1.5px}body.jade-site .design-hero h1{font-size:54px;line-height:1.02;letter-spacing:-.8px;margin-bottom:18px}.design-intro{max-width:100%;font-size:12px;line-height:1.85}.design-actions{margin-top:20px;gap:9px}.design-actions .jade-button{font-size:12px!important;padding:12px 16px!important;min-height:46px!important}.design-footnote{display:none}.design-shortcuts{margin:0 12px;padding:0;border-radius:15px}.design-shortcuts>a,.design-shortcuts>button{padding:10px 8px;gap:6px}.design-icon{width:49px;height:49px;border-radius:12px}.design-shortcuts strong{font-size:17px;letter-spacing:.2px}.design-shortcuts small{font-size:8px!important;line-height:1.5}.design-editorial,.huong-dan-gon{padding:37px 18px 0!important}.design-section-heading,.huong-dan-dau{align-items:flex-start;gap:12px}body.jade-site .design-section-heading h2,body.jade-site .huong-dan-dau h2{font-size:24px;letter-spacing:-.6px}.design-section-heading>a,.huong-dan-dau>a{display:none}.design-stories{grid-template-columns:1fr;gap:20px}.design-scene{height:310px;background-position-y:35%}.design-story-copy{padding:22px}.design-story p{font-size:12px}.huong-dan-luoi{grid-template-columns:1fr}.huong-dan-the{padding:20px}.fide-section{padding:36px 18px 0}.fide-mechanics{grid-template-columns:1fr;gap:12px}.fide-mechanics article{padding:22px}.fide-steps{grid-template-columns:1fr 1fr;gap:14px}.fide-steps h3{font-size:14px!important}.fide-steps p{font-size:11px}.fide-farewell{padding:35px 22px;flex-direction:column;align-items:flex-start;margin-top:30px}.fide-farewell h2{font-size:32px!important}.fide-actions .jade-button{font-size:11px!important}.fide-donate{margin:25px 18px;padding:20px;flex-wrap:wrap}body.jade-site .site-footer{padding:24px 20px;gap:12px}body.jade-site .site-footer nav{flex-wrap:wrap;gap:18px}.theme-cosmos .design-hero{min-height:750px}.theme-cosmos .design-hero:after{background:linear-gradient(180deg,#070d1c 0%,#070d1c 33%,#070d1c22 57%,transparent 70%)}.theme-cosmos .design-hero-art{background-size:auto 470px;background-position:72% bottom}.theme-cosmos .design-shortcuts{margin-top:-12px}.theme-cosmos .design-editorial .design-stories{grid-template-columns:1fr}.theme-cosmos .design-story:first-child{grid-row:auto;min-height:420px}.theme-cosmos .design-story:not(:first-child){grid-template-columns:36% 64%;min-height:200px}.theme-cosmos .design-story:not(:first-child) .design-scene{display:block;background-size:300% auto}.theme-cosmos .design-story:not(:first-child) .design-story-copy{padding:19px 15px}.theme-cosmos .design-story:not(:first-child) h3{font-size:19px}.theme-cosmos .design-story:not(:first-child) p{font-size:11px}.theme-manga .design-hero{min-height:720px}.theme-manga .design-hero-copy{width:100%;padding-top:28px}.theme-manga .design-hero-art{background-size:auto 450px;background-position:65% bottom}.theme-manga .design-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(var(--paper) 0%,var(--paper) 39%,transparent 57%);z-index:-1}body.theme-manga .design-hero h1{font-size:78px;line-height:.92;margin-bottom:22px}.theme-manga .design-intro{max-width:100%;font-size:11px}.theme-manga .design-shortcuts{margin:0;border-radius:0;padding:4px}.theme-manga .design-shortcuts :is(a,button){border-color:#ffffff30}.theme-manga .design-icon{width:43px;height:43px}.theme-manga .design-story h3{font-size:28px!important}.theme-manga .design-scene{height:340px}body.theme-candy .site-header{width:calc(100% - 20px);margin:10px auto -88px!important;border-radius:23px!important;padding:5px 10px;min-height:78px}body.theme-candy .brand{width:118px;height:62px}body.theme-candy .brand img{width:115px;height:58px}body.theme-candy .menu-toggle{font-size:10px!important;padding:7px 8px!important;border-radius:20px}body.theme-candy .account-nav .jade-button{font-size:10px;padding:8px}.theme-candy .design-hero{min-height:800px}.theme-candy .design-hero-art{background-size:auto 580px;background-position:center bottom;background-color:#b6e2ff}.theme-candy .design-hero-copy{padding:120px 14px 0}body.theme-candy .design-hero h1{font-size:34px;line-height:1.1;letter-spacing:-1.2px;margin-bottom:12px}.theme-candy .design-intro{font-size:14px}.theme-candy .design-actions{top:670px;padding:0 12px;gap:10px}.theme-candy .design-actions .jade-button{min-width:0;font-size:13px!important;padding:13px 18px!important}.theme-candy .design-shortcuts{margin:-12px 12px 0;gap:10px}.theme-candy .design-shortcuts>:is(a,button){padding:12px 8px;border-radius:18px;gap:5px}.theme-candy .design-icon{width:49px;height:49px}.theme-candy .design-shortcuts strong{font-size:17px}.theme-candy .design-shortcuts small{font-size:8px!important}.theme-candy .design-scene{height:300px}.theme-candy .design-section-heading{text-align:center;justify-content:center}.theme-candy .design-section-heading h2{font-size:26px!important}.theme-candy .fide-farewell{border-radius:35px 35px 0 0}.color-mode-toggle{right:10px;bottom:10px;padding:9px 12px;font-size:10px}body.jade-admin{display:block!important;padding:8px!important}body.jade-admin .admin-sidebar{position:static;min-height:0;border-radius:14px 14px 0 0}.admin-brand img{height:65px}body.jade-admin .admin-brand{padding:10px}body.jade-admin .admin-sidebar nav{display:flex;flex-direction:row;overflow-x:auto}body.jade-admin .admin-sidebar nav a{white-space:nowrap;flex-shrink:0}body.jade-admin .main-content{padding:15px!important;border-radius:0 0 14px 14px!important}.login-shell{padding:14px!important}.login-card .display-6{font-size:25px!important}}
/* Precise per-concept compositions; no cross-theme icon reuse. */
@media(min-width:651px){.theme-cosmos .design-hero-art,.theme-candy .design-hero-art{background-position:center top}}
@media(max-width:650px){body.jade-site .account-nav>a.secondary{display:inline-flex}body.jade-site .brand{width:106px}body.jade-site .brand img{width:106px}body.theme-candy .brand{width:100px}body.theme-candy .brand img{width:100px}body.jade-site .account-nav .jade-button{padding:8px;font-size:10px}}
.theme-manga .design-icon{border-radius:0;mix-blend-mode:screen}
.theme-manga .design-editorial{display:grid;grid-template-columns:25% 1fr;gap:28px}
.theme-manga .design-editorial .design-section-heading{flex-direction:column;justify-content:center;align-items:flex-start;gap:22px;margin:0}
body.theme-manga .design-editorial h2{font-size:64px;max-width:100%;line-height:.98}
.theme-manga .design-editorial .design-stories{gap:13px}
.theme-manga .design-editorial .design-story{transform:skewY(-2deg)}
.theme-manga .design-editorial .design-story:hover{transform:skewY(-2deg) translateY(-5px)}
.theme-manga .design-editorial .design-scene{height:265px}
.theme-manga .design-editorial .design-story-copy{padding:18px 15px}
.theme-manga .design-editorial .design-story h3{font-size:27px}
.theme-manga .design-editorial .design-story p{font-size:11px}
.theme-candy .design-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr))}
.theme-candy .design-shortcuts>:nth-child(1){background:#ffe2df}.theme-candy .design-shortcuts>:nth-child(2){background:#fff1b1}.theme-candy .design-shortcuts>:nth-child(3){background:#eee6ff}
.theme-candy .design-shortcuts>:is(a,button){border:0;padding:18px 22px;gap:16px}
.theme-candy .design-shortcuts .design-icon{width:90px;height:90px}
.design-planets{padding:38px 4% 0;text-align:center}
body.jade-site .design-planets h2{font-size:30px;margin:0 0 22px}
.design-planets .design-eyebrow{font-size:9px;margin-bottom:9px!important;color:var(--muted)}
.planet-list{display:flex;justify-content:center;gap:30px;margin:auto;max-width:790px}
.planet-list>a{width:150px;position:relative;display:flex;flex-direction:column;align-items:center;transition:transform .2s}
.planet-list>a:hover{transform:translateY(-5px)}
.planet-portrait{display:block;width:150px;height:150px;background-image:url('/assets/design/portraits.png');background-size:200% 200%;border-radius:50%}
.portrait-1{background-position:left top}.portrait-2{background-position:right top}.portrait-3{background-position:left bottom}.portrait-4{background-position:right bottom}
.planet-list strong{background:var(--paper);padding:6px 24px;border-radius:24px;font-size:13px;box-shadow:0 3px 0 var(--line);margin-top:-8px;z-index:1}
.planet-member{display:inline-block;margin-top:30px;color:var(--muted)!important;font-size:11px}
@media(max-width:1150px){.theme-manga .design-editorial{grid-template-columns:1fr}.theme-manga .design-editorial .design-section-heading{flex-direction:row;align-items:flex-end;justify-content:space-between}body.theme-manga .design-editorial h2{font-size:42px}.theme-candy .design-shortcuts>:is(a,button){padding:15px 12px;gap:7px}.theme-candy .design-shortcuts .design-icon{width:70px;height:70px}}
@media(max-width:650px){.theme-manga .design-editorial{gap:22px}.theme-manga .design-editorial .design-scene{height:340px}.theme-manga .design-editorial .design-story-copy{padding:23px}.theme-manga .design-editorial .design-story p{font-size:12px}.theme-candy .design-shortcuts{grid-template-columns:1fr;gap:12px;margin:0 20px}.theme-candy .design-shortcuts>:is(a,button){padding:12px 20px;gap:15px}.theme-candy .design-shortcuts .design-icon{width:68px;height:68px}.theme-candy .design-shortcuts strong{font-size:22px}.theme-candy .design-shortcuts small{font-size:11px!important}.theme-candy .design-shortcuts b{display:block}.design-planets{padding:34px 15px 0}.planet-list{display:grid;grid-template-columns:1fr 1fr;max-width:300px;gap:24px 15px}.planet-list>a{width:135px}.planet-portrait{width:135px;height:135px}body.jade-site .design-planets h2{font-size:27px}}
@media(max-width:650px){.theme-candy .design-hero{min-height:610px}.theme-candy .design-hero-art{background-size:100% auto;background-position:center 245px;background-color:#b6e2ff}.theme-candy .design-hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 80%,#fff 97%)}.theme-candy .design-actions{top:535px}.theme-candy .design-hero-copy{padding-top:125px}.theme-candy .design-intro{margin-bottom:0}}
@media(max-width:650px){.theme-candy .design-hero-art{background-image:linear-gradient(180deg,#b6e2ff,transparent 45px,transparent 205px,#fff 260px),url('/assets/design/hero.png');background-size:100% 260px,100% auto;background-position:center 245px,center 245px;background-repeat:no-repeat}.theme-candy .design-hero-art:after{background:linear-gradient(180deg,transparent 470px,#fff 505px)}}
body.jade-site .site-footer>a{color:var(--ink)!important}
@media(min-width:651px){.theme-cosmos .design-hero-art{background-size:auto 100%;background-position:right center;background-color:#070d1c}}
body.theme-candy:not(:has(.design-home)) .site-header{margin:18px auto!important}
.theme-manga .design-hero{--paper:#f6efde}
@media(max-width:650px){.theme-cosmos .design-hero{min-height:800px}.theme-cosmos .design-hero-art{background-size:auto 440px}.theme-cosmos .design-hero:after{background:linear-gradient(180deg,#070d1c 0px,#070d1c 275px,transparent 365px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Accessible foreground/background pairs for controls in both color modes. */
html body.jade-site{--control-bg:#ffffff;--control-ink:#182338;--control-muted:#526078;--control-border:#778398;--action-bg:#5931aa;--action-ink:#ffffff;--secondary-bg:#dce7f7;--secondary-ink:#182338;--code-ink:#76368c}
html body.theme-manga{--action-bg:#ad291d;--secondary-bg:#f1dfb9;--code-ink:#9b3022}
html body.theme-candy{--action-bg:#ffdb55;--action-ink:#182b50;--secondary-bg:#dbeaff;--code-ink:#65399c}
html[data-color-mode=dark] body.jade-site{--control-bg:#151e30;--control-ink:#f0f4ff;--control-muted:#b6c3da;--control-border:#71829c;--secondary-bg:#b7dfff;--secondary-ink:#142237;--code-ink:#e0b5ff}
html[data-color-mode=dark] body.theme-manga{--control-bg:#302a25;--control-ink:#fff5e5;--control-muted:#d5c5b5;--control-border:#978878;--action-bg:#ff907a;--action-ink:#32150d;--secondary-bg:#f1dfb9;--secondary-ink:#302116;--code-ink:#ffb59e}
html[data-color-mode=dark] body.theme-candy{--control-bg:#182640;--control-ink:#eff5ff;--control-muted:#b7c9e5}
html body.jade-site :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]),textarea,select,.form-control,.form-select,.input-group-text){background:var(--control-bg)!important;color:var(--control-ink)!important;border-color:var(--control-border)!important;-webkit-text-fill-color:var(--control-ink)}
html body.jade-site :is(input,textarea)::placeholder{color:var(--control-muted)!important;-webkit-text-fill-color:var(--control-muted);opacity:1}
html body.jade-site input[type=file]::file-selector-button{background:var(--secondary-bg)!important;color:var(--secondary-ink)!important;-webkit-text-fill-color:var(--secondary-ink);border:0;border-right:1px solid var(--control-border);padding:10px 14px;margin-right:12px;cursor:pointer}
html body.jade-site :is(.auth-submit,.download-action,.btn-primary,.btn-success,.btn-warning,.btn-action-custom.active,.gift-tab.active,.events-tabs [aria-selected=true],.jade-button:not(.secondary)){background:var(--action-bg)!important;color:var(--action-ink)!important;border-color:var(--action-bg)!important}
html body.jade-site .btn-secondary{background:var(--secondary-bg)!important;color:var(--secondary-ink)!important;border-color:var(--control-border)!important}
html body.jade-site :is(.btn-outline-light,.btn-outline-secondary,.btn-outline-primary,.btn-light,.jade-button.secondary){background:var(--control-bg)!important;color:var(--control-ink)!important;border-color:var(--control-border)!important}
html body.jade-site :is(.btn-danger){background:#ac2436!important;color:white!important;border-color:#ac2436!important}
html body.jade-site :is(.btn,.jade-button,.auth-submit,.download-action) :is(span,i,strong){color:inherit!important}
html body.jade-site :is(button:disabled,.btn.disabled,input:disabled){opacity:1!important;background:var(--control-bg)!important;color:var(--control-muted)!important;-webkit-text-fill-color:var(--control-muted);border-color:var(--control-border)!important;cursor:not-allowed;box-shadow:none!important}
html body.jade-site :is(code,pre){color:var(--code-ink)!important}
html body.jade-admin .admin-brand{background:var(--paper)!important}
html body.jade-admin :is(.text-dark,.text-light,.text-secondary){color:var(--ink)!important}
html body.jade-site :is(.text-muted,.form-text){color:var(--muted)!important}
html body.jade-site :is(input,select,textarea,button,a):focus-visible{outline:3px solid var(--control-border);outline-offset:3px}

/* Detail guides must use the active theme's matched foreground and surface. */
html body.jade-site main:is(.skh-guide,.fide-detail){color:var(--ink)!important}
html body.jade-site main:is(.skh-guide,.fide-detail) :is(p,li,figcaption,summary,h1,h2,h3,h4,strong,b,small){color:var(--ink)!important}
html body.jade-site main:is(.skh-guide,.fide-detail) :is(.jade-panel,.nang-cap-bac article,.nang-cap-luu-y,.skh-facts span,details[open],.skh-levels li){background:var(--paper)!important;color:var(--ink)!important;border-color:var(--line)!important}
html body.jade-site main:is(.skh-guide,.fide-detail) a:not(.jade-button):not(.btn){color:var(--accent)!important}
html body.jade-site main:is(.skh-guide,.fide-detail) :is(figcaption,.text-muted){color:var(--muted)!important;opacity:1}
