:root{--bg-color: #04020a;--void-purple: #9D4EDD;--void-glow: #e0c3ff;--text-primary: #f0e6ff;--text-secondary: #a09abc;--font-display: "Orbitron", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);font-family:Inter,sans-serif;color:var(--text-primary);height:100vh;overflow:hidden}#blackhole-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.main-title{position:fixed;top:0;left:50%;transform:translate(-50%);z-index:5;padding:2rem;font-family:var(--font-display);font-size:2.5rem;color:#fff;text-shadow:0 0 8px #fff,0 0 15px var(--void-glow)}.main-action{position:fixed;bottom:0;left:50%;transform:translate(-50%);z-index:5;padding:3rem;display:flex;gap:1.5rem;justify-content:center}.btn{padding:.85rem 1.75rem;font-size:1rem;font-weight:600;font-family:var(--font-display);border-radius:8px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border:1px solid transparent}.btn-hero{padding:1rem 2rem;font-size:1.1rem}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.btn-primary{background:var(--void-purple);color:#fff;border-color:var(--void-purple);box-shadow:0 0 10px 2px var(--void-purple)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 20px 4px var(--void-purple)}.btn-secondary{background:#0a021480;color:var(--text-secondary);border-color:#9d4edd99}.btn-secondary:hover:not(:disabled){color:var(--text-primary);border-color:var(--void-glow);background:#9d4edd1a}.btn-toggle-anim{position:fixed;top:20px;right:20px;z-index:100;width:44px;height:44px;background:#0a021480;border:1px solid rgba(157,78,221,.6);color:#fff;border-radius:50%;cursor:pointer;font-size:1.5rem;display:flex;justify-content:center;align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:all .2s ease}.btn-toggle-anim:hover{border-color:var(--void-glow);transform:scale(1.1);box-shadow:0 0 8px var(--void-glow)}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.modal-overlay.is-visible{opacity:1;visibility:visible}.modal-content{position:relative;background-color:#0a0214cc;border:1px solid var(--void-purple);padding:2rem;border-radius:12px;width:90%;max-width:550px;box-shadow:0 0 30px 5px #9d4edd33;transform:scale(.95);transition:transform .3s ease}.modal-overlay.is-visible .modal-content{transform:scale(1)}.modal-close{position:absolute;top:10px;right:15px;background:none;border:none;color:var(--text-secondary);font-size:2.5rem;cursor:pointer;line-height:1;transition:color .2s,transform .2s}.modal-close:hover{color:var(--void-glow);transform:scale(1.1)}.modal-content h2{font-family:var(--font-display);font-weight:400;margin-bottom:1.5rem;color:var(--text-secondary)}.input-area{width:100%;margin-bottom:1.5rem}textarea{width:100%;background-color:transparent;color:var(--text-primary);border:1px solid rgba(157,78,221,.4);border-radius:8px;padding:1rem;font-size:1.1rem;resize:none}textarea:focus{outline:none;border-color:var(--void-glow)}.feedback{min-height:20px;font-size:.9rem;margin-top:.75rem;font-weight:600}.feedback.success{color:#03dac6}.feedback.error{color:#cf6679}.button-group{display:flex;justify-content:center}.modal-text{font-size:1.2rem;line-height:1.7;color:var(--text-primary);white-space:pre-wrap}.release-animator{position:fixed;z-index:2000;background-color:#0a0214cc;border:1px solid rgba(157,78,221,.4);border-radius:8px;padding:1rem;color:var(--text-primary);font-size:1.1rem;white-space:pre-wrap;max-width:90vw;word-wrap:break-word;overflow:hidden;transform-origin:center center;transition:width .6s cubic-bezier(.4,0,.2,1),height .6s cubic-bezier(.4,0,.2,1),border-radius .6s cubic-bezier(.4,0,.2,1),color .3s ease,padding .6s cubic-bezier(.4,0,.2,1),background .6s cubic-bezier(.4,0,.2,1),opacity .6s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.main-title{font-size:2rem;padding:1.5rem}.main-action{width:100%;left:0;transform:none;bottom:0;padding-bottom:5vh;padding-left:1rem;padding-right:1rem;justify-content:center;gap:1rem}.btn-hero{padding:.9rem 1.25rem;font-size:1rem}.modal-content{padding:1.5rem}.modal-content h2{margin-bottom:1rem}.modal-text{font-size:1.1rem}}
