:root{color-scheme:light;--ink:#131e26;--brand:#2a6cab;--brand2:#2f80c7;--violet:#2cc4f5;--amber:#f0a500;--mute:#5d6c77;--side:#fff;--hover:#f2f2f5;--on:#e9ecee;--line:#d2e1ec;--chip:#e7eef5;--code:#eff4f8;--err:#c62828;--canvas:#f8fbfc;
  --sh-1:0 1px 2px rgba(17,50,74,.06),0 1px 1px rgba(17,50,74,.05);
  --sh-2:0 3px 8px rgba(17,50,74,.10),0 1px 3px rgba(17,50,74,.07);
  --sh-3:0 10px 26px rgba(17,50,74,.16),0 2px 6px rgba(17,50,74,.08);
  --rim:inset 0 1px 0 rgba(255,255,255,.7)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;margin:0}
body{color:var(--ink);font:16px/1.6 'Schibsted Grotesk',system-ui,sans-serif;display:flex;background:var(--canvas)}
button{font:inherit;color:inherit;cursor:pointer}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px}

/* Aurora: lapisan ungu yang mengalir pelan di belakang seluruh layar */
.aurora{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.aurora i{position:absolute;display:block;border-radius:50%;filter:blur(64px);opacity:.5;will-change:transform}
.aurora .a1{width:58vmax;height:58vmax;left:-18vmax;top:-24vmax;background:radial-gradient(circle at 35% 35%,var(--brand2),transparent 72%);animation:aur1 30s ease-in-out infinite}
.aurora .a2{width:50vmax;height:50vmax;right:-16vmax;top:-6vmax;background:radial-gradient(circle at 60% 40%,var(--violet),transparent 72%);animation:aur2 36s ease-in-out infinite}
.aurora .a3{width:62vmax;height:62vmax;left:6vmax;bottom:-34vmax;background:radial-gradient(circle at 50% 50%,var(--brand),transparent 72%);animation:aur3 42s ease-in-out infinite}
@keyframes aur1{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(5vmax,4vmax) scale(1.08)}66%{transform:translate(-3vmax,6vmax) scale(.95)}}
@keyframes aur2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-7vmax,5vmax) scale(1.1)}}
@keyframes aur3{0%,100%{transform:translate(0,0) scale(1)}40%{transform:translate(4vmax,-5vmax) scale(1.05)}70%{transform:translate(-4vmax,-2vmax) scale(.97)}}
@media(prefers-reduced-motion:reduce){.aurora i{animation:none}}

.eye{display:block;width:28px;height:28px;flex:none;background:url(../img/icon-96.png) center/contain no-repeat}

aside{width:280px;flex:none;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px 12px 12px;gap:14px;box-shadow:3px 0 18px rgba(17,50,74,.05);position:relative;z-index:2}
.dhead{display:flex;align-items:center;justify-content:space-between;padding:0 4px}
#close{display:none;width:40px;height:40px;border:0;border-radius:12px;background:none;place-items:center;color:var(--mute)}
#new{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px 14px;font-weight:600;box-shadow:var(--sh-1),var(--rim);transition:box-shadow .15s,transform .1s}
#new:active{box-shadow:var(--sh-1);transform:translateY(1px)}
.grp{display:flex;flex-direction:column;gap:2px;min-height:0}
.grp.grow{flex:1}
.gl{font-size:13px;font-weight:600;color:var(--mute);padding:0 12px 6px}
#list{flex:1;overflow:auto;display:flex;flex-direction:column;gap:2px}
.empty-h{color:var(--mute);font-size:14.5px;padding:6px 12px}
.row,.conv{display:flex;align-items:center;border-radius:12px;transition:box-shadow .15s,transform .1s}
.row{width:100%;background:none;border:0;text-align:left;padding:12px;justify-content:space-between;font-size:15.5px}
.row svg{color:var(--mute)}
@media(hover:hover){#new:hover{box-shadow:var(--sh-2),var(--rim);transform:translateY(-1px)}.row:hover,.conv:hover{background:var(--hover);box-shadow:var(--sh-1)}.conv:hover .x{opacity:1}}
.conv.on{background:#fff;box-shadow:var(--sh-2);color:var(--brand)}
.conv .t{flex:1;min-width:0;background:none;border:0;text-align:left;padding:10px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:15px}
.conv .x{background:none;border:0;color:var(--mute);padding:6px 12px;opacity:0;font-size:18px;line-height:1}
.conv .x:focus-visible{opacity:1}
@media(hover:none){.conv .x{opacity:.6}}

main{flex:1;min-width:0;height:100dvh;display:flex;flex-direction:column}
header{display:flex;align-items:center;gap:12px;padding:12px 16px;flex:none;background:transparent;position:relative;z-index:1}
#menu{width:44px;height:44px;border-radius:14px;border:0;background:transparent;display:grid;place-items:center;color:var(--ink);box-shadow:var(--sh-1);transition:box-shadow .15s,transform .1s,background .15s}
#menu:hover{background:var(--hover);box-shadow:var(--sh-2)}
#menu:active{transform:translateY(1px);box-shadow:var(--sh-1)}
.brand{display:flex;align-items:center;gap:8px;font:700 22px 'Bricolage Grotesque',sans-serif}
#login{width:100%;background:linear-gradient(180deg,var(--brand2),var(--brand));color:#fff;border:0;border-radius:14px;padding:13px 20px;font-weight:600;box-shadow:0 3px 10px rgba(29,80,117,.35),var(--rim);transition:box-shadow .15s,transform .1s}
#login:active{transform:translateY(1px);box-shadow:0 1px 4px rgba(29,80,117,.35)}

#thread{flex:1;overflow-y:auto;padding:8px 16px 24px}
.col{width:100%;max-width:740px;margin:0 auto}
main.is-empty #thread{display:flex;align-items:center;justify-content:center;overflow:hidden;padding-bottom:8px}
#empty{text-align:center}
#empty h1{font:600 clamp(25px,6.6vw,34px)/1.2 'Bricolage Grotesque',sans-serif;margin:0;
  background:linear-gradient(100deg,var(--ink) 10%,var(--brand2) 40%,var(--violet) 55%,var(--ink) 85%);
  background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 9s ease-in-out infinite}
@keyframes sheen{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@media(prefers-reduced-motion:reduce){#empty h1{animation:none;background:none;color:var(--ink)}}

.msg{display:flex;gap:12px;margin:0 0 24px}
.msg.user{justify-content:flex-end}
.msg .b{min-width:0;overflow-wrap:anywhere}
.msg.user .b{background:linear-gradient(180deg,#eff4f8,var(--chip));padding:10px 16px;border-radius:18px 18px 6px 18px;max-width:82%;white-space:pre-wrap;box-shadow:var(--sh-1)}
.msg.assistant>.b,.msg.error>.b,.w{flex:1;min-width:0}
.msg.error .b{color:var(--err)}
.b p{margin:0 0 .85em}.b p:last-child{margin:0}
.b ul,.b ol{padding-left:1.4em;margin:0 0 .85em}
.b pre{background:#131e26;border:1px solid #1f333f;border-radius:14px;overflow:hidden;box-shadow:0 4px 16px rgba(29,80,117,.14);margin:10px 0}
/* Tombol pilihan cepat (fitur klarifikasi AI, lihat choicehint.js & enhanceChoiceBlocks di app.js) */
.uc-choices{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.uc-chip{border:1.5px solid var(--brand2);background:var(--chip);color:var(--brand);font:inherit;font-weight:600;font-size:14px;padding:9px 16px;border-radius:999px;cursor:pointer;transition:box-shadow .15s,transform .1s,background .15s}
.uc-chip:hover:not(:disabled){background:#fff;box-shadow:var(--sh-1)}
.uc-chip:active:not(:disabled){transform:translateY(1px)}
.uc-chip:disabled{opacity:.5;cursor:default}
/* Kartu file ala Claude (pengganti tampilan kode sebagai teks -- kode aslinya disembunyikan di <pre hidden>, lihat enhanceCodeBlocks di app.js) */
.cb-card{display:flex;flex-wrap:wrap;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px;margin:10px 0;box-shadow:var(--sh-1)}
.cb-info{display:flex;align-items:center;gap:12px;flex:1 1 100%;min-width:0}
.cb-ic{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;background:var(--chip);color:var(--brand2)}
.cb-ic svg{width:22px;height:22px}
.cb-meta{display:flex;flex-direction:column;gap:2px;min-width:0}
.cb-card .cb-lang{font-size:14.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-sub{font-size:12.5px;color:var(--mute)}
.cb-card .cb-copy{display:flex;align-items:center;gap:6px;background:var(--chip);border:1px solid var(--line);color:var(--ink);padding:8px 13px;border-radius:999px;cursor:pointer;font:500 13px/1 inherit}
.cb-card .cb-copy:hover{background:#fff;box-shadow:var(--sh-1)}
.cb-card .cb-copy:active{transform:translateY(1px)}
.cb-card .cb-copy svg{width:15px;height:15px}
/* Selagi kode masih ditulis: kodenya disembunyikan, diganti animasi loading Ulora (lihat streamView di app.js) */
.code-loading{margin:8px 0 2px}
.b pre code{display:block;padding:13px 14px;overflow:auto}
.b code{font:13.5px/1.55 ui-monospace,Menlo,monospace;color:#dde8f1}
.b :not(pre)>code{background:var(--code);padding:2px 6px;border-radius:6px;color:var(--ink)}
.hljs-keyword,.hljs-selector-tag,.hljs-tag{color:#9db8d5}
.hljs-string,.hljs-attr,.hljs-template-tag{color:#8ee6b0}
.hljs-comment,.hljs-quote{color:#627e92;font-style:italic}
.hljs-number,.hljs-literal{color:#f0a500}
.hljs-title,.hljs-name,.hljs-built_in,.hljs-selector-id,.hljs-selector-class{color:#8fb8ff}
.hljs-variable,.hljs-attribute{color:#dde8f1}
.hljs-function .hljs-title{color:#8fb8ff}
.abar{display:flex;align-items:center;flex-wrap:wrap;gap:2px;margin:4px 0 0 -8px}
.cp,.fb,.regen{width:34px;height:34px;display:grid;place-items:center;background:none;border:0;color:var(--mute);padding:0;border-radius:10px;cursor:pointer;transition:box-shadow .15s,transform .1s}
.cp:hover,.fb:hover,.regen:hover{background:#fff;color:var(--ink);box-shadow:var(--sh-1)}
.cp:active,.fb:active,.regen:active{transform:translateY(1px)}
.fb.on{background:var(--chip);color:var(--brand);box-shadow:var(--sh-1)}
.fb.on svg{fill:currentColor}

form{flex:none;padding:0 12px max(12px,env(safe-area-inset-bottom))}
.box{position:relative;max-width:740px;margin:0 auto;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;column-gap:2px;row-gap:0;background:#fff;border:1.5px solid var(--line);border-radius:26px;padding:12px 10px 8px;box-shadow:var(--sh-2),var(--rim);cursor:text;transition:box-shadow .2s}
.box:focus-within{box-shadow:var(--sh-3),var(--rim)}
/* Kolom teks di atas selebar kotak, tombol-tombol di baris bawahnya */
#attach{grid-column:1;grid-row:2}
.attach-wrap{grid-column:1;grid-row:2;position:relative;display:flex}
.attach-wrap #attach{transition:transform .15s}
.attach-wrap #attach.on{transform:rotate(45deg);background:var(--hover);color:var(--ink)}
.attach-menu{position:absolute;bottom:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 28px rgba(29,72,102,.16);padding:6px;display:flex;flex-direction:column;gap:2px;min-width:168px;z-index:20}
.am-item{display:flex;align-items:center;gap:11px;padding:10px 12px;border:0;background:none;border-radius:10px;font:inherit;font-size:14.5px;color:var(--ink);cursor:pointer;text-align:left;width:100%}
.am-item:hover{background:var(--hover)}
.am-item svg{color:var(--mute);flex:none}
#mic{grid-column:3;grid-row:2}
#vox{grid-column:2;grid-row:2;justify-self:end}
#vox[hidden]{display:none}
#go,#stop{grid-column:4;grid-row:2}
.box:focus-within{border-color:transparent}
/* Fokus kolom teks: border gradien statis (tanpa animasi putar) */
.box::before{content:'';position:absolute;inset:-1.5px;border-radius:27.5px;padding:1.5px;
  background:linear-gradient(135deg,var(--brand),var(--violet),var(--brand2));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  opacity:0;transition:opacity .25s;pointer-events:none}
.box:focus-within::before{opacity:1}
textarea{grid-column:1/-1;grid-row:1;width:100%;min-width:0;background:none;border:0;outline:none;color:inherit;font:inherit;font-size:17px;line-height:24px;resize:none;max-height:180px;padding:2px 8px 10px;overflow-wrap:anywhere;word-break:break-word}
textarea:focus,textarea:focus-visible{outline:none}
textarea::placeholder{color:#748795}
.ib{width:40px;height:40px;flex:none;border:0;border-radius:50%;background:none;display:grid;place-items:center;color:var(--mute);transition:box-shadow .15s,transform .1s,background .15s,color .15s}
.ib:hover{background:#fff;color:var(--ink);box-shadow:var(--sh-1)}
.ib:active{transform:translateY(1px)}
.ib.rec{color:#d32f2f;background:#fdecea;box-shadow:var(--sh-1)}
.ib.on{color:var(--brand);background:var(--chip);box-shadow:var(--sh-1)}
#imgprev{max-width:740px;margin:0 auto 8px;display:flex;gap:10px}
#imgprev[hidden]{display:none}
#zipprev{max-width:740px;margin:0 auto 8px;display:flex;gap:10px}
#zipprev[hidden]{display:none}
.zipprev-item{position:relative;height:36px;width:auto;padding:0 26px 0 12px;border-radius:12px;border:1px solid var(--line);background:#fff;box-shadow:var(--sh-1);display:flex;align-items:center;font-size:13px;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.imgprev-item{position:relative;width:64px;height:64px;flex:none}
.imgprev-item img{width:64px;height:64px;object-fit:cover;border-radius:12px;border:1px solid var(--line);box-shadow:var(--sh-1);display:block}
.imgprev-item .imgprev-x,.zipprev-item .imgprev-x{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:0;background:#131e26;color:#fff;font-size:14px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:var(--sh-2)}
.msg.user .um-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.msg.user .um{max-width:140px;border-radius:14px;display:block;box-shadow:var(--sh-1)}
#go,#stop{width:40px;height:40px;flex:none;border-radius:50%;border:0;background:linear-gradient(180deg,var(--brand2),var(--brand));color:#fff;display:grid;place-items:center;box-shadow:0 3px 8px rgba(29,80,117,.4),var(--rim);transition:box-shadow .15s,transform .1s}
#go:active,#stop:active{transform:translateY(1px);box-shadow:0 1px 3px rgba(29,80,117,.4)}
#go:disabled{background:#dbe6ef;color:#94aab8;cursor:default;box-shadow:none}
#stop:hover{background:linear-gradient(180deg,#2b516d,#15354c)}
#go[hidden],#stop[hidden]{display:none}
.anote{margin:6px 0 0;font-size:12.5px;line-height:1.4;color:var(--mute)}

#toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:10px 16px;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:9;white-space:nowrap;box-shadow:0 10px 26px rgba(17,50,74,.16),0 2px 6px rgba(17,50,74,.08)}
#toast.on{opacity:1}

#scrim{display:none}
@media(min-width:761px){body.nosb aside{display:none}.dhead{display:none}}
@media(max-width:760px){
  aside{position:fixed;inset:0 auto 0 0;width:280px;z-index:5;transform:translateX(-100%);transition:transform .2s}
  body.open aside{transform:none;box-shadow:8px 0 30px rgba(0,0,0,.14)}#close{display:grid}
  body.open #scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:4}
}
@media(prefers-reduced-motion:reduce){aside,#toast{transition:none}}
[hidden]{display:none!important}
.wm{display:block;flex:none;height:24px;width:126px;background:url(../img/logo-480.png) center/contain no-repeat}
.wm.big{height:38px;width:200px;margin:0 auto 22px}

/* Akun di sidebar */
#acct{border-top:1px solid var(--line);padding-top:10px}
.me{display:flex;align-items:center;gap:12px;width:100%;background:none;border:0;border-radius:14px;padding:8px;text-align:left}
.me svg{color:var(--mute);flex:none}
.pp{width:40px;height:40px;flex:none;border-radius:50%;background:var(--brand) center/cover no-repeat;color:#fff;display:grid;place-items:center;font-weight:600}
.pp.lg{width:96px;height:96px;font-size:38px}
.nm{flex:1;min-width:0;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(hover:hover){.me:hover{background:var(--hover)}}

/* Halaman akun (layar penuh): Pengaturan > Tentang > S&K / Privasi / FAQ */
#page{position:fixed;inset:0;z-index:8;background:#f2f6fa;display:none}
#page.on{display:block}
#ptop{position:fixed;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:12px;padding:max(10px,env(safe-area-inset-top)) 16px 10px;background:rgba(242,246,250,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
#back{width:44px;height:44px;flex:none;border-radius:14px;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center}
#ptitle{min-width:0;font:600 20px 'Bricolage Grotesque',sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#pscroll{position:absolute;inset:0;overflow-y:auto;padding:calc(max(10px,env(safe-area-inset-top)) + 80px) 16px max(40px,env(safe-area-inset-bottom))}
.pcol{max-width:640px;margin:0 auto}
.vt,.doc>h2:first-child{display:none} /* judul halaman sudah ada di bar atas */

/* Kartu profil */
.who{display:flex;align-items:center;gap:14px;margin:0 0 18px;padding:16px;border-radius:22px;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2))}
.who .pp{width:56px;height:56px;border-radius:18px;font-size:24px;background-color:rgba(255,255,255,.22);box-shadow:0 0 0 2px rgba(255,255,255,.4)}
.wtxt{min-width:0}
.pn{font-size:19px;font-weight:700;line-height:1.25;overflow-wrap:anywhere}
.ps{font-size:13px;opacity:.78;margin-top:2px}

/* Kartu pemakaian */
.uc{background:#fff;border:1px solid var(--line);border-radius:20px;padding:14px 16px;margin:0 0 22px}
.uc-t{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.uc-r{margin-bottom:12px}
.uc-l{display:flex;justify-content:space-between;gap:10px;font-size:14.5px}
.uc-l span:last-child{color:var(--mute);font-variant-numeric:tabular-nums}
.uc-b{height:6px;border-radius:99px;background:var(--chip);margin-top:7px;overflow:hidden}
.uc-b i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand2),var(--brand))}
.uc-f{font-size:12px;color:var(--mute)}

/* Judul bagian */
.gl2{margin-top:22px;padding:0 4px 8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.who+.gl2,.uc+.gl2{margin-top:0}

/* Daftar menu: satu kartu putih, baris dipisah garis tipis, panah CSS di kanan */
.grp2{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden}
.item{position:relative;display:flex;align-items:center;gap:14px;width:100%;min-height:58px;padding:11px 16px;border:0;background:none;font-size:16px;text-align:left;color:inherit}
.item+.item{border-top:1px solid var(--line)}
.item .ic{flex:none;box-sizing:content-box;width:20px;height:20px;padding:8px;border-radius:12px;background:var(--chip);color:var(--brand)}
.item .lb{flex:1;min-width:0}
.item[data-go]::after{content:'';flex:none;width:8px;height:8px;margin-right:4px;border-top:2px solid #97acbc;border-right:2px solid #97acbc;transform:rotate(45deg)}
.item:active{background:#f2f6fa}
@media(hover:hover){.item:hover{background:#f7fafc}#back:hover{background:#f2f6fa}}
.item.danger{color:var(--err)}
.item.danger .ic{background:#fdecea;color:var(--err)}
.item .chk{flex:none;opacity:0;color:var(--brand)}
.item.sel{background:#edf3f7}
.item.sel .chk{opacity:1}

/* Preferensi: dua kotak berdampingan */
.grp2.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:none;border:0;border-radius:0;overflow:visible}
.tiles .item{flex-direction:column;align-items:flex-start;gap:14px;min-height:0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:20px}
.tiles .item+.item{border-top:1px solid var(--line)}
.tiles .item::after{display:none}
.tiles .ic{width:22px;height:22px;padding:11px;border-radius:14px}
.tiles .lb{flex:none;font-weight:600}

/* Keluar: tombol garis merah di bawah */
.grp2.gap{margin-top:22px;background:none;border:0;border-radius:0;overflow:visible}
.grp2.gap .item{justify-content:center;gap:10px;min-height:52px;border:1.5px solid #f0c8c4;border-radius:16px;font-weight:600}
.grp2.gap .item .lb{flex:none}
.grp2.gap .ic{width:20px;height:20px;padding:0;background:none}
.memitem{cursor:default}
.memitem .lb{font-size:15px;line-height:1.4}
.memx{flex:none;background:none;border:0;color:var(--mute);font-size:20px;line-height:1;padding:4px 6px}
.memx:hover{color:var(--err)}
.ver{text-align:center;color:var(--mute);font-size:13px;margin:28px 0 0}
.doc{font-size:15.5px;line-height:1.7;padding:0 10px}
.doc h2{font:600 26px 'Bricolage Grotesque',sans-serif;margin:0 0 14px}
.doc h3{font-size:16px;margin:20px 0 4px}
.doc p{margin:0 0 .7em}
.doc details{border-bottom:1px solid var(--line);padding:12px 0}
.doc summary{font-weight:600;cursor:pointer}
.doc details p{margin:8px 0 0}

/* Area pelatihan */
.tcard{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:14px 0}
.tcard b{display:block;margin-bottom:4px}
.tcard span{color:var(--mute);font-size:14px;line-height:1.5}
.tbtn{display:block;width:100%;margin:10px 0 0;border:0;border-radius:14px;padding:13px 20px;font:inherit;font-weight:600;background:var(--brand);color:#fff;cursor:pointer}
.tbtn.ghost{background:var(--chip);color:var(--brand)}
.tbtn.plain{background:none;color:var(--err)}
.tbtn[disabled]{opacity:.5;cursor:default}
.tbtn[hidden]{display:none}
.lnk{background:none;border:0;padding:0;color:var(--brand);font:inherit;text-decoration:underline;cursor:pointer}

/* paket Ulora (langganan) */
.pk-plan{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px;margin:14px 0}
.pk-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pk-h b{font-size:17px}
.pk-price{font-weight:700;color:var(--brand);white-space:nowrap}
.pk-m{color:var(--mute);font-size:14px;line-height:1.5;margin-top:4px}
.pk-tag{display:inline-block;font-size:12px;font-weight:600;padding:2px 9px;border-radius:99px;background:var(--chip,#e7eef5);color:var(--brand)}
.pk-bar{height:6px;border-radius:99px;background:var(--line);margin-top:10px;overflow:hidden}
.pk-bar i{display:block;height:100%;background:var(--brand)}
a.tbtn{text-decoration:none;text-align:center;box-sizing:border-box}
.tbtn:disabled{opacity:.55;cursor:default}

/* Turnstile (anti-bot) di halaman utama */
#ts{display:flex;justify-content:center;margin:2px 0 14px;min-height:0}
#ts:empty{margin:0}

/* Alat file di blok kode: Pratinjau (khusus .html), Unduh, Salin */
.cb-card .cb-acts{display:flex;align-items:center;flex-wrap:wrap;gap:8px;flex:1 1 100%}
.pv{margin:10px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:var(--sh-1)}
.pv-bar{display:flex;align-items:center;gap:2px;padding:6px 8px 6px 12px;background:var(--chip);border-bottom:1px solid var(--line)}
.pv-t{flex:1;font:600 12px/1 'Schibsted Grotesk',sans-serif;color:var(--brand);letter-spacing:.04em;text-transform:uppercase}
.pv-btn{width:30px;height:30px;display:grid;place-items:center;background:none;border:0;border-radius:8px;color:var(--mute);cursor:pointer;padding:0}
.pv-btn:hover{background:#fff;color:var(--ink)}
.pv-btn svg{width:16px;height:16px}
.pv-note{padding:8px 12px;font-size:12.5px;line-height:1.4;color:var(--mute);background:#fff8e6;border-bottom:1px solid var(--line)}
.pv-frame{display:block;width:100%;height:min(70vh,520px);border:0;background:#fff}
.pv.pv-full{position:fixed;inset:0;z-index:60;margin:0;border-radius:0;display:flex;flex-direction:column}
.pv.pv-full .pv-frame{flex:1;height:auto}
body.pv-lock{overflow:hidden}

/* Loading jawaban (siklus 8 dtk): planet terbentuk -> dikunci -> rudal -> ledakan & pecah berkeping -> tulisan "Ulora sedang berpikir" muncul huruf demi huruf.
   Markup dibuat oleh uloraLoaderHTML() di js/loader.js. */
.lo{display:grid;align-items:center;min-height:83px;color:var(--mute)}
.lo-a,.lo-t{grid-area:1/1;opacity:0;animation-duration:8s;animation-iteration-count:infinite;animation-timing-function:ease-in-out}
.lo-a{animation-name:lo-a;justify-self:start}
.lo-t{animation-name:lo-t;font-weight:500;letter-spacing:.2px;padding-left:4px}
.lo-l{display:inline-block;white-space:pre;animation:lo-l 8s ease-out infinite backwards,lo-wave 2.4s ease-in-out infinite backwards;animation-delay:calc(var(--i)*.04s)}
.lo-dots{display:inline-flex;gap:3px;margin-left:5px;vertical-align:middle}
.lo-dots i{width:4px;height:4px;border-radius:50%;background:var(--brand2);animation:lo-dot 1.2s ease-in-out infinite}
.lo-dots i:nth-child(2){animation-delay:.15s}.lo-dots i:nth-child(3){animation-delay:.3s}
.lo-svg{display:block;overflow:visible}
.lo-glow{transform-box:fill-box;transform-origin:center;animation:lo-glow 3.2s ease-in-out infinite}
.lo-float{transform-origin:60px 33px;animation:lo-float 4s ease-in-out infinite}
.lo-pw,.lo-rg{transform-origin:60px 33px}
.lo-pw{animation:lo-form 8s ease-out infinite}
.lo-rg{animation:lo-rform 8s ease-out infinite}
.lo-bands path{fill:none;stroke:#fff;stroke-opacity:.2;stroke-width:2.4;stroke-linecap:round}
.lo-bands .b2{stroke:#12334c;stroke-opacity:.3;stroke-width:3}
.lo-bands .b3{stroke-opacity:.14;stroke-width:2}
.lo-bands{animation:lo-bands 7s linear infinite}
.lo-ring-base{fill:none;stroke:url(#loRg);stroke-opacity:.5;stroke-width:2.8;stroke-linecap:round}
.lo-ring{fill:none;stroke:#fff;stroke-opacity:.95;stroke-width:1.6;stroke-linecap:round;stroke-dasharray:12 88;animation:lo-spin 1.6s linear infinite}
.lo-back{stroke-opacity:.6;animation-duration:2.1s}
.lo-star{fill:#f0a500;opacity:0;transform-box:fill-box;transform-origin:center;animation:lo-tw 2.4s ease-in-out infinite}
.lo-star.s2{fill:#2cc4f5;animation-delay:.8s}.lo-star.s3{animation-delay:1.5s}.lo-star.s4{fill:#2cc4f5;animation-delay:2s}
.lo-lock{opacity:0;transform-box:fill-box;transform-origin:center;animation:lo-lock 8s linear infinite}
.lo-missile{opacity:0;animation:lo-miss 8s cubic-bezier(.45,0,.9,.6) infinite}
.lo-flame{transform-box:fill-box;transform-origin:left center;fill:#ff9a3c;animation:lo-flick .12s linear infinite alternate}
.lo-flash,.lo-shock,.lo-deb,.lo-dust,.lo-shard{opacity:0;transform-box:fill-box;transform-origin:center;animation-duration:8s;animation-iteration-count:infinite;animation-timing-function:ease-out}
.lo-shard{transform-box:view-box;animation-name:lo-shard}
.lo-core{animation-name:lo-core}
.lo-flash{animation-name:lo-flash}.lo-flash.f2{animation-name:lo-flash2}
.lo-shock{animation-name:lo-shock}.lo-shock.s2{animation-delay:.18s}
.lo-deb{animation-name:lo-deb}
.lo-dust{animation-name:lo-dust}
@keyframes lo-form{0%{opacity:0;transform:scale(.3)}7%{opacity:1;transform:scale(1.08)}10%,39.6%{opacity:1;transform:scale(1)}40%,100%{opacity:0;transform:scale(1)}}
@keyframes lo-rform{0%{opacity:0;transform:scale(.4)}8%{opacity:1;transform:scale(1.04)}11%,39.6%{opacity:1;transform:scale(1)}44%{opacity:0;transform:scale(1.35)}100%{opacity:0;transform:scale(1.35)}}
@keyframes lo-lock{0%,22%{opacity:0;transform:scale(1.5) rotate(0)}26%{opacity:.95;transform:scale(1) rotate(60deg)}30%{opacity:.25}34%{opacity:.95}38%{opacity:.35}39.6%{opacity:.95;transform:scale(.86) rotate(180deg)}40%,100%{opacity:0}}
@keyframes lo-miss{0%,27%{opacity:0;transform:translate(52px,-27px)}28%{opacity:1;transform:translate(52px,-27px)}39.6%{opacity:1;transform:translate(11.6px,-6px)}40%,100%{opacity:0;transform:translate(11.6px,-6px)}}
@keyframes lo-shard{0%,39.6%{opacity:0;transform:none}40%{opacity:1;transform:none}56%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.45)}100%{opacity:0}}
@keyframes lo-core{0%,39.6%{opacity:0;transform:none}40%{opacity:1;transform:none}44%{opacity:1;transform:scale(1.15)}50%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--rot)) scale(.1)}100%{opacity:0}}
@keyframes lo-flick{to{transform:scaleX(1.4)}}
@keyframes lo-flash{0%,39.6%{opacity:0;transform:scale(.2)}40.6%{opacity:.9;transform:scale(.7)}46%{opacity:0;transform:scale(1.6)}100%{opacity:0}}
@keyframes lo-flash2{0%,40.4%{opacity:0;transform:scale(.3)}42%{opacity:.6;transform:scale(.9)}50%{opacity:0;transform:scale(1.8)}100%{opacity:0}}
@keyframes lo-shock{0%,39.6%{opacity:0;transform:scale(.3)}40.6%{opacity:.9}52%{opacity:0;transform:scale(3.2)}100%{opacity:0}}
@keyframes lo-deb{0%,39.6%{opacity:0;transform:translate(0,0) scale(1)}40.8%{opacity:1}56%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.3)}100%{opacity:0}}
@keyframes lo-dust{0%,40%{opacity:0;transform:scale(.5)}44%{opacity:.9}58%{opacity:0;transform:scale(2.4)}100%{opacity:0}}
@keyframes lo-a{0%{opacity:0}5%,50%{opacity:1}57%,100%{opacity:0}}
@keyframes lo-t{0%,52%{opacity:0;transform:translateY(4px)}58%,92%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-4px)}}
@keyframes lo-l{0%,50%{opacity:0;transform:translateY(9px) scale(.5);filter:blur(4px)}56%{opacity:1;transform:translateY(-2px) scale(1.12);filter:blur(0)}61%,100%{opacity:1;transform:none;filter:blur(0)}}
@keyframes lo-wave{0%,100%{color:var(--mute)}50%{color:var(--brand2)}}
@keyframes lo-dot{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}
@keyframes lo-spin{to{stroke-dashoffset:-100}}
@keyframes lo-float{0%,100%{transform:translateY(-1.5px) rotate(-3deg)}50%{transform:translateY(1.5px) rotate(3deg)}}
@keyframes lo-glow{0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.06);opacity:1}}
@keyframes lo-tw{0%,100%{opacity:0;transform:scale(.4) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}
@keyframes lo-bands{to{transform:translateX(28px)}}
@media(prefers-reduced-motion:reduce){.lo *,.lo-t{animation:none!important}.lo-a{animation:none;opacity:1}.lo-shard,.lo-lock,.lo-missile,.lo-dust,.lo-flash,.lo-shock,.lo-deb{display:none}.lo-t{position:static;opacity:1;grid-area:1/2;margin-left:8px}.lo-ring{stroke-dasharray:none}.lo{grid-auto-flow:column;justify-content:start}}

/* "Hampir selesai": roket kecil meluncur ke atas sekali jalan lalu memudar (lihat uloraAlmostDoneHTML()). */
/* Sengaja dibuat sesederhana mungkin (satu elemen, satu timeline pendek 0.9 dtk, sekali jalan/forwards) */
/* -- versi lama (astronot jalan -> naik roket -> lepas landas, siklus infinite 4.5 dtk) sering terlihat */
/* "lompat/mental vertikal" karena animasinya infinite lalu dilepas/dipotong di tengah siklus. */
.af{display:flex;align-items:center;gap:10px;color:var(--mute);padding:2px 0 0}
.af-svg{display:block;overflow:visible;flex:none}
.af-rocket{transform-box:view-box;transform-origin:center;animation:af-up .9s cubic-bezier(.3,0,.4,1) 1 forwards}
.af-flame{transform-box:fill-box;transform-origin:center;animation:af-flick .3s ease-in-out infinite}
.af-trail{animation:af-fade .9s ease-out 1 forwards}
.af-t{white-space:nowrap}
.af-l{display:inline-block;animation:af-l .5s ease-out backwards;animation-delay:calc(var(--i)*.03s)}
@keyframes af-up{0%{transform:translateY(0) scale(1);opacity:1}75%{opacity:1}100%{transform:translateY(-42px) scale(.65);opacity:0}}
@keyframes af-flick{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.25)}}
@keyframes af-fade{0%{opacity:.55}100%{opacity:0}}
@keyframes af-l{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.af *{animation:none!important}.af-flame{opacity:1}.af-trail{opacity:0}}

/* ===== Revisi visual halaman Pengaturan (v9): hero, kartu paket, gaya jawab, memori, pelatihan, tentang, popup hapus akun ===== */
#toast{z-index:60}
.doc{padding:0}
.hero{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0 0 18px;padding:22px 20px;border-radius:26px;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:var(--sh-2)}
.hero::after{content:'';position:absolute;right:-40px;top:-50px;width:170px;height:170px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.28),transparent 70%);pointer-events:none}
.hero-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:rgba(255,255,255,.2);box-shadow:0 0 0 1.5px rgba(255,255,255,.35) inset;margin-bottom:6px}
.hero-t{font:700 24px/1.2 'Bricolage Grotesque',sans-serif}
.hero-s{margin:0;font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.88);max-width:34em}
.h-langganan{background:linear-gradient(135deg,#133851,#266ba4)}
.h-latih{background:linear-gradient(135deg,#194868,#488ad4)}
.h-gaya{background:linear-gradient(135deg,#2a6cab,#2f80c7)}
.h-mem{background:linear-gradient(135deg,#205382,#2cc4f5)}
.h-about{align-items:center;text-align:center;background:linear-gradient(160deg,#194564,#2f80c7 70%,#2cc4f5)}
.h-about .hero-s{max-width:26em}
.hero-logo{width:72px;height:72px;border-radius:22px;background:#fff url(../img/icon-512.png) center/78% no-repeat;box-shadow:var(--sh-3);margin-bottom:6px}
.pill{display:inline-block;padding:4px 12px;border-radius:99px;font-size:12.5px;font-weight:700;background:var(--chip);color:var(--brand)}
.pill-w{margin-top:8px;background:rgba(255,255,255,.22);color:#fff}
.sec{margin:24px 0 10px;padding:0 4px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.lnks{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin:22px 0 0;font-size:14px}
.note-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px}
.note-card p{margin:0 0 .5em;font-size:14px;line-height:1.55}
.note-card p:last-child{margin:0}
.fact-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:6px}
.fact{background:#fff;border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.fact b{display:block;font-size:14px}
.fact span{display:block;margin-top:2px;font-size:12.5px;line-height:1.4;color:var(--mute)}

/* Paket Ulora */
.pl{position:relative;background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:18px 18px 16px;margin:0 0 14px;box-shadow:var(--sh-1)}
.pl.top{border-color:var(--brand2);box-shadow:0 8px 24px rgba(29,80,117,.16)}
.pl-badge{position:absolute;top:-11px;right:16px;padding:3px 12px;border-radius:99px;font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--brand),var(--brand2))}
.pl-h{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pl-h b{font:700 19px 'Bricolage Grotesque',sans-serif}
.pl-eng{padding:3px 10px;border-radius:99px;background:var(--chip);color:var(--brand);font-size:12.5px;font-weight:700}
.pl-price{margin:10px 0 12px}
.pl-price strong{font:700 30px/1.1 'Bricolage Grotesque',sans-serif;color:var(--brand)}
.pl-price span{color:var(--mute);font-size:14px}
.pl-f{list-style:none;margin:0 0 6px;padding:0;display:flex;flex-direction:column;gap:7px}
.pl-f li{position:relative;padding-left:26px;font-size:14.5px;line-height:1.45}
.pl-f li::before{content:'';position:absolute;left:2px;top:.32em;width:14px;height:8px;border-left:2.5px solid var(--brand);border-bottom:2.5px solid var(--brand);transform:rotate(-45deg) scale(.9)}
/* Langganan milikmu & pesanan menunggu */
.pk-plan{background:linear-gradient(135deg,#fff,#f1f6f9);border:1.5px solid var(--line);border-radius:20px;padding:16px;margin:0 0 14px;box-shadow:var(--sh-1)}
.pk-bar{height:8px}
.pk-bar i{background:linear-gradient(90deg,var(--brand),var(--brand2));border-radius:99px}

/* Gaya jawab */
.slist{display:flex;flex-direction:column;gap:10px}
.scard{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:15px 16px;transition:border-color .15s,box-shadow .15s,background .15s}
.scard .sc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.scard b{font-size:16.5px}
.scard .sc-d{font-size:13.5px;color:var(--mute);line-height:1.4}
.scard .sc-s{margin-top:6px;padding:8px 12px;border-radius:12px;background:var(--code);font-size:13.5px;font-style:italic;color:var(--ink)}
.scard .chk{flex:none;box-sizing:content-box;padding:4px;border-radius:50%;border:2px solid var(--line);color:transparent}
.scard.sel{border-color:var(--brand2);background:#f2f6fa;box-shadow:0 4px 16px rgba(29,80,117,.14)}
.scard.sel .chk{background:var(--brand);border-color:var(--brand);color:#fff}
.scard:disabled{opacity:.6}

/* Memori */
.mem-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px}
.mem-hint{font-size:12.5px;color:var(--mute)}
.mlist{display:flex;flex-wrap:wrap;gap:8px}
.mchip{display:flex;align-items:center;gap:4px;max-width:100%;padding:8px 6px 8px 14px;border-radius:16px;background:#fff;border:1.5px solid var(--line);box-shadow:var(--sh-1)}
.mchip .mt{min-width:0;font-size:14.5px;line-height:1.4;overflow-wrap:anywhere}
.mchip .memx{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;padding:0}
.mchip .memx:hover{background:#fdecea}
.mem-foot{margin-top:16px}

/* Area pelatihan */
.stat-card{display:flex;align-items:center;gap:14px;background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:16px}
.stat-dot{flex:none;width:14px;height:14px;border-radius:50%;background:#b7cad9;box-shadow:0 0 0 5px rgba(183,202,217,.35)}
.stat-dot.on{background:#1faa6b;box-shadow:0 0 0 5px rgba(31,170,107,.2)}
.stat-dot.off{background:#f0a500;box-shadow:0 0 0 5px rgba(240,165,0,.2)}
.stat-txt b{display:block;font-size:16.5px}
.stat-txt span{display:block;margin-top:2px;font-size:14px;line-height:1.5;color:var(--mute)}
.steps{display:flex;flex-direction:column;gap:10px}
.step{display:flex;gap:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px 16px}
.step>i{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--chip);color:var(--brand);font:700 14px 'Bricolage Grotesque',sans-serif;font-style:normal}
.step b{font-size:15.5px}
.step p{margin:3px 0 0;font-size:14px;line-height:1.55;color:var(--mute)}
.step p b{color:var(--ink);font-size:inherit}

/* Popup hapus akun */
.modal{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:0;background:rgba(9,21,30,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.modal[hidden]{display:none}
.mbox{width:100%;max-width:520px;max-height:92vh;overflow-y:auto;background:#fff;border-radius:28px 28px 0 0;padding:24px 20px max(20px,env(safe-area-inset-bottom));box-shadow:var(--sh-3);animation:mup .22s ease-out}
@keyframes mup{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
@media(min-width:600px){.modal{align-items:center;padding:20px}.mbox{border-radius:28px}}
.m-ic{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#fdecea;color:var(--err);margin-bottom:10px}
.mbox h2{margin:0 0 4px;font:700 22px 'Bricolage Grotesque',sans-serif}
.m-lead{margin:0 0 12px;font-size:14.5px;color:var(--mute)}
.m-list{margin:0 0 14px;padding:14px 16px 14px 32px;display:flex;flex-direction:column;gap:9px;border-radius:16px;background:#fff6f5;border:1px solid #f4d2ce;font-size:14px;line-height:1.55}
.m-agree{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1.5px solid var(--line);border-radius:16px;cursor:pointer;-webkit-user-select:none;user-select:none}
.m-agree input{position:absolute;opacity:0;pointer-events:none}
.m-box{flex:none;display:grid;place-items:center;width:24px;height:24px;margin-top:1px;border-radius:8px;border:2px solid #a7bbcb;background:#fff;color:transparent;transition:background .15s,border-color .15s}
.m-agree input:checked+.m-box{background:var(--err);border-color:var(--err);color:#fff}
.m-agree input:focus-visible+.m-box{outline:2px solid var(--amber);outline-offset:2px}
.m-agree:has(input:checked){border-color:#e9b3ad;background:#fff6f5}
.m-agt{font-size:14.5px;line-height:1.45;font-weight:500}
.m-btns{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;margin-top:14px}
.m-btns .tbtn{margin:0}
.tbtn.danger{background:var(--err);color:#fff}
.tbtn.danger:disabled{background:#e9b3ad;opacity:1}

/* ===== Halaman Tentang (v10): hero berorbit, ringkasan, kemampuan, peringatan ===== */
.h-about{padding:30px 20px 26px;background:radial-gradient(120% 90% at 50% 0%,#388ad0 0%,#225f90 48%,#194564 100%);box-shadow:0 18px 40px -18px rgba(29,80,117,.65)}
.h-about::after{right:auto;left:50%;top:-70px;width:260px;height:260px;margin-left:-130px;background:radial-gradient(circle,rgba(255,255,255,.32),transparent 68%)}
.h-about>*{position:relative;z-index:1}
.h-about .hero-logo{width:84px;height:84px;border-radius:26px;background-size:70%;margin-bottom:10px;box-shadow:0 0 0 6px rgba(255,255,255,.16),0 14px 30px -8px rgba(9,26,39,.6);animation:abfloat 5s ease-in-out infinite}
.h-about .hero-t{font-size:30px;letter-spacing:-.01em}
.h-about .hero-s{max-width:23em;font-size:15px}
.ab-ring{position:absolute!important;left:50%;top:70px;border:1px solid rgba(255,255,255,.22);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0!important}
.ab-ring.r1{width:150px;height:150px}.ab-ring.r2{width:250px;height:250px;border-color:rgba(255,255,255,.12)}
.ab-dot{position:absolute!important;width:6px;height:6px;border-radius:50%;background:#fff;opacity:.7;pointer-events:none;z-index:0!important;animation:abtw 3.2s ease-in-out infinite}
.ab-dot.d1{left:16%;top:26px}.ab-dot.d2{right:14%;top:58px;width:4px;height:4px;animation-delay:1s;background:#ffd27a}.ab-dot.d3{left:9%;top:112px;width:4px;height:4px;animation-delay:2s}
@keyframes abfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes abtw{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:.95;transform:scale(1.15)}}
.fact-row.three{grid-template-columns:repeat(3,1fr);gap:8px;margin:-4px 0 4px}
.fact-row.three .fact{text-align:center;padding:12px 8px;box-shadow:var(--sh-1)}
.fact-row.three .fact b{font-size:13.5px}

.abt-feats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.abt-f{display:flex;flex-direction:column;gap:3px;padding:14px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh-1)}
.abt-f b{font-size:15px;line-height:1.3}
.abt-f>span:last-child{font-size:13px;line-height:1.45;color:var(--mute)}
.abt-fi{display:grid;place-items:center;width:40px;height:40px;margin-bottom:8px;border-radius:13px;background:linear-gradient(145deg,var(--chip),#d6e2ed);color:var(--brand)}
.abt-f:nth-child(3n+2) .abt-fi{background:linear-gradient(145deg,#e3f8f0,#cdf1e4);color:#13896a}
.abt-f:nth-child(3n) .abt-fi{background:linear-gradient(145deg,#fff1da,#ffe3b8);color:#b36b00}
#v-about:not([hidden]) .abt-f{animation:abin .4s ease-out both}
#v-about:not([hidden]) .abt-f:nth-child(2){animation-delay:.05s}#v-about:not([hidden]) .abt-f:nth-child(3){animation-delay:.1s}
#v-about:not([hidden]) .abt-f:nth-child(4){animation-delay:.15s}#v-about:not([hidden]) .abt-f:nth-child(5){animation-delay:.2s}#v-about:not([hidden]) .abt-f:nth-child(6){animation-delay:.25s}
@keyframes abin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.abt-warn{display:flex;gap:12px;align-items:flex-start;margin:16px 0 0;padding:14px 16px;border-radius:18px;background:#fff8e6;border:1px solid #f5dfa6}
.abt-wi{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px;background:#ffecb8;color:#a86400}
.abt-warn b{display:block;font-size:14.5px;margin-bottom:2px}
.abt-warn p{margin:0;font-size:13.5px;line-height:1.5;color:#5d4a1c}
.ab-foot{margin:26px 0 0;text-align:center;font-size:13px;color:var(--mute)}
@media(max-width:360px){.abt-feats{grid-template-columns:1fr}.fact-row.three{grid-template-columns:1fr 1fr 1fr}}
@media(prefers-reduced-motion:reduce){.h-about .hero-logo,.ab-dot,#v-about:not([hidden]) .abt-f{animation:none}}

.mrule{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:#e4ecf3;color:#1d5179;margin-right:8px;align-self:center;white-space:nowrap}

.ns-p{padding:24px;font:16px/1.5 system-ui,sans-serif}
#ts[hidden]{display:none}
