@font-face{font-family:Libron;src:url(/fonts/Libron-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-background:#fff;--color-surface:#fff;--color-text:#14100d;--color-primary:#e2b148;--color-primary-text:#805000;--color-primary-contrast:#14100d;--color-border:#14100d24;--color-focus:#14100d;--hero-gradient:radial-gradient(circle at 15% 20%, #f7d386b3, transparent 38%), radial-gradient(circle at 85% 80%, #fff4e0d9, transparent 42%), linear-gradient(125deg, #fff 0%, #edc081 48%, #d89d45 100%);--hero-title-end:#14100d;--hero-title-start:#704400;--hero-title-mid:#8f5500;--hero-muted:#14100dad;font-family:Libron,Georgia,serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-background:#14100d;--color-surface:#14100d;--color-text:#f8d5bb;--color-border:#f8d5bb3d;--color-focus:#f8d5bb;--color-primary-text:#e2b148;--hero-gradient:radial-gradient(circle at 18% 18%, #e2b1486b, transparent 34%), radial-gradient(circle at 88% 78%, #5c3a22cc, transparent 44%), linear-gradient(125deg, #14100d 0%, #241913 48%, #50331f 100%);--hero-title-end:#f8d5bb;--hero-title-start:#e2b148;--hero-title-mid:#f3d27d;--hero-muted:#f8d5bbb3}}html,body{min-height:100%}a,a:visited{color:var(--color-text)}#app a:focus{outline:none}#app a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}#app>main>.hero{isolation:isolate;box-sizing:border-box;background:var(--hero-gradient);background-size:180% 180%;align-content:start;justify-items:center;min-height:30rem;padding:clamp(2.5rem,4vw,3.5rem) clamp(1.25rem,6vw,5rem);animation:5s ease-in-out infinite alternate hero-gradient-drift;display:grid;position:relative;overflow:hidden}#app>main>.characters-page{box-sizing:border-box;background:var(--hero-gradient);align-content:start;justify-items:center;min-height:calc(100dvh - 76px);padding:clamp(2.5rem,6vw,5rem) 1.25rem;display:grid}#app>main>.characters-page .characters-heading{text-align:center;width:min(100%,72rem)}#app>main>.characters-page h1{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,6vw,3.5rem)}#app>main>.characters-page .characters-heading p{color:var(--hero-muted);margin:.9rem 0 0;line-height:1.5}#app>main>.characters-page .character-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:1rem;width:min(100%,72rem);margin-top:2rem;display:grid}#app>main>.characters-page .character-card{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 78%, transparent);color:var(--color-text);border-radius:1rem;text-decoration:none;transition:transform .15s,box-shadow .15s,border-color .15s;display:grid;overflow:hidden;box-shadow:0 .8rem 2.5rem #14100d1a}#app>main>.characters-page .character-card:hover{border-color:var(--color-primary);transform:translateY(-3px);box-shadow:0 1rem 2.75rem #14100d29}#app>main>.characters-page .character-card img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}#app>main>.characters-page .character-card h2{margin:0;padding:1rem 1.1rem 1.15rem;font-size:1.25rem}#app>main>.characters-page .characters-status{width:min(100%,72rem);color:var(--hero-muted);text-align:center;margin:2rem 0 0}#app>main>.characters-page .characters-error{color:#a43b2c}@media (prefers-reduced-motion:reduce){#app>main>.characters-page .character-card{transition:none}}#app>main>.hero:before,#app>main>.hero:after{z-index:-1;pointer-events:none;content:"";background-repeat:no-repeat;position:absolute;inset:-20%}#app>main>.hero:before{background:radial-gradient(circle at 25% 30%,#e2b1486b,#0000 34%) 0 0/120% 120%;animation:5s ease-in-out infinite alternate hero-light-drift}#app>main>.hero:after{background:radial-gradient(circle at 75% 70%,#fff4e061,#0000 32%) 0 0/120% 120%;animation:4s ease-in-out infinite alternate hero-light-drift-reverse}#app>main>.hero .hero-content{z-index:1;width:min(100%,44rem);position:relative}#app>main>.hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(2.5rem,7.5vw,5.25rem);line-height:1.05}#app>main>.hero h1 span{color:var(--color-primary-text);background:linear-gradient(115deg, var(--hero-title-start) 0%, var(--hero-title-mid) 42%, var(--hero-title-end) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}#app>main>.hero .hero-description{max-width:32rem;color:var(--hero-muted);margin:1.25rem auto 0;font-size:clamp(.9rem,1.6vw,1.05rem);line-height:1.55}#app>main>.hero .hero-actions{gap:.9rem;width:100%;margin-top:2rem;display:grid}#app>main>.hero .hero-actions button{border:1px solid var(--color-primary);cursor:pointer;width:100%;min-height:4rem;font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:.65rem;padding:.9rem 1.25rem;font-size:1.2rem;font-weight:700;transition:transform .15s,background-color .15s,color .15s}#app>main>.hero .hero-primary{background-color:var(--color-primary);color:var(--color-primary-contrast)}#app>main>.hero .hero-secondary{border-color:var(--color-border);background-color:color-mix(in srgb, var(--color-surface) 92%, transparent)}#app>main>.hero .hero-actions button:hover{transform:translateY(-2px)}#app>main>.hero .hero-primary:hover{background-color:var(--color-text);color:var(--color-background)}#app>main>.hero .hero-secondary:hover{background-color:var(--color-primary);color:var(--color-primary-contrast)}#app>main>.hero .hero-actions button:active{transform:translateY(0)}#app>main>.hero .hero-actions button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@keyframes hero-gradient-drift{0%{background-position:0 15%}to{background-position:100% 85%}}@keyframes hero-light-drift{0%{transform:translate(-3%,-2%)scale(1)}to{transform:translate(4%,3%)scale(1.08)}}@keyframes hero-light-drift-reverse{0%{transform:translate(3%,2%)scale(1.04)}to{transform:translate(-4%,-3%)scale(1)}}@media (prefers-reduced-motion:reduce){#app>main>.hero,#app>main>.hero:before,#app>main>.hero:after{animation:none}}#app>main>.auth-page{box-sizing:border-box;background:var(--hero-gradient);place-items:center;min-height:calc(100dvh - 76px);padding:clamp(2rem,6vw,5rem) 1.25rem;display:grid}#app>main>.auth-page .auth-card{box-sizing:border-box;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 72%, transparent);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);border-radius:1.25rem;width:min(100%,28rem);padding:clamp(1.75rem,6vw,3rem);box-shadow:0 1.5rem 4rem #14100d24}#app>main>.auth-page .auth-heading{text-align:center}#app>main>.auth-page h1{letter-spacing:-.04em;margin:.5rem 0 0;font-size:clamp(2.5rem,5vw,2.5rem)}#app>main>.auth-page .auth-heading p:last-child{color:var(--hero-muted);margin:.75rem 0 0;line-height:1.5}#app>main>.auth-page .auth-form{gap:1.1rem;margin-top:2rem;display:grid}#app>main>.auth-page .auth-field{gap:.45rem;display:grid}#app>main>.auth-page .auth-field label{font-size:.9rem;font-weight:700}#app>main>.auth-page .auth-field input{box-sizing:border-box;border:1px solid var(--color-border);width:100%;color:var(--color-text);font:inherit;background-color:#ffffff29;border-radius:.55rem;padding:.8rem .9rem}#app>main>.auth-page .auth-field input:focus{border-color:var(--color-primary);outline:3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:1px}#app>main>.auth-page .password-input,#app>main>.reset-password-page .password-input{align-items:center;display:flex;position:relative}#app>main>.auth-page .password-input input,#app>main>.reset-password-page .reset-password-field .password-input input{padding-right:3rem}#app>main>.auth-page .password-toggle,#app>main>.reset-password-page .password-toggle{width:2.25rem;height:2.25rem;color:var(--hero-muted);cursor:pointer;background:0 0;border:0;border-radius:.4rem;place-items:center;padding:0;display:inline-grid;position:absolute;right:.35rem}#app>main>.auth-page .password-toggle:hover,#app>main>.reset-password-page .password-toggle:hover{background-color:color-mix(in srgb, var(--color-primary) 22%, transparent);color:var(--color-text)}#app>main>.auth-page .password-toggle:focus-visible,#app>main>.reset-password-page .password-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}#app>main>.auth-page .password-toggle svg,#app>main>.reset-password-page .password-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.25rem;height:1.25rem}#app>main>.auth-page .reset-password-link{color:var(--color-text);text-underline-offset:.2rem;justify-self:end;margin-top:-.35rem;font-size:.9rem;text-decoration:underline}#app>main>.auth-page .reset-password-link:hover{color:var(--color-primary-text)}#app>main>.auth-page .auth-submit,#app>main>.auth-page .auth-switch button{border:1px solid var(--color-primary);cursor:pointer;font:inherit;border-radius:.55rem;padding:.8rem 1rem;font-weight:700;transition:background-color .15s,color .15s,transform .15s}#app>main>.auth-page .auth-submit{background-color:var(--color-primary);color:var(--color-primary-contrast)}#app>main>.auth-page .auth-submit:hover{background-color:var(--color-text);color:var(--color-background);transform:translateY(-2px)}#app>main>.auth-page .auth-submit:focus-visible,#app>main>.auth-page .auth-switch button:focus-visible,#app>main>.auth-page .reset-password-link:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}#app>main>.auth-page .auth-switch{color:var(--hero-muted);justify-content:center;gap:.35rem;margin-top:1.5rem;font-size:.9rem;display:flex}#app>main>.auth-page .auth-switch button{color:var(--color-text);text-underline-offset:.2rem;background:0 0;border:0;padding:0;text-decoration:underline}#app>main>.auth-page .auth-switch button:hover{color:var(--color-primary-text)}#app>main>.games-page{box-sizing:border-box;background:var(--hero-gradient);align-content:start;justify-items:center;min-height:calc(100dvh - 76px);margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 8px;display:grid}#app>main>.games-page .games-heading{text-align:center}#app>main>.games-page h1{letter-spacing:-.05em;margin:.5rem 0 0;font-size:clamp(2rem,6vw,3.5rem)}#app>main>.games-page .games-heading>p:last-child{color:var(--hero-muted);margin:.9rem 0 0;line-height:1.5}#app>main>.games-page .games-add-button{color:#14100d;cursor:pointer;font:inherit;background:linear-gradient(115deg,#c88232,#f3d27d,#e2b148,#c88232) 0 0/300% 100%;border:0;border-radius:.75rem;align-items:center;gap:.65rem;margin-top:2rem;padding:1rem 1.35rem;font-weight:800;transition:transform .15s,box-shadow .15s;animation:5s infinite games-cta-gradient;display:inline-flex;box-shadow:0 .75rem 2rem #975b1d47}#app>main>.games-page .games-add-button span{font-size:1.5rem;line-height:1}#app>main>.games-page .games-add-button:hover{transform:translateY(-3px);box-shadow:0 1rem 2.5rem #975b1d61}#app>main>.games-page .games-add-button:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}#app>main>.games-page .games-form-card{box-sizing:border-box;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 78%, transparent);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);border-radius:1rem;width:min(100%,42rem);margin-top:1.5rem;padding:clamp(1.25rem,4vw,2rem);box-shadow:0 1rem 3rem #14100d1f}#app>main>.games-page .games-modal-backdrop{z-index:60;background:#14100d73;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}#app>main>.games-page .games-modal{max-height:calc(100dvh - 2rem);margin:0;overflow-y:auto}#app>main>.games-page .games-modal-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}#app>main>.games-page .games-modal-header h2{letter-spacing:-.03em;margin:0}#app>main>.games-page .games-modal-close{border:1px solid var(--color-border);width:2.25rem;height:2.25rem;color:var(--color-text);cursor:pointer;font:inherit;background:0 0;border-radius:.4rem;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:inline-grid}#app>main>.games-page .games-modal-close:hover{background:var(--color-primary);color:var(--color-primary-contrast)}#app>main>.games-page .games-form-card h2,#app>main>.games-page .games-list-heading h2{letter-spacing:-.03em;margin:0}#app>main>.games-page .games-form-card form{gap:1rem;margin-top:1.25rem;display:grid}#app>main>.games-page .games-form-card form>div{gap:.4rem;display:grid}#app>main>.games-page .games-form-card label{font-size:.9rem;font-weight:700}#app>main>.games-page .games-form-card input{box-sizing:border-box;border:1px solid var(--color-border);width:100%;color:var(--color-text);font:inherit;background:#ffffff29;border-radius:.55rem;padding:.75rem .85rem}#app>main>.games-page .games-form-card button{border:1px solid var(--color-primary);background:var(--color-primary);min-height:2.75rem;color:var(--color-primary-contrast);cursor:pointer;font:inherit;border-radius:.55rem;padding:.75rem 1rem;font-weight:700}#app>main>.games-page .games-form-card .games-modal-header+form{margin-top:1.25rem}#app>main>.games-page .games-list{width:100%;margin-top:clamp(2.5rem,6vw,4rem)}#app>main>.games-page .games-list-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}#app>main>.games-page .game-cards{gap:1rem;margin-top:1.25rem;display:grid}#app>main>.games-page .game-card{box-sizing:border-box;border:1px solid var(--color-border);background:radial-gradient(circle at 100% 0%, #e2b14833, transparent 35%), color-mix(in srgb, var(--color-surface) 78%, transparent);-webkit-backdrop-filter:blur(.8rem);backdrop-filter:blur(.8rem);border-radius:1rem;gap:1rem;width:100%;padding:clamp(1.25rem,3vw,1.75rem);transition:transform .15s,box-shadow .15s;display:grid;position:relative;box-shadow:0 .8rem 2.5rem #14100d1a}#app>main>.games-page .game-card:hover{transform:translateY(-3px);box-shadow:0 1rem 3rem #14100d29}#app>main>.games-page .game-card-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}#app>main>.games-page .game-card-date{color:var(--hero-muted);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:.8rem;font-weight:700}#app>main>.games-page .game-card h3{margin:.3rem 0 0;font-size:clamp(1.25rem,3vw,1.75rem)}#app>main>.games-page .game-card-reward{border:1px solid var(--color-primary);color:var(--color-primary-contrast);background:var(--color-primary);border-radius:999px;flex:none;padding:.35rem .65rem;font-size:.8rem;font-weight:800}#app>main>.games-page .game-card-recap{color:var(--hero-muted);margin:0;line-height:1.6}#app>main>.games-page .game-card-details,#app>main>.games-page .game-card-characters{color:var(--hero-muted);flex-wrap:wrap;gap:.5rem 1rem;font-size:.9rem;display:flex}#app>main>.games-page .game-card-characters a{color:var(--color-text);font-weight:700;text-decoration:none}#app>main>.games-page .game-card-characters a:hover{color:var(--color-primary-text)}#app>main>.games-page .game-card-link{color:var(--color-text);justify-self:start;font-weight:800;text-decoration:none}#app>main>.games-page .game-card-link:hover{color:var(--color-primary-text)}#app>main>.games-page .games-loading,#app>main>.games-page .games-empty,#app>main>.games-page .games-error{color:var(--hero-muted);margin:1.25rem 0 0}#app>main>.games-page .games-error{color:#a43b2c}#app>main>.game-detail-page{box-sizing:border-box;background:var(--hero-gradient);align-content:start;justify-items:center;gap:1.5rem;min-height:calc(100dvh - 76px);margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 8px;display:grid}#app>main>.game-detail-page .game-detail-card{box-sizing:border-box;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 80%, transparent);-webkit-backdrop-filter:blur(.9rem);backdrop-filter:blur(.9rem);border-radius:1.1rem;width:min(100%,52rem);padding:clamp(1.5rem,4vw,2.25rem);box-shadow:0 1rem 3rem #14100d1f}#app>main>.game-detail-page .game-detail-header{justify-content:space-between;align-items:start;gap:1rem;display:flex}#app>main>.game-detail-page h1,#app>main>.game-detail-page h2{letter-spacing:-.04em;margin:0}#app>main>.game-detail-page h1{margin-top:.45rem;font-size:clamp(2.1rem,5vw,3.25rem)}#app>main>.game-detail-page .game-detail-reward{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.45rem .8rem;font-size:.8rem;font-weight:800;display:inline-flex}#app>main>.game-detail-page .game-detail-reward-button{font:inherit;cursor:pointer}#app>main>.game-detail-page .game-detail-reward-button:hover{filter:brightness(1.08)}#app>main>.game-detail-page .game-detail-reward-form input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;border-radius:.55rem;padding:.6rem .7rem}#app>main>.game-detail-page .game-detail-reward-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}#app>main>.game-detail-page .game-detail-reward-form .game-detail-reward-cancel{border-color:var(--color-border);color:var(--color-text);background:0 0}#app>main>.game-detail-page .game-detail-meta{color:var(--hero-muted);flex-wrap:wrap;gap:.75rem 1.2rem;margin-top:1.25rem;font-size:.9rem;font-weight:700;display:flex}#app>main>.game-detail-page .game-detail-dm-status{border:1px solid;border-radius:.65rem;margin:1rem 0 0;padding:.75rem .9rem;font-weight:700;display:block}#app>main>.game-detail-page .game-detail-dm-status-active{border-color:color-mix(in srgb, #287a4d 45%, var(--color-border));color:#287a4d;background:#287a4d1a}#app>main>.game-detail-page .game-detail-dm-status-readonly{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border));background:color-mix(in srgb, var(--color-primary) 10%, transparent);color:var(--color-text)}#app>main>.game-detail-page .game-detail-section{margin-top:1.75rem}#app>main>.game-detail-page .game-detail-section h2{margin-bottom:.7rem;font-size:clamp(1.1rem,2vw,1.5rem)}#app>main>.game-detail-page .game-detail-section p{color:var(--hero-muted);margin:0;line-height:1.65}#app>main>.game-detail-page .game-recap-form{gap:.65rem;margin-top:1.25rem;display:grid}#app>main>.game-detail-page .game-recap-form label{font-size:.9rem;font-weight:700}#app>main>.game-detail-page .game-recap-form textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;border-radius:.55rem;padding:.8rem .9rem;line-height:1.5}#app>main>.game-detail-page .game-recap-form textarea:focus{border-color:var(--color-primary);outline:3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:1px}#app>main>.game-detail-page .game-recap-form button{border:1px solid var(--color-primary);background:var(--color-primary);width:fit-content;color:var(--color-primary-contrast);font:inherit;cursor:pointer;border-radius:.6rem;padding:.7rem .9rem;font-weight:800}#app>main>.game-detail-page .game-recap-form button:disabled{cursor:wait;opacity:.65}#app>main>.game-detail-page .game-recap-form p{margin:0}#app>main>.game-detail-page .game-recap-success{color:#287a4d}#app>main>.game-detail-page .game-recap-error{color:#a43b2c}#app>main>.game-detail-page .game-detail-reward-forms{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}#app>main>.game-detail-page .game-detail-reward-form{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 55%, transparent);border-radius:.8rem;gap:.65rem;padding:1rem;display:grid}#app>main>.game-detail-page .game-detail-reward-form label{font-size:.9rem;font-weight:700}#app>main>.game-detail-page .game-detail-reward-form select{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;border-radius:.55rem;padding:.7rem .8rem}#app>main>.game-detail-page .game-detail-reward-form button{border:1px solid var(--color-primary);background:var(--color-primary);width:fit-content;color:var(--color-primary-contrast);font:inherit;cursor:pointer;border-radius:.6rem;padding:.65rem .8rem;font-weight:800}#app>main>.game-detail-page .game-detail-reward-form button:disabled{cursor:wait;opacity:.65}#app>main>.game-detail-page .game-detail-reward-success,#app>main>.game-detail-page .game-detail-reward-error{margin-top:.75rem}#app>main>.game-detail-page .game-detail-reward-success{color:#287a4d}#app>main>.game-detail-page .game-detail-reward-error{color:#a43b2c}#app>main>.game-detail-page .game-detail-participants{gap:.85rem;display:grid}#app>main>.game-detail-page .game-detail-participant-card{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 55%, transparent);border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}#app>main>.game-detail-page .game-detail-participant-info{gap:.35rem;min-width:0;display:grid}#app>main>.game-detail-page .game-detail-participant-name{color:var(--color-text);font-weight:700;text-decoration:none}#app>main>.game-detail-page .game-detail-participant-name:hover{color:var(--color-primary-text)}#app>main>.game-detail-page .game-detail-participant-exp{color:var(--hero-muted);font-size:.85rem}#app>main>.game-detail-page .game-detail-exp-earned{color:#287a4d}#app>main>.game-detail-page .game-detail-participant-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}#app>main>.game-detail-page .game-detail-exp-toggle{color:var(--hero-muted);align-items:center;gap:.4rem;font-size:.85rem;display:inline-flex}#app>main>.game-detail-page .game-detail-participant-delete{color:#a43b2c;font:inherit;cursor:pointer;background:0 0;border:1px solid #a43b2c;border-radius:.5rem;padding:.55rem .7rem;font-size:.85rem;font-weight:700}#app>main>.game-detail-page .game-detail-participant-delete:hover{background:#a43b2c1f}#app>main>.game-detail-page .game-detail-participant-delete:disabled,#app>main>.game-detail-page .game-detail-exp-toggle input:disabled{cursor:wait;opacity:.65}#app>main>.game-detail-page .game-detail-participant-error{color:#a43b2c;margin-top:.75rem}#app>main>.game-detail-page .game-detail-empty,#app>main>.game-detail-page .game-detail-loading{color:var(--hero-muted)}@media (width<=640px){#app>main>.game-detail-page .game-detail-reward-forms{grid-template-columns:1fr}#app>main>.game-detail-page .game-detail-participant-card{flex-direction:column;align-items:stretch}#app>main>.game-detail-page .game-detail-participant-actions{justify-content:flex-start}#app>main>.game-detail-page .game-detail-danger-zone{flex-direction:column;align-items:stretch}}#app>main>.game-detail-page .game-detail-primary-button,#app>main>.game-detail-page .game-detail-back{border:1px solid var(--color-primary);font:inherit;border-radius:.6rem;align-items:center;gap:.4rem;padding:.8rem 1rem;font-weight:800;text-decoration:none;display:inline-flex}#app>main>.game-detail-page .game-detail-add-participant{margin-top:1rem}#app>main>.game-detail-page .game-detail-primary-button{background:var(--color-primary);color:var(--color-primary-contrast);cursor:pointer}#app>main>.game-detail-page .game-detail-back{color:var(--color-text)}#app>main>.game-detail-page .game-detail-primary-button:hover{background:var(--color-text);color:var(--color-background)}#app>main>.game-detail-page .game-detail-footer{justify-content:flex-end;margin-top:2rem;display:flex}#app>main>.game-detail-page .game-detail-back:hover{color:var(--color-primary-text)}#app>main>.game-detail-page .game-detail-danger-zone{border:1px solid color-mix(in srgb, #a43b2c 55%, var(--color-border));background:#a43b2c12;border-radius:.8rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding:1.15rem;display:flex}#app>main>.game-detail-page .game-detail-danger-zone h2{color:#a43b2c;margin-bottom:.35rem;font-size:1.1rem}#app>main>.game-detail-page .game-detail-danger-zone p{color:var(--hero-muted);margin:0;font-size:.85rem;line-height:1.5}#app>main>.game-detail-page .game-detail-danger-button{color:#a43b2c;font:inherit;cursor:pointer;background:0 0;border:1px solid #a43b2c;border-radius:.6rem;align-items:center;gap:.4rem;padding:.8rem 1rem;font-weight:800;display:inline-flex}#app>main>.game-detail-page .game-detail-danger-button:hover{color:#fff8f2;background:#a43b2c}#app>main>.character-detail-page{box-sizing:border-box;background:var(--hero-gradient);align-content:start;justify-items:center;min-height:calc(100dvh - 76px);padding:clamp(2.5rem,6vw,5rem) 8px;display:grid}#app>main>.character-detail-page .character-detail-card{box-sizing:border-box;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 80%, transparent);-webkit-backdrop-filter:blur(.9rem);backdrop-filter:blur(.9rem);border-radius:1.1rem;width:min(100%,52rem);padding:clamp(1.5rem,4vw,2.25rem);box-shadow:0 1rem 3rem #14100d1f}#app>main>.character-detail-page .character-detail-layout{grid-template-columns:minmax(12rem,15rem) 1fr;align-items:center;gap:clamp(1.5rem,5vw,3rem);display:grid}#app>main>.character-detail-page .character-image-container{aspect-ratio:1;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-primary) 14%, transparent);border-radius:1rem;padding:.65rem}#app>main>.character-detail-page .character-image-placeholder{background:linear-gradient(145deg, color-mix(in srgb, var(--color-primary) 48%, transparent), transparent), color-mix(in srgb, var(--color-text) 12%, transparent);width:100%;height:100%;color:var(--color-primary-text);border-radius:.65rem;place-items:center;font-size:clamp(4rem,10vw,6rem);font-weight:800;display:grid}#app>main>.character-detail-page .character-detail-heading{justify-content:space-between;align-items:start;gap:1rem;display:flex}#app>main>.character-detail-page h1{letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,3.25rem)}#app>main>.character-detail-page .character-detail-owner{color:var(--hero-muted);margin:.55rem 0 0;font-weight:700}#app>main>.character-detail-page .character-detail-tier{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);border-radius:999px;flex:none;justify-content:center;align-items:center;padding:.45rem .8rem;font-size:.8rem;font-weight:800;display:inline-flex}#app>main>.character-detail-page .character-detail-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:2rem;display:grid}#app>main>.character-detail-page .character-detail-stats div{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 45%, transparent);border-radius:.7rem;gap:.3rem;padding:.85rem;display:grid}#app>main>.character-detail-page .character-detail-stats span{color:var(--hero-muted);font-size:.8rem;font-weight:700}#app>main>.character-detail-page .character-detail-stats strong{font-size:1.3rem}#app>main>.character-detail-page .character-detail-description{border-top:1px solid var(--color-border);margin-top:1.75rem;padding-top:1.5rem}#app>main>.character-detail-page .character-detail-description h2{margin:0 0 .7rem;font-size:1.25rem}#app>main>.character-detail-page .character-detail-description>p{color:var(--hero-muted);white-space:pre-wrap;margin:0 0 1.25rem;line-height:1.6}#app>main>.character-detail-page .character-description-form{gap:.65rem;display:grid}#app>main>.character-detail-page .character-description-form label{font-size:.9rem;font-weight:700}#app>main>.character-detail-page .character-description-form textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;border-radius:.55rem;padding:.8rem .9rem;line-height:1.5}#app>main>.character-detail-page .character-description-form textarea:focus{border-color:var(--color-primary);outline:3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:1px}#app>main>.character-detail-page .character-description-form button{border:1px solid var(--color-primary);background:var(--color-primary);width:fit-content;color:var(--color-primary-contrast);font:inherit;cursor:pointer;border-radius:.6rem;padding:.7rem .9rem;font-weight:800}#app>main>.character-detail-page .character-description-form button:disabled{cursor:wait;opacity:.65}#app>main>.character-detail-page .character-description-form p{margin:0}#app>main>.character-detail-page .character-description-success{color:#287a4d}#app>main>.character-detail-page .character-description-error{color:#a43b2c}#app>main>.character-detail-page .character-detail-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}#app>main>.character-detail-page .character-detail-history-button{border:1px solid var(--color-primary);min-width:10rem;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border-radius:.6rem;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem .9rem;font-weight:800;display:inline-flex}#app>main>.character-detail-page .character-detail-history-button[aria-expanded=true]{background:var(--color-primary);color:var(--color-primary-contrast)}#app>main>.character-detail-page .character-detail-panel{border-top:1px solid var(--color-border);margin-top:1.75rem;padding-top:1.5rem}#app>main>.character-detail-page .character-detail-panel h2{margin:0 0 1rem;font-size:1.25rem}#app>main>.character-detail-page .character-detail-table-wrapper{width:100%;overflow-x:auto}#app>main>.character-detail-page table{border-collapse:collapse;text-align:left;width:100%;min-width:34rem}#app>main>.character-detail-page th,#app>main>.character-detail-page td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:.75rem .6rem}#app>main>.character-detail-page th{color:var(--hero-muted);white-space:nowrap;font-size:.8rem}#app>main>.character-detail-page .character-detail-panel-empty{color:var(--hero-muted);margin:0}#app>main>.character-detail-page .character-detail-transaction-form{border-top:1px solid var(--color-border);margin-top:1.75rem;padding-top:1.5rem}#app>main>.character-detail-page .character-detail-transaction-form h3{margin:0 0 1rem;font-size:1.1rem}#app>main>.character-detail-page .transaction-form{gap:1rem;display:grid}#app>main>.character-detail-page .transaction-form-field{gap:.4rem;display:grid}#app>main>.character-detail-page .transaction-form-field label{font-size:.9rem;font-weight:700}#app>main>.character-detail-page .transaction-form-field input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;border-radius:.5rem;padding:.7rem .8rem}#app>main>.character-detail-page .transaction-form-field small{color:var(--hero-muted);font-size:.8rem}#app>main>.character-detail-page .transaction-form button{border:1px solid var(--color-primary);background:var(--color-primary);width:fit-content;color:var(--color-primary-contrast);font:inherit;cursor:pointer;border-radius:.6rem;padding:.7rem .9rem;font-weight:800}#app>main>.character-detail-page .transaction-form button:disabled{cursor:wait;opacity:.65}#app>main>.character-detail-page .transaction-form p{margin:0}#app>main>.character-detail-page .transaction-form-success{color:#287a4d}#app>main>.character-detail-page .transaction-form-error{color:#a43b2c}#app>main>.character-detail-page .character-detail-transaction-remove{color:#a43b2c;font:inherit;cursor:pointer;background:0 0;border:1px solid #a43b2c;border-radius:.45rem;padding:.4rem .6rem;font-size:.8rem;font-weight:700}#app>main>.character-detail-page .character-detail-transaction-remove:hover{color:#fff8f2;background:#a43b2c}#app>main>.character-detail-page .character-detail-transaction-remove:disabled{cursor:wait;opacity:.65}#app>main>.character-detail-page .character-detail-transaction-error{color:#a43b2c;margin:1rem 0 0}#app>main>.character-detail-page .character-detail-back{color:var(--color-text);margin-top:2rem;font-weight:800;text-decoration:none;display:inline-flex}#app>main>.character-detail-page .character-detail-back:hover{color:var(--color-primary-text)}#app>main>.character-detail-page .character-detail-loading,#app>main>.character-detail-page .character-detail-error p{color:var(--hero-muted)}#app>main>.character-detail-page .character-detail-error h1{margin-bottom:.75rem}#app>main>.character-detail-page .character-detail-error p{margin:0;line-height:1.5}#app>main>.me-page{background:var(--hero-gradient);align-content:start;justify-items:center;min-height:calc(100dvh - 76px);padding:clamp(2.5rem,6vw,5rem) 1.25rem;display:grid}#app>main>.me-page .me-heading,#app>main>.me-page .me-tabs,#app>main>.me-page .me-panel{box-sizing:border-box;width:min(100%,52rem)}#app>main>.me-page .me-heading span{font-size:clamp(1rem,2.5vw,1.75rem);font-style:italic}#app>main>.me-page .me-heading{margin-bottom:1.75rem}#app>main>.me-page h1{margin:0;font-size:clamp(2rem,5vw,3.25rem)}#app>main>.me-page .me-heading>p:last-child{color:var(--hero-muted);margin:.75rem 0 0}#app>main>.me-page .me-tabs{border-bottom:1px solid var(--color-border);gap:.5rem;display:flex}#app>main>.me-page .me-tabs button{color:var(--hero-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:.75rem 1rem;font-weight:800}#app>main>.me-page .me-tabs button.me-tab-active{border-bottom-color:var(--color-primary);color:var(--color-text)}#app>main>.me-page .me-panel{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 80%, transparent);-webkit-backdrop-filter:blur(.9rem);backdrop-filter:blur(.9rem);border-radius:1rem;margin-top:1.5rem;padding:clamp(1.25rem,4vw,2rem);box-shadow:0 1rem 3rem #14100d1f}#app>main>.me-page .me-panel-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}#app>main>.me-page .me-panel-heading h2{margin:0}#app>main>.me-page .me-panel-heading a,#app>main>.me-page .me-links-list a{color:var(--color-text);font-weight:800;text-decoration:none}#app>main>.me-page .me-panel-heading a:hover,#app>main>.me-page .me-links-list a:hover{color:var(--color-primary-text)}#app>main>.me-page .me-create-button{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);cursor:pointer;font:inherit;border-radius:.65rem;margin:1.25rem auto 0;padding:.75rem 1rem;font-weight:800;display:block}#app>main>.me-page .me-create-button:hover{filter:brightness(1.08)}#app>main>.me-page .me-modal-backdrop{z-index:30;background:#14100d99;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}#app>main>.me-page .me-modal{max-height:calc(100dvh - 2rem);margin:0;overflow-y:auto}#app>main>.me-page .me-modal-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}#app>main>.me-page .me-modal-header h2{margin:0}#app>main>.me-page .me-modal-close{border:1px solid var(--color-border);width:2.25rem;height:2.25rem;color:var(--color-text);cursor:pointer;font:inherit;background:0 0;border-radius:.4rem;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:inline-grid}#app>main>.me-page .me-modal-close:hover{background:var(--color-primary);color:var(--color-primary-contrast)}#app>main>.me-page .me-create-card{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 90%, transparent);border-radius:.8rem;padding:1.1rem}#app>main>.me-page .me-create-card h3{margin:0}#app>main>.me-page .me-create-card>p{color:var(--hero-muted);margin:.75rem 0 0}#app>main>.me-page .character-create-form{gap:.9rem;margin-top:1.1rem;display:grid}#app>main>.me-page .character-create-field{gap:.4rem;display:grid}#app>main>.me-page .character-create-field label{font-size:.9rem;font-weight:700}#app>main>.me-page .character-create-field input{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text);font:inherit;border-radius:.55rem;padding:.75rem .85rem}#app>main>.me-page .character-create-fields-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}#app>main>.me-page .character-create-options-toggle{border:1px solid var(--color-border);width:fit-content;color:var(--color-text);cursor:pointer;font:inherit;background:0 0;border-radius:.55rem;padding:.65rem .8rem;font-size:.9rem;font-weight:700}#app>main>.me-page .character-create-options-toggle:hover{border-color:var(--color-primary);color:var(--color-primary-text)}#app>main>.me-page .character-create-options-toggle:disabled{cursor:wait;opacity:.65}#app>main>.me-page .character-create-options{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 55%, transparent);border-radius:.7rem;gap:.8rem;padding:.9rem;display:grid}#app>main>.me-page .character-create-options>p{color:var(--hero-muted);margin:0;font-size:.85rem;line-height:1.5}#app>main>.me-page .character-create-form button{border:1px solid var(--color-primary);background:var(--color-primary);width:fit-content;color:var(--color-primary-contrast);cursor:pointer;font:inherit;border-radius:.6rem;padding:.7rem .9rem;font-weight:800}#app>main>.me-page .character-create-form button:disabled,#app>main>.me-page .me-create-button:disabled{cursor:wait;opacity:.65}#app>main>.me-page .character-create-form p{margin:0}#app>main>.me-page .character-create-success{color:#287a4d}#app>main>.me-page .character-create-error{color:#a43b2c}#app>main>.me-page .me-links-list{gap:.65rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}#app>main>.me-page .me-links-list li{border:1px solid var(--color-border);border-radius:.65rem;padding:.9rem 1rem}#app>main>.me-page .me-links-list a{justify-content:space-between;gap:1rem;display:flex}#app>main>.me-page .me-links-list small{color:var(--hero-muted);font-weight:400}#app>main>.me-page .me-status{color:var(--hero-muted);margin:1.5rem 0 0}#app>main>.me-page .me-error{color:#a43b2c}@media (width<=700px){#app>main>.me-page .me-panel-heading,#app>main>.me-page .me-links-list a{flex-direction:column;align-items:flex-start;gap:.45rem}#app>main>.me-page .me-tabs button{flex:1;padding-inline:.5rem}#app>main>.me-page .character-create-fields-row{grid-template-columns:1fr}}#app>main>.game-detail-page .modal-backdrop{z-index:30;background:#14100d99;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}#app>main>.game-detail-page .modal-card{box-sizing:border-box;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 88%, transparent);border-radius:1rem;width:min(100%,28rem);padding:1.25rem;box-shadow:0 1.25rem 3rem #14100d3d}#app>main>.game-detail-page .modal-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}#app>main>.game-detail-page .modal-header h2{margin:0;font-size:clamp(1.2rem,3vw,1.75rem)}#app>main>.game-detail-page .modal-close-button{width:2.25rem;height:2.25rem;color:var(--color-text);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;font-size:1.5rem;display:inline-grid}#app>main>.game-detail-page .modal-close-button:hover{background:#14100d14}#app>main>.game-detail-page .danger-modal-card{border-color:color-mix(in srgb, #a43b2c 45%, var(--color-border))}#app>main>.game-detail-page .danger-modal-message{color:var(--hero-muted);margin:0;line-height:1.6}#app>main>.game-detail-page .danger-modal-error{color:#a43b2c;margin:1rem 0 0;font-weight:700}#app>main>.game-detail-page .danger-modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}#app>main>.game-detail-page .modal-cancel-button,#app>main>.game-detail-page .danger-confirm-button{border:1px solid var(--color-border);font:inherit;cursor:pointer;border-radius:.55rem;padding:.7rem .9rem;font-weight:800}#app>main>.game-detail-page .modal-cancel-button{color:var(--color-text);background:0 0}#app>main>.game-detail-page .danger-confirm-button{color:#fff8f2;background:#a43b2c;border-color:#a43b2c}#app>main>.game-detail-page .danger-confirm-button:hover{background:#7f2d23;border-color:#7f2d23}#app>main>.game-detail-page .modal-cancel-button:disabled,#app>main>.game-detail-page .danger-confirm-button:disabled,#app>main>.game-detail-page .modal-close-button:disabled{cursor:not-allowed;opacity:.6}#app>main>.game-detail-page .part-form{gap:1rem;display:grid}#app>main>.game-detail-page .part-form-field,#app>main>.game-detail-page .part-form-checkbox{gap:.45rem;display:grid}#app>main>.game-detail-page .part-form label{font-size:.9rem;font-weight:700}#app>main>.game-detail-page .part-form select,#app>main>.game-detail-page .part-form input[type=search],#app>main>.game-detail-page .part-form input[type=checkbox]{accent-color:var(--color-primary)}#app>main>.game-detail-page .part-form input[type=search]{box-sizing:border-box;border:1px solid var(--color-border);width:100%;color:var(--color-text);font:inherit;background:#ffffff29;border-radius:.55rem;padding:.8rem .9rem}#app>main>.game-detail-page .part-form-character-list{border:1px solid var(--color-border);border-radius:.55rem;gap:.45rem;max-height:12rem;padding:.2rem;display:grid;overflow-y:auto}#app>main>.game-detail-page .part-form-character-list button{border-color:var(--color-border);min-height:2.4rem;color:var(--color-text);text-align:left;background:0 0}#app>main>.game-detail-page .part-form-character-list button:hover{background:var(--color-primary);color:var(--color-primary-contrast)}#app>main>.game-detail-page .part-form-character-selection{margin:0;line-height:1.5}#app>main>.game-detail-page .part-form button{border:1px solid var(--color-primary);background:var(--color-primary);min-height:2.8rem;color:var(--color-primary-contrast);cursor:pointer;font:inherit;border-radius:.55rem;font-weight:700}#app>main>.game-detail-page .part-form button:hover{background:var(--color-text);color:var(--color-background)}#app>main>.game-detail-page .part-form-status,#app>main>.game-detail-page .part-form-success,#app>main>.game-detail-page .part-form-error{margin:0;line-height:1.5}#app>main>.game-detail-page .part-form-success{color:#26734d}#app>main>.game-detail-page .part-form-error{color:#a43b2c}#app>main>.game-detail-page .game-detail-error{gap:.75rem;display:grid}#app>main>.game-detail-page .game-detail-error h1{margin:0}#app>main>.game-detail-page .game-detail-error p{color:var(--hero-muted);margin:0}@keyframes games-cta-gradient{0%,to{background-position:0%}50%{background-position:100%}}@media (prefers-reduced-motion:reduce){#app>main>.games-page .games-add-button{transition:none;animation:none}#app>main>.games-page .game-card{transition:none}}#app>main>.reset-password-page{box-sizing:border-box;background:var(--hero-gradient);place-items:center;min-height:calc(100dvh - 76px);padding:clamp(2rem,6vw,5rem) 1.25rem;display:grid}#app>main>.reset-password-page .reset-password-card{box-sizing:border-box;border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 72%, transparent);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);border-radius:1.25rem;width:min(100%,28rem);padding:clamp(1.75rem,6vw,3rem);box-shadow:0 1.5rem 4rem #14100d24}#app>main>.reset-password-page .reset-password-heading{text-align:center}#app>main>.reset-password-page h1{letter-spacing:-.04em;margin:.5rem 0 0;font-size:clamp(1.8rem,5vw,2.5rem)}#app>main>.reset-password-page .reset-password-heading>p:last-child,#app>main>.reset-password-page .reset-password-step>p{color:var(--hero-muted);margin:.75rem 0 0;line-height:1.5}#app>main>.reset-password-page .reset-password-steps{justify-content:center;align-items:center;display:flex}#app>main>.reset-password-page .reset-password-steps>span:not(.reset-password-step-line){border:1px solid var(--color-border);width:2rem;height:2rem;color:var(--hero-muted);border-radius:50%;place-items:center;font-size:.85rem;font-weight:700;display:grid}#app>main>.reset-password-page .reset-password-steps .reset-password-step-active{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast)}#app>main>.reset-password-page .reset-password-step-line{background-color:var(--color-border);width:3rem;height:1px}#app>main>.reset-password-page .reset-password-step-window{min-height:21rem;margin:2rem 0 1.5rem;display:grid;overflow:hidden}#app>main>.reset-password-page .reset-password-step{grid-area:1/1;gap:1rem;width:100%;min-width:0;display:grid}#app>main>.reset-password-page .reset-password-step h2{margin:0;font-size:1.35rem}#app>main>.reset-password-page .reset-password-field{gap:.45rem;display:grid}#app>main>.reset-password-page .reset-password-field label{font-size:.9rem;font-weight:700}#app>main>.reset-password-page .reset-password-field input{box-sizing:border-box;border:1px solid var(--color-border);width:100%;color:var(--color-text);font:inherit;background-color:#ffffff29;border-radius:.55rem;padding:.8rem .9rem}#app>main>.reset-password-page .reset-password-field input:focus{border-color:var(--color-primary);outline:3px solid color-mix(in srgb, var(--color-primary) 35%, transparent);outline-offset:1px}#app>main>.reset-password-page .reset-password-primary{border:1px solid var(--color-primary);background-color:var(--color-primary);min-height:2.75rem;color:var(--color-primary-contrast);cursor:pointer;font:inherit;border-radius:.55rem;margin-top:.5rem;padding:.8rem 1rem;font-weight:700;transition:background-color .15s,color .15s,transform .15s}#app>main>.reset-password-page .reset-password-primary:hover:not(:disabled){background-color:var(--color-text);color:var(--color-background);transform:translateY(-2px)}#app>main>.reset-password-page .reset-password-primary:disabled{cursor:wait;opacity:.65}#app>main>.reset-password-page .reset-password-primary:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}#app>main>.auth-modal-backdrop{z-index:60;background:#14100d73;position:fixed;inset:0}#app>main>.auth-modal{z-index:61;box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);width:min(100% - 2rem,24rem);color:var(--color-text);text-align:center;border-radius:1rem;justify-items:center;padding:2rem;display:grid;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1.5rem 4rem #14100d3d}#app>main>.auth-modal h2{margin:1rem 0 0;font-size:1.35rem}#app>main>.auth-modal p{color:var(--hero-muted);margin:.75rem 0 0;line-height:1.5}#app>main>.auth-modal .auth-progress{box-sizing:border-box;border:.35rem solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:3.25rem;height:3.25rem;animation:.8s linear infinite auth-progress-spin}#app>main>.auth-modal .auth-modal-actions{flex-direction:row-reverse;grid-template-columns:1fr 1fr;gap:.75rem;width:100%;margin-top:1.5rem;display:flex}#app>main>.auth-modal .auth-modal-actions button{border:1px solid var(--color-primary);cursor:pointer;min-height:2.75rem;font:inherit;border-radius:.55rem;padding:.65rem 1rem;font-weight:700}#app>main>.auth-modal .auth-modal-secondary{color:var(--color-text);background-color:#0000}#app>main>.auth-modal .auth-modal-actions button:hover{background-color:var(--color-text);color:var(--color-background)}#app>main>.auth-modal .auth-modal-actions button:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@keyframes auth-progress-spin{to{transform:rotate(360deg)}}#app>main>.not-found{isolation:isolate;box-sizing:border-box;background-color:#0000;background-image:radial-gradient(circle at 15% 20%,#e2b148b3,#0000 38%),radial-gradient(circle at 85% 80%,#fff4e0d9,#0000 42%),linear-gradient(125deg,#f8d5bb 0%,#edc081 48%,#d89d45 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:140% 140%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;place-items:center;height:calc(100dvh - 76px);min-height:calc(100dvh - 76px);padding:clamp(2rem,6vw,5rem) 1.25rem;animation:5s ease-in-out infinite alternate not-found-gradient-shift;display:grid;position:relative;overflow:hidden}#app>main>.not-found:before{z-index:-1;content:"";border:1px solid #14100d1f;border-radius:50%;width:min(65vw,42rem);height:min(65vw,42rem);animation:8s linear infinite not-found-orbit;position:absolute}#app>main>.not-found .not-found-orb{z-index:-1;filter:blur(1px);opacity:.5;border-radius:50%;width:18rem;height:18rem;position:absolute}#app>main>.not-found .not-found-orb-primary{background:#f3d27d;top:-7rem;left:-5rem}#app>main>.not-found .not-found-orb-secondary{background:#c27c35;bottom:-8rem;right:-6rem}#app>main>.not-found .not-found-card{box-sizing:border-box;width:min(100%,30rem);color:var(--color-text);text-align:center;-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem);background:#f8d5bb66;border:1px solid #14100d29;border-radius:1.5rem;flex-direction:column;align-items:center;padding:clamp(2rem,7vw,4rem) clamp(1.5rem,7vw,4rem);display:flex;box-shadow:0 1.5rem 4rem #14100d24}#app>main>.not-found .not-found-logo{width:clamp(4.5rem,18vw,7rem);height:auto;margin-bottom:1.5rem}#app>main>.not-found .not-found-code{color:var(--color-primary-text);letter-spacing:-.08em;text-shadow:0 .4rem 1rem #14100d1f;margin:0;font-size:clamp(4.5rem,20vw,8rem);font-weight:800;line-height:.85}#app>main>.not-found h1{letter-spacing:-.04em;margin:1.5rem 0 0;font-size:clamp(1.7rem,5vw,2.4rem)}#app>main>.not-found .not-found-message{max-width:23rem;color:var(--hero-muted);margin:1rem 0 0;font-size:1rem;line-height:1.55}#app>main>.not-found .home-link{border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-primary-contrast);border-radius:.65rem;align-items:center;gap:.6rem;margin-top:2rem;padding:.85rem 1.2rem;font-weight:700;text-decoration:none;transition:transform .15s,background-color .15s,color .15s;display:inline-flex}#app>main>.not-found .home-link:hover{background:var(--color-text);color:var(--color-background);transform:translateY(-2px)}#app>main>.not-found .home-link:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@keyframes not-found-gradient-shift{0%{background-position:0 0}to{background-position:100% 100%}}@keyframes not-found-orbit{0%{transform:rotate(0)scale(1)}to{transform:rotate(360deg)scale(1.08)}}@media (prefers-color-scheme:dark){#app>main>.not-found{background:radial-gradient(circle at 18% 18%,#e2b1486b,#0000 34%),radial-gradient(circle at 88% 78%,#5c3a22cc,#0000 44%),linear-gradient(125deg,#14100d 0%,#241913 48%,#50331f 100%)}#app>main>.not-found .not-found-card{background:#14100d66;border-color:#f8d5bb33}#app>main>.not-found:before{border-color:#f8d5bb24}}@media (prefers-reduced-motion:reduce){#app>main>.not-found,#app>main>.not-found:before{animation:none}#app>main>.not-found .home-link{transition:none}}body{background-color:var(--color-background);color:var(--color-text);margin:0}#app>main>header{z-index:30;border-bottom:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);justify-content:space-between;align-items:center;padding:.875rem 1.25rem;display:flex;position:sticky;top:0}#app>main>header .navigation{align-items:center;gap:1rem;display:flex;position:relative}#app>main>header a{color:var(--color-text);-webkit-tap-highlight-color:transparent;font-weight:600;text-decoration:none;transition:color .15s,background-color .15s}#app>main>header a:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}#app>main>header>a:first-child{color:var(--color-text);align-items:center;gap:.6rem;display:inline-flex}#app>main>header>a:first-child img{object-fit:contain;flex:0 0 48px;width:48px;max-width:48px;height:48px;max-height:48px;display:block}#app>main>header>a:first-child p{color:var(--color-primary-text);margin:0}#app>main>header>a:first-child:hover{color:var(--color-text)}#app>main>header .drawer-button{appearance:none;border:1px solid var(--color-border);background-color:var(--color-primary);width:32px;height:32px;color:var(--color-primary-contrast);cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:.4rem;justify-content:center;align-items:center;gap:.5rem;padding:0;font-weight:700;display:inline-flex}#app>main>header .drawer-button:hover{background-color:var(--color-text);color:var(--color-background)}#app>main>header .drawer-button:active{background-color:var(--color-primary);color:var(--color-primary-contrast)}#app>main>header .drawer-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}#app>main>header .drawer-icon{font-size:1rem;line-height:1}#app>main>header .login-button{border:1px solid var(--color-border);height:32px;color:var(--color-text);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background-color:#0000;border-radius:.4rem;place-items:center;padding:0 .5rem;font-size:1rem;line-height:1;display:inline-grid}#app>main>header .login-button:hover{background-color:var(--color-primary);color:var(--color-primary-contrast)}#app>main>header .login-button:active{background-color:var(--color-text);color:var(--color-background)}#app>main>header .login-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}#app>main>header .profile-button{appearance:none;box-sizing:border-box;border:1px solid var(--color-border);background-color:var(--color-primary);width:32px;height:32px;color:var(--color-primary-contrast);cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:50%;place-items:center;padding:0;display:inline-grid;overflow:hidden}#app>main>header .profile-button img{object-fit:cover;width:100%;min-width:0;height:100%;min-height:0;display:block}#app>main>header .profile-button:hover{border-color:var(--color-text);background-color:var(--color-text)}#app>main>header .profile-button:active{border-color:var(--color-primary);background-color:var(--color-primary)}#app>main>header .profile-button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}#app>main>header .profile-modal-backdrop{z-index:40;cursor:default;background:#14100d47;border:0;padding:0;position:fixed;inset:0}#app>main>header .profile-modal{z-index:41;box-sizing:border-box;border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:.9rem;gap:.75rem;width:min(100% - 2rem,22rem);padding:1.25rem;display:grid;position:fixed;top:5rem;left:50%;transform:translate(-50%);box-shadow:0 1rem 2.5rem #14100d33}#app>main>header .profile-modal a,#app>main>header .profile-modal button{box-sizing:border-box;border:1px solid var(--color-primary);background-color:var(--color-primary);min-height:2.75rem;color:var(--color-primary-contrast);cursor:pointer;font:inherit;border-radius:.55rem;place-items:center;padding:.65rem 1rem;font-weight:700;text-decoration:none;transition:background-color .15s,color .15s;display:grid}#app>main>header .profile-modal a:hover,#app>main>header .profile-modal button:hover{background-color:var(--color-text);color:var(--color-background)}#app>main>header .profile-modal a:focus-visible,#app>main>header .profile-modal button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}#app>main>header nav{z-index:50;box-sizing:border-box;border-left:1px solid var(--color-border);background-color:var(--color-surface);align-content:start;width:min(18rem,85vw);height:100vh;padding:1rem;transition:transform .25s;display:grid;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-.5rem 0 1.25rem #14100d33}#app>main>header .drawer-header{justify-content:space-between;align-items:center;min-height:48px;display:flex}#app>main>header .drawer-header h2{color:var(--color-text);margin:0;font-size:1.25rem}#app>main>header .drawer-close{appearance:none;border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text);cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background-color:#0000;border-radius:.35rem;place-items:center;font-size:1.25rem;line-height:1;display:inline-grid}#app>main>header .drawer-close:hover{background-color:var(--color-primary);color:var(--color-primary-contrast)}#app>main>header .drawer-close:active{background-color:var(--color-text);color:var(--color-background)}#app>main>header .drawer-close:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}#app>main>header .drawer-divider{background-color:var(--color-border);height:1px;margin:1rem 0}#app>main>header nav.drawer-open{transform:translate(0)}#app>main>header .drawer-backdrop{appearance:none;z-index:40;cursor:default;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background-color:#14100d73;border:0;padding:0;position:fixed;inset:0}#app>main>header nav a{border:1px solid var(--color-border);-webkit-tap-highlight-color:transparent;touch-action:manipulation;background-color:#0000;border-radius:.35rem;padding:.7rem .8rem;display:block}#app>main>header nav a:active{background-color:var(--color-text);color:var(--color-background)}#app>main>header nav a:hover{background-color:var(--color-primary);color:var(--color-primary-contrast)}#app>main>header .drawer-links{gap:.65rem;display:grid}#app>main>.site-footer{border-top:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text)}#app>main>.site-footer .footer-main{box-sizing:border-box;grid-template-columns:minmax(0,1fr) minmax(14rem,1.2fr) minmax(0,1fr);align-items:center;gap:2rem;width:min(100% - 2.5rem,72rem);margin:0 auto;padding:2.5rem 0 2rem;display:grid}#app>main>.site-footer .footer-brand{width:fit-content;color:var(--color-text);flex-direction:column;align-items:center;gap:.75rem;font-size:1.75rem;font-weight:700;text-decoration:none;display:flex}#app>main>.site-footer .footer-brand img{object-fit:contain;width:7rem;height:7rem;display:block}#app>main>.site-footer .footer-quote{color:var(--hero-muted);text-align:center;margin:0;font-size:.8rem;font-style:italic;line-height:1.5}#app>main>.site-footer .footer-links{flex-wrap:wrap;justify-content:flex-end;gap:.5rem 1rem;display:flex}#app>main>.site-footer .footer-links a{color:var(--color-text);font-size:.95rem;text-decoration:none;transition:color .15s}#app>main>.site-footer .footer-bottom{box-sizing:border-box;border-top:1px solid var(--color-border);width:min(100% - 2.5rem,72rem);color:var(--hero-muted);text-align:center;margin:0 auto;padding:1rem 0 1.25rem}#app>main>.site-footer .footer-bottom small{font-size:.8rem}@media (width<=700px){#app>main>.character-detail-page .character-detail-actions{grid-template-columns:1fr;display:grid}#app>main>.character-detail-page .character-detail-history-button{width:100%}#app>main>.character-detail-page .character-detail-table-wrapper{overflow:visible}#app>main>.character-detail-page table,#app>main>.character-detail-page thead,#app>main>.character-detail-page tbody,#app>main>.character-detail-page tr,#app>main>.character-detail-page th,#app>main>.character-detail-page td{display:block}#app>main>.character-detail-page table{min-width:0}#app>main>.character-detail-page thead{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#app>main>.character-detail-page tbody{gap:.75rem;display:grid}#app>main>.character-detail-page tr{border:1px solid var(--color-border);background:color-mix(in srgb, var(--color-surface) 55%, transparent);border-radius:.65rem;padding:.65rem .75rem}#app>main>.character-detail-page td{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(6.5rem,36%) 1fr;gap:.75rem;padding:.45rem 0;display:grid}#app>main>.character-detail-page td:first-child{padding-top:0}#app>main>.character-detail-page td:last-child{border-bottom:0;padding-bottom:0}#app>main>.character-detail-page td:before{content:attr(data-label);color:var(--hero-muted);font-size:.8rem;font-weight:700}#app>main>.character-detail-page .character-detail-layout{grid-template-columns:1fr}#app>main>.character-detail-page .character-image-container{justify-self:center;width:min(100%,15rem)}#app>main>.character-detail-page .character-detail-heading{flex-direction:column}#app>main>.character-detail-page .character-detail-stats{gap:.5rem}#app>main>.site-footer .footer-main{text-align:center;grid-template-columns:1fr;justify-items:center;gap:.01rem;padding-top:2rem}#app>main>.site-footer .footer-links{justify-content:center}}@media (prefers-reduced-motion:reduce){#app>main>.site-footer .footer-links a,#app>main>header nav{transition:none}}@media (hover:none){#app>main>header .drawer-button:hover{background-color:var(--color-primary);color:var(--color-primary-contrast)}#app>main>header .login-button:hover{color:var(--color-text);background-color:#0000}#app>main>header .profile-button:hover{border-color:var(--color-border);background-color:var(--color-primary)}#app>main>header .drawer-close:hover,#app>main>header nav a:hover{color:var(--color-text);background-color:#0000}}
