/* DAP Studio — dynamic page (/page/slug), styled like the homepage console theme */
.page-view body{display:flex;flex-direction:column;min-height:100vh;background:var(--bg)}
.page-view main.pg{flex:1;position:relative;z-index:1}
.pg-aurora{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.pg-aurora i{position:absolute;width:60vmax;height:60vmax;border-radius:50%;filter:blur(90px);opacity:.22}
.pg-aurora i:nth-child(1){left:-18vmax;top:-22vmax;background:var(--a);animation:pgFloat 18s ease-in-out infinite alternate}
.pg-aurora i:nth-child(2){right:-22vmax;bottom:-26vmax;background:var(--b);animation:pgFloat 22s ease-in-out infinite alternate-reverse}
@keyframes pgFloat{to{transform:translate(6vmax,4vmax) scale(1.08)}}
.pg-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:200;pointer-events:none}
.pg-progress span{display:block;height:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,var(--a),var(--b));box-shadow:0 0 12px var(--b)}

/* hero */
.pg-hero{padding:calc(var(--nav-h) + 70px) 0 34px;position:relative}
.pg-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;font:600 12px var(--fm);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3)}
.pg-crumb a{color:var(--ink-2);display:inline-flex;align-items:center;gap:7px;transition:color .2s}
.pg-crumb a:hover{color:#fff}
.pg-crumb>i{font-size:9px;opacity:.6}
.pg-crumb b{color:var(--b);font-weight:700;max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-term{margin-bottom:22px}
.pg-term .caret{display:inline-block;width:8px;height:15px;margin-left:4px;background:var(--b);animation:pgBlink 1s steps(1) infinite;vertical-align:-2px}
@keyframes pgBlink{50%{opacity:0}}
.pg-hero .bracket{margin-bottom:6px}
.pg-title{margin:10px 0 22px;font-size:clamp(2.4rem,7vw,5.2rem)}
.pg-meta{display:flex;flex-wrap:wrap;gap:10px}
.pg-meta span{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:10px;border:1.5px solid var(--line-2);background:rgba(7,11,23,.7);font:600 11.5px var(--fm);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2)}
.pg-meta i{color:var(--b)}
.pg-status{color:#4ade80!important;border-color:rgba(74,222,128,.35)!important}
.pg-meta .sys-dot,.pg-doc-foot .sys-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 10px #4ade80;display:inline-block}

/* content grid */
.pg-body{padding:10px 0 60px}
.pg-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start}
.pg-grid.no-toc{grid-template-columns:minmax(0,1fr) 280px}
.pg-doc{position:relative;border:2px solid var(--line-2);border-radius:20px;background:linear-gradient(180deg,rgba(13,19,38,.92),rgba(7,11,23,.94));box-shadow:8px 8px 0 var(--a),0 40px 80px -50px rgba(0,0,0,.9);overflow:hidden}
.pg-doc-bar{display:flex;align-items:center;gap:14px;padding:12px 18px;border-bottom:1.5px solid var(--line-2);background:rgba(16,23,45,.9)}
.pg-dots{display:flex;gap:6px}
.pg-dots i{width:11px;height:11px;border-radius:50%;background:#ef4444}.pg-dots i:nth-child(2){background:#f59e0b}.pg-dots i:nth-child(3){background:#22c55e}
.pg-file{font:600 12px var(--fm);color:var(--ink-2);display:inline-flex;gap:8px;align-items:center}
.pg-file i{color:var(--b)}
.pg-doc-tag{margin-left:auto;padding:3px 9px;border-radius:7px;border:1px solid var(--line-2);font:700 10px var(--fm);letter-spacing:.1em;color:var(--ink-3)}
.pg-doc-body{padding:clamp(24px,4vw,46px);font-size:1.04rem;line-height:1.85}
.pg-doc-body.rich h2{position:relative;margin:2.1em 0 .8em;padding-left:18px;font-size:clamp(1.35rem,2.4vw,1.75rem);scroll-margin-top:calc(var(--nav-h) + 40px)}
.pg-doc-body.rich h2::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:5px;border-radius:3px;background:linear-gradient(180deg,var(--a),var(--b))}
.pg-doc-body.rich h2:first-child{margin-top:0}
.pg-doc-body.rich h3{margin:1.8em 0 .55em;font-size:1.12rem;color:#fff;scroll-margin-top:calc(var(--nav-h) + 40px)}
.pg-doc-body.rich h3::before{content:"> ";color:var(--b);font-family:var(--fm)}
.pg-doc-body.rich p{margin:0 0 1.05em}
.pg-doc-body.rich ul,.pg-doc-body.rich ol{margin:0 0 1.2em;padding-left:0;list-style:none;counter-reset:pg}
.pg-doc-body.rich li{position:relative;padding:10px 14px 10px 44px;margin-bottom:8px;border:1.5px solid var(--line);border-radius:12px;background:rgba(16,23,45,.55)}
.pg-doc-body.rich ul>li::before{content:"\25B8";position:absolute;left:16px;top:10px;color:var(--b);font-weight:800}
.pg-doc-body.rich ol>li{counter-increment:pg}
.pg-doc-body.rich ol>li::before{content:counter(pg,decimal-leading-zero);position:absolute;left:12px;top:11px;font:800 12px var(--fm);color:var(--a)}
.pg-doc-body.rich strong,.pg-doc-body.rich b{color:#fff}
.pg-doc-body.rich a{color:var(--b);text-decoration:underline;text-underline-offset:3px}
.pg-doc-body.rich img{max-width:100%;height:auto;border-radius:14px;border:2px solid var(--line-2)}
.pg-doc-body.rich blockquote{margin:1.4em 0;padding:16px 20px;border-left:4px solid var(--a);border-radius:0 12px 12px 0;background:rgba(59,91,253,.08);color:var(--ink)}
.pg-doc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1.5px solid var(--line-2);background:rgba(16,23,45,.6)}
.pg-top{font:700 11px var(--fm);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);display:inline-flex;gap:7px;align-items:center}
.pg-top:hover{color:#fff}

/* sidebar */
.pg-side{position:sticky;top:calc(var(--nav-h) + 34px);display:flex;flex-direction:column;gap:16px}
.pg-card{display:block;padding:18px;border:2px solid var(--line-2);border-radius:16px;background:rgba(10,15,30,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.pg-card-h{margin:0 0 12px;font:700 11px var(--fm);letter-spacing:.1em;color:var(--b);display:flex;gap:8px;align-items:center}
.pg-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;max-height:52vh;overflow:auto}
.pg-toc a{display:block;padding:7px 10px;border-radius:9px;border-left:2px solid transparent;font-size:.86rem;line-height:1.35;color:var(--ink-2);transition:background .2s,color .2s,border-color .2s}
.pg-toc .lv-h3 a{padding-left:22px;font-size:.8rem;color:var(--ink-3)}
.pg-toc a:hover{background:rgba(255,255,255,.04);color:#fff}
.pg-toc a.is-active{color:#fff;background:rgba(59,91,253,.14);border-left-color:var(--a)}
.pg-info dl{margin:0;display:flex;flex-direction:column;gap:8px}
.pg-info dl div{display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px dashed var(--line-2)}
.pg-info dl div:last-child{border-bottom:0;padding-bottom:0}
.pg-info dt{font:700 10.5px var(--fm);letter-spacing:.1em;color:var(--ink-3)}
.pg-info dd{margin:0;font:600 12px var(--fm);color:var(--ink);text-align:right;overflow-wrap:anywhere}
.pg-cta{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,rgba(59,91,253,.22),rgba(46,157,224,.12));border-color:rgba(91,123,255,.5);box-shadow:5px 5px 0 var(--a);transition:transform .25s var(--ease),box-shadow .25s}
.pg-cta:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--a)}
.pg-cta-ico{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center;background:var(--a);color:#fff}
.pg-cta b{display:block;color:#fff;font-size:.92rem}
.pg-cta small{display:block;color:var(--ink-2);font-size:.76rem;line-height:1.35;margin-top:2px}
.pg-cta>i{margin-left:auto;color:var(--b)}

/* more pages */
.pg-more-sec{padding:20px 0 90px}
.pg-more{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:16px}
.pg-more-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px;border:2px solid var(--line-2);border-radius:16px;background:rgba(10,15,30,.85);box-shadow:5px 5px 0 var(--line-2);transition:transform .25s var(--ease),box-shadow .25s,border-color .25s}
.pg-more-card:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--a);border-color:var(--a)}
.pg-more-no{font:800 12px var(--fm);color:var(--a)}
.pg-more-card b{font:900 1.15rem var(--fd);text-transform:uppercase;letter-spacing:-.01em;color:#fff}
.pg-more-card small{color:var(--ink-3);font-size:.82rem;line-height:1.5}
.pg-more-go{margin-top:auto;padding-top:8px;font:600 11px var(--fm);color:var(--ink-2);display:flex;justify-content:space-between;align-items:center}
.pg-more-go i{color:var(--b);transition:transform .25s}
.pg-more-card:hover .pg-more-go i{transform:translateX(4px)}

.page-view .foot{position:relative;z-index:1}

@media (max-width:1000px){.pg-grid,.pg-grid.no-toc{grid-template-columns:minmax(0,1fr)}.pg-side{position:static;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.pg-toc ol{max-height:none}}
@media (max-width:640px){.pg-hero{padding-top:calc(var(--nav-h) + 40px)}.pg-doc{box-shadow:5px 5px 0 var(--a)}.pg-doc-body{padding:22px 18px;font-size:.98rem}.pg-doc-body.rich li{padding-left:38px}.pg-doc-tag{display:none}.pg-meta span{font-size:10.5px}}
@media (prefers-reduced-motion:reduce){.pg-aurora i,.pg-term .caret{animation:none}}
.pg-cmd{color:var(--ink);white-space:nowrap}
