:root{--fn-bg:#080d0c;--fn-surface:#111916;--fn-line:rgba(255,255,255,.1);--fn-text:#f4f6f5;--fn-muted:#939f99;--fn-accent:#51e19a;--fn-accent-hover:#70efaf;--fn-danger:#ff7b72;color-scheme:dark}
.fn-auth{box-sizing:border-box;min-height:100vh;margin:0;padding:7vh 24px 24px;display:grid;place-items:start center;background:radial-gradient(circle at 18% 10%,rgba(81,225,154,.12),transparent 30rem),var(--fn-bg);color:var(--fn-text);font-family:"DM Sans",system-ui,sans-serif}
.fn-auth *,.fn-home *{box-sizing:border-box}.fn-auth-shell{width:min(100%,500px)}
.fn-auth-brand{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:30px;color:var(--fn-text);font-size:1.5rem;font-weight:800;letter-spacing:-.025em;text-decoration:none}
.fn-mark{width:54px;height:54px;display:grid;place-items:center;border:1px solid rgba(81,225,154,.5);border-radius:15px;background:linear-gradient(145deg,rgba(81,225,154,.2),rgba(81,225,154,.06));color:var(--fn-accent);font-size:1.65rem;box-shadow:0 12px 34px rgba(31,185,112,.16);transform:rotate(-4deg)}
.fn-auth .card{width:100%;padding:38px;border:1px solid var(--fn-line);border-radius:16px;background:rgba(17,25,22,.94);box-shadow:0 28px 80px rgba(0,0,0,.35)}
.fn-auth h1{margin:0 0 8px;color:var(--fn-text);font-size:1.55rem}.fn-auth .sub{margin:0 0 24px;color:var(--fn-muted);font-size:.92rem;line-height:1.55}
.fn-auth .eyebrow{margin:0 0 7px;color:var(--fn-accent);font-size:.72rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.fn-auth .card>p{margin:0 0 16px;color:var(--fn-muted);font-size:.88rem;line-height:1.55}
.fn-auth label{display:block;margin:15px 0 6px;color:#bdc6c2;font-size:.82rem;font-weight:650}
.fn-auth input{width:100%;margin:0;padding:14px 15px;border:1px solid var(--fn-line);border-radius:9px;background:var(--fn-bg);color:var(--fn-text);font:inherit}
.fn-auth input:focus{border-color:var(--fn-accent);outline:2px solid rgba(81,225,154,.18)}
.fn-auth button{width:100%;margin-top:22px;padding:14px 18px;border:0;border-radius:9px;background:var(--fn-accent);color:#06120c;font:inherit;font-weight:750;cursor:pointer}.fn-auth button:hover{background:var(--fn-accent-hover)}
.fn-auth .foot{margin-top:18px;color:var(--fn-muted);font-size:.85rem;text-align:center}.fn-auth a{color:var(--fn-accent);text-decoration:none}.fn-auth a:hover{text-decoration:underline}
.fn-auth .hint{margin-top:6px;color:var(--fn-muted);font-size:.75rem;line-height:1.45}.fn-auth .err{margin:8px 0;color:var(--fn-danger);font-size:.8rem}.fn-auth .success{margin-bottom:16px;padding:10px 12px;border:1px solid rgba(81,225,154,.35);border-radius:9px;background:rgba(81,225,154,.08);color:var(--fn-accent);font-size:.84rem}.fn-auth details{margin-top:18px;color:var(--fn-muted);font-size:.8rem}
.fn-home{min-height:100vh;margin:0;padding:20px;background:var(--fn-bg);color:var(--fn-text);font-family:"DM Sans",system-ui,sans-serif}
.fn-home .shell{max-width:1200px;min-height:0;margin:auto;padding:25px;border:1px solid var(--fn-line);border-radius:18px;background:linear-gradient(145deg,#111916,#0b1110 72%)}
.fn-home main{max-width:980px;margin:28px auto 10px}.fn-home .eyebrow{margin:0 0 7px;color:var(--fn-accent);font-size:.72rem;font-weight:750;letter-spacing:.12em;text-transform:uppercase}
.fn-home h2{margin:0 0 8px;color:var(--fn-text);font-size:clamp(1.8rem,4vw,2.7rem);letter-spacing:-.04em}.fn-home .lead{max-width:680px;margin:0 0 20px;color:var(--fn-muted);font-size:1rem;line-height:1.5}
.fn-home .primary,.fn-home .grid{gap:14px}.fn-home .card{padding:18px;border:1px solid var(--fn-line);border-radius:14px;background:rgba(255,255,255,.035)}.fn-home .card h3{color:var(--fn-text)}.fn-home .card p{color:var(--fn-muted);line-height:1.45}.fn-home .metric{color:var(--fn-accent)}
.fn-home .button{border-color:var(--fn-accent);background:var(--fn-accent);color:#06120c}.fn-home .button.secondary{border-color:var(--fn-line);background:rgba(255,255,255,.05);color:var(--fn-text)}.fn-home .card a:not(.button){color:var(--fn-accent)}.fn-home .pill{border-color:rgba(81,225,154,.25);background:rgba(81,225,154,.08);color:var(--fn-accent)}
.fn-home .destinations a{border-color:var(--fn-line);border-radius:999px;background:rgba(255,255,255,.035);color:#bdc6c2}.fn-home .destinations a:hover{border-color:var(--fn-accent);color:var(--fn-text)}
@media(max-width:640px){.fn-auth{padding:4vh 14px 14px}.fn-auth .card{padding:24px 20px}.fn-home{padding:8px}.fn-home .shell{padding:16px}.fn-home main{margin:22px auto 6px}}
