/* Thái Triển CMS — Home Builder v1.1. Namespaced to avoid breaking archives/articles. */
html{scroll-behavior:smooth;scroll-padding-top:110px}
body.hb-site{--hb-text:#122138;--hb-muted:#63748d;--hb-surface:#fff;--hb-surface-soft:#f3f7ff;--hb-page:#f9fbff;--hb-stroke:#e5edf8;--hb-shadow:0 22px 55px rgba(28,62,122,.09);--blue:var(--hb-accent,#2879ee);--dark:var(--hb-text);--muted:var(--hb-muted);--line:var(--hb-stroke);background:var(--hb-page);color:var(--hb-text);transition:background-color .25s,color .25s}
html[data-theme=dark] body.hb-site{color-scheme:dark;--hb-text:#edf5ff;--hb-muted:#adbad2;--hb-surface:#151e30;--hb-surface-soft:#1a2941;--hb-page:#0b1220;--hb-stroke:#273752;--hb-shadow:0 22px 55px rgba(0,0,0,.28);--sky:#1a2941}
body.hb-site .site-header{position:sticky;top:0;z-index:35;background:color-mix(in srgb,var(--hb-surface) 92%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:var(--hb-stroke)}
body.hb-site .announcement{background:#0a1930}
body.hb-site .main-nav{align-items:center}
body.hb-site .main-nav a{transition:color .2s}
body.hb-site .brand-mark{background:var(--hb-accent);color:white}
body.hb-site .brand-text small{color:var(--hb-muted)}
.hb-header-actions{display:flex;align-items:center;gap:11px;margin-left:auto}
.hb-theme-toggle{width:43px;height:43px;border:1px solid var(--hb-stroke);border-radius:50%;background:var(--hb-surface-soft);color:var(--hb-text);display:inline-grid;place-items:center;flex-shrink:0;cursor:pointer;transition:transform .2s,border-color .2s,background .2s}
.hb-theme-toggle:hover{transform:rotate(15deg);border-color:var(--hb-accent)}.hb-theme-toggle:focus-visible{outline:3px solid var(--hb-accent);outline-offset:3px}
.hb-theme-toggle svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.hb-icon-moon{display:none}html[data-theme=dark] .hb-icon-sun{display:none}html[data-theme=dark] .hb-icon-moon{display:block}
body.hb-site .story-card,body.hb-site .sidebar-box,body.hb-site .newsletter-note{background:var(--hb-surface);border-color:var(--hb-stroke);color:var(--hb-text)}body.hb-site .sidebar-box a{border-color:var(--hb-stroke)}body.hb-site .story-info p{color:var(--hb-muted)}
html[data-theme=dark] body.hb-site .searchbox,html[data-theme=dark] body.hb-site .pagination a{background:var(--hb-surface);border-color:var(--hb-stroke)}html[data-theme=dark] body.hb-site .hero{background:linear-gradient(115deg,#142f59,#151e30 80%)}html[data-theme=dark] body.hb-site .searchbox input{background:#0e1929;color:var(--hb-text);border-color:var(--hb-stroke)}
html[data-theme=dark] body.hb-site .adbox{background:var(--hb-surface-soft);border-color:var(--hb-stroke)}html[data-theme=dark] body.hb-site .article-body blockquote,html[data-theme=dark] body.hb-site .share-strip button{background:#182e50;color:#d6e7ff;border-color:#2e5280}html[data-theme=dark] body.hb-site .site-footer{background:#080f1b}
.hb-home{overflow:hidden;isolation:isolate}
.hb-home .container{width:min(1240px,calc(100% - 64px))}
.hb-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:90;pointer-events:none;background:transparent}
.hb-progress span{height:100%;display:block;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--hb-accent),#7b6ef6,#25d3d0);box-shadow:0 0 16px var(--hb-accent)}
.hb-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 77% 37%,rgba(155,191,255,.31),transparent 43%),linear-gradient(135deg,#edf7ff 0%,#f9fbff 50%,#faf1ff 100%)}
html[data-theme=dark] .hb-hero{background:radial-gradient(ellipse at 78% 32%,rgba(54,84,168,.27),transparent 44%),linear-gradient(145deg,#0d1c36,#0a1323 57%,#1b1530)}
.hb-hero--mesh .hb-hero{background-image:linear-gradient(rgba(68,121,210,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(68,121,210,.06) 1px,transparent 1px),radial-gradient(at 80% 30%,#d8e9ff,#f9fbff 70%);background-size:38px 38px,38px 38px,auto}
html[data-theme=dark] .hb-hero--mesh .hb-hero{background-image:linear-gradient(rgba(129,177,239,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(129,177,239,.065) 1px,transparent 1px),radial-gradient(at 80% 30%,#213558,#0b1426 70%)}
.hb-hero--minimal .hb-hero{background:var(--hb-page)}
.hb-glow{pointer-events:none;position:absolute;border-radius:50%;filter:blur(3px);opacity:.8;animation:hb-float 13s ease-in-out infinite alternate}
.hb-glow--a{width:440px;height:440px;top:-220px;left:-180px;background:radial-gradient(circle,rgba(87,167,255,.22),transparent 70%)}.hb-glow--b{width:600px;height:600px;right:-280px;bottom:-280px;background:radial-gradient(circle,rgba(187,124,253,.16),transparent 70%);animation-delay:-5s}
.hb-hero-grid{min-height:min(800px,calc(100svh - 90px));display:grid;grid-template-columns:1fr .89fr;align-items:center;gap:48px;position:relative;padding-top:78px;padding-bottom:95px}
.hb-hero-copy{position:relative;z-index:2}.hb-kicker{color:var(--hb-accent);font-weight:800;letter-spacing:.19em;font-size:11px;text-transform:uppercase;display:inline-block}.hb-kicker-spark{font-size:17px;vertical-align:-1px;margin-right:7px}
.hb-hero h1{font-size:clamp(45px,5vw,83px);font-weight:900;line-height:1.09;letter-spacing:-.065em;margin:22px 0 25px;max-width:740px}.hb-hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--hb-accent),#776cec 75%,#23bab7);background-clip:text;-webkit-background-clip:text;color:transparent;white-space:normal}
.hb-hero-copy>p{font-size:clamp(16px,1.55vw,19px);line-height:1.86;color:var(--hb-muted);max-width:600px;margin:0 0 36px}
.hb-hero-actions{display:flex;gap:13px;align-items:center;flex-wrap:wrap}.hb-btn{font-size:14px;letter-spacing:.01em;padding:15px 24px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:13px;font-weight:800;transition:transform .22s,box-shadow .22s,background .22s;min-height:53px}
.hb-btn:hover{transform:translateY(-3px)}.hb-btn--primary{background:var(--hb-accent);color:#fff!important;box-shadow:0 14px 34px rgba(42,103,216,.23)}.hb-btn--primary:hover{box-shadow:0 20px 40px rgba(42,103,216,.34)}.hb-btn--ghost{color:var(--hb-text)!important;border:1px solid var(--hb-stroke);background:var(--hb-surface)}.hb-btn--light{background:#fff!important;color:#17345b!important}
.hb-hero-foot{display:flex;gap:32px;align-items:center;margin-top:84px;color:var(--hb-muted);font-size:10px;font-weight:800;letter-spacing:.16em}.hb-hero-sign{opacity:.6}.hb-hero-sign b{margin:0 8px;color:var(--hb-accent)}.hb-scroll-cue{display:inline-flex;gap:11px;align-items:center}.hb-scroll-cue i{width:20px;height:31px;border:1.5px solid var(--hb-muted);border-radius:13px;display:inline-block;position:relative}.hb-scroll-cue i:after{content:'';display:block;position:absolute;left:8px;top:5px;width:2px;height:7px;border-radius:2px;background:var(--hb-accent);animation:hb-scroll-dot 1.8s infinite}
.hb-hero-art{height:520px;position:relative;display:grid;place-items:center;transform:translate3d(var(--hb-pointer-x,0px),var(--hb-pointer-y,0px),0);transition:transform .3s ease-out;will-change:transform}
.hb-orbit{position:absolute;aspect-ratio:1;border:1px solid rgba(60,119,231,.15);border-radius:50%;animation:hb-spin 48s linear infinite}.hb-orbit--outer{width:100%;max-width:520px;background:conic-gradient(from 70deg,rgba(65,139,246,.09),transparent 33%,rgba(188,116,234,.11),transparent 65%)}.hb-orbit--inner{width:75%;max-width:390px;border-style:dashed;border-color:rgba(65,139,246,.25);animation-duration:30s;animation-direction:reverse}
.hb-art-core{height:275px;width:275px;border-radius:34%;background:linear-gradient(145deg,#2158c8,#498de9 45%,#947af1);box-shadow:0 30px 95px rgba(53,110,220,.3),inset 0 2px 25px rgba(255,255,255,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;transform:rotate(-12deg);animation:hb-float 7s ease-in-out infinite alternate;position:relative}
.hb-art-core strong{font-size:111px;font-weight:950;letter-spacing:-.15em;line-height:1;transform:rotate(12deg);padding-right:18px}.hb-art-core strong span{color:#f5bf79}.hb-art-core small,.hb-art-micro{letter-spacing:.2em;font-size:9px;font-weight:700;transform:rotate(12deg)}.hb-art-micro{opacity:.7;position:absolute;top:25px;left:34px}.hb-art-core small{font-size:8px;opacity:.75;margin:12px 0 0 -9px}
.hb-art-tag{position:absolute;z-index:1;background:color-mix(in srgb,var(--hb-surface) 87%,transparent);color:var(--hb-text);box-shadow:var(--hb-shadow);backdrop-filter:blur(14px);padding:14px 18px;border:1px solid var(--hb-stroke);border-radius:10px;font-size:10px;font-weight:900;letter-spacing:.11em}.hb-art-tag--top{top:61px;right:0;transform:rotate(7deg)}.hb-art-tag--bottom{bottom:63px;left:0;transform:rotate(-6deg)}
.hb-art-photo{height:min(470px,100%);width:88%;border-radius:34px;transform:rotate(-5deg);overflow:hidden;box-shadow:var(--hb-shadow);border:9px solid color-mix(in srgb,var(--hb-surface) 85%,transparent)}.hb-art-photo img{height:100%;width:100%;object-fit:cover}
.hb-section{padding:105px 0;position:relative;background:var(--hb-surface)}.hb-tone--soft{background:var(--hb-surface-soft)}.hb-tone--contrast{background:linear-gradient(135deg,#163963,#2363bc 68%,#6f63d9);color:#fff}.hb-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:41px}.hb-section-heading{max-width:790px}.hb-section h2{font-size:clamp(32px,3.9vw,56px);line-height:1.16;letter-spacing:-.055em;margin:13px 0 14px;font-weight:900}.hb-section-heading>p{max-width:700px;margin:0;color:var(--hb-muted);line-height:1.8;font-size:16px}.hb-tone--contrast .hb-kicker,.hb-tone--contrast .hb-section-heading>p{color:#d3e6ff}.hb-see-all{white-space:nowrap;font-size:13px;font-weight:850;color:var(--hb-accent);border-bottom:1px solid var(--hb-stroke);padding:0 0 7px;margin-bottom:5px}
.hb-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.hb-post-grid .story-card{height:100%;box-shadow:0 9px 23px rgba(24,61,110,.035);border-radius:18px}.hb-post-grid .story-info h2{font-size:20px}.hb-post-grid .story-info p{font-size:14px}.hb-post-grid .story-image{aspect-ratio:16/10}.hb-post-grid .story-card:hover{box-shadow:var(--hb-shadow);transform:translateY(-7px)}.hb-empty{padding:25px;border:1px dashed var(--hb-stroke);border-radius:15px;color:var(--hb-muted)}
.hb-features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.hb-feature{background:var(--hb-surface);border:1px solid var(--hb-stroke);padding:35px;border-radius:22px;min-height:285px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}.hb-feature:hover{transform:translateY(-5px);box-shadow:var(--hb-shadow)}.hb-feature-index{position:absolute;right:26px;top:21px;color:var(--hb-muted);opacity:.45;font-weight:900;font-size:12px;letter-spacing:.1em}.hb-feature-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;font-size:35px;color:var(--hb-accent);background:color-mix(in srgb,var(--hb-accent) 10%,var(--hb-surface));margin:0 0 29px}.hb-feature h3{font-size:23px;line-height:1.3;letter-spacing:-.035em;margin:0 0 12px}.hb-feature p{font-size:15px;line-height:1.8;color:var(--hb-muted);margin:0}
.hb-about{display:grid;grid-template-columns:.9fr 1fr;align-items:center;gap:8%;}.hb-about-art{min-height:365px;border-radius:25px;background:linear-gradient(125deg,#285cc9,#7f71e6 72%,#28c4bd);display:grid;place-items:center;overflow:hidden;box-shadow:var(--hb-shadow)}.hb-about-art>span{font-size:130px;font-weight:950;letter-spacing:-.15em;padding-right:30px;color:#fff}.hb-about-art>span span{color:#ffcf7b}.hb-about-art img{width:100%;height:365px;object-fit:cover}.hb-about-copy h3{font-size:clamp(30px,3.5vw,49px);letter-spacing:-.055em;line-height:1.17;margin:14px 0 19px}.hb-about-copy p{color:var(--hb-muted);line-height:1.85;max-width:550px;margin:0 0 25px}
.hb-section--cta{text-align:center;padding:110px 0}.hb-section--cta .hb-section-head{justify-content:center;margin-bottom:26px}.hb-section--cta .hb-section-heading{max-width:900px}.hb-section--cta .hb-section-heading>p{margin:auto}.hb-cta-mark{font-size:34px;color:#ffcb70;display:block;margin-bottom:27px}.hb-cta-inner{text-align:center}.hb-section--cta:not(.hb-tone--contrast) .hb-btn--light{background:var(--hb-accent)!important;color:#fff!important}.hb-section--cta:not(.hb-tone--contrast) .hb-cta-mark{color:var(--hb-accent)}
.hb-search-section{background:var(--hb-page);padding:76px 0 90px}.hb-search-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.hb-search-inner h2{font-size:clamp(26px,3vw,40px);letter-spacing:-.05em;margin:9px 0}.hb-search-inner form{display:flex;padding:6px;background:var(--hb-surface);border:1px solid var(--hb-stroke);border-radius:13px;width:min(100%,490px);box-shadow:var(--hb-shadow)}.hb-search-inner input{font:inherit;min-width:0;border:0;background:transparent;outline:none;padding:12px 16px;color:var(--hb-text);flex:1}.hb-search-inner button{border:0;border-radius:9px;padding:12px 17px;background:var(--hb-accent);color:#fff;font-weight:800;white-space:nowrap;cursor:pointer}.hb-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hb-rail{position:fixed;right:19px;top:50%;transform:translateY(-50%);z-index:24;display:flex;gap:18px;flex-direction:column;align-items:end}.hb-rail-item{display:flex;flex-direction:row-reverse;align-items:center;gap:10px}.hb-rail-dot{width:10px;height:10px;border-radius:20px;border:2px solid #8a9bb5;background:var(--hb-surface);transition:all .25s}.hb-rail-item.is-active .hb-rail-dot,.hb-rail-item:hover .hb-rail-dot{background:var(--hb-accent);border-color:var(--hb-accent);box-shadow:0 0 0 4px rgba(50,118,230,.17)}.hb-rail-label{font-size:11px;white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis;border:1px solid var(--hb-stroke);background:var(--hb-surface);padding:6px 9px;border-radius:7px;color:var(--hb-text);box-shadow:var(--hb-shadow);opacity:0;transform:translateX(7px);pointer-events:none;transition:opacity .2s,transform .2s}.hb-rail-item:hover .hb-rail-label,.hb-rail-item:focus-visible .hb-rail-label{opacity:1;transform:translateX(0)}
html.hb-motion .hb-home [data-reveal="fade"]{opacity:0;transition:opacity .8s ease}html.hb-motion .hb-home [data-reveal="slide"]{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}html.hb-motion .hb-home [data-reveal].is-visible{opacity:1;transform:none}
@keyframes hb-float{from{transform:translateY(-10px) rotate(-12deg)}to{transform:translateY(13px) rotate(-8deg)}}@keyframes hb-spin{to{transform:rotate(360deg)}}@keyframes hb-scroll-dot{0%{transform:translateY(0);opacity:1}80%,100%{transform:translateY(10px);opacity:0}}
@media(max-width:1200px){.hb-rail{display:none}.hb-hero-grid{gap:10px}.hb-home .container{width:min(1150px,calc(100% - 52px))}.hb-art-core{width:235px;height:235px}.hb-art-core strong{font-size:96px}}
@media(max-width:950px){.hb-hero-grid{grid-template-columns:1fr;min-height:0;gap:0;padding-top:80px;padding-bottom:46px}.hb-hero-art{height:360px;width:min(100%,480px);margin:35px auto 0}.hb-hero-foot{margin-top:40px}.hb-post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hb-section{padding:78px 0}.hb-features{grid-template-columns:1fr 1fr}.hb-search-inner{flex-direction:column;align-items:stretch;gap:10px}.hb-search-inner form{width:100%}}
@media(max-width:750px){body.hb-site .header-inner{flex-direction:row;align-items:center;flex-wrap:wrap}body.hb-site .main-nav{order:3;width:100%}.hb-header-actions{margin-left:0}.hb-home .container{width:calc(100% - 34px)}.hb-hero-grid{padding-top:54px;padding-bottom:28px}.hb-hero h1{font-size:clamp(43px,9vw,64px)}.hb-hero-copy>p{font-size:16px}.hb-hero-foot{margin-top:38px}.hb-hero-art{height:305px}.hb-orbit--outer{width:290px}.hb-orbit--inner{width:215px}.hb-art-core{width:170px;height:170px;border-radius:30%}.hb-art-core strong{font-size:70px}.hb-art-micro{font-size:6px;top:18px;left:20px}.hb-art-core small{font-size:6px}.hb-art-tag{font-size:8px;padding:10px 11px}.hb-art-tag--top{right:1px;top:22px}.hb-art-tag--bottom{bottom:19px}.hb-section{padding:66px 0}.hb-section-head{display:block;margin-bottom:26px}.hb-section h2{font-size:35px}.hb-section-heading>p{font-size:15px}.hb-see-all{display:inline-block;margin-top:16px}.hb-post-grid,.hb-features{grid-template-columns:1fr;gap:17px}.hb-feature{min-height:0;padding:27px}.hb-about{grid-template-columns:1fr;gap:25px}.hb-about-art{min-height:260px}.hb-about-art img{height:260px}.hb-about-art>span{font-size:100px}.hb-about-copy h3{font-size:34px}.hb-search-section{padding:55px 0}.hb-hero-actions .hb-btn{flex:1}.hb-hero-sign{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.hb-home *,.hb-home *::before,.hb-home *::after{animation:none!important;transition:none!important;transform:none!important}.hb-home [data-reveal]{opacity:1!important;visibility:visible!important}.hb-theme-toggle:hover{transform:none}}

.hb-ad-container{padding-top:25px;padding-bottom:25px}.hb-inline-ad{margin-top:30px}.hb-ad-container .adbox,.hb-inline-ad .adbox{background:var(--hb-surface);border-color:var(--hb-stroke)}

.hb-home[data-hb-effects="off"] .hb-glow,.hb-home[data-hb-effects="off"] .hb-orbit,.hb-home[data-hb-effects="off"] .hb-art-core,.hb-home[data-hb-effects="off"] .hb-scroll-cue i:after{animation:none!important}.hb-home[data-hb-effects="off"] .hb-hero-art{transition:none!important}
