:root{--bg:#16151b;--bg-accent:#100e14;--surface:#1d1b24;--surface-raised:#232030;--accent:#7c3aed;--accent-strong:#6a00e6;--accent-soft:#ac95f7;--accent-glow:#7c3aed59;--danger:#e080d8;--text:#efeaff;--text-dim:#8f8a9e;--text-faint:#575364;--hairline:#ac95f71f;--font-mono:ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace}*{box-sizing:border-box}html{background-color:var(--bg);margin:0;padding:0}body{min-height:100dvh;color:var(--text);background-color:var(--bg);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:15px;line-height:1.6;overflow-x:hidden}.auth-bg{z-index:0;pointer-events:none;background-color:var(--bg);position:fixed;inset:0}.auth-shell{z-index:1;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:100dvh;padding:3rem 1.5rem;display:flex;position:relative}.auth-header{text-align:center;flex-direction:column;align-items:center;margin-bottom:2.75rem;display:flex}.auth-header img{opacity:.9;filter:drop-shadow(0 0 22px #7c3aed40);width:56px;height:auto;margin-bottom:1.25rem}.eyebrow{letter-spacing:.45em;text-indent:.45em;text-transform:uppercase;color:var(--text-faint);margin:0;font-size:.72rem;font-weight:400}.eyebrow a{color:inherit;text-decoration:none;transition:color .25s}.eyebrow a:hover{color:var(--accent-soft)}.card{border:1px solid var(--hairline);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#2320308c,#1d1b248c);border-radius:18px;width:100%;max-width:430px;padding:2.5rem;box-shadow:0 24px 64px -32px #000000e6}.card-title{letter-spacing:-.02em;color:var(--text);margin:0 0 .5rem;font-size:1.6rem;font-weight:300}.card-sub{color:var(--text-dim);margin:0 0 2rem;font-size:.85rem}.field{flex-direction:column;margin-bottom:1.25rem;display:flex}.label{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.5rem;font-size:.72rem}.input{border:1px solid var(--hairline);color:var(--text);font-family:var(--font-mono);background:#100e1499;border-radius:10px;outline:none;padding:.8rem 1rem;font-size:.95rem;transition:border-color .25s,box-shadow .25s,background-color .25s}.input:focus{border-color:var(--accent);background:#1d1b24cc;box-shadow:0 0 0 3px #7c3aed2e}.btn{background:var(--accent);color:#fff;font-family:var(--font-mono);letter-spacing:.25em;text-indent:.25em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:999px;width:100%;margin-top:1.25rem;padding:.8rem 2rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:background-color .25s,color .25s,border-color .25s;display:inline-block}.btn:hover,.btn:focus-visible{background:#8b52f0;outline:none}.btn-secondary{color:var(--text-dim);border-color:var(--hairline);box-shadow:none;background:0 0}.btn-secondary:hover,.btn-secondary:focus-visible{color:var(--text);box-shadow:none;background:#ac95f714;border-color:#ac95f759}.btn-danger{color:var(--danger);box-shadow:none;background:0 0;border-color:#e080d84d}.btn-danger:hover,.btn-danger:focus-visible{color:#f0a8e8;box-shadow:none;background:#e080d81a;border-color:#e080d88c}.msg-error{color:#f0a8e8;background:#e080d814;border:1px solid #e080d840;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.msg-info{border:1px solid var(--hairline);color:var(--text-dim);overflow-wrap:anywhere;background:#ac95f712;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.link{color:var(--accent-soft);border-bottom:1px solid #0000;text-decoration:none;transition:border-color .25s,color .25s}.link:hover,.link:focus-visible{color:var(--text);border-bottom-color:var(--accent-soft);outline:none}.auth-footer{border-top:1px solid var(--hairline);color:var(--text-dim);margin-top:2rem;padding-top:1.5rem;font-size:.85rem}.auth-footer a{margin-top:.4rem;display:inline-block}.auth-footer .return{color:var(--text-faint);font-size:.78rem}.dash-shell{z-index:1;width:100%;max-width:560px;margin:0 auto;padding:2.5rem 1.5rem 5rem;position:relative}.dash-head{text-align:center;flex-direction:column;align-items:center;margin-bottom:3rem;display:flex}.dash-head img{opacity:.9;filter:drop-shadow(0 0 22px #7c3aed40);width:52px;height:auto;margin-bottom:1.25rem}.dash-head h1{letter-spacing:-.02em;margin:0;font-size:clamp(1.8rem,5vw,2.6rem);font-weight:300}.dash-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.75rem;display:flex}.dash-actions .btn{width:auto;margin-top:0;padding:.6rem 1.6rem;font-size:.75rem}.dash-list{border:1px solid var(--hairline);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#2320308c,#1d1b248c);border-radius:18px;width:100%;padding:.5rem 2rem 2rem}.dash-section{border-bottom:1px solid var(--hairline);padding:1.75rem 0 .5rem}.dash-section:last-of-type{border-bottom:none}.dash-section h2{letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);margin:0 0 1.25rem;font-size:.75rem;font-weight:600}.dash-save{margin-top:1.75rem}.dash-save .btn{margin-top:0}.dash-aux{border:1px solid var(--hairline);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#2320308c,#1d1b248c);border-radius:18px;margin-top:1.5rem;padding:1.5rem 2rem}.dash-aux h2{letter-spacing:.3em;text-transform:uppercase;color:var(--text-dim);margin:0 0 1.25rem;font-size:.75rem;font-weight:600}.ory-img{width:100%;max-width:180px;height:auto;image-rendering:pixelated;margin:0 auto 1rem;display:block}.save-messages{width:100%;margin-bottom:1.25rem}.ascii-dog{z-index:5;font-family:var(--font-mono);white-space:pre;color:var(--text-dim);opacity:.3;-webkit-user-select:none;user-select:none;pointer-events:none;margin:0;font-size:5px;line-height:5px;position:fixed;bottom:.75rem;right:1.25rem}@media screen and (width<=640px){.auth-shell{justify-content:flex-start;padding:2rem 1.25rem}.card{padding:1.75rem}.ascii-dog{font-size:4px;line-height:4px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
