.footer{width:100vw;margin-top:4rem;padding:3.5rem 1.25rem 1.25rem;color:var(--text-primary);background:linear-gradient(180deg,rgba(10,14,39,.98),rgba(5,9,20,.99));border-top:1px solid var(--glass-border);position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0,var(--primary) 45%,var(--accent) 60%,transparent 100%)}.footer-inner{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(260px,1.15fr) minmax(250px,.85fr) minmax(300px,1fr);grid-gap:2rem;gap:2rem;align-items:start}.footer-brand,.footer-contact-panel,.footer-social-panel{min-width:0}.footer-kicker{margin:0 0 .5rem;color:var(--primary-hover);font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:0}.footer-brand h2{margin:0;max-width:460px;color:#fff;font-size:2rem;line-height:1.15;letter-spacing:0}.footer-description{max-width:500px;margin:1rem 0 1.25rem;color:var(--text-secondary);font-size:.98rem}.footer-policy-link{display:inline-flex;align-items:center;gap:.5rem;min-height:42px;padding:.6rem .85rem;border-radius:8px;color:#fff;background:hsla(0,0%,100%,.06);border:1px solid var(--glass-border);font-weight:700;text-decoration:none;transition:transform var(--transition-fast),border-color var(--transition-fast),background var(--transition-fast)}.footer-policy-link:hover{color:#fff;transform:translateY(-1px);border-color:rgba(129,140,248,.5);background:hsla(0,0%,100%,.1)}.footer-contact-panel h3,.footer-social-panel h3{margin:0 0 1rem;color:#fff;font-size:1.1rem;font-weight:800}.footer-section-heading p{margin:-.5rem 0 1rem;color:var(--text-muted);font-size:.92rem}.footer-contact-list{display:grid;grid-gap:.75rem;gap:.75rem}.footer-contact-row{min-height:58px;display:flex;align-items:center;gap:.85rem;padding:.75rem;border-radius:8px;color:var(--text-secondary);background:hsla(0,0%,100%,.045);border:1px solid var(--glass-border);text-decoration:none;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast)}.footer-contact-row>svg{flex:0 0 auto;width:22px;height:22px;color:var(--primary-hover)}.footer-contact-row span{min-width:0;display:grid;grid-gap:.1rem;gap:.1rem}.footer-contact-row strong{color:#fff;font-size:.9rem}.footer-contact-row small{overflow-wrap:anywhere;color:var(--text-secondary);font-size:.85rem}.footer-contact-row:hover{color:#fff;transform:translateY(-1px);border-color:rgba(129,140,248,.48);background:hsla(0,0%,100%,.08)}.footer-social-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.footer-social-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.65rem .9rem;border-radius:8px;color:#fff;font-weight:800;text-decoration:none;border:1px solid hsla(0,0%,100%,.16);transition:transform var(--transition-fast),filter var(--transition-fast)}.footer-social-button svg{width:20px;height:20px}.footer-social-button:hover{color:#fff;transform:translateY(-1px);filter:brightness(1.05)}.footer-social-button.facebook{background:#1877f2}.footer-social-button.discord{background:#5865f2}.footer-social-button.zalo{background:#0068ff}.footer-bottom{width:min(1180px,100%);margin:2rem auto 0;padding-top:1.25rem;border-top:1px solid var(--glass-border);text-align:center}.footer-bottom p{margin:0;color:var(--text-muted);font-size:.875rem}@media screen and (max-width:980px){.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media screen and (max-width:680px){.footer{padding:2.5rem 1rem 1rem}.footer-inner{grid-template-columns:1fr;gap:1.5rem}.footer-brand h2{font-size:1.6rem}.footer-social-actions{flex-direction:column}.footer-social-button{width:100%}}:root{--background:#0a0e27;--bg-color:#0a0e27;--bg-gradient:linear-gradient(135deg,#0a0e27,#1a1f3a 50%,#0f1419);--card-color:rgba(22,48,81,.6);--card-hover:rgba(30,60,100,.8);--foreground:#ededed;--primary:#6366f1;--primary-hover:#818cf8;--secondary:#8b5cf6;--accent:#ec4899;--text-primary:#fff;--text-secondary:#a1a1aa;--text-muted:#71717a;--border-color:hsla(0,0%,100%,.1);--shadow-sm:0 2px 8px rgba(0,0,0,.1);--shadow-md:0 4px 16px rgba(0,0,0,.2);--shadow-lg:0 8px 32px rgba(0,0,0,.3);--shadow-xl:0 16px 48px rgba(0,0,0,.4);--glass-bg:hsla(0,0%,100%,.05);--glass-border:hsla(0,0%,100%,.1);--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:300ms cubic-bezier(0.4,0,0.2,1);--transition-slow:500ms cubic-bezier(0.4,0,0.2,1)}@media(prefers-color-scheme:dark){:root{--background:#0a0e27;--foreground:#ededed}}html{scroll-behavior:smooth}body,html{max-width:100vw;height:100%;overflow-x:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:rgba(0,0,0,.2);border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary) 0,var(--secondary) 100%);border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--primary-hover) 0,var(--secondary) 100%);background-clip:padding-box}body{background:var(--bg-gradient);background-attachment:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--font-vietnamese),var(--font-geist-sans),"Inter","Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Noto Sans","Noto Sans Vietnamese",-apple-system,BlinkMacSystemFont,sans-serif;color:var(--text-primary);line-height:1.6;font-feature-settings:"liga","kern";text-rendering:optimizeLegibility}*{box-sizing:border-box;padding:0;margin:0}p{color:var(--text-primary);line-height:1.7}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-hover)}.container{flex-direction:row}.container,.container .user{display:flex;align-items:center;justify-content:center}.container .user{box-sizing:border-box}.container .user p{margin-bottom:0}.root-layout{display:flex;flex-direction:column;align-items:center;min-height:100vh;background:var(--bg-gradient);position:relative}.root-layout:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 50%,rgba(99,102,241,.1) 0,transparent 50%),radial-gradient(circle at 80% 80%,rgba(139,92,246,.1) 0,transparent 50%),radial-gradient(circle at 40% 20%,rgba(236,72,153,.05) 0,transparent 50%);pointer-events:none;z-index:0}.root-layout>*{position:relative;z-index:1}.root-layout .root-header{width:100vw;position:relative;z-index:100}@media(prefers-color-scheme:dark){html{color-scheme:dark}}li{color:var(--text-primary)}.spinner-container{display:flex;justify-content:center;align-items:center;height:200px;width:100%;margin:0 auto}.spinner-container .spinner{border:4px solid rgba(99,102,241,.2);border-top:4px solid var(--primary);border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;box-shadow:0 0 20px rgba(99,102,241,.3)}.maintenance-page{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:32px 16px}.maintenance-panel{width:min(960px,100%);display:grid;grid-template-columns:minmax(220px,360px) minmax(0,1fr);align-items:center;grid-gap:32px;gap:32px;padding:32px;border:1px solid var(--glass-border);border-radius:8px;background:rgba(10,14,39,.82);box-shadow:var(--shadow-xl)}.maintenance-image{width:100%;max-width:320px;justify-self:center;margin:0}.maintenance-content{display:flex;flex-direction:column;gap:16px}.maintenance-eyebrow{margin:0;color:var(--primary-hover);font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:0}.maintenance-content h1{margin:0;color:var(--text-primary);font-size:clamp(2rem,5vw,3.5rem);line-height:1.1;letter-spacing:0}.maintenance-message{margin:0;max-width:560px;color:var(--text-secondary);font-size:1.05rem}.maintenance-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.maintenance-contact{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-radius:8px;color:#fff;font-weight:700;border:1px solid hsla(0,0%,100%,.16);box-shadow:var(--shadow-md)}.maintenance-contact:hover{color:#fff;transform:translateY(-1px)}.maintenance-contact.facebook{background:#1877f2}.maintenance-contact.discord{background:#5865f2}.maintenance-contact.zalo{background:#0068ff}@media(max-width:768px){.maintenance-panel{grid-template-columns:1fr;text-align:center;padding:24px 18px}.maintenance-image{max-width:220px}.maintenance-actions{justify-content:center}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.pagination{width:100%;display:flex;flex-direction:row;justify-content:center;align-items:center;text-align:center;margin-top:2rem;gap:.5rem}.pagination span{margin-top:.5em;color:var(--text-primary);font-weight:500}.pagination button{min-width:70px;padding:10px 16px;background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.pagination button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--primary-hover) 0,var(--secondary) 100%)}.pagination button:disabled{color:var(--text-muted);background:hsla(0,0%,100%,.1);cursor:not-allowed;opacity:.5}.announcement{color:#fff;width:100%;background:linear-gradient(135deg,rgba(99,102,241,.9),rgba(139,92,246,.9));font-weight:600;font-family:var(--font-geist-sans);padding:.75rem 0;box-shadow:var(--shadow-md);position:relative;overflow:hidden}.announcement:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);animation:shine 3s infinite}@keyframes shine{0%{left:-100%}to{left:100%}}.modal .modal-content{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:var(--shadow-xl)}.modal .modal-content,.modal .modal-header{background:rgba(10,14,39,.98)!important;color:var(--text-primary)!important}.modal .modal-header{border-bottom:1px solid var(--glass-border)}.modal .modal-header .modal-title{color:var(--text-primary)!important;font-weight:700}.modal .modal-header .btn-close{filter:invert(1) grayscale(100%) brightness(200%);opacity:.8;transition:opacity var(--transition-fast)}.modal .modal-header .btn-close:hover{opacity:1}.modal .modal-body{background:rgba(10,14,39,.98)!important}.modal .modal-body,.modal .modal-body .form-control,.modal .modal-body .form-label,.modal .modal-body>div:not(.quill):not(.ql-container),.modal .modal-body>h1:not(.ql-editor),.modal .modal-body>h2:not(.ql-editor),.modal .modal-body>h3:not(.ql-editor),.modal .modal-body>h4:not(.ql-editor),.modal .modal-body>h5:not(.ql-editor),.modal .modal-body>h6:not(.ql-editor),.modal .modal-body>label,.modal .modal-body>p:not(.ql-editor),.modal .modal-body>span:not(.ql-editor){color:var(--text-primary)!important}.modal .modal-body .form-control{background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important}.modal .modal-body .form-control::placeholder{color:var(--text-muted)!important}.modal .modal-body .form-control:focus{background:hsla(0,0%,100%,.08)!important;border-color:var(--primary)!important;color:var(--text-primary)!important;box-shadow:0 0 0 .2rem rgba(99,102,241,.25)!important}.modal .modal-body .form-select{background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;color:var(--text-primary)!important}.modal .modal-body .form-select:focus{background:hsla(0,0%,100%,.08)!important;border-color:var(--primary)!important;box-shadow:0 0 0 .2rem rgba(99,102,241,.25)!important}.modal .modal-footer{background:rgba(10,14,39,.98)!important;border-top:1px solid var(--glass-border);color:var(--text-primary)!important}.modal .btn.btn-primary{background:linear-gradient(135deg,var(--primary) 0,var(--secondary) 100%);border:none;color:#fff;font-weight:600;transition:all var(--transition-base);box-shadow:var(--shadow-sm)}.modal .btn.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);background:linear-gradient(135deg,var(--primary-hover) 0,var(--secondary) 100%)}.modal .btn.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal .btn.btn-secondary{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);transition:all var(--transition-base)}.modal .btn.btn-secondary:hover{background:hsla(0,0%,100%,.1);border-color:var(--primary);color:var(--text-primary)}.modal .btn.btn-link{color:var(--primary)!important;text-decoration:none}.modal .btn.btn-link:hover{color:var(--primary-hover)!important;text-decoration:underline}.modal .btn.btn-outline-secondary{background:transparent;border:1px solid var(--glass-border);color:var(--text-primary)}.modal .btn.btn-outline-secondary:hover{background:var(--glass-bg);border-color:var(--primary);color:var(--text-primary)}.modal-backdrop{background-color:rgba(0,0,0,.7)!important;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.Toastify__toast-container{z-index:120000000!important;width:100%;max-width:min(90vw,420px);left:50%!important;transform:translateX(-50%)!important;padding:0;bottom:100px!important;top:auto!important}.Toastify__toast{border-radius:12px;box-shadow:var(--shadow-md)}.Toastify__toast-body{font-family:var(--font-vietnamese),var(--font-geist-sans),"Inter",sans-serif}.modal-body .ql-container{border:none!important;color:var(--text-primary)!important;font-family:inherit!important}.modal-body .ql-container,.modal-body .ql-container.ql-bubble{background:transparent!important}.modal-body .ql-container.ql-snow{background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;border-radius:8px}.modal-body .ql-editor{background:transparent!important;padding:0!important;font-family:inherit!important;line-height:1.7!important}.modal-body .ql-editor:before{color:var(--text-muted)!important}.modal-body .ql-editor b,.modal-body .ql-editor strong{font-weight:700!important}.modal-body .ql-editor em,.modal-body .ql-editor i{font-style:italic}.modal-body .ql-editor u{-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}.modal-body .ql-editor a{color:var(--primary)!important;text-decoration:underline!important}.modal-body .ql-editor a:hover{color:var(--primary-hover)!important}.modal-body .ql-editor blockquote{border-left:4px solid var(--primary)!important;color:var(--text-secondary)!important;padding-left:1rem!important;margin:1rem 0!important}.modal-body .ql-editor code{background:var(--glass-bg)!important;color:var(--primary)!important;padding:.2rem .4rem!important;border-radius:4px!important;font-family:var(--font-geist-mono),monospace!important}.modal-body .ql-editor pre{background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;border-radius:8px!important;padding:1rem!important;overflow-x:auto!important}.modal-body .ql-editor pre code{background:transparent!important;padding:0!important}.modal-body .ql-editor ol,.modal-body .ql-editor ul{padding-left:1.5rem!important}.modal-body .ql-editor ol li,.modal-body .ql-editor ul li{margin:.5rem 0!important}.modal-body .ql-editor img{max-width:100%!important;height:auto!important;border-radius:8px!important;margin:1rem 0!important}.modal-body .ql-editor.ql-bubble{padding:0!important}.modal-body .ql-toolbar{background:var(--glass-bg)!important;border:1px solid var(--glass-border)!important;border-bottom:none!important;border-radius:8px 8px 0 0;padding:.5rem!important}.modal-body .ql-toolbar .ql-stroke{stroke:var(--text-primary)!important}.modal-body .ql-toolbar .ql-fill{fill:var(--text-primary)!important}.modal-body .ql-toolbar .ql-picker-label{color:var(--text-primary)!important}.modal-body .ql-toolbar .ql-picker-options{background:rgba(10,14,39,.98)!important;border:1px solid var(--glass-border)!important;border-radius:8px!important;box-shadow:var(--shadow-lg)!important}.modal-body .ql-toolbar .ql-picker-options .ql-picker-item{color:var(--text-primary)!important}.modal-body .ql-toolbar .ql-picker-options .ql-picker-item:hover{background:var(--glass-bg)!important;color:var(--primary-hover)!important}.modal-body .ql-toolbar button.ql-active,.modal-body .ql-toolbar button:focus,.modal-body .ql-toolbar button:hover{background:var(--glass-bg)!important;border-radius:4px!important}.modal-body .ql-toolbar.ql-bubble{background:rgba(10,14,39,.95)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid var(--glass-border)!important;border-radius:8px!important;padding:.5rem!important;box-shadow:var(--shadow-md)!important}.modal-body .ql-toolbar.ql-bubble .ql-stroke{stroke:var(--text-primary)!important}.modal-body .ql-toolbar.ql-bubble .ql-fill{fill:var(--text-primary)!important}.modal-body .quill{background:transparent!important}.modal-body .quill.ql-bubble .ql-editor{padding:0!important}