:root{font-family:system-ui,sans-serif;color:#eeeaf9;background:#100f19}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{background:#835ee7;border:1px solid #997af0;border-radius:12px;color:#fff;padding:12px 17px;cursor:pointer;min-height:44px}button:disabled{opacity:.5}.secondary{background:#252239;border-color:#4b4565}.shell{max-width:1180px;margin:auto;padding:32px}header{display:flex;justify-content:space-between;gap:20px;margin-bottom:32px}h1{font-size:clamp(28px,4vw,48px);margin:8px 0}.eyebrow{font-size:12px;letter-spacing:.18em;color:#bda7ff;font-weight:800}p{color:#b6b0ca;line-height:1.5}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:#1c192b;border:1px solid #3d3653;border-radius:22px;padding:24px}.auth{max-width:520px}.panel label{display:block;color:#c9c3db;font-size:14px;margin:16px 0}.panel input,.panel select{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #4e4569;border-radius:10px;background:#131120;color:#fff;min-height:46px}.actions{display:flex;gap:10px;flex-wrap:wrap}.campaign{display:flex;flex-direction:column;gap:4px;text-align:left;width:100%;background:#252139;border-color:#4c4166;margin:10px 0}.campaign span,.character span{color:#b9aed4;font-size:13px}.campaign.active{border-color:#a98cff;background:#362a56}hr{border:0;border-top:1px solid #403951;margin:24px 0}.character{padding:16px;margin:10px 0;border:1px solid #49415f;border-radius:12px;display:flex;justify-content:space-between}.notice{padding:14px;border:1px solid #7760b3;border-radius:12px;margin-top:22px}footer{margin-top:36px;color:#837a9e;font-size:12px}@media(max-width:700px){.columns{grid-template-columns:1fr}header{flex-wrap:wrap}.panel{padding:18px}}.auth-choices{display:grid;gap:12px;margin-top:24px}.auth-choices button,.auth-submit{width:100%}.auth form{margin-top:20px}.auth input:focus-visible,.auth button:focus-visible{outline:2px solid #bba3ff;outline-offset:2px}.password-row{display:flex;gap:8px;align-items:end}.password-row input{flex:1;min-width:0}.password-row .visibility{margin-top:8px;min-width:68px}.back-link,.text-link{border:0;background:transparent;color:#c8b6ff;padding:8px 0;text-align:left}.back-link:hover,.text-link:hover{text-decoration:underline}.auth-submit{margin-top:16px}.hint{font-size:13px;margin:8px 0}.auth h2{margin:8px 0 14px}.social-auth{margin-top:20px}.social-divider{display:flex;align-items:center;gap:12px;color:#a69bbf;font-size:13px;margin-bottom:16px}.social-divider:before,.social-divider:after{content:"";height:1px;background:#403951;flex:1}.google-button{display:block;width:100%;background:#f9f8ff;color:#1b1729;border-color:#ddd8ed;font-weight:650}.google-button:hover{background:#e9e5fa}.builder{margin-top:20px}.builder-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.builder-steps{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.builder-steps button{font-size:13px;min-height:40px;padding:9px 12px}.builder-steps .active{background:#6845be}.builder-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 20px}.ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ability-grid label{margin:0;text-align:center}.ability-grid small{display:block;margin-top:6px;color:#b6b0ca}.builder textarea{width:100%;margin-top:8px;background:#131120;color:#fff;border:1px solid #4e4569;border-radius:10px;padding:12px;font:inherit}.builder-nav{display:flex;justify-content:space-between;gap:10px;margin-top:22px}.character{align-items:center;gap:8px;flex-wrap:wrap}.character button{margin-left:auto}@media(max-width:600px){.ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-steps button{flex:1 1 40%}}.builder{grid-column:1/-1}.builder-head,.builder-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.builder-steps{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.builder-steps button{font-size:13px}.builder-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 16px}.ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ability-grid label{padding:12px;background:#252139;border-radius:12px;margin:0}.ability-grid small{display:block;margin-top:8px;color:#b6b0ca}.builder textarea{display:block;width:100%;margin-top:8px;padding:13px;border:1px solid #4e4569;border-radius:10px;background:#131120;color:#fff;font:inherit}.builder-nav{margin-top:24px}.character button{padding:6px 10px;min-height:36px;margin-left:10px}@media(max-width:500px){.ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-nav button{flex:1}}.panel{min-width:0}.panel label{line-height:1.5}.character-container+.character-container{margin-top:14px}.character-container .builder{margin:0;padding:20px;background:#211c32;border:1px solid #66518f}.builder-head{align-items:flex-start;gap:16px;margin-bottom:18px}.builder-head h2{margin:10px 0 0}.builder-steps{gap:10px;margin:20px 0 26px}.builder-steps button{margin:0}.builder-fields{gap:12px 20px}.builder-fields label{margin:0}.ability-section{display:grid;gap:18px}.ability-section>label{display:block;max-width:420px;margin:0}.ability-grid{gap:12px}.ability-grid label{display:flex;flex-direction:column;gap:6px;min-width:0}.ability-grid input,.ability-grid select{margin-top:0}.review-details{display:grid;gap:14px}.review-details p{margin:0;overflow-wrap:anywhere}.notes-field{display:grid;gap:8px;margin-top:12px}.notes-field label{margin:0}.notes-field textarea{display:block;width:100%;min-height:110px;background:#131120;color:#eeeaf9;border:1px solid #4e4569;border-radius:10px;padding:13px;font:inherit;resize:vertical}.builder-nav{margin-top:26px;gap:12px}.builder-nav button{margin:0}@media(max-width:700px){.character-container .builder{padding:16px}.builder-head{flex-wrap:wrap}.builder-steps{display:grid;grid-template-columns:1fr 1fr}.builder-steps button{width:100%;white-space:normal}.builder-nav{display:grid;grid-template-columns:1fr 1fr}.builder-nav button:nth-child(2){grid-column:1/-1;grid-row:1}.builder-nav button{width:100%}}.progression-section{display:grid;gap:16px}.progression-section h3{margin:12px 0 0}.progression-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.progression-stats label{margin:0}.proficiency-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.proficiency-grid label{display:flex;align-items:center;gap:10px;margin:0;padding:12px;background:#252139;border:1px solid #403951;border-radius:10px}.proficiency-grid input[type=checkbox]{width:20px;height:20px;min-height:20px;flex-shrink:0;margin:0;accent-color:#9a7aff}.proficiency-grid span{margin-left:auto;color:#bda7ff;font-size:12px}.progression-section .notes-field{margin-top:8px}@media(max-width:600px){.progression-stats{grid-template-columns:1fr 1fr}.proficiency-grid{grid-template-columns:1fr}}
