@font-face{font-family:Vietnam;src:url(/assets/BeVietnamPro-Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Vietnam;src:url(/assets/BeVietnamPro-Bold.woff2)format("woff2");font-weight:700;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fdfaf6;--ink:#341a4a;--muted:#786a76;--rose:#7c495f;--line:#e9dcd6;--glass:#fffaf7d9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font:15px/1.65 Vietnam,system-ui,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}header{justify-content:space-between;align-items:center;gap:24px;max-width:1440px;margin:auto;padding:28px 5%;display:flex}.brand{letter-spacing:-1.8px;align-items:center;gap:9px;font-size:30px;font-weight:700;display:flex}.brand img{width:38px;height:38px}nav{align-items:center;gap:24px;font-size:13px;display:flex}nav form{margin:0}main{max-width:1240px;min-height:calc(100svh - 210px);margin:auto;padding:35px 5% 100px}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-2px;margin-bottom:28px;font-size:clamp(36px,4.4vw,62px);line-height:1.15}h2{letter-spacing:-.7px;font-size:26px;line-height:1.3}h3{margin-top:24px;font-size:18px}em{color:var(--rose);font-style:normal}.eyebrow{letter-spacing:2px;color:var(--rose);margin-bottom:25px;font-size:10px;font-weight:700}.muted,.intro>p:not(.eyebrow){color:var(--muted)}.intro>p{max-width:420px}.auth-shell{grid-template-columns:1fr 420px;align-items:center;gap:70px;min-height:65svh;display:grid}.panel{border:1px solid var(--line);background:var(--glass);border-radius:26px;padding:30px;box-shadow:0 14px 50px #63453b07}.auth-card{padding:38px}.auth-card h2{font-size:27px}.auth-card .eyebrow{margin-bottom:16px}.narrow{max-width:540px;margin:35px auto}.narrow h1{font-size:43px}label{margin:18px 0 0;font-size:12px;display:block}input,textarea{width:100%;color:var(--ink);font:inherit;background:#fffdfb;border:1px solid #dfd1cd;border-radius:11px;min-width:0;margin-top:7px;padding:13px 14px;font-size:14px;display:block}textarea{resize:vertical;min-height:85px}input:focus,textarea:focus{outline-offset:2px;outline:2px solid #ab859576}button,.button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1px solid #d6beb6;border-radius:13px;justify-content:center;align-items:center;gap:12px;padding:12px 18px;font-size:13px;font-weight:700;transition:background .2s,box-shadow .2s;display:inline-flex}button:hover,.button:hover{background:#f0e4df;text-decoration:none;box-shadow:0 3px 15px #7c495f15}.primary{background:var(--ink);color:#fffaf6;border-color:var(--ink)}.primary:hover{background:var(--rose);border-color:var(--rose)}form>.primary{margin-top:24px}.auth-card form>.primary,.narrow form>.primary{justify-content:space-between;width:100%}.quiet{border-color:#0000;padding:7px 11px}.danger{color:#973650}.small{color:var(--muted);margin-top:18px;font-size:11px}.subtle{text-underline-offset:4px;margin-top:22px;font-size:12px;text-decoration:underline;display:inline-block}.notice{color:#34523a;background:#e9eee8;border-radius:13px;padding:15px 20px;font-size:13px}.error{color:#802e36;background:#f5e5e3}.page-title{max-width:700px;padding:25px 0 35px}.grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:24px;display:grid}.space-card{flex-direction:column;min-height:210px;transition:transform .2s;display:flex}.space-card:hover{text-decoration:none;transform:translateY(-3px)}.space-card span{margin-top:auto;font-size:12px;font-weight:700}.space-card p,.card-content p{color:var(--muted);font-size:13px}.demo-card{padding:0;overflow:hidden}.cover{object-fit:cover;width:100%;height:190px;display:block}.abstract{background:radial-gradient(at 20% 20%,#efd2b5,#0000 70%),linear-gradient(130deg,#d9c6d2,#ede6e0);justify-content:center;align-items:center;display:flex}.abstract span{color:#fff9f5;font-size:60px}.card-content{padding:28px}.section-nav{margin-bottom:40px}section[id]{margin-top:50px;scroll-margin-top:24px}.split{grid-template-columns:1fr 1fr;gap:45px;display:grid}.demo-admin{margin-top:24px}.check{align-items:center;gap:9px;display:flex}.check input{width:auto;margin:0}fieldset{border:1px solid var(--line);border-radius:12px;margin:18px 0}legend{font-size:12px}.members{padding:0;list-style:none}.members li{border-bottom:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;font-size:12px;display:flex}.members small{color:var(--muted);display:block}.version{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:15px;padding:18px 0;font-size:12px;display:flex}.version>span{flex:1}.version strong{color:var(--rose);display:block}.qr{background:#fff;border-radius:18px;padding:18px;display:inline-block}.qr svg{width:180px;height:180px}.codes{font-size:16px}.orbit{border:1px solid #d6b9ac;border-radius:50%;width:260px;height:135px;margin:55px 0 0 20px;position:relative;transform:rotate(-16deg);box-shadow:0 0 45px #eacaac20,inset 0 0 30px #eacaac30}.orbit:before,.orbit:after{content:"";border:1px solid #dcc7bd;border-radius:50%;position:absolute;inset:15px}.orbit:after{border-color:#bea2b2;inset:30px}.orbit span{background:radial-gradient(circle at 30% 25%,#f6e4d8,#ac8396 70%,#5e3d62);border-radius:50%;width:56px;height:56px;position:absolute;top:28px;left:96px;box-shadow:0 18px 28px #75506622}details{margin-top:25px}summary{cursor:pointer;font-size:12px}code{overflow-wrap:anywhere}footer{border-top:1px solid var(--line);max-width:1440px;color:var(--muted);justify-content:space-between;gap:20px;margin:auto;padding:25px 5%;font-size:11px;display:flex}ul{padding-left:20px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--rose);outline-offset:4px}@media (width<=800px){header{align-items:flex-start;padding:20px 6%}nav{flex-wrap:wrap;justify-content:flex-end;gap:10px}.brand{font-size:25px}.brand img{width:30px;height:30px}.auth-shell{grid-template-columns:1fr;gap:24px}.intro{padding-top:10px}.intro h1{font-size:40px}.orbit{display:none}main{padding:15px 6% 65px}.auth-card{padding:26px}.split{grid-template-columns:1fr;gap:16px}.panel{padding:24px}.demo-card{padding:0}footer{flex-direction:column}.page-title{padding-top:30px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}body{font-size:16px}label,button,.button,nav,.small,.subtle,.members li,.version,summary{font-size:14px}input,textarea,select{font-size:16px}form>fieldset{border:0;min-width:0;margin:0;padding:0}form>fieldset>.primary{margin-top:24px}button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.auth-card form>fieldset>.primary{width:100%}.space-selector{max-width:440px;margin-bottom:32px}select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffdfb;border-radius:11px;margin-top:8px;padding:12px;font-family:inherit}.admin-section{border-top:1px solid var(--line);margin-top:72px;padding-top:32px}.admin-section .panel{min-width:0}.version small{color:var(--muted);display:block}details[open]{padding-bottom:24px}details>summary{border-bottom:1px solid var(--line);padding:14px 0;font-weight:700}.qr{max-width:100%;height:auto;display:block}.cover{background:#eaded7}.notice{overflow-wrap:anywhere}.members li,.version{gap:12px}.members button,.version button{padding:8px 10px}.card-content h2{font-size:23px}@media (width<=800px){.auth-shell{min-height:0}.intro{margin-bottom:20px}header nav{font-size:13px}.panel{border-radius:22px}}.code-entry .auth-shell{flex-direction:column;gap:46px;min-height:0;display:flex}.code-entry .intro{text-align:center;max-width:680px}.code-entry .intro h1{letter-spacing:-.05em;margin-bottom:26px;font-size:clamp(42px,5vw,68px);line-height:1.08}.code-entry .intro>p{max-width:540px;margin-inline:auto}.code-entry .intro .eyebrow{margin-bottom:24px}.code-entry .auth-card{background:linear-gradient(145deg,#ffffffc9,#f6e8df69);border:1px solid #e7d7cc;border-radius:30px;width:min(100%,510px);padding:34px 38px 38px;box-shadow:0 18px 65px #7c495f0a,inset 0 1px #fff}.code-entry .auth-card>p:not(.eyebrow){color:#74606e;font-size:14px;line-height:1.65}.code-entry .auth-card h2{margin-bottom:12px}.code-entry .auth-card input{text-align:center;letter-spacing:.12em;text-transform:uppercase;background:#fffdf9b3;border-radius:14px;padding:16px}.code-entry .auth-card .primary{border-radius:14px;min-height:52px}.code-entry .small{text-align:center}.client-home .page-title{padding-bottom:18px}.client-home .page-title h1{margin-bottom:20px}.client-home .grid{margin-top:32px}.client-home .demo-card{background:linear-gradient(140deg,#ffffffc9,#f8ede48c);border-color:#e7d7cc;transition:border-color .2s,box-shadow .2s;box-shadow:0 14px 40px #341a4a06}.client-home .demo-card:hover{border-color:#b892a0;box-shadow:0 18px 45px #341a4a0c}.demo-category{color:var(--rose);letter-spacing:.16em;padding:30px 30px 0;font-size:10px;font-weight:700}.client-home .card-content{padding:26px 30px 30px}.client-home .card-content p{max-width:60ch;font-size:15px;line-height:1.7}button:focus-visible,a:focus-visible,select:focus-visible{outline-offset:4px;outline:2px solid #7c495f}@media (width<=650px){.code-entry{padding-top:28px;padding-bottom:60px}.code-entry .auth-shell{gap:30px}.code-entry .auth-card{padding:28px 24px}.code-entry .intro{margin-bottom:0}.code-entry .intro .eyebrow{letter-spacing:.17em;font-size:9px}.code-entry .intro h1{font-size:44px}}@media (prefers-reduced-motion:reduce){.client-home .demo-card{transition:none}}.portal-hostess{pointer-events:none;flex:none;width:240px;height:280px;position:relative}.portal-hostess canvas,.portal-hostess-static{width:100%;height:100%;position:absolute;inset:0}.portal-hostess-static{background-position:50% 74%;background-repeat:no-repeat;background-size:425%}.portal-hostess canvas{opacity:0}.portal-hostess[data-render="3d"] canvas{opacity:1}.portal-hostess[data-render="3d"] .portal-hostess-static{visibility:hidden}.portal-hostess[data-render="3d"]:after{content:"";filter:blur(6px);background:#7c495f16;border-radius:50%;width:48%;height:5%;position:absolute;bottom:8%;left:26%}.code-entry{max-width:1080px;padding-top:60px}.code-entry .auth-shell{grid-template-columns:300px minmax(0,460px);justify-content:center;align-items:center;gap:54px;min-height:520px;display:grid}.hostess-intro{justify-content:center;align-items:center;display:flex}.code-entry .auth-card{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}.code-entry .auth-card h1{letter-spacing:-1.4px;max-width:15ch;margin:0 0 18px;font-size:clamp(30px,3.2vw,42px);line-height:1.18}.code-entry .auth-card>p:not(.eyebrow){max-width:37ch;font-size:16px}.code-entry .auth-card input{text-align:left;background:#ffffff8a;border-color:#dbc9c7}.code-entry .auth-card .primary{border-radius:12px}.client-home{max-width:1100px;padding-top:34px}.client-home .hostess-welcome{border-bottom:1px solid var(--line);align-items:center;gap:38px;padding:0 0 34px;display:flex}.client-home .page-title{min-width:0;padding:0}.client-home .page-title h1{overflow-wrap:anywhere;margin:0 0 12px;font-size:clamp(32px,4vw,48px)}.client-home .page-title .eyebrow{margin-bottom:14px}.client-home .page-title .muted{margin-bottom:18px}.hostess-caption{color:var(--muted);max-width:44ch;margin:0;font-size:15px;line-height:1.75}.client-home .space-selector{margin-top:28px}.client-home .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:36px}.client-home .demo-card{background:#fffdfa99;border-radius:18px;flex-direction:column;min-width:0;padding:26px;display:flex;box-shadow:0 6px 24px #341a4a04}.client-home .demo-card .demo-category{margin-bottom:18px;padding:0;font-size:9px}.client-home .card-content{flex-direction:column;flex:1;align-items:flex-start;padding:0;display:flex}.client-home .card-content h2{overflow-wrap:anywhere;margin:0 0 12px;font-size:24px}.client-home .card-content p{overflow-wrap:anywhere;margin:0 0 24px;font-size:14px;line-height:1.75}.client-home .card-content button{text-align:left;min-height:46px;margin-top:auto;font-size:13px}.client-home .demo-card .cover{object-fit:cover;background:0 0;border-radius:9px;width:88px;height:64px;margin-bottom:18px}.client-home .empty-catalog{color:var(--muted);grid-column:1/-1;margin:0;padding:18px 0}@media (width<=700px){.portal-hostess{width:120px;height:140px}.code-entry{padding-top:16px;padding-bottom:56px}.code-entry .auth-shell{gap:20px;min-height:0;display:flex}.code-entry .auth-card{max-width:440px;padding:0}.code-entry .auth-card h1{max-width:none;font-size:30px}.code-entry .auth-card form{margin-top:24px}.client-home .hostess-welcome{align-items:flex-start;gap:16px;padding-bottom:26px}.client-home .page-title h1{font-size:32px}.client-home .page-title .eyebrow{letter-spacing:1px;font-size:8px}.hostess-caption{font-size:14px}.client-home .grid{grid-template-columns:1fr;margin-top:26px}.client-home .demo-card{padding:24px}}@media (width<=390px){.client-home .hostess-welcome{flex-direction:column;gap:12px}}.code-entry .auth-shell{grid-template-columns:240px minmax(0,520px);align-items:start;gap:32px;padding-top:36px}.code-entry .hostess-intro{margin-top:24px}.code-entry .auth-card.hostess-bubble,.client-home .page-title.hostess-bubble{background:#fffaff;border:1px solid #ddcddc;border-radius:24px;min-width:0;padding:30px 34px;position:relative;box-shadow:0 10px 36px #341a4a06}.hostess-bubble:before{content:"";background:#fffaff;border-bottom:1px solid #ddcddc;border-left:1px solid #ddcddc;border-bottom-left-radius:4px;width:18px;height:18px;position:absolute;top:130px;left:-10px;transform:rotate(45deg)}.hostess-bubble .hostess-speaker{color:var(--muted);letter-spacing:-.4px;margin:0 0 16px;font-size:13px;font-weight:600}.code-entry .auth-card h1{letter-spacing:-.8px;max-width:none;font-size:28px}.code-entry .auth-card>p:not(.hostess-speaker){font-size:15px;line-height:1.75}.client-home .hostess-welcome{border-bottom:0;align-items:flex-start;gap:32px;padding-bottom:0}.client-home .hostess-welcome>.portal-hostess{margin-top:24px}.client-home .page-title.hostess-bubble{flex:1}.hostess-greeting{color:var(--muted);margin:0 0 4px;font-size:15px}.client-home .page-title h1{letter-spacing:-.9px;font-size:32px}.hostess-project{border-top:1px solid #341a4a12;margin-top:18px;padding-top:18px}.hostess-project p{overflow-wrap:anywhere;margin:0 0 12px;font-size:15px;line-height:1.75}.hostess-caption{max-width:none}.client-home .card-content h2{margin-bottom:20px}@media (width<=700px){.code-entry .auth-shell{align-items:center;gap:8px;padding-top:0}.code-entry .hostess-intro{margin-top:0}.client-home .hostess-welcome{flex-direction:column;align-items:center;gap:8px}.client-home .hostess-welcome>.portal-hostess{margin-top:0}.code-entry .auth-card.hostess-bubble,.client-home .page-title.hostess-bubble{border-radius:20px;width:100%;padding:24px}.hostess-bubble:before{top:-10px;left:calc(50% - 9px);transform:rotate(135deg)}.code-entry .auth-card h1{font-size:25px}}.code-entry,.client-home{max-width:1440px;padding:12px 4% 48px}.code-entry .auth-shell,.client-home .hostess-welcome{isolation:isolate;background:#8aafcf url(/assets/server-room-SCncaBeP.webp) 50%/cover no-repeat;border:1px solid #cfdae8;border-radius:30px;flex-direction:row;justify-content:flex-end;align-items:center;gap:0;min-height:640px;padding:64px 5%;display:flex;position:relative}.code-entry .hostess-intro,.client-home .hostess-welcome>.portal-hostess{margin:0;position:absolute;top:50%;left:29%;transform:translate(-50%,-53%)}.code-entry .portal-hostess,.client-home .hostess-welcome>.portal-hostess{width:350px;height:408px}.code-entry .auth-card.hostess-bubble,.client-home .page-title.hostess-bubble{color:#603655;background:#fffafef5;border:1px solid #d3bace;border-radius:18px;flex:none;width:48%;max-width:540px;margin:0;padding:26px 28px;box-shadow:0 8px 30px #341a4a15}.hostess-bubble:before{display:none}.hostess-name{text-align:center;color:#341a4a;letter-spacing:-.055em;width:100%;font-size:1.4rem;font-weight:750;line-height:normal;position:absolute;bottom:22px;left:0}.hostess-bubble .hostess-speaker{color:#603655;letter-spacing:-.6px;margin:0 0 12px;font-size:16px}.code-entry .auth-card h1{letter-spacing:-.6px;margin-bottom:14px;font-size:23px;line-height:1.35}.code-entry .auth-card>p:not(.hostess-speaker),.hostess-project p,.hostess-caption,.hostess-greeting{color:#603655;font-size:16px;line-height:1.65}.code-entry .auth-card form{margin-top:22px}.code-entry .auth-card input{color:#341a4a;letter-spacing:.1em;background:#f3f7fc;border-color:#c7d6e5}.code-entry .auth-card .primary{background:#244967;border-radius:12px}.code-entry .auth-card .primary:hover:not(:disabled){background:#18374f}.client-home .page-title h1{color:#341a4a;font-size:30px}.client-home .page-title .muted{color:#786a76;margin-bottom:14px}.hostess-project{margin-top:14px;padding-top:14px}.client-home .grid{max-width:1100px;margin:32px auto 0}.client-home .demo-card{background:#f8fbfd;border-color:#d4dfe8}.client-home .demo-card:hover{border-color:#9ab8cf}.client-home .space-selector{max-width:1100px;margin:28px auto 0}.client-home .hostess-bubble{scrollbar-width:thin;max-height:680px;overflow-y:auto}.client-home .hostess-bubble h1{margin-bottom:4px;font-size:24px}.client-home .hostess-bubble .muted{margin:0 0 18px;font-size:13px}.hostess-demos{gap:24px;margin-top:22px;display:grid}.hostess-demo{background:#fff;border:1px solid #cad7e2;border-radius:14px;min-width:0;overflow:hidden;box-shadow:0 4px 14px #19394f08}.hostess-demo-toolbar{color:#40566a;background:#edf3f8;border-bottom:1px solid #dae3ec;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 18px;font-size:12px;font-weight:600;display:flex}.hostess-demo-badge{background:#f9fcff;border:1px solid #c9d8e5;border-radius:5px;padding:3px 8px;font-size:10px;font-weight:400}.hostess-demo-body{padding:20px}.hostess-demo-footer{background:#f8fafc;border-top:1px solid #e3eaf0;flex-direction:column;align-items:stretch;gap:12px;padding:16px 20px;display:flex}.hostess-demo-heading{align-items:center;gap:14px;display:flex}.hostess-demo-label{color:#786a76;letter-spacing:.08em;text-transform:uppercase;margin:0 0 5px;font-size:11px}.hostess-demo h2{color:#341a4a;letter-spacing:-.7px;overflow-wrap:anywhere;margin:0;font-size:25px;line-height:1.25}.hostess-demo-cover{object-fit:cover;border-radius:10px;flex:none;width:56px;height:56px}.hostess-demo-description{color:#4d5968;white-space:pre-line;overflow-wrap:anywhere;margin:14px 0 0;font-size:14px;line-height:1.75}.hostess-demo-open{text-align:left;background:#244967;border-radius:12px;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:48px;padding:13px 18px;font-size:14px;display:flex}.hostess-demo-open:hover:not(:disabled){background:#18374f}.hostess-demo-hint{color:#657486;margin:0;font-size:11px;line-height:1.5}@media (width<=900px) and (width>=701px){.code-entry .auth-shell,.client-home .hostess-welcome{padding:40px 4%}.code-entry .hostess-intro,.client-home .hostess-welcome>.portal-hostess{left:24%}.code-entry .portal-hostess,.client-home .hostess-welcome>.portal-hostess{width:260px;height:303px}.code-entry .auth-card.hostess-bubble,.client-home .page-title.hostess-bubble{width:54%}}@media (width<=700px){.code-entry,.client-home{padding:8px 12px 32px}.code-entry .auth-shell,.client-home .hostess-welcome{background-position:30%;border-radius:24px;flex-direction:column;justify-content:flex-start;min-height:0;padding:22px 16px 68px}.code-entry .hostess-intro,.client-home .hostess-welcome>.portal-hostess{margin:0;position:relative;top:auto;left:auto;transform:none}.code-entry .portal-hostess,.client-home .hostess-welcome>.portal-hostess{width:180px;height:210px}.code-entry .hostess-intro,.client-home .hostess-welcome>.portal-hostess{margin-bottom:18px}.hostess-name{font-size:23px;bottom:20px}.code-entry .auth-card.hostess-bubble,.client-home .page-title.hostess-bubble{width:100%;padding:22px}.code-entry .auth-card h1{font-size:22px}.hostess-project p,.hostess-caption,.hostess-greeting{font-size:15px}.client-home .grid{margin-top:24px}.client-home .hostess-bubble{max-height:none;overflow:visible}.hostess-demo h2{font-size:23px}}@media (forced-colors:active){.code-entry .auth-shell,.client-home .hostess-welcome{background:canvas}.code-entry .auth-card.hostess-bubble,.client-home .page-title.hostess-bubble{background:canvas;border-color:canvastext}}
