:root { --tb-bg:#0B0F19; --tb-surface:#1E293B; --tb-surface-2:#263447; --tb-line:rgba(245,158,11,.25); --tb-gold:#F59E0B; --tb-cream:#fff8e7; --tb-text:#edf6ff; --tb-muted:#b8c7d9; --tb-red:#fb7185; --tb-green:#5eead4; --tb-cyan:#06B6D4; --tb-violet:#8B5CF6; }
#thienban-app { display:none; }
body.tb-app-active { background:var(--tb-bg); color:var(--tb-text); }
body.tb-app-active #thienban-app { display:block; }
body.tb-app-active > :not(#thienban-app):not(#tb-page-curtain):not(#tb-palace-drawer-root):not(#tb-palace-reading):not(script):not(style) { display:none !important; }
/* Refined original homepage: a distinct celestial glass treatment while retaining the familiar layout. */
body:not(.tb-app-active){background:#060514}body:not(.tb-app-active) .sky{opacity:.72}body:not(.tb-app-active) .nav{top:14px;left:50%;width:min(1240px,calc(100% - 32px));height:64px;transform:translateX(-50%);border:1px solid rgba(230,199,120,.16);border-radius:18px;background:rgba(11,8,25,.54);box-shadow:0 12px 50px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}body:not(.tb-app-active) .nav .wrap{padding:0 18px}body:not(.tb-app-active) .nav-links a{transition:color .25s ease,transform .25s ease}body:not(.tb-app-active) .nav-links a:hover{transform:translateY(-1px);color:#f6d579}body:not(.tb-app-active) .nav-right .btn{border-radius:12px;background:linear-gradient(135deg,#f5d77e,#dcae46);box-shadow:0 8px 22px rgba(223,173,68,.2)}body:not(.tb-app-active) .hero{background:radial-gradient(circle at 80% 18%,rgba(75,56,130,.22),transparent 30%),radial-gradient(circle at 18% 82%,rgba(26,128,123,.13),transparent 30%),#080613}body:not(.tb-app-active) .hero:before{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(ellipse 48% 52% at 72% 47%,rgba(244,213,141,.1),transparent 68%),linear-gradient(105deg,rgba(7,5,16,.6) 3%,rgba(7,5,16,.2) 48%,rgba(7,5,16,.02) 76%)}body:not(.tb-app-active) #heroSao{filter:saturate(1.18) contrast(1.08);transform:perspective(1200px) rotateX(1deg) scale(1.035);transform-origin:66% 50%}body:not(.tb-app-active) .hero .wrap{z-index:3}body:not(.tb-app-active) .hero-in{padding:clamp(19px,3vw,34px);border-left:1px solid rgba(244,213,141,.35);background:linear-gradient(90deg,rgba(8,6,19,.22),transparent);text-shadow:0 2px 16px rgba(0,0,0,.45)}body:not(.tb-app-active) .hero h1{letter-spacing:-.015em}body:not(.tb-app-active) .hero h1 .han{background:linear-gradient(100deg,#f7dd91,#e6b95e 55%,#fff0bd);background-clip:text;-webkit-background-clip:text;color:transparent;text-shadow:none}body:not(.tb-app-active) .hero .sub{max-width:570px;color:#d5cee6}body:not(.tb-app-active) .hero-cta .btn{border-radius:12px;box-shadow:0 12px 30px rgba(224,173,67,.22);transition:transform .25s ease,box-shadow .25s ease}body:not(.tb-app-active) .hero-cta .btn:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(224,173,67,.34)}body:not(.tb-app-active) .hero-hint{border-color:rgba(244,213,141,.28);background:rgba(11,8,25,.62);box-shadow:0 8px 26px rgba(0,0,0,.2)}@media(max-width:960px){body:not(.tb-app-active) .nav{top:10px;width:calc(100% - 20px);border-radius:14px}body:not(.tb-app-active) .nav .wrap{padding:0 10px}body:not(.tb-app-active) .nav-burger{border-radius:10px;background:rgba(244,213,141,.1)}body:not(.tb-app-active) .hero-in{border-left:0;padding:18px;background:rgba(8,6,19,.16)}}
/* Cyber-Mystic palette: precise overrides for the public homepage. */
body:not(.tb-app-active){background:#0B0F19}body:not(.tb-app-active) .sky{opacity:.78}body:not(.tb-app-active) .nav{border-color:rgba(6,182,212,.24);background:rgba(11,15,25,.7);box-shadow:0 14px 46px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07)}body:not(.tb-app-active) .nav-links a:hover{color:#F59E0B}body:not(.tb-app-active) .nav-right .btn{background:linear-gradient(135deg,#FBBF24,#F59E0B);color:#15120b;box-shadow:0 9px 24px rgba(245,158,11,.24)}body:not(.tb-app-active) .hero{background:radial-gradient(circle at 75% 24%,rgba(6,182,212,.17),transparent 28%),radial-gradient(circle at 21% 78%,rgba(139,92,246,.15),transparent 31%),#0B0F19}body:not(.tb-app-active) .hero:before{background:radial-gradient(ellipse 48% 52% at 72% 47%,rgba(6,182,212,.12),transparent 68%),linear-gradient(105deg,rgba(11,15,25,.76) 3%,rgba(11,15,25,.3) 48%,rgba(11,15,25,.04) 76%)}body:not(.tb-app-active) #heroSao{filter:saturate(1.32) hue-rotate(8deg) contrast(1.08);mix-blend-mode:screen}body:not(.tb-app-active) .hero-in{border-left-color:rgba(6,182,212,.52);background:linear-gradient(90deg,rgba(11,15,25,.35),transparent)}body:not(.tb-app-active) .hero h1 .han{background:linear-gradient(100deg,#FCD34D,#F59E0B 52%,#06B6D4);background-clip:text;-webkit-background-clip:text;color:transparent}body:not(.tb-app-active) .hero-cta .btn{background:linear-gradient(135deg,#FBBF24,#F59E0B);box-shadow:0 13px 30px rgba(245,158,11,.28)}body:not(.tb-app-active) .hero-cta .btn:hover{box-shadow:0 18px 38px rgba(6,182,212,.24)}body:not(.tb-app-active) .hero-hint{color:#cceff7;border-color:rgba(6,182,212,.32);background:rgba(11,15,25,.72)}body:not(.tb-app-active) .hero-hint b{color:#F59E0B}
.tb-face-layout{margin-top:28px}.tb-face-drop{display:flex;min-height:145px;align-items:center;justify-content:center;flex-direction:column;gap:7px;border:1px dashed rgba(6,182,212,.55);border-radius:15px;background:linear-gradient(145deg,rgba(6,182,212,.08),rgba(139,92,246,.08));cursor:pointer;color:var(--tb-cream);text-align:center}.tb-face-drop span{font-size:1.45rem;color:var(--tb-gold)}.tb-face-drop small{color:var(--tb-muted);font-size:.76rem}.tb-face-preview{position:relative;display:grid;place-items:center;min-height:170px;margin:16px 0;border-radius:13px;overflow:hidden;background:rgba(11,15,25,.72);color:var(--tb-muted);border:1px solid var(--tb-line)}.tb-face-preview img{width:100%;height:240px;object-fit:cover}.tb-landmarks{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}.tb-face-preview>span{position:absolute;z-index:2;bottom:10px;left:50%;transform:translateX(-50%);padding:5px 9px;border-radius:999px;background:rgba(11,15,25,.76);font-size:.7rem;color:#d7f8ff;white-space:nowrap}.tb-face-preview>span:only-child{position:static;transform:none;background:none;font-size:.86rem}.tb-face-preview.is-scanning:after{content:"";position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,transparent 0,rgba(6,182,212,.42) 49%,transparent 52%);animation:tb-scan .9s ease-in-out infinite}.tb-observe-list{padding-left:18px;color:var(--tb-muted);line-height:1.9;font-size:.86rem}.tb-da-chat{max-width:900px;margin-top:28px}.tb-da-context{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:17px;padding:12px 14px;border:1px solid rgba(6,182,212,.2);border-radius:11px;background:rgba(6,182,212,.06);font-size:.82rem;color:var(--tb-muted)}.tb-da-context span{color:var(--tb-gold)}.tb-da-context b{color:var(--tb-cream);font-weight:600}.tb-local-note{margin:13px 0 0;color:var(--tb-muted);font-size:.77rem;line-height:1.5}@keyframes tb-scan{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}@media(max-width:560px){.tb-da-context{align-items:flex-start;flex-direction:column;gap:6px}.tb-face-preview img{height:210px}}
.tb-fun-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tb-fun-head>span{flex:none;padding:7px 10px;border:1px solid rgba(6,182,212,.25);border-radius:999px;background:rgba(6,182,212,.07);color:#bff5ff;font-size:.72rem}.tb-reading-detect,.tb-fun-grid article{border:1px solid rgba(245,158,11,.18);border-radius:13px;background:linear-gradient(145deg,rgba(30,41,59,.78),rgba(23,20,40,.82));padding:14px}.tb-reading-detect{margin:16px 0}.tb-reading-detect b,.tb-fun-grid b{display:block;margin-bottom:6px;color:var(--tb-gold);font-family:"Be Vietnam Pro",system-ui,sans-serif;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.tb-reading-detect p,.tb-fun-grid p{margin:0;color:var(--tb-muted);font-size:.88rem;line-height:1.65}.tb-vision-text{white-space:pre-line}.tb-fun-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tb-fun-actions{display:flex;align-items:center;gap:12px;margin-top:16px}.tb-fun-actions small{color:var(--tb-muted);font-size:.7rem;line-height:1.45}.tb-fun-actions .tb-button{flex:none;padding:10px 13px;font-size:.78rem}@media(max-width:700px){.tb-fun-head,.tb-fun-actions{align-items:flex-start;flex-direction:column}.tb-fun-grid{grid-template-columns:1fr}}
.tb-vision-text{margin-top:18px;white-space:normal}.tb-vision-overview{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;padding:12px 14px;border:1px solid rgba(6,182,212,.22);border-radius:14px;background:linear-gradient(110deg,rgba(6,182,212,.11),rgba(139,92,246,.08))}.tb-vision-overview span,.tb-reading-kicker{display:inline-flex;align-items:center;flex:none;color:#9ff6ff;font-size:.69rem;font-weight:800;letter-spacing:.1em}.tb-vision-overview p{margin:0;color:#c3cede;font-size:.78rem;line-height:1.55;text-align:right}.tb-reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.tb-reading-card{position:relative;overflow:hidden;min-width:0;padding:17px 17px 16px;border:1px solid rgba(148,163,184,.18);border-radius:14px;background:linear-gradient(140deg,rgba(30,41,59,.7),rgba(15,12,33,.88));box-shadow:inset 3px 0 0 var(--tb-card-accent),0 8px 22px rgba(0,0,0,.12)}.tb-reading-card:last-child{grid-column:1/-1}.tb-reading-card h3{margin:0 0 9px;color:#fcd34d;font-family:"Cormorant Garamond",serif;font-size:1.38rem;font-weight:700;line-height:1.05;text-shadow:0 0 18px rgba(245,158,11,.18)}.tb-reading-card p{margin:0;color:#cfd8e6;font-size:.9rem;line-height:1.7}.tb-reading-lead{display:block;margin-bottom:6px;color:#f6df9d;font-weight:650}.tb-inline-section{display:block;margin:22px 0 8px;color:#fcd34d;font-family:"Cormorant Garamond",serif;font-size:1.32rem;font-weight:700;line-height:1.1;text-shadow:0 0 18px rgba(245,158,11,.18)}.tb-inline-section:first-child{margin-top:0}.tb-tone-cyan{--tb-card-accent:#06B6D4}.tb-tone-violet{--tb-card-accent:#8B5CF6}.tb-tone-gold{--tb-card-accent:#F59E0B}.tb-tone-rose{--tb-card-accent:#ec6ea3}@media(max-width:700px){.tb-reading-grid{grid-template-columns:1fr}.tb-reading-card:last-child{grid-column:auto}.tb-vision-overview{flex-direction:column}.tb-vision-overview p{text-align:left}}
.tb-portal, .tb-portal * { box-sizing:border-box; }
.tb-portal { min-height:100vh; background:radial-gradient(circle at 20% 0%,#21163f 0,transparent 31rem),radial-gradient(circle at 80% 8%,#36213f 0,transparent 32rem),var(--tb-bg); color:var(--tb-text); font-family:"Be Vietnam Pro",system-ui,sans-serif; padding-bottom:3rem; }
.tb-shell { max-width:1200px; margin:0 auto; padding:0 24px; }
.tb-topbar { position:sticky; top:0; z-index:20; backdrop-filter:blur(18px); background:rgba(7,5,16,.88); border-bottom:1px solid var(--tb-line); }
.tb-topbar .tb-shell { min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.tb-brand { color:var(--tb-cream); text-decoration:none; font-family:"Noto Serif Display",Georgia,serif; font-size:1.35rem; letter-spacing:.03em; }
.tb-brand span { color:var(--tb-gold); }
.tb-nav { display:flex; align-items:center; gap:2px; flex-wrap:nowrap; justify-content:flex-end; white-space:nowrap; min-width:0; }
.tb-nav a,.tb-nav button { color:var(--tb-muted); text-decoration:none; background:transparent; border:0; padding:8px 7px; font:inherit; font-size:.76rem; cursor:pointer; border-radius:9px; white-space:nowrap; }
.tb-nav a:hover,.tb-nav a.is-active,.tb-nav button:hover { color:var(--tb-cream); background:rgba(230,199,120,.1); }
/* Unified navigation: inside pages use the same logo, spacing and visual language as the homepage. */
.tb-topbar{width:min(1860px,calc(100% - 112px));margin:8px auto 0;border:1px solid rgba(6,182,212,.24);border-radius:28px;background:rgba(11,15,25,.7);box-shadow:0 14px 46px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07)}
.tb-topbar .tb-shell{max-width:none;min-height:94px;padding:0 70px;gap:24px}
.tb-brand{display:flex;align-items:center;gap:15px;flex:0 0 auto;color:#fff8e7;font-size:1.65rem;font-weight:700;white-space:nowrap}
.tb-brand-mark{width:58px;height:58px;flex:none;filter:drop-shadow(0 0 12px rgba(226,181,72,.35))}
.tb-brand-title{font-family:"Noto Serif Display",Georgia,serif;font-weight:700;background:linear-gradient(180deg,#fffbd2 0%,#ffe27a 30%,#ffc52f 62%,#e89b09 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 24px rgba(255,198,52,.42)}
.tb-brand-title em{font-style:normal}
.tb-nav{flex:1;gap:9px;justify-content:flex-end;overflow:hidden}
.tb-nav a,.tb-nav button{color:#e1dcf8;padding:11px 12px;border:1px solid transparent;border-radius:999px;font-size:1rem;font-weight:600;transition:color .2s,background .2s,border-color .2s,box-shadow .2s,transform .2s}
.tb-nav a:hover,.tb-nav a.is-active,.tb-nav button:hover{color:#fff2bf;background:rgba(230,188,82,.12);border-color:rgba(230,188,82,.36);box-shadow:0 0 18px rgba(230,188,82,.12);transform:translateY(-1px)}
@media(max-width:1200px){.tb-topbar{width:calc(100% - 32px);border-radius:18px}.tb-topbar .tb-shell{padding:0 18px}.tb-brand-title{font-size:1.25rem}.tb-brand-mark{width:46px;height:46px}.tb-nav{gap:1px}.tb-nav a,.tb-nav button{padding:9px 7px;font-size:.8rem}}
@media(max-width:860px){.tb-topbar{width:calc(100% - 20px);margin-top:10px}.tb-topbar .tb-shell{min-height:64px;padding:0 10px}.tb-brand{gap:8px}.tb-brand-title{font-size:1.05rem}.tb-brand-mark{width:38px;height:38px}.tb-nav{gap:0}.tb-nav a{display:none}.tb-nav a:nth-child(1),.tb-nav a:nth-child(3),.tb-nav a:last-child{display:inline-flex;font-size:.68rem;padding:7px 5px}.tb-nav a:last-child{max-width:85px;overflow:hidden;text-overflow:ellipsis}}
.go-mo-home-toast{position:fixed;right:22px;bottom:104px;z-index:80;max-width:300px;padding:11px 14px;border:1px solid rgba(251,191,36,.35);border-radius:12px;background:rgba(21,16,39,.96);box-shadow:0 14px 32px rgba(0,0,0,.3);color:#fff4c9;font:700 .78rem/1.45 "Be Vietnam Pro",system-ui,sans-serif;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.go-mo-home-toast.is-visible{opacity:1;transform:translateY(0)}
.tb-count { min-width:22px; display:inline-grid; place-items:center; border-radius:999px; background:var(--tb-gold); color:#1a1028; font-size:.68rem; font-weight:800; padding:2px 6px; }
.tb-main { padding:44px 0 24px; }
.tb-eyebrow { color:var(--tb-gold); text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; font-weight:700; margin:0 0 12px; }
.tb-title { font:400 clamp(2rem,5vw,3.7rem)/1.06 "Noto Serif Display",Georgia,serif; margin:0; color:var(--tb-cream); max-width:760px; }
.tb-lead { color:var(--tb-muted); max-width:720px; font-size:1rem; line-height:1.75; margin:16px 0 0; }
.tb-grid { display:grid; gap:18px; }
.tb-grid.two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.tb-grid.three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.tb-card { border:1px solid var(--tb-line); background:linear-gradient(145deg,rgba(28,21,48,.94),rgba(12,9,24,.94)); border-radius:18px; padding:24px; box-shadow:0 20px 60px rgba(0,0,0,.18); }
.tb-card h2,.tb-card h3 { font-family:"Noto Serif Display",Georgia,serif; color:var(--tb-cream); margin:0 0 10px; font-weight:400; }
.tb-card h2 { font-size:1.5rem; }.tb-card h3 { font-size:1.17rem; }
.tb-card p { color:var(--tb-muted); line-height:1.65; }
.tb-form { margin-top:30px; }
.tb-field { display:flex; flex-direction:column; gap:8px; color:var(--tb-cream); font-size:.88rem; font-weight:600; }
.tb-field input,.tb-field select,.tb-field textarea { width:100%; background:rgba(4,3,10,.55); border:1px solid rgba(230,199,120,.22); color:var(--tb-text); border-radius:10px; padding:12px 13px; font:400 .95rem/1.4 "Be Vietnam Pro",sans-serif; outline:none; }
.tb-field input:focus,.tb-field select:focus,.tb-field textarea:focus { border-color:var(--tb-gold); box-shadow:0 0 0 3px rgba(230,199,120,.12); }
.tb-field textarea { min-height:105px; resize:vertical; }
.tb-choice { display:flex; gap:12px; align-items:center; color:var(--tb-muted); font-size:.9rem; }
.tb-choice input { accent-color:var(--tb-gold); }
.tb-actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:22px; }
.tb-button { border:1px solid var(--tb-gold); background:var(--tb-gold); color:#21152b; border-radius:10px; padding:12px 17px; cursor:pointer; font:700 .88rem/1 "Be Vietnam Pro",sans-serif; text-decoration:none; display:inline-flex; align-items:center; justify-content:center; gap:8px; }
.tb-button:hover { filter:brightness(1.08); transform:translateY(-1px); }.tb-button.ghost { background:transparent; color:var(--tb-gold); }.tb-button.soft { background:rgba(230,199,120,.1); color:var(--tb-cream); border-color:rgba(230,199,120,.28); }
.tb-steps { margin:31px 0 0; display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }.tb-step { padding:16px; border-left:2px solid var(--tb-gold); background:rgba(230,199,120,.05); border-radius:0 12px 12px 0; }.tb-step b { color:var(--tb-cream); display:block; margin-bottom:4px; }.tb-step small { color:var(--tb-muted); line-height:1.5; }
.tb-empty { text-align:center; padding:60px 20px; border:1px dashed var(--tb-line); border-radius:18px; color:var(--tb-muted); }.tb-empty strong { display:block; color:var(--tb-cream); font:400 1.5rem "Noto Serif Display",serif; margin-bottom:10px; }
.tb-chart-head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:22px; }.tb-chart-head p { margin:8px 0 0; color:var(--tb-muted); }.tb-badges { display:flex; flex-wrap:wrap; gap:8px; }.tb-badge { border:1px solid var(--tb-line); color:var(--tb-gold); padding:6px 9px; border-radius:999px; font-size:.74rem; }
.tb-chart { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); background:var(--tb-line); gap:1px; border:1px solid var(--tb-line); border-radius:14px; overflow:hidden; }.tb-palace { min-height:151px; background:linear-gradient(145deg,#110d20,#090711); padding:14px; position:relative; }.tb-palace strong { color:var(--tb-gold); font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }.tb-palace p { margin:10px 0 0; color:#e9e2ef; font-size:.82rem; line-height:1.55; }.tb-palace em { position:absolute; bottom:10px; right:12px; color:#82778f; font-style:normal; font-size:.72rem; }.tb-core { min-height:151px; background:radial-gradient(circle,#382a52,#100c20 68%); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:14px; }.tb-core b { color:var(--tb-cream); font-family:"Noto Serif Display",serif; font-size:1.25rem; }.tb-core span { color:var(--tb-muted); font-size:.78rem; margin-top:7px; }
.tb-summary { margin:22px 0; padding:18px; border-left:2px solid var(--tb-gold); background:rgba(230,199,120,.06); color:var(--tb-muted); line-height:1.75; }.tb-summary b { color:var(--tb-cream); }
.tb-analysis { margin-top:24px; }.tb-analysis article { padding:18px 0; border-bottom:1px solid var(--tb-line); }.tb-analysis article:last-child { border:0; }.tb-analysis h3 { margin:0 0 7px; }.tb-analysis p { margin:0; }.tb-source { display:inline-block; margin-top:9px; color:var(--tb-gold); font-size:.75rem; }
.tb-chat { margin-top:24px; }.tb-chat-log { min-height:155px; max-height:360px; overflow:auto; display:flex; flex-direction:column; gap:10px; margin:14px 0; }.tb-message { max-width:82%; padding:12px 14px; border-radius:14px; line-height:1.55; font-size:.9rem; }.tb-message.assistant { background:rgba(230,199,120,.09); border:1px solid rgba(230,199,120,.16); color:var(--tb-text); align-self:flex-start; }.tb-message.user { background:#33244b; align-self:flex-end; }.tb-chat-form { display:flex; gap:10px; align-items:stretch; }.tb-chat-form input { flex:1; min-width:0; background:rgba(4,3,10,.62); border:1px solid rgba(230,199,120,.26); color:var(--tb-text); border-radius:10px; padding:12px 13px; font:400 .95rem/1.4 "Be Vietnam Pro",sans-serif; outline:none; }.tb-chat-form input::placeholder{color:#8190a6}.tb-chat-form input:focus{border-color:var(--tb-gold);box-shadow:0 0 0 3px rgba(230,199,120,.12)}.tb-chat-form input:disabled{opacity:.72;cursor:wait}.tb-chat-form button:disabled{opacity:.7;cursor:wait}
.tb-audio { display:grid; grid-template-columns:1.2fr .8fr; gap:18px; align-items:stretch; margin-top:30px; }.tb-audio-stage { min-height:300px; display:flex; flex-direction:column; justify-content:end; position:relative; overflow:hidden; background:radial-gradient(circle at 50% 28%,#584269 0,#1b1132 27%,#080610 68%); }.tb-audio-stage:before { content:"✦   ·    ✦     ·  ✦"; position:absolute; inset:28px 16px auto; color:var(--tb-gold); letter-spacing:18px; opacity:.85; font-size:1.3rem; }.tb-audio-stage h2 { position:relative; font-size:2.2rem; }.tb-audio-stage p { position:relative; }.tb-audio-side { display:flex; flex-direction:column; justify-content:space-between; }.tb-wave { height:62px; display:flex; align-items:center; gap:5px; margin:18px 0; }.tb-wave i { width:4px; border-radius:9px; background:var(--tb-gold); opacity:.7; animation:tb-wave 1.1s ease-in-out infinite alternate; }.tb-wave i:nth-child(2n){animation-delay:.16s}.tb-wave i:nth-child(3n){animation-delay:.34s}@keyframes tb-wave{from{height:9px}to{height:50px}}
.tb-compat-result { margin-top:18px; padding:18px; background:rgba(135,211,160,.09); border:1px solid rgba(135,211,160,.2); border-radius:12px; }.tb-score { color:var(--tb-gold); font:400 3rem "Noto Serif Display",serif; }.tb-list { list-style:none; padding:0; margin:16px 0 0; }.tb-list li { padding:12px 0; border-bottom:1px solid var(--tb-line); color:var(--tb-muted); display:flex; justify-content:space-between; gap:12px; }.tb-list li b { color:var(--tb-cream); }.tb-list button { background:none; border:0; color:var(--tb-gold); cursor:pointer; font:inherit; }
.tb-lesson { display:grid; grid-template-columns:30px 1fr; gap:13px; padding:16px 0; border-bottom:1px solid var(--tb-line); }.tb-lesson .tb-num { color:var(--tb-gold); font:400 1.3rem "Noto Serif Display",serif; }.tb-lesson p { margin:6px 0 0; font-size:.9rem; }.tb-plan { display:flex; flex-direction:column; min-height:330px; }.tb-plan.featured { border-color:var(--tb-gold); box-shadow:0 0 0 1px rgba(230,199,120,.16),0 20px 55px rgba(0,0,0,.28); }.tb-plan .price { color:var(--tb-cream); font:400 2rem "Noto Serif Display",serif; margin:10px 0; }.tb-plan ul { margin:14px 0 22px; padding-left:18px; color:var(--tb-muted); line-height:1.9; font-size:.88rem; }.tb-plan .tb-button { margin-top:auto; }
.tb-toast { position:fixed; left:50%; bottom:24px; z-index:50; transform:translate(-50%,20px); padding:12px 16px; border-radius:10px; background:#f3dfa0; color:#271a36; font-size:.85rem; font-weight:700; opacity:0; pointer-events:none; transition:.22s ease; box-shadow:0 12px 40px rgba(0,0,0,.35); }.tb-toast.show { opacity:1; transform:translate(-50%,0); }
.tb-study-search{display:flex;gap:10px;max-width:720px;margin:25px 0 32px}.tb-study-search input{flex:1;min-width:0;background:rgba(18,13,33,.8);border:1px solid var(--tb-line);border-radius:11px;color:var(--tb-text);font:inherit;padding:13px 15px;outline:none}.tb-study-search input:focus{border-color:var(--tb-gold);box-shadow:0 0 0 3px rgba(230,199,120,.09)}.tb-study-intro{display:grid;grid-template-columns:1fr 210px;gap:30px;align-items:center;padding:32px 34px;border:1px solid var(--tb-line);border-radius:18px;background:linear-gradient(115deg,rgba(230,199,120,.12),rgba(32,24,59,.5) 55%,rgba(111,78,147,.13));margin-bottom:56px}.tb-study-intro h2,.tb-study-heading h2{font:400 clamp(1.6rem,3vw,2.5rem) "Noto Serif Display",serif;color:var(--tb-cream);margin:0 0 12px}.tb-study-intro p{max-width:700px;color:var(--tb-muted);line-height:1.75;margin:0 0 16px}.tb-text-link{color:var(--tb-gold);font-weight:700;text-decoration:none}.tb-study-orbit{width:154px;aspect-ratio:1;justify-self:center;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(230,199,120,.55);box-shadow:0 0 0 18px rgba(230,199,120,.045),0 0 50px rgba(230,199,120,.15);background:radial-gradient(circle,#e6c778 0 7%,#251a3e 8% 35%,transparent 36%)}.tb-study-orbit span{color:var(--tb-cream);font:400 3rem "Noto Serif Display",serif;line-height:1}.tb-study-orbit small{color:var(--tb-gold);font-size:.65rem;letter-spacing:.2em}.tb-study-section{margin:0 0 58px}.tb-study-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}.tb-study-heading .tb-eyebrow{margin-bottom:7px}.tb-study-heading>span{color:var(--tb-muted);font-size:.84rem;padding-bottom:7px}.tb-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tb-category{min-height:180px;text-align:left;cursor:pointer;padding:19px;border:1px solid var(--tb-line);border-radius:14px;color:var(--tb-text);background:linear-gradient(145deg,rgba(29,22,52,.86),rgba(13,10,24,.9));transition:transform .2s ease,border-color .2s ease,background .2s ease}.tb-category:hover,.tb-category.is-active{transform:translateY(-3px);border-color:rgba(230,199,120,.72);background:linear-gradient(145deg,rgba(64,47,88,.75),rgba(20,14,34,.95))}.tb-category b{display:block;color:var(--tb-gold);font:400 1.05rem "Noto Serif Display",serif;margin-bottom:15px}.tb-category strong{display:block;font-size:1rem;color:var(--tb-cream)}.tb-category p{color:var(--tb-muted);font-size:.82rem;line-height:1.55;margin:9px 0 12px}.tb-category small{color:var(--tb-gold);font-weight:700}.tb-study-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.tb-study-chips button,.tb-filter-reset,.tb-word-grid button,.tb-back{font:inherit;cursor:pointer}.tb-study-chips button,.tb-filter-reset{border:1px solid var(--tb-line);padding:8px 11px;border-radius:999px;color:var(--tb-muted);background:rgba(22,16,38,.76);font-size:.76rem}.tb-study-chips button:hover,.tb-study-chips button.is-active,.tb-filter-reset:hover{background:rgba(230,199,120,.13);color:var(--tb-cream);border-color:rgba(230,199,120,.6)}.tb-article-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tb-article-card{display:flex;min-height:164px;flex-direction:column;align-items:flex-start;text-align:left;padding:18px;border:1px solid var(--tb-line);border-radius:13px;background:#110d20;color:var(--tb-text);cursor:pointer;transition:.2s ease}.tb-article-card:hover{transform:translateY(-3px);border-color:rgba(230,199,120,.68);box-shadow:0 15px 30px rgba(0,0,0,.2)}.tb-article-card span{font-size:.72rem;color:var(--tb-gold);margin-bottom:13px}.tb-article-card strong{font:400 1.08rem/1.4 "Noto Serif Display",serif;color:var(--tb-cream)}.tb-article-card i{font-style:normal;color:var(--tb-muted);font-size:.76rem;margin-top:auto;padding-top:16px}.tb-dictionary{padding:28px;border-radius:16px;border:1px solid var(--tb-line);background:rgba(22,16,39,.66)}.tb-word-grid{display:flex;flex-wrap:wrap;gap:9px}.tb-word-grid button{border:1px solid rgba(230,199,120,.28);background:rgba(230,199,120,.07);color:var(--tb-cream);padding:10px 13px;border-radius:8px}.tb-word-grid button:hover{background:rgba(230,199,120,.17);border-color:var(--tb-gold)}.tb-study-definition{margin-top:18px;border-left:2px solid var(--tb-gold);padding:13px 15px;background:rgba(230,199,120,.06);color:var(--tb-muted);line-height:1.65}.tb-study-detail{max-width:820px;margin-top:28px}.tb-study-detail h2{font:400 2.4rem/1.2 "Noto Serif Display",serif;color:var(--tb-cream);margin:14px 0}.tb-study-detail p,.tb-study-detail li{color:var(--tb-muted);line-height:1.8}.tb-study-detail h3{color:var(--tb-cream);margin-top:25px}.tb-back{border:0;background:none;padding:0;color:var(--tb-gold);font-weight:700}
#tb-page-curtain { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; overflow:hidden; pointer-events:none; background:#070510; opacity:0; clip-path:inset(0 0 100% 0); transition:clip-path .28s cubic-bezier(.65,0,.35,1),opacity .12s ease; }
#tb-page-curtain:before,#tb-page-curtain:after { content:""; position:absolute; inset:-30%; background:radial-gradient(ellipse at center,rgba(230,199,120,.22) 0,rgba(230,199,120,.04) 22%,transparent 56%); transform:scale(.6); opacity:0; }
#tb-page-curtain:after { background:conic-gradient(from 0deg,transparent,rgba(230,199,120,.28),transparent 18%,transparent 55%,rgba(230,199,120,.18),transparent 70%); filter:blur(10px); }
#tb-page-curtain span { width:84vmax; height:1px; background:linear-gradient(90deg,transparent,rgba(230,199,120,.9),transparent); box-shadow:0 0 25px rgba(230,199,120,.75); transform:scaleX(.1); opacity:0; }
#tb-page-curtain i { position:relative; color:var(--tb-cream); font-style:normal; font-size:2rem; opacity:0; transform:scale(.35) rotate(-20deg); text-shadow:0 0 26px var(--tb-gold); }
#tb-page-curtain b { position:absolute; width:3px; height:3px; border-radius:50%; background:var(--tb-gold); box-shadow:-27vw 12vh 0 1px rgba(230,199,120,.85),23vw -15vh 0 rgba(230,199,120,.72),-17vw -24vh 0 rgba(230,199,120,.55),30vw 25vh 0 rgba(230,199,120,.7); opacity:0; }
#tb-page-curtain.is-covering { pointer-events:auto; opacity:1; clip-path:inset(0); }
#tb-page-curtain.is-covering:before { animation:tb-nebula .5s ease both; }#tb-page-curtain.is-covering:after { animation:tb-spin .65s linear both; }#tb-page-curtain.is-covering span { animation:tb-streak .42s ease both; }#tb-page-curtain.is-covering i { animation:tb-star .48s cubic-bezier(.2,.9,.2,1) both; }#tb-page-curtain.is-covering b { animation:tb-stars .46s ease both; }
@keyframes tb-nebula{0%{opacity:0;transform:scale(.55)}55%{opacity:1}100%{opacity:.4;transform:scale(1.28)}}@keyframes tb-spin{0%{opacity:0;transform:rotate(-35deg) scale(.4)}100%{opacity:.9;transform:rotate(80deg) scale(1.2)}}@keyframes tb-streak{0%{opacity:0;transform:scaleX(.06)}42%{opacity:1}100%{opacity:0;transform:scaleX(1.35)}}@keyframes tb-star{0%{opacity:0;transform:scale(.25) rotate(-25deg)}48%{opacity:1}100%{opacity:0;transform:scale(2.6) rotate(130deg)}}@keyframes tb-stars{10%{opacity:0}48%{opacity:1}100%{opacity:0;transform:scale(2.1)}}
.tb-page-enter .tb-portal { animation:tb-page-enter .42s cubic-bezier(.2,.8,.2,1) both; }.tb-page-enter .tb-card { animation:tb-card-enter .48s cubic-bezier(.2,.8,.2,1) both; }.tb-page-enter .tb-card:nth-child(2){animation-delay:.045s}.tb-page-enter .tb-card:nth-child(3){animation-delay:.09s}@keyframes tb-page-enter{from{opacity:0;transform:translateY(12px);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}@keyframes tb-card-enter{from{opacity:0;transform:translateY(16px) scale(.99)}to{opacity:1;transform:none}}
body.tb-transitioning { overflow:hidden; } .tb-nav a { position:relative; } .tb-nav a.is-active:after { content:""; position:absolute; right:10px; bottom:3px; left:10px; height:1px; background:var(--tb-gold); box-shadow:0 0 8px rgba(230,199,120,.8); animation:tb-nav-line .3s ease both; }@keyframes tb-nav-line{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){#tb-page-curtain,.tb-page-enter .tb-portal,.tb-page-enter .tb-card{transition:none;animation:none!important}}
@media(min-width:961px){body:not(.tb-app-active) .nav .wrap{gap:12px;flex-wrap:nowrap;min-width:0}body:not(.tb-app-active) .brand{flex:none}body:not(.tb-app-active) .brand b{font-size:18px}body:not(.tb-app-active) .nav-links{flex:1;min-width:0;gap:13px;flex-wrap:nowrap;white-space:nowrap;font-size:12px}body:not(.tb-app-active) .nav-links a{white-space:nowrap}body:not(.tb-app-active) .nav-right{flex:none;margin-left:0}body:not(.tb-app-active) .nav .btn{padding:9px 13px;font-size:12px}}
@media(max-width:860px){.tb-grid.three{grid-template-columns:1fr}.tb-grid.two,.tb-audio{grid-template-columns:1fr}.tb-chart{grid-template-columns:repeat(2,minmax(0,1fr))}.tb-core{grid-column:span 2}.tb-nav a:not(.tb-nav-essential){display:none}.tb-chart-head{align-items:flex-start;flex-direction:column}.tb-steps{grid-template-columns:1fr}.tb-main{padding-top:30px}.tb-category-grid,.tb-article-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.tb-shell{padding:0 15px}.tb-topbar .tb-shell{min-height:62px}.tb-brand{font-size:1.1rem}.tb-main{padding-top:24px}.tb-card{padding:18px}.tb-title{font-size:2.1rem}.tb-chart{grid-template-columns:1fr}.tb-core{grid-column:auto}.tb-chat-form,.tb-study-search{flex-direction:column}.tb-button{width:100%}.tb-study-intro{grid-template-columns:1fr;padding:23px}.tb-study-orbit{display:none}.tb-study-heading{align-items:flex-start;flex-direction:column}.tb-study-heading>span{padding:0}.tb-category-grid,.tb-article-grid{grid-template-columns:1fr}.tb-study-section{margin-bottom:40px}.tb-dictionary{padding:20px}}

.tb-privacy-consent{align-items:flex-start;gap:11px;padding:12px 14px;border:1px solid rgba(6,182,212,.22);border-radius:12px;background:linear-gradient(100deg,rgba(6,182,212,.08),rgba(139,92,246,.07));color:#bcd0e3;line-height:1.58}.tb-privacy-consent input{margin-top:.24em;accent-color:#f59e0b}.tb-privacy-consent strong{color:#fcd34d;font-weight:800;text-shadow:0 0 15px rgba(245,158,11,.22)}

/* Vấn Đạo: câu trả lời theo từng đề mục */
.tb-message.assistant{max-width:92%}
.tb-da-answer{display:grid;gap:9px}
.tb-da-section{padding:11px 13px;border-left:3px solid var(--tb-gold);border-radius:0 10px 10px 0;background:linear-gradient(90deg,rgba(245,158,11,.12),rgba(139,92,246,.045))}
.tb-da-section h3{margin:0 0 5px;color:var(--tb-gold);font-size:.86rem;letter-spacing:.015em}
.tb-da-section p,.tb-da-copy{margin:0;color:var(--tb-text);line-height:1.65;white-space:pre-wrap}

/* Image analysis: compression and radar scanning feedback */
.tb-face-preview.is-compressing{background:linear-gradient(135deg,rgba(6,182,212,.12),rgba(139,92,246,.14));}
.tb-face-preview.is-compressing>span:only-child{color:#d8f7ff;animation:tb-pulse-copy 1s ease-in-out infinite alternate;}
.tb-face-preview.is-scanning:before{content:"";position:absolute;z-index:3;width:178px;height:178px;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(6,182,212,.78);border-radius:50%;background:repeating-radial-gradient(circle,rgba(6,182,212,.12) 0 1px,transparent 2px 26px),conic-gradient(from 0deg,transparent 0 65%,rgba(6,182,212,.48) 74%,transparent 83%);box-shadow:0 0 30px rgba(6,182,212,.32),inset 0 0 26px rgba(6,182,212,.2);animation:tb-radar 1.7s linear infinite;pointer-events:none;}
.tb-face-preview.is-scanning:after{content:"";position:absolute;z-index:4;inset:0;background:repeating-linear-gradient(0deg,rgba(6,182,212,.16) 0 1px,transparent 1px 21px),repeating-linear-gradient(90deg,rgba(6,182,212,.13) 0 1px,transparent 1px 21px),linear-gradient(180deg,transparent 0,rgba(245,158,11,.52) 49%,transparent 52%);background-size:auto,auto,100% 42%;background-repeat:repeat,repeat,no-repeat;animation:tb-scan-grid 1.45s linear infinite;pointer-events:none;}
.tb-scan-status{position:absolute;z-index:5;left:50%;bottom:16px;transform:translateX(-50%);min-width:210px;padding:9px 14px 8px 30px;border:1px solid rgba(6,182,212,.55);border-radius:12px;background:rgba(7,15,30,.88);box-shadow:0 10px 24px rgba(0,0,0,.26);text-align:left;color:#ecfeff;pointer-events:none;}
.tb-scan-status i{position:absolute;left:13px;top:15px;width:8px;height:8px;border-radius:50%;background:#06b6d4;box-shadow:0 0 0 0 rgba(6,182,212,.6);animation:tb-beacon 1.1s ease-out infinite;}.tb-scan-status strong,.tb-scan-status small{display:block;}.tb-scan-status strong{font-size:.78rem;letter-spacing:.03em;}.tb-scan-status small{margin-top:2px;color:#9edbe6;font-size:.67rem;}
@keyframes tb-radar{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes tb-scan-grid{from{background-position:0 0,0 0,0 -120px}to{background-position:0 0,0 0,0 340px}}@keyframes tb-beacon{70%{box-shadow:0 0 0 10px rgba(6,182,212,0)}}@keyframes tb-pulse-copy{to{opacity:.62}}
/* React Three Fiber astrolabe on the home hero */
#tuvi-3d-root{position:absolute;z-index:0;inset:0;overflow:hidden;touch-action:auto;pointer-events:none}#tuvi-3d-root canvas{display:block;width:100%!important;height:100%!important;cursor:default;outline:0;pointer-events:none}#tuvi-3d-root canvas:active{cursor:default}@media(max-width:700px){#tuvi-3d-root{opacity:.9}body:not(.tb-app-active) .hero:before{background:linear-gradient(180deg,rgba(11,15,25,.22),rgba(11,15,25,.72) 78%,rgba(11,15,25,.94))}}

/* Vấn Đạo: Markdown có cấu trúc nhưng vẫn nhẹ và dễ đọc. */
.tb-message.assistant.tb-markdown{max-width:min(900px,94%);padding:18px 20px;background:linear-gradient(145deg,rgba(38,29,58,.92),rgba(22,18,39,.98));border-color:rgba(245,158,11,.28);box-shadow:inset 3px 0 0 #f59e0b}.tb-markdown-fallback{white-space:pre-wrap}.tb-markdown>*:first-child{margin-top:0}.tb-markdown>*:last-child{margin-bottom:0}.tb-markdown h1,.tb-markdown h2,.tb-markdown h3{font-family:Georgia,'Times New Roman',serif;color:#fcd34d;line-height:1.25;margin:1.1em 0 .45em}.tb-markdown h1{font-size:1.35rem}.tb-markdown h2{font-size:1.18rem}.tb-markdown h3{font-size:1.03rem}.tb-markdown p{margin:.6em 0;color:#f2f4fb}.tb-markdown strong{color:#fbbf24;font-weight:800}.tb-markdown ul,.tb-markdown ol{margin:.7em 0;padding-left:1.25rem}.tb-markdown li{margin:.32em 0}.tb-markdown li::marker{color:#f59e0b}.tb-markdown blockquote{margin:.8em 0;padding:.55em .85em;border-left:2px solid #06b6d4;background:rgba(6,182,212,.07);color:#d5e7f2}.tb-markdown code{padding:.1em .32em;border-radius:4px;background:rgba(6,182,212,.12);color:#67e8f9}.tb-markdown table{display:block;max-width:100%;overflow-x:auto;margin:.9em 0;border-collapse:collapse}.tb-markdown th,.tb-markdown td{padding:.5em .65em;border:1px solid rgba(245,158,11,.22);text-align:left;white-space:nowrap}.tb-markdown th{color:#fcd34d;background:rgba(245,158,11,.1)}.tb-stream-cursor{display:inline-flex;align-items:center;gap:.45rem;color:#fcd34d}.tb-stream-cursor:after{content:'';width:7px;height:1.1em;background:#f59e0b;animation:tb-stream-blink .85s step-end infinite}@keyframes tb-stream-blink{50%{opacity:0}}@media(max-width:700px){.tb-message.assistant.tb-markdown{max-width:100%;padding:15px}.tb-markdown h1{font-size:1.2rem}.tb-markdown h2{font-size:1.08rem}}
/* Palace detail drawer */
.tb-palace{cursor:pointer;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.tb-palace:hover,.tb-palace:focus-visible{transform:translateY(-2px);background:linear-gradient(145deg,#1b1530,#0e0b1c);box-shadow:inset 0 0 0 1px rgba(245,158,11,.48),0 10px 24px rgba(0,0,0,.22);outline:none}.tb-palace-overlay{position:fixed;inset:0;z-index:1500;display:flex;justify-content:flex-end;background:rgba(3,5,14,.74);backdrop-filter:blur(9px);animation:tbDrawerFade .2s ease}.tb-palace-drawer{width:min(1040px,calc(100vw - 32px));height:100%;display:flex;flex-direction:column;overflow:hidden;color:#e9edf8;background:radial-gradient(circle at 85% 4%,rgba(111,62,177,.2),transparent 31%),linear-gradient(135deg,#0b0d1b,#13172d);border-left:1px solid rgba(129,140,248,.32);box-shadow:-22px 0 70px rgba(0,0,0,.48);animation:tbDrawerIn .25s ease}.tb-drawer-header{display:flex;align-items:center;gap:14px;padding:18px 24px;border-bottom:1px solid rgba(129,140,248,.2);background:rgba(7,9,24,.58)}.tb-drawer-header h2{margin:0 auto;font-family:"Noto Serif Display",serif;font-size:1.55rem;color:#fff8e7}.tb-drawer-menu-wrap{position:relative}.tb-drawer-tool,.tb-drawer-close{border:1px solid rgba(129,140,248,.28);border-radius:10px;padding:8px 11px;color:#dfe5fb;background:#151a32;cursor:pointer;font:inherit}.tb-drawer-tool:hover,.tb-drawer-close:hover{border-color:#f59e0b;color:#fbbf24}.tb-drawer-menu{position:absolute;top:42px;left:0;z-index:2;width:170px;padding:8px;border:1px solid rgba(129,140,248,.25);border-radius:12px;background:#12162a;box-shadow:0 16px 32px rgba(0,0,0,.4)}.tb-drawer-menu button{display:block;width:100%;padding:9px;text-align:left;color:#cbd5e1;background:transparent;border:0;border-radius:8px;cursor:pointer}.tb-drawer-menu button:hover{background:#20284a;color:#fbbf24}.tb-drawer-tools{display:flex;gap:7px}.tb-drawer-body{overflow-y:auto;padding:28px 36px 22px}.tb-palace-overview,.tb-phi-hoa,.tb-ai-reading{border:1px solid rgba(129,140,248,.2);border-radius:18px;background:linear-gradient(145deg,rgba(27,23,52,.89),rgba(12,14,32,.9));box-shadow:inset 0 1px rgba(255,255,255,.025)}.tb-palace-overview{padding:23px}.tb-palace-tags{display:flex;gap:8px;flex-wrap:wrap}.tb-palace-tag,.tb-palace-meta span{display:inline-flex;align-items:center;border:1px solid rgba(167,139,250,.3);border-radius:999px;padding:5px 9px;color:#d8c9ff;background:rgba(91,58,143,.13);font-size:.78rem}.tb-palace-title-line{display:flex;align-items:center;gap:10px;margin:17px 0 9px}.tb-palace-title-line h3{margin:0;color:#fff6d9;font-family:"Noto Serif Display",serif;font-size:1.65rem}.tb-ai-badge{display:inline-flex;padding:4px 8px;border-radius:7px;background:#f59e0b;color:#1a1027;font-size:.72rem;font-weight:800}.tb-palace-meta{display:flex;gap:8px;flex-wrap:wrap}.tb-drawer-label{margin:19px 0 8px;color:#aab4cf;font-size:.72rem;font-weight:800;letter-spacing:.12em}.tb-primary-star{padding:14px 16px;border-left:3px solid #f59e0b;border-radius:10px;background:rgba(245,158,11,.08);color:#fff7e4;font-size:1.08rem}.tb-primary-star b{color:#fb7185}.tb-stars-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:17px}.tb-star-column{padding:14px;border:1px solid rgba(148,163,184,.16);border-radius:13px;background:rgba(5,8,22,.33)}.tb-star-column h4{margin:0 0 10px;font-size:.76rem;letter-spacing:.11em}.tb-star-column ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}.tb-star-column li{color:#d8dee9;font-size:.92rem}.tb-star-column.benefic h4,.tb-star-column.benefic li::before{color:#86efac}.tb-star-column.malefic h4,.tb-star-column.malefic li::before{color:#fdba74}.tb-star-column li::before{content:"✦";margin-right:7px}.tb-current-star{margin-top:14px;padding:11px 13px;border-radius:10px;background:rgba(125,211,252,.08);color:#bce9ff}.tb-current-star b{color:#67e8f9}.tb-phi-hoa{margin-top:19px;padding:20px}.tb-phi-hoa h3{margin:0 0 14px;color:#f5f1ff;font-size:.85rem;letter-spacing:.1em}.tb-phi-row{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid rgba(148,163,184,.1);color:#cbd5e1}.tb-phi-row:last-child{border-bottom:0}.tb-phi-kind{font-weight:800}.tb-phi-kind.loc{color:#86efac}.tb-phi-kind.quyen{color:#fbbf24}.tb-phi-kind.khoa{color:#a5b4fc}.tb-phi-kind.ky,.tb-phi-kind.xung{color:#fb7185}.tb-ai-reading{margin-top:20px;padding:22px;font-size:var(--tb-reading-scale,1rem);line-height:1.78}.tb-ai-note{margin:0 0 15px;color:#b7c2da;font-size:.86em}.tb-ai-note b{color:#fbbf24}.tb-reading-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:19px}.tb-reading-tabs button{border:1px solid rgba(148,163,184,.24);border-radius:9px;padding:8px 12px;background:#11162a;color:#cbd5e1;font:inherit;cursor:pointer}.tb-reading-tabs button.is-active{border-color:#fbbf24;background:#f59e0b;color:#19101b;font-weight:800}.tb-reading-section{padding:18px 0;border-top:1px solid rgba(148,163,184,.14)}.tb-reading-section h4{margin:0 0 10px;color:#fff6dc;font-size:1rem;letter-spacing:.06em}.tb-reading-number{margin-right:8px;color:#f59e0b}.tb-reading-section p{margin:0;color:#d7ddeb}.tb-reading-section blockquote{margin:14px 0 12px;padding:13px 16px;border-left:3px solid #f59e0b;border-radius:0 10px 10px 0;background:rgba(245,158,11,.07);color:#f7e6b1;font-family:"Noto Serif Display",serif}.tb-drawer-footer{display:flex;justify-content:space-between;gap:12px;padding:15px 24px;border-top:1px solid rgba(129,140,248,.2);background:rgba(5,7,18,.56)}.tb-drawer-footer button{border:1px solid rgba(129,140,248,.3);border-radius:10px;padding:10px 13px;background:#161b32;color:#e2e8f0;font:inherit;cursor:pointer}.tb-drawer-footer button:hover{border-color:#f59e0b;color:#fbbf24}@keyframes tbDrawerFade{from{opacity:0}to{opacity:1}}@keyframes tbDrawerIn{from{transform:translateX(28px);opacity:.4}to{transform:translateX(0);opacity:1}}@media(max-width:700px){.tb-palace-drawer{width:100%}.tb-drawer-header{padding:14px 15px;gap:7px}.tb-drawer-header h2{font-size:1.22rem}.tb-drawer-menu-wrap{display:none}.tb-drawer-tools{gap:4px}.tb-drawer-tool,.tb-drawer-close{padding:7px 8px}.tb-drawer-body{padding:19px 15px}.tb-palace-overview,.tb-phi-hoa,.tb-ai-reading{border-radius:14px;padding:17px}.tb-palace-title-line h3{font-size:1.32rem}.tb-stars-grid{grid-template-columns:1fr}.tb-phi-row{grid-template-columns:90px 1fr;font-size:.88rem}.tb-drawer-footer{padding:12px 15px}}
/* Birth chart intake workspace */
.tb-chart-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:22px 0 18px;padding:15px 18px;border:1px solid rgba(99,102,241,.26);border-radius:15px;background:linear-gradient(100deg,rgba(30,41,79,.76),rgba(18,17,39,.52))}.tb-chart-intro span{display:block;color:#fbbf24;font-size:.73rem;font-weight:800;letter-spacing:.13em}.tb-chart-intro p{margin:5px 0 0;color:#c7d2fe}.tb-chart-intro-points{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;color:#d9e3ff;font-size:.8rem}.tb-chart-intro-points b:nth-child(odd){font-weight:700}.tb-chart-intro-points b:nth-child(even){color:#f59e0b}.tb-form-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:22px;align-items:start}.tb-birth-card,.tb-form-guide{padding:26px}.tb-birth-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.tb-birth-head h2,.tb-form-guide h2{margin:0;color:#fff8e7;font-family:"Noto Serif Display",serif;font-size:1.62rem}.tb-text-action{border:0;background:transparent;color:#fbbf24;text-decoration:underline;text-underline-offset:4px;font:inherit;cursor:pointer;white-space:nowrap}.tb-calendar-switch{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:6px;border:1px solid rgba(129,140,248,.22);border-radius:12px;background:#0b1022}.tb-calendar-switch label{position:relative;cursor:pointer}.tb-calendar-switch input{position:absolute;opacity:0}.tb-calendar-switch span{display:block;padding:10px 13px;border-radius:8px;text-align:center;color:#b7c2dc;font-weight:700;transition:.18s ease}.tb-calendar-switch input:checked+span{background:#f59e0b;color:#201321;box-shadow:0 5px 16px rgba(245,158,11,.18)}.tb-calendar-switch input:focus-visible+span{outline:2px solid #67e8f9;outline-offset:2px}.tb-calendar-note{margin:12px 0 20px;color:#aebbd3;font-size:.88rem;line-height:1.6}.tb-field small{margin-left:4px;color:#8fa0bf;font-size:.73rem;font-weight:400}.tb-toggle{display:flex;align-items:center;gap:10px;min-height:46px;margin-top:20px;color:#c7d2e6;font-size:.91rem}.tb-toggle input{width:17px;height:17px;accent-color:#f59e0b}.tb-form-consent{margin:20px 0 17px;padding:12px 14px;border-left:3px solid #8b5cf6;border-radius:0 10px 10px 0;background:rgba(99,102,241,.08);color:#bfcae5;font-size:.84rem;line-height:1.55}.tb-form-guide{background:radial-gradient(circle at 84% 10%,rgba(139,92,246,.17),transparent 30%),linear-gradient(145deg,#18122d,#0c0c1a)}.tb-form-guide .tb-steps{margin-top:20px}.tb-form-guide .tb-step{padding:15px 0;border-bottom:1px solid rgba(148,163,184,.12);background:transparent}.tb-form-guide .tb-step:last-child{border:0}.tb-guide-note{margin-top:21px;padding:14px 15px;border:1px solid rgba(245,158,11,.23);border-radius:11px;background:rgba(245,158,11,.055);color:#c9d1e3;font-size:.88rem;line-height:1.58}.tb-guide-note b{color:#fbbf24}@media(max-width:820px){.tb-form-layout{grid-template-columns:1fr}.tb-chart-intro{align-items:flex-start;flex-direction:column}.tb-chart-intro-points{justify-content:flex-start}}@media(max-width:520px){.tb-birth-card,.tb-form-guide{padding:18px}.tb-birth-head{flex-direction:column;gap:9px}.tb-chart-intro{padding:14px}.tb-chart-intro-points{font-size:.76rem}}
/* Result view: keep the celestial board visible behind the active palace reading. */
@media(min-width:701px){.tb-palace-overlay{align-items:center;justify-content:center;padding:24px;background:rgba(3,5,14,.58);backdrop-filter:blur(5px)}.tb-palace-drawer{width:min(1168px,calc(100vw - 64px));height:calc(100% - 48px);margin:0;border:1px solid rgba(129,140,248,.34);border-radius:22px;background:linear-gradient(135deg,rgba(9,10,27,.985),rgba(15,16,39,.97));box-shadow:0 24px 72px rgba(0,0,0,.52)}.tb-drawer-header{background:rgba(9,10,27,.72)}}
.tb-foundation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;padding:14px;border:1px solid rgba(245,158,11,.2);border-radius:14px;background:linear-gradient(110deg,rgba(245,158,11,.08),rgba(79,70,229,.08))}.tb-foundation>div{display:grid;gap:4px;padding:4px 10px;border-left:1px solid rgba(245,158,11,.25)}.tb-foundation>div:first-child{border-left:0}.tb-foundation small{color:#fbbf24;font-size:.68rem;font-weight:800;letter-spacing:.1em}.tb-foundation b{color:#fff6d9;font-size:1rem}.tb-foundation span{color:#acb8d3;font-size:.8rem}@media(max-width:700px){.tb-foundation{grid-template-columns:1fr}.tb-foundation>div{border-left:0;border-top:1px solid rgba(245,158,11,.18);padding-top:10px}.tb-foundation>div:first-child{border-top:0;padding-top:4px}}

@media(max-width:860px){.tb-nav a[href="/xem-ngay-lanh"]{display:inline-flex}}
/* Keep the inner navigation complete on narrow screens. The old responsive
   rule hid every link except the first essential item, which made Soi tướng
   disappear on Xem Ngày Lành and Vấn Đạo. Use one horizontally scrollable
   row instead so the shared menu stays identical across routes. */
@media(max-width:860px){.tb-topbar .tb-nav{justify-content:flex-start;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none}.tb-topbar .tb-nav::-webkit-scrollbar{display:none}.tb-topbar .tb-nav a,.tb-topbar .tb-nav a:not(.tb-nav-essential),.tb-topbar .tb-nav button{display:inline-flex;flex:0 0 auto;font-size:.68rem;padding:7px 5px}.tb-topbar .tb-nav a:last-child{max-width:85px;overflow:hidden;text-overflow:ellipsis}}
/* Consent stays on one row: the generic .tb-grid label rule must not stack it. */
.tb-grid label.tb-privacy-consent{display:flex;flex-direction:row;align-items:flex-start;gap:11px}
.tb-grid label.tb-privacy-consent input{width:17px;height:17px;flex:0 0 17px;margin:.24em 0 0;accent-color:var(--tb-gold)}
.tb-grid label.tb-privacy-consent span{display:block;min-width:0}
/* Xem Ngày Lành — trạch cát rule engine */
\n/* AITuVi deterministic v1 surface */
body.tb-app-active{min-height:100vh;background:radial-gradient(circle at 82% 0%,rgba(73,45,103,.25),transparent 34%),linear-gradient(135deg,#080b18 0%,#10142a 56%,#171126 100%);color:#e9edfb;font-family:"Be Vietnam Pro",Inter,system-ui,sans-serif}
body.tb-app-active>*:not(#thienban-app){display:none!important}
#thienban-app{min-height:100vh}
.aituvi-nav{position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(129,140,248,.18);background:rgba(7,9,23,.9);backdrop-filter:blur(18px)}
.aituvi-nav-inner{width:min(1240px,calc(100% - 40px));min-height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.aituvi-brand{color:#fff8e7;text-decoration:none;font:400 1.35rem/1 Georgia,"Times New Roman",serif;white-space:nowrap}.aituvi-brand span{color:#fbbf24}.aituvi-nav nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;flex-wrap:wrap}.aituvi-nav nav a{padding:11px 13px;border-radius:12px;color:#b6c2dc;text-decoration:none;font-size:.9rem;transition:.2s ease}.aituvi-nav nav a:hover,.aituvi-nav nav a.is-active{color:#fff3ca;background:rgba(245,158,11,.12);box-shadow:inset 0 -2px #f59e0b}
.aituvi-main{min-height:calc(100vh - 74px)}.aituvi-wrap{width:min(1240px,calc(100% - 40px));margin:auto;padding:48px 0 82px}.aituvi-intro{margin-bottom:34px;max-width:940px}.aituvi-kicker{margin:0 0 10px;color:#fbbf24;font-size:.75rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.aituvi-intro h1{margin:0;color:#fff8e7;font:400 clamp(2.45rem,6vw,4.8rem)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.03em}.aituvi-lead{max-width:800px;margin:15px 0 0;color:#b9c9e4;font-size:1.06rem;line-height:1.7}
.aituvi-panel,.aituvi-empty,.aituvi-home-card{border:1px solid rgba(245,158,11,.24);border-radius:20px;background:linear-gradient(145deg,rgba(28,20,51,.9),rgba(11,13,29,.96));box-shadow:0 18px 60px rgba(0,0,0,.15)}.aituvi-panel{padding:25px}.aituvi-panel-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}.aituvi-panel-heading h2,.aituvi-empty h2{margin:0;color:#fff4d9;font:400 1.65rem/1.2 Georgia,"Times New Roman",serif}.aituvi-proof{padding:7px 10px;border:1px solid rgba(34,211,238,.22);border-radius:999px;color:#8fd8eb;background:rgba(34,211,238,.06);font-size:.75rem;white-space:nowrap}
.aituvi-calendar-tabs{display:flex;gap:8px;margin-bottom:20px}.aituvi-calendar-tabs label{cursor:pointer}.aituvi-calendar-tabs input{position:absolute;opacity:0}.aituvi-calendar-tabs span{display:inline-block;padding:10px 14px;border:1px solid rgba(129,140,248,.3);border-radius:999px;color:#c3ccef;font-size:.86rem}.aituvi-calendar-tabs input:checked+span{border-color:#fbbf24;background:#fbbf24;color:#261628;font-weight:800}.aituvi-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.aituvi-form-grid label,.aituvi-panel form>label{display:grid;gap:8px;color:#dce5f8;font-size:.88rem;font-weight:700}.aituvi-form-grid input,.aituvi-form-grid select,.aituvi-panel input,.aituvi-panel select{width:100%;box-sizing:border-box;border:1px solid rgba(129,140,248,.28);border-radius:11px;padding:12px 13px;background:#090b18;color:#eef2ff;font:inherit;outline:none}.aituvi-form-grid input:focus,.aituvi-form-grid select:focus,.aituvi-panel input:focus,.aituvi-panel select:focus{border-color:#fbbf24;box-shadow:0 0 0 3px rgba(245,158,11,.1)}.aituvi-form-grid small{color:#8393b4;font-size:.72rem;font-weight:400}.aituvi-check{display:flex!important;align-items:center;gap:9px!important}.aituvi-check input,.aituvi-consent input{width:17px!important;height:17px;accent-color:#f59e0b}.aituvi-note{color:#8ea0c0;font-size:.82rem;line-height:1.6}.aituvi-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.aituvi-button{border:1px solid #f59e0b;border-radius:11px;padding:12px 16px;background:linear-gradient(120deg,#f59e0b,#fbbf24);color:#211529;font:800 .88rem/1.15 "Be Vietnam Pro",sans-serif;cursor:pointer;transition:.2s ease}.aituvi-button:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(245,158,11,.2)}.aituvi-button.is-quiet{border-color:rgba(129,140,248,.33);background:rgba(27,29,59,.8);color:#d7ddf3}.aituvi-button:disabled{opacity:.5;cursor:wait;transform:none}
.aituvi-foundation{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:22px}.aituvi-foundation>div{display:grid;gap:7px;padding:17px;border:1px solid rgba(129,140,248,.24);border-radius:15px;background:linear-gradient(145deg,rgba(28,25,60,.8),rgba(11,14,30,.85))}.aituvi-foundation span{color:#9eacd0;font-size:.7rem;font-weight:800;letter-spacing:.11em}.aituvi-foundation strong{color:#fff3c8;font:400 1.18rem Georgia,"Times New Roman",serif}.aituvi-foundation b{color:#b9cae4;font-size:.78rem;font-weight:500}
.aituvi-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(154px,1fr));gap:1px;overflow:hidden;border:1px solid rgba(129,140,248,.28);border-radius:16px;background:rgba(129,140,248,.25)}.aituvi-palace{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:154px;padding:15px;border:0;background:linear-gradient(145deg,#111329,#0a0c1a);color:#dfe5fa;text-align:left;cursor:pointer;transition:.2s ease}.aituvi-palace:hover,.aituvi-palace:focus-visible{z-index:2;background:linear-gradient(145deg,#211743,#11152d);box-shadow:inset 0 0 0 1px #fbbf24;outline:none}.aituvi-palace:nth-child(1){grid-area:1/1}.aituvi-palace:nth-child(2){grid-area:1/2}.aituvi-palace:nth-child(3){grid-area:1/3}.aituvi-palace:nth-child(4){grid-area:1/4}.aituvi-palace:nth-child(5){grid-area:2/1}.aituvi-palace:nth-child(6){grid-area:2/4}.aituvi-palace:nth-child(7){grid-area:3/1}.aituvi-palace:nth-child(8){grid-area:3/4}.aituvi-palace:nth-child(9){grid-area:4/1}.aituvi-palace:nth-child(10){grid-area:4/2}.aituvi-palace:nth-child(11){grid-area:4/3}.aituvi-palace:nth-child(12){grid-area:4/4}.aituvi-palace-name{color:#fbbf24;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.aituvi-palace strong{margin-top:8px;color:#d8cfee;font-size:.76rem}.aituvi-palace small{margin-top:12px;color:#fff0cf;font-size:.83rem;line-height:1.45}.aituvi-palace em{margin-top:auto;color:#7f8aaa;font-size:.68rem;font-style:normal}.aituvi-badge{position:absolute;right:10px;top:10px;padding:3px 6px;border-radius:5px;background:#f59e0b;color:#24162a;font-size:.6rem;font-style:normal;font-weight:900}.aituvi-badge-than{top:34px;background:#8b5cf6;color:#fff}.aituvi-celestial{grid-area:2/2/4/4;display:grid;place-content:center;gap:8px;padding:26px;text-align:center;background:radial-gradient(circle at 50% 44%,rgba(126,87,187,.28),transparent 54%),#11132b}.aituvi-celestial p{margin:0;color:#fbbf24;font-size:.72rem;font-weight:800;letter-spacing:.16em}.aituvi-celestial h3{margin:0;color:#fff5db;font:400 1.45rem Georgia,"Times New Roman",serif}.aituvi-celestial b{color:#d5c9ef;font-size:.83rem}.aituvi-celestial span{color:#a9bce0;font-size:.8rem}.aituvi-celestial small{color:#7788aa;font-size:.72rem}.aituvi-summary{margin-top:22px}.aituvi-summary>p:not(.aituvi-kicker){color:#c4d1e8;font-size:.98rem;line-height:1.8}.aituvi-summary b{color:#fcd34d}
.aituvi-empty{padding:28px;text-align:center}.aituvi-empty p{color:#aab9d3;line-height:1.6}.aituvi-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.aituvi-home-card{padding:24px;text-align:left;color:#dfe7fa;cursor:pointer}.aituvi-home-card:hover{border-color:#fbbf24;transform:translateY(-2px)}.aituvi-home-card span{color:#fbbf24;font-weight:800}.aituvi-home-card h2{margin:11px 0 6px;color:#fff5dd;font:400 1.55rem Georgia,"Times New Roman",serif}.aituvi-home-card p{margin:0;color:#aabbd6;line-height:1.6}
.aituvi-modal-backdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:22px;background:rgba(4,6,15,.77);backdrop-filter:blur(9px)}.aituvi-modal{width:min(920px,100%);max-height:calc(100vh - 44px);overflow:auto;padding:25px;border:1px solid rgba(245,158,11,.34);border-radius:22px;background:linear-gradient(135deg,#101229,#1a1230);box-shadow:0 26px 80px rgba(0,0,0,.55)}.aituvi-modal-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.aituvi-modal h2{margin:0;color:#fff4d9;font:400 1.8rem Georgia,"Times New Roman",serif}.aituvi-modal-close{border:1px solid rgba(129,140,248,.3);border-radius:9px;padding:8px 11px;background:#151a32;color:#d8e1fb;cursor:pointer}.aituvi-modal-tags{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 18px}.aituvi-modal-tags span{padding:5px 9px;border:1px solid rgba(167,139,250,.3);border-radius:999px;color:#d9cdfb;font-size:.75rem}.aituvi-modal-primary{padding:16px;border-left:3px solid #f59e0b;border-radius:0 12px 12px 0;background:rgba(245,158,11,.09)}.aituvi-modal-primary span,.aituvi-modal-section h3{color:#fbbf24;font-size:.72rem;font-weight:800;letter-spacing:.13em}.aituvi-modal-primary strong{display:block;margin-top:7px;color:#fff1d3;font-size:1rem}.aituvi-modal-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.aituvi-modal-section{padding:15px;border:1px solid rgba(129,140,248,.2);border-radius:13px;background:rgba(8,10,24,.48)}.aituvi-modal-section h3{margin:0 0 10px}.aituvi-modal-section ul{display:grid;gap:7px;margin:0;padding-left:18px;color:#c7d3e9;font-size:.86rem}.aituvi-modal-section li::marker{color:#fbbf24}.aituvi-modal-transit{margin-top:14px;padding:13px 15px;border-radius:12px;background:rgba(34,211,238,.09);color:#a9dceb;font-size:.83rem}.aituvi-phi{margin-top:16px;padding:15px;border:1px solid rgba(129,140,248,.2);border-radius:13px}.aituvi-phi h3{margin:0 0 9px;color:#fbbf24;font-size:.72rem;letter-spacing:.13em}.aituvi-phi p{margin:6px 0;color:#bccae2;font-size:.84rem}.aituvi-phi b{color:#f4d277}.aituvi-ai-tabs{display:flex;gap:7px;margin-top:17px}.aituvi-ai-tabs button{border:1px solid rgba(129,140,248,.28);border-radius:999px;padding:8px 11px;background:transparent;color:#abb8d3;cursor:pointer}.aituvi-ai-tabs button.is-active{background:#fbbf24;color:#241629;border-color:#fbbf24;font-weight:800}.aituvi-ai-copy{margin:12px 0 0;color:#cbd8ed;line-height:1.75}.aituvi-ai-output{margin-top:12px;white-space:pre-wrap;color:#e9efff;line-height:1.75}
.aituvi-lucky-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(250px,.75fr);gap:18px}.aituvi-lucky-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.aituvi-lucky-tabs button{border:1px solid rgba(129,140,248,.3);border-radius:999px;padding:9px 12px;background:#14142a;color:#bdc9e4;cursor:pointer}.aituvi-lucky-tabs button.is-active{border-color:#fbbf24;background:#fbbf24;color:#241629;font-weight:800}.aituvi-lucky-form{display:grid;gap:15px}.aituvi-lucky-form>label{display:grid;gap:7px;color:#dce5f8;font-size:.88rem;font-weight:700}.aituvi-lucky-form .aituvi-form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.aituvi-guide-list{margin:0;padding-left:20px;color:#becbe1;line-height:1.8}.aituvi-guide-list li::marker{color:#fbbf24}.aituvi-lucky-result{margin-top:20px}.aituvi-result-heading{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid rgba(129,140,248,.2);padding-bottom:15px}.aituvi-result-heading h2{margin:0;color:#fff4d9;font:400 1.6rem Georgia,"Times New Roman",serif}.aituvi-result-heading p{margin:7px 0 0;color:#b1c0da}.aituvi-result-heading>span{height:max-content;padding:7px 10px;border:1px solid rgba(245,158,11,.3);border-radius:999px;color:#fcd34d;font-size:.76rem}.aituvi-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:17px 0}.aituvi-day-card{display:flex;gap:10px;padding:15px;border:1px solid rgba(245,158,11,.22);border-radius:13px;background:#111329;color:#dfe8fa;text-align:left;cursor:pointer}.aituvi-day-card:hover,.aituvi-day-card.is-selected{border-color:#fbbf24;background:#211941}.aituvi-day-card>span{color:#fbbf24;font-weight:900}.aituvi-day-card p{margin:0;font-size:.76rem}.aituvi-day-card h3{margin:5px 0;color:#fff2d4;font:400 1.1rem Georgia,"Times New Roman",serif}.aituvi-day-card small{color:#91a5c6;font-size:.7rem}.aituvi-day-card em{display:block;margin-top:8px;color:#86efac;font-size:.72rem;font-style:normal}.aituvi-age-check{margin-top:14px;padding:15px;border:1px solid rgba(129,140,248,.2);border-radius:13px;background:rgba(34,39,73,.35)}.aituvi-age-check h3{margin:0 0 8px;color:#dfe7fb;font-size:.92rem}.aituvi-age-check ul{margin:0;padding-left:18px;color:#b8c8e3;font-size:.83rem;line-height:1.55}.aituvi-age-check b{color:#fcd34d}.aituvi-day-detail{margin-top:16px;padding:18px;border-left:3px solid #f59e0b;border-radius:0 14px 14px 0;background:linear-gradient(100deg,rgba(245,158,11,.1),rgba(139,92,246,.05))}.aituvi-day-detail h3{margin:0;color:#fff2d2;font:400 1.35rem Georgia,"Times New Roman",serif}.aituvi-day-detail p{color:#b8c8df;line-height:1.6}.aituvi-day-badges{display:flex;gap:7px;flex-wrap:wrap}.aituvi-day-badges span{padding:5px 8px;border:1px solid rgba(129,140,248,.27);border-radius:999px;color:#cdd8ed;font-size:.73rem}.aituvi-day-badges span.is-good{border-color:rgba(134,239,172,.35);color:#86efac}.aituvi-detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:16px 0}.aituvi-detail-grid section{padding:13px;border:1px solid rgba(129,140,248,.18);border-radius:11px;background:rgba(10,12,28,.44)}.aituvi-detail-grid h4{margin:0 0 9px;color:#fcd34d;font-size:.8rem}.aituvi-detail-grid p,.aituvi-hour-list{margin:0;color:#bdcbe2;font-size:.8rem;line-height:1.6}.aituvi-hour-list{display:grid;gap:5px;padding-left:17px}.aituvi-hour-list span{display:block;color:#9fb1d0}.aituvi-lucky-ai{margin-top:14px;padding:14px;border:1px solid rgba(34,211,238,.22);border-radius:11px;background:rgba(34,211,238,.06)}.aituvi-lucky-ai p:last-child{margin:0;color:#c1d2e8;white-space:pre-wrap;line-height:1.7}
.aituvi-context{display:flex;justify-content:space-between;gap:12px;padding:13px 15px;border:1px solid rgba(34,211,238,.22);border-radius:12px;background:rgba(29,43,76,.55);color:#fbbf24}.aituvi-context b{color:#e4ebfb}.aituvi-chat-log{display:grid;gap:12px;min-height:170px;max-height:520px;overflow:auto;margin:20px 0;padding:3px}.aituvi-chat-message{max-width:80%;padding:13px 15px;border-radius:14px;line-height:1.65;white-space:pre-wrap}.aituvi-chat-message.user{justify-self:end;background:#3a2855;color:#f3eaff}.aituvi-chat-message.assistant{justify-self:start;border-left:3px solid #f59e0b;background:rgba(31,24,51,.9);color:#eaf0ff}.aituvi-chat-panel form{display:flex;gap:9px}.aituvi-chat-panel form input{flex:1}.aituvi-face-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.aituvi-upload{display:grid;place-items:center;gap:8px;min-height:130px;margin-top:14px;border:1px dashed rgba(34,211,238,.45);border-radius:14px;background:rgba(32,37,74,.45);color:#dce7fb;cursor:pointer;text-align:center}.aituvi-upload input{display:none}.aituvi-upload small{color:#96abc8;font-size:.75rem}.aituvi-face-preview{display:grid;place-items:center;min-height:55px;margin:14px 0;padding:10px;border:1px solid rgba(129,140,248,.2);border-radius:12px;color:#a7b6d1;font-size:.83rem}.aituvi-consent{display:flex;gap:9px;align-items:flex-start;margin:14px 0;color:#b9c8e1;font-size:.82rem;line-height:1.55}.aituvi-face-output{white-space:pre-wrap;color:#e6edff;line-height:1.75}
#aituvi-toast{position:fixed;right:20px;bottom:20px;z-index:120;padding:11px 14px;border:1px solid rgba(245,158,11,.42);border-radius:10px;background:#211a35;color:#fff0cb;opacity:0;transform:translateY(10px);transition:.2s ease;pointer-events:none}#aituvi-toast.is-visible{opacity:1;transform:none}
@media(max-width:900px){.aituvi-nav-inner{align-items:flex-start;padding:13px 0;flex-direction:column;gap:10px}.aituvi-nav nav{justify-content:flex-start}.aituvi-main{min-height:calc(100vh - 122px)}.aituvi-foundation{grid-template-columns:repeat(2,minmax(0,1fr))}.aituvi-lucky-layout,.aituvi-face-layout{grid-template-columns:1fr}}
@media(max-width:680px){.aituvi-nav-inner,.aituvi-wrap{width:min(100% - 24px,1240px)}.aituvi-wrap{padding:28px 0 60px}.aituvi-intro h1{font-size:2.65rem}.aituvi-panel{padding:17px}.aituvi-form-grid,.aituvi-home-grid,.aituvi-modal-columns,.aituvi-detail-grid{grid-template-columns:1fr}.aituvi-panel-heading,.aituvi-result-heading{flex-direction:column}.aituvi-proof{white-space:normal}.aituvi-board{display:grid;grid-template-columns:1fr;grid-template-rows:none;gap:8px;background:transparent;border:0;overflow:visible}.aituvi-palace,.aituvi-celestial{grid-area:auto!important;min-height:110px;border:1px solid rgba(129,140,248,.22);border-radius:12px}.aituvi-celestial{order:-1}.aituvi-chat-panel form{flex-direction:column}.aituvi-chat-message{max-width:94%}.aituvi-lucky-form .aituvi-form-row{grid-template-columns:1fr}.aituvi-days{grid-template-columns:1fr}.aituvi-modal-backdrop{padding:10px}.aituvi-modal{max-height:calc(100vh - 20px);padding:18px}.aituvi-modal h2{font-size:1.5rem}}

/* Aituvi-style result board, scoped to the Lập Lá Số result only. */
.aituvi-horoscope-view{margin:0;background:#fffdf7;color:#17243a;border:1px solid #d8d1c4;border-radius:4px;box-shadow:0 16px 50px rgba(0,0,0,.22);overflow:hidden;font-family:Inter,ui-sans-serif,system-ui,sans-serif}
.aituvi-horoscope-tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-bottom:1px solid #e6e0d5;background:#fffdf9}
.aituvi-horoscope-tabs button{border:0;border-right:1px solid #eee9df;background:transparent;color:#132036;padding:18px 10px;font:700 1rem/1.2 inherit;cursor:pointer}
.aituvi-horoscope-tabs button:last-child{border-right:0}.aituvi-horoscope-tabs button:hover,.aituvi-horoscope-tabs button.is-active{background:#a83b13;color:#fff;box-shadow:inset 0 -3px #a83b13}
.aituvi-horoscope-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:28px 34px 24px;background:#fffdf7}.aituvi-horoscope-kicker{margin:0 0 5px;color:#a83b13;font-size:.7rem;font-weight:900;letter-spacing:.16em}.aituvi-horoscope-heading h1{margin:0;color:#14223a;font:800 clamp(1.7rem,3.2vw,2.5rem)/1.1 Inter,ui-sans-serif,sans-serif;letter-spacing:-.02em}.aituvi-horoscope-heading p:not(.aituvi-horoscope-kicker){margin:8px 0 0;color:#596578;font-size:.9rem}.aituvi-horoscope-cta{border:0;border-radius:999px;background:#a83b13;color:#fff;padding:13px 22px;font:800 .95rem/1 inherit;white-space:nowrap;cursor:pointer;box-shadow:0 6px 16px rgba(168,59,19,.2)}
.aituvi-horoscope-board-wrap{padding:0 34px 30px;background:#fffdf7}.aituvi-horoscope-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(4,minmax(195px,auto));gap:1px;background:#d8d3ca;border:1px solid #d8d3ca;position:relative;overflow:hidden}.aituvi-horoscope-palace{position:relative;display:flex;flex-direction:column;min-width:0;padding:12px 10px 9px;background:rgba(255,254,249,.96);border:0;color:#18253a;text-align:left;cursor:pointer;font:inherit}.aituvi-horoscope-palace:hover,.aituvi-horoscope-palace:focus-visible{z-index:2;background:#fff5dc;box-shadow:inset 0 0 0 2px #d87525;outline:none}.aituvi-horoscope-palace header{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:7px;border-bottom:1px solid #ece6db;padding-bottom:8px}.aituvi-horo-can-chi{color:#c24737;font-size:.72rem;font-weight:800}.aituvi-horoscope-palace:nth-child(3n) .aituvi-horo-can-chi{color:#9c5b11}.aituvi-horoscope-palace header strong{color:#131f33;font-size:.75rem;letter-spacing:.04em}.aituvi-horoscope-palace header em{color:#5c6a7c;font-size:.7rem;font-style:normal}.aituvi-horo-primary{display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 0 6px;min-height:40px}.aituvi-horo-star{display:block;font-size:.77rem;line-height:1.38}.aituvi-horo-star b{font-weight:800}.aituvi-horo-star.is-primary{color:#e77710;font-size:.92rem;font-weight:800}.aituvi-horo-star.is-primary b{color:#e14e42}.aituvi-horo-star.is-good{color:#0d8d64}.aituvi-horo-star.is-bad{color:#ed514d}.aituvi-horo-stars{display:grid;grid-template-columns:1fr 1fr;gap:6px}.aituvi-horo-stars>div{display:flex;flex-direction:column;gap:2px}.aituvi-horo-stars>div:last-child{text-align:right}.aituvi-horo-stars>div:last-child .aituvi-horo-star{color:#e24f4a}.aituvi-horo-empty{color:#7b8795;font-size:.75rem;font-style:italic}.aituvi-horoscope-palace footer{display:flex;justify-content:space-between;gap:6px;margin-top:auto;padding-top:10px;color:#5f6b7a;font-size:.68rem}.aituvi-horo-flag{position:absolute;top:8px;right:8px;background:#ed453d;color:#fff;padding:2px 4px;font-size:.55rem;font-style:normal;font-weight:900}.aituvi-horo-flag.is-than{right:auto;left:8px;background:#ef3030}.aituvi-horoscope-center{grid-area:2 / 2 / 4 / 4;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;padding:22px 28px;background:radial-gradient(circle at center,rgba(224,169,82,.09),transparent 65%),#fffdf7;text-align:center}.aituvi-horo-watermark{position:absolute;inset:16% 10%;display:grid;place-items:center;color:rgba(208,139,39,.08);font-family:Georgia,serif;font-size:4.4rem;letter-spacing:.2em;writing-mode:vertical-rl;pointer-events:none}.aituvi-horoscope-center p{position:relative;margin:0;color:#596578;font-size:.65rem;letter-spacing:.08em}.aituvi-horoscope-center a{position:relative;margin-top:7px;color:#188ce0;font-size:1rem}.aituvi-horoscope-center hr{position:relative;width:42%;border:0;border-top:1px solid #c9c2b7;margin:13px 0}.aituvi-horoscope-center h3{position:relative;margin:0 0 8px;color:#17243a;font-size:1rem;letter-spacing:.06em}.aituvi-horoscope-center>strong{position:relative;color:#17243a;font-size:1.05rem}.aituvi-horoscope-center dl{position:relative;display:grid;grid-template-columns:auto 1fr;column-gap:16px;row-gap:3px;margin:15px 0 0;text-align:left;font-size:.72rem;line-height:1.35}.aituvi-horoscope-center dt{color:#687488}.aituvi-horoscope-center dd{margin:0;color:#17243a;font-weight:700}.aituvi-horoscope-actions{display:flex;gap:10px;padding:0 34px 30px;background:#fffdf7}.aituvi-horoscope-actions .aituvi-button{border-color:#b9782d;color:#9e461c;background:#fff8e9}.aituvi-horoscope-actions .aituvi-button:hover{background:#a83b13;color:#fff}
@media(max-width:900px){.aituvi-horoscope-heading{align-items:flex-start;flex-direction:column;padding:24px}.aituvi-horoscope-cta{align-self:flex-start}.aituvi-horoscope-board-wrap{padding:0 24px 24px}.aituvi-horoscope-board{grid-template-rows:repeat(4,minmax(170px,auto))}.aituvi-horoscope-center{padding:16px}.aituvi-horoscope-center dl{font-size:.65rem}.aituvi-horoscope-actions{padding:0 24px 24px;flex-wrap:wrap}}
@media(max-width:620px){.aituvi-horoscope-tabs{grid-template-columns:repeat(4,minmax(0,1fr));overflow:auto}.aituvi-horoscope-tabs button{font-size:.76rem;padding:12px 7px;white-space:nowrap}.aituvi-horoscope-tabs button:nth-child(n+5){display:none}.aituvi-horoscope-heading{padding:20px 16px}.aituvi-horoscope-board-wrap{padding:0 16px 16px}.aituvi-horoscope-board{display:flex;flex-direction:column;gap:6px;background:#fffdf7;border:0}.aituvi-horoscope-palace,.aituvi-horoscope-center{min-height:170px;border:1px solid #d8d3ca}.aituvi-horoscope-center{order:-1}.aituvi-horoscope-actions{padding:0 16px 20px}.aituvi-horoscope-actions .aituvi-button{flex:1;min-width:130px}}
.aituvi-horoscope-view{padding:0!important}
.aituvi-horoscope-palace footer{padding:10px 0 0!important;border:0!important;background:transparent!important}
.aituvi-modal>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:15px;border-bottom:1px solid rgba(129,140,248,.2)}.aituvi-modal>header h2{flex:1;text-align:center}.aituvi-icon-button{border:1px solid rgba(129,140,248,.3);border-radius:9px;padding:8px 11px;background:#151a32;color:#d8e1fb;cursor:pointer}.aituvi-modal-scroll{overflow:auto;padding-top:15px}.aituvi-detail-tags{display:flex;gap:7px;flex-wrap:wrap}.aituvi-detail-tags span{padding:5px 9px;border:1px solid rgba(167,139,250,.3);border-radius:999px;color:#d9cdfb;font-size:.75rem}.aituvi-detail-title{display:flex;align-items:center;gap:9px;margin:17px 0 11px}.aituvi-detail-title h3{margin:0;color:#fff4d9;font:400 1.5rem Georgia,"Times New Roman",serif}.aituvi-ai-pill{padding:4px 8px;border-radius:7px;background:#f59e0b;color:#24162a;font-size:.72rem;font-weight:900}.aituvi-primary{padding:15px;border-left:3px solid #f59e0b;border-radius:0 12px 12px 0;background:rgba(245,158,11,.09)}.aituvi-primary>p,.aituvi-star-columns h4,.aituvi-transit>p{margin:0 0 9px;color:#fbbf24;font-size:.72rem;font-weight:800;letter-spacing:.13em}.aituvi-primary ul,.aituvi-star-list{display:grid;gap:7px;margin:0;padding-left:18px;color:#e5ebfb}.aituvi-primary li,.aituvi-star-list li{line-height:1.45}.aituvi-primary li span,.aituvi-star-list li span{color:#edf2ff}.aituvi-primary li b,.aituvi-star-list li b{margin-left:6px;color:#fbbf24;font-size:.75rem}.aituvi-star-columns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.aituvi-star-columns>section{padding:15px;border:1px solid rgba(129,140,248,.2);border-radius:13px;background:rgba(8,10,24,.48)}.aituvi-star-columns h4{color:#a9ddb8}.aituvi-star-columns>section:last-child h4{color:#f2b56b}.aituvi-transit{margin-top:14px;padding:13px 15px;border-radius:12px;background:rgba(34,211,238,.09);color:#a9dceb}.aituvi-transit>p{color:#9bc5db}.aituvi-phi-divider{margin:13px 0 7px;padding-top:10px;border-top:1px solid rgba(129,140,248,.18);color:#aab8d6;font-size:.78rem}.aituvi-phi-row{display:grid;grid-template-columns:120px 1fr;gap:10px;padding:7px 0;color:#c0cde5;font-size:.84rem}.aituvi-phi-row b{color:#f4d277}.aituvi-phi-row i{color:#fbbf24;font-style:normal}.aituvi-muted{color:#8d9bb7;font-size:.82rem}.aituvi-reading{margin-top:16px;padding:16px;border:1px solid rgba(129,140,248,.2);border-radius:14px;background:rgba(16,18,42,.6)}.aituvi-reading-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.aituvi-reading-head h3{margin:0;color:#fff1d2;font:400 1.25rem Georgia,"Times New Roman",serif}.aituvi-reading-tabs{display:flex;gap:7px;margin:15px 0 10px}.aituvi-reading-tabs button{border:1px solid rgba(129,140,248,.28);border-radius:999px;padding:8px 11px;background:transparent;color:#abb8d3;cursor:pointer}.aituvi-reading-tabs button.is-active{border-color:#fbbf24;background:#fbbf24;color:#241629;font-weight:800}.aituvi-reading article{color:#cbd8ed;line-height:1.75}.aituvi-reading article h4{color:#fcd34d;font-size:.82rem;letter-spacing:.09em}.aituvi-reading blockquote{margin:10px 0;padding:11px 13px;border-left:3px solid #f59e0b;background:rgba(245,158,11,.07);color:#fff0cf}.aituvi-modal-footer{display:flex;justify-content:space-between;align-items:center;margin-top:17px;padding-top:15px;border-top:1px solid rgba(129,140,248,.2);color:#9eacce}.aituvi-modal-footer .aituvi-button{padding:9px 12px}
.tuvi-3d-loader{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);padding:.6rem .9rem;border:1px solid rgba(232,184,75,.28);border-radius:999px;background:rgba(7,11,22,.72);color:#d9e4ff;font-size:.8rem;letter-spacing:.04em;white-space:nowrap;backdrop-filter:blur(8px)}

/* Compact spacing for the deterministic lucky-day workspace. The legacy site
   stylesheet gives every section a large landing-page padding; these scoped
   overrides keep only Xem Ngày Lành dense without changing other routes. */
.aituvi-wrap:has(.aituvi-lucky-form) .aituvi-intro{padding:0!important}
.aituvi-wrap:has(.aituvi-lucky-form){padding-top:32px;padding-bottom:54px}
.aituvi-wrap:has(.aituvi-lucky-form) .aituvi-intro{margin-bottom:24px}
.aituvi-lucky-form{gap:12px}
.aituvi-lucky-result{margin-top:14px}
.aituvi-result-heading{padding-bottom:12px}
.aituvi-days{margin:12px 0;gap:10px}
.aituvi-day-card{padding:13px}
.aituvi-age-check{margin-top:10px;padding:12px}
.aituvi-day-detail{margin-top:12px;padding:15px}
.aituvi-detail-grid{margin:12px 0;gap:10px}
.aituvi-lucky-ai{margin-top:10px;padding:11px}

/* Restore the polished two-column birth form controls used by the original
   Lập Lá Số screen. The global stylesheet only styles .tb-field wrappers;
   this rebuilt form keeps the same .tb-* visual language while using the
   current deterministic form id. */
.tb-birth-card form{display:grid;gap:0}
.tb-grid label{display:flex;flex-direction:column;gap:8px;color:var(--tb-cream);font-size:.88rem;font-weight:600}
.tb-grid label small{margin-left:4px;color:var(--tb-muted);font-size:.73rem;font-weight:400}
.tb-grid label input,.tb-grid label select{width:100%;box-sizing:border-box;background:rgba(4,3,10,.55);border:1px solid rgba(230,199,120,.22);color:var(--tb-text);border-radius:10px;padding:12px 13px;font:400 .95rem/1.4 "Be Vietnam Pro",sans-serif;outline:none}
.tb-grid label input:focus,.tb-grid label select:focus{border-color:var(--tb-gold);box-shadow:0 0 0 3px rgba(230,199,120,.12)}
.tb-grid label.tb-toggle{flex-direction:row;align-items:center;gap:10px;min-height:46px;margin-top:20px}
.tb-grid label.tb-toggle input{width:17px;height:17px;padding:0;accent-color:#f59e0b}

/* Dream dictionary: compact working surface with readable, high-signal cards. */
.dream-workspace{display:grid;gap:16px}.dream-search-panel{padding:18px;border:1px solid rgba(230,199,120,.24);border-radius:16px;background:linear-gradient(145deg,rgba(35,24,58,.92),rgba(14,13,29,.94));box-shadow:0 14px 34px rgba(0,0,0,.18)}.dream-search-form{display:flex;gap:10px;align-items:center}.dream-search-form input{flex:1;min-width:0;border:1px solid rgba(230,199,120,.32);border-radius:11px;padding:14px 16px;background:rgba(4,3,12,.8);color:var(--tb-text);font:inherit;outline:none}.dream-search-form input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.12)}.dream-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.dream-pill{border:1px solid rgba(129,140,248,.34);border-radius:999px;padding:8px 12px;background:rgba(25,28,54,.74);color:#c9cdf0;font:inherit;font-size:.86rem;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.dream-pill:hover{border-color:#f59e0b;background:rgba(245,158,11,.12);transform:translateY(-1px)}.dream-results-head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-top:4px}.dream-results-head h2{margin:2px 0 0;color:var(--tb-cream);font-family:Georgia,serif;font-size:clamp(1.5rem,3vw,2.05rem)}.dream-result-count{color:var(--tb-muted);font-size:.85rem}.dream-results-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dream-result-card{display:grid;gap:12px;padding:17px;border:1px solid rgba(230,199,120,.22);border-radius:14px;background:linear-gradient(150deg,rgba(30,22,49,.96),rgba(15,12,28,.98));min-width:0}.dream-result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.dream-result-card h3{margin:0;color:var(--tb-cream);font:700 1.18rem/1.25 Georgia,serif}.dream-omen{flex:0 0 auto;border:1px solid currentColor;border-radius:999px;padding:4px 9px;font-size:.75rem;font-weight:800;letter-spacing:.03em}.dream-omen.is-dai-cat{color:#fbbf24;background:rgba(245,158,11,.13)}.dream-omen.is-cat{color:#86efac;background:rgba(34,197,94,.1)}.dream-omen.is-binh-hoa{color:#93c5fd;background:rgba(59,130,246,.1)}.dream-omen.is-hung{color:#fdba74;background:rgba(249,115,22,.1)}.dream-omen.is-dai-hung{color:#fca5a5;background:rgba(239,68,68,.1)}.dream-meaning{margin:0;color:var(--tb-muted);font-size:.94rem;line-height:1.62}.dream-meaning strong{color:#f4d27f}.dream-number{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:rgba(20,27,52,.78);color:var(--tb-muted);font-size:.82rem}.dream-number b{color:#fbbf24;letter-spacing:.08em;font-size:1rem}.dream-ai-button,.dream-custom-ai{border:1px solid rgba(245,158,11,.45);border-radius:10px;padding:10px 12px;background:rgba(245,158,11,.1);color:#fbbf24;font:700 .86rem/1.2 inherit;cursor:pointer;text-align:left}.dream-ai-button:hover,.dream-custom-ai:hover{background:#f59e0b;color:#1b1020}.dream-custom-ai{justify-self:start}.dream-empty{padding:24px;border:1px dashed rgba(230,199,120,.3);border-radius:14px;color:var(--tb-muted);text-align:center}.dream-analysis{padding:18px;border:1px solid rgba(245,158,11,.45);border-left:3px solid #f59e0b;border-radius:14px;background:linear-gradient(145deg,rgba(43,29,63,.96),rgba(18,14,34,.98));color:var(--tb-text);font-size:.98rem;line-height:1.72;white-space:pre-wrap}.dream-analysis-kicker{margin-bottom:8px;color:#fbbf24;font-size:.78rem;font-weight:800;letter-spacing:.12em}.dream-analysis-loading{color:#fbbf24}.dream-analysis-error{color:#fecaca;border-color:rgba(248,113,113,.5)}@media(max-width:760px){.dream-search-form{flex-direction:column;align-items:stretch}.dream-search-form .aituvi-button{width:100%}.dream-results-grid{grid-template-columns:1fr}.dream-results-head{align-items:flex-start;flex-direction:column;gap:5px}.dream-result-card h3{font-size:1.08rem}}

/* Account surface: deliberately scoped so the original homepage and legacy
   Vấn Đạo/Soi Tướng layouts keep their established navigation. */
.tb-account-slot{position:relative;display:inline-flex;align-items:center}.tb-account-slot.is-authenticated{margin-left:2px}.tb-auth-loading{color:var(--tb-muted);font-size:.85rem}.tb-auth-menu{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(230,199,120,.22);border-radius:12px;padding:6px 9px;background:rgba(18,14,31,.82);color:var(--tb-text);cursor:pointer;font:inherit;text-align:left}.tb-auth-menu:hover{border-color:var(--tb-gold);background:rgba(53,35,69,.8)}.tb-auth-menu>span:nth-child(2){display:flex;flex-direction:column;line-height:1.12}.tb-auth-menu b{font-size:.82rem;font-weight:700}.tb-auth-menu small{margin-top:3px;color:#fbbf24;font-size:.68rem}.tb-auth-avatar{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:linear-gradient(135deg,#f59e0b,#8b5cf6);color:#170f20;font-size:.8rem;font-weight:900}.tb-auth-dropdown{position:absolute;z-index:20;right:0;top:calc(100% + 8px);display:flex;min-width:170px;flex-direction:column;padding:6px;border:1px solid rgba(230,199,120,.25);border-radius:12px;background:#141126;box-shadow:0 18px 42px rgba(0,0,0,.35)}.tb-auth-dropdown a,.tb-auth-dropdown button{border:0;border-radius:8px;padding:10px 11px;background:transparent;color:var(--tb-text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.tb-auth-dropdown a:hover,.tb-auth-dropdown button:hover{background:rgba(245,158,11,.12);color:#fbbf24}.aituvi-auth-panel{max-width:560px;margin:0 auto;padding:26px!important}.aituvi-auth-tabs{display:flex;gap:8px;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid rgba(230,199,120,.16)}.aituvi-auth-tabs button{border:1px solid rgba(230,199,120,.26);border-radius:999px;padding:9px 17px;background:transparent;color:var(--tb-muted);font:inherit;cursor:pointer}.aituvi-auth-tabs button.is-active{border-color:#f59e0b;background:#f59e0b;color:#1b1020;font-weight:800}.aituvi-auth-form{display:grid;gap:14px}.aituvi-auth-form label{display:grid;gap:7px;color:var(--tb-cream);font-size:.9rem;font-weight:700}.aituvi-auth-form input{box-sizing:border-box;width:100%;border:1px solid rgba(230,199,120,.22);border-radius:10px;padding:12px 13px;background:rgba(3,3,12,.58);color:var(--tb-text);font:inherit;outline:none}.aituvi-auth-form input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.12)}.aituvi-auth-error{margin:0;padding:10px 12px;border:1px solid rgba(248,113,113,.45);border-radius:9px;background:rgba(127,29,29,.22);color:#fecaca}.aituvi-auth-divider{display:flex;align-items:center;gap:10px;margin:20px 0 13px;color:var(--tb-muted);font-size:.8rem}.aituvi-auth-divider:before,.aituvi-auth-divider:after{content:"";height:1px;flex:1;background:rgba(230,199,120,.16)}.aituvi-auth-google{width:100%;border:1px solid rgba(129,140,248,.34);border-radius:10px;padding:12px;background:#141a32;color:#e9edff;font:700 .95rem/1.2 inherit;cursor:pointer}.aituvi-auth-google:hover{border-color:#a78bfa;background:#1b2241}.aituvi-auth-note{margin:13px 0 0;color:var(--tb-muted);font-size:.78rem;line-height:1.5}@media(max-width:700px){.tb-account-slot{width:100%}.tb-auth-menu{width:100%;justify-content:flex-start}.tb-auth-dropdown{left:0;right:auto}.aituvi-auth-panel{padding:20px!important}}
/* Vấn Đạo guest answer: restore the generous, highlighted reading card. */
.tb-da-guest .tb-chat-log{min-height:190px;max-height:520px;padding:4px 6px 12px;gap:16px;scrollbar-gutter:stable}
.tb-da-guest .tb-message.assistant.tb-markdown{box-sizing:border-box;width:min(100%,900px);max-width:100%;padding:22px 26px 24px;border:1px solid rgba(245,158,11,.34);border-left:4px solid #f59e0b;border-radius:18px;background:linear-gradient(145deg,rgba(47,32,68,.98),rgba(25,19,44,.98));box-shadow:0 12px 30px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,236,176,.06);line-height:1.72;font-size:.98rem}
.tb-da-guest .tb-message.assistant.tb-markdown.has-structured:before{content:"✦  GIẢI MÃ THIÊN CƠ";display:block;margin:0 0 16px;padding-bottom:11px;border-bottom:1px solid rgba(245,158,11,.2);color:#fbbf24;font-size:.76rem;font-weight:900;letter-spacing:.14em}
.tb-da-guest .tb-markdown h1,.tb-da-guest .tb-markdown h2,.tb-da-guest .tb-markdown h3{margin:1.15em 0 .55em;padding:10px 14px;border-left:3px solid #fbbf24;border-radius:0 10px 10px 0;background:linear-gradient(90deg,rgba(245,158,11,.16),rgba(245,158,11,0));color:#ffe08a;font-family:Georgia,"Times New Roman",serif;font-size:1.18rem;line-height:1.35}
.tb-da-guest .tb-markdown h3:first-child{margin-top:0}
.tb-da-guest .tb-markdown p{margin:.75em 0;color:#f6f4fb;line-height:1.75}
.tb-da-guest .tb-markdown strong{color:#ffd45c;font-weight:900}
.tb-da-guest .tb-markdown ul,.tb-da-guest .tb-markdown ol{margin:.8em 0;padding:12px 16px 12px 34px;border:1px solid rgba(245,158,11,.13);border-radius:12px;background:rgba(245,158,11,.045)}
.tb-da-guest .tb-markdown li{margin:.38em 0;padding-left:3px}
.tb-da-guest .tb-markdown li::marker{color:#fbbf24;font-weight:900}
@media(max-width:700px){.tb-da-guest .tb-chat-log{max-height:460px;padding-inline:0}.tb-da-guest .tb-message.assistant.tb-markdown{padding:18px 17px 20px;font-size:.94rem}.tb-da-guest .tb-message.assistant.tb-markdown.has-structured:before{font-size:.68rem}.tb-da-guest .tb-markdown h1,.tb-da-guest .tb-markdown h2,.tb-da-guest .tb-markdown h3{font-size:1.05rem}}

/* Keep Vietnamese diacritics and inline emphasis aligned in Vấn Đạo replies. */
.tb-da-guest .tb-message.assistant.tb-markdown,
.tb-da-guest .tb-message.assistant.tb-markdown p,
.tb-da-guest .tb-message.assistant.tb-markdown li{min-width:0;overflow-wrap:anywhere;word-break:normal;text-rendering:optimizeLegibility;font-kerning:normal;font-synthesis:none}
.tb-da-guest .tb-message.assistant.tb-markdown strong{display:inline;font-family:"Be Vietnam Pro",system-ui,sans-serif;font-size:1em;font-weight:700;letter-spacing:normal;word-spacing:normal;white-space:normal;vertical-align:baseline}
