*{box-sizing:border-box}body{margin:0;font:14px/1.6 "Segoe UI",Arial,sans-serif;color:#17334b;background:#edf4f9}a{color:inherit;text-decoration:none}button,input{font:inherit}[hidden]{display:none!important}.top{background:#fff;border-bottom:1px solid #dbe6ee}.top-inner{max-width:1240px;margin:auto;padding:17px 24px;display:flex;align-items:center;justify-content:space-between}.brand{font:bold 24px Georgia,serif;color:#1c5d8c}.brand span{font:700 10px Arial,sans-serif;letter-spacing:3px;margin-left:10px;color:#7497b1}.back{font-size:13px;color:#527b9a}main{max-width:1240px;margin:auto;padding:28px 24px}.hero{padding:32px 36px;border-radius:16px;color:#fff;background:#185586;background:linear-gradient(120deg,#123b63,#176a9b);box-shadow:0 10px 32px rgba(30,75,110,.1)}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;color:#9fd8f1}.hero h1{font-size:34px;line-height:1.2;letter-spacing:-.7px;margin:12px 0 14px}.hero p{margin:0;color:#d7eaf4;max-width:700px}.stats{display:flex;flex-wrap:wrap;margin-top:22px}.stats>span{padding-right:24px;margin-right:24px;border-right:1px solid #4785a6;font-size:12px;color:#c6e1f0}.stats>span:last-child{border:0}.stats strong{font-size:23px;color:#fff;margin-right:6px}.toolbar{margin-top:24px;background:#fff;padding:22px;border:1px solid #dce7ef;border-radius:12px}.toolbar label{display:block;font-size:12px;font-weight:700;color:#58778e;margin-bottom:7px}.search-row{display:flex}.search-row input{flex:1;min-width:0;border:1px solid #cbdde9;border-radius:7px;padding:12px 14px;color:#17334b;background:#f9fcfe}.search-row button{border:1px solid #cbdde9;border-radius:7px;background:#fff;color:#416e8f;margin-left:10px;padding:10px 18px;cursor:pointer}button:focus,input:focus,a:focus{outline:2px solid #248ac0;outline-offset:3px}.filters{display:flex;flex-wrap:wrap;margin-top:16px}.filter{border:1px solid #d5e3ed;background:#f6fafc;color:#4f728b;border-radius:22px;margin:0 8px 8px 0;padding:8px 15px;font-size:12px;cursor:pointer}.filter.active{background:#176b9c;border-color:#176b9c;color:#fff}.filter b{font-size:10px;margin-left:6px;opacity:.8}.results{display:flex;justify-content:space-between;border-top:1px solid #edf2f6;padding-top:12px;margin-top:5px;font-size:12px;color:#6b889d}.results #count{font-weight:bold;color:#275573}.notice{font-size:12px;margin:18px 3px;color:#668197}.branch{background:#fff;border:1px solid #dce7ef;border-radius:12px;margin-bottom:16px;overflow:hidden}.branch-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #edf2f6;background:#fcfdff}.category{font-size:10px;color:#668da6;font-weight:700;letter-spacing:.4px}.branch h2{font-size:17px;margin:2px 0 0;color:#244c69}.steps-total{font-size:11px;border:1px solid #d8e6ef;background:#f1f7fb;padding:4px 10px;border-radius:20px;color:#67869b;white-space:nowrap}.chain{display:flex;flex-wrap:wrap;margin:0;padding:20px 18px 7px;list-style:none}.unit{position:relative;width:125px;min-width:100px;text-align:center;margin:0 25px 13px 0;padding:8px 5px 10px;border:1px solid #e0e9f0;background:#f8fbfd;border-radius:9px}.unit:after{content:"›";position:absolute;top:48px;right:-20px;font:25px/1 Arial,sans-serif;color:#86a9bf}.unit:last-child{margin-right:0}.unit:last-child:after{display:none}.unit.final{background:#eff9f5;border-color:#c2e3d4}.step{display:block;font-size:9px;font-weight:700;color:#8ca3b4;letter-spacing:1px;margin-bottom:6px}.unit img{display:block;width:80px;height:80px;margin:0 auto 9px;object-fit:contain;border:1px solid #d0deea;border-radius:5px;background:#102321}.unit strong{display:block;font-size:12px;line-height:1.45;min-height:35px;overflow-wrap:break-word;word-wrap:break-word}.unit-note{display:block;min-height:17px;font-size:9px;color:#3d8a68;margin-top:4px}#empty{text-align:center;border:1px dashed #bbd0df;border-radius:12px;background:#fff;padding:40px 20px;color:#638198}footer{text-align:center;color:#7f99ab;font-size:11px;padding:20px 0 8px}@media(max-width:700px){.top-inner{padding:14px 16px}.brand{font-size:21px}.brand span{display:none}main{padding:18px 12px}.hero{padding:26px 22px}.hero h1{font-size:27px}.stats>span{margin-right:12px;padding-right:12px}.stats strong{font-size:20px}.toolbar{padding:16px}.search-row button{padding:8px 11px}.results>span:last-child{display:none}.chain{padding:14px 12px 4px}.unit{width:calc(50% - 20px);margin-right:25px}.unit:nth-child(even){margin-right:0}.unit:nth-child(even):after{display:none}.branch-heading{padding:14px 16px}}

@media(min-width:701px){.unit{width:116px;margin-right:20px}.unit:after{right:-17px}}


.attack-preview{font-size:10px;line-height:1.5;color:#58778e;text-align:left;height:60px;overflow:hidden;margin:10px 3px}.attack-button{font:600 10px/1.5 'Segoe UI',Arial,sans-serif;color:#176b9c;background:#eaf4fa;border:1px solid #c7dfeD;border-radius:5px;padding:5px 7px;cursor:pointer;width:100%}.attack-button:hover{background:#dceefa}.attack-detail{margin:0 18px 18px;padding:18px 20px;background:#edf6fc;border:1px solid #c9e0ef;border-radius:9px}.detail-heading{display:flex;align-items:center;justify-content:space-between}.detail-heading h3{margin:0;font-size:17px;color:#245776}.detail-heading button{border:1px solid #c3dceC;background:white;border-radius:5px;color:#537b96;padding:5px 12px;cursor:pointer}.attack-name{margin:8px 0;color:#557c96;font-size:12px}.attack-description{white-space:pre-wrap;font-size:13px;line-height:1.8;margin:10px 0 0;color:#24475f}


/* Illustrated banner, compatible with older Chromium. */
.hero{position:relative;overflow:hidden;min-height:270px;padding:36px 40px;border:1px solid #a18d54;border-top:3px solid #d9bc75;background:#12334e url('banner.jpg') center 46%/cover no-repeat;box-shadow:0 14px 30px rgba(14,43,65,.22)}
.hero:before{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(90deg,rgba(8,31,52,.97) 0%,rgba(10,41,63,.88) 48%,rgba(8,27,43,.32) 100%)}
.hero> *{position:relative;z-index:1}.hero .eyebrow{display:inline-block;padding:5px 12px;border:1px solid rgba(225,199,130,.5);border-radius:4px;letter-spacing:2.3px;color:#f2d99d;background:rgba(10,31,47,.55)}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:43px;line-height:1.18;margin:17px 0 25px;color:#fff1cb;letter-spacing:0;text-shadow:0 3px 12px rgba(0,0,0,.6)}
.hero .stats{margin-top:0;gap:0}.hero .stats>span{display:block;border:1px solid rgba(170,201,220,.3);border-radius:7px;background:rgba(14,44,65,.75);padding:9px 16px;margin-right:12px;color:#d6e9f4;font-size:12px}.hero .stats strong{color:#f5d68e;font-size:26px;margin-right:8px}
#branches{margin-top:22px}
@media(max-width:700px){.hero{padding:26px 22px;min-height:255px}.hero h1{font-size:31px;margin:17px 0 21px}.hero .eyebrow{font-size:9px;letter-spacing:1.6px}.hero .stats>span{padding:7px 10px;margin:0 8px 8px 0;font-size:10px}.hero .stats strong{font-size:22px}}



/* NGỌA LONG ONLINE — theme đồng bộ giao diện full width và trang Tướng S1 */
:root{--blue:#197ab9;--ink:#0c2942;--line:#b6d5e9;--panel:#f1f8fd;--gold:#d6a044}
html{width:100%;scroll-behavior:smooth}
body{min-height:100vh;color:#0c2942;font:14px/1.6 Arial,Helvetica,sans-serif;
 background:linear-gradient(180deg,#2e86d0 0%,#77b8e6 39%,#c9e0ed 88%);background-attachment:fixed}
.top{background:transparent;border:0}
.top>div{max-width:none;width:100%;padding:clamp(16px,2vw,34px) clamp(16px,2.2vw,40px) 10px;
 gap:20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between}
.top .brand{color:#fff;font:bold 32px/1 Georgia,'Times New Roman',serif;text-shadow:1px 3px 3px #235479}
.top .brand small{color:#fff;display:block;letter-spacing:6px;margin-left:38px;margin-top:3px;font:bold 11px/1.3 Arial,Helvetica,sans-serif}
.top nav{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.top nav a{display:inline-flex;align-items:center;justify-content:center;min-height:41px;margin:0;padding:10px 16px;
 border-radius:8px;border:1px solid #bfddf0;background:rgba(247,251,255,.97);box-shadow:0 3px 8px #285d8036;
 color:#1b628f;font-size:12px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s}
.top nav a:hover{background:#d9effc;transform:translateY(-1px);box-shadow:0 5px 12px #285d8044}
.top nav a.nav-current{background:#ffe9b3;border-color:#d3a046;color:#80500d}
main{width:100%;max-width:none;margin:0;padding:12px clamp(16px,2.2vw,40px) 30px}
.banner{position:relative;overflow:hidden;min-height:188px;border:1px solid rgba(255,255,255,.85);border-top:3px solid #e3ba72;
 border-radius:12px;padding:27px clamp(18px,2.2vw,35px);
 background:#143a5c url('banner.jpg') center 42% /cover no-repeat;box-shadow:0 6px 16px #31678a46}
.banner:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,52,83,.96),rgba(14,67,107,.82) 60%,rgba(29,108,161,.28))}
.banner>*{position:relative;z-index:1}
.banner .eyebrow{display:inline-block;font:700 11px Arial,Helvetica,sans-serif;letter-spacing:1px;
 color:#ffe2a4;background:#1b5c8c85;border:1px solid #b49662;border-radius:4px;padding:5px 12px}
.banner h1{font:700 clamp(24px,2.2vw,37px)/1.25 Georgia,'Times New Roman',serif;color:#fff;
 letter-spacing:0;margin:15px 0 17px;text-shadow:0 2px 5px #09213d}
.banner .stats{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.banner .stats>span{margin:0;padding:8px 13px;border:1px solid rgba(164,205,227,.65);border-radius:6px;
 background:rgba(245,251,255,.13);color:#f1f9ff;font-weight:600;font-size:12px}
.banner .stats strong{font-size:21px;color:#ffe2a4;margin-right:6px}
.controls{background:rgba(247,251,255,.97);border:1px solid #d1e4f2;border-radius:11px;
 padding:19px clamp(16px,1.5vw,26px);margin:16px 0;box-shadow:0 6px 12px #31678a39}
.controls-titlebar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:9px;
 border-bottom:1px solid #dcebf5;padding:0 0 13px;margin:0 0 15px}
.controls-titlebar h2{margin:0;font-size:18px;color:#174d72}
.results-summary{font-size:12px;color:#4c7796;background:#e7f3fc;padding:5px 12px;border:1px solid #c7e1f2;border-radius:30px}
.results-summary strong{color:#125e92}
.controls .search-label{display:block;font-weight:700;color:#376681;font-size:12px;margin:0 0 7px}
.search-row{display:flex;gap:10px}
.search-row input{width:100%;min-height:44px;margin:0;background:#fff;border:1px solid #b6d5e9;
 border-radius:7px;color:#17456a;padding:10px 13px;outline:none;transition:box-shadow .2s,border-color .2s}
.search-row input:focus{border-color:#1789d2;box-shadow:0 0 0 3px #cdeaff}
.search-row button{margin:0;min-height:44px;color:#1d6597;background:#e8f5fc;border:1px solid #accfe6;
 border-radius:7px;font-weight:700;transition:background .2s,transform .2s}
.search-row button:hover{background:#d3ecfc;transform:translateY(-1px)}
.filters{gap:7px;margin-top:15px}
.filter{margin:0;min-height:34px;padding:7px 13px;border:1px solid #d2e4f1;border-radius:22px;
 color:#456c87;background:#eaf5fc;font-size:11px;font-weight:700;transition:background .2s,transform .2s}
.filter:hover{background:#dbeefd;transform:translateY(-1px)}
.filter.active{background:#1d7ebc;border-color:#1d7ebc;color:#fff}
#branches{margin-top:16px}
.branch{background:rgba(247,251,255,.98);border:1px solid #d4e7f6;border-radius:11px;
 box-shadow:0 4px 10px #31678a29;margin:0 0 15px;transition:box-shadow .22s,border-color .22s}
.branch:hover{box-shadow:0 7px 15px #31678a39;border-color:#a5d4ed}
.branch-heading{padding:14px 20px;background:linear-gradient(110deg,#fff,#edf8fe);border-bottom:1px solid #dcebf5}
.category{font-size:11px;color:#6c8fa7}
.branch h2{font-size:18px;color:#123f60}
.chain{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:13px;
 padding:17px 18px 18px;margin:0;list-style:none}
.unit,.unit:nth-child(even){margin:0;width:auto;min-width:0;padding:11px 9px 12px;
 border:1px solid #d5e5f0;background:#f1f8fd;border-radius:8px;
 transition:transform .2s,background .2s,border-color .2s,box-shadow .2s}
.unit:hover{transform:translateY(-2px);background:#e4f3ff;border-color:#a2d1ec;box-shadow:0 4px 11px #3e84ae24}
.unit:after{display:none!important}
.unit.final{background:#f3f8e9;border-color:#d5dfa7}
.unit.final:hover{background:#ecf5d7}
.step{color:#688da8;font-size:10px;margin-bottom:6px}
.unit img{width:78px;height:78px;max-width:100%;border-radius:7px;border:2px solid #c1deef;background:#164263}
.unit strong{font-size:12px;color:#133c59;line-height:1.45;min-height:36px;overflow-wrap:anywhere}
.attack-preview{height:62px;color:#456984;font-size:11px;line-height:1.5;text-align:left;margin:9px 0 10px;overflow:hidden}
.attack-button{min-height:32px;border:1px solid #a7d1e9;border-radius:6px;background:#d9eefc;
 font:700 11px/1.35 Arial,Helvetica,sans-serif;color:#12679d;transition:background .2s}
.attack-button:hover{background:#c1e6fa}
.attack-detail{margin:0 18px 18px;background:#eaf6ff;border:1px solid #b9daf0;border-radius:8px;padding:17px 20px}
.detail-heading h3{color:#174d72}
.detail-heading button{background:#fff;color:#1d6597;border:1px solid #b6d5e9;min-height:34px;cursor:pointer}
.attack-name{color:#547e99}.attack-description{color:#24475f;font-size:13px}
#empty{border:1px dashed #b9d9ef;color:#466f8b;background:#f5fbff}
footer{text-align:left;color:#426e8c;font-size:11px;padding:27px 0 6px}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #f0bb61;outline-offset:2px}
@media(max-width:700px){
 .top>div{padding:16px 12px 5px}.top .brand{font-size:28px}.top .brand small{display:block;margin-left:34px}
 .top nav{gap:6px}.top nav a{padding:9px 10px;min-height:38px}
 main{padding:10px 12px 24px}.banner{min-height:158px;padding:21px 18px}.banner h1{font-size:27px}
 .banner .eyebrow{font-size:10px}.banner .stats>span{margin:0;padding:7px 10px;font-size:10px}
 .banner .stats strong{font-size:20px}
 .controls{padding:15px}.controls-titlebar h2{font-size:16px}
 .branch-heading{padding:14px 16px}
 .chain{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}
 .unit,.unit:nth-child(even){padding:9px 7px 11px}.unit strong{font-size:11px;min-height:34px}
 .unit img{width:72px;height:72px}.attack-preview{font-size:10px;height:63px}
 .attack-detail{margin:0 12px 12px;padding:13px}
}
@media(max-width:360px){.chain{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.search-row{flex-wrap:wrap}.search-row button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.unit:hover,.branch:hover,.filter:hover,.top nav a:hover,.search-row button:hover{transform:none}}
