:root{--color-dominant:#c56bf2;--color-secondary:#6e3c99;--color-neutral-dark:#22174f;--color-neutral-light:#fff;--color-accent-cyan:#2cd7e1;--color-accent-lime:#9bee25;--text:#f2eefb;--text-muted:#c3b7dd;--surface:#ffffff0f;--surface-strong:#22174fb8;--border:#c56bf240;--border-strong:#c56bf28c;--danger:#ff6b81;--font-display:"Cinzel", "Georgia", serif;--font-body:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:0 0;margin:0}body{font:16px/1.6 var(--font-body);color:var(--text)}a{color:var(--color-accent-cyan)}button{font:inherit;cursor:pointer}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;color:var(--text)}.app-shell{background-color:#0000;background-image:linear-gradient(#0f0a248c 0%,#0f0a24d9 100%),url(/assets/background-valkyriant-CsXZPDs7.png);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:fixed;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-height:100vh}.page{max-width:760px;margin:0 auto;padding:32px 20px 64px}.page--wide{max-width:1100px}.back-link{color:var(--text-muted);margin-bottom:16px;text-decoration:none;display:inline-block}.home-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;display:flex}.home-header__logo{object-fit:contain;filter:drop-shadow(0 4px 24px #c56bf259);width:auto;height:96px}.home-header__streamer-link{color:var(--text);border:1px solid var(--border-strong);background:var(--surface);border-radius:999px;padding:8px 16px;font-size:14px;text-decoration:none;transition:background .15s,border-color .15s}.home-header__streamer-link:hover{border-color:var(--color-dominant);background:#c56bf22e}.home-tagline{color:var(--text-muted);margin:8px 0 24px}.section-title{margin:32px 0 16px;font-size:22px}.global-pot-cta{color:var(--text);border:1px solid var(--border-strong);background:linear-gradient(120deg,#c56bf259,#2cd7e133);border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;text-decoration:none;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 8px 30px #c56bf226}.global-pot-cta:hover{transform:translateY(-2px);box-shadow:0 12px 36px #c56bf247}.global-pot-cta__title{font-family:var(--font-display);font-size:20px;display:block}.global-pot-cta__subtitle{color:var(--text-muted);margin-top:4px;font-size:14px;display:block}.global-pot-cta__arrow{color:var(--color-accent-cyan);font-size:24px}.cagnotte-intro{color:var(--text-muted);margin-bottom:20px}.cagnotte-goal{margin-bottom:24px}.streamer-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;display:grid}.streamer-card{background:var(--surface);border:1px solid var(--border);color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:14px;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex}.streamer-card:hover{border-color:var(--color-accent-cyan);transform:translateY(-3px);box-shadow:0 10px 28px #2cd7e12e}.streamer-card__avatar{object-fit:cover;border:2px solid var(--border-strong);border-radius:50%;width:76px;height:76px}.streamer-card__name{text-align:center;font-weight:600}.donate-header{align-items:center;gap:16px;margin-bottom:24px;display:flex}.donate-header img{object-fit:cover;border:2px solid var(--border-strong);border-radius:50%;width:56px;height:56px}.donate-cancelled{color:var(--danger);margin-bottom:16px}.donation-form{background:var(--surface-strong);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;flex-direction:column;gap:16px;padding:24px;display:flex}.donation-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:14px;display:flex}.donation-form input,.donation-form textarea{font:inherit;border:1px solid var(--border);color:var(--text);background:#0003;border-radius:8px;padding:10px 12px}.donation-form input:focus,.donation-form textarea:focus{border-color:var(--color-accent-cyan);outline:none}.donation-form__presets{flex-wrap:wrap;gap:8px;display:flex}.donation-form__presets button{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:999px;padding:6px 14px}.donation-form__presets button.active{background:var(--color-dominant);border-color:var(--color-dominant);color:#fff}.donation-form__error{color:var(--danger);font-size:14px}.donation-form__submit{background:linear-gradient(120deg, var(--color-dominant), var(--color-accent-cyan));color:#14102b;letter-spacing:.02em;border:none;border-radius:10px;padding:14px;font-weight:700}.donation-form__submit:disabled{opacity:.6;cursor:not-allowed}.donate-result{text-align:center;padding-top:80px}.login-page{text-align:center;flex-direction:column;align-items:center;gap:16px;padding-top:80px;display:flex}.login-page__error{color:var(--danger)}.twitch-login-button{background:linear-gradient(120deg, var(--color-dominant), var(--color-secondary));color:#fff;border-radius:10px;padding:14px 28px;font-weight:700;text-decoration:none;box-shadow:0 8px 24px #c56bf24d}.admin-login-form,.admin-add-form{gap:8px;display:flex}.admin-login-form input,.admin-add-form input{font:inherit;border:1px solid var(--border);color:var(--text);background:#0003;border-radius:8px;padding:10px 12px}.admin-add-form button,.admin-login-form button{background:var(--color-dominant);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:600}.admin-whitelist{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.admin-whitelist li{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.admin-whitelist button{border:1px solid var(--border-strong);color:var(--text);background:0 0;border-radius:6px;padding:4px 10px}.milestone-form{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.milestone-form input[type=number]{width:120px}.milestone-form input[type=text]{flex:1;min-width:160px}.milestone-form input{font:inherit;border:1px solid var(--border);color:var(--text);background:#0003;border-radius:8px;padding:10px 12px}.milestone-form button{background:var(--color-dominant);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-weight:600}.milestone-list{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.milestone-list li{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.milestone-list__amount{color:var(--color-accent-cyan);min-width:70px;font-weight:700}.milestone-list__title{flex:1}.milestone-list button{border:1px solid var(--border-strong);color:var(--text);background:0 0;border-radius:6px;padding:4px 10px}.admin-streamers-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:14px}.admin-streamers-table th,.admin-streamers-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 12px}.admin-streamers-table th{color:var(--text-muted);font-weight:600}.dashboard__header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.logout-button{border:1px solid var(--border-strong);color:var(--text);background:0 0;border-radius:8px;padding:8px 14px}.dashboard__section{background:var(--surface-strong);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;margin-bottom:20px;padding:20px}.dashboard__section--danger{border-color:#ff6b8166}.danger-button{border:1px solid var(--danger);color:var(--danger);background:#ff6b811f;border-radius:8px;margin-top:8px;padding:10px 18px;font-weight:700}.danger-button:hover{background:#ff6b8138}.dashboard__section-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.dashboard__section-header h2{margin:0}.open-large-button{border:1px solid var(--border-strong);color:var(--color-accent-cyan);background:0 0;border-radius:8px;flex-shrink:0;padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s}.open-large-button:hover{border-color:var(--color-accent-cyan);background:#2cd7e11f}.donations-table{border-collapse:collapse;background:var(--surface-strong);border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:16px;width:100%;margin-top:20px;font-size:16px;overflow:hidden}.donations-table th,.donations-table td{text-align:left;border-bottom:1px solid var(--border);padding:14px 18px}.donations-table th{color:var(--text-muted);background:#0003;font-weight:600}.donations-table tbody tr:last-child td{border-bottom:none}.donations-table tbody tr:hover{background:#c56bf214}.overlay-link-row{margin-bottom:14px}.overlay-link-row:last-child{margin-bottom:0}.overlay-link-row__label{color:var(--text-muted);margin-bottom:6px;font-size:13px;display:block}.overlay-url-row{gap:8px;display:flex}.overlay-url-row input{font:inherit;border:1px solid var(--border);color:var(--text);background:#00000040;border-radius:8px;flex:1;padding:8px 12px}.overlay-url-row button{border:1px solid var(--border-strong);background:var(--color-secondary);color:#fff;border-radius:8px;padding:8px 16px;font-weight:600}.hint{color:var(--text-muted);margin-top:8px;font-size:13px}.goal-form{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.goal-form input{font:inherit;border:1px solid var(--border);color:var(--text);background:#00000040;border-radius:8px;padding:8px 12px}.goal-form button{background:var(--color-dominant);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-weight:600}.goal-form button.secondary{border:1px solid var(--border-strong);color:var(--text);background:0 0}.goal-bar__track{border:1px solid var(--border);background:#0000004d;border-radius:999px;height:22px;overflow:hidden}.goal-bar__fill{background:linear-gradient(90deg, var(--color-dominant), var(--color-accent-cyan));height:100%;transition:width .5s;box-shadow:0 0 16px #2cd7e180}.goal-bar__label{color:var(--text-muted);margin-top:6px;font-size:14px}.goal-bar--no-goal{font-weight:600}.donation-list{flex-direction:column;gap:10px;max-height:480px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.donation-list__item{border:1px solid var(--border);background:#0003;border-radius:8px;padding:10px 14px}.donation-list__header{color:var(--color-accent-cyan);justify-content:space-between;font-weight:600;display:flex}.donation-list__message{color:var(--text-muted);margin:6px 0 0}.donation-list__item time{color:var(--text-muted);margin-top:6px;font-size:12px;display:block}.donation-list__empty{color:var(--text-muted)}.overlay{font-family:var(--font-body);pointer-events:none;background:0 0;position:fixed;inset:0}.overlay__pill-wrap{position:absolute;bottom:28px;left:28px}.goal-pill{background:#120d24eb;border-radius:20px;flex-direction:column;gap:10px;min-width:340px;padding:14px 24px;display:inline-flex}.goal-pill--perso{border:3px solid var(--color-accent-cyan);box-shadow:0 0 20px #2cd7e166}.goal-pill--global{border:3px solid var(--color-dominant);box-shadow:0 0 20px #c56bf266}.goal-pill__label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.03em;color:#fff;text-align:center;white-space:nowrap;font-size:19px;font-weight:700}.goal-pill__track{background:#ffffff2e;border-radius:999px;height:14px;overflow:hidden}.goal-pill__fill{border-radius:999px;height:100%;transition:width .5s}.goal-pill--perso .goal-pill__fill{background:var(--color-accent-cyan);box-shadow:0 0 10px #2cd7e1b3}.goal-pill--global .goal-pill__fill{background:var(--color-dominant);box-shadow:0 0 10px #c56bf2b3}.donation-alert{opacity:0;background:linear-gradient(135deg, var(--color-secondary), var(--color-neutral-dark));border:1px solid var(--color-accent-cyan);color:#fff;text-align:center;border-radius:18px;min-width:280px;padding:22px 40px;transition:opacity .4s,transform .4s;position:absolute;top:60px;left:50%;transform:translate(-50%,-40px);box-shadow:0 12px 40px #2cd7e14d,0 0 0 1px #c56bf233}.donation-alert--visible{opacity:1;transform:translate(-50%)}.donation-alert__amount{font-family:var(--font-display);color:var(--color-accent-cyan);font-size:34px;font-weight:700}.donation-alert__name{margin-top:6px;font-size:18px;font-weight:600}.donation-alert__message{opacity:.9;margin-top:8px;font-size:15px}
