/* TT CMS v2.0 — shared brand tokens + accessible glass / night contrast */
body.hb-site{--hb-accent:var(--tt-accent);--blue:var(--tt-accent);font-family:var(--tt-font),system-ui,sans-serif}
body.hb-site .tt-site-header{backdrop-filter:blur(28px) saturate(165%);-webkit-backdrop-filter:blur(28px) saturate(165%)}
.tt-site-header .tt-logo{max-width:min(220px,26vw);max-height:55px;object-fit:contain}
.tt20-user-link,.tt20-edit-link{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:none;min-width:42px;height:43px;border-radius:50px;border:1px solid var(--hb-stroke);background:color-mix(in srgb,var(--hb-surface) 78%,transparent);color:var(--hb-text);text-decoration:none!important;padding:0 12px;white-space:nowrap}
.tt20-user-link:hover,.tt20-edit-link:hover{border-color:var(--tt-accent);color:var(--tt-accent);transform:translateY(-1px)}
.tt20-edit-link{background:var(--tt-accent);border-color:transparent;color:white!important;font-size:12px;font-weight:800}
/* Social network identity colors, preserved in dark theme, accessible white glyphs */
body.hb-site .share-strip .tt-social,body.hb-site .tt-sharing .tt-social,html[data-theme=dark] body.hb-site .share-strip .tt-social,html[data-theme=dark] body.hb-site .tt-sharing .tt-social{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:43px;height:43px;padding:0;border-radius:50%;border:1px solid rgba(255,255,255,.28);color:#fff!important;background:var(--tt-social-bg,#4565b5)!important;box-shadow:0 5px 14px rgba(20,35,70,.12);transition:transform .18s,box-shadow .18s}
body.hb-site .tt-sharing .tt-social:hover{transform:translateY(-3px);box-shadow:0 9px 24px rgba(20,35,70,.25)}
.tt-social--facebook{--tt-social-bg:#1877f2}.tt-social--zalo{--tt-social-bg:#0068ff}.tt-social--messenger{--tt-social-bg:#0084ff}.tt-social--x{--tt-social-bg:#111827}.tt-social--linkedin{--tt-social-bg:#0a66c2}.tt-social--pinterest{--tt-social-bg:#bd081c}.tt-social--telegram{--tt-social-bg:#229ed9}.tt-social--whatsapp{--tt-social-bg:#128c4a}.tt-social--email{--tt-social-bg:#596d87}.tt-social--copy{--tt-social-bg:#7259ca}.tt-social--custom{--tt-social-bg:#5454a4}
body.hb-site .tt-sharing .tt-social svg{stroke:currentColor;fill:none;width:19px;height:19px}
html[data-theme=dark] body.hb-site .tt-sharing .tt-social--x{border-color:#586478;background:#1b1e25!important}
.tt20-contact{border-radius:24px;padding:clamp(18px,3vw,35px);margin:27px auto;max-width:720px;background:color-mix(in srgb,var(--hb-surface) 90%,transparent);border:1px solid var(--hb-stroke)}
.tt20-contact form{display:grid;gap:15px}.tt20-contact label{display:grid;gap:7px;font-weight:750;color:var(--hb-text)}
.tt20-contact input,.tt20-contact textarea{background:var(--hb-surface);color:var(--hb-text);border:1px solid var(--hb-stroke);border-radius:12px;min-height:48px;padding:12px;font:inherit;max-width:100%}
.tt20-contact textarea{min-height:135px}.tt20-contact .hb-btn{cursor:pointer;border:0}
.tt20-form-flash{position:relative;z-index:180;padding:14px 24px;text-align:center;background:#d6effc;color:#17516e;font-weight:750}
.tt20-loading{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 75% 25%,rgba(118,117,232,.32),transparent 42%),radial-gradient(circle at 10% 90%,rgba(19,179,202,.18),transparent 40%),#08152c;display:grid;place-items:center;transition:opacity .45s,visibility .45s;color:white}
.tt20-loading.tt20-hide{opacity:0;visibility:hidden;pointer-events:none}.tt20-loading-glass{width:min(520px,calc(100vw - 36px));border:1px solid #ffffff30;border-radius:32px;padding:clamp(30px,5vw,60px);background:rgba(255,255,255,.085);backdrop-filter:blur(28px) saturate(150%);text-align:center;box-shadow:0 25px 80px rgba(0,0,0,.25)}
.tt20-loading-logo{max-height:86px;max-width:200px;object-fit:contain;margin-bottom:12px}.tt20-loading-mark{color:#8fe3ff;letter-spacing:.23em;font-size:10px;font-weight:900}
.tt20-loading h2{font-size:clamp(30px,5vw,52px);margin:16px 0 7px;color:#fff}.tt20-loading p{font-size:15px;color:#c4d8f7;margin:0 0 30px}
.tt20-loading-bar{height:7px;background:rgba(255,255,255,.18);border-radius:10px;overflow:hidden;position:relative}.tt20-loading-bar i{position:absolute;inset:0;width:42%;border-radius:10px;background:linear-gradient(90deg,#27c6f0,#8b78f3,#ff95c0);animation:tt20-progress 1.3s ease-in-out infinite;box-shadow:0 0 16px #7c85f488}
.tt20-loading-hint{display:block;font-weight:700;letter-spacing:.15em;font-size:9px;color:#a0b6d8;margin-top:15px}.tt20-loading button{background:transparent;border:0;color:#d4e4fa;text-decoration:underline;cursor:pointer;margin-top:21px}
@keyframes tt20-progress{0%{transform:translateX(-100%)}50%{transform:translateX(100%)}100%{transform:translateX(240%)}}
@media(max-width:680px){.tt20-edit-link span{display:none}.tt20-edit-link{width:42px;padding:0}.tt20-user-link{width:42px;padding:0}.tt-site-header .tt-logo{max-width:36vw}}
@media(prefers-reduced-motion:reduce){.tt20-loading,.tt20-loading-bar i,.tt20-user-link,.tt20-edit-link{animation:none!important;transition:none!important}.tt20-loading-bar i{width:100%;transform:none!important}}

.article-body .ql-align-center{text-align:center}.article-body .ql-align-right{text-align:right}.article-body .ql-align-justify{text-align:justify}
.article-body .ql-size-small{font-size:.8em}.article-body .ql-size-large{font-size:1.4em}.article-body .ql-size-huge{font-size:2em}
.article-body .ql-indent-1{padding-left:2em}.article-body .ql-indent-2{padding-left:4em}.article-body .ql-indent-3{padding-left:6em}
.article-body .tt-img--small{width:min(100%,320px)}.article-body .tt-img--large{width:min(100%,800px)}.article-body .tt-img--full{width:100%}
