@keyframes gl-drift{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes gl-pulse-ring{0%{box-shadow:none}to{box-shadow:none}}.pg-404{min-height:100vh}.pg-404 .shell{flex-direction:column;align-items:center;min-height:100vh;padding:32px 24px 40px;display:flex;position:relative;overflow:hidden}.pg-404 .shell:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#7c5cff1a,#0000 70%);border-radius:50%;width:680px;height:680px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.pg-404 .grid-bg{pointer-events:none;opacity:.6;background-image:radial-gradient(#7c5cff1a 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 55% at 50% 35%,#000 30%,#0000 75%);mask-image:radial-gradient(70% 55% at 50% 35%,#000 30%,#0000 75%)}.pg-404 .brand{z-index:1;align-items:center;gap:10px;text-decoration:none;display:inline-flex;position:relative}.pg-404 .brand img{object-fit:contain;width:auto;height:26px}.pg-404 .center{text-align:center;z-index:1;flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:520px;animation:.5s both gl-fade-up;display:flex;position:relative}.pg-404 .hero-tile{margin-bottom:28px;animation:.6s cubic-bezier(.34,1.56,.64,1) both gl-pop-in;position:relative}.pg-404 .hero-tile .num{font-weight:var(--weight-bold);letter-spacing:var(--tracking-heading);background-image:linear-gradient(165deg,var(--accent-mid),var(--accent-dark));-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(84px,22vw,148px);line-height:.9;animation:5.5s ease-in-out infinite gl-drift;display:inline-block;position:relative}.pg-404 .hero-tile .badge{border-radius:var(--radius-xl);background:linear-gradient(160deg,var(--accent-faint),var(--accent-soft));border:1px solid var(--accent-soft);width:54px;height:54px;color:var(--accent);justify-content:center;align-items:center;animation:2s ease-out infinite gl-pulse-ring;display:flex;position:absolute;top:-6px;right:-30px}.pg-404 .eyebrow{font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);color:var(--accent);text-transform:uppercase;background:var(--bg-surface);border:1px solid var(--accent-soft);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);align-items:center;gap:7px;padding:6px 13px;display:inline-flex}.pg-404 .eyebrow .dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.8s ease-out infinite gl-pulse-ring}.pg-404 .title{font-weight:var(--weight-semibold);font-size:clamp(26px,6vw,34px);line-height:var(--leading-tight);letter-spacing:var(--tracking-heading);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:18px;display:inline-flex}.pg-404 .title .sparkle{font-size:.74em}.pg-404 .message{font-size:var(--text-lg);line-height:var(--leading-relaxed);color:var(--text-muted);letter-spacing:var(--tracking-small);margin-top:14px}.pg-404 .message strong{color:var(--text-body);font-weight:var(--weight-semibold)}.pg-404 .actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px;display:flex}.pg-404 .btn{font-family:var(--font-sans);font-weight:var(--weight-semibold);font-size:var(--text-md);letter-spacing:var(--tracking-small);border-radius:var(--radius-base);cursor:pointer;transition:transform var(--ease-base),background var(--ease-base),border-color var(--ease-base),color var(--ease-base);border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 20px;text-decoration:none;display:inline-flex}.pg-404 .btn svg{transition:transform var(--ease-base)}.pg-404 .btn:focus-visible{box-shadow:var(--ring-focus)}.pg-404 .btn-primary{background:var(--accent);color:#fff;background-position:100% 0;background-size:220%}.pg-404 .btn-primary:hover{background-image:var(--gradient-flash);animation:.7s linear gl-flash;transform:translateY(-1px)}.pg-404 .btn-primary:hover svg{transform:translate(2px)}.pg-404 .btn-secondary{background:var(--bg-surface);color:var(--text-body);border-color:var(--border-strong)}.pg-404 .btn-secondary:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-1px)}.pg-404 .btn-secondary:hover svg{transform:translate(-2px)}.pg-404 .mini-row{font-size:var(--text-base);color:var(--text-muted);letter-spacing:var(--tracking-small);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:24px;display:flex}.pg-404 .mini-link{color:var(--accent);font-weight:var(--weight-semibold);border-radius:var(--radius-sm);transition:color var(--ease-fast);align-items:center;gap:6px;text-decoration:none;display:inline-flex}.pg-404 .mini-link:hover{color:var(--accent-dark)}.pg-404 .mini-link:focus-visible{box-shadow:var(--ring-focus);outline:none}.pg-404 .mini-sep{color:var(--border-strong)}.pg-404 .foot{font-size:var(--text-xs);color:var(--text-faint);letter-spacing:var(--tracking-small);z-index:1;text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;padding-top:18px;display:flex;position:relative}.pg-404 .foot a{color:var(--text-muted);transition:color var(--ease-fast);text-decoration:none}.pg-404 .foot a:hover{color:var(--text-body)}.pg-404 .foot a:focus-visible{color:var(--accent);outline:none}@media (max-width:520px){.pg-404 .hero-tile .badge{width:46px;height:46px;right:-14px}.pg-404 .btn{width:100%}}
