/* Animasi contoh spreadsheet untuk artikel (xl-demo.js). Ilustrasi, bukan tangkapan layar Excel asli. */
[data-xl] { display: none; margin: 1.6rem 0 2rem; }
[data-xl][data-siap] { display: block; }
.xl__jendela { border: 1px solid var(--border); border-radius: 12px; background: var(--putih); overflow: hidden; box-shadow: 0 1px 2px rgba(26, 58, 92, .06), 0 8px 24px rgba(26, 58, 92, .08); }
.xl__bar { display: flex; align-items: center; gap: 6px; padding: 8px 12px; background: var(--abu); border-bottom: 1px solid var(--border); font-size: .78rem; color: var(--teks-2); }
.xl__titik { width: 9px; height: 9px; border-radius: 50%; background: var(--border); flex: none; }
.xl__judul { margin-left: 6px; font-weight: 600; color: var(--teks); }
.xl__tanda { margin-left: auto; font-size: .72rem; letter-spacing: .02em; }
.xl__rumus { display: flex; align-items: center; gap: 8px; padding: 6px 10px; border-bottom: 1px solid var(--border); font-size: .85rem; min-height: 38px; background: var(--putih); }
.xl__ref { min-width: 2.6rem; padding: 2px 6px; border: 1px solid var(--border); border-radius: 4px; text-align: center; font-weight: 600; color: var(--teks); }
.xl__fx { color: var(--teks-2); font-style: italic; font-family: Georgia, serif; }
.xl__isi { font-family: "Cascadia Mono", Consolas, "Courier New", monospace; color: var(--teks); overflow-wrap: anywhere; }
.xl__tabel { display: grid; overflow-x: auto; background: var(--putih); }
.xl__c { padding: 7px 8px; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); font-size: .88rem; font-variant-numeric: tabular-nums; color: var(--teks); position: relative; min-height: 34px; transition: background-color .35s, box-shadow .35s; overflow-wrap: break-word; }
.xl__c.h { background: var(--abu); color: var(--teks-2); text-align: center; font-weight: 600; font-size: .78rem; }
.xl__c.n { text-align: right; }
.xl__c.b { font-weight: 700; }
.xl__c.k { background: var(--abu); }
.xl__c.is-aktif { box-shadow: inset 0 0 0 2px var(--biru-tua); }
.xl__c.is-salah { background: rgba(245, 166, 35, .30); }
.xl__c.is-benar { background: rgba(46, 139, 87, .22); }
.xl__c.is-input { background: rgba(245, 197, 24, .38); }
.xl__c.segitiga::before { content: ""; position: absolute; left: 0; top: 0; border-style: solid; border-width: 7px 7px 0 0; border-color: #2E8B57 transparent transparent transparent; }
.xl__tg { position: absolute; left: 0; top: 0; border-style: solid; border-width: 7px 7px 0 0; border-color: #2E8B57 transparent transparent transparent; }
.xl__c .cat { display: block; font-size: .68rem; font-weight: 600; color: var(--merah); }
.xl-sembunyi { display: none !important; }
.xl-masuk { animation: xl-masuk .45s ease both; }
@keyframes xl-masuk { from { opacity: 0; transform: translateY(3px); } to { opacity: 1; transform: none; } }
.xl__cap { margin: 12px 2px 0; font-size: .95rem; line-height: 1.5; color: var(--teks); min-height: 3em; }
.xl__kontrol { display: flex; align-items: center; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
.xl__main { min-height: 44px; padding: 8px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--putih); color: var(--biru-tua); font-weight: 600; cursor: pointer; }
.xl__main:hover { background: var(--biru-muda); }
.xl__dots { display: flex; gap: 2px; }
.xl__dot { width: 44px; height: 44px; border: 0; background: transparent; cursor: pointer; display: grid; place-items: center; padding: 0; }
.xl__dot::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--border); transition: background-color .3s, transform .3s; }
.xl__dot[aria-current="true"]::before { background: var(--biru-tua); transform: scale(1.35); }
.xl__teks { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (prefers-reduced-motion: reduce) { .xl-masuk { animation: none; } .xl__c, .xl__dot::before { transition: none; } }
@media (max-width: 480px) { .xl__c { padding: 6px 4px; font-size: .74rem; } .xl__rumus { font-size: .78rem; } }
