*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;background:url(https://res.cloudinary.com/dcapfjw28/image/upload/v1752864630/zap_spell_bgd_4_vllipk.png) no-repeat 50%;background-size:cover;background-attachment:fixed;position:relative;color:#fff}body:before{content:"";position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:10;pointer-events:none}#__next,main{position:relative;z-index:20;min-height:100vh}.character-creator-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.character-form{background:rgba(0,0,0,.7);padding:2.5rem;border-radius:1rem;max-width:500px;width:100%;color:#fff;box-shadow:0 20px 25px rgba(0,0,0,.4);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.1);margin:2rem 0}.form-header{text-align:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid hsla(0,0%,100%,.1)}.form-header h1{font-size:2rem;font-weight:700;margin-bottom:.5rem;background:linear-gradient(45deg,#d97706,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.form-header p{color:#e5e7eb;font-size:1rem;line-height:1.5}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.95rem;color:#d1d5db;font-weight:500}.required{color:#ef4444;margin-left:.25rem}input[type=number],input[type=text],select,textarea{width:100%;padding:.75rem;border-radius:.5rem;background:rgba(55,65,81,.8);color:#fff;border:1px solid #4b5563;font-size:1rem;transition:all .2s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);font-family:inherit}select{cursor:pointer}select option{background:#374151;color:#fff}textarea{resize:vertical;min-height:80px}input[type=number]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 3px rgba(217,119,6,.1);background:rgba(55,65,81,.9)}input[type=number]::placeholder,input[type=text]::placeholder,textarea::placeholder{color:#9ca3af}.stats-section{background:rgba(217,119,6,.1);border:1px solid rgba(217,119,6,.3);border-radius:.75rem;padding:1.5rem;margin:1.5rem 0}.stats-title{color:#d97706;font-size:1.1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(217,119,6,.3)}.stat-group{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.stat-group label{margin:0;font-size:1rem;color:#e5e7eb;font-weight:500;text-transform:capitalize}.stat-group input[type=number]{width:80px;margin-left:1rem;text-align:center}.stats-info{font-size:.85rem;color:#9ca3af;font-style:italic;margin-bottom:1rem}.max-reached-warning{color:#ef4444;font-size:.85rem;margin-top:.5rem;padding:.5rem;background:rgba(239,68,68,.1);border-radius:.375rem;border:1px solid rgba(239,68,68,.3)}.character-count{font-size:.85rem;color:#9ca3af;text-align:right;margin-top:.25rem}.submit-button{background:linear-gradient(45deg,#d97706,#f59e0b);color:#fff;padding:1rem 2rem;font-size:1.1rem;font-weight:700;border-radius:.5rem;border:none;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.3);width:100%;transition:all .2s ease;position:relative;overflow:hidden}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.4)}.submit-button:disabled{background:#6b7280;cursor:not-allowed;transform:none}.creating-message{background:rgba(217,119,6,.15);border-radius:.75rem;border:1px solid rgba(217,119,6,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;padding:2rem;margin-top:2rem;animation:slideIn .3s ease-out}.creating-message h3{color:#d97706;font-size:1.2rem;margin-bottom:.5rem}.creating-message p{color:#e5e7eb;font-size:.95rem;margin:0;line-height:1.5}.spinner{border-radius:50%;border:3px solid rgba(217,119,6,.3);border-top-color:#d97706;width:30px;height:30px;animation:spin 1s linear infinite;margin:1rem auto}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.character-creator-container{padding:1rem}.character-form{padding:2rem;margin:1rem 0}.form-header h1{font-size:1.7rem}}