/* DGNL V4.4 / lightweight production-ready UX. Zero CSS frameworks at runtime. */
:root{--ui-text:#172542;--ui-muted:#66768f;--ui-blue:#545ce8;--ui-cyan:#078f9a;--ui-violet:#8d53cf;--ui-border:#e1e7f2}
.dgnl-skeleton{position:relative;overflow:hidden;isolation:isolate;background:#ecf0f7;border-radius:12px;min-height:18px}
.dgnl-skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,#ffffffb8 45%,transparent 65%);transform:translateX(-100%);animation:dgnl-shimmer 1.6s ease-in-out infinite}
@keyframes dgnl-shimmer{to{transform:translateX(100%)}}
.dgnl-loading-card{min-height:116px;background:#fff;border:1px solid var(--ui-border);border-radius:19px;padding:21px;display:grid;gap:13px;align-content:center;box-shadow:0 8px 28px #0a22590b}
.dgnl-loading-card .dgnl-skeleton:first-child{width:48%;height:17px}
.dgnl-loading-card .dgnl-skeleton:nth-child(2){width:83%;height:11px}
.dgnl-loading-card .dgnl-skeleton:nth-child(3){width:63%;height:11px}
.dgnl-loading-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:17px}
.dgnl-loading-tree{display:grid;gap:10px;background:#fff;border-radius:20px;padding:18px;border:1px solid var(--ui-border)}
.dgnl-loading-tree .dgnl-loading-card{box-shadow:none;min-height:80px;border-radius:13px;border-color:#eaf0f8}
.dgnl-loading-tree .dgnl-loading-card:nth-child(2){margin-left:clamp(8px,4vw,35px)}
.dgnl-loading-tree .dgnl-loading-card:nth-child(3){margin-left:clamp(16px,7vw,70px)}
.dgnl-loading-label{display:flex;align-items:center;gap:9px;color:var(--ui-muted);font-size:13px;margin:10px 2px 0}
.dgnl-loader-dots{display:inline-flex;gap:4px}.dgnl-loader-dots i{width:5px;height:5px;border-radius:50%;background:var(--ui-blue);animation:dgnl-dot 1s ease-in-out infinite}.dgnl-loader-dots i:nth-child(2){animation-delay:.12s}.dgnl-loader-dots i:nth-child(3){animation-delay:.24s}
@keyframes dgnl-dot{0%,65%,100%{transform:translateY(0);opacity:.45}35%{transform:translateY(-4px);opacity:1}}
.dgnl-load-error{padding:27px;background:#fff;border-radius:17px;border:1px solid #f3c8c4;color:#7f2735;text-align:center}.dgnl-load-error strong{display:block;font-size:17px;margin-bottom:6px}.dgnl-load-error p{color:#684457}.dgnl-load-error button{appearance:none;background:#474ddb;color:#fff;padding:11px 19px;border:none;border-radius:10px;cursor:pointer;font-weight:750}
.dgnl-route-progress{position:fixed;top:0;left:0;z-index:200002;height:3px;background:linear-gradient(90deg,#10b9c1,#6460f1,#bb63de);width:0;opacity:0;pointer-events:none;box-shadow:0 0 12px #6261ed7a;transition:width .4s ease,opacity .18s ease}
.dgnl-route-progress.is-active{width:76%;opacity:1}
.dgnl-page-enter{animation:dgnl-appear .45s cubic-bezier(.18,.7,.2,1) both}
@keyframes dgnl-appear{from{opacity:.65;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.system-card,.paper-card,.dir-row,.home-featured-row,.guide-card,.step-card{transition:transform .24s cubic-bezier(.2,.8,.2,1),border-color .22s,box-shadow .24s,background-color .22s}
.system-card:hover,.paper-card:hover,.home-featured-row:hover{transform:translateY(-3px);box-shadow:0 20px 38px #172f6818}
.dir-row:hover{box-shadow:0 5px 20px #25436b12}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #6c67ff;outline-offset:3px}
.dgnl-seo-live,.dgnl-seo-guide{max-width:1160px;margin:25px auto 45px;padding:25px clamp(18px,3vw,30px);background:#fff;border:1px solid #e4ebf5;border-radius:22px;box-shadow:0 11px 32px #192e5810}
.dgnl-seo-live h2,.dgnl-seo-guide h2{font-size:clamp(19px,2.5vw,25px);margin:0 0 12px;color:#1b2e60;line-height:1.3}
.dgnl-seo-live p,.dgnl-seo-guide p{line-height:1.75;color:#50607d;margin:9px 0 13px}
.dgnl-seo-live ul,.dgnl-seo-guide ul{padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:12px;margin:17px 0 0}
.dgnl-seo-live li a,.dgnl-seo-guide li a{display:flex;align-items:center;gap:10px;padding:13px 16px;min-height:56px;border:1px solid #e3e9f5;background:#f7f9ff;border-radius:12px;font-weight:700;line-height:1.5;text-decoration:none;color:#2e4485;transition:background-color .2s,transform .2s,border-color .2s}
.dgnl-seo-live li a:hover,.dgnl-seo-guide li a:hover{background:#eff4ff;border-color:#a1b5ec;transform:translateX(2px)}
.dgnl-seo-live li a:before,.dgnl-seo-guide li a:before{content:'↗';flex:none;color:#13a4ab;font-size:17px}
.dgnl-seo-live .dgnl-seo-micro{font-size:12px;color:#718098}
.dgnl-seo-guide details{border-top:1px solid #e8edf5;padding:13px 2px}.dgnl-seo-guide details:last-child{border-bottom:1px solid #e8edf5}.dgnl-seo-guide summary{font-weight:780;color:#253763;cursor:pointer}.dgnl-seo-guide details p{margin:9px 0 3px}
.dgnl-seo-guide .dgnl-seo-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:15px}.dgnl-seo-guide .dgnl-seo-columns article{padding:14px;background:#f8f9ff;border:1px solid #e9edf8;border-radius:14px}
.dgnl-seo-guide h3{font-size:16px;color:#2b3f73;margin:0 0 7px}
.player-fetch-loader{min-height:260px;display:grid;align-content:center;gap:16px;text-align:center;border-radius:23px;background:#fff;padding:30px;max-width:820px;margin:33px auto;border:1px solid #dfe6f2;box-shadow:0 16px 36px #18326913}
.player-fetch-loader .dgnl-skeleton{max-width:630px;width:88%;height:18px;margin:0 auto}
.player-fetch-loader .dgnl-skeleton:nth-child(2){max-width:330px;width:58%;height:15px}
.player-fetch-loader strong{font-size:17px;color:#2e3970}.player-fetch-loader p{margin:0;color:#76829a}
.player-loading-center{width:42px;height:42px;border-radius:50%;border:3px solid #dedffb;border-top-color:#605bed;animation:dgnl-spin .8s linear infinite;margin:0 auto 5px}
@keyframes dgnl-spin{to{transform:rotate(1turn)}}
.dgnl-button-loading{position:relative;pointer-events:none;opacity:.8}.dgnl-button-loading:after{content:'';display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;vertical-align:-3px;margin-left:8px;animation:dgnl-spin .7s linear infinite}
.dgnl-network-hint{font-size:12px;color:#75829d}
@media(max-width:700px){.dgnl-seo-live,.dgnl-seo-guide{margin:16px 12px 30px;padding:18px}.dgnl-loading-grid{grid-template-columns:1fr}.dgnl-page-enter{animation-duration:.3s}}
@media(prefers-reduced-motion:reduce){.dgnl-skeleton:after,.dgnl-loader-dots i,.dgnl-page-enter,.player-loading-center,.dgnl-button-loading:after{animation:none!important}.dgnl-route-progress,.system-card,.paper-card,.dir-row,.home-featured-row,.guide-card,.step-card{transition:none!important;transform:none!important}html{scroll-behavior:auto!important}}

/* V4.5 lazy question loading */
.dgnl-v45-loading{padding:48px 26px;text-align:center;color:#55627f;display:grid;justify-items:center;gap:12px}
.dgnl-v45-spinner{width:34px;height:34px;border:3px solid #dce6ff;border-top-color:#5b54df;border-radius:50%;animation:dgnl-v45-spin .75s linear infinite}
@keyframes dgnl-v45-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.dgnl-v45-spinner{animation:none;border-top-color:#5b54df}}
