:root{--kc-blue:#273573;--kc-dark:#0e192d;--kc-red:#ec1d24;--kc-red-light:#f47a66;--kc-maroon:#a11d25;--kc-light:#ededeb;--kc-light-transparent:#ededebc0;--kc-pastel:#f8d4c8;--kc-green:#38761d;--kc-green-light:#b6d7a8;--font-sans:"Instrument Sans", ui-sans-serif, system-ui, sans-serif;--shadow-drop:2px 2px 5px #00000080;--text-shadow-dark:2px 2px 5px #0000004d;--text-shadow-dark-hover:2px 2px 5px #00000080;--text-shadow-light:2px 2px 5px #ffffff80;--btn-box-shadow:0 6px 12px #00000026;--btn-box-shadow-hover:0 6px 12px var(--kc-red-light)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background:linear-gradient(135deg, var(--kc-red), var(--kc-dark), var(--kc-dark), var(--kc-blue));color:var(--kc-light);font-family:var(--font-sans);justify-content:center;align-items:center;min-height:100dvh;display:flex}.donation-card{background:var(--kc-light-transparent);text-align:center;border-radius:16px;width:90%;max-width:500px;margin:0 auto;padding:1rem;box-shadow:0 10px 20px #00000080}.header-logo{width:120px;filter:drop-shadow(var(--shadow-drop));margin:0 auto 1.5rem;display:block}h1{color:var(--kc-blue);text-shadow:var(--text-shadow-dark);margin-bottom:.3rem;font-size:1.8rem}.description{color:var(--kc-blue);text-shadow:var(--text-shadow-dark);margin-bottom:1.5rem;font-size:1.1rem}.wheel-wrapper{aspect-ratio:1;width:90%;margin:2rem auto .5rem;position:relative;overflow:visible}.wheel-wrapper .wheel-container{aspect-ratio:1;cursor:grab;border-radius:50%;width:90%;transition:transform .5s ease-out;position:absolute;left:50%;transform:translate(-50%)}.wheel-wrapper .wheel-container:active{cursor:grabbing}@keyframes scaleUpDown{0%{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.1)}to{transform:translate(-50%)scale(1)}}.animate-scale{animation:.5s scaleUpDown}.static-labels{-webkit-user-select:none;user-select:none;aspect-ratio:1;pointer-events:none;width:90%;position:relative;overflow:visible;transform:translateY(1%)}.wheel-label{fill:var(--kc-blue);text-anchor:middle;dominant-baseline:middle;pointer-events:all;text-shadow:var(--text-shadow-dark);cursor:pointer;font-weight:600;transition:transform .5s}.wheel-label:active{fill:var(--kc-red);text-shadow:var(--text-shadow-dark-hover);font-weight:900;transform:scale(2.5)}.static-labels text.value-label{font-size:1.2rem}.footer{text-shadow:var(--text-shadow-light);justify-content:center;align-items:center;gap:8px;margin-top:1rem;font-family:Figtree,sans-serif;font-size:.8rem;display:flex}.footer svg{filter:drop-shadow(var(--text-shadow-light));display:inline-block}.footer a{color:inherit;text-decoration:none}.rotating-dial{touch-action:none;width:100%;height:100%;transition:transform .5s ease-out;position:absolute;top:0;left:0}.rotating-dial circle{fill:url(#dialGradient)}.wheel-pointer{fill:var(--kc-red-light);stroke:var(--kc-red)}.fine-tuning-overlay{aspect-ratio:1;z-index:10;background:#0000004d;border-radius:50%;justify-content:center;align-items:center;width:80%;transition:opacity .3s;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}.fade-enter-to,.fade-leave-from{opacity:1}.fine-tuning-content{-webkit-user-select:none;user-select:none;color:var(--kc-light);text-align:center;width:200px;text-shadow:var(--text-shadow-dark);border-radius:64px;padding:1.5rem;font-size:2.5rem;font-weight:700}.wheel-amount{touch-action:none;-webkit-user-select:none;user-select:none;color:var(--kc-light);text-shadow:var(--text-shadow-dark);font-size:2.5rem;font-weight:700;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.btn-donate{background:var(--kc-red-light);color:#fff;cursor:pointer;width:100%;box-shadow:var(--btn-box-shadow);border:none;border-radius:50px;padding:.75rem 1.25rem;font-size:1rem;font-weight:700;text-decoration:none;transition:background .3s,transform .3s;display:inline-block}.btn-donate:hover{background:var(--kc-red);box-shadow:var(--btn-box-shadow-hover);transform:translateY(-3px)}@keyframes pulse{0%,to{opacity:.9}50%{opacity:1}}.pulse{animation:4s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes heartBeat{20%,60%{transform:scale(1)}40%{transform:scale(1.2)}}.heart-beat{filter:drop-shadow(2px 2px 5px var(--kc-red-light));animation:3s ease-in-out infinite heartBeat}
