.err{min-height:min(72vh,680px);padding:56px var(--gutter);text-align:center;isolation:isolate;align-content:center;justify-items:center;gap:14px;display:grid;position:relative}.err.standalone{background:var(--bg);min-height:100dvh;color:var(--text)}.err:before{content:"";z-index:-1;border-radius:var(--radius-lg);background:radial-gradient(46% 90% at 50% 0%, color-mix(in srgb, var(--accent) 26%, transparent), transparent 100%);height:min(420px,60%);position:absolute;inset:8% 4% auto;-webkit-mask-image:linear-gradient(#0000 0,#000 35% 55%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 35% 55%,#0000 100%)}.err .err-mark{background:var(--bg);width:84px;height:84px;box-shadow:var(--shadow-pop);border-radius:26px;place-items:center;margin-bottom:6px;display:grid;transform:rotate(-4deg)}.err .err-code{font-family:var(--font-display);letter-spacing:-.04em;color:var(--accent-text);font-variant-numeric:tabular-nums;font-size:clamp(88px,22vw,168px);font-weight:800;line-height:.9}.err h1{letter-spacing:-.03em;text-wrap:balance;max-width:18ch;font-size:clamp(30px,6vw,48px);line-height:1.05}.err p{max-width:46ch;color:var(--text-dim);text-wrap:pretty;font-size:17px;line-height:1.5}.err .row{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:10px;display:flex}.err .err-ref{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);margin-top:8px;font-size:12px}.err .err-links{flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:6px;font-size:14px;display:flex}.err .err-links a{color:var(--text-dim);text-underline-offset:3px}.err details{max-width:min(640px,100%);font-family:var(--font-mono);color:var(--text-dim);text-align:left;margin-top:8px;font-size:12px}.err details pre{background:var(--surface);border-radius:var(--radius);margin-top:8px;padding:12px;overflow-x:auto}.route-fallback{place-items:center;min-height:60vh;display:grid}.route-fallback>span{border:3px solid var(--accent-soft);border-top-color:var(--accent);opacity:0;border-radius:50%;width:28px;height:28px;animation:0s linear .25s forwards route-fallback-in,.8s linear infinite route-fallback-spin}@keyframes route-fallback-in{to{opacity:1}}@keyframes route-fallback-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.route-fallback>span{border-top-color:var(--accent-soft);border-style:dotted;animation:0s linear .25s forwards route-fallback-in}}
