.profile-modal[hidden]{display:none}.profile-modal,.challenge-modal{position:fixed;inset:0;display:grid;place-items:center;padding:20px}.profile-modal{z-index:20}.challenge-modal{z-index:30}.modal-backdrop{position:absolute;inset:0;background:#171914b8;backdrop-filter:blur(5px)}.modal-dialog{position:relative;width:min(480px,100%);background:#fff;padding:34px 38px 38px;box-shadow:0 30px 80px #1118}.modal-close{position:absolute;top:12px;right:16px;background:none;border:0;color:#777970;font-size:28px;line-height:1;cursor:pointer}.modal-dialog .section-label{border-top:0;padding-top:0}.modal-dialog h2{font:400 clamp(24px,5.5vw,42px)/.95 Georgia,serif;letter-spacing:-.06em;margin:24px 0 12px}.modal-copy{color:#777970;font-size:13px;line-height:1.5;margin:0 0 25px}.modal-dialog form{display:grid;gap:16px}.modal-dialog label{display:grid;gap:7px;color:#777970;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.modal-dialog input{width:100%;border:1px solid #d2d3ca;background:#fafaf6;padding:12px;color:#181a16;outline:0}.modal-dialog input:focus{border-color:#9fca43;box-shadow:0 0 0 2px #c8ef6755}.form-error{color:#b34f47;font-size:12px;min-height:0;margin:0}.avatar-preview{display:flex;align-items:center;gap:10px;color:#777970;font-size:12px;margin:0}.avatar-preview img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid #d1d2c9;background:#f1f1ea}.modal-submit{border:0;background:#c8ef67;color:#273513;text-align:left;padding:14px;cursor:pointer}.modal-submit span{float:right;font-size:18px}body.modal-open{overflow:hidden}body.dark .modal-dialog{background:#282a25;color:#f3f2e9}body.dark .modal-dialog input{background:#1f211d;border-color:#494b43;color:#f3f2e9}@media(max-width:650px){.modal-dialog{padding:30px 22px 25px}}.challenge-modal .modal-dialog{width:min(1160px,59vw)}@media(max-width:700px){.challenge-modal .modal-dialog{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}}.result-modal[hidden]{display:none}.result-modal{position:fixed;inset:0;display:grid;place-items:center;padding:20px;z-index:40}.result-modal .modal-dialog{width:min(480px,100%)}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 16px}.result-stat{background:#f7f7f2;border:1px solid #e7e6df;padding:14px 16px;display:flex;flex-direction:column;gap:4px}body.dark .result-stat{background:#1f211d;border-color:#494b43}.result-stat b{font:400 32px Georgia,serif}.result-stat small{color:#888a81;text-transform:uppercase;font-size:10px;letter-spacing:.1em}.result-status{font-size:13px;color:#777970;margin:0 0 16px}.result-status.ok{color:#3f7a2e}.result-status.bad{color:#b34f47}.result-actions{display:grid;gap:10px}.ghost{border:1px solid #d2d3ca;background:none;padding:13px;cursor:pointer;color:#55564f;text-align:center}body.dark .ghost{border-color:#494b43;color:#f3f2e9}
.modal-dialog label.check{display:flex;flex-direction:row;align-items:center;gap:10px;text-transform:none;letter-spacing:0;font-size:13px;color:#55564f;cursor:pointer}.modal-dialog label.check input{width:auto;accent-color:#9fca43}


/* Rounded profile and challenge surfaces. */
.modal-dialog {
  border-radius: 18px;
}
.modal-dialog input,
.modal-dialog textarea,
.modal-dialog select {
  border-radius: 9px;
}
.modal-submit,
.challenge-actions .ghost {
  border-radius: 10px;
}
.challenge-turnstile { margin: 0 0 16px; }
.challenge-turnstile[hidden] { display: none; }
