@font-face{font-family:'Bricolage Grotesque';src:url('/assets/fonts/bricolage-grotesque-latin.woff2') format('woff2');font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/fonts/dmsans-latin.woff2') format('woff2');font-display:swap}
:root{color-scheme:light dark;--bg:#09130f;--sidebar:#0c1813;--surface:#11221b;--surface-2:#172c23;--line:#294237;--text:#f3faf6;--muted:#9bb0a4;--brand:#47d994;--brand-deep:#22ad6b;--danger:#ff705f;--shadow:0 20px 55px rgba(0,0,0,.24)}
:root[data-theme=dark]{color-scheme:dark}
:root[data-theme=light]{color-scheme:light;--bg:#f4f8f5;--sidebar:#fff;--surface:#fff;--surface-2:#eef5f0;--line:#d6e4db;--text:#17251d;--muted:#627268;--brand:#47d994;--brand-deep:#168c54;--danger:#d9473a;--shadow:0 16px 42px rgba(22,49,34,.1)}
:root{--warning-text:#e9b45c}
:root[data-theme=light]{--warning-text:#795013}
[hidden]{display:none!important}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:'DM Sans',system-ui,sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit}
button,a{transition:background-color .16s,color .16s,border-color .16s,transform .16s}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--brand) 55%,transparent);outline-offset:2px}
.brand img,.sidebar-brand img,.mobile-logo{width:128px;height:auto}
.eyebrow{text-transform:uppercase;letter-spacing:.13em;color:var(--brand);font-size:.72rem;font-weight:800}
.locale-row{position:absolute;right:32px;top:28px;display:flex;gap:8px}
.locale-row a{color:var(--muted);text-decoration:none;padding:6px;border-radius:7px;font-size:.78rem}
.locale-row a[aria-current=page]{color:var(--brand);background:var(--surface)}
.mobile-logo{display:none}
.auth-card label,.field{display:grid;gap:7px;color:var(--muted);font-size:.83rem;font-weight:700;margin-bottom:15px}
.auth-card input,.form-grid input,.form-grid textarea,.form-grid select,.adventure-switcher select,.claim-search-form input{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--text);padding:12px 13px}
.primary,.secondary,.danger,.social{border:0;border-radius:10px;padding:13px 18px;cursor:pointer;font-weight:800}
.primary{background:var(--brand);color:#062013;box-shadow:0 8px 22px rgba(71,217,148,.18)}
.primary:hover{background:var(--brand-deep);transform:translateY(-1px)}
.primary:disabled,.social:disabled{cursor:not-allowed;opacity:.5;transform:none}
.text-button{display:block;width:100%;border:0;background:none;color:var(--brand);font-weight:750;cursor:pointer;padding:12px 4px 0}
.text-button.muted{color:var(--muted)}
.text-button:disabled{cursor:not-allowed;opacity:.7}
.notice{margin:14px 28px 0;padding:12px 15px;border-radius:10px;background:rgba(71,217,148,.12);color:var(--brand)}
.notice.error{margin:0 0 16px;background:rgba(255,112,95,.12);color:var(--danger)}
.icon-button{width:42px;height:42px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);cursor:pointer}
@keyframes spin{to{transform:rotate(360deg)}}
.danger{background:var(--danger);color:#fff}
.field-label{display:inline-flex;align-items:baseline;gap:4px}
.required-mark{display:inline;color:var(--danger);font-weight:900}
.is-processing{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;opacity:.78!important}
.is-processing:after{content:'';width:16px;height:16px;flex:0 0 16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
.secondary{border:1px solid var(--line);background:var(--surface-2);color:var(--text);padding:8px 10px;border-radius:8px;cursor:pointer}
