@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_f367f3{font-family:Inter,Inter Fallback;font-style:normal}@font-face{font-family:Cinzel;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/b497598118275079-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Cinzel;font-style:normal;font-weight:400 900;font-display:swap;src:url(/_next/static/media/a273567b21a7c318-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Cinzel Fallback;src:local("Times New Roman");ascent-override:71.31%;descent-override:27.18%;line-gap-override:0.00%;size-adjust:136.86%}.__className_a5db66{font-family:Cinzel,Cinzel Fallback;font-style:normal}.__variable_a5db66{--font-cinzel:"Cinzel","Cinzel Fallback"}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@keyframes float-slow{0%,to{transform:translateY(0) translateX(0)}33%{transform:translateY(-10px) translateX(5px)}66%{transform:translateY(5px) translateX(-5px)}}@keyframes float-fast{0%,to{transform:translateY(0) translateX(0)}50%{transform:translateY(-15px) translateX(8px)}}.float-slow{animation:float-slow 6s ease-in-out infinite}.float-fast{animation:float-fast 4s ease-in-out infinite}@keyframes shine{0%{transform:translateX(-100%) skewX(-15deg)}to{transform:translateX(200%) skewX(-15deg)}}.shine-effect{position:relative;overflow:hidden}.shine-effect:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shine 2s infinite}.card-hover{transition:all .3s cubic-bezier(.4,0,.2,1)}.card-hover:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 20px 40px rgba(0,0,0,.3)}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.gradient-text-animated{background:linear-gradient(-45deg,#8b5cf6,#ec4899,#06b6d4,#8b5cf6);background-size:400% 400%;animation:gradient-shift 3s ease infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.sparkle{animation:sparkle 1.5s ease-in-out infinite}.scroll-indicator{position:relative}.scroll-indicator:after{content:"";position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);width:2px;height:30px;background:linear-gradient(180deg,rgba(139,92,246,.5),transparent);animation:pulse 2s ease-in-out infinite}.animated-border{position:relative;background:linear-gradient(45deg,transparent,rgba(139,92,246,.1),transparent)}.animated-border:before{content:"";position:absolute;inset:0;padding:1px;background:linear-gradient(45deg,rgba(139,92,246,.5),rgba(236,72,153,.5),rgba(139,92,246,.5));border-radius:inherit;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:border-rotate 3s linear infinite}@keyframes border-rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:640px){.line-clamp-2{-webkit-line-clamp:3}}@media (prefers-color-scheme:dark){.card-hover{box-shadow:0 4px 20px rgba(139,92,246,.1)}.card-hover:hover{box-shadow:0 20px 40px rgba(139,92,246,.2)}}.title-deco{position:relative;display:inline-block}.title-deco:after,.title-deco:before{content:"";position:absolute;top:50%;transform:translateY(-50%);width:4rem;height:4rem;background-image:url(/images/icons/UI/UI_deco_lateral_deux_cotes.png);background-size:contain;background-repeat:no-repeat;background-position:50%;opacity:.6;transition:opacity .3s ease}.title-deco:before{left:-5rem}.title-deco:after{right:-5rem;transform:translateY(-50%) scaleX(-1)}.title-deco:hover:after,.title-deco:hover:before{opacity:.8}.quick-action-card{aspect-ratio:4/3;position:relative;overflow:hidden;min-height:200px}.quick-action-card:before{content:"";position:absolute;inset:0;background-color:rgba(139,92,246,.1);background-image:url(/images/icons/UI/UI_fond_de_carte.png);background-size:100% 100%;background-position:50%;background-repeat:no-repeat;border-radius:inherit;z-index:1}.quick-action-card>.card-content{position:relative;z-index:3;height:100%;padding:2rem 2.5rem 1.75rem;margin:0;display:flex;flex-direction:column;justify-content:center}@media (max-width:768px){.title-deco:after,.title-deco:before{width:2.5rem;height:2.5rem}.title-deco:before{left:-3.5rem}.title-deco:after{right:-3.5rem}}@media (max-width:640px){.title-deco:after,.title-deco:before{display:none}}@media print{.animated-border,.float-fast,.float-slow,.gradient-text-animated,.shine-effect,.sparkle{animation:none}}@font-face{font-family:Dosis;src:url(/fonts/dosis/static/Dosis-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Dosis;src:url(/fonts/dosis/static/Dosis-Light.ttf) format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Dosis;src:url(/fonts/dosis/static/Dosis-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Dosis;src:url(/fonts/dosis/static/Dosis-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Dosis;src:url(/fonts/dosis/static/Dosis-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Dosis;src:url(/fonts/dosis/static/Dosis-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Dosis;src:url(/fonts/dosis/static/Dosis-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Sniglet;src:url(/fonts/sniglet/Sniglet-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Sniglet;src:url(/fonts/sniglet/Sniglet-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@import url("https://fonts.googleapis.com/css2?family=Bebas+Neue:wght@400&display=swap");:root{--font-dosis:"Dosis",sans-serif;--font-sniglet:"Sniglet",cursive;--font-bebas:"Bebas Neue",cursive;--color-primary-gold:#e8c87d;--color-primary-cream:#f8e5c5;--color-primary-beige-medium:#edd69e;--color-primary-beige-light:#f0d9a6;--color-gold-dark:#d4b366;--color-gold-darker:#c09e4f;--color-gold-light:#f2d994;--color-gold-lighter:#f8e4a3;--color-cream-dark:#f0d7a8;--color-cream-darker:#e8c995;--color-cream-light:#fcf2e2;--color-cream-lighter:#fefaf7;--color-neutral-warm-50:#faf9f5;--color-neutral-warm-100:#f5f2ea;--color-neutral-warm-200:#ebe5d7;--color-neutral-warm-300:#d9d0bd;--color-neutral-warm-400:#c7bb9f;--color-neutral-warm-500:#b5a681;--color-neutral-warm-600:#9d8a62;--color-neutral-warm-700:#856f43;--color-neutral-warm-800:#6d5525;--color-neutral-warm-900:#553a0f;--color-accent-copper:#cc8c5a;--color-accent-bronze:#cd7f32;--color-accent-amber:#ffbf00;--color-accent-honey:#ffb347;--color-success:#8b9a3a;--color-warning:#d4a853;--color-error:#c17c5a;--color-info:#8ca0a8;--color-background-primary:var(--color-cream-lighter);--color-background-secondary:var(--color-neutral-warm-50);--color-background-elevated:#ffffff;--color-background-overlay:rgba(232,200,125,0.15);--color-text-primary:var(--color-neutral-warm-800);--color-text-secondary:var(--color-neutral-warm-600);--color-text-muted:var(--color-neutral-warm-500);--color-text-inverted:var(--color-neutral-warm-50);--color-text-accent:var(--color-primary-gold);--color-border-light:var(--color-neutral-warm-200);--color-border-medium:var(--color-neutral-warm-300);--color-border-strong:var(--color-primary-gold);--color-border-accent:var(--color-accent-copper);--shadow-color-light:rgba(232,200,125,0.1);--shadow-color-medium:rgba(232,200,125,0.2);--shadow-color-strong:rgba(232,200,125,0.4);--shadow-color-dark:rgba(133,111,67,0.3);--tw-color-brand-50:var(--color-cream-lighter);--tw-color-brand-100:var(--color-cream-light);--tw-color-brand-200:var(--color-primary-beige-light);--tw-color-brand-300:var(--color-primary-beige-medium);--tw-color-brand-400:var(--color-primary-cream);--tw-color-brand-500:var(--color-primary-gold);--tw-color-brand-600:var(--color-gold-dark);--tw-color-brand-700:var(--color-gold-darker);--tw-color-brand-800:var(--color-neutral-warm-700);--tw-color-brand-900:var(--color-neutral-warm-800)}@media (prefers-color-scheme:dark){:root{--color-background-primary:var(--color-neutral-warm-800);--color-background-secondary:var(--color-neutral-warm-700);--color-background-elevated:var(--color-neutral-warm-600);--color-text-primary:var(--color-cream-light);--color-text-secondary:var(--color-neutral-warm-200);--color-text-muted:var(--color-neutral-warm-300);--shadow-color-light:rgba(0,0,0,0.2);--shadow-color-medium:rgba(0,0,0,0.4);--shadow-color-strong:rgba(0,0,0,0.6)}}.text-brand{color:var(--color-primary-gold)}.text-brand-light{color:var(--color-gold-light)}.text-brand-dark{color:var(--color-gold-dark)}.bg-brand{background-color:var(--color-primary-gold)}.bg-brand-light{background-color:var(--color-gold-light)}.bg-brand-gradient{background:linear-gradient(135deg,var(--color-primary-gold),var(--color-accent-copper))}.bg-warm-gradient{background:linear-gradient(135deg,var(--color-cream-light),var(--color-primary-beige-light))}.border-brand{border-color:var(--color-primary-gold)}.shadow-brand{box-shadow:0 4px 14px var(--shadow-color-medium)}.shadow-brand-lg{box-shadow:0 10px 25px var(--shadow-color-strong)}:root{--primary-bg-start:#0f172a;--primary-bg-end:#1e293b;--accent-gold:#fbbf24;--accent-gold-light:#fde047;--accent-gold-dark:#f59e0b;--panel-bg-start:rgba(30,41,59,0.9);--panel-bg-end:rgba(15,23,42,0.9);--panel-border:rgba(148,163,184,0.3);--panel-border-hover:rgba(251,191,36,0.5);--color-purple:#8b5cf6;--color-blue:#3b82f6;--color-green:#10b981;--color-amber:#f59e0b;--color-red:#ef4444;--color-indigo:#6366f1;--text-primary:#fbbf24;--text-secondary:#fde047;--text-light:rgba(253,224,71,0.8);--text-muted:rgba(251,191,36,0.6);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--radius-sm:6px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px rgba(0,0,0,0.2);--shadow-xl:0 20px 25px rgba(0,0,0,0.3);--shadow-2xl:0 25px 50px rgba(0,0,0,0.4);--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--z-dropdown:1000;--z-sticky:1010;--z-fixed:1020;--z-modal-backdrop:1030;--z-modal:1040;--z-popover:1050;--z-tooltip:1060}.ui-panel{position:relative;background:linear-gradient(135deg,var(--panel-bg-start) 0,var(--panel-bg-end) 100%);border:2px solid var(--panel-border);border-radius:var(--radius-md);backdrop-filter:blur(10px);box-shadow:var(--shadow-xl);transition:all var(--transition-normal)}.ui-panel:hover{border-color:var(--panel-border-hover);transform:translateY(-2px);box-shadow:var(--shadow-2xl)}.ui-panel--game{background:linear-gradient(145deg,rgba(139,69,19,.9),rgba(160,82,45,.9) 50%,rgba(101,67,33,.9));border:3px solid var(--accent-gold);box-shadow:inset 0 2px 10px rgba(212,175,55,.3),0 10px 30px rgba(0,0,0,.5)}.ui-panel--dark{background:linear-gradient(135deg,rgba(15,23,42,.95),rgba(30,41,59,.95));border-color:rgba(100,116,139,.4)}.ui-panel--transparent{background:rgba(30,41,59,.6);backdrop-filter:blur(20px)}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-weight:600;font-size:.875rem;border-radius:var(--radius-md);border:2px solid transparent;transition:all var(--transition-normal);cursor:pointer;text-decoration:none}.ui-button--primary{background:linear-gradient(135deg,var(--accent-gold) 0,var(--accent-gold-dark) 100%);color:rgba(15,23,42,1);border-color:var(--accent-gold-light)}.ui-button--primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px rgba(251,191,36,.4)}.ui-button--secondary{background:rgba(51,65,85,.8);color:var(--text-secondary);border-color:rgba(100,116,139,.4)}.ui-button--secondary:hover{background:rgba(71,85,105,.8);border-color:var(--accent-gold);color:var(--accent-gold)}.ui-button--ghost{background:transparent;color:var(--text-light);border-color:rgba(148,163,184,.3)}.ui-button--ghost:hover{background:rgba(51,65,85,.5);border-color:var(--accent-gold)}.ui-button--sm{padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem}.ui-button--lg{padding:var(--spacing-md) var(--spacing-lg);font-size:1rem}.ui-badge{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:700;border-radius:var(--radius-full);border:1px solid}.ui-badge--primary{background:var(--accent-gold);color:rgba(15,23,42,1);border-color:var(--accent-gold-light)}.ui-badge--secondary{background:rgba(100,116,139,.2);color:var(--text-light);border-color:rgba(100,116,139,.4)}.ui-notification-dot{position:absolute;width:8px;height:8px;background:#ef4444;border:2px solid var(--accent-gold);border-radius:50%;animation:pulse 2s ease-in-out infinite}.ui-progress{width:100%;height:8px;background:rgba(51,65,85,.5);overflow:hidden}.ui-progress,.ui-progress__bar{border-radius:var(--radius-full);position:relative}.ui-progress__bar{height:100%;background:linear-gradient(90deg,var(--accent-gold) 0,var(--accent-gold-light) 100%);transition:width var(--transition-slow) ease-out;opacity:1}.ui-progress__bar--animate{animation:progressFill 1s ease-out forwards}.ui-interactive{transition:all var(--transition-normal);cursor:pointer}.ui-interactive:hover{transform:translateY(-2px) scale(1.02)}.ui-interactive:active{transform:translateY(0) scale(.98)}.ui-glow{position:relative}.ui-glow:before{content:"";position:absolute;inset:-2px;border-radius:inherit;padding:2px;background:linear-gradient(45deg,transparent,var(--accent-gold),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity var(--transition-normal)}.ui-glow:hover:before{opacity:1}.ui-heading{font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-md)}.ui-heading--1{font-size:2.5rem;line-height:1.2}.ui-heading--2{font-size:2rem;line-height:1.3}.ui-heading--3{font-size:1.5rem;line-height:1.4}.ui-text{color:var(--text-light);line-height:1.6}.ui-text--muted{color:var(--text-muted)}.ui-text--small{font-size:.875rem}.ui-grid{display:grid;gap:var(--spacing-md)}.ui-grid--2{grid-template-columns:repeat(2,1fr)}.ui-grid--3{grid-template-columns:repeat(3,1fr)}.ui-grid--4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.ui-grid--2,.ui-grid--3,.ui-grid--4{grid-template-columns:1fr}}.ui-flex{display:flex;gap:var(--spacing-md)}.ui-flex--center{align-items:center;justify-content:center}.ui-flex--between{align-items:center;justify-content:space-between}.ui-flex--column{flex-direction:column}.ui-color--purple{color:var(--color-purple)}.ui-color--blue{color:var(--color-blue)}.ui-color--green{color:var(--color-green)}.ui-color--amber{color:var(--color-amber)}.ui-color--red{color:var(--color-red)}.ui-color--indigo{color:var(--color-indigo)}.ui-bg--purple{background-color:rgba(139,92,246,.2);border-color:rgba(139,92,246,.4)}.ui-bg--blue{background-color:rgba(59,130,246,.2);border-color:rgba(59,130,246,.4)}.ui-bg--green{background-color:rgba(16,185,129,.2);border-color:rgba(16,185,129,.4)}.ui-bg--amber{background-color:rgba(245,158,11,.2);border-color:rgba(245,158,11,.4)}.ui-bg--red{background-color:rgba(239,68,68,.2);border-color:rgba(239,68,68,.4)}.ui-bg--indigo{background-color:rgba(99,102,241,.2);border-color:rgba(99,102,241,.4)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes progressFill{0%{width:0;opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}@keyframes glow{0%,to{box-shadow:0 0 5px rgba(251,191,36,.5)}50%{box-shadow:0 0 20px rgba(251,191,36,.8)}}.ui-animate-fadeInUp{animation:fadeInUp .6s ease-out}.ui-animate-fadeInDown{animation:fadeInDown .6s ease-out}.ui-animate-fadeIn{animation:fadeIn .5s ease-out}.ui-animate-slideIn{animation:slideIn .5s ease-out}.ui-animate-pulse{animation:pulse 2s ease-in-out infinite}.ui-animate-glow{animation:glow 2s ease-in-out infinite}.ui-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0}.ui-sr-only,.ui-truncate{overflow:hidden;white-space:nowrap}.ui-truncate{text-overflow:ellipsis}.ui-loading{position:relative;pointer-events:none}.ui-loading:before{content:"";position:absolute;inset:0;background:rgba(15,23,42,.8);border-radius:inherit;z-index:1}.ui-loading:after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:2px solid var(--accent-gold);border-top:2px solid transparent;animation:spin 1s linear infinite;z-index:2}@media (max-width:640px){.ui-hide-on-mobile{display:none!important}}@media (min-width:641px){.ui-hide-on-desktop{display:none!important}}.ui-button:focus-visible,.ui-interactive:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.game-ui-panel{@extend .ui-panel--game}.character-portrait{position:relative;overflow:hidden}.character-portrait:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(251,191,36,.1),transparent,rgba(251,191,36,.1),transparent);animation:spin 4s linear infinite;opacity:0;transition:opacity .3s ease}.character-portrait:hover:before{opacity:1}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ui-progress__bar:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%{left:-100%}50%{left:-100%}to{left:100%}}