/* Trang tra cứu công khai — ưu tiên điện thoại (một tay, vùng chạm ≥ 44 px) */
body{padding-bottom:env(safe-area-inset-bottom)}
.pub-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:8px 14px;padding-top:calc(8px + env(safe-area-inset-top));background:var(--primary);color:#fff;border-bottom:3px solid var(--gold)}
.pub-top img{width:34px;height:auto}.pub-top b{font-size:1rem;line-height:1.2}
.pub{max-width:920px;margin:0 auto;padding:6px 14px 90px}
.hero{text-align:center;padding:10px 0 4px}.hero h1{font-size:1.35rem;margin:6px 0 4px}.hero p{margin:0 auto 8px;max-width:560px;font-size:.92rem}
.searchwrap{position:sticky;top:55px;z-index:15;background:linear-gradient(var(--bg) 82%,transparent);padding:8px 0 10px;margin:0 -14px;padding-left:14px;padding-right:14px}
.sbar{display:flex;gap:8px;align-items:stretch}
.sfield{position:relative;flex:1}
.sfield input{height:52px;padding:0 44px 0 16px;border-radius:26px;font-size:1rem;border:2px solid var(--border);box-shadow:var(--shadow)}
.sfield input:focus{border-color:var(--primary);outline:0}
.sclear{position:absolute;right:6px;top:6px;width:40px;height:40px;border:0;border-radius:50%;background:#EEF1F6;color:var(--muted);font-size:1.1rem;cursor:pointer}
.sgo{height:52px;border-radius:26px;padding:0 20px;font-size:1rem}
.chips{display:flex;gap:8px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.chips::-webkit-scrollbar{display:none}
.chipb{flex:none;min-height:40px;padding:0 14px;border-radius:20px;border:1px solid var(--border);background:var(--surface);cursor:pointer;font-weight:500;white-space:nowrap}
.chipb[aria-pressed=true]{background:var(--primary);border-color:var(--primary);color:#fff}
.chipb.sug{background:#F3F8FF;border-color:#CFE0F7;color:var(--primary-dark)}
.optrow{display:flex;gap:10px;align-items:center;font-size:.86rem;color:var(--muted);margin:4px 0}
.optrow input[type=date]{min-height:38px;width:auto;padding:4px 8px}
.rescount{font-size:.88rem;color:var(--muted);margin:8px 2px}
.hit{margin:10px 0;padding:14px;border-radius:14px}
.hit h3{margin:0 0 6px;font-size:.98rem;line-height:1.35}
.hit .ex{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.95rem;line-height:1.6}
.hit .ex.clamp{display:-webkit-box;-webkit-line-clamp:7;-webkit-box-orient:vertical;overflow:hidden}
.hit mark{background:#FFE58A;padding:0 1px;border-radius:2px}
.hit .btns{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.hit .btns .btn{flex:1 1 140px}
.vchip{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:600;padding:2px 9px;border-radius:999px;border:1px solid}
.vchip.ok{background:var(--green-bg);color:var(--green);border-color:#BFE0CA}.vchip.warn{background:var(--amber-bg);color:var(--amber-fg);border-color:#EBD28A}.vchip.bad{background:var(--red-bg);color:var(--red);border-color:#F0BABA}.vchip.info{background:var(--blue-bg);color:var(--primary);border-color:#BFD5EF}
.doc{margin:10px 0;padding:14px;border-radius:14px}
.doc .no{font-weight:700;color:var(--primary-dark)}.doc .tt{margin:4px 0 8px;line-height:1.4}
.doc .meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:.84rem;color:var(--muted)}
.doc .btns{display:flex;gap:8px;margin-top:10px}.doc .btns .btn{flex:1}
.foot{margin-top:28px;font-size:.82rem;color:var(--muted);border-top:1px solid var(--border);padding-top:12px;line-height:1.55}
.skel{height:120px;border-radius:14px;margin:10px 0;background:linear-gradient(90deg,#EEF1F6,#F8FAFD,#EEF1F6);background-size:200% 100%;animation:sk 1.2s linear infinite}
@keyframes sk{to{background-position:-200% 0}}
.totop{position:fixed;right:14px;bottom:calc(16px + env(safe-area-inset-bottom));width:46px;height:46px;border-radius:50%;border:0;background:var(--primary);color:#fff;font-size:1.2rem;box-shadow:var(--shadow);cursor:pointer;z-index:18}
@media (max-width:900px){.src{top:0;z-index:60;padding-top:env(safe-area-inset-top)}.src-head{position:sticky;top:0}.pub-top b{font-size:.95rem}.hero h1{font-size:1.2rem}}
@media (min-width:700px){.sfield input{height:56px}.sgo{height:56px}}
@media (prefers-reduced-motion:reduce){.skel{animation:none}}

/* Quả cầu AI "cực quang": vòng sáng nhiều màu trôi chậm quanh lõi tối, sóng âm ở giữa */
.orb{--s:118px;position:relative;width:var(--s);height:var(--s);margin:4px auto 10px;border-radius:50%;isolation:isolate}
.orb::before{content:"";position:absolute;inset:-34%;border-radius:50%;z-index:-1;background:conic-gradient(from 0deg,rgba(255,61,129,.42),rgba(255,179,71,.34),rgba(45,226,200,.40),rgba(59,107,255,.46),rgba(162,75,255,.42),rgba(255,61,129,.42));filter:blur(24px);animation:spin 14s linear infinite;opacity:.9}
.orb-core{position:absolute;inset:0;border-radius:50%;overflow:hidden;background:#050a1e;box-shadow:inset 0 0 0 1px rgba(255,255,255,.22),inset 0 -14px 30px rgba(0,0,0,.55),0 14px 34px -12px rgba(30,60,200,.6)}
.aur{position:absolute;inset:-28%;border-radius:50%;filter:blur(11px);mix-blend-mode:screen}
.a1{background:conic-gradient(from 0deg,#ff3d81,#ffb347,#2de2c8,#3b6bff,#a24bff,#ff3d81);animation:spin 8s linear infinite;opacity:.95}
.a2{background:conic-gradient(from 140deg,transparent 0 18%,#00e5ff 30%,transparent 48%,#ff7ad9 68%,transparent 86%);animation:spin 5.5s linear infinite reverse;opacity:.75}
.a3{inset:6%;background:conic-gradient(from 60deg,#ffd166,transparent 30%,#7c5cff 55%,transparent 80%,#ffd166);animation:spin 11s linear infinite;opacity:.7;filter:blur(9px)}
.hole{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,rgba(4,9,28,.96) 0,rgba(4,9,28,.82) 26%,rgba(4,9,28,.0) 58%),radial-gradient(circle,transparent 64%,rgba(3,7,24,.7) 100%)}
.wave{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;gap:4px;align-items:center;height:34%}
.wave i{display:block;width:4px;height:100%;border-radius:3px;background:linear-gradient(#fff,#9fd0ff);box-shadow:0 0 8px rgba(160,210,255,.9);transform-origin:center;animation:w 1.6s ease-in-out infinite}
.wave i:nth-child(1){animation-delay:-.1s;height:45%}.wave i:nth-child(2){animation-delay:-.45s;height:80%}.wave i:nth-child(3){animation-delay:-.25s;height:100%}.wave i:nth-child(4){animation-delay:-.7s;height:70%}.wave i:nth-child(5){animation-delay:-.35s;height:40%}
.rim{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 58%,rgba(255,255,255,.85) 66%,transparent 74%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2.5px),#000 calc(100% - 1.5px));animation:spin 5s linear infinite}
.gloss{position:absolute;left:16%;top:7%;width:58%;height:30%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.42),transparent);filter:blur(2px);transform:rotate(-16deg)}
.orb.busy .a1{animation-duration:3s}.orb.busy .a2{animation-duration:2s}.orb.busy .a3{animation-duration:4s}.orb.busy .rim{animation-duration:1.2s}.orb.busy .wave i{animation-duration:.55s}.orb.busy::before{animation-duration:5s}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes w{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){.aur,.rim,.orb::before,.wave i{animation:none}}

.askbtn{width:100%;margin-top:8px;min-height:48px;font-weight:700;border-radius:24px}
