:root {
    --ink: #321e4f;
    --white: #fff;
    --muted: #ddd6ff;
    --pink: #ff6f91;
    --purple: #9b6bd3;
    --cyan: #42d5c3;
    --blue: #527eb0;
    --line: rgba(118, 222, 203, .25);
    --container: 1420px;
}

* { box-sizing: border-box; }
html, body { min-height: 100%; }
html { background: var(--ink); }
body { margin: 0; padding-top: 76px; overflow-x: hidden; color: var(--white); background: radial-gradient(circle at 12% 8%, rgba(218,88,119,.42), transparent 34%), radial-gradient(circle at 88% 18%, rgba(50,169,157,.3), transparent 34%), linear-gradient(145deg, #51305f, #304c68 55%, #65374f); background-attachment: fixed; font-family: "Inter", system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
body.avatar-editor-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; padding: 10px 15px; color: #111; border-radius: 8px; background: #fff; transform: translateY(-150%); transition: transform .2s; }
.skip-link:focus { transform: translateY(0); }

.notification-center { position: fixed; z-index: 180; right: 22px; bottom: 22px; width: min(370px, calc(100% - 28px)); display: grid; gap: 11px; pointer-events: none; }
.site-notification { --notification-accent: #8edfd2; position: relative; min-height: 78px; display: grid; grid-template-columns: 39px 1fr 27px; align-items: start; gap: 11px; padding: 15px 13px 15px 15px; overflow: hidden; color: #fff; border: 1px solid color-mix(in srgb, var(--notification-accent) 45%, transparent); border-radius: 16px; background: linear-gradient(135deg, rgba(72,43,91,.48), rgba(37,73,85,.48)); box-shadow: 0 14px 38px rgba(35,20,49,.2), 0 0 22px color-mix(in srgb, var(--notification-accent) 11%, transparent); -webkit-backdrop-filter: blur(1px); backdrop-filter: blur(1px); pointer-events: auto; animation: notificationIn .36s cubic-bezier(.2,.8,.2,1) both; }
.site-notification--success { --notification-accent: #63e1b0; }
.site-notification--error { --notification-accent: #ff7899; }
.site-notification--warning { --notification-accent: #ffd27a; }
.site-notification--info { --notification-accent: #71dce7; }
.site-notification__icon { width: 38px; height: 38px; display: grid; place-items: center; color: var(--notification-accent); border: 1px solid color-mix(in srgb, var(--notification-accent) 38%, transparent); border-radius: 50%; background: color-mix(in srgb, var(--notification-accent) 12%, transparent); box-shadow: 0 0 15px color-mix(in srgb, var(--notification-accent) 14%, transparent); }
.site-notification__content { min-width: 0; padding-top: 1px; }
.site-notification__content strong { display: block; margin-bottom: 4px; color: #fff; font-size: .76rem; }
.site-notification__content p { margin: 0; color: #ddd4e5; font-size: .69rem; line-height: 1.5; overflow-wrap: anywhere; }
.site-notification > button { width: 27px; height: 27px; display: grid; place-items: center; padding: 0; color: #bdb1c5; border: 0; border-radius: 50%; background: transparent; cursor: pointer; transition: color .2s, background .2s; }
.site-notification > button:hover { color: #fff; background: rgba(255,255,255,.09); }
.site-notification__timer { position: absolute; right: 0; bottom: 0; left: 0; height: 2px; background: linear-gradient(90deg, var(--notification-accent), color-mix(in srgb, var(--notification-accent) 35%, transparent)); transform-origin: left; animation: notificationTimer 7s linear forwards; }
.site-notification:hover .site-notification__timer { animation-play-state: paused; }
.site-notification.is-leaving { animation: notificationOut .24s ease forwards; }
@keyframes notificationIn { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes notificationOut { to { opacity: 0; transform: translateX(24px) scale(.97); } }
@keyframes notificationTimer { to { transform: scaleX(0); } }

.site-header { position: fixed; z-index: 100; top: 0; right: 0; left: 0; border-bottom: 1px solid rgba(77,211,193,.26); background: linear-gradient(90deg, rgba(63,34,82,.82), rgba(38,69,88,.82), rgba(88,39,67,.82)); box-shadow: 0 8px 28px rgba(47,23,63,.25); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.navbar { height: 76px; display: flex; align-items: center; gap: 34px; }
.brand { position: relative; width: 88px; height: 70px; flex: 0 0 auto; }
.brand img { position: absolute; width: 88px; height: 88px; top: 50%; left: 50%; object-fit: contain; transform: translate(-50%, -50%); filter: drop-shadow(0 4px 8px rgba(0,0,0,.65)); }
.main-nav { display: flex; align-items: center; gap: 31px; margin-left: auto; }
.main-nav > a, .main-nav__dropdown-toggle { position: relative; padding: 25px 0; color: #e1d7e6; border: 0; background: transparent; font-size: .87rem; font-weight: 700; text-shadow: 0 2px 10px #000; transition: color .2s; cursor: pointer; }
.main-nav > a:hover, .main-nav > a.is-active, .main-nav__dropdown-toggle:hover, .main-nav__dropdown.is-active .main-nav__dropdown-toggle { color: #fff; }
.main-nav > a.is-active::after, .main-nav__dropdown.is-active .main-nav__dropdown-toggle::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: linear-gradient(90deg, var(--purple), var(--pink)); box-shadow: 0 0 12px var(--pink); }
.main-nav__dropdown { position: relative; }
.main-nav__dropdown-toggle { display: flex; align-items: center; gap: 7px; }
.main-nav__dropdown-toggle i { font-size: .52rem; transition: transform .2s; }
.main-nav__dropdown.is-open .main-nav__dropdown-toggle i, .main-nav__dropdown:hover .main-nav__dropdown-toggle i, .main-nav__dropdown:focus-within .main-nav__dropdown-toggle i { transform: rotate(180deg); }
.main-nav__submenu { position: absolute; z-index: 80; top: calc(100% + 1px); left: 50%; width: 180px; padding: 7px; visibility: hidden; opacity: 0; border: 1px solid rgba(103,220,201,.3); border-radius: 12px; background: linear-gradient(145deg, rgba(79,49,94,.98), rgba(39,73,91,.98)); box-shadow: 0 20px 48px rgba(31,17,45,.45); transform: translate(-50%, -8px); transition: opacity .18s, transform .18s, visibility .18s; }
.main-nav__dropdown.is-open .main-nav__submenu, .main-nav__dropdown:hover .main-nav__submenu, .main-nav__dropdown:focus-within .main-nav__submenu { visibility: visible; opacity: 1; transform: translate(-50%, 0); }
.main-nav__submenu a { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 0 10px; color: #ddd4e4; border-radius: 8px; font-size: .7rem; font-weight: 750; text-shadow: none; }
.main-nav__submenu a i { width: 17px; color: #8ce7d9; text-align: center; }
.main-nav__submenu a:hover, .main-nav__submenu a.is-active { color: #fff; background: linear-gradient(90deg, rgba(213,84,139,.24), rgba(66,188,171,.2)); }
.navbar__actions { position: relative; display: flex; gap: 10px; margin-left: 12px; }
.maintenance-layout { padding-top: 0; }
.site-header--maintenance { width: auto; left: auto; border: 0; background: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.site-header--maintenance .navbar { width: auto; margin: 0; padding-right: 24px; }
.site-header--maintenance .navbar__actions { margin-left: auto; }
.maintenance-layout .maintenance-page { min-height: 100vh; }
.btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 18px; border: 1px solid transparent; border-radius: 10px; font-size: .8rem; font-weight: 800; line-height: 1; transition: transform .2s, box-shadow .2s; }
.btn:hover { transform: translateY(-2px); }
.btn i { font-size: .88rem; }
.btn--ghost { color: #fff; border-color: rgba(255,255,255,.28); background: rgba(10,5,20,.55); backdrop-filter: blur(8px); }
.btn--primary { color: #fff; background: linear-gradient(135deg, #913be9, #f126a2); box-shadow: 0 8px 24px rgba(240,38,161,.3); }
.btn--login { position: relative; width: 43px; min-width: 43px; height: 43px; min-height: 43px; padding: 0; color: #fff; border: 0; border-radius: 50%; background: linear-gradient(#13081f, #13081f) padding-box, linear-gradient(135deg, #9a48f0, #ff2ba9) border-box; border: 2px solid transparent; box-shadow: 0 5px 18px rgba(239,38,163,.2), inset 0 0 12px rgba(255,255,255,.04); }
.btn--login::after { content: ""; position: absolute; inset: 4px; border: 1px solid rgba(255,255,255,.09); border-radius: inherit; pointer-events: none; }
.btn--login i { position: relative; z-index: 1; color: #f4dcff; font-size: .9rem; text-shadow: 0 0 10px rgba(255,47,176,.9); transition: color .2s, transform .2s; }
.btn--login:hover { box-shadow: 0 7px 24px rgba(239,38,163,.42), 0 0 18px rgba(143,51,232,.22); }
.btn--login:hover i { color: #fff; transform: scale(1.08); }
.btn--login[aria-expanded="true"] { box-shadow: 0 7px 26px rgba(239,38,163,.5), 0 0 22px rgba(143,51,232,.3); }
.btn--login.btn--avatar { overflow: hidden; background: linear-gradient(135deg, #6a467d, #337a82) padding-box, linear-gradient(135deg, var(--cyan), var(--pink)) border-box; }
.btn--login.btn--avatar::after { inset: 3px; border-color: rgba(255,255,255,.12); }
.header-avatar { position: relative; z-index: 1; width: 100%; height: 100%; display: grid; place-items: center; overflow: hidden; color: #fff; border-radius: 50%; background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.18), transparent 38%); font-size: .9rem; font-weight: 800; text-shadow: 0 2px 8px rgba(28,15,40,.5); }
.user-avatar-image { position: absolute !important; inset: 0; width: 100% !important; max-width: none; height: 100% !important; border-radius: inherit; object-fit: cover; object-position: center; transform: scale(var(--avatar-zoom, 1)) translate(var(--avatar-x, 0%), var(--avatar-y, 0%)); transform-origin: center; }

.account-popup { position: absolute; z-index: 60; top: calc(100% + 18px); right: 0; width: 340px; max-height: calc(100vh - 95px); padding: 22px; visibility: hidden; overflow-y: auto; opacity: 0; color: #fff8fc; border: 1px solid rgba(101,218,198,.3); border-radius: 17px; background: linear-gradient(145deg, rgba(91,49,100,.76), rgba(39,78,94,.76)); box-shadow: 0 26px 65px rgba(45,23,59,.34), 0 0 30px rgba(255,111,145,.08); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transform: translateY(-9px) scale(.98); transform-origin: top right; transition: opacity .2s, transform .2s, visibility .2s; scrollbar-width: thin; scrollbar-color: #d76183 transparent; }
.account-popup--profile { width: 250px; padding: 19px; }
.account-popup.is-open { visibility: visible; opacity: 1; transform: translateY(0) scale(1); }
.account-view { display: none; }
.account-view.is-active { display: block; animation: accountViewIn .2s ease; }
@keyframes accountViewIn { from { opacity: 0; transform: translateX(7px); } to { opacity: 1; transform: translateX(0); } }
.account-popup__arrow { position: absolute; top: -7px; right: 14px; width: 13px; height: 13px; border-top: 1px solid rgba(101,218,198,.3); border-left: 1px solid rgba(101,218,198,.3); background: rgba(85,50,97,.76); transform: rotate(45deg); }
.account-popup__heading { display: flex; align-items: center; gap: 12px; margin-bottom: 20px; }
.account-popup__heading > div { display: flex; flex-direction: column; line-height: 1.35; }
.account-popup__heading strong { color: #fff; font-size: .96rem; }
.account-popup__heading small { color: #9d90a8; font-size: .71rem; }
.account-popup__icon { width: 41px; height: 41px; display: grid; place-items: center; color: #ffb4e2; border: 1px solid rgba(244,71,183,.3); border-radius: 12px; background: linear-gradient(135deg, rgba(139,50,232,.25), rgba(255,43,169,.16)); }
.account-popup__icon i { font-size: .92rem; }
.login-form { display: grid; gap: 9px; }
.login-form label { color: #cfc4d6; font-size: .69rem; font-weight: 700; }
.login-form__label-row { display: flex; align-items: center; justify-content: space-between; margin-top: 4px; }
.login-form__label-row button { padding: 0; color: #f19bb4; border: 0; background: transparent; font-size: .62rem; cursor: pointer; }
.login-form__label-row button:hover { color: #fff; }
.login-form__field { position: relative; }
.login-form__field > i { position: absolute; top: 50%; left: 13px; color: #8e7a9a; font-size: .74rem; transform: translateY(-50%); }
.login-form__field input { width: 100%; height: 43px; padding: 0 13px 0 37px; color: #fff; border: 1px solid rgba(255,255,255,.12); outline: 0; border-radius: 10px; background: rgba(255,255,255,.055); font-family: inherit; font-size: .76rem; transition: border-color .2s, box-shadow .2s; }
.login-form__field input::placeholder { color: #746a7c; }
.login-form__field input:focus { border-color: rgba(240,47,174,.6); box-shadow: 0 0 0 3px rgba(240,47,174,.11); }
.login-form__submit { height: 44px; display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 6px; color: #fff; border: 0; border-radius: 10px; background: linear-gradient(135deg, #873ee6, #ec289f); box-shadow: 0 9px 22px rgba(223,36,157,.22); font-family: inherit; font-size: .76rem; font-weight: 800; cursor: pointer; transition: transform .2s, box-shadow .2s; }
.login-form__submit:hover { transform: translateY(-1px); box-shadow: 0 12px 26px rgba(223,36,157,.34); }
.login-form__submit i { font-size: .68rem; }
.account-popup__register { width: 100%; height: 42px; display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 14px; color: #e8dff0; border: 1px solid rgba(255,255,255,.14); border-radius: 10px; background: rgba(255,255,255,.045); font-family: inherit; font-size: .73rem; font-weight: 700; cursor: pointer; transition: color .2s, border-color .2s, background .2s; }
.account-popup__register:hover { color: #fff; border-color: rgba(240,50,174,.4); background: rgba(222,43,164,.1); }
.account-popup__back { width: 100%; display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; padding: 5px; color: #a99caf; border: 0; background: transparent; font-family: inherit; font-size: .68rem; cursor: pointer; transition: color .2s; }
.account-popup__back:hover { color: #f09bd5; }
.account-popup__back i { font-size: .62rem; }
.verification-form { display: grid; gap: 16px; }
.verification-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.verification-form legend { margin-bottom: 13px; color: #cfc4d6; font-size: .69rem; font-weight: 700; }
.verification-code { display: grid; grid-template-columns: repeat(6, 1fr); gap: 9px; }
.verification-code input { width: 100%; min-width: 0; height: 48px; padding: 0 0 5px; color: #fff; border: 0; border-bottom: 2px solid rgba(255,255,255,.3); border-radius: 0; outline: 0; background: transparent; font-family: inherit; font-size: 1.25rem; font-weight: 800; text-align: center; caret-color: #f332aa; transition: border-color .2s, box-shadow .2s; }
.verification-code input:focus { border-color: #f332aa; box-shadow: 0 8px 12px -10px #f332aa; }
.verification-code input:valid { border-color: rgba(174,83,232,.8); }
.account-view--profile { position: relative; padding: 12px 0 7px; text-align: center; }
.account-profile__avatar { position: relative; width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 12px; overflow: hidden; color: #fff; border: 2px solid transparent; border-radius: 50%; background: linear-gradient(#160a24, #160a24) padding-box, linear-gradient(135deg, #9948ed, #fb2ba6) border-box; box-shadow: 0 8px 22px rgba(232,43,164,.2); }
.account-profile__avatar i { font-size: 1.15rem; }
.account-profile__avatar span { font-size: 1.3rem; font-weight: 800; text-shadow: 0 2px 9px rgba(20,10,35,.45); }
.account-view--profile > strong { display: block; }
.account-view--profile > strong { color: #fff; font-size: .98rem; }
.account-profile__menu { display: grid; gap: 5px; margin-top: 18px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,.1); text-align: left; }
.account-profile__menu a { display: grid; grid-template-columns: 20px 1fr auto; align-items: center; gap: 10px; min-height: 39px; padding: 0 11px; color: #d8cedd; border: 1px solid transparent; border-radius: 10px; font-size: .76rem; font-weight: 700; transition: color .2s, border-color .2s, background .2s, transform .2s; }
.account-profile__menu a > i:first-child { color: #c969dc; text-align: center; }
.account-profile__menu a > i:last-child { color: #766b7c; font-size: .58rem; }
.account-profile__menu a:hover, .account-profile__menu a:focus-visible { color: #fff; border-color: rgba(240,50,174,.25); background: rgba(255,255,255,.07); transform: translateX(2px); outline: 0; }
.account-profile__menu .account-profile__admin > i:first-child { color: #ff5eaf; }
.account-profile__logout-form { position: absolute; top: -9px; right: -8px; margin: 0; }
.account-popup__logout { width: 30px; height: 30px; display: grid; place-items: center; padding: 0; color: #9d8ba6; border: 0; outline: 0; border-radius: 50%; background: transparent; font-family: inherit; cursor: pointer; transition: color .2s, transform .2s, text-shadow .2s; }
.account-popup__logout i { font-size: .82rem; }
.account-popup__logout:hover, .account-popup__logout:focus-visible { color: #ff6cbf; text-shadow: 0 0 12px rgba(255,65,177,.7); transform: scale(1.08); }
.nav-toggle { display: none; width: 43px; height: 43px; padding: 10px 9px; border: 1px solid rgba(255,255,255,.22); border-radius: 10px; background: rgba(9,4,19,.7); cursor: pointer; }
.nav-toggle span:not(.sr-only) { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: #fff; }

.image-home { position: relative; width: 100%; aspect-ratio: 1983 / 793; overflow: hidden; background: #09040d; }
.image-home__picture { width: 100%; height: 100%; object-fit: contain; object-position: center center; }
.image-home__overlay { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(4,1,9,.2) 0, transparent 22%), linear-gradient(0deg, rgba(4,1,8,.14), transparent 20%); }
.image-home__actions { position: absolute; z-index: 2; right: 50%; bottom: 3%; transform: translateX(50%); }
.image-home__download { min-height: 44px; display: inline-flex; align-items: center; gap: 9px; padding: 6px 14px 6px 6px; color: #fff; border: 1px solid rgba(112,232,215,.55); border-radius: 999px; background: linear-gradient(110deg, rgba(49,37,94,.92), rgba(184,53,118,.9) 58%, rgba(43,151,145,.92)); box-shadow: 0 14px 36px rgba(20,5,39,.42), 0 0 22px rgba(255,91,168,.16); font-size: .66rem; text-decoration: none; backdrop-filter: blur(10px); transition: transform .2s, box-shadow .2s, border-color .2s; }
.image-home__download > span { width: 32px; height: 32px; display: grid; flex: 0 0 32px; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: linear-gradient(135deg, rgba(255,107,165,.78), rgba(62,195,187,.72)); box-shadow: inset 0 1px rgba(255,255,255,.16), 0 0 14px rgba(255,93,170,.2); font-size: .7rem; }
.image-home__download > strong { white-space: nowrap; }
.image-home__download > i { color: #b7fff4; font-size: .68rem; }
.image-home__download:hover { color: #fff; border-color: rgba(255,255,255,.75); box-shadow: 0 17px 42px rgba(20,5,39,.5), 0 0 28px rgba(255,91,168,.27); transform: translateY(-3px); }
.image-home__download:focus-visible { outline: 3px solid rgba(91,226,211,.65); outline-offset: 3px; }

.devblog { position: relative; padding: 65px 0 72px; overflow: hidden; }
.devblog::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 8% 20%, rgba(255,111,145,.16), transparent 31%), radial-gradient(circle at 92% 80%, rgba(66,213,195,.13), transparent 31%); }
.devblog__inner { position: relative; max-width: 1080px; }
.devblog__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 25px; margin-bottom: 27px; }
.devblog__heading small { color: #ff9aaa; font-size: .62rem; font-weight: 900; letter-spacing: 2.1px; }
.devblog__heading h2 { margin: 5px 0 0; font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1; }
.devblog__controls { display: flex; gap: 8px; }
.devblog__controls button { width: 41px; height: 41px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(105,219,201,.28); border-radius: 50%; background: rgba(58,48,91,.35); cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.devblog__controls button:hover { border-color: var(--pink); background: rgba(255,111,145,.14); transform: translateY(-2px); }
.devblog__viewport { overflow: hidden; }
.devblog__track { display: flex; transition: transform .55s cubic-bezier(.22,.8,.25,1); will-change: transform; }
.devblog-slide { min-width: 100%; display: grid; grid-template-columns: minmax(250px, 38%) 1fr; align-items: stretch; gap: 42px; }
.devblog-slide__visual { position: relative; min-height: 245px; display: grid; place-items: center; overflow: hidden; border-radius: 120px 28px 120px 28px; background: linear-gradient(145deg, rgba(229,103,128,.7), rgba(61,160,151,.62)); box-shadow: 0 20px 48px rgba(48,25,58,.22); }
.devblog-slide__visual::before { content: ""; position: absolute; width: 165px; height: 165px; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; box-shadow: 0 0 0 26px rgba(255,255,255,.035), 0 0 0 52px rgba(255,255,255,.025); }
.devblog-slide__visual--launcher { background: linear-gradient(145deg, rgba(89,111,179,.78), rgba(214,92,132,.65)); }
.devblog-slide__visual--community { background: linear-gradient(145deg, rgba(55,160,151,.72), rgba(130,79,165,.72)); }
.devblog-slide__visual > i { position: relative; z-index: 1; color: #fff; font-size: 3.1rem; text-shadow: 0 8px 28px rgba(46,24,62,.3); }
.devblog-slide__visual > span { position: absolute; right: 24px; bottom: 17px; color: rgba(255,255,255,.55); font-size: 2rem; font-weight: 900; }
.devblog-slide__content { display: flex; flex-direction: column; justify-content: center; padding: 20px 30px 20px 0; }
.devblog-slide__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; color: #cfc5d9; font-size: .65rem; }
.devblog-slide__meta span { padding: 6px 10px; color: #fff; border-radius: 999px; background: rgba(255,111,145,.18); font-weight: 800; }
.devblog-slide__meta time { opacity: .75; }
.devblog-slide h3 { max-width: 570px; margin: 0 0 13px; font-size: clamp(1.4rem, 3.5vw, 2.2rem); line-height: 1.18; }
.devblog-slide p { max-width: 610px; margin: 0; color: #d5ccdf; font-size: .79rem; line-height: 1.75; }
.devblog__dots { min-height: 13px; display: flex; justify-content: center; gap: 7px; margin-top: 24px; }
.devblog__dots button { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.3); cursor: pointer; transition: width .25s, background .25s; }
.devblog__dots button.is-active { width: 25px; border-radius: 99px; background: linear-gradient(90deg, var(--pink), var(--cyan)); }
.devblog { padding: 38px 0 42px; }
.devblog__heading { align-items: center; margin-bottom: 19px; }
.devblog__heading h2 { margin: 0; font-size: 1.3rem; }
.devblog__controls button { width: 34px; height: 34px; font-size: .68rem; }
.devblog-page { min-width: 100%; display: grid; grid-template-columns: repeat(4, 1fr); }
.devblog-card { position: relative; min-width: 0; min-height: 178px; display: flex; flex-direction: column; padding: 4px 20px 10px; overflow: hidden; border-right: 1px solid rgba(103,220,201,.22); }
.devblog-card__new { position: absolute; z-index: 2; top: 12px; right: -27px; width: 105px; padding: 4px 0; color: #fff; background: linear-gradient(90deg, #e96b8b, #bd668f); box-shadow: 0 4px 15px rgba(78,35,65,.22); font-size: .48rem; font-weight: 900; letter-spacing: .8px; text-align: center; text-transform: uppercase; transform: rotate(42deg); }
.devblog-card:first-child { padding-left: 2px; }
.devblog-card:last-child { padding-right: 2px; border-right: 0; }
.devblog-card__icon { width: 36px; height: 36px; display: grid; place-items: center; margin-bottom: 13px; color: #fff; border-radius: 50%; background: linear-gradient(135deg, rgba(255,111,145,.7), rgba(66,188,171,.68)); font-size: .75rem; }
.devblog-card__media { width: 100%; height: 92px; margin-bottom: 13px; overflow: hidden; border-radius: 34px 8px 34px 8px; background: rgba(50,52,91,.35); }
.devblog-card__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.devblog-card > small { color: #ff9aaa; font-size: .54rem; font-weight: 900; letter-spacing: 1.2px; text-transform: uppercase; }
.devblog-card h3 { margin: 6px 0 8px; font-size: .86rem; line-height: 1.35; }
.devblog-card p { margin: 0 0 12px; color: #d5ccdf; font-size: .65rem; line-height: 1.55; }
.devblog-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: auto; }
.devblog-card__more { width: fit-content; display: inline-flex; align-items: center; gap: 6px; color: #91e4d5; font-size: .59rem; font-weight: 800; white-space: nowrap; transition: color .2s, gap .2s; }
.devblog-card__more i { font-size: .5rem; }
.devblog-card__more:hover { gap: 9px; color: #fff; }
.devblog-card time { color: #afa4ba; font-size: .55rem; }
.devblog__dots { margin-top: 15px; }
.blog-archive, .blog-article { max-width: 900px; }
.blog-archive__list { display: grid; gap: 0; }
.blog-archive__item { display: grid; grid-template-columns: 185px 1fr; gap: 28px; padding: 24px 0; border-top: 1px solid rgba(103,220,201,.22); }
.blog-archive__image { height: 120px; overflow: hidden; border-radius: 48px 10px 48px 10px; }
.blog-archive__image img { width: 100%; height: 100%; object-fit: cover; }
.blog-archive__icon { width: 72px; height: 72px; display: grid; place-items: center; align-self: center; justify-self: center; color: #fff; border-radius: 50%; background: linear-gradient(135deg, rgba(255,111,145,.72), rgba(66,188,171,.7)); font-size: 1.2rem; }
.blog-archive__item small, .blog-article__header > small { color: #ff9aaa; font-size: .58rem; font-weight: 900; letter-spacing: 1.4px; text-transform: uppercase; }
.blog-archive__new { display: inline-block; margin-left: 7px; padding: 3px 7px; color: #fff; border-radius: 999px; background: #d76585; font-size: .48rem; letter-spacing: .5px; }
.blog-archive__item h2 { margin: 6px 0 7px; font-size: 1.05rem; }
.blog-archive__item p { margin: 0 0 10px; color: #d3cadc; font-size: .71rem; line-height: 1.6; }
.blog-article__back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 30px; color: #bfb4ca; font-size: .68rem; }
.blog-preview-notice { width: fit-content; display: flex; align-items: center; gap: 8px; margin: -12px 0 24px; padding: 8px 13px; color: #ffe0a3; border: 1px solid rgba(255,190,79,.28); border-radius: 999px; background: rgba(255,190,79,.1); font-size: .61rem; font-weight: 800; }
.blog-article__utility { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin: -12px 0 24px; }
.blog-article__utility .blog-preview-notice { margin: 0; }
.blog-staff-actions { display: flex; align-items: center; gap: 7px; margin-left: auto; }
.blog-staff-actions form { margin: 0; }
.blog-staff-actions a, .blog-staff-actions button { min-width: 34px; height: 34px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 11px; color: #fff; border: 1px solid rgba(103,220,201,.3); border-radius: 999px; background: linear-gradient(120deg, rgba(213,84,139,.34), rgba(66,188,171,.29)); font: inherit; font-size: .6rem; font-weight: 800; cursor: pointer; }
.blog-staff-actions a { width: 34px; padding: 0; }
.blog-staff-actions a:hover, .blog-staff-actions button:hover { border-color: rgba(140,231,217,.68); background: linear-gradient(120deg, rgba(213,84,139,.52), rgba(66,188,171,.45)); }
.blog-article__header { max-width: 760px; }
.blog-article__header h1, .blog-article__title { margin: 8px 0 12px; font-size: clamp(2rem, 5vw, 3.4rem); font-weight: 800; line-height: 1.08; }
.blog-article__header p, .blog-article__excerpt { margin: 0 0 13px; color: #d4cadd; font-size: .82rem; line-height: 1.7; }
.blog-article__title > :first-child, .blog-article__excerpt > :first-child { margin-top: 0; }
.blog-article__title > :last-child, .blog-article__excerpt > :last-child { margin-bottom: 0; }
.blog-article__header time { color: #aca1b7; font-size: .62rem; }
.blog-article__header > a { display: inline-block; margin-top: 18px; color: #91e4d5; font-size: .72rem; }
.blog-article__banner { width: 100%; max-height: 410px; margin: 30px 0; overflow: hidden; border-radius: 120px 20px 120px 20px; }
.blog-article__banner img { width: 100%; height: 100%; max-height: 410px; object-fit: cover; }
.blog-article__content { max-width: 760px; padding-top: 28px; color: #e1d8e7; border-top: 1px solid rgba(103,220,201,.22); font-size: .79rem; line-height: 1.9; }
.blog-article__content figure { margin: 24px 0; }
.blog-article__content figure img { width: 100%; max-height: 620px; object-fit: contain; border-radius: 18px; }
.blog-edit-page__inner { max-width: 900px; }
.blog-edit-page__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 25px; padding-bottom: 20px; border-bottom: 1px solid rgba(103,220,201,.22); }
.blog-edit-page__heading small { color: #ff9aaa; font-size: .55rem; font-weight: 900; letter-spacing: 1.4px; }
.blog-edit-page__heading h1 { margin: 5px 0; font-size: clamp(1.65rem, 4vw, 2.5rem); }
.blog-edit-page__heading p { margin: 0; color: #c8becf; font-size: .72rem; }
.blog-edit-page__heading > span { width: 44px; height: 44px; display: grid; place-items: center; flex: 0 0 auto; color: #fff; border-radius: 50%; background: linear-gradient(135deg, rgba(255,111,145,.65), rgba(66,188,171,.62)); }
.blog-edit-form { padding: 24px; border: 1px solid rgba(103,220,201,.18); border-radius: 18px; background: rgba(27,18,54,.42); }
.blog-edit-banner-url { display: grid; gap: 8px; margin-bottom: 3px; }
.blog-edit-banner-url > label { display: flex; align-items: center; gap: 8px; }
.blog-edit-banner-url > label small { color: #ff9aaa; font-size: .47rem; font-weight: 900; letter-spacing: .7px; }
.blog-edit-banner-url > div { position: relative; }
.blog-edit-banner-url > div > i { position: absolute; z-index: 1; top: 50%; left: 13px; color: #83e6d5; font-size: .66rem; pointer-events: none; transform: translateY(-50%); }
.admin-form .blog-edit-banner-url input { width: 100%; height: 44px; padding: 0 13px 0 37px; color: #fff; border: 1px solid rgba(92,218,255,.28); border-radius: 10px; outline: 0; background: rgba(34,21,91,.8); font: inherit; font-size: .72rem; }
.admin-form .blog-edit-banner-url input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(37,217,255,.12), 0 0 18px rgba(37,217,255,.12); }
.blog-edit-banner-url > p { margin: -2px 0 2px; color: #a99fb2; font-size: .56rem; }
.blog-edit-form__actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; }
.blog-edit-form__actions > a { padding: 10px 13px; color: #c8becf; font-size: .65rem; font-weight: 750; }
.admin-form .blog-edit-form__actions > button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; margin: 0; }

.admin-page { min-height: calc(100vh - 76px); padding: 64px 0 80px; background: radial-gradient(circle at 15% 0, rgba(139,50,232,.15), transparent 35%), radial-gradient(circle at 90% 15%, rgba(241,42,163,.12), transparent 30%), #09040d; }
.admin-page__inner { max-width: 1050px; }
.admin-page__heading { display: flex; align-items: center; gap: 18px; margin-bottom: 30px; }
.admin-page__heading > span { width: 58px; height: 58px; display: grid; place-items: center; color: #ff7fc8; border: 1px solid rgba(241,42,163,.35); border-radius: 16px; background: rgba(241,42,163,.1); font-size: 1.25rem; }
.admin-page__heading small { color: #f05bb4; font-size: .66rem; font-weight: 900; letter-spacing: 2px; }
.admin-page__heading h1 { margin: 4px 0; font-size: clamp(1.7rem, 4vw, 2.5rem); }
.admin-page__heading p { margin: 0; color: #998da1; font-size: .84rem; }
.admin-alert { margin-bottom: 20px; padding: 13px 15px; border: 1px solid; border-radius: 11px; font-size: .78rem; }
.admin-alert--success { color: #baf8d1; border-color: rgba(64,225,132,.3); background: rgba(46,205,116,.1); }
.admin-alert--error { color: #ffc5d7; border-color: rgba(255,79,137,.3); background: rgba(255,54,121,.1); }
.admin-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.admin-card { padding: 25px; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; background: rgba(0,0,0,.58); box-shadow: 0 24px 55px rgba(0,0,0,.25); backdrop-filter: blur(15px); }
.admin-card h2 { margin: 0 0 21px; font-size: 1rem; }
.admin-form { display: grid; gap: 10px; }
.admin-form label { color: #cfc4d6; font-size: .7rem; font-weight: 750; }
.admin-form input[type="text"], .admin-form input[type="number"], .admin-form select, .admin-form textarea { width: 100%; padding: 0 13px; color: #fff; border: 1px solid rgba(255,255,255,.13); border-radius: 10px; outline: 0; background: #160e1d; font: inherit; font-size: .76rem; }
.admin-form input[type="text"], .admin-form input[type="number"], .admin-form select { height: 44px; }
.admin-form input[type="number"] { color-scheme: dark; }
.admin-form input[type="number"]::-webkit-inner-spin-button { margin-right: 2px; opacity: .65; }
.admin-form select.custom-select__native, .role-grade-access__minimum select.custom-select__native { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; opacity: 0; pointer-events: none; }
.custom-select { position: relative; width: 100%; }
.admin-form .custom-select__button, .role-grade-access__minimum .custom-select__button { width: 100%; height: 44px; display: flex; align-items: center; justify-content: space-between; justify-self: stretch; gap: 12px; margin: 0; padding: 0 13px; color: #fff; border: 1px solid rgba(92,218,255,.28); border-radius: 10px; outline: 0; background: rgba(34,21,91,.8); box-shadow: none; font: inherit; font-size: .76rem; font-weight: 500; text-align: left; cursor: pointer; }
.admin-form .custom-select__button > span, .role-grade-access__minimum .custom-select__button > span { display: flex; align-items: center; gap: 9px; }
.admin-form .custom-select__button > span i, .role-grade-access__minimum .custom-select__button > span i { width: 15px; color: #8ce7d9; font-size: .65rem; text-align: center; }
.admin-form .custom-select__button .custom-select__chevron, .role-grade-access__minimum .custom-select__button .custom-select__chevron { color: rgba(255,255,255,.72); font-size: .57rem; transition: transform .2s; }
.admin-form .custom-select.is-open .custom-select__button, .role-grade-access__minimum .custom-select.is-open .custom-select__button { border-color: var(--cyan); background: rgba(34,21,91,.8); box-shadow: 0 0 0 3px rgba(37,217,255,.11), 0 0 18px rgba(37,217,255,.1); }
.admin-form .custom-select.is-open .custom-select__button .custom-select__chevron, .role-grade-access__minimum .custom-select.is-open .custom-select__button .custom-select__chevron { transform: rotate(180deg); }
.custom-select__menu { position: absolute; z-index: 45; top: calc(100% + 6px); right: 0; left: 0; max-height: 220px; padding: 6px; overflow-y: auto; border: 1px solid rgba(103,220,201,.32); border-radius: 12px; background: linear-gradient(145deg, rgba(79,49,94,.98), rgba(39,73,91,.98)); box-shadow: 0 18px 42px rgba(34,19,47,.38); scrollbar-width: thin; scrollbar-color: rgba(103,220,201,.7) transparent; }
.custom-select__menu::-webkit-scrollbar { width: 6px; }
.custom-select__menu::-webkit-scrollbar-track { margin: 8px 0; background: transparent; }
.custom-select__menu::-webkit-scrollbar-thumb { border-radius: 999px; background: linear-gradient(180deg, rgba(255,111,145,.82), rgba(66,213,195,.82)); }
.custom-select__menu::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #ff7fa0, #55dfcd); }
.custom-select__menu[hidden] { display: none; }
.admin-form .custom-select__option, .role-grade-access__minimum .custom-select__option { width: 100%; min-height: 34px; height: auto; display: flex; align-items: center; justify-self: stretch; margin: 0; padding: 7px 10px; color: #e8e0ed; border: 0; border-radius: 8px; outline: 0; background: transparent; box-shadow: none; font: inherit; font-size: .68rem; font-weight: 500; text-align: left; cursor: pointer; }
.admin-form .custom-select__option > i, .role-grade-access__minimum .custom-select__option > i { width: 18px; margin-right: 8px; color: #8ce7d9; font-size: .64rem; text-align: center; }
.admin-form .custom-select__option:hover, .admin-form .custom-select__option:focus-visible, .role-grade-access__minimum .custom-select__option:hover, .role-grade-access__minimum .custom-select__option:focus-visible { color: #fff; background: rgba(103,220,201,.12); }
.admin-form .custom-select__option.is-selected, .role-grade-access__minimum .custom-select__option.is-selected { color: #fff; background: linear-gradient(90deg, rgba(231,90,142,.3), rgba(66,213,195,.23)); }
.admin-form .custom-select__option.is-selected::after, .role-grade-access__minimum .custom-select__option.is-selected::after { margin-left: auto; color: #8ce7d9; content: "\2713"; font-size: .67rem; font-weight: 900; }
.admin-form textarea { padding-block: 11px; resize: vertical; line-height: 1.55; }
.admin-form input:focus, .admin-form select:focus { border-color: rgba(240,47,174,.65); box-shadow: 0 0 0 3px rgba(240,47,174,.1); }
.admin-check { display: flex; align-items: center; gap: 9px; margin: 5px 0; cursor: pointer; }
.admin-check input { accent-color: #ee2ba3; }
.admin-form button { width: fit-content; height: 35px; justify-self: start; margin-top: 5px; padding: 0 15px; color: #fff; border: 0; border-radius: 999px; background: linear-gradient(135deg, #873ee6, #ec289f); font-size: .66rem; font-weight: 800; cursor: pointer; }
.role-editor__actions { display: flex; align-items: center; gap: 8px; }
.admin-form .role-editor__cancel { color: #cfc4d6; border: 1px solid rgba(255,255,255,.13); background: rgba(255,255,255,.05); box-shadow: none; }
.admin-form .role-editor__cancel:hover, .admin-form .role-editor__cancel:focus-visible { color: #fff; border-color: rgba(92,218,255,.38); background: rgba(92,218,255,.1); }
.forum-filter-admin__layout { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(360px,1.2fr); gap: 28px; align-items: start; }
.forum-filter-admin__editor > header { display: flex; align-items: center; gap: 13px; margin-bottom: 22px; }
.forum-filter-admin__editor > header > span { width: 43px; height: 43px; display: grid; flex: 0 0 43px; place-items: center; color: #ff9aaa; border: 1px solid rgba(255,120,159,.3); border-radius: 12px; background: rgba(215,70,126,.12); }
.forum-filter-admin__editor header small, .forum-filter-admin__list header small { color: #ff9aaa; font-size: .5rem; font-weight: 900; letter-spacing: 1.2px; }
.forum-filter-admin__editor header h2, .forum-filter-admin__list header h2 { margin: 3px 0; }
.forum-filter-admin__editor header p { margin: 0; color: #b9aec5; font-size: .6rem; line-height: 1.45; }
.forum-filter-admin__editor .admin-form > small { color: #a99db8; font-size: .57rem; line-height: 1.45; }
.forum-filter-admin__editor .admin-form > small strong { color: #ff9aaa; }
.forum-filter-admin__input { position: relative; }
.forum-filter-admin__input > i { position: absolute; top: 50%; left: 13px; color: #75dfd0; font-size: .65rem; transform: translateY(-50%); }
.admin-form .forum-filter-admin__input input { padding-left: 37px; }
.forum-filter-admin__editor .admin-form button { display: inline-flex; align-items: center; gap: 7px; }
.forum-filter-admin__list > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 17px; }
.forum-filter-admin__list > header > span { min-width: 31px; height: 31px; display: grid; place-items: center; padding: 0 8px; color: #fff; border-radius: 999px; background: linear-gradient(135deg, rgba(227,84,145,.8), rgba(61,172,164,.8)); font-size: .63rem; font-weight: 900; }
.forum-filter-admin__words { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.forum-filter-admin__words article { min-width: 0; display: grid; grid-template-columns: 32px minmax(0,1fr) 30px; align-items: center; gap: 10px; padding: 9px 10px; border: 1px solid rgba(103,220,201,.2); border-radius: 11px; background: rgba(34,21,91,.36); }
.forum-filter-admin__words article > span { width: 30px; height: 30px; display: grid; place-items: center; color: #ff9aaa; border-radius: 9px; background: rgba(215,70,126,.12); font-size: .6rem; }
.forum-filter-admin__words article > div { min-width: 0; display: grid; gap: 2px; }
.forum-filter-admin__words article strong { overflow: hidden; color: #fff; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.forum-filter-admin__words article small { color: #9e92ad; font-size: .5rem; }
.forum-filter-admin__words form button { width: 29px; height: 29px; display: grid; place-items: center; padding: 0; color: #ff9bb3; border: 1px solid rgba(255,123,155,.25); border-radius: 50%; background: rgba(125,42,77,.2); cursor: pointer; font-size: .57rem; }
.forum-filter-admin__words form button:hover { color: #fff; border-color: #ff7b9b; background: rgba(180,53,92,.65); }
.forum-filter-admin__empty { min-height: 170px; display: grid; place-content: center; justify-items: center; gap: 7px; color: #a99db8; text-align: center; }
.forum-filter-admin__empty > i { margin-bottom: 5px; color: #75dfd0; font-size: 1.6rem; }
.forum-filter-admin__empty strong { color: #fff; font-size: .76rem; }
.forum-filter-admin__empty span { font-size: .58rem; }
.forum-guard-admin { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; margin-top: 30px; }
.forum-guard-admin > section > header, .forum-guard-log > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 19px; }
.forum-guard-admin header small, .forum-guard-log header small { color: #ff9aaa; font-size: .5rem; font-weight: 900; letter-spacing: 1.2px; }
.forum-guard-admin header h2, .forum-guard-log header h2 { margin: 3px 0 4px; }
.forum-guard-admin header p, .forum-guard-log header p { margin: 0; color: #b6abbe; font-size: .58rem; line-height: 1.45; }
.forum-guard-admin header > span, .forum-guard-log header > span { min-width: 31px; height: 31px; display: grid; place-items: center; padding: 0 8px; color: #fff; border-radius: 999px; background: linear-gradient(135deg, rgba(227,84,145,.8), rgba(61,172,164,.8)); font-size: .62rem; font-weight: 900; }
.forum-guard-domain-form { margin-bottom: 16px; }
.forum-guard-domain-form > div { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.forum-guard-domain-form > div button { height: 44px; display: inline-flex; align-items: center; gap: 7px; margin: 0; }
.forum-guard-domain-list { max-height: 240px; display: grid; gap: 6px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(94,220,207,.72) transparent; }
.forum-guard-domain-list > p { color: #a99db5; font-size: .59rem; }
.forum-guard-domain-list article { display: grid; grid-template-columns: 22px 1fr 29px; align-items: center; gap: 8px; min-height: 39px; padding: 5px 7px; border-bottom: 1px solid rgba(104,222,209,.15); }
.forum-guard-domain-list article > i { color: #78ded1; font-size: .62rem; }
.forum-guard-domain-list article strong { overflow: hidden; font-size: .62rem; text-overflow: ellipsis; white-space: nowrap; }
.forum-guard-domain-list button, .forum-guard-image-actions button { width: 28px; height: 28px; display: grid; place-items: center; padding: 0; color: #ff9bb3; border: 1px solid rgba(255,123,155,.26); border-radius: 50%; background: rgba(125,42,77,.22); cursor: pointer; font-size: .54rem; }
.forum-guard-image-list { max-height: 330px; display: grid; gap: 9px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(94,220,207,.72) transparent; }
.forum-guard-image-list article { display: grid; grid-template-columns: 68px minmax(0,1fr) auto; align-items: center; gap: 10px; padding: 7px; border: 1px solid rgba(104,222,209,.16); border-radius: 11px; background: rgba(34,21,91,.3); }
.forum-guard-image-list img { width: 68px; height: 58px; display: block; border-radius: 8px; background: rgba(15,10,45,.5); object-fit: contain; }
.forum-guard-image-list article > div:nth-child(2) { min-width: 0; display: grid; gap: 4px; }
.forum-guard-image-list strong { font-size: .63rem; }
.forum-guard-image-list small { overflow: hidden; color: #a99db6; font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
.forum-guard-image-actions { display: flex; gap: 5px; }
.forum-guard-image-actions button.is-approve { color: #86ead8; border-color: rgba(104,225,210,.32); background: rgba(46,130,121,.24); }
.forum-guard-image-actions button.is-reject { color: #ff9bb3; }
.forum-guard-empty { min-height: 130px; display: grid; place-content: center; justify-items: center; gap: 8px; color: #aaa0b6; text-align: center; font-size: .58rem; }
.forum-guard-empty i { color: #78dfd1; font-size: 1.4rem; }
.forum-guard-log { margin-top: 30px; }
.forum-guard-log__list { max-height: 420px; display: grid; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(94,220,207,.72) transparent; }
.forum-guard-log__list article { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: start; gap: 11px; padding: 11px 3px; border-bottom: 1px solid rgba(104,222,209,.15); }
.forum-guard-log__list article > span { width: 32px; height: 32px; display: grid; place-items: center; color: #7ee2d4; border-radius: 50%; background: rgba(63,175,165,.12); font-size: .63rem; }
.forum-guard-log__list article > div { min-width: 0; display: grid; gap: 3px; }
.forum-guard-log__list strong { font-size: .64rem; }
.forum-guard-log__list small { color: #a99db6; font-size: .5rem; }
.forum-guard-log__list p { margin: 3px 0 0; overflow: hidden; color: #d1c8da; font-size: .56rem; text-overflow: ellipsis; white-space: nowrap; }
.forum-guard-log__list code { padding: 4px 7px; color: #ff9aaa; border-radius: 999px; background: rgba(215,70,126,.1); font-size: .45rem; }
@media (max-width: 780px) {
    .forum-filter-admin__layout { grid-template-columns: 1fr; gap: 18px; }
    .forum-filter-admin__words { grid-template-columns: 1fr; }
    .forum-guard-admin { grid-template-columns: 1fr; gap: 18px; }
}
.admin-back { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 24px; color: #c9bece; font-size: .68rem; }
.admin-hub { display: grid; gap: 0; }
.admin-hub > a { display: grid; grid-template-columns: 44px 1fr auto 15px; align-items: center; gap: 16px; padding: 17px 4px; border-top: 1px solid rgba(103,220,201,.24); transition: padding-left .2s, background .2s; }
.admin-hub > a:last-child { border-bottom: 1px solid rgba(103,220,201,.24); }
.admin-hub > a:hover { padding-left: 14px; background: linear-gradient(90deg, rgba(255,111,145,.09), transparent); }
.admin-hub > a > span { width: 40px; height: 40px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: linear-gradient(135deg, rgba(255,111,145,.68), rgba(66,188,171,.64)); font-size: .78rem; }
.admin-hub small { color: #ff9aaa; font-size: .53rem; font-weight: 900; letter-spacing: 1.3px; }
.admin-hub h2 { margin: 3px 0; font-size: .86rem; }
.admin-hub p { margin: 0; color: #cfc5d7; font-size: .68rem; }
.admin-hub strong { color: #b9afc2; font-size: .6rem; font-weight: 700; }
.admin-hub > a > i { color: #91e4d5; font-size: .65rem; }
.admin-categories { display: grid; grid-template-columns: 1fr 1fr; gap: 58px; }
.admin-category--platform { padding-left: 58px; border-left: 1px solid rgba(103,220,201,.22); }
.admin-category > header { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.admin-category > header > span { width: 38px; height: 38px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: linear-gradient(135deg, rgba(255,111,145,.72), rgba(66,188,171,.68)); font-size: .74rem; }
.admin-category > header small { color: #ff9aaa; font-size: .52rem; font-weight: 900; letter-spacing: 1.25px; }
.admin-category > header h2 { margin: 3px 0 0; font-size: .95rem; }
.admin-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.admin-tool-button { width: 100%; min-height: 58px; display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 11px; padding: 9px 13px; color: #fff; border: 1px solid rgba(107,220,201,.24); border-radius: 12px; background: linear-gradient(110deg, rgba(86,59,104,.54), rgba(47,83,101,.5)); box-shadow: 0 8px 22px rgba(45,25,57,.12); font: inherit; text-align: left; transition: border-color .2s, background .2s, transform .2s; }
.admin-tool-button > span { width: 32px; height: 32px; display: grid; place-items: center; color: #fff; border-radius: 9px; background: rgba(255,255,255,.09); font-size: .68rem; }
.admin-tool-button div { min-width: 0; display: grid; gap: 3px; }
.admin-tool-button strong { font-size: .7rem; }
.admin-tool-button div small { color: #bdb3c5; font-size: .54rem; }
.admin-tool-button > i { color: #91e4d5; font-size: .57rem; }
.admin-tool-button em { padding: 4px 7px; color: #d0c6d7; border-radius: 999px; background: rgba(255,255,255,.07); font-size: .46rem; font-style: normal; font-weight: 800; white-space: nowrap; }
a.admin-tool-button:hover { border-color: rgba(255,130,163,.55); background: linear-gradient(110deg, rgba(124,65,111,.62), rgba(47,105,110,.57)); transform: translateY(-2px); }
button.admin-tool-button:disabled { opacity: .58; cursor: not-allowed; }
.admin-blog-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 55px; }
.admin-form--blog { gap: 9px; }
.admin-blog-editor { margin-bottom: 48px; padding: 0; }
.admin-blog-editor__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid rgba(103,220,201,.22); }
.admin-blog-editor__heading small, .admin-blog-list-card > header small { color: #ff9aaa; font-size: .53rem; font-weight: 900; letter-spacing: 1.35px; }
.admin-blog-editor__heading h2, .admin-blog-list-card > header h2 { margin: 4px 0 0; font-size: .95rem; }
.admin-blog-editor__heading > span { width: 39px; height: 39px; display: grid; place-items: center; color: #8ce7d9; border-radius: 50%; background: rgba(66,213,195,.11); font-size: .72rem; }
.rich-field { display: grid; gap: 0; margin-bottom: 17px; }
.rich-toolbar { min-height: 38px; display: flex; align-items: center; flex-wrap: wrap; gap: 3px; padding: 5px 7px; border: 1px solid rgba(92,218,255,.28); border-bottom: 0; border-radius: 11px 11px 0 0; background: rgba(40,28,82,.72); }
.admin-form .rich-toolbar button, .rich-toolbar__color { width: 28px; height: 28px; display: grid; place-items: center; margin: 0; padding: 0; color: #d9d0e3; border: 0; border-radius: 7px; background: transparent; box-shadow: none; font-size: .62rem; font-weight: 800; cursor: pointer; }
.admin-form .rich-toolbar button:hover, .rich-toolbar__color:hover { color: #fff; background: rgba(103,220,201,.13); }
.rich-toolbar__size[hidden] { display: none !important; }
.rich-size-picker { position: relative; flex: 0 0 auto; }
.admin-form .rich-size-picker__button { width: 46px; height: 28px; display: flex; align-items: center; justify-content: center; gap: 5px; margin: 0; padding: 0 7px; color: #e5dce9; border: 1px solid rgba(103,220,201,.22); border-radius: 7px; background: rgba(25,18,61,.72); box-shadow: none; font-size: .6rem; }
.admin-form .rich-size-picker__button i { font-size: .43rem; transition: transform .2s; }
.admin-form .rich-size-picker__button:hover, .rich-size-picker.is-open .rich-size-picker__button { color: #fff; border-color: rgba(103,220,201,.58); background: rgba(103,220,201,.12); }
.rich-size-picker.is-open .rich-size-picker__button i { transform: rotate(180deg); }
.rich-size-picker__menu { position: absolute; z-index: 70; top: calc(100% + 7px); left: 0; width: 150px; max-height: 245px; padding: 6px; overflow-y: auto; border: 1px solid rgba(103,220,201,.34); border-radius: 11px; background: linear-gradient(145deg, rgba(70,43,91,.99), rgba(34,66,84,.99)); box-shadow: 0 18px 45px rgba(20,12,39,.52); scrollbar-width: thin; scrollbar-color: rgba(103,220,201,.72) transparent; }
.rich-size-picker__menu[hidden] { display: none; }
.admin-form .rich-size-picker__menu button { width: 100%; min-height: 31px; height: auto; display: grid; grid-template-columns: 31px 1fr; align-items: center; gap: 7px; margin: 0; padding: 5px 7px; color: #e9e0ed; border: 0; border-radius: 7px; background: transparent; box-shadow: none; text-align: left; }
.admin-form .rich-size-picker__menu button:hover { color: #fff; background: linear-gradient(90deg, rgba(213,84,139,.22), rgba(66,188,171,.18)); }
.rich-size-picker__menu button b { color: #8ce7d9; font-size: .68rem !important; text-align: center; }
.rich-size-picker__menu button span { font-size: .59rem; font-weight: 750; }
.rich-toolbar__color { position: relative; overflow: hidden; }
.rich-toolbar__color input { position: absolute; width: 150%; height: 150%; opacity: 0; cursor: pointer; }
.rich-editor { min-height: 74px; padding: 12px 14px; overflow-wrap: anywhere; color: #fff; border: 1px solid rgba(92,218,255,.28); border-radius: 0 0 11px 11px; outline: 0; background: rgba(34,21,91,.64); font-size: .76rem; line-height: 1.65; }
.rich-editor--title { min-height: 48px; font-size: 1.05rem; font-weight: 700; }
.rich-editor--excerpt { min-height: 82px; }
.rich-editor--content { height: 360px; min-height: 260px; max-height: 360px; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(93,211,198,.82) rgba(31,23,67,.72); }
.rich-editor--content::-webkit-scrollbar { width: 10px; }
.rich-editor--content::-webkit-scrollbar-track { border-left: 1px solid rgba(92,218,255,.12); background: rgba(31,23,67,.72); }
.rich-editor--content::-webkit-scrollbar-thumb { min-height: 55px; border: 2px solid rgba(31,23,67,.72); border-radius: 999px; background: linear-gradient(180deg, #d65a91, #5dd3c6); }
.rich-editor--content::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #f06a9f, #73e5d7); }
.rich-editor:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(37,217,255,.1); }
.rich-editor:empty::before { color: #9186a2; content: attr(data-placeholder); pointer-events: none; }
.rich-editor h2 { margin: 12px 0 6px; font-size: 1.35rem; }
.rich-editor h3 { margin: 10px 0 5px; font-size: 1.05rem; }
.rich-editor p { margin: 0 0 9px; }
.rich-editor ul, .rich-editor ol { margin: 0; padding-left: 0; list-style-position: inside; }
.rich-editor li { margin: 0; padding-left: 0; }
.rich-editor li::marker { font-size: inherit; }
.rich-editor ul + p, .rich-editor ul + div, .rich-editor ol + p, .rich-editor ol + div { margin-top: 0; margin-left: 0; }
.rich-editor figure { margin: 14px 0; }
.rich-editor figure img { width: min(100%, 720px); max-height: 420px; object-fit: contain; border-radius: 12px; }
.rules-category-editor { display: grid; gap: 10px; }
.rules-category-editor > label { color: #f4edf7; font-size: .68rem; font-weight: 800; }
.rules-category-editor__create { min-height: 47px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 0 14px; border: 1px solid rgba(92,218,255,.28); border-radius: 11px; background: rgba(34,21,91,.64); }
.rules-category-editor__create > i { color: #70dfcf; }
.rules-category-editor__create input { width: 100%; padding: 0; color: #fff; border: 0; outline: 0; background: transparent; font: inherit; font-size: .72rem; }
.rules-category-editor__create input::placeholder { color: #9186a2; }
.rules-category-editor__create small { color: #a99dbc; font-size: .48rem; font-weight: 900; letter-spacing: .8px; }
.rules-category-editor__list { display: flex; flex-wrap: wrap; gap: 7px; }
.rules-category-editor__list > button { min-height: 36px; display: inline-flex; align-items: center; gap: 8px; padding: 0 11px; color: #cfc5da; border: 1px solid rgba(92,218,255,.18); border-radius: 10px; background: rgba(34,21,91,.45); font: inherit; font-size: .64rem; font-weight: 750; cursor: pointer; }
.rules-category-editor__list > button > i { color: #79dccd; }
.rules-category-editor__list > button.is-active { color: #fff; border-color: rgba(255,112,166,.58); background: linear-gradient(120deg, rgba(190,62,126,.34), rgba(52,137,137,.3)); box-shadow: 0 0 0 3px rgba(255,112,166,.06); }
.rules-category-editor__list b { width: 20px; height: 20px; display: grid; place-items: center; margin-left: 2px; color: #ff9ab5; border-radius: 50%; background: rgba(255,110,150,.1); font-size: .55rem; }
.rules-category-editor__hint { margin: 2px 0 0; padding: 10px 12px; color: #aaa0b8; border: 1px dashed rgba(103,220,201,.18); border-radius: 10px; background: rgba(38,63,76,.13); font-size: .59rem; }
.rules-category-editor__hint i { margin-right: 7px; color: #76ddcd; }
.rules-edit-form [data-rules-content-field][hidden] { display: none; }
.rules-edit-form .rich-editor--content ol li { font-size: .73rem; }
.rules-edit-form .rich-editor--content ol h2 { margin: 0 0 8px; font-size: 1.23em; line-height: 1.35; }
.rules-edit-form .rich-editor--content ol p { margin: 0; font-size: 1em; line-height: 1.65; }
.rules-edit-form .rich-editor--content ol li::marker { font-size: 1em; }
.rich-image-dialog { width: min(390px, calc(100% - 30px)); padding: 0; color: #fff; border: 1px solid rgba(103,220,201,.34); border-radius: 17px; outline: 0; background: linear-gradient(145deg, rgba(79,49,94,.98), rgba(39,73,91,.98)); box-shadow: 0 28px 75px rgba(31,17,43,.5); }
.rich-image-dialog::backdrop { background: rgba(28,18,43,.4); -webkit-backdrop-filter: blur(1px); backdrop-filter: blur(1px); }
.rich-image-dialog__panel { padding: 18px; }
.rich-image-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.rich-image-dialog header small { display: block; margin-bottom: 3px; color: #ff9aaa; font-size: .51rem; font-weight: 900; letter-spacing: 1.3px; }
.rich-image-dialog header strong { font-size: .85rem; }
.rich-image-dialog header button { width: 29px; height: 29px; display: grid; place-items: center; padding: 0; color: #cfc5d7; border: 0; border-radius: 50%; background: rgba(255,255,255,.06); cursor: pointer; }
.rich-image-dialog__switch { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin: 17px 0 13px; padding: 4px; border: 1px solid rgba(103,220,201,.23); border-radius: 11px; background: rgba(34,21,91,.42); }
.rich-image-dialog__switch button { height: 34px; color: #bfb5ca; border: 0; border-radius: 8px; background: transparent; font-size: .62rem; font-weight: 750; cursor: pointer; }
.rich-image-dialog__switch button.is-active { color: #fff; background: linear-gradient(100deg, rgba(225,87,140,.45), rgba(66,190,180,.36)); }
.rich-image-dialog [data-inline-image-panel] > label:not(.rich-image-dialog__file) { display: block; margin-bottom: 8px; color: #d7cedd; font-size: .61rem; font-weight: 750; }
.rich-image-dialog input[type="url"] { width: 100%; height: 42px; padding: 0 12px; color: #fff; border: 1px solid rgba(92,218,255,.28); border-radius: 10px; outline: 0; background: rgba(34,21,91,.65); font: inherit; font-size: .67rem; }
.rich-image-dialog__file { min-height: 62px; display: grid; grid-template-columns: 31px 1fr; align-items: center; column-gap: 9px; padding: 9px 12px; border: 1px dashed rgba(103,220,201,.4); border-radius: 11px; background: rgba(45,79,94,.22); cursor: pointer; }
.rich-image-dialog__file > i { grid-row: 1 / 3; color: #8ce7d9; text-align: center; }
.rich-image-dialog__file > span { overflow: hidden; font-size: .66rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.rich-image-dialog__file > small { color: #aaa0b5; font-size: .51rem; }
.rich-image-dialog__file input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.rich-image-dialog__error { margin: 11px 0 0; color: #ffb0c1; font-size: .59rem; line-height: 1.5; }
.rich-image-dialog__error[hidden] { display: none; }
.rich-image-dialog footer { display: flex; justify-content: flex-end; gap: 7px; margin-top: 16px; padding-top: 13px; border-top: 1px solid rgba(103,220,201,.18); }
.rich-image-dialog footer button { height: 32px; padding: 0 13px; color: #ddd4e3; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; background: rgba(255,255,255,.05); font-size: .61rem; font-weight: 800; cursor: pointer; }
.rich-image-dialog footer button.is-primary { color: #fff; border-color: transparent; background: linear-gradient(110deg, #8b64bd, #e66b8d 58%, #3fb9aa); }
.rich-image-dialog footer button:disabled { opacity: .55; cursor: wait; }
.rich-insert-wrapper { position: relative; display: inline-flex; }
.rich-insert-wrapper.is-open > [data-rich-insert-menu] { color: #fff; background: rgba(103,220,201,.15); }
.rich-insert-menu { position: absolute; z-index: 55; top: calc(100% + 7px); left: 0; width: 170px; padding: 5px; border: 1px solid rgba(103,220,201,.3); border-radius: 11px; background: linear-gradient(145deg, rgba(79,49,94,.98), rgba(39,73,91,.98)); box-shadow: 0 16px 38px rgba(30,17,43,.4); }
.rich-insert-menu[hidden] { display: none; }
.admin-form .rich-insert-menu button { width: 100%; height: 35px; display: flex; align-items: center; justify-content: flex-start; gap: 9px; margin: 0; padding: 0 10px; color: #e4dce9; border: 0; border-radius: 7px; background: transparent; box-shadow: none; font-size: .62rem; font-weight: 700; text-align: left; }
.admin-form .rich-insert-menu button:hover { color: #fff; background: rgba(103,220,201,.12); }
.admin-form .rich-insert-menu button i { width: 15px; color: #8ce7d9; text-align: center; }
.rich-link-dialog { width: min(350px, calc(100% - 30px)); padding: 0; color: #fff; border: 1px solid rgba(103,220,201,.34); border-radius: 16px; outline: 0; background: linear-gradient(145deg, rgba(79,49,94,.98), rgba(39,73,91,.98)); box-shadow: 0 25px 70px rgba(30,17,43,.48); }
.rich-link-dialog::backdrop { background: rgba(28,18,43,.4); -webkit-backdrop-filter: blur(1px); backdrop-filter: blur(1px); }
.rich-link-dialog > div { padding: 17px; }
.rich-link-dialog header { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-bottom: 15px; }
.rich-link-dialog header strong { font-size: .82rem; }
.rich-link-dialog header small { display: block; margin-bottom: 3px; color: #ff91ae; font-size: .48rem; font-weight: 900; letter-spacing: 1px; }
.rich-link-dialog header button { width: 28px; height: 28px; display: grid; place-items: center; padding: 0; color: #cfc5d7; border: 0; border-radius: 50%; background: rgba(255,255,255,.06); cursor: pointer; }
.rich-link-dialog label { display: block; margin-bottom: 7px; color: #d7cedd; font-size: .61rem; font-weight: 750; }
.rich-link-dialog input { width: 100%; height: 42px; padding: 0 12px; color: #fff; border: 1px solid rgba(92,218,255,.28); border-radius: 10px; outline: 0; background: rgba(34,21,91,.65); font: inherit; font-size: .67rem; }
.rules-item-dialog { width: min(430px, calc(100% - 30px)); }
.rules-item-dialog textarea { width: 100%; min-height: 125px; padding: 11px 12px; resize: vertical; color: #fff; border: 1px solid rgba(92,218,255,.28); border-radius: 10px; outline: 0; background: rgba(34,21,91,.65); font: inherit; font-size: .67rem; line-height: 1.55; }
.rules-item-dialog input:focus, .rules-item-dialog textarea:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(37,217,255,.1); }
.rules-item-dialog textarea + p { margin-top: 8px; }
.rich-link-dialog input + label { margin-top: 12px; }
.rich-link-dialog p { margin: 9px 0 0; color: #ffb0c1; font-size: .58rem; }
.rich-link-dialog p[data-link-help] { color: #aaa0b5; }
.rich-link-dialog p[hidden] { display: none; }
.rich-link-dialog footer { display: flex; justify-content: flex-end; gap: 7px; margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(103,220,201,.18); }
.rich-link-dialog footer button { height: 32px; padding: 0 13px; color: #ddd4e3; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; background: rgba(255,255,255,.05); font-size: .61rem; font-weight: 800; cursor: pointer; }
.rich-link-dialog footer button.is-primary { color: #fff; border-color: transparent; background: linear-gradient(110deg,#8b64bd,#e66b8d 58%,#3fb9aa); }
.rich-image-dropzone { min-height: 175px; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 6px; margin-top: 17px; padding: 20px; color: #ddd5e5; border: 1px dashed rgba(103,220,201,.48); border-radius: 14px; background: rgba(35,47,78,.32); text-align: center; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.rich-image-dropzone.is-dragging { border-color: #72e1cf; background: rgba(66,213,195,.13); transform: scale(.99); }
.rich-image-dropzone.has-file { border-style: solid; background: rgba(66,213,195,.1); }
.rich-image-dropzone > i { margin-bottom: 5px; color: #8ce7d9; font-size: 1.35rem; }
.rich-image-dropzone > strong { max-width: 100%; overflow: hidden; color: #fff; font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.rich-image-dropzone > span { color: #c9bfce; font-size: .6rem; }
.rich-image-dropzone > small { margin-top: 3px; color: #9e94aa; font-size: .51rem; }
.rich-image-dropzone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.admin-blog-meta { display: grid; grid-template-columns: .8fr .8fr 1.4fr; gap: 15px; margin-top: 3px; }
.admin-blog-meta > div { min-width: 0; display: grid; gap: 8px; }
.admin-blog-banner { align-content: start; }
.banner-source-switch { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 4px; border: 1px solid rgba(92,218,255,.22); border-radius: 11px; background: rgba(34,21,91,.48); }
.admin-form .banner-source-switch button { width: 100%; height: 34px; display: flex; align-items: center; justify-content: center; gap: 7px; margin: 0; padding: 0 9px; color: #bfb5ca; border: 0; border-radius: 8px; background: transparent; box-shadow: none; font-size: .61rem; }
.admin-form .banner-source-switch button.is-active { color: #fff; background: linear-gradient(100deg, rgba(225,87,140,.45), rgba(66,190,180,.36)); }
.banner-file-picker { min-height: 44px; display: grid; grid-template-columns: 24px 1fr; align-items: center; column-gap: 8px; padding: 7px 11px; color: #fff; border: 1px dashed rgba(103,220,201,.4); border-radius: 10px; background: rgba(45,79,94,.22); cursor: pointer; }
.banner-file-picker > i { grid-row: 1 / 3; color: #8ce7d9; font-size: .78rem; text-align: center; }
.banner-file-picker > span { overflow: hidden; font-size: .66rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.banner-file-picker > small { color: #a9a0b5; font-size: .5rem; }
.admin-blog-banner input[type="file"] { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.banner-preview { position: relative; height: 105px; margin-top: 3px; overflow: hidden; border: 1px solid rgba(103,220,201,.25); border-radius: 12px; background: rgba(26,25,63,.45); }
.banner-preview[hidden] { display: none; }
.banner-preview img { width: 100%; height: 100%; object-fit: cover; }
.banner-preview > span { position: absolute; inset: 0; display: none; place-items: center; padding: 15px; color: #ffb0c1; background: rgba(47,28,65,.94); font-size: .59rem; text-align: center; }
.banner-preview.has-error > span { display: grid; }
.banner-preview.has-error img { display: none; }
.admin-blog-editor__actions { display: flex; justify-content: center; gap: 9px; margin-top: 16px; }
.admin-form .admin-blog-editor__actions button { justify-self: auto; margin: 0; }
.admin-form .admin-blog-editor__actions button.is-secondary { color: #d8f7f1; border: 1px solid rgba(103,220,201,.32); background: rgba(48,103,104,.3); box-shadow: none; }
.admin-blog-lists { display: grid; grid-template-columns: 1fr 1fr; gap: 54px; }
.admin-blog-list-card { min-width: 0; }
.admin-blog-list-card > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 11px; }
.admin-blog-list-card > header > span { min-width: 30px; height: 30px; display: grid; place-items: center; color: #dffaf5; border-radius: 50%; background: rgba(66,213,195,.15); font-size: .61rem; font-weight: 850; }
.admin-post-list > article.is-list-hidden { display: none; }
.admin-list-more { display: flex; align-items: center; gap: 7px; margin: 15px auto 0; padding: 8px 13px; color: #d9f8f2; border: 1px solid rgba(103,220,201,.27); border-radius: 999px; background: rgba(50,102,105,.24); font-size: .61rem; font-weight: 800; cursor: pointer; }
.admin-list-more span { color: #ff9aaa; }
.admin-form__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.admin-form__columns > div { display: grid; gap: 9px; }
.admin-post-list { display: grid; }
.admin-post-group + .admin-post-group { margin-top: 25px; }
.admin-post-group > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 0 2px 10px; }
.admin-post-group > header h3 { margin: 0; font-size: .72rem; }
.admin-post-group > header span { min-width: 24px; height: 24px; display: grid; place-items: center; color: #dffaf5; border-radius: 50%; background: rgba(66,213,195,.16); font-size: .57rem; font-weight: 850; }
.admin-post-list > article { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 2px; border-top: 1px solid rgba(103,220,201,.2); }
.admin-post-list small { color: #ff9aaa; font-size: .52rem; font-weight: 800; text-transform: uppercase; }
.admin-post-list h3 { margin: 4px 0 0; font-size: .76rem; }
.admin-post-list__empty { margin: 0; padding: 15px 2px; color: #bdb3c5; border-top: 1px solid rgba(103,220,201,.2); font-size: .65rem; }
.admin-post-status { display: inline-block; padding: 3px 7px; border-radius: 999px; }
.admin-post-status--draft { color: #ffe0a3; background: rgba(255,190,79,.13); }
.admin-post-status--published { color: #baf3e8; background: rgba(66,213,195,.13); }
.admin-post-list__actions { display: flex; align-items: center; gap: 5px; }
.admin-post-list__actions a, .admin-post-list__actions button { width: 31px; height: 31px; display: grid; place-items: center; margin: 0; padding: 0; color: #d9cfde; border: 0; border-radius: 50%; background: rgba(58,53,91,.4); font-size: .62rem; cursor: pointer; }
.admin-post-list__actions button:hover { color: #ff9aaa; }
.delete-confirmation { width: min(300px, calc(100% - 32px)); padding: 17px; color: #fff; border: 1px solid rgba(255,130,163,.38); border-radius: 15px; outline: 0; background: linear-gradient(145deg, rgba(82,49,91,.97), rgba(42,73,87,.97)); box-shadow: 0 22px 60px rgba(34,18,45,.5); }
.delete-confirmation::backdrop { background: rgba(27,17,38,.38); -webkit-backdrop-filter: blur(1px); backdrop-filter: blur(1px); }
.delete-confirmation__content { display: flex; align-items: center; gap: 12px; }
.delete-confirmation__content > span { width: 36px; height: 36px; flex: 0 0 36px; display: grid; place-items: center; color: #ff9ab0; border-radius: 50%; background: rgba(255,111,145,.12); font-size: .7rem; }
.delete-confirmation__content div { display: grid; gap: 3px; }
.delete-confirmation__content strong { font-size: .76rem; }
.delete-confirmation__content small { color: #cfc5d7; font-size: .59rem; }
.delete-confirmation__actions { display: flex; justify-content: flex-end; gap: 7px; margin-top: 15px; }
.delete-confirmation__actions button { min-width: 58px; height: 31px; padding: 0 12px; color: #e8dfed; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; background: rgba(255,255,255,.05); font-size: .61rem; font-weight: 800; cursor: pointer; }
.delete-confirmation__actions button.is-danger { color: #fff; border-color: rgba(255,111,145,.42); background: rgba(205,62,101,.38); }
.maintenance-admin { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 28px 4px; border-top: 1px solid rgba(103,220,201,.25); border-bottom: 1px solid rgba(103,220,201,.25); }
.maintenance-admin__state { display: flex; align-items: center; gap: 18px; }
.maintenance-admin__state > span { width: 54px; height: 54px; flex: 0 0 54px; display: grid; place-items: center; color: #82ead7; border: 1px solid rgba(103,220,201,.34); border-radius: 50%; background: rgba(66,213,195,.11); }
.maintenance-admin.is-enabled .maintenance-admin__state > span { color: #ff91ae; border-color: rgba(255,111,145,.4); background: rgba(255,111,145,.12); }
.maintenance-admin__state small { color: #ff9aaa; font-size: .54rem; font-weight: 900; letter-spacing: 1.4px; }
.maintenance-admin__state h2 { margin: 4px 0; font-size: 1rem; }
.maintenance-admin__state p { margin: 0; color: #d1c8df; font-size: .7rem; line-height: 1.55; }
.maintenance-admin__form { margin: 0; }
.maintenance-switch { min-width: 118px; display: flex; align-items: center; justify-content: center; gap: 11px; padding: 10px 15px; color: #fff; border: 1px solid rgba(103,220,201,.32); border-radius: 999px; background: rgba(42,92,98,.4); cursor: pointer; }
.maintenance-switch__track { width: 43px; height: 23px; display: flex; align-items: center; padding: 3px; border-radius: 999px; background: rgba(255,255,255,.16); }
.maintenance-switch__track i { width: 17px; height: 17px; border-radius: 50%; background: #a9ddd5; transition: transform .2s, background .2s; }
.maintenance-switch.is-on { border-color: rgba(255,111,145,.4); background: rgba(123,51,81,.42); }
.maintenance-switch.is-on .maintenance-switch__track { background: rgba(255,111,145,.24); }
.maintenance-switch.is-on .maintenance-switch__track i { background: #ff91ae; transform: translateX(20px); }
.maintenance-switch strong { min-width: 25px; font-size: .67rem; letter-spacing: 1px; }
.maintenance-page { position: relative; min-height: calc(100vh - 76px); display: grid; place-items: center; padding: 90px 0; text-align: center; }
.maintenance-page__inner { max-width: 690px; display: grid; justify-items: center; }
.maintenance-page__icon { width: 76px; height: 76px; display: grid; place-items: center; margin-bottom: 24px; color: #fff; border: 1px solid rgba(103,220,201,.45); border-radius: 50%; background: linear-gradient(135deg, rgba(255,111,145,.55), rgba(65,178,166,.5)); box-shadow: 0 0 32px rgba(255,111,145,.18); font-size: 1.45rem; }
.maintenance-page__icon img { width: 88px; max-width: none; height: 88px; object-fit: contain; }
.maintenance-page small { color: #ff9aaa; font-size: .65rem; font-weight: 900; letter-spacing: 2.4px; }
.maintenance-page h1 { margin: 9px 0 14px; font-size: clamp(2.1rem, 6vw, 4rem); text-shadow: 0 0 26px rgba(255,111,145,.25); }
.maintenance-page p { max-width: 570px; margin: 0; color: #ddd5ec; font-size: .84rem; line-height: 1.8; }
.maintenance-page__status { display: flex; align-items: center; gap: 9px; margin-top: 28px; padding: 9px 15px; color: #b9f1e7; border: 1px solid rgba(103,220,201,.25); border-radius: 999px; background: rgba(42,92,98,.22); font-size: .65rem; font-weight: 800; }
.maintenance-page__status span { width: 7px; height: 7px; border-radius: 50%; background: #66dfcb; box-shadow: 0 0 10px #66dfcb; animation: maintenancePulse 1.8s ease-in-out infinite; }
.maintenance-page .maintenance-page__copyright { position: absolute; right: 20px; bottom: 20px; left: 20px; max-width: none; margin: 0; color: #b8aec4; font-size: .62rem; line-height: 1.4; text-align: center; }
.maintenance-timer-admin { margin-top: 38px; padding: 28px; border: 1px solid rgba(103,220,201,.24); border-radius: 22px; background: rgba(47,73,92,.18); }
.maintenance-timer-admin.is-enabled { border-color: rgba(255,145,174,.38); background: linear-gradient(145deg, rgba(99,48,76,.2), rgba(47,73,92,.18)); }
.maintenance-timer-admin__heading { display: flex; align-items: center; gap: 18px; }
.maintenance-timer-admin__heading > span { width: 54px; height: 54px; flex: 0 0 54px; display: grid; place-items: center; color: #ffd0dd; border: 1px solid rgba(255,145,174,.38); border-radius: 50%; background: rgba(255,111,145,.12); font-size: 1.05rem; }
.maintenance-timer-admin__heading small, .maintenance-timer-admin__active small { color: #ff9aaa; font-size: .54rem; font-weight: 900; letter-spacing: 1.4px; }
.maintenance-timer-admin__heading h2 { margin: 4px 0; font-size: 1.08rem; }
.maintenance-timer-admin__heading p { margin: 0; color: #d1c8df; font-size: .7rem; line-height: 1.55; }
.maintenance-timer-admin__active { display: grid; grid-template-columns: minmax(150px,.7fr) minmax(220px,1.5fr) auto; align-items: center; gap: 24px; margin-top: 24px; padding: 17px 19px; border: 1px solid rgba(255,145,174,.24); border-radius: 15px; background: rgba(123,51,81,.2); }
.maintenance-timer-admin__active > div { display: grid; gap: 5px; }
.maintenance-timer-admin__active strong { font-size: .82rem; }
.maintenance-timer-admin__active p { margin: 0; color: #ddd5e9; font-size: .68rem; line-height: 1.45; }
.maintenance-timer-admin__active form { margin: 0; }
.maintenance-timer-admin__stop { padding: 9px 13px; color: #ffd6e1; border: 1px solid rgba(255,145,174,.34); border-radius: 10px; background: rgba(123,51,81,.35); cursor: pointer; font-size: .65rem; font-weight: 800; }
.maintenance-timer-form { display: grid; gap: 22px; margin-top: 26px; }
.maintenance-timer-form fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.maintenance-timer-form legend, .maintenance-until-field > span { display: block; margin-bottom: 11px; color: #f1eaf5; font-size: .7rem; font-weight: 800; }
.maintenance-page-picker { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; }
.maintenance-page-picker label { position: relative; min-width: 0; cursor: pointer; }
.maintenance-page-picker input { position: absolute; opacity: 0; pointer-events: none; }
.maintenance-page-picker span { min-height: 42px; display: flex; align-items: center; gap: 9px; padding: 9px 11px; color: #cfc5db; border: 1px solid rgba(103,220,201,.18); border-radius: 11px; background: rgba(31,68,78,.22); font-size: .65rem; line-height: 1.25; transition: .2s; }
.maintenance-page-picker span i { color: #79d9ca; }
.maintenance-page-picker input:focus-visible + span { outline: 2px solid var(--cyan); outline-offset: 2px; }
.maintenance-page-picker input:checked + span { color: #fff; border-color: rgba(255,145,174,.48); background: rgba(123,51,81,.35); box-shadow: inset 0 0 0 1px rgba(255,145,174,.08); }
.maintenance-page-picker input:checked + span i { color: #ff9aaa; }
.maintenance-until-field { display: grid; grid-template-columns: minmax(180px,1fr) minmax(240px,1fr); align-items: center; gap: 22px; }
.maintenance-until-field > span { margin: 0; }
.maintenance-until-field small { display: block; margin-top: 3px; color: #a99fbd; font-size: .58rem; font-weight: 600; }
.maintenance-until-field input { width: 100%; padding: 11px 13px; color: #fff; border: 1px solid rgba(103,220,201,.28); border-radius: 11px; background: rgba(28,59,70,.38); color-scheme: dark; }
.maintenance-timer-form__submit { justify-self: end; padding: 11px 17px; color: #fff; border: 1px solid rgba(255,145,174,.38); border-radius: 11px; background: linear-gradient(135deg, rgba(173,57,104,.88), rgba(106,62,153,.88)); cursor: pointer; font-size: .69rem; font-weight: 850; }
.maintenance-countdown { display: grid; grid-template-columns: repeat(4, minmax(76px, 112px)); justify-content: center; gap: 12px; margin-top: 30px; }
.maintenance-countdown > div { display: grid; gap: 5px; padding: 17px 10px 14px; border: 1px solid rgba(103,220,201,.28); border-radius: 15px; background: rgba(39,78,91,.25); box-shadow: inset 0 0 20px rgba(103,220,201,.04); }
.maintenance-countdown strong { font-size: clamp(1.45rem, 4vw, 2.15rem); font-variant-numeric: tabular-nums; line-height: 1; }
.maintenance-countdown span { color: #b9aea9; font-size: .56rem; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; }
@keyframes maintenancePulse { 50% { opacity: .35; transform: scale(.75); } }
.role-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.08); }
.role-list button { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 7px 9px; color: #cfc4d6; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; outline: 0; background: rgba(255,255,255,.04); box-shadow: none; font: inherit; font-size: .65rem; cursor: pointer; transition: border-color .18s, background .18s, transform .18s; }
.role-list button:hover, .role-list button:focus-visible { color: #fff; border-color: rgba(66,218,255,.55); background: rgba(66,218,255,.1); transform: translateY(-1px); }
.role-list button.is-selected { color: #fff; border-color: #42d5c3; background: linear-gradient(90deg, rgba(231,90,142,.22), rgba(66,213,195,.2)); box-shadow: 0 0 0 3px rgba(66,213,195,.08); }
.role-list i { color: #db55b4; }
.role-list strong { margin-left: 3px; color: #83e6d5; font-size: .58rem; letter-spacing: .25px; }
.roles-access-layout { display: grid; grid-template-columns: minmax(290px,.78fr) minmax(430px,1.22fr); align-items: start; gap: 24px; }
.roles-access-layout__left { display: grid; gap: 24px; }
.role-grade-access { min-width: 0; }
.role-grade-access__heading { display: flex; align-items: center; gap: 14px; margin-bottom: 22px; }
.role-grade-access__heading > span { width: 45px; height: 45px; flex: 0 0 45px; display: grid; place-items: center; color: #90ecdc; border: 1px solid rgba(103,220,201,.3); border-radius: 13px; background: rgba(66,213,195,.1); }
.role-grade-access__heading small { color: #ff9aaa; font-size: .52rem; font-weight: 900; letter-spacing: 1.3px; }
.role-grade-access__heading h2 { margin: 3px 0 4px; }
.role-grade-access__heading p { margin: 0; color: #bfb4ca; font-size: .64rem; line-height: 1.45; }
.role-grade-access__form { display: grid; gap: 18px; }
.role-grade-access__list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.role-grade-access__item { display: grid; grid-template-columns: 38px minmax(0,1fr); align-items: center; gap: 11px; min-width: 0; padding: 11px 12px; border: 1px solid rgba(92,218,255,.18); border-radius: 12px; background: rgba(34,21,91,.38); cursor: pointer; }
.role-grade-access__icon { width: 36px; height: 36px; display: grid; place-items: center; color: #8be3d4; border-radius: 10px; background: rgba(66,213,195,.1); font-size: .72rem; }
.role-grade-access__copy { min-width: 0; display: grid; gap: 3px; }
.role-grade-access__copy strong { color: #fff; font-size: .69rem; }
.role-grade-access__copy small { color: #a99fba; font-size: .56rem; line-height: 1.35; }
.role-grade-access__minimum { grid-column: 1 / -1; display: grid; gap: 4px; justify-items: stretch; }
.role-grade-access__minimum > small { color: #ff9aaa; font-size: .45rem; font-weight: 900; letter-spacing: .6px; text-align: center; }
.role-grade-access__minimum select { width: 100%; height: 38px; padding: 0 9px; color: #fff; border: 1px solid rgba(92,218,255,.3); border-radius: 9px; outline: 0; background: rgba(34,21,91,.85); color-scheme: dark; font: 750 .67rem Inter, sans-serif; cursor: pointer; }
.role-grade-access__minimum select:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(37,217,255,.1); }
.role-grade-access__minimum .custom-select__button { height: 38px; padding: 0 9px; border-radius: 9px; font-size: .67rem; font-weight: 750; }
.role-grade-access__minimum .custom-select__menu { min-width: 150px; }
.role-grade-access__minimum .custom-select__option { min-height: 32px; padding: 6px 9px; font-size: .64rem; font-weight: 700; }
.role-grade-access__submit { justify-self: end; padding: 10px 15px; color: #fff; border: 0; border-radius: 999px; background: linear-gradient(110deg, #8b64bd, #e66b8d 58%, #3fb9aa); box-shadow: 0 9px 25px rgba(190,69,104,.22); cursor: pointer; font-size: .64rem; font-weight: 850; }

.content-page { min-height: calc(100vh - 76px); padding: 62px 0 82px; background: radial-gradient(circle at 15% 0, rgba(139,50,232,.14), transparent 34%), radial-gradient(circle at 88% 10%, rgba(241,42,163,.11), transparent 30%), #09040d; }
.content-page__inner { max-width: 1080px; }
.content-page__inner--narrow { max-width: 790px; }
.page-hero { max-width: 680px; margin: 0 auto 38px; text-align: center; }
.page-hero__icon { width: 58px; height: 58px; display: grid; place-items: center; margin: 0 auto 15px; color: #ff7fc8; border: 1px solid rgba(241,42,163,.35); border-radius: 17px; background: rgba(241,42,163,.1); font-size: 1.2rem; }
.page-hero > small { color: #ee55b1; font-size: .65rem; font-weight: 900; letter-spacing: 2.2px; }
.page-hero h1 { margin: 7px 0 10px; font-size: clamp(2rem, 5vw, 3.2rem); line-height: 1; }
.page-hero__title { margin: 7px 0 10px; font-size: clamp(2rem, 5vw, 3.2rem); font-weight: 800; line-height: 1; }
.page-hero__title > :first-child, .page-hero__introduction > :first-child { margin-top: 0; }
.page-hero__title > :last-child, .page-hero__introduction > :last-child { margin-bottom: 0; }
.page-hero__introduction { margin: 0; color: #d1c8eb; font-size: .85rem; line-height: 1.7; }
.page-hero time { display: block; margin-top: 12px; color: #aaa0b5; font-size: .6rem; }
.page-hero p { margin: 0; color: #9e92a6; font-size: .85rem; line-height: 1.7; }
.rules-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.content-card { display: flex; gap: 17px; padding: 22px; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; background: rgba(0,0,0,.54); }
.content-card > b { color: #e849ad; font-size: .7rem; letter-spacing: 1px; }
.content-card h2 { margin: 0 0 8px; font-size: .9rem; }
.content-card p { margin: 0; color: #94899c; font-size: .73rem; line-height: 1.65; }
.rules-empty { padding: 48px 24px; border: 1px solid rgba(103,220,201,.22); border-radius: 18px; background: rgba(35,24,61,.28); text-align: center; }
.rules-empty > i { color: #8ce7d9; font-size: 1.6rem; }
.rules-empty h2 { margin: 14px 0 7px; font-size: 1.1rem; }
.rules-empty p { margin: 0; color: #cfc5d7; font-size: .73rem; }
.rules-managed-content { display: grid; gap: 22px; }
.rules-managed-content > p, .rules-managed-content > div:not(.rules-grid), .rules-managed-content > ul { color: #fff; font-size: .75rem; line-height: 1.75; }
.rules-managed-content > ul { margin: 0; padding-left: 18px; }
.rules-grid--managed { margin: 0; }
.rules-grid--managed .content-card > div { min-width: 0; }
.rules-grid--managed .content-card > div { color: #fff; font-size: .73rem; }
.rules-grid--managed .content-card > div h2 { color: inherit; font-size: 1.23em; }
.rules-grid--managed .content-card > div p { color: inherit; font-size: 1em; }
.rules-grid--managed .content-card > div > :first-child { margin-top: 0; }
.rules-grid--managed .content-card > div > :last-child { margin-bottom: 0; }
.rules-grid--managed .content-card figure { margin: 12px 0; }
.rules-grid--managed .content-card figure img { width: 100%; max-height: 380px; object-fit: contain; border-radius: 12px; }
.rules-section-nav { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; margin-bottom: 30px; }
.rules-section-nav button { min-width: 0; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 15px 17px; color: #fff; border: 1px solid rgba(103,220,201,.22); border-radius: 14px; background: linear-gradient(135deg, rgba(50,35,88,.72), rgba(31,75,83,.5)); font: inherit; text-align: left; cursor: pointer; transition: transform .18s, border-color .18s, background .18s; }
.rules-section-nav button:hover, .rules-section-nav button.is-active { border-color: rgba(255,113,170,.55); background: linear-gradient(135deg, rgba(104,44,100,.76), rgba(31,91,91,.58)); transform: translateY(-2px); }
.rules-section-nav small { color: #ff8fb5; font-size: .57rem; font-weight: 900; }
.rules-section-nav span { min-width: 0; overflow: hidden; font-size: .7rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.rules-section-nav button > i { color: #a99db5; font-size: .58rem; transition: transform .18s; }
.rules-section-nav button.is-active > i { color: #ff9abc; transform: rotate(180deg); }
.rules-section { margin-top: 32px; padding-top: 26px; border-top: 1px solid rgba(103,220,201,.2); scroll-margin-top: 100px; }
.rules-section[hidden] { display: none; }
.rules-section > header { display: flex; align-items: center; margin-bottom: 18px; }
.rules-section > header h2 { margin: 0; font-size: 1.15rem; }
.rules-section__empty { margin: 0; color: #aaa0b5; font-size: .72rem; }
.page-note { margin: 22px 0 0; padding: 15px; color: #aaa0b2; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.035); font-size: .7rem; text-align: center; }
.page-note i { margin-right: 7px; color: #d95aaf; }
.shop-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 17px; }
.shop-card { position: relative; display: flex; flex-direction: column; min-height: 315px; padding: 25px; overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 18px; background: rgba(0,0,0,.57); }
.shop-card--featured { border-color: rgba(241,42,163,.34); box-shadow: 0 18px 45px rgba(224,38,157,.1); }
.shop-card > em { position: absolute; top: 14px; right: -29px; width: 115px; padding: 5px 0; color: #fff; background: #d92a96; font-size: .52rem; font-style: normal; font-weight: 900; text-align: center; transform: rotate(38deg); }
.shop-card > span { width: 49px; height: 49px; display: grid; place-items: center; margin-bottom: 25px; color: #ff77c7; border-radius: 13px; background: rgba(238,42,162,.12); }
.shop-card small { color: #c352a1; font-size: .57rem; font-weight: 900; letter-spacing: 1.5px; }
.shop-card h2 { margin: 7px 0 9px; font-size: 1rem; }
.shop-card p { margin: 0; color: #93889a; font-size: .72rem; line-height: 1.6; }
.shop-card button { height: 40px; margin-top: auto; color: #847b89; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; background: rgba(255,255,255,.035); font-size: .67rem; font-weight: 800; }
.forum-list { display: grid; gap: 12px; }
.forum-row { display: grid; grid-template-columns: 48px 1fr auto 12px; align-items: center; gap: 17px; padding: 18px 21px; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; background: rgba(0,0,0,.56); }
.forum-row > span { width: 46px; height: 46px; display: grid; place-items: center; color: #ed68bc; border-radius: 12px; background: rgba(238,42,162,.1); }
.forum-row h2 { margin: 0 0 5px; font-size: .86rem; }
.forum-row p { margin: 0; color: #918698; font-size: .7rem; }
.forum-row > small { color: #8e818f; font-size: .61rem; }
.forum-row > i { color: #685f6d; font-size: .64rem; }
.forum-chat-page { padding: 34px 0 58px; }
.forum-chat { width: min(calc(100% - 40px), 980px); overflow: hidden; border: 1px solid rgba(97,225,210,.28); border-radius: 22px; background: linear-gradient(145deg, rgba(29,24,82,.92), rgba(42,73,99,.9)); box-shadow: 0 26px 75px rgba(11,5,35,.34), inset 0 1px rgba(255,255,255,.06); }
.forum-chat__topbar { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 22px; border-bottom: 1px solid rgba(97,225,210,.18); background: rgba(17,11,55,.38); }
.forum-chat__topbar strong { display: block; color: #fff; font-size: 1rem; }
.forum-chat__topbar small { display: flex; align-items: center; gap: 7px; margin-top: 5px; color: #b9add3; font-size: .65rem; }
.forum-chat__topbar small span { width: 7px; height: 7px; border-radius: 50%; background: #55e1c9; box-shadow: 0 0 10px rgba(85,225,201,.8); }
.forum-chat__messages { height: min(44vh, 420px); min-height: 300px; padding: 24px; overflow-x: hidden; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(94,220,207,.7) rgba(25,17,67,.45); }
.forum-chat__messages::-webkit-scrollbar { width: 8px; }
.forum-chat__messages::-webkit-scrollbar-track { background: rgba(25,17,67,.45); }
.forum-chat__messages::-webkit-scrollbar-thumb { border-radius: 10px; background: linear-gradient(#59dacb, #ef66ad); }
.forum-chat__empty { height: 100%; display: grid; place-content: center; justify-items: center; gap: 8px; color: #aaa1c4; text-align: center; }
.forum-chat__empty i { margin-bottom: 7px; color: #77ddcf; font-size: 2rem; }
.forum-chat__empty strong { color: #fff; font-size: .9rem; }
.forum-chat__empty span { font-size: .68rem; }
.forum-chat__date-separator { width: 100%; display: flex; align-items: center; justify-content: center; gap: 12px; margin: 8px 0 20px; color: rgba(226,218,238,.64); font-size: .52rem; font-weight: 800; letter-spacing: .7px; text-align: center; }
.forum-chat__date-separator::before, .forum-chat__date-separator::after { width: min(110px, 18%); height: 1px; background: linear-gradient(90deg, transparent, rgba(111,224,211,.3)); content: ""; }
.forum-chat__date-separator::after { background: linear-gradient(90deg, rgba(111,224,211,.3), transparent); }
.forum-chat__date-separator span { padding: 4px 9px; border-radius: 999px; background: rgba(24,17,68,.22); opacity: .78; }
.forum-message { --reply-drag-x: 0px; position: relative; display: flex; align-items: flex-start; gap: 11px; margin-bottom: 18px; touch-action: pan-y; transition: transform .16s ease, filter .2s; }
.forum-message.is-reply-dragging { cursor: grabbing; user-select: none; transform: translateX(var(--reply-drag-x)); transition: none; }
.forum-message.is-reply-dragging::after { position: absolute; top: 50%; left: -39px; width: 29px; height: 29px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: linear-gradient(135deg, #e765aa, #45b9b0); content: "\f3e5"; font-family: "Font Awesome 7 Free"; font-size: .65rem; font-weight: 900; transform: translateY(-50%); }
.forum-message.is-reply-highlighted { filter: drop-shadow(0 0 10px rgba(105,231,215,.75)); }
.forum-message__avatar { position: relative; width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; overflow: hidden; color: #fff; border: 1px solid rgba(104,225,210,.42); border-radius: 50%; background: linear-gradient(135deg, #b85096, #368e94); font-size: .76rem; font-weight: 900; }
.forum-message__content { max-width: min(76%, 680px); }
.forum-message__content header { display: flex; align-items: center; gap: 9px; margin: 0 4px 5px; }
.forum-message__content header strong { color: #fff; font-size: .7rem; }
.forum-message__content time { color: #9b91b7; font-size: .55rem; }
.forum-message__content p { width: fit-content; max-width: 100%; margin: 0; padding: 10px 13px; color: #f6f2ff; border: 1px solid rgba(255,255,255,.09); border-radius: 5px 14px 14px; background: rgba(33,25,84,.74); font-size: .73rem; line-height: 1.55; overflow-wrap: anywhere; white-space: normal; }
.forum-message__content p:empty { display: none; }
.forum-message__link { color: #84f1df; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(132,241,223,.48); text-decoration-thickness: 1px; text-underline-offset: 3px; cursor: pointer; transition: color .18s, text-decoration-color .18s; }
.forum-message__link:hover, .forum-message__link:focus-visible { color: #fff; text-decoration-color: #fff; }
.forum-link-confirmation { width: min(390px, calc(100% - 30px)); padding: 18px; color: #fff; border: 1px solid rgba(101,225,210,.38); border-radius: 17px; outline: 0; background: linear-gradient(145deg, rgba(67,46,91,.96), rgba(39,80,94,.96)); box-shadow: 0 25px 70px rgba(12,6,34,.58); }
.forum-link-confirmation::backdrop { background: rgba(20,12,38,.38); -webkit-backdrop-filter: blur(1px); backdrop-filter: blur(1px); }
.forum-link-confirmation__heading { display: flex; align-items: center; gap: 12px; }
.forum-link-confirmation__heading > span { width: 39px; height: 39px; display: grid; flex: 0 0 39px; place-items: center; color: #8df1df; border: 1px solid rgba(101,225,210,.3); border-radius: 50%; background: rgba(82,206,190,.12); font-size: .72rem; }
.forum-link-confirmation__heading > div { display: grid; gap: 3px; }
.forum-link-confirmation__heading strong { font-size: .83rem; }
.forum-link-confirmation__heading small { color: #c4b9d0; font-size: .59rem; }
.forum-link-confirmation > p { margin: 15px 0 0; padding: 10px 11px; overflow: hidden; color: #9cecdf; border: 1px solid rgba(255,255,255,.1); border-radius: 10px; background: rgba(21,15,61,.43); font-size: .61rem; line-height: 1.45; overflow-wrap: anywhere; }
.forum-link-confirmation__actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 15px; }
.forum-link-confirmation__actions button { min-height: 34px; padding: 7px 13px; color: #e9e1ee; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.055); font: inherit; font-size: .61rem; font-weight: 800; cursor: pointer; }
.forum-link-confirmation__actions button.is-primary { display: inline-flex; align-items: center; gap: 7px; color: #fff; border-color: rgba(101,225,210,.38); background: linear-gradient(110deg, rgba(193,81,154,.9), rgba(54,166,157,.9)); }
.forum-message__image { position: relative; width: min(210px, 100%); display: block; margin-top: 6px; overflow: hidden; border: 1px solid rgba(111,224,211,.24); border-radius: 6px 15px 15px; background: rgba(15,10,49,.45); transition: width .24s ease; }
.forum-message__image.is-expanded { width: min(620px, 100%); }
.forum-message__image img { width: 100%; max-height: 190px; display: block; object-fit: contain; transition: max-height .24s ease; }
.forum-message__image.is-expanded img { max-height: 520px; }
.forum-message__image button { position: absolute; right: 7px; bottom: 7px; width: 27px; height: 27px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.24); border-radius: 50%; background: rgba(20,14,57,.72); box-shadow: 0 4px 12px rgba(0,0,0,.3); cursor: pointer; backdrop-filter: blur(2px); font-size: .57rem; }
.forum-message__image button:hover { border-color: rgba(101,225,210,.72); background: rgba(50,104,114,.88); }
.forum-message__reply { width: min(100%, 430px); display: grid; gap: 3px; margin: 0 0 5px; padding: 7px 10px; overflow: hidden; color: #d8d0e4; border: 0; border-left: 3px solid #68ddcf; border-radius: 4px 10px 10px 4px; background: rgba(19,14,57,.55); font: inherit; text-align: left; cursor: pointer; }
.forum-message__reply strong { color: #82e5d7; font-size: .58rem; }
.forum-message__reply span { overflow: hidden; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
.forum-message__reply:hover { background: rgba(32,24,83,.8); }
.forum-message--own { flex-direction: row-reverse; }
.forum-message--own .forum-message__content header { justify-content: flex-end; }
.forum-message--own .forum-message__reply { margin-left: auto; border-right: 3px solid #f07ab2; border-left: 0; text-align: right; }
.forum-message--own .forum-message__content p { margin-left: auto; border-color: rgba(99,222,207,.24); border-radius: 14px 5px 14px 14px; background: linear-gradient(135deg, rgba(163,68,139,.72), rgba(49,132,139,.75)); }
.forum-message--own .forum-message__image { margin-left: auto; border-radius: 15px 6px 15px 15px; }
.forum-chat__typing { min-height: 43px; display: flex; align-items: center; gap: 12px; padding: 2px 24px 11px; overflow: hidden; }
.forum-chat__typing[hidden] { display: none; }
.forum-reply-preview { display: grid; grid-template-columns: 26px 1fr 30px; align-items: center; gap: 10px; margin: 0 20px 8px; padding: 9px 10px 9px 13px; border-left: 3px solid #68ddcf; border-radius: 5px 12px 12px 5px; background: rgba(24,17,68,.55); }
.forum-reply-preview[hidden] { display: none; }
.forum-reply-preview > i { color: #72e0d2; font-size: .7rem; }
.forum-reply-preview > div { min-width: 0; display: grid; gap: 3px; }
.forum-reply-preview small { color: #aaa0b8; font-size: .53rem; }
.forum-reply-preview small strong { color: #82e5d7; }
.forum-reply-preview span { overflow: hidden; color: #ded7e7; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.forum-reply-preview button { width: 29px; height: 29px; display: grid; place-items: center; color: #cfc7da; border: 0; border-radius: 50%; background: rgba(255,255,255,.06); cursor: pointer; }
.forum-typing-user { display: flex; align-items: flex-end; gap: 5px; animation: forum-typing-appear .18s ease-out both; }
.forum-typing-user__avatar { position: relative; width: 29px; height: 29px; display: grid; flex: 0 0 29px; place-items: center; overflow: hidden; color: #fff; border: 1px solid rgba(102,225,211,.42); border-radius: 50%; background: linear-gradient(135deg, #b85096, #368e94); font-size: .58rem; font-weight: 900; }
.forum-typing-user__bubble { height: 25px; display: flex; align-items: center; gap: 3px; padding: 0 9px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px 12px 12px 4px; background: rgba(33,25,84,.8); }
.forum-typing-user__bubble i { width: 4px; height: 4px; border-radius: 50%; background: #d8d1e8; animation: forum-typing-dot 1s ease-in-out infinite; }
.forum-typing-user__bubble i:nth-child(2) { animation-delay: .15s; }
.forum-typing-user__bubble i:nth-child(3) { animation-delay: .3s; }
@keyframes forum-typing-dot { 0%, 60%, 100% { opacity: .35; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }
@keyframes forum-typing-appear { from { opacity: 0; transform: translateY(4px); } }
.forum-chat__composer { position: relative; display: flex; align-items: flex-end; gap: 10px; margin: 0 20px 18px; padding: 8px 8px 8px 15px; border: 1px solid rgba(102,225,211,.3); border-radius: 16px; background: rgba(24,17,68,.72); }
.forum-chat__composer:focus-within { border-color: #62ddce; box-shadow: 0 0 0 3px rgba(71,213,198,.09); }
.forum-chat__composer textarea { width: 100%; min-height: 38px; max-height: 120px; padding: 9px 70px 7px 0; resize: none; overflow-y: auto; color: #fff; border: 0; outline: 0; background: transparent; font: inherit; font-size: .74rem; line-height: 1.45; }
.forum-chat__composer textarea::placeholder { color: #9187ae; }
.forum-chat__counter { position: absolute; right: 123px; bottom: 17px; color: #89809f; font-size: .52rem; }
.forum-chat__counter b { font-weight: 600; }
.forum-chat__composer button { width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; color: #fff; border: 0; border-radius: 50%; background: linear-gradient(135deg, #e765aa, #45b9b0); box-shadow: 0 5px 15px rgba(220,76,156,.24); cursor: pointer; }
.forum-chat__composer button:disabled { opacity: .55; cursor: wait; }
.forum-chat__composer .forum-chat__send-button, .forum-chat__composer .forum-chat__emoji-button, .forum-chat__composer .forum-chat__image-button { width: 31px; height: 31px; flex-basis: 31px; margin-bottom: 3px; font-size: .62rem; }
.forum-chat__composer .forum-chat__emoji-button, .forum-chat__composer .forum-chat__image-button { color: #8ce7d9; border: 1px solid rgba(101,225,210,.27); background: rgba(52,42,109,.7); box-shadow: none; }
.forum-chat__composer .forum-chat__emoji-button:hover, .forum-chat__composer .forum-chat__emoji-button[aria-expanded="true"], .forum-chat__composer .forum-chat__image-button:hover { color: #fff; border-color: rgba(101,225,210,.6); background: rgba(68,109,132,.75); }
.forum-chat__image-preview { position: absolute; left: 0; bottom: calc(100% + 9px); width: 105px; max-height: 92px; padding: 4px; border: 1px solid rgba(101,225,210,.38); border-radius: 11px; background: rgba(25,18,66,.96); box-shadow: 0 12px 28px rgba(7,4,28,.35); }
.forum-chat__image-preview[hidden] { display: none; }
.forum-chat__image-preview img { width: 100%; max-height: 82px; display: block; border-radius: 8px; object-fit: contain; }
.forum-chat__composer .forum-chat__image-preview button { position: absolute; top: -8px; right: -8px; width: 24px; height: 24px; flex-basis: 24px; color: #fff; background: #d84f8d; box-shadow: 0 4px 12px rgba(0,0,0,.3); font-size: .55rem; }
.forum-emoji-picker { position: absolute; z-index: 38; right: 0; bottom: calc(100% + 9px); width: min(390px, calc(100vw - 38px)); padding: 10px; color: #fff; border: 1px solid rgba(101,225,210,.36); border-radius: 16px; background: linear-gradient(145deg, rgba(31,20,76,.99), rgba(42,76,96,.99)); box-shadow: 0 22px 60px rgba(6,3,24,.58); }
.forum-emoji-picker[hidden], .forum-emoji-picker [hidden] { display: none; }
.forum-emoji-picker > header { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 3px 3px 9px; }
.forum-emoji-picker > header > div { display: grid; gap: 2px; }
.forum-emoji-picker > header strong { font-size: .76rem; }
.forum-emoji-picker > header small { color: #aaa0ba; font-size: .53rem; }
.forum-chat__composer .forum-emoji-picker > header button { width: 27px; height: 27px; flex-basis: 27px; color: #cfc7db; background: rgba(255,255,255,.06); box-shadow: none; font-size: .58rem; }
.forum-emoji-picker__tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 5px; margin-bottom: 8px; padding: 4px; border-radius: 10px; background: rgba(20,14,57,.45); }
.forum-chat__composer .forum-emoji-picker__tabs button { width: 100%; height: 32px; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 0 9px; color: #bdb3c9; border-radius: 8px; background: transparent; box-shadow: none; font-size: .58rem; }
.forum-chat__composer .forum-emoji-picker__tabs button.is-active { color: #fff; background: linear-gradient(100deg, rgba(225,87,140,.4), rgba(66,190,180,.34)); }
.forum-emoji-picker__grid { max-height: 255px; display: grid; grid-template-columns: repeat(8, 1fr); gap: 3px; padding: 4px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: rgba(94,220,207,.7) transparent; }
.forum-emoji-picker__category { grid-column: 1 / -1; padding: 8px 4px 4px; color: #ff9aaa; font-size: .5rem; letter-spacing: .8px; text-transform: uppercase; }
.forum-chat__composer .forum-emoji-picker__grid > button { width: 36px; height: 34px; display: grid; place-items: center; padding: 0; color: #fff; border-radius: 8px; background: transparent; box-shadow: none; font-size: 1.15rem; }
.forum-chat__composer .forum-emoji-picker__grid > button:hover { background: rgba(101,225,210,.13); transform: scale(1.08); }
.forum-emoji-picker__grid--animated { grid-template-columns: repeat(4, 1fr); }
.forum-emoji-picker__recent-empty { grid-column: 1 / -1; display: grid; place-items: center; min-height: 105px; padding: 18px; color: #aaa0ba; font-size: .58rem; line-height: 1.5; text-align: center; }
.forum-chat__composer .forum-emoji-picker__grid--animated > button { width: 100%; height: 62px; align-content: center; gap: 3px; }
.forum-emoji-picker__grid--animated button small { color: #bdb3c9; font-size: .48rem; }
.chat-animated-emoji { display: inline-block; font-size: 1.2em; line-height: 1; transform-origin: center; }
.chat-animated-emoji--wave { animation: chat-emoji-wave 1.1s ease-in-out infinite; transform-origin: 75% 80%; }
.chat-animated-emoji--bounce { animation: chat-emoji-bounce 1s ease-in-out infinite; }
.chat-animated-emoji--pulse { animation: chat-emoji-pulse 1s ease-in-out infinite; }
.chat-animated-emoji--flicker { animation: chat-emoji-flicker .8s ease-in-out infinite alternate; }
.chat-animated-emoji--shake { animation: chat-emoji-shake .65s ease-in-out infinite; }
.chat-animated-emoji--spin { animation: chat-emoji-spin 2s linear infinite; }
.chat-animated-emoji--launch { animation: chat-emoji-launch 1.25s ease-in-out infinite; }
.chat-animated-emoji--music { animation: chat-emoji-music .8s ease-in-out infinite; }
@keyframes chat-emoji-wave { 0%,100% { transform: rotate(0); } 25% { transform: rotate(24deg); } 50% { transform: rotate(-9deg); } 75% { transform: rotate(18deg); } }
@keyframes chat-emoji-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-4px) rotate(5deg); } }
@keyframes chat-emoji-pulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.25); } }
@keyframes chat-emoji-flicker { from { transform: scale(.95) rotate(-2deg); filter: brightness(.95); } to { transform: scale(1.18) rotate(3deg); filter: brightness(1.25); } }
@keyframes chat-emoji-shake { 0%,100% { transform: rotate(0); } 25% { transform: rotate(-9deg); } 75% { transform: rotate(9deg); } }
@keyframes chat-emoji-spin { to { transform: rotate(360deg); } }
@keyframes chat-emoji-launch { 0%,100% { transform: translate(0,0); } 50% { transform: translate(3px,-5px); } }
@keyframes chat-emoji-music { 0%,100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-4px) rotate(8deg); } }
.forum-command-menu { position: absolute; z-index: 35; right: 0; bottom: calc(100% + 9px); left: 0; display: grid; gap: 3px; padding: 7px; overflow: hidden; border: 1px solid rgba(101,225,210,.34); border-radius: 14px; background: linear-gradient(145deg, rgba(31,20,76,.98), rgba(42,76,96,.98)); box-shadow: 0 18px 48px rgba(6,3,24,.5); }
.forum-command-menu[hidden] { display: none; }
.forum-chat__composer .forum-command-menu button[hidden] { display: none; }
.forum-chat__composer .forum-command-menu button { width: 100%; height: auto; min-height: 44px; display: grid; grid-template-columns: 145px 1fr auto; align-items: center; gap: 12px; padding: 8px 11px; color: #eee9f7; border: 0; border-radius: 9px; background: transparent; box-shadow: none; text-align: left; }
.forum-chat__composer .forum-command-menu button:hover, .forum-chat__composer .forum-command-menu button.is-active { background: linear-gradient(90deg, rgba(228,91,162,.2), rgba(72,207,194,.16)); }
.forum-command-menu code { color: #83e6d8; font-family: Consolas, monospace; font-size: .66rem; font-weight: 800; }
.forum-command-menu span { color: #c3b9d3; font-size: .61rem; line-height: 1.35; }
.forum-command-menu kbd { padding: 3px 6px; color: #f4edf8; border: 1px solid rgba(255,255,255,.18); border-radius: 5px; background: rgba(255,255,255,.07); font: inherit; font-size: .5rem; }
.forum-chat__status { min-height: 16px; margin: -11px 25px 10px; color: #ff9aaa; font-size: .61rem; }
.forum-board-separator { width: min(calc(100% - 40px), 980px); height: 70px; display: flex; align-items: center; gap: 15px; color: rgba(115,225,211,.72); }
.forum-board-separator::before, .forum-board-separator::after { height: 1px; flex: 1; background: linear-gradient(90deg, transparent, rgba(112,224,211,.34)); content: ""; }
.forum-board-separator::after { background: linear-gradient(90deg, rgba(112,224,211,.34), transparent); }
.forum-board-separator span { width: 34px; height: 34px; display: grid; flex: 0 0 34px; place-items: center; border: 1px solid rgba(112,224,211,.28); border-radius: 50%; background: rgba(33,25,84,.38); font-size: .67rem; }
.forum-board { width: min(calc(100% - 40px), 980px); }
.forum-board__heading { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 27px; }
.forum-board__heading small { color: #ff9aaa; font-size: .52rem; font-weight: 900; letter-spacing: 1.5px; }
.forum-board__heading h2 { margin: 4px 0 5px; color: #fff; font-size: 1.4rem; }
.forum-board__heading p { margin: 0; color: #bdb3ca; font-size: .67rem; }
.forum-board__heading > button { width: 38px; height: 38px; display: grid; flex: 0 0 38px; place-items: center; color: #fff; border: 1px solid rgba(104,225,210,.4); border-radius: 50%; background: linear-gradient(135deg, rgba(218,82,147,.72), rgba(55,166,159,.75)); box-shadow: 0 8px 24px rgba(28,11,50,.24); cursor: pointer; font-size: .66rem; }
.forum-board__heading > button:hover { transform: translateY(-2px); }
.forum-board__categories { display: grid; gap: 27px; }
.forum-board-category { overflow: hidden; }
.forum-board-category > header { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; padding: 0 2px 12px; border-bottom: 1px solid rgba(110,224,211,.28); }
.forum-board-category__title { display: flex; align-items: center; gap: 11px; }
.forum-board-category__title > span { width: 36px; height: 36px; display: grid; flex: 0 0 36px; place-items: center; color: #8be4d6; border-radius: 50%; background: linear-gradient(135deg, rgba(176,66,138,.4), rgba(46,133,140,.45)); font-size: .65rem; }
.forum-board-category > header small { color: #ff9aaa; font-size: .48rem; font-weight: 900; letter-spacing: 1.2px; }
.forum-board-category > header h3 { margin: 3px 0 2px; color: #fff; font-size: .9rem; }
.forum-board-category > header p { margin: 0; color: #aaa0b9; font-size: .59rem; }
.forum-board-category > header > span { color: #9f95ae; font-size: .54rem; }
.forum-board-category nav { display: grid; }
.forum-board-category nav a { min-width: 0; display: grid; grid-template-columns: 40px minmax(180px,1fr) 70px 80px minmax(130px,.55fr) 12px; align-items: center; gap: 15px; padding: 15px 4px; color: #fff; border-bottom: 1px solid rgba(110,224,211,.16); transition: padding-left .2s, background .2s; }
.forum-board-category nav a:hover { padding-left: 11px; background: linear-gradient(90deg, rgba(222,86,147,.09), transparent); }
.forum-board-category nav a > span { width: 38px; height: 38px; display: grid; place-items: center; color: #8be4d6; border-radius: 50%; background: linear-gradient(135deg, rgba(176,66,138,.4), rgba(46,133,140,.45)); font-size: .68rem; }
.forum-board-category nav a > div { min-width: 0; display: grid; gap: 4px; }
.forum-board-category nav strong { font-size: .7rem; }
.forum-board-category nav small { overflow: hidden; color: #aaa0b8; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.forum-board-page__stat { justify-items: center; text-align: center; }
.forum-board-page__stat small, .forum-board-page__latest small { color: #ff9aaa !important; font-size: .47rem !important; font-weight: 900; letter-spacing: .6px; text-transform: uppercase; }
.forum-board-page__stat strong { color: #e9e2ef; font-size: .67rem !important; }
.forum-board-page__latest { align-content: center; }
.forum-board-page__latest strong { overflow: hidden; color: #e9e2ef; font-size: .62rem !important; text-overflow: ellipsis; white-space: nowrap; }
.forum-board-category nav a > i { color: #71ddd0; font-size: .53rem; }
.forum-board-category__empty { margin: 0; padding: 16px 4px; color: #968ca5; border-bottom: 1px solid rgba(110,224,211,.14); font-size: .59rem; }
.forum-board__empty, .forum-section-page__empty { min-height: 190px; display: grid; place-content: center; justify-items: center; gap: 8px; color: #a99fb7; border-top: 1px solid rgba(110,224,211,.2); border-bottom: 1px solid rgba(110,224,211,.2); text-align: center; }
.forum-board__empty > i, .forum-section-page__empty > i { margin-bottom: 4px; color: #74dfd1; font-size: 1.7rem; }
.forum-board__empty strong { color: #fff; font-size: .78rem; }
.forum-board__empty span, .forum-section-page__empty p { margin: 0; font-size: .6rem; }
.forum-board-dialog { width: min(calc(100% - 28px), 820px); max-height: 88vh; padding: 0; overflow: auto; color: #fff; border: 1px solid rgba(101,225,210,.34); border-radius: 19px; background: linear-gradient(145deg, #25175d, #31566e); box-shadow: 0 28px 90px rgba(5,2,21,.72); scrollbar-width: thin; scrollbar-color: rgba(94,220,207,.7) transparent; }
.forum-board-dialog::backdrop { background: rgba(8,4,25,.68); backdrop-filter: blur(2px); }
.forum-board-dialog__panel { padding: 22px; }
.forum-board-dialog__panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.forum-board-dialog__panel > header small { display: block; margin-bottom: 5px; color: #ff9aaa; font-size: .5rem; font-weight: 900; letter-spacing: 1.4px; }
.forum-board-dialog__panel > header strong { font-size: 1rem; }
.forum-board-dialog__panel > header button { width: 31px; height: 31px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(28,19,75,.55); cursor: pointer; }
.forum-board-dialog__forms { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.forum-board-dialog__forms form { align-content: start; padding: 0 8px; }
.forum-board-dialog__forms form + form { border-left: 1px solid rgba(106,222,209,.2); padding-left: 25px; }
.forum-board-dialog__forms h3 { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; font-size: .76rem; }
.forum-board-dialog__forms h3 i { color: #80e1d4; }
.forum-board-dialog__forms label { display: grid; gap: 6px; }
.forum-board-dialog__forms button { display: inline-flex; align-items: center; gap: 7px; }
.forum-board-dialog__manage { margin-top: 24px; padding-top: 19px; border-top: 1px solid rgba(106,222,209,.22); }
.forum-board-dialog__manage > h3 { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 12px; font-size: .76rem; }
.forum-board-dialog__manage > h3 small { color: #9f94ad; font-size: .5rem; font-weight: 600; }
.forum-board-dialog__manage > section { padding: 9px 0; border-bottom: 1px solid rgba(106,222,209,.14); transition: opacity .16s, background .16s, transform .16s; }
.forum-board-dialog__manage section > header, .forum-board-dialog__manage [data-forum-page-item] { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 34px; }
.forum-board-dialog__pages { min-height: 12px; padding-left: 18px; border-radius: 9px; transition: background .16s, box-shadow .16s; }
.forum-board-dialog__manage [data-forum-page-item] { color: #bdb3c8; font-size: .58rem; transition: opacity .16s, background .16s, transform .16s; }
.forum-board-dialog__local-page { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-left: 18px; color: #bdb3c8; font-size: .58rem; }
.forum-board-dialog__pages .forum-board-dialog__local-page { padding-left: 0; }
.forum-board-dialog__manage [draggable="true"] .forum-board-dialog__edit-target { cursor: grab; }
.forum-board-dialog__manage [draggable="true"] .forum-board-dialog__edit-target:active { cursor: grabbing; }
.forum-board-dialog__manage .is-dragging { opacity: .38; }
.forum-board-dialog__manage > section.is-dragging { transform: scale(.985); }
.forum-board-dialog__manage > section.is-drop-target { background: linear-gradient(90deg, rgba(103,220,201,.12), rgba(232,88,167,.06)); }
.forum-board-dialog__pages.is-drop-target { background: rgba(103,220,201,.08); box-shadow: inset 0 0 0 1px rgba(103,220,201,.24); }
.forum-board-dialog__manage.is-saving { pointer-events: none; opacity: .72; }
.forum-board-dialog__edit-target { min-width: 0; display: flex; align-items: center; gap: 8px; padding: 5px 7px; overflow: hidden; color: #fff; border: 0; border-radius: 8px; background: transparent; cursor: pointer; font: inherit; font-size: .64rem; text-align: left; }
.forum-board-dialog__edit-target > i:first-child { width: 16px; flex: 0 0 16px; color: #76ddd0; text-align: center; }
.forum-board-dialog__edit-target > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.forum-board-dialog__edit-target > i:last-child { margin-left: 3px; color: #a99db6; font-size: .48rem; opacity: 0; transition: opacity .18s; }
.forum-board-dialog__edit-target:hover { background: rgba(103,220,201,.1); }
.forum-board-dialog__edit-target:hover > i:last-child { opacity: 1; }
.forum-board-dialog__manage form button { width: 27px; height: 27px; display: grid; place-items: center; color: #ff9bb3; border: 1px solid rgba(255,123,155,.24); border-radius: 50%; background: rgba(125,42,77,.2); cursor: pointer; font-size: .53rem; }
.forum-board-edit-dialog { width: min(calc(100% - 28px), 500px); max-height: min(88vh, 650px); padding: 0; overflow-x: hidden; overflow-y: auto; color: #fff; border: 1px solid rgba(101,225,210,.34); border-radius: 18px; background: linear-gradient(145deg, #25175d, #31566e); box-shadow: 0 28px 90px rgba(5,2,21,.72); scrollbar-width: thin; scrollbar-color: rgba(94,220,207,.82) rgba(21,15,58,.72); }
.forum-board-edit-dialog::-webkit-scrollbar { width: 8px; }
.forum-board-edit-dialog::-webkit-scrollbar-track { margin-block: 12px; border-radius: 999px; background: rgba(21,15,58,.72); }
.forum-board-edit-dialog::-webkit-scrollbar-thumb { border: 2px solid rgba(21,15,58,.72); border-radius: 999px; background: linear-gradient(180deg, #62dfd0, #e967a9); }
.forum-board-edit-dialog::-webkit-scrollbar-thumb:hover { background: linear-gradient(180deg, #80eee0, #ff7dbc); }
.forum-board-edit-dialog::backdrop { background: rgba(8,4,25,.68); backdrop-filter: blur(2px); }
.forum-board-edit-dialog__panel { gap: 12px; padding: 21px; }
.forum-board-edit-dialog__panel > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 5px; }
.forum-board-edit-dialog__panel > header small { display: block; margin-bottom: 5px; color: #ff9aaa; font-size: .5rem; font-weight: 900; letter-spacing: 1.3px; }
.forum-board-edit-dialog__panel > header strong { font-size: .93rem; }
.forum-board-edit-dialog__panel > header button { width: 30px; height: 30px; display: grid; place-items: center; margin: 0; padding: 0; color: #fff; border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: rgba(28,19,75,.55); box-shadow: none; }
.forum-board-edit-dialog__panel > label { display: grid; gap: 6px; }
.forum-board-edit-dialog__panel > footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 5px; }
.forum-board-edit-dialog__panel > footer button { display: inline-flex; align-items: center; gap: 7px; margin: 0; }
.forum-board-edit-dialog__panel > footer button:first-child { color: #d7cedf; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); box-shadow: none; }
.forum-section-page { padding: 45px 0 70px; }
.forum-section-page__inner { width: min(calc(100% - 40px), 980px); }
.forum-section-page__heading { display: flex; align-items: center; gap: 17px; margin: 25px 0 35px; padding-bottom: 24px; border-bottom: 1px solid rgba(106,222,209,.25); }
.forum-section-page__heading > span { width: 52px; height: 52px; display: grid; flex: 0 0 52px; place-items: center; color: #fff; border-radius: 50%; background: linear-gradient(135deg, rgba(214,80,143,.78), rgba(53,162,157,.8)); }
.forum-section-page__title { min-width: 0; flex: 1; }
.forum-section-page__heading small { color: #ff9aaa; font-size: .52rem; font-weight: 900; letter-spacing: 1.3px; }
.forum-section-page__heading h1 { margin: 4px 0; font-size: 1.6rem; }
.forum-section-page__heading p { margin: 0; color: #bcb2c8; font-size: .67rem; }
.forum-section-page__actions { display: grid; flex: 0 0 auto; justify-items: center; gap: 7px; margin-left: auto; }
.forum-section-page__actions button { min-width: 78px; min-height: 31px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 6px 11px; color: #eae3ef; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(50,40,88,.52); font: inherit; font-size: .58rem; font-weight: 800; cursor: pointer; }
.forum-section-page__actions button i { color: #82e4d7; font-size: .55rem; }
.forum-section-page__actions .forum-section-page__manage { min-width: 36px; width: 36px; height: 36px; padding: 0; color: #fff; border-color: rgba(102,224,210,.38); border-radius: 50%; background: linear-gradient(135deg, rgba(190,76,151,.62), rgba(54,164,158,.66)); box-shadow: 0 7px 18px rgba(20,10,48,.25); }
.forum-section-local-board { display: grid; gap: 25px; }
.forum-section-local-pages { display: grid; }
.forum-section-local-pages > a { min-width: 0; display: grid; grid-template-columns: 40px minmax(180px,1fr) 70px 80px minmax(130px,.55fr) 12px; align-items: center; gap: 15px; padding: 15px 4px; color: #fff; border-bottom: 1px solid rgba(110,224,211,.16); text-decoration: none; transition: background .18s, padding .18s; }
.forum-section-local-pages > a:hover { padding-inline: 9px; background: rgba(96,220,205,.06); }
.forum-section-local-pages > a > span { width: 36px; height: 36px; display: grid; place-items: center; color: #8be4d6; border-radius: 50%; background: linear-gradient(135deg, rgba(176,66,138,.4), rgba(46,133,140,.45)); font-size: .64rem; }
.forum-section-local-pages > a > div { min-width: 0; display: grid; gap: 4px; }
.forum-section-local-pages > a strong { font-size: .7rem; }
.forum-section-local-pages > a small { overflow: hidden; color: #aaa0b8; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.forum-section-local-pages > a > i { color: #71ddd0; font-size: .53rem; }
.forum-chat__login { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; padding: 19px 22px; color: #cfc7e4; border-top: 1px solid rgba(100,221,208,.16); background: rgba(20,14,58,.35); font-size: .7rem; }
.forum-chat__login i { color: #70ddcf; }
.forum-chat__login button { padding: 8px 14px; color: #fff; border: 1px solid rgba(104,224,211,.42); border-radius: 999px; background: rgba(65,59,132,.65); font: inherit; font-weight: 800; cursor: pointer; }
.forum-context-menu { position: fixed; z-index: 1200; width: 215px; display: none; padding: 7px; border: 1px solid rgba(103,224,210,.32); border-radius: 13px; background: rgba(25,18,66,.97); box-shadow: 0 18px 55px rgba(7,3,25,.55), inset 0 1px rgba(255,255,255,.07); backdrop-filter: blur(18px); }
.forum-context-menu.is-open { display: grid; }
.forum-context-menu a, .forum-context-menu button { width: 100%; min-height: 38px; display: flex; align-items: center; gap: 10px; padding: 8px 10px; color: #eee9fb; border: 0; border-radius: 8px; background: transparent; font: inherit; font-size: .67rem; text-align: left; text-decoration: none; cursor: pointer; }
.forum-context-menu a:hover, .forum-context-menu button:hover { color: #fff; background: linear-gradient(90deg, rgba(75,213,199,.16), rgba(232,88,167,.14)); }
.forum-context-menu a i, .forum-context-menu button i { width: 17px; color: #70ddcf; text-align: center; }
.forum-context-menu .forum-context-menu__danger, .forum-context-menu .forum-context-menu__danger i { color: #ff8eae; }
.forum-context-menu [hidden] { display: none; }
.forum-message-dialog { width: min(calc(100% - 30px), 520px); padding: 0; color: #fff; border: 1px solid rgba(101,225,210,.36); border-radius: 18px; background: linear-gradient(145deg, #25175d, #31566e); box-shadow: 0 28px 90px rgba(5,2,21,.7); }
.forum-message-dialog::backdrop { background: rgba(8,4,25,.72); backdrop-filter: blur(5px); }
.forum-message-dialog form { display: grid; gap: 13px; padding: 21px; }
.forum-message-dialog header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.forum-message-dialog header small { display: block; margin-bottom: 5px; color: #ff9aaa; font-size: .52rem; font-weight: 900; letter-spacing: 1.5px; }
.forum-message-dialog header strong { font-size: 1rem; }
.forum-message-dialog header button { width: 32px; height: 32px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(28,19,75,.55); cursor: pointer; }
.forum-message-dialog label { color: #d7d0e8; font-size: .64rem; font-weight: 800; }
.forum-message-dialog textarea { min-height: 130px; padding: 13px; resize: vertical; color: #fff; border: 1px solid rgba(99,223,210,.3); border-radius: 12px; outline: 0; background: rgba(25,17,70,.72); font: inherit; font-size: .73rem; line-height: 1.55; }
.forum-message-dialog textarea:focus { border-color: #65dfd1; box-shadow: 0 0 0 3px rgba(92,223,209,.1); }
.forum-message-dialog__actions { display: flex; justify-content: flex-end; gap: 9px; }
.forum-message-dialog__actions button { min-height: 37px; padding: 8px 14px; color: #fff; border: 1px solid rgba(255,255,255,.16); border-radius: 999px; background: rgba(42,31,100,.7); font: inherit; font-size: .65rem; font-weight: 800; cursor: pointer; }
.forum-message-dialog__actions button[type="submit"] { border-color: rgba(96,224,210,.38); background: linear-gradient(110deg, #a75799, #3aa69f); }
.forum-message-dialog form > p { min-height: 14px; margin: 0; color: #ff9aaa; font-size: .6rem; }
.forum-player-info-dialog { width: min(calc(100% - 30px), 620px); max-height: min(86vh, 760px); padding: 0; overflow: auto; color: #fff; border: 1px solid rgba(101,225,210,.36); border-radius: 18px; background: linear-gradient(145deg, #25175d, #31566e); box-shadow: 0 28px 90px rgba(5,2,21,.7); scrollbar-width: thin; scrollbar-color: rgba(94,220,207,.7) transparent; }
.forum-player-info-dialog::backdrop { background: rgba(8,4,25,.66); backdrop-filter: blur(2px); }
.forum-player-info-dialog__panel { padding: 22px; }
.forum-player-info-dialog header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
.forum-player-info-dialog header small { display: block; margin-bottom: 5px; color: #ff9aaa; font-size: .52rem; font-weight: 900; letter-spacing: 1.5px; }
.forum-player-info-dialog header strong { font-size: 1rem; }
.forum-player-info-dialog header button { width: 32px; height: 32px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: rgba(28,19,75,.55); cursor: pointer; }
.forum-player-info__identity { display: flex; align-items: center; gap: 14px; padding-bottom: 18px; border-bottom: 1px solid rgba(101,225,210,.18); }
.forum-player-info__avatar { position: relative; width: 58px; height: 58px; display: grid; flex: 0 0 58px; place-items: center; overflow: hidden; color: #fff; border: 2px solid rgba(101,225,210,.5); border-radius: 50%; background: linear-gradient(135deg, #b85096, #368e94); font-size: 1.15rem; font-weight: 900; }
.forum-player-info__identity > div { display: grid; gap: 5px; }
.forum-player-info__identity > div strong { font-size: 1rem; }
.forum-player-info__identity > div small { color: #8ce7d9; font-size: .62rem; }
.forum-player-info__details { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 13px 0; }
.forum-player-info__details > div { min-width: 0; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.forum-player-info__details dt { margin-bottom: 4px; color: #a99fb8; font-size: .53rem; font-weight: 800; text-transform: uppercase; }
.forum-player-info__details dd { margin: 0; color: #f1ecf6; font-size: .66rem; overflow-wrap: anywhere; }
.forum-player-info__stats { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 18px 0; }
.forum-player-info__stats > div { display: grid; grid-template-columns: 30px auto 1fr; align-items: center; gap: 8px; padding: 12px; border: 1px solid rgba(101,225,210,.16); border-radius: 12px; background: rgba(24,17,68,.34); }
.forum-player-info__stats i { color: #7ee3d5; }
.forum-player-info__stats strong { font-size: .9rem; }
.forum-player-info__stats span { color: #bdb3c9; font-size: .6rem; }
.forum-player-info__warnings h3 { margin: 0 0 10px; font-size: .75rem; }
.forum-player-info__warnings article { padding: 10px 0; border-top: 1px solid rgba(255,255,255,.09); }
.forum-player-info__warnings article p { margin: 0 0 5px; color: #f0eaf4; font-size: .65rem; line-height: 1.45; }
.forum-player-info__warnings article small { color: #a99fb5; font-size: .53rem; }
.forum-player-info__warnings-empty { margin: 0; padding: 14px; color: #bdb3c9; border-radius: 10px; background: rgba(24,17,68,.3); font-size: .62rem; text-align: center; }
.settings-card { padding: 28px; border: 1px solid rgba(255,255,255,.11); border-radius: 19px; background: rgba(0,0,0,.58); box-shadow: 0 24px 60px rgba(0,0,0,.25); }
.profile-page__inner { width: min(calc(100% - 48px), 850px); }
.profile-summary { display: flex; align-items: center; gap: 32px; min-height: 210px; padding: 34px 40px; border: 1px solid rgba(255,255,255,.11); border-radius: 22px; background: rgba(0,0,0,.58); box-shadow: 0 24px 60px rgba(0,0,0,.28); backdrop-filter: blur(15px); }
.profile-summary__avatar { position: relative; width: 138px; height: 138px; display: grid; flex: 0 0 138px; place-items: center; overflow: hidden; color: #fff; border: 3px solid transparent; border-radius: 50%; background: linear-gradient(#160a24,#160a24) padding-box, linear-gradient(135deg,#9948ed,#fb2ba6) border-box; box-shadow: 0 14px 34px rgba(232,43,164,.22); }
.profile-summary__avatar i { font-size: 2.65rem; }
.profile-summary__avatar > span { font-size: 2.8rem; font-weight: 900; }
.profile-summary__details strong { display: block; color: #fff; font-size: clamp(1.35rem, 4vw, 2rem); font-weight: 900; line-height: 1.2; overflow-wrap: anywhere; }
.profile-summary__details p { margin: 11px 0 0; color: #918697; font-size: .77rem; }
.profile-summary__details time { color: #d6cbd9; font-weight: 700; }
.settings-card { display: grid; grid-template-columns: .85fr 1.15fr; gap: 35px; }
.settings-card h2 { margin: 0 0 9px; font-size: 1rem; }
.settings-card p, .settings-card form > small { margin: 0; color: #918697; font-size: .69rem; line-height: 1.6; }
.settings-categories { border-top: 1px solid rgba(103,220,201,.24); }
.settings-category { display: grid; grid-template-columns: 58px 1fr 14px; align-items: center; gap: 20px; padding: 24px 4px; border-bottom: 1px solid rgba(103,220,201,.24); transition: padding .2s, background .2s; }
.settings-category:hover { padding-left: 13px; background: linear-gradient(90deg, rgba(255,111,145,.1), rgba(66,213,195,.07), transparent); }
.settings-category__icon { width: 52px; height: 52px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(103,220,201,.38); border-radius: 50%; background: linear-gradient(135deg, rgba(255,111,145,.5), rgba(66,213,195,.44)); }
.settings-category__content > small { color: var(--pink); font-size: .57rem; font-weight: 900; letter-spacing: 1.5px; }
.settings-category h2 { margin: 5px 0 15px; font-size: 1rem; }
.settings-category dl { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px 28px; margin: 0; }
.settings-category dl div { min-width: 0; }
.settings-category dt { margin-bottom: 3px; color: #b8adc5; font-size: .6rem; }
.settings-category dd { margin: 0; color: #f5eff7; font-size: .7rem; font-weight: 700; overflow-wrap: anywhere; }
.settings-category__arrow { color: var(--cyan); font-size: .7rem; }
.personal-info-page .page-hero { margin-bottom: 32px; }
.personal-info-form { padding-top: 5px; border-top: 1px solid rgba(103,220,201,.24); }
.avatar-editor { display: grid; grid-template-columns: 112px 1fr; align-items: center; gap: 25px; padding: 26px 0; border-bottom: 1px solid rgba(103,220,201,.24); }
.avatar-editor__preview { position: relative; width: 108px; height: 108px; display: grid; place-items: center; overflow: hidden; color: #fff; border: 3px solid transparent; border-radius: 50%; background: linear-gradient(#49305f,#49305f) padding-box, linear-gradient(135deg,var(--cyan),var(--pink)) border-box; box-shadow: 0 10px 28px rgba(41,25,59,.25); }
.avatar-editor__preview span { font-size: 2rem; font-weight: 900; }
.avatar-editor h2 { margin: 0 0 6px; font-size: 1rem; }
.avatar-editor p { margin: 0 0 13px; color: #cbc1d4; font-size: .68rem; }
.avatar-editor input[type="file"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.avatar-editor__button { position: relative; width: 38px; height: 38px; display: inline-grid; place-items: center; flex: 0 0 38px; padding: 0; color: #fff; border: 1px solid rgba(66,213,195,.35); border-radius: 50%; background: rgba(66,213,195,.09); font-size: .72rem; cursor: pointer; }
.avatar-editor__button::before { content: ""; position: absolute; z-index: 20; bottom: calc(100% + 3px); left: 50%; width: 8px; height: 8px; visibility: hidden; opacity: 0; background: rgba(35,31,57,.96); transform: translateX(-50%) rotate(45deg); transition: opacity .15s, visibility .15s; transition-delay: 0s; }
.avatar-editor__button::after { content: attr(data-tooltip); position: absolute; z-index: 21; bottom: calc(100% + 7px); left: 50%; width: max-content; max-width: 190px; padding: 7px 10px; visibility: hidden; opacity: 0; color: #fff; border: 1px solid rgba(103,220,201,.25); border-radius: 8px; background: rgba(35,31,57,.96); box-shadow: 0 8px 22px rgba(25,15,38,.3); font-size: .62rem; font-weight: 700; line-height: 1.25; white-space: nowrap; pointer-events: none; transform: translate(-50%, -4px); transition: opacity .15s, visibility .15s, transform .15s; transition-delay: 0s; }
.avatar-editor__button:hover::before, .avatar-editor__button:hover::after { visibility: visible; opacity: 1; transition-delay: 2s; }
.avatar-editor__button:hover::after { transform: translate(-50%, -7px); }
.avatar-editor__button:focus-visible::before, .avatar-editor__button:focus-visible::after { visibility: visible; opacity: 1; transition-delay: .15s; }
.avatar-editor__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.avatar-editor__button:disabled { opacity: .38; cursor: not-allowed; }
.avatar-editor__button--delete { color: #ffc2d0; border-color: rgba(255,111,145,.32); background: rgba(255,80,125,.08); }
.avatar-crop-modal { width: min(520px, calc(100% - 28px)); max-height: calc(100vh - 30px); padding: 0; overflow: auto; color: #fff; border: 1px solid rgba(103,220,201,.34); border-radius: 22px; outline: 0; background: linear-gradient(145deg, rgba(76,48,91,.96), rgba(39,78,91,.96)); box-shadow: 0 30px 90px rgba(29,15,43,.55); }
.avatar-crop-modal::backdrop { background: rgba(28,18,43,.56); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px); }
.avatar-crop-modal__panel { padding: 24px; }
.avatar-crop-modal header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.avatar-crop-modal header small { color: var(--pink); font-size: .56rem; font-weight: 900; letter-spacing: 1.5px; }
.avatar-crop-modal h2 { margin: 5px 0 0; font-size: 1.2rem; }
.avatar-crop-modal header > button { width: 32px; height: 32px; display: grid; place-items: center; color: #c8bdcf; border: 0; border-radius: 50%; background: rgba(255,255,255,.06); cursor: pointer; }
.avatar-crop-modal__panel > p { margin: 13px 0 20px; color: #d1c7da; font-size: .68rem; }
.avatar-crop-stage { display: grid; place-items: center; min-height: 310px; border-radius: 18px; background: radial-gradient(circle, rgba(66,213,195,.13), transparent 62%), rgba(29,26,57,.5); user-select: none; }
.avatar-crop-stage__circle { position: relative; width: 270px; height: 270px; overflow: hidden; border: 3px solid var(--cyan); border-radius: 50%; background: #33264c; box-shadow: 0 0 30px rgba(66,213,195,.2); cursor: grab; touch-action: none; }
.avatar-crop-stage__circle.is-dragging { cursor: grabbing; }
.avatar-crop-stage__circle img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.avatar-zoom-label { display: grid; grid-template-columns: 18px 38px 1fr 18px; align-items: center; gap: 8px; margin: 20px 0; color: #ded4e3; font-size: .67rem; font-weight: 800; }
.avatar-zoom-label i { color: var(--cyan); text-align: center; }
.avatar-zoom-label input { width: 100%; accent-color: var(--pink); cursor: pointer; }
.avatar-crop-modal footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 18px; border-top: 1px solid rgba(103,220,201,.2); }
.avatar-crop-modal footer > div { display: flex; gap: 8px; }
.avatar-crop-modal footer button { min-height: 36px; padding: 0 14px; color: #e9e0ed; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; background: rgba(255,255,255,.05); font-size: .66rem; font-weight: 800; cursor: pointer; }
.avatar-crop-modal footer button.is-primary { color: #fff; border-color: transparent; background: linear-gradient(110deg,#8b64bd,#e66b8d 58%,#3fb9aa); }
.personal-info-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 24px; padding: 27px 0 22px; }
.personal-info-fields label { display: block; margin-bottom: 8px; color: #ded5e3; font-size: .67rem; font-weight: 800; }
.personal-info-fields__wide { grid-column: 1 / -1; }
.personal-info-fields__wide > small { display: block; margin-top: 7px; color: #aea3ba; font-size: .6rem; }
.personal-info-field { position: relative; }
.personal-info-field > i:first-child { position: absolute; top: 50%; left: 13px; color: var(--cyan); font-size: .72rem; transform: translateY(-50%); }
.personal-info-field > i:last-child { position: absolute; top: 50%; right: 13px; color: #a79bad; font-size: .62rem; transform: translateY(-50%); }
.personal-info-field input { width: 100%; height: 45px; padding: 0 39px; color: #fff; border: 1px solid rgba(103,220,201,.25); border-radius: 11px; outline: 0; background: rgba(55,42,78,.42); font: inherit; font-size: .73rem; }
.personal-info-field input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(66,213,195,.1); }
.personal-info-field--locked input { color: #c1b6c8; background: rgba(44,38,63,.28); cursor: not-allowed; }
.personal-info-field:not(.personal-info-field--locked) > i:last-child { color: var(--pink); }
.personal-info-field:not(.personal-info-field--locked) input { border-color: rgba(255,111,145,.44); background: rgba(82,49,87,.4); cursor: text; }
.personal-info-actions { display: flex; align-items: center; justify-content: center; gap: 10px; }
.personal-info-submit { width: 42px; height: 42px; display: inline-grid; place-items: center; padding: 0; color: #fff; border: 0; border-radius: 50%; background: linear-gradient(110deg,#8b64bd,#e66b8d 58%,#3fb9aa); font-size: .72rem; cursor: pointer; box-shadow: 0 8px 22px rgba(190,69,104,.2); }
.personal-info-edit { width: 42px; height: 42px; display: inline-grid; place-items: center; padding: 0; color: #fff; border: 1px solid rgba(66,213,195,.34); border-radius: 50%; background: rgba(66,213,195,.08); font-size: .72rem; cursor: pointer; }
.personal-info-edit.is-active { color: #ffd0dc; border-color: rgba(255,111,145,.42); background: rgba(255,111,145,.09); }
.security-page .page-hero { margin-bottom: 30px; }
.security-section { display: grid; grid-template-columns: minmax(210px,.75fr) minmax(300px,1.25fr); gap: 42px; padding: 30px 0; border-top: 1px solid rgba(103,220,201,.24); }
.security-section__intro { display: flex; align-items: flex-start; gap: 14px; }
.security-section__intro > span { width: 43px; height: 43px; display: grid; flex: 0 0 43px; place-items: center; color: #fff; border: 1px solid rgba(66,213,195,.35); border-radius: 50%; background: linear-gradient(135deg,rgba(255,111,145,.42),rgba(66,213,195,.38)); }
.security-section__intro h2 { margin: 3px 0 7px; font-size: .95rem; }
.security-section__intro p { margin: 0; color: #c9bed2; font-size: .67rem; line-height: 1.55; }
.security-form { display: grid; gap: 8px; }
.security-form label, .security-disable label { color: #ded5e3; font-size: .66rem; font-weight: 800; }
.security-form input, .security-disable input { width: 100%; height: 43px; padding: 0 13px; color: #fff; border: 1px solid rgba(103,220,201,.25); border-radius: 10px; outline: 0; background: rgba(55,42,78,.42); font: inherit; font-size: .72rem; }
.security-form input:focus, .security-disable input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(66,213,195,.1); }
.security-form > button, .security-form--code > button { width: fit-content; min-height: 37px; margin-top: 7px; padding: 0 15px; color: #fff; border: 0; border-radius: 999px; background: linear-gradient(110deg,#8b64bd,#e66b8d 58%,#3fb9aa); font-size: .66rem; font-weight: 800; cursor: pointer; }
.security-status { display: inline-block; margin-left: 4px; }
.security-status--on { color: #73e3bd; }
.security-status--off { color: #ff9fb5; }
.two-factor-methods { display: grid; gap: 10px; }
.two-factor-methods form { margin: 0; }
.two-factor-methods button { width: 100%; min-height: 65px; display: grid; grid-template-columns: 35px 1fr 10px; align-items: center; gap: 12px; padding: 10px 13px; color: #fff; border: 1px solid rgba(103,220,201,.22); border-radius: 14px; background: rgba(55,42,78,.25); text-align: left; cursor: pointer; transition: border-color .2s, background .2s; }
.two-factor-methods button:hover { border-color: rgba(255,111,145,.45); background: linear-gradient(90deg,rgba(255,111,145,.1),rgba(66,213,195,.07)); }
.two-factor-methods button > i:first-child { color: var(--cyan); font-size: .9rem; text-align: center; }
.two-factor-methods button > i:last-child { color: #aaa0b5; font-size: .6rem; }
.two-factor-methods button span { display: grid; gap: 4px; }
.two-factor-methods button strong { font-size: .72rem; }
.two-factor-methods button small { color: #bdb2c6; font-size: .59rem; }
.two-factor-setup { min-width: 0; }
.two-factor-setup h3 { margin: 0 0 10px; font-size: .88rem; }
.two-factor-setup p, .two-factor-setup li { color: #c9bed2; font-size: .67rem; line-height: 1.6; }
.two-factor-setup ol { margin: 0 0 15px; padding-left: 18px; }
.two-factor-enrollment { display: grid; grid-template-columns: 190px minmax(0,1fr); gap: 18px; margin: 16px 0 20px; }
.two-factor-enrollment section { min-width: 0; padding: 15px; border: 1px solid rgba(103,220,201,.22); border-radius: 15px; background: rgba(44,36,69,.3); }
.two-factor-enrollment h4 { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: .7rem; }
.two-factor-enrollment h4 i { color: var(--cyan); }
.two-factor-enrollment small { display: block; margin-top: 10px; color: #bfb4c8; font-size: .57rem; line-height: 1.45; }
.two-factor-qr { width: 158px; height: 158px; display: grid; place-items: center; overflow: hidden; padding: 8px; border-radius: 10px; background: #fff; }
.two-factor-qr img, .two-factor-qr canvas { width: 142px !important; height: 142px !important; }
.two-factor-enrollment__manual { display: flex; flex-direction: column; justify-content: center; }
.two-factor-secret { display: flex; align-items: center; gap: 8px; padding: 11px 12px; border: 1px solid rgba(66,213,195,.28); border-radius: 11px; background: rgba(39,31,65,.45); }
.two-factor-secret code { min-width: 0; flex: 1; color: #8af0df; font-size: .76rem; font-weight: 800; letter-spacing: 1px; overflow-wrap: anywhere; }
.two-factor-secret button { width: 32px; height: 32px; display: grid; place-items: center; color: #fff; border: 0; border-radius: 50%; background: rgba(255,255,255,.08); cursor: pointer; }
.two-factor-uri { margin: 8px 0 14px !important; font-size: .59rem !important; }
.security-form--code { max-width: 330px; }
.security-cancel { margin-top: 9px; }
.security-cancel button { padding: 5px 0; color: #bdb2c5; border: 0; background: transparent; font-size: .62rem; cursor: pointer; }
.security-disable { display: grid; gap: 8px; }
.security-disable > div { display: flex; align-items: center; gap: 8px; }
.security-disable button { min-height: 40px; flex: 0 0 auto; padding: 0 14px; color: #ffc2d0; border: 1px solid rgba(255,111,145,.35); border-radius: 999px; background: rgba(255,111,145,.08); font-size: .64rem; font-weight: 800; cursor: pointer; }
.legal-page { max-width: 850px; }
.legal-page__actions { display: flex; justify-content: flex-end; margin-bottom: 12px; }
.legal-page__actions a { width: 38px; height: 38px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(103,220,201,.34); border-radius: 50%; background: linear-gradient(135deg, rgba(213,84,139,.48), rgba(66,188,171,.4)); }
.legal-page__actions a:hover { border-color: rgba(140,231,217,.72); transform: translateY(-2px); }
.legal-page__intro { margin-bottom: 38px; }
.legal-page__intro small { color: #ff9aaa; font-size: .64rem; font-weight: 900; letter-spacing: 2px; }
.legal-page__intro h1, .legal-page__title { margin: 7px 0 10px; font-size: clamp(2rem, 5vw, 3.1rem); font-weight: 800; line-height: 1.1; }
.legal-page__title > :first-child, .legal-page__summary > :first-child { margin-top: 0; }
.legal-page__title > :last-child, .legal-page__summary > :last-child { margin-bottom: 0; }
.legal-page__intro p, .legal-page__summary { max-width: 700px; margin: 0; color: #d1c8df; font-size: .78rem; line-height: 1.7; }
.legal-page__intro time { display: block; margin-top: 13px; color: #aaa0b5; font-size: .6rem; }
.legal-content { counter-reset: legal-section; }
.legal-content section { position: relative; padding: 25px 0 25px 35px; border-top: 1px solid rgba(107,220,201,.24); }
.legal-content section::before { counter-increment: legal-section; content: counter(legal-section, decimal-leading-zero); position: absolute; top: 28px; left: 0; color: #ff9aaa; font-size: .62rem; font-weight: 900; }
.legal-content h2 { margin: 0 0 11px; font-size: .93rem; }
.legal-content p, .legal-content li { color: #d2c9df; font-size: .72rem; line-height: 1.75; }
.legal-content p { margin: 8px 0; }
.legal-content ul { margin: 8px 0; padding-left: 18px; }
.legal-content a { color: #91e4d5; text-decoration: underline; text-underline-offset: 3px; }
.legal-content--managed { max-width: 760px; padding-top: 4px; }
.legal-content--managed p, .legal-content--managed li, .legal-content--managed li::marker { color: #fff; }
.legal-content--managed ul, .legal-content--managed ol, .blog-article__content ul, .blog-article__content ol { margin: 0; padding-left: 0; list-style-position: inside; }
.legal-content--managed li, .blog-article__content li { margin: 0; padding-left: 0; }
.legal-content--managed li::marker, .blog-article__content li::marker { font-size: inherit; }
.legal-content--managed ul + p, .legal-content--managed ul + div, .legal-content--managed ol + p, .legal-content--managed ol + div, .blog-article__content ul + p, .blog-article__content ul + div, .blog-article__content ol + p, .blog-article__content ol + div { margin-top: 0; margin-left: 0; }
.legal-content--managed h2 { margin: 28px 0 11px; padding-top: 24px; border-top: 1px solid rgba(107,220,201,.24); font-size: 1.05rem; }
.legal-content--managed h2:first-child { margin-top: 0; }
.legal-content--managed h3 { margin: 22px 0 9px; font-size: .88rem; }
.legal-content--managed figure { margin: 24px 0; }
.legal-content--managed figure img { width: 100%; max-height: 620px; object-fit: contain; border-radius: 18px; }
.blog-article__content li, .blog-article__content li::marker { color: #fff; }
.legal-placeholder { display: inline-block; padding: 2px 7px; color: #ffe2a4; border-radius: 999px; background: rgba(255,188,74,.12); font-weight: 800; }
.reset-page { max-width: 620px; }
.reset-form { display: grid; gap: 10px; padding-top: 24px; border-top: 1px solid rgba(103,220,201,.24); }
.reset-form label { color: #ded3e1; font-size: .7rem; font-weight: 750; }
.reset-form input { width: 100%; height: 44px; padding: 0 13px; color: #fff; border: 1px solid rgba(103,220,201,.25); border-radius: 10px; outline: 0; background: rgba(53,39,83,.6); font: inherit; font-size: .76rem; }
.reset-form input:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(66,213,195,.11); }
.reset-form button { width: fit-content; height: 37px; margin-top: 7px; padding: 0 17px; color: #fff; border: 0; border-radius: 999px; background: linear-gradient(110deg, #8b64bd, #e66b8d 58%, #3fb9aa); font-size: .67rem; font-weight: 800; cursor: pointer; }
.reset-page__expired { padding: 30px 0; border-top: 1px solid rgba(103,220,201,.24); text-align: center; }
.reset-page__expired > i { color: #ff9aaa; font-size: 1.6rem; }
.reset-page__expired p { color: #d6ccd9; font-size: .76rem; }
.reset-page__expired a { color: #91e4d5; font-size: .68rem; }

/* Palette synthwave années 80 */
.image-home { background: linear-gradient(135deg, #35116c, #153d83); }
.content-page, .admin-page { position: relative; isolation: isolate; background: transparent; }
.content-page::before, .admin-page::before { display: none; content: none; }
.page-hero h1, .admin-page__heading h1 { text-shadow: 0 0 22px rgba(255,111,145,.25); }
.page-hero__icon, .admin-page__heading > span { color: #fff; border-color: rgba(103,220,199,.42); background: linear-gradient(135deg, rgba(255,111,145,.55), rgba(65,178,166,.5)); box-shadow: 0 0 22px rgba(255,111,145,.15); }
.content-card, .shop-card, .forum-row, .profile-summary, .settings-card, .admin-card { border-color: rgba(119,220,201,.24); background: linear-gradient(145deg, rgba(111,58,103,.72), rgba(44,91,103,.7)); box-shadow: 0 20px 55px rgba(48,26,56,.2), inset 0 1px rgba(255,255,255,.06); }
.content-card:hover, .shop-card:hover, .forum-row:hover { border-color: rgba(255,84,190,.48); box-shadow: 0 18px 48px rgba(255,48,172,.13), 0 0 28px rgba(37,217,255,.1); }
.content-card p, .shop-card p, .forum-row p, .page-hero p, .admin-page__heading p, .profile-summary__details p, .settings-card p, .settings-card form > small { color: #d1c8eb; }
.content-card > b, .shop-card small, .page-hero > small, .admin-page__heading small { color: #ff9aaa; text-shadow: 0 0 12px rgba(255,111,145,.3); }
.shop-card > span, .forum-row > span { color: #fff; background: linear-gradient(135deg, rgba(255,111,145,.6), rgba(65,181,166,.55)); box-shadow: 0 0 18px rgba(70,202,184,.1); }
.forum-row > small { color: #9ce8d9; }
.page-note, .admin-alert { background: rgba(34,31,102,.63); }
.admin-form input[type="text"], .admin-form input[type="number"], .admin-form select, .admin-form textarea { border-color: rgba(92,218,255,.28); background: rgba(34,21,91,.8); }
.login-form__field input { border-color: rgba(91,218,255,.26); background: rgba(33,23,91,.55); }
.login-form__field input:focus, .admin-form input:focus, .admin-form select:focus { border-color: var(--cyan); box-shadow: 0 0 0 3px rgba(37,217,255,.12), 0 0 18px rgba(37,217,255,.12); }
.account-profile__menu { border-color: rgba(67,221,255,.2); }
.account-profile__menu a:hover, .account-profile__menu a:focus-visible { border-color: rgba(72,221,255,.35); background: linear-gradient(90deg, rgba(255,62,181,.16), rgba(37,217,255,.13)); }
.profile-summary__avatar, .account-profile__avatar { background: linear-gradient(#34206e,#34206e) padding-box, linear-gradient(135deg,#25d9ff,#ff3eb5) border-box; box-shadow: 0 0 28px rgba(37,217,255,.18), 0 14px 34px rgba(255,62,181,.2); }
.profile-data div { background: rgba(35,24,91,.82); }
.role-list button { border-color: rgba(66,218,255,.24); background: rgba(38,31,103,.58); }
.login-form__submit, .admin-form button, .profile-card__settings { background: linear-gradient(110deg, #8b64bd, #e66b8d 58%, #3fb9aa); box-shadow: 0 9px 25px rgba(190,69,104,.22); }
.btn--login { background: linear-gradient(#49305f,#49305f) padding-box, linear-gradient(135deg,#42d5c3,#ff6f91) border-box; box-shadow: 0 0 17px rgba(66,213,195,.14), 0 5px 18px rgba(255,111,145,.16); }
.verification-code input { border-color: rgba(88,222,255,.42); }
.verification-code input:focus { border-color: var(--cyan); box-shadow: 0 8px 13px -9px var(--cyan); }
.verification-code input:valid { border-color: var(--pink); }

/* Mise en page ouverte, sans accumulation de cartes carrées */
.page-hero__icon, .admin-page__heading > span, .shop-card > span, .forum-row > span { border-radius: 50%; }
.rules-grid { gap: 0 44px; }
.content-card { position: relative; padding: 25px 4px 25px 24px; border: 0; border-bottom: 1px solid rgba(87,222,255,.27); border-radius: 0; background: transparent; box-shadow: none; }
.content-card::before { content: ""; position: absolute; top: 26px; bottom: 26px; left: 0; width: 3px; border-radius: 9px; background: linear-gradient(var(--cyan), var(--pink)); box-shadow: 0 0 13px rgba(37,217,255,.45); }
.content-card:hover { border-color: rgba(255,84,190,.45); background: linear-gradient(90deg, rgba(62,217,255,.07), transparent); box-shadow: none; }
.shop-grid { gap: 0; }
.shop-card { min-height: 295px; padding: 28px 32px; border: 0; border-right: 1px solid rgba(80,220,255,.25); border-radius: 0; background: transparent; box-shadow: none; }
.shop-card:last-child { border-right: 0; }
.shop-card--featured { border-color: rgba(255,80,187,.35); box-shadow: none; background: linear-gradient(180deg, rgba(255,62,181,.08), transparent); }
.shop-card:hover { border-color: rgba(80,220,255,.25); background: linear-gradient(180deg, rgba(37,217,255,.08), transparent); box-shadow: none; }
.shop-card button { border-radius: 999px; border-color: rgba(87,222,255,.22); background: rgba(42,42,117,.38); }
.forum-list { gap: 0; }
.forum-row { padding: 22px 8px; border: 0; border-bottom: 1px solid rgba(82,220,255,.25); border-radius: 0; background: transparent; box-shadow: none; }
.forum-row:first-child { border-top: 1px solid rgba(82,220,255,.25); }
.forum-row:hover { padding-left: 17px; border-color: rgba(255,77,185,.42); background: linear-gradient(90deg, rgba(255,62,181,.1), rgba(37,217,255,.07), transparent); box-shadow: none; transition: padding-left .2s, background .2s; }
.profile-summary { padding-inline: 10px; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.settings-card, .admin-card { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.settings-card { padding: 10px 0; }
.admin-card { padding: 12px 8px; }
.admin-grid { gap: 55px; }
.page-note { border: 0; border-radius: 999px; background: rgba(38,44,121,.55); }
.admin-alert { border-radius: 999px; }

.site-footer { position: relative; color: #e0d5df; border-top: 0; background: linear-gradient(180deg, rgba(37,40,71,.03), rgba(37,40,71,.22)); box-shadow: none; }
.footer__top { padding-top: 50px; padding-bottom: 45px; border-top: 1px solid rgba(83,220,255,.2); }
.footer__links { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(170px, 230px)); justify-content: start; gap: 80px; margin: 0; }
.footer__links h2 { margin: 0 0 17px; color: #fff; font-size: .79rem; }
.footer__links a { display: block; width: fit-content; margin: 9px 0; color: #c3b8d5; font-size: .74rem; transition: color .2s; }
.footer__links a:hover { color: var(--pink); }
.footer__links .footer__social { display: flex; align-items: center; gap: 9px; }
.footer__social i { width: 15px; color: #e8dff0; font-size: .78rem; text-align: center; transition: color .2s, transform .2s; }
.footer__social:hover i { color: var(--cyan); transform: scale(1.1); }
.footer__bottom { min-height: 67px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid rgba(83,220,255,.2); color: #a99fbd; font-size: .66rem; }
.footer__bottom p { margin: 0; }
.footer__bottom div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 25px; }
.footer__bottom a:hover { color: #fff; }
.footer__cookie-button { padding: 0; color: inherit; border: 0; background: transparent; font: inherit; cursor: pointer; }
.footer__cookie-button:hover { color: #fff; }

.cookie-consent__banner { position: fixed; z-index: 1300; right: 24px; bottom: 24px; left: 24px; width: min(calc(100% - 48px), 1040px); display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 18px; margin: 0 auto; padding: 18px; color: #fff; border: 1px solid rgba(100,225,211,.4); border-radius: 18px; background: linear-gradient(135deg, rgba(31,21,78,.98), rgba(61,47,91,.98) 55%, rgba(41,89,101,.98)); box-shadow: 0 24px 80px rgba(7,3,27,.68), 0 0 32px rgba(70,216,202,.11); backdrop-filter: blur(20px); }
.cookie-consent__banner[hidden] { display: none; }
.cookie-consent__icon { width: 48px; height: 48px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; background: linear-gradient(135deg, #d45d9f, #3aa99f); box-shadow: 0 0 20px rgba(222,82,157,.2); font-size: 1.05rem; }
.cookie-consent__copy h2 { margin: 0 0 6px; font-size: .9rem; }
.cookie-consent__copy p { max-width: 650px; margin: 0; color: #d6cfe5; font-size: .66rem; line-height: 1.55; }
.cookie-consent__copy a { display: inline-block; margin-top: 6px; color: #87e5d8; font-size: .59rem; text-decoration: underline; text-underline-offset: 3px; }
.cookie-consent__actions { display: grid; grid-template-columns: repeat(3, minmax(112px, 1fr)); gap: 8px; }
.cookie-consent__actions button { min-height: 39px; padding: 8px 12px; color: #fff; border: 1px solid rgba(100,224,211,.34); border-radius: 999px; background: rgba(45,36,103,.72); font: inherit; font-size: .61rem; font-weight: 800; cursor: pointer; transition: border-color .2s, background .2s, transform .2s; }
.cookie-consent__actions button:hover { border-color: rgba(255,255,255,.65); background: linear-gradient(110deg, rgba(184,74,147,.75), rgba(51,154,149,.75)); transform: translateY(-1px); }
.cookie-consent__actions button:disabled { opacity: .55; cursor: wait; transform: none; }
.cookie-consent__status { grid-column: 2 / -1; min-height: 0; margin: -9px 0 0; color: #ff9aaa; font-size: .58rem; }
.cookie-settings { width: min(calc(100% - 28px), 630px); max-height: min(88vh, 720px); padding: 0; overflow: auto; color: #fff; border: 1px solid rgba(100,225,211,.4); border-radius: 20px; background: linear-gradient(145deg, #28195f, #36596e); box-shadow: 0 30px 100px rgba(5,2,20,.75); }
.cookie-settings::backdrop { background: rgba(8,4,25,.74); backdrop-filter: blur(6px); }
.cookie-settings form { display: grid; gap: 17px; padding: 24px; }
.cookie-settings header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.cookie-settings header small { display: block; margin-bottom: 4px; color: #ff9aaa; font-size: .53rem; font-weight: 900; letter-spacing: 1.5px; }
.cookie-settings header h2 { margin: 0; font-size: 1.18rem; }
.cookie-settings header button { width: 34px; height: 34px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; background: rgba(28,18,73,.55); cursor: pointer; }
.cookie-settings__intro { margin: 0; color: #d2cae2; font-size: .68rem; line-height: 1.6; }
.cookie-settings__list { display: grid; gap: 9px; }
.cookie-setting { display: grid; grid-template-columns: 38px 1fr 43px; align-items: center; gap: 12px; padding: 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 13px; background: rgba(28,20,75,.48); cursor: pointer; }
.cookie-setting > span:first-child { width: 36px; height: 36px; display: grid; place-items: center; color: #75e1d3; border-radius: 10px; background: rgba(79,202,190,.1); }
.cookie-setting strong, .cookie-setting small { display: block; }
.cookie-setting strong { margin-bottom: 4px; font-size: .7rem; }
.cookie-setting small { color: #aaa1c2; font-size: .58rem; line-height: 1.45; }
.cookie-setting input { position: absolute; opacity: 0; pointer-events: none; }
.cookie-setting > i { position: relative; width: 41px; height: 23px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: rgba(20,14,57,.7); transition: background .2s, border-color .2s; }
.cookie-setting > i::after { content: ""; position: absolute; top: 3px; left: 3px; width: 15px; height: 15px; border-radius: 50%; background: #a9a0bd; transition: left .2s, background .2s; }
.cookie-setting input:checked + i { border-color: rgba(92,224,208,.58); background: rgba(50,167,158,.58); }
.cookie-setting input:checked + i::after { left: 21px; background: #fff; }
.cookie-setting input:disabled + i { opacity: .7; }
.cookie-settings__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.cookie-settings__actions button { min-height: 41px; padding: 9px 14px; color: #fff; border: 1px solid rgba(99,224,210,.34); border-radius: 999px; background: rgba(43,34,101,.72); font: inherit; font-size: .64rem; font-weight: 800; cursor: pointer; }
.cookie-settings__actions button[type="submit"] { background: linear-gradient(110deg, #ac5797, #3ca99f); }
.cookie-settings__actions button:disabled { opacity: .55; cursor: wait; }
.cookie-settings__status { min-height: 14px; margin: -8px 0 0; color: #ff9aaa; font-size: .59rem; }

@media (max-width: 850px) {
    .cookie-consent__banner { grid-template-columns: 44px 1fr; }
    .cookie-consent__icon { width: 42px; height: 42px; }
    .cookie-consent__actions { grid-column: 1 / -1; }
    .cookie-consent__status { grid-column: 1 / -1; }
    body { padding-top: 68px; }
    body.maintenance-layout { padding-top: 0; }
    .site-header--maintenance .navbar { height: 68px; padding-right: 14px; }
    .container { width: min(calc(100% - 28px), var(--container)); }
    .navbar { height: 68px; }
    .brand { width: 75px; height: 62px; }
    .brand img { width: 76px; height: 76px; }
    .navbar__actions { order: 2; margin-left: auto; }
    .nav-toggle { display: block; order: 3; margin-left: 0; }
    .main-nav { position: fixed; top: 82px; right: 14px; left: 14px; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 12px; visibility: hidden; opacity: 0; border: 1px solid rgba(96,215,196,.3); border-radius: 15px; background: linear-gradient(145deg, rgba(91,48,99,.97), rgba(39,82,96,.97)); box-shadow: 0 30px 55px rgba(48,23,57,.34); transform: translateY(-12px); transition: .2s ease; backdrop-filter: blur(16px); }
    .main-nav.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
    .main-nav a { padding: 13px 15px; border-radius: 8px; }
    .main-nav a.is-active { background: rgba(255,255,255,.06); }
    .main-nav a.is-active::after { display: none; }
    .main-nav__dropdown { width: 100%; }
    .main-nav__dropdown-toggle { width: 100%; justify-content: space-between; padding: 13px 15px; border-radius: 8px; text-align: left; }
    .main-nav__dropdown.is-active .main-nav__dropdown-toggle { background: rgba(255,255,255,.06); }
    .main-nav__dropdown.is-active .main-nav__dropdown-toggle::after { display: none; }
    .main-nav__submenu { position: static; width: auto; margin: 3px 5px 5px 18px; padding: 4px; display: none; visibility: visible; opacity: 1; border-radius: 9px; background: rgba(22,14,48,.34); box-shadow: none; transform: none; transition: none; }
    .main-nav__dropdown.is-open .main-nav__submenu { display: block; transform: none; }
    .main-nav__submenu a { min-height: 35px; padding: 0 10px; }
    .navbar__actions .btn--ghost { display: none; }
    .admin-grid { grid-template-columns: 1fr; }
    .roles-access-layout { grid-template-columns: 1fr; }
    .admin-blog-layout { grid-template-columns: 1fr; }
    .admin-blog-meta { grid-template-columns: 1fr 1fr; }
    .admin-blog-meta > div:last-child { grid-column: 1 / -1; }
    .admin-blog-lists { grid-template-columns: 1fr; gap: 38px; }
    .admin-categories { grid-template-columns: 1fr; gap: 36px; }
    .maintenance-timer-admin__active { grid-template-columns: 1fr 1fr; }
    .maintenance-timer-admin__active form { grid-column: 1 / -1; }
    .maintenance-page-picker { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .admin-category--platform { padding: 32px 0 0; border-top: 1px solid rgba(103,220,201,.22); border-left: 0; }
    .admin-tools { grid-template-columns: 1fr; }
    .shop-grid { grid-template-columns: 1fr; }
    .shop-card { border-right: 0; border-bottom: 1px solid rgba(80,220,255,.25); }
    .shop-card:last-child { border-bottom: 0; }
    .settings-card { grid-template-columns: 1fr; }
    .security-section { grid-template-columns: 1fr; gap: 22px; }
    .two-factor-enrollment { grid-template-columns: 1fr; }
    .two-factor-enrollment__qr { display: grid; justify-items: center; }
    .devblog-slide { grid-template-columns: minmax(210px, 35%) 1fr; gap: 28px; }
    .devblog-page { grid-template-columns: repeat(2, 1fr); gap: 22px 0; }
    .devblog-card:nth-child(2) { border-right: 0; }
    .blog-archive__item { grid-template-columns: 145px 1fr; }
}

@media (max-width: 560px) {
    .cookie-consent__banner { right: 10px; bottom: 10px; left: 10px; width: calc(100% - 20px); grid-template-columns: 38px 1fr; gap: 12px; padding: 14px; border-radius: 15px; }
    .cookie-consent__icon { width: 38px; height: 38px; font-size: .88rem; }
    .cookie-consent__copy h2 { font-size: .8rem; }
    .cookie-consent__copy p { font-size: .6rem; }
    .cookie-consent__actions { grid-template-columns: 1fr; }
    .cookie-consent__actions button { min-height: 37px; }
    .cookie-settings form { padding: 18px 14px; }
    .cookie-setting { grid-template-columns: 34px 1fr 41px; gap: 9px; padding: 11px 9px; }
    .cookie-setting > span:first-child { width: 32px; height: 32px; }
    .cookie-settings__actions { grid-template-columns: 1fr; }
    .forum-chat-page { padding: 20px 0 35px; }
    .forum-chat { width: min(calc(100% - 20px), 980px); border-radius: 16px; }
    .forum-chat__messages { height: 42vh; min-height: 280px; padding: 18px 13px; }
    .forum-message__content { max-width: 82%; }
    .forum-message__avatar { width: 32px; height: 32px; flex-basis: 32px; }
    .forum-message__content header { align-items: flex-start; flex-direction: column; gap: 2px; }
    .forum-message--own .forum-message__content header { align-items: flex-end; }
    .forum-chat__composer { margin-inline: 10px; }
    .forum-reply-preview { margin-inline: 10px; }
    .forum-chat__composer .forum-command-menu button { grid-template-columns: 118px 1fr; }
    .forum-command-menu kbd { display: none; }
    .forum-player-info__details { grid-template-columns: 1fr; }
    .forum-player-info-dialog__panel { padding: 18px 14px; }
    .forum-board-separator { height: 52px; }
    .forum-board__heading { align-items: flex-start; }
    .forum-board-category nav { grid-template-columns: 1fr; }
    .forum-board-category nav a, .forum-section-local-pages > a { grid-template-columns: 38px 52px 62px minmax(82px,1fr) 12px; grid-template-rows: auto auto; gap: 9px 8px; padding-block: 13px; }
    .forum-board-category nav a > span, .forum-section-local-pages > a > span { grid-column: 1; grid-row: 1; }
    .forum-board-page__info { grid-column: 2 / 5; grid-row: 1; }
    .forum-board-page__stat { display: grid !important; grid-row: 2; justify-items: start; text-align: left; }
    .forum-board-page__stat:nth-of-type(2) { grid-column: 2; }
    .forum-board-page__stat:nth-of-type(3) { grid-column: 3; }
    .forum-board-page__latest { display: grid !important; grid-column: 4 / 6; grid-row: 2; }
    .forum-board-category nav a > i, .forum-section-local-pages > a > i { grid-column: 5; grid-row: 1; }
    .forum-board-dialog__panel { padding: 18px 13px; }
    .forum-board-dialog__forms { grid-template-columns: 1fr; gap: 22px; }
    .forum-board-dialog__forms form { padding: 0; }
    .forum-board-dialog__forms form + form { padding: 22px 0 0; border-top: 1px solid rgba(106,222,209,.2); border-left: 0; }
    .forum-section-page__heading { align-items: flex-start; }
    .forum-chat__typing { flex-wrap: wrap; gap: 7px 9px; padding-inline: 13px; overflow: visible; }
    .forum-typing-user__avatar { width: 26px; height: 26px; flex-basis: 26px; }
    .forum-typing-user__bubble { height: 23px; padding-inline: 7px; }
    .forum-chat__login { flex-wrap: wrap; }
    .image-home__actions { bottom: 3%; }
    .image-home__download { min-height: 35px; gap: 7px; padding: 4px 10px 4px 4px; font-size: .56rem; }
    .image-home__download > span { width: 27px; height: 27px; flex-basis: 27px; font-size: .64rem; }
    .image-home__download:hover { transform: translateY(-2px); }
    .notification-center { right: 14px; bottom: 14px; }
    .account-popup { position: fixed; top: 78px; right: 14px; left: 14px; width: auto; transform-origin: top center; }
    .account-popup--profile { right: 14px; left: auto; width: 250px; }
    .account-popup__arrow { right: 65px; }
    .footer__top { padding-top: 45px; padding-bottom: 36px; }
    .footer__links { grid-template-columns: 1fr 1fr; gap: 25px; }
    .footer__bottom { min-height: 0; align-items: flex-start; flex-direction: column; padding: 20px 0; }
    .rules-grid { grid-template-columns: 1fr; }
    .forum-row { grid-template-columns: 42px 1fr 10px; gap: 12px; }
    .forum-row > small { display: none; }
    .profile-page__inner { width: min(calc(100% - 28px), 850px); }
    .profile-summary { align-items: center; flex-direction: column; gap: 21px; padding: 30px 22px; text-align: center; }
    .profile-summary__avatar { width: 118px; height: 118px; flex-basis: 118px; }
    .settings-category { grid-template-columns: 48px 1fr 10px; gap: 14px; }
    .settings-category__icon { width: 44px; height: 44px; }
    .settings-category dl { grid-template-columns: 1fr; }
    .avatar-editor { grid-template-columns: 86px 1fr; gap: 17px; }
    .avatar-editor__preview { width: 82px; height: 82px; }
    .personal-info-fields { grid-template-columns: 1fr; }
    .personal-info-fields__wide { grid-column: auto; }
    .security-disable > div { align-items: stretch; flex-direction: column; }
    .avatar-crop-modal__panel { padding: 19px; }
    .avatar-crop-stage { min-height: 260px; }
    .avatar-crop-stage__circle { width: 220px; height: 220px; }
    .avatar-crop-modal footer { align-items: stretch; flex-direction: column; }
    .avatar-crop-modal footer > div { justify-content: flex-end; }
    .admin-hub > a { grid-template-columns: 44px 1fr 12px; gap: 14px; }
    .admin-hub > a > span { width: 36px; height: 36px; }
    .admin-hub strong { display: none; }
    .admin-form__columns { grid-template-columns: 1fr; }
    .role-grade-access__list { grid-template-columns: 1fr; }
    .role-grade-access__item { grid-template-columns: 34px minmax(0,1fr) minmax(105px,125px); padding-inline: 9px; }
    .role-grade-access__minimum { grid-column: auto; }
    .role-grade-access__icon { width: 33px; height: 33px; }
    .admin-blog-meta { grid-template-columns: 1fr; }
    .admin-blog-meta > div:last-child { grid-column: auto; }
    .admin-blog-editor__actions { align-items: stretch; flex-direction: column; }
    .admin-form .admin-blog-editor__actions button { width: 100%; justify-content: center; }
    .maintenance-admin { align-items: flex-start; flex-direction: column; }
    .maintenance-timer-admin { padding: 21px 17px; }
    .maintenance-timer-admin__heading { align-items: flex-start; }
    .maintenance-timer-admin__active { grid-template-columns: 1fr; gap: 16px; }
    .maintenance-timer-admin__active form { grid-column: auto; }
    .maintenance-page-picker { grid-template-columns: 1fr; }
    .maintenance-until-field { grid-template-columns: 1fr; gap: 9px; }
    .maintenance-timer-form__submit { width: 100%; justify-self: stretch; }
    .maintenance-countdown { width: 100%; grid-template-columns: repeat(2, minmax(90px, 1fr)); }
    .devblog { padding: 34px 0 40px; }
    .devblog__heading { align-items: center; }
    .devblog-slide { grid-template-columns: 1fr; gap: 22px; }
    .devblog-slide__visual { min-height: 190px; border-radius: 90px 22px 90px 22px; }
    .devblog-slide__content { padding: 0 3px; }
    .devblog-slide h3 { font-size: 1.5rem; }
    .devblog-card { min-height: 165px; padding-inline: 14px; }
    .devblog-card:first-child, .devblog-card:nth-child(3) { padding-left: 1px; }
    .blog-archive__item { grid-template-columns: 1fr; gap: 15px; }
    .blog-archive__image { width: 100%; height: 150px; }
    .blog-archive__icon { justify-self: start; }
    .blog-article__banner { border-radius: 55px 12px 55px 12px; }
    .blog-article__utility { align-items: flex-start; flex-direction: column; }
    .blog-staff-actions { margin-left: 0; }
    .blog-edit-form { padding: 18px 12px; }
    .blog-edit-page__heading > span { display: none; }
    .blog-edit-form__actions { align-items: stretch; flex-direction: column-reverse; text-align: center; }
    .admin-form .blog-edit-form__actions > button { width: 100%; }
}

@media (max-width: 420px) {
    .devblog-page { grid-template-columns: 1fr; gap: 0; }
    .devblog-card { min-height: 0; padding: 16px 2px; border-right: 0; border-bottom: 1px solid rgba(103,220,201,.22); }
    .devblog-card:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Publication du launcher */
.launcher-release-page .admin-page__inner { max-width: 1080px; }
.launcher-file-drop-overlay { position: fixed; z-index: 140; inset: 90px 22px 22px; display: grid; place-content: center; justify-items: center; gap: 9px; color: #fff; border: 2px dashed rgba(116,239,220,.82); border-radius: 22px; background: linear-gradient(145deg, rgba(51,25,82,.9), rgba(27,83,94,.9)); box-shadow: inset 0 0 70px rgba(66,213,195,.13), 0 24px 70px rgba(12,5,20,.35); opacity: 0; visibility: hidden; pointer-events: none; transform: scale(.985); transition: opacity .16s, visibility .16s, transform .16s; backdrop-filter: blur(8px); }
.launcher-release-page.is-file-dragging .launcher-file-drop-overlay { opacity: 1; visibility: visible; transform: scale(1); }
.launcher-file-drop-overlay > span { width: 66px; height: 66px; display: grid; place-items: center; margin-bottom: 5px; color: #83eadb; border: 1px solid rgba(131,234,219,.38); border-radius: 19px; background: rgba(66,213,195,.12); font-size: 1.45rem; }
.launcher-file-drop-overlay strong { font-size: clamp(1.05rem,3vw,1.55rem); }
.launcher-file-drop-overlay small { color: #c8bdcf; font-size: .7rem; }
.launcher-release-current { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; align-items: center; gap: 17px; margin-bottom: 27px; padding: 19px 22px; border: 1px solid rgba(255,120,151,.33); border-radius: 17px; background: linear-gradient(120deg, rgba(74,35,86,.72), rgba(36,65,81,.66)); }
.launcher-release-current.is-ready { border-color: rgba(99,225,176,.35); }
.launcher-release-current__icon { width: 53px; height: 53px; display: grid; place-items: center; color: #ff91ae; border: 1px solid rgba(255,120,151,.35); border-radius: 15px; background: rgba(255,120,151,.1); font-size: 1.08rem; }
.launcher-release-current.is-ready .launcher-release-current__icon { color: #70e1b6; border-color: rgba(99,225,176,.35); background: rgba(99,225,176,.1); }
.launcher-release-current__title small, .launcher-release-editor header small { color: #ff91ae; font-size: .53rem; font-weight: 900; letter-spacing: 1.35px; }
.launcher-release-current__title h2 { margin: 5px 0 4px; font-size: 1rem; }
.launcher-release-current__title h2 strong { color: #75e2d1; }
.launcher-release-current__title p { margin: 0; color: #cfc5d6; font-size: .67rem; }
.launcher-release-required { padding: 7px 10px; color: #86e7d6; border: 1px solid rgba(99,225,176,.29); border-radius: 999px; background: rgba(99,225,176,.09); font-size: .5rem; font-weight: 900; letter-spacing: .7px; }
.launcher-release-required.is-required { color: #ff9ab2; border-color: rgba(255,120,151,.34); background: rgba(255,120,151,.1); }
.launcher-release-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(260px,.75fr); gap: 26px; align-items: start; }
.launcher-release-editor, .launcher-release-details { padding: 24px !important; border: 1px solid rgba(103,220,201,.22) !important; border-radius: 18px !important; background: rgba(14,10,30,.52) !important; }
.launcher-release-editor > header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 21px; }
.launcher-release-editor > header h2 { margin: 4px 0 0; }
.launcher-release-editor > header > i { color: #74dfd0; font-size: 1.1rem; }
.launcher-release-form { gap: 11px; }
.launcher-release-form > input[type="text"] { height: 46px; }
.launcher-field-help { margin: -5px 0 4px; color: #a99fb2; font-size: .58rem; line-height: 1.45; }
.launcher-required-toggle { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; margin: 4px 0; padding: 13px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(255,255,255,.035); cursor: pointer; }
.launcher-required-toggle > input { position: absolute; opacity: 0; pointer-events: none; }
.launcher-required-toggle > span { width: 39px; height: 22px; padding: 3px; border-radius: 999px; background: rgba(255,255,255,.13); transition: background .2s; }
.launcher-required-toggle > span i { width: 16px; height: 16px; display: block; border-radius: 50%; background: #c6becb; transition: transform .2s, background .2s; }
.launcher-required-toggle > input:checked + span { background: linear-gradient(90deg, #d34c91, #43bba9); }
.launcher-required-toggle > input:checked + span i { background: #fff; transform: translateX(17px); }
.launcher-required-toggle div { display: grid; gap: 3px; }
.launcher-required-toggle div strong { color: #fff; font-size: .69rem; }
.launcher-required-toggle div small { color: #aaa0b3; font-size: .56rem; line-height: 1.45; }
.launcher-file-control { position: relative; margin-top: 3px; }
.launcher-file-input { position: relative; min-height: 76px; display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 13px; padding: 13px; border: 1px dashed rgba(92,218,255,.42); border-radius: 13px; background: rgba(50,83,111,.13); cursor: pointer; transition: border-color .2s, background .2s; }
.launcher-file-input:hover { border-color: #70dfd0; background: rgba(67,187,169,.1); }
.launcher-file-input.has-file { border-style: solid; border-color: rgba(99,225,176,.68); background: rgba(67,187,169,.12); }
.launcher-file-input.has-file > span { color: #fff; background: rgba(99,225,176,.24); }
.launcher-file-input input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.launcher-file-input > span { width: 41px; height: 41px; display: grid; place-items: center; color: #81e6d7; border-radius: 11px; background: rgba(99,225,176,.1); }
.launcher-file-input div { min-width: 0; display: grid; gap: 4px; }
.launcher-file-input strong { color: #fff; font-size: .68rem; }
.launcher-file-input small { color: #aaa0b3; font-size: .56rem; }
.admin-form .launcher-file-clear { position: absolute; z-index: 2; top: 9px; right: 9px; width: 27px; height: 27px; display: grid; place-items: center; margin: 0; padding: 0; color: #ff9bb3; border: 1px solid rgba(255,123,155,.34); border-radius: 50%; background: rgba(73,30,68,.9); box-shadow: 0 5px 16px rgba(19,8,25,.25); font-size: .62rem; }
.admin-form .launcher-file-clear:hover, .admin-form .launcher-file-clear:focus-visible { color: #fff; border-color: #ff7b9b; background: rgba(180,53,92,.88); }
.admin-form .launcher-file-clear[hidden] { display: none; }
.admin-form .launcher-release-submit { min-height: 42px; display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; padding-inline: 19px; }
.admin-form .launcher-release-submit:disabled { opacity: .48; filter: grayscale(.25); cursor: wait; transform: none; box-shadow: none; }
.launcher-release-details h2 { margin-bottom: 18px; }
.launcher-release-details dl { display: grid; gap: 0; margin: 0; }
.launcher-release-details dl > div { display: grid; gap: 5px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.launcher-release-details dt { color: #9f95aa; font-size: .54rem; font-weight: 800; letter-spacing: .7px; text-transform: uppercase; }
.launcher-release-details dd { margin: 0; color: #eee8f2; font-size: .67rem; overflow-wrap: anywhere; }
.launcher-release-details__hash dd { color: #85e5d6; font-family: Consolas, monospace; font-size: .56rem; line-height: 1.55; }
.launcher-release-details > p { display: flex; gap: 8px; margin: 17px 0 0; color: #aaa0b3; font-size: .58rem; line-height: 1.55; }
.launcher-release-details > p i { margin-top: 2px; color: #74dfd0; }

/* Consultation de la base de données */
.database-admin-page__inner { width: min(calc(100% - 48px),1380px); }
.database-status { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 14px; margin-bottom: 24px; padding: 17px 20px; border: 1px solid rgba(99,225,176,.3); border-radius: 15px; background: linear-gradient(120deg,rgba(52,35,88,.6),rgba(37,83,91,.5)); }
.database-status > span { width: 45px; height: 45px; display: grid; place-items: center; color: #80e5bd; border-radius: 13px; background: rgba(99,225,176,.12); }
.database-status > div { display: grid; gap: 3px; }
.database-status > div small { color: #ff9aaa; font-size: .48rem; font-weight: 900; letter-spacing: 1px; }
.database-status > div strong { font-size: .76rem; }
.database-status > div p { margin: 0; color: #aaa0b3; font-size: .56rem; }
.database-status dl { display: flex; gap: 9px; margin: 0; }
.database-status dl > div { min-width: 82px; display: grid; gap: 3px; padding: 9px 12px; border: 1px solid rgba(92,218,255,.16); border-radius: 10px; background: rgba(30,24,70,.4); }
.database-status dt { color: #a99fb2; font-size: .46rem; font-weight: 850; text-transform: uppercase; }
.database-status dd { margin: 0; color: #fff; font-size: .68rem; font-weight: 800; }
.database-browser { display: grid; grid-template-columns: 245px minmax(0,1fr); align-items: start; gap: 18px; }
.database-table-list, .database-table-view { min-width: 0; border: 1px solid rgba(92,218,255,.18); border-radius: 16px; background: rgba(25,18,58,.56); box-shadow: 0 18px 44px rgba(16,8,27,.16); }
.database-table-list { position: sticky; top: 94px; overflow: hidden; }
.database-table-list > header { display: grid; gap: 4px; padding: 16px; border-bottom: 1px solid rgba(103,220,201,.16); }
.database-table-list > header small, .database-table-view > header small { color: #ff9aaa; font-size: .47rem; font-weight: 900; letter-spacing: 1px; }
.database-table-list > header strong { font-size: .68rem; }
.database-table-list nav { max-height: 620px; padding: 6px; overflow-y: auto; scrollbar-width: thin; }
.database-table-list a { display: grid; grid-template-columns: 18px minmax(0,1fr) auto; align-items: center; gap: 8px; padding: 9px 10px; color: #bdb3c5; border-radius: 8px; font-size: .58rem; }
.database-table-list a i { color: #70dcca; font-size: .55rem; }
.database-table-list a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.database-table-list a small { color: #92899d; font-size: .48rem; }
.database-table-list a:hover, .database-table-list a.is-active { color: #fff; background: linear-gradient(90deg,rgba(230,89,141,.18),rgba(66,194,181,.16)); }
.database-table-view { overflow: hidden; }
.database-table-view > header { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 18px 20px; border-bottom: 1px solid rgba(103,220,201,.16); }
.database-table-view > header h2 { margin: 3px 0; font-size: .94rem; }
.database-table-view > header p { margin: 0; color: #a99fb2; font-size: .54rem; }
.database-table-view > header > span { padding: 6px 9px; color: #b9eee5; border: 1px solid rgba(99,225,176,.25); border-radius: 999px; background: rgba(99,225,176,.08); font-size: .48rem; font-weight: 850; text-transform: uppercase; }
.database-table-placeholder { min-height: 430px; display: grid; place-content: center; justify-items: center; gap: 9px; padding: 30px; color: #aaa0b3; text-align: center; }
.database-table-placeholder i { color: #78dfcf; font-size: 1.6rem; }
.database-table-placeholder strong { color: #fff; font-size: .8rem; }
.database-table-placeholder p { margin: 0; font-size: .6rem; }
.database-structure { border-bottom: 1px solid rgba(103,220,201,.16); }
.database-structure summary { padding: 12px 20px; color: #bceee6; cursor: pointer; font-size: .57rem; font-weight: 800; }
.database-structure summary i { margin-right: 7px; }
.database-structure__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; padding: 0 20px 16px; }
.database-structure__grid article { min-width: 0; display: grid; gap: 4px; padding: 9px; border: 1px solid rgba(255,255,255,.08); border-radius: 8px; background: rgba(255,255,255,.025); }
.database-structure__grid strong { overflow: hidden; font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.database-structure__grid code { color: #83e6d5; font-size: .48rem; }
.database-structure__grid small { color: #958b9f; font-size: .44rem; }
.database-data-scroll { max-width: 100%; overflow: auto; scrollbar-width: thin; scrollbar-color: rgba(93,211,198,.82) rgba(31,23,67,.72); }
.database-data-scroll::-webkit-scrollbar { width: 10px; height: 10px; }
.database-data-scroll::-webkit-scrollbar-track { border-top: 1px solid rgba(92,218,255,.12); background: rgba(31,23,67,.72); }
.database-data-scroll::-webkit-scrollbar-thumb { min-width: 55px; border: 2px solid rgba(31,23,67,.72); border-radius: 999px; background: linear-gradient(90deg,#d65a91,#5dd3c6); }
.database-data-scroll::-webkit-scrollbar-thumb:hover { background: linear-gradient(90deg,#f06a9f,#73e5d7); }
.database-data-scroll::-webkit-scrollbar-corner { background: rgba(31,23,67,.72); }
.database-data-scroll table { width: max-content; min-width: 100%; border-collapse: collapse; font-size: .53rem; }
.database-data-scroll th { position: sticky; top: 0; z-index: 1; padding: 10px 11px; color: #ff9aaa; border-right: 1px solid rgba(103,220,201,.12); border-bottom: 1px solid rgba(103,220,201,.2); background: #292052; font-size: .47rem; letter-spacing: .4px; text-align: left; text-transform: uppercase; white-space: nowrap; }
.database-data-scroll td { max-width: 250px; padding: 9px 11px; overflow: hidden; color: #d9d0df; border-right: 1px solid rgba(103,220,201,.08); border-bottom: 1px solid rgba(103,220,201,.1); text-overflow: ellipsis; white-space: nowrap; }
.database-data-scroll tbody tr:hover td { background: rgba(66,213,195,.035); }
.database-data-scroll td.is-null { color: #82798d; font-style: italic; }
.database-data-scroll td.is-secret { color: #f1b4c4; }
.database-data-scroll .database-empty-row { padding: 35px; color: #aaa0b3; text-align: center; }
.database-actions-column { right: 0; }
.database-row-actions { position: sticky; right: 0; z-index: 1; min-width: 112px; background: #211b48; }
.database-row-actions form { display: flex; align-items: center; gap: 5px; }
.database-row-actions button { min-height: 29px; display: inline-flex; align-items: center; gap: 6px; padding: 0 9px; color: #d7cde0; border: 1px solid rgba(92,218,255,.2); border-radius: 8px; background: rgba(63,57,111,.45); font: inherit; font-size: .49rem; font-weight: 800; cursor: pointer; }
.database-row-actions button:hover { color: #fff; border-color: rgba(103,220,201,.48); }
.database-row-actions button.is-save { color: #fff; border-color: rgba(103,220,201,.4); background: linear-gradient(110deg, rgba(139,100,189,.92), rgba(230,107,141,.92) 58%, rgba(63,185,170,.92)); }
.database-row-actions button.is-cancel { width: 29px; justify-content: center; padding: 0; color: #ffb2c3; border-color: rgba(255,111,145,.28); }
.database-row-actions button[hidden] { display: none; }
.database-data-scroll tr.is-editing td { overflow: visible; background: rgba(66,213,195,.055); text-overflow: clip; }
.database-cell-editor { min-width: 185px; display: grid; gap: 5px; }
.database-cell-editor[hidden] { display: none; }
.database-cell-editor input[type="text"], .database-cell-editor textarea, .database-cell-editor select { width: 100%; min-width: 180px; padding: 7px 8px; color: #fff; border: 1px solid rgba(92,218,255,.3); border-radius: 7px; outline: 0; background: rgba(34,21,91,.9); font: inherit; font-size: .52rem; }
.database-cell-editor input[type="text"] { height: 31px; }
.database-cell-editor select { height: 31px; color-scheme: dark; cursor: pointer; }
.database-cell-editor textarea { min-height: 65px; resize: both; line-height: 1.45; white-space: pre-wrap; }
.database-cell-editor input:focus, .database-cell-editor textarea:focus, .database-cell-editor select:focus { border-color: var(--cyan); box-shadow: 0 0 0 2px rgba(37,217,255,.1); }
.database-cell-editor label { display: flex; align-items: center; gap: 5px; color: #a99fb5; font-size: .46rem; cursor: pointer; }
.database-cell-editor label input { accent-color: #62d8c8; }
.database-cell-editor.is-null input[type="text"], .database-cell-editor.is-null textarea { opacity: .42; }
.database-pagination { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 13px; }
.database-pagination a { width: 29px; height: 29px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(92,218,255,.22); border-radius: 8px; background: rgba(66,190,180,.12); font-size: .52rem; }
.database-pagination a.is-disabled { opacity: .3; pointer-events: none; }
.database-pagination span { color: #aaa0b3; font-size: .53rem; }

@media (max-width: 850px) {
    .database-admin-page__inner { width: min(calc(100% - 28px),1380px); }
    .database-browser { grid-template-columns: 1fr; }
    .database-table-list { position: static; }
    .database-table-list nav { max-height: none; display: flex; overflow-x: auto; }
    .database-table-list a { min-width: 170px; }
    .database-structure__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 560px) {
    .database-status { grid-template-columns: 42px 1fr; padding: 14px; }
    .database-status dl { grid-column: 1 / -1; }
    .database-status dl > div { flex: 1; }
    .database-structure__grid { grid-template-columns: 1fr; }
}

/* Hébergement des médias */
.media-host-page .admin-page__inner { max-width: 1120px; }
.media-host-heading { display: grid; grid-template-columns: 58px minmax(0,1fr) auto; }
.media-host-heading__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.media-host-heading__actions button { min-height: 38px; display: inline-flex; align-items: center; gap: 8px; padding: 0 13px; color: #d9cfdf; border: 1px solid rgba(92,218,255,.24); border-radius: 10px; background: rgba(37,27,82,.55); cursor: pointer; font-size: .62rem; font-weight: 800; }
.media-host-heading__actions button.is-primary { color: #fff; border: 0; background: linear-gradient(110deg,#8b64bd,#e66b8d 58%,#3fb9aa); box-shadow: 0 8px 22px rgba(190,69,104,.2); }
.media-new-menu { position: relative; }
.media-new-menu__list { position: absolute; z-index: 45; top: calc(100% + 7px); right: 0; width: 235px; display: grid; gap: 4px; padding: 7px; border: 1px solid rgba(99,225,210,.3); border-radius: 13px; background: linear-gradient(145deg,rgba(41,28,86,.98),rgba(42,83,95,.98)); box-shadow: 0 18px 45px rgba(15,7,28,.42); }
.media-new-menu__list[hidden] { display: none; }
.media-host-heading__actions .media-new-menu__list button { width: 100%; min-height: 52px; display: grid; grid-template-columns: 28px 1fr; align-items: center; gap: 9px; padding: 8px 10px; border: 0; background: transparent; text-align: left; }
.media-host-heading__actions .media-new-menu__list button:hover:not(:disabled) { background: linear-gradient(90deg,rgba(226,87,143,.17),rgba(69,195,185,.13)); }
.media-host-heading__actions .media-new-menu__list button:disabled { opacity: .38; cursor: not-allowed; }
.media-new-menu__list button > i { color: #83e6d7; font-size: .72rem; }
.media-new-menu__list button > span { display: grid; gap: 3px; }
.media-new-menu__list strong { color: #fff; font-size: .62rem; }
.media-new-menu__list small { color: #aea4b9; font-size: .5rem; font-weight: 600; }
.media-folder-bar { display: flex; align-items: center; gap: 8px; margin-bottom: 28px; padding: 7px 4px 10px; overflow-x: auto; cursor: grab; scrollbar-width: thin; scrollbar-color: rgba(94,220,207,.82) rgba(24,17,62,.52); }
.media-folder-bar.is-dragging { cursor: grabbing; user-select: none; scroll-behavior: auto; }
.media-folder-bar.is-dragging [data-media-folder-filter] { cursor: grabbing; }
.media-folder-bar::-webkit-scrollbar { height: 8px; }
.media-folder-bar::-webkit-scrollbar-track { border-radius: 999px; background: rgba(24,17,62,.52); }
.media-folder-bar::-webkit-scrollbar-thumb { border: 2px solid rgba(24,17,62,.52); border-radius: 999px; background: linear-gradient(90deg, #62dfd0, #e967a9); }
.media-folder-bar::-webkit-scrollbar-thumb:hover { background: linear-gradient(90deg, #80eee0, #ff7dbc); }
.media-folder-bar [data-media-folder-filter] { flex: 0 0 auto; min-height: 40px; display: grid; grid-template-columns: 17px auto auto; align-items: center; gap: 7px; padding: 0 11px; color: #bfb5c7; border: 1px solid rgba(92,218,255,.18); border-radius: 10px; background: rgba(33,25,75,.45); cursor: pointer; font-size: .61rem; font-weight: 750; }
.media-folder-bar [data-media-folder-filter] i { color: #82e6d7; }
.media-folder-bar [data-media-folder-filter] small { min-width: 20px; padding: 3px 5px; color: #ff9aaf; border-radius: 999px; background: rgba(255,111,145,.1); font-size: .48rem; }
.media-folder-item__counts { display: flex; align-items: center; gap: 4px; }
.media-folder-bar [data-media-folder-filter] .media-folder-item__counts small { display: inline-flex; align-items: center; gap: 3px; }
.media-folder-bar [data-media-folder-filter] .media-folder-item__counts i { color: inherit; font-size: .43rem; }
.media-folder-bar [data-media-folder-filter].is-active { color: #fff; border-color: rgba(99,225,176,.54); background: linear-gradient(100deg,rgba(225,87,140,.27),rgba(66,190,180,.24)); }
.media-folder-item { position: relative; flex: 0 0 auto; }
.media-folder-item[hidden] { display: none !important; }
.media-folder-item [data-media-folder-filter] { width: 100%; padding-right: 30px; }
.media-folder-item form { position: absolute; z-index: 3; top: -6px; right: -6px; opacity: 0; pointer-events: none; transform: scale(.72); transition: opacity .16s, transform .16s; }
.media-folder-item:hover form, .media-folder-item:focus-within form { opacity: 1; pointer-events: auto; transform: scale(1); }
.media-folder-item .media-folder-item__delete { width: 23px; height: 23px; display: grid; place-items: center; padding: 0; color: #fff; border: 1px solid rgba(255,171,190,.52); border-radius: 50%; background: rgba(204,65,108,.92); box-shadow: 0 5px 14px rgba(24,8,23,.4); cursor: pointer; font-size: .52rem; }
.media-folder-item .media-folder-item__delete:hover { border-color: #fff; background: #e34f7d; transform: scale(1.08); }
.media-subfolder-card { min-width: 0; align-self: start; }
.media-subfolder-card > [data-media-folder-filter] { width: 100%; min-height: 145px; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; padding: 20px 12px; color: #eee5f3; border: 1px solid rgba(103,220,201,.28); border-radius: 14px; background: linear-gradient(145deg,rgba(79,41,96,.5),rgba(34,87,98,.4)); font: inherit; cursor: pointer; }
.media-subfolder-card > [data-media-folder-filter]:hover { border-color: #80e4d5; background: rgba(70,155,149,.2); }
.media-subfolder-card > [data-media-folder-filter]:focus-visible { outline: 2px solid #80e4d5; outline-offset: 3px; }
.media-subfolder-card > button > i { color: #80e4d5; font-size: 2rem; }
.media-subfolder-card [data-media-folder-name] { max-width: 100%; overflow-wrap: anywhere; font-size: .7rem; font-weight: 800; }
.media-subfolder-card .media-folder-item__counts small { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; color: #ffafc4; border-radius: 999px; background: rgba(255,111,145,.1); font-size: .55rem; }
.media-host-empty[hidden] { display: none; }
.media-host-dropzone { min-height: 145px; display: grid; place-items: center; align-content: center; gap: 7px; padding: 22px; color: #fff; border: 1px dashed rgba(92,218,255,.45); border-radius: 15px; background: linear-gradient(135deg, rgba(44,27,91,.45), rgba(38,88,98,.25)); cursor: pointer; text-align: center; transition: border-color .18s, background .18s, transform .18s; }
.media-host-dropzone:hover, .media-host-dropzone.is-dragging { border-color: #73e2d2; background: linear-gradient(135deg, rgba(70,39,108,.58), rgba(44,118,113,.34)); transform: translateY(-1px); }
.media-host-dropzone.has-files { border-style: solid; border-color: rgba(99,225,176,.68); background: rgba(55,132,113,.17); }
.media-host-dropzone input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.media-host-dropzone > span { width: 48px; height: 48px; display: grid; place-items: center; margin-bottom: 3px; color: #82e6d7; border-radius: 14px; background: rgba(66,213,195,.12); font-size: 1rem; }
.media-host-dropzone > strong { font-size: .76rem; }
.media-host-dropzone > small { color: #aaa0b3; font-size: .56rem; line-height: 1.45; }
.media-host-library > header small { color: #ff9aaa; font-size: .53rem; font-weight: 900; letter-spacing: 1.3px; }
.media-library-back { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 14px; padding: 7px 12px; color: #d9cfdf; border: 1px solid rgba(103,220,201,.28); border-radius: 9px; background: rgba(37,27,82,.4); font: inherit; font-size: .62rem; cursor: pointer; }
.media-library-back:hover { color: #fff; border-color: #80e4d5; }
.media-library-back[hidden] { display: none; }
.media-host-library > header h2 { margin: 4px 0 0; }
.media-host-library > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.media-host-library > header > span { min-width: 32px; height: 32px; display: grid; place-items: center; color: #dffaf5; border-radius: 50%; background: rgba(66,213,195,.15); font-size: .63rem; font-weight: 850; }
.media-host-empty { display: grid; justify-items: center; gap: 10px; margin: 0; padding: 48px 20px; color: #afa5b8; border: 1px dashed rgba(103,220,201,.2); border-radius: 16px; font-size: .68rem; }
.media-host-empty i { color: #73dccc; font-size: 1.4rem; }
.media-host-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 13px; }
.media-host-card { position: relative; min-width: 0; aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(92,218,255,.2); border-radius: 14px; background: rgba(29,22,70,.58); box-shadow: 0 14px 32px rgba(19,10,32,.16); }
.media-host-card[hidden] { display: none; }
.media-host-card__preview { width: 100%; height: 100%; display: block; margin: 0; padding: 0; overflow: hidden; color: #fff; border: 0; background: linear-gradient(145deg,rgba(46,26,83,.8),rgba(31,78,91,.72)); cursor: pointer; }
.media-host-card__preview img, .media-host-card__preview video { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .25s; }
.media-host-card__preview:hover img, .media-host-card__preview:hover video { transform: scale(1.035); }
.media-host-card__audio { width: 100%; height: 100%; display: grid; place-items: center; color: #88e9d9; font-size: 2rem; background: radial-gradient(circle,rgba(66,213,195,.18),transparent 58%); }
.media-host-card__type { position: absolute; top: 50%; left: 50%; width: 42px; height: 42px; display: grid; place-items: center; color: #fff; border: 1px solid rgba(255,255,255,.32); border-radius: 50%; background: rgba(30,17,48,.66); transform: translate(-50%,-50%); backdrop-filter: blur(5px); }
.media-host-card__name { position: absolute; right: 0; bottom: 0; left: 0; padding: 28px 10px 10px; overflow: hidden; color: #fff; background: linear-gradient(transparent,rgba(17,10,28,.88)); font-size: .57rem; font-weight: 750; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
.media-host-card > form { position: absolute; top: 9px; right: 9px; }
.media-host-card > form button { width: 30px; height: 30px; display: grid; place-items: center; color: #ff9bb3; border: 1px solid rgba(255,123,155,.3); border-radius: 50%; background: rgba(58,22,54,.86); box-shadow: 0 5px 15px rgba(17,7,23,.25); cursor: pointer; font-size: .59rem; }
.media-host-card > form button:hover { color: #fff; background: rgba(180,53,92,.9); }
.media-host-filter-empty { margin: 0; padding: 38px 15px; color: #afa5b8; text-align: center; font-size: .66rem; }
.media-host-filter-empty[hidden] { display: none; }
.media-host-dialog { width: min(560px,calc(100% - 28px)); padding: 0; color: #fff; border: 1px solid rgba(103,220,201,.3); border-radius: 18px; outline: 0; background: linear-gradient(145deg,rgba(77,45,91,.98),rgba(37,75,89,.98)); box-shadow: 0 25px 70px rgba(26,13,37,.48); }
.media-host-dialog::backdrop, .media-details-drawer::backdrop { background: rgba(21,12,31,.52); backdrop-filter: blur(3px); }
.media-host-dialog__panel { gap: 12px; padding: 22px; }
.media-host-dialog__panel > header, .media-details-drawer__panel > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 5px; }
.media-host-dialog__panel > header div, .media-details-drawer__panel > header div { display: grid; gap: 4px; }
.media-host-dialog__panel > header small, .media-details-drawer__panel > header small { color: #ff9aaa; font-size: .49rem; font-weight: 900; letter-spacing: 1.2px; }
.media-host-dialog__panel > header strong, .media-details-drawer__panel > header strong { font-size: .9rem; }
.admin-form .media-host-dialog__panel > header button, .media-details-drawer__panel > header button { width: 31px; height: 31px; display: grid; place-items: center; margin: 0; padding: 0; color: #d7cedd; border: 1px solid rgba(255,255,255,.13); border-radius: 50%; background: rgba(255,255,255,.04); box-shadow: none; }
.media-host-dialog__panel > footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 5px; }
.media-folder-dialog__location { display: flex; align-items: center; gap: 10px; margin: 1px 0 3px; padding: 10px 12px; color: #bdb4c8; border: 1px solid rgba(103,220,201,.18); border-radius: 10px; background: rgba(32,24,73,.28); font-size: .59rem; }
.media-folder-dialog__location > i { color: #7fe4d5; }
.media-folder-dialog__location strong { color: #fff; }
.admin-form .media-host-dialog__panel > footer button { margin: 0; color: #d5ccd9; border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04); box-shadow: none; }
.admin-form .media-host-dialog__panel > footer button.is-primary { color: #fff; border: 0; background: linear-gradient(110deg,#8b64bd,#e66b8d 58%,#3fb9aa); }
.media-details-drawer { width: min(410px,100%); max-width: none; height: 100%; max-height: none; margin: 0 0 0 auto; padding: 0; color: #fff; border: 0; border-left: 1px solid rgba(103,220,201,.28); outline: 0; background: linear-gradient(165deg,#4c315c,#294e60); box-shadow: -22px 0 60px rgba(20,10,29,.38); }
.media-details-drawer__panel { min-height: 100%; display: grid; align-content: start; gap: 18px; padding: 23px; }
.media-details-drawer__preview { aspect-ratio: 1; display: grid; place-items: center; overflow: hidden; border: 1px solid rgba(92,218,255,.2); border-radius: 15px; background: rgba(21,17,52,.5); }
.media-details-drawer__preview img, .media-details-drawer__preview video { width: 100%; height: 100%; object-fit: contain; }
.media-details-drawer__preview audio { width: calc(100% - 24px); }
.media-details-drawer__preview > i { color: #83e6d5; font-size: 2.2rem; }
.media-details-drawer dl { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin: 0; }
.media-details-drawer dl > div { display: grid; gap: 4px; padding: 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 10px; background: rgba(255,255,255,.035); }
.media-details-drawer dt, .media-details-drawer > label { color: #ff9aaa; font-size: .49rem; font-weight: 900; letter-spacing: .7px; text-transform: uppercase; }
.media-details-drawer dd { margin: 0; color: #eee8f1; font-size: .64rem; }
.media-details-drawer__url { display: grid; grid-template-columns: minmax(0,1fr) 40px; }
.media-details-drawer__url input { min-width: 0; height: 40px; padding: 0 10px; color: #bdeee6; border: 1px solid rgba(92,218,255,.25); border-right: 0; border-radius: 9px 0 0 9px; outline: 0; background: rgba(23,18,58,.6); font-size: .58rem; }
.media-details-drawer__url button { color: #fff; border: 1px solid rgba(92,218,255,.3); border-radius: 0 9px 9px 0; background: rgba(66,190,180,.3); cursor: pointer; }
.media-api-section { margin-top: 38px; }
.media-api-section > header { display: flex; align-items: center; justify-content: space-between; gap: 22px; margin-bottom: 20px; }
.media-api-section > header small { color: #ff9aaa; font-size: .51rem; font-weight: 900; letter-spacing: 1.2px; }
.media-api-section > header h2 { margin: 4px 0; }
.media-api-section > header p { margin: 0; color: #ada3b5; font-size: .61rem; }
.media-api-section > header button { min-height: 37px; display: inline-flex; align-items: center; gap: 7px; padding: 0 13px; color: #fff; border: 0; border-radius: 999px; background: linear-gradient(110deg,#8b64bd,#e66b8d 58%,#3fb9aa); cursor: pointer; font-size: .61rem; font-weight: 800; }
.media-api-new-key { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 12px; margin-bottom: 15px; padding: 14px; border: 1px solid rgba(255,179,95,.36); border-radius: 13px; background: rgba(159,99,36,.12); }
.media-api-new-key > span { width: 40px; height: 40px; display: grid; place-items: center; color: #ffd18b; border-radius: 11px; background: rgba(255,179,95,.12); }
.media-api-new-key > div { min-width: 0; display: grid; gap: 5px; }
.media-api-new-key strong { font-size: .7rem; }
.media-api-new-key small { color: #d5c5b6; font-size: .56rem; }
.media-api-new-key > div > div { display: grid; grid-template-columns: minmax(0,1fr) auto; margin-top: 4px; }
.media-api-new-key input { min-width: 0; height: 38px; padding: 0 10px; color: #fff0c7; border: 1px solid rgba(255,179,95,.3); border-right: 0; border-radius: 8px 0 0 8px; background: rgba(37,23,51,.66); font: .57rem Consolas,monospace; }
.media-api-new-key button { display: inline-flex; align-items: center; gap: 6px; padding: 0 12px; color: #fff; border: 0; border-radius: 0 8px 8px 0; background: rgba(220,139,59,.72); cursor: pointer; font-size: .58rem; font-weight: 800; }
.media-api-endpoint { display: grid; grid-template-columns: minmax(0,1fr) 40px; margin-bottom: 14px; border: 1px solid rgba(92,218,255,.2); border-radius: 11px; background: rgba(31,24,73,.48); }
.media-api-endpoint > div { min-width: 0; display: grid; gap: 5px; padding: 11px 13px; }
.media-api-endpoint small { color: #ff9aaa; font-size: .45rem; font-weight: 900; letter-spacing: .7px; }
.media-api-endpoint code { overflow: hidden; color: #b9eee5; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.media-api-endpoint > button { color: #fff; border: 0; border-left: 1px solid rgba(92,218,255,.2); border-radius: 0 11px 11px 0; background: rgba(66,190,180,.2); cursor: pointer; }
.media-api-keys { display: grid; }
.media-api-keys > p { margin: 0; padding: 18px 2px; color: #ada3b5; border-top: 1px solid rgba(103,220,201,.16); font-size: .62rem; }
.media-api-keys article { display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 13px 2px; border-top: 1px solid rgba(103,220,201,.16); }
.media-api-keys article > span { width: 34px; height: 34px; display: grid; place-items: center; color: #83e6d5; border-radius: 9px; background: rgba(66,213,195,.1); font-size: .67rem; }
.media-api-keys article > div { min-width: 0; display: grid; gap: 3px; }
.media-api-keys article strong { color: #fff; font-size: .67rem; }
.media-api-keys article small { color: #c7bdcd; font: .53rem Consolas,monospace; }
.media-api-keys article em { color: #92889e; font-size: .49rem; font-style: normal; }
.media-api-keys article form button { width: 31px; height: 31px; display: grid; place-items: center; color: #ff9aaf; border: 1px solid rgba(255,111,145,.25); border-radius: 50%; background: rgba(255,111,145,.07); cursor: pointer; font-size: .57rem; }
.media-api-help { margin-top: 15px; padding-top: 13px; border-top: 1px solid rgba(103,220,201,.16); }
.media-api-help summary { color: #bceee6; cursor: pointer; font-size: .61rem; font-weight: 750; }
.media-api-help pre { margin: 11px 0 0; padding: 13px; overflow-x: auto; color: #c9f2eb; border: 1px solid rgba(92,218,255,.18); border-radius: 10px; background: rgba(18,14,46,.65); font-size: .56rem; line-height: 1.7; }

@media (max-width: 850px) {
    .media-host-heading { grid-template-columns: 58px minmax(0,1fr); }
    .media-host-heading__actions { grid-column: 1 / -1; margin-top: 4px; }
    .media-host-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 560px) {
    .media-host-heading { grid-template-columns: 1fr; }
    .media-host-heading > span { display: none; }
    .media-host-heading__actions { align-items: stretch; flex-direction: column; }
    .media-host-heading__actions button { justify-content: center; }
    .media-new-menu__list { position: static; width: 100%; margin-top: 6px; }
    .media-host-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .media-details-drawer { width: 100%; }
    .media-details-drawer__panel { padding: 17px; }
    .media-api-section { padding: 19px 14px; }
    .media-api-section > header { align-items: stretch; flex-direction: column; }
    .media-api-section > header button { justify-content: center; }
    .media-api-new-key { grid-template-columns: 1fr; }
    .media-api-new-key > span { display: none; }
    .media-api-new-key > div > div { grid-template-columns: 1fr; }
    .media-api-new-key input { border-right: 1px solid rgba(255,179,95,.3); border-radius: 8px 8px 0 0; }
    .media-api-new-key button { min-height: 36px; justify-content: center; border-radius: 0 0 8px 8px; }
}

@media (max-width: 760px) {
    .launcher-release-current { grid-template-columns: 48px 1fr; padding: 17px; }
    .launcher-release-current__icon { width: 46px; height: 46px; }
    .launcher-release-required { grid-column: 1 / -1; justify-self: start; }
    .launcher-release-layout { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .launcher-release-editor, .launcher-release-details { padding: 18px 12px !important; }
    .admin-form .launcher-release-submit { width: 100%; justify-content: center; }
    .rules-category-editor__create { grid-template-columns: auto minmax(0,1fr); }
    .rules-category-editor__create small { display: none; }
    .rules-category-editor__list > button { max-width: 100%; }
    .rules-category-editor__list > button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .rules-section-nav { grid-template-columns: 1fr; }
}
