.assessment-invite{display:flex;align-items:center;gap:32px;background:#e7eee9;border:1px solid #d6e2da;border-radius:24px;padding:30px}
.assessment-invite h2{font-size:28px;margin:10px 0;max-width:620px}.assessment-invite p{max-width:620px;color:var(--muted)}
.assessment-invite>a{flex-shrink:0;text-decoration:none;text-align:center;max-width:240px}
.assessment-page{max-width:780px;padding:24px 24px 64px;margin:auto}.assessment-page h1{font-size:clamp(27px,4vw,38px);line-height:1.2;margin:16px 0}
.assessment-page .assessment-help{color:var(--muted);margin:12px 0 24px}.assessment-card{padding:30px;border:1px solid var(--line);border-radius:24px;background:white;box-shadow:0 12px 36px #123a2c06}
.assessment-progress{display:flex;gap:8px;margin:14px 0 28px}.assessment-progress span{height:6px;flex:1;border-radius:20px;background:#e7eee9}.assessment-progress span.active{background:#075438}
.assessment-page fieldset{padding:0;border:0;margin:0;min-width:0}.assessment-page legend{font-weight:700;font-size:24px;line-height:1.35;margin-bottom:20px;width:100%}
.assessment-options{display:grid;gap:10px}.assessment-option{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;cursor:pointer;font-size:16px;font-weight:400;line-height:1.55}
.assessment-option input{width:19px;height:19px;flex:0 0 19px;margin:3px 0 0;padding:0;accent-color:#075438}.assessment-option:has(input:checked){background:#f1f8e7;border-color:#075438;box-shadow:inset 0 0 0 1px #075438}
.assessment-option:focus-within{outline:3px solid #75af00;outline-offset:2px}.assessment-letter{font-weight:700;color:#075438}
.assessment-actions{display:flex;justify-content:space-between;gap:14px;margin-top:24px;flex-wrap:wrap}.assessment-actions button{max-width:100%;white-space:normal}
.assessment-page a{color:#075438}.assessment-back{display:inline-block;margin-bottom:24px}.assessment-page .primary-btn{color:#123a2c;text-decoration:none}
.assessment-page .form-message:empty{display:none}
.assessment-result{text-align:center}.assessment-result h2{font-size:28px;line-height:1.35}.assessment-level{font-size:96px;line-height:1.1;font-weight:800;color:#075438;letter-spacing:-.05em;margin:18px 0}
.assessment-level-row{display:flex;justify-content:center;align-items:baseline;gap:16px;flex-wrap:wrap;margin-top:8px}.assessment-level-name{font-size:clamp(22px,4vw,30px);font-weight:700;color:#075438}.assessment-level-name:empty{display:none}.assessment-level-link{margin:0 0 24px;text-underline-offset:4px}
.level-guide{display:grid;gap:16px;margin-top:28px}.level-guide article{padding:24px;background:#fff;border:1px solid var(--line);border-radius:18px;scroll-margin-top:24px}.level-guide article:target{border:2px solid #075438;background:#f1f8e7}.level-guide h2{font-size:25px;line-height:1.3;margin:0}.level-guide p{margin:12px 0 0;color:var(--muted)}.level-guide .level-code{display:inline-block;margin-right:12px;color:#075438}.level-guide article.future{border-style:dashed}.levels-note{padding:18px;border-radius:14px;background:#e7eee9;color:var(--muted)}
.assessment-review{padding-left:22px;text-align:left;line-height:1.6}.assessment-review li{margin:12px 0}.assessment-review strong{display:block}
.level-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.level-dupr{margin-left:auto;color:var(--muted);font-size:14px;font-weight:600;white-space:nowrap;background:#edf2ef;border-radius:999px;padding:7px 12px}
.assessment-explanation{text-align:left;background:#f4f7f5;padding:18px;border-radius:14px;margin:22px 0}.assessment-explanation summary{font-weight:700;cursor:pointer}
.assessment-storage{font-size:14px;color:var(--muted)}.assessment-page [hidden]{display:none!important}
.profile-preferences{display:grid;gap:18px;margin-top:24px}.profile-preferences>label{display:grid;gap:8px}.profile-preferences fieldset{min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:12px}.assessment-page .profile-preferences legend{font-size:17px;margin-bottom:8px;width:auto;padding:0 6px}.profile-preferences fieldset label{display:flex;align-items:center;gap:10px}.profile-preferences input[type=checkbox]{width:18px;height:18px;flex:0 0 18px;accent-color:#075438}.profile-preferences select{flex:1;min-width:0;max-width:100%}.profile-preferences input[type=text]{width:100%;min-width:0}.profile-preferences .assessment-storage{margin:0}
.profile-preferences fieldset label{flex-direction:row;justify-content:flex-start;text-align:left}
.profile-geolocation{padding:18px;border:1px solid #bfd7a7;border-radius:14px;background:#f5faee}.profile-geolocation h3{font-size:21px}.profile-geolocation p{font-size:13px;line-height:1.6;margin:12px 0}.profile-geolocation label{margin:16px 0 10px;display:grid;gap:8px}.profile-geolocation input{width:100%;min-width:0}.profile-geolocation .ghost-btn{display:inline-block;text-decoration:none;margin:4px 4px 4px 0;white-space:normal}.profile-point-display{overflow-wrap:anywhere;font-weight:700;color:#075438}
.profile-location-fields{display:grid;gap:18px}.profile-location-fields>div{display:grid;gap:8px}.profile-location-fields label{margin:0}.profile-location-fields select{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;font:inherit}.profile-location-fields input{margin-top:4px}.profile-location-fields select:disabled{background:#edf2e9;color:#687462}
.assessment-deeper .profile-summary-personal{font-size:13px;line-height:1.6;margin:0 0 16px;overflow-wrap:anywhere}.profile-extra-field input[type=date]{min-width:0;width:100%;font:inherit}.profile-extra-field input[readonly]{background:#edf2e9;color:#526448}
.profile-summary{display:grid;grid-template-columns:96px minmax(0,1fr);gap:20px;background:#fff;border:1px solid #ccdfba;border-radius:16px;padding:20px;margin:20px 0 12px}.profile-summary-avatar,.profile-summary-placeholder{width:96px;height:96px;border-radius:50%;object-fit:cover;background:#e4efd9;border:2px solid #ccdfba}.profile-summary-placeholder{display:grid;place-items:center;color:#526448;font-size:14px}.profile-summary-name{display:block;font-size:20px;overflow-wrap:anywhere;margin-bottom:12px}.profile-summary-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0}.profile-summary-stats dt{font-size:13px;color:#5f7055}.profile-summary-stats dd{font-size:22px;font-weight:750;color:#075438;margin:6px 0}.profile-summary-stats small{display:block;font-size:12px;color:#65715e;line-height:1.5}.profile-social-placeholders{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.profile-social-placeholders button{border:1px dashed #adb9a4;border-radius:999px;background:#f4f6f1;color:#697262;padding:9px 12px;font-size:12px;cursor:not-allowed}.assessment-deeper .profile-summary-note{font-size:13px;line-height:1.6;margin:12px 0 20px}.profile-summary .assessment-storage{margin:8px 0 0}@media(max-width:450px){.profile-summary{grid-template-columns:60px minmax(0,1fr);gap:12px;padding:14px 10px}.profile-summary-avatar,.profile-summary-placeholder{width:60px;height:60px}.profile-summary-stats{gap:12px 8px}.profile-summary-stats dd{font-size:18px}}
.profile-nav-link{color:inherit;text-decoration:none;white-space:nowrap}.nav-actions{flex-wrap:wrap}.profile-page h1{font-size:32px;line-height:1.25;letter-spacing:-.02em;margin:0 0 16px}.profile-page .assessment-deeper{margin-top:0}
.profile-avatar{display:block;width:96px;height:96px;object-fit:cover;border-radius:50%;margin:14px 0;border:2px solid #ccdfba}.profile-extra-field input[type=file]{font-size:14px;max-width:100%;padding:10px 0}.profile-extra-section>fieldset{margin-top:18px}
.profile-extra-section{border:1px solid #ccdfba;background:#f5f9f0;border-radius:12px;padding:16px}.profile-extra-section summary{cursor:pointer;font-weight:700;line-height:1.5}.profile-extra-section .profile-extra-field{display:grid;gap:8px;margin-top:16px}.profile-extra-field input,.profile-extra-field select{width:100%;min-width:0}.profile-extra-section p{font-size:14px;line-height:1.6}.profile-extra-section select{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit}
.week-quick{display:flex;flex-wrap:wrap;gap:8px}.week-quick .ghost-btn{font-size:13px;padding:8px 12px;white-space:normal}.week-table-wrap{max-width:100%;overflow-x:auto}.week-table{width:100%;min-width:280px;table-layout:fixed;border-collapse:collapse;font-size:14px}.week-table th,.week-table td{border:1px solid #ccdfba;padding:0;text-align:center}.week-table th{padding:10px 2px;background:#e4efd9;overflow-wrap:anywhere}.week-table th:first-child{width:58px}.profile-preferences .week-table td label{justify-content:center;min-height:44px;cursor:pointer;margin:0;padding:4px}.week-table td:has(input:checked){background:#d4eaaa}.week-table td:focus-within{outline:2px solid #075438;outline-offset:-2px}.profile-preferences .week-table input[type=checkbox]{margin:0}.week-table caption{text-align:left}
@media(max-width:450px){.profile-preferences fieldset{padding:10px 6px}.week-table{font-size:12px}.week-table th:first-child{width:44px}.assessment-deeper:has(.profile-preferences){padding:18px 12px}}
.assessment-deeper{background:#edf5e6;border:1px solid #ccdfba;border-radius:18px;text-align:left;padding:24px;margin:24px 0}.assessment-deeper h3{margin:0;font-size:23px;line-height:1.4}.assessment-deeper p{margin:12px 0 20px;color:var(--muted)}.assessment-deeper .primary-btn{display:inline-block;white-space:normal}.assessment-estimate{font-size:20px;font-weight:700;color:#075438}.assessment-practice{background:#f4f7f5;border-radius:16px;padding:18px;margin:22px 0}.assessment-practice h3{margin-top:0}.assessment-practice strong{display:block;margin-top:12px}
@media(max-width:650px){.assessment-invite{display:block;padding:24px}.assessment-invite>a{display:block;max-width:none;margin-top:20px}.assessment-page{padding:14px 16px 44px}.assessment-card{padding:22px 16px}.assessment-page legend{font-size:22px}.assessment-option{padding:12px;font-size:15px}.assessment-invite h2{font-size:25px}}
.profile-completion {display:block;margin-top:1rem;padding:1rem;border:1px solid #c8d7c6;border-radius:16px;background:#f3f8ed;color:#164637;}
.profile-completion progress {display:block;width:100%;height:12px;margin:.7rem 0;accent-color:#477d27;}
.profile-completion p {font-size:.9rem;margin:.5rem 0;line-height:1.5;}
.profile-privacy-control{font-size:.86rem!important;color:var(--muted);margin-top:.4rem;margin-bottom:1rem;max-width:100%;}
.profile-privacy-control select{font-size:.9rem;min-height:40px;width:100%;max-width:320px;}
.profile-privacy-note{font-size:.9rem;line-height:1.5;}
.profile-visible-details div{padding:.6rem 0;border-bottom:1px solid var(--line);}
.profile-visible-details dt{font-weight:600;}.profile-visible-details dd{margin:4px 0;overflow-wrap:anywhere;white-space:pre-wrap;}
.profile-summary-stats dt a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.profile-summary-stats dt a:hover{color:#075438;}
.score-guide-section{margin:24px 0;padding:24px;border:1px solid var(--line);border-radius:20px;background:white;scroll-margin-top:24px;}
.score-guide-section h2{margin-top:0;font-size:24px;}.score-guide-section p{line-height:1.7;}
.profile-preferences .profile-section-body{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 12px;margin-top:12px;}
.profile-section-body>*{grid-column:1/-1;min-width:0;}
.profile-section-body>.profile-field-container{grid-column:auto;}
.profile-section-body>.profile-field-container[data-profile-field=intro],.profile-section-body>.profile-field-container[data-profile-field=genderDescription],.profile-section-body>.profile-field-container[data-profile-field=courts]{grid-column:1/-1;}
.profile-field-container>.profile-extra-field{margin:0;gap:5px;font-size:14px;}
.profile-field-container input,.profile-field-container select{font-size:16px;padding:9px 10px;min-height:42px;border-radius:10px;}
.profile-field-container[data-profile-field=nickname]>.ghost-btn{padding:6px 10px;font-size:12px;margin-top:6px;}
.profile-field-container>p[role=status]{font-size:12px;line-height:1.4;margin:6px 0 0;}
.profile-field-container>.profile-privacy-control{display:grid;gap:4px;margin:6px 0 0;font-size:12px!important;}
.profile-field-container>.profile-privacy-control select{font-size:12px;min-height:36px;padding:6px;width:100%;max-width:none;}
.profile-section-body>p{margin:0;font-size:13px;}
.profile-section-body>.profile-avatar{margin:0;}
.profile-preferences .profile-location-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.profile-preferences{gap:14px;}
@media(max-width:600px){.profile-preferences .profile-section-body{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;}.profile-section-body>.profile-field-container[data-profile-field=nickname]{grid-column:1/-1;}.profile-field-container[data-profile-field=nickname]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 8px;align-items:end;}.profile-field-container[data-profile-field=nickname]>p{grid-column:1/-1;}.profile-field-container[data-profile-field=nickname]>.ghost-btn{min-height:42px;margin:0;}.profile-preferences .profile-location-fields{grid-template-columns:1fr;}.profile-extra-section{padding:12px;}}
@media(max-width:350px){.profile-preferences .profile-section-body{grid-template-columns:1fr;}}
.profile-avatar-editor{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;}
.profile-avatar-editor>.profile-extra-field{flex:1 1 180px;margin:0;}
.profile-avatar-editor>.profile-avatar{width:60px;height:60px;margin:0;}
.profile-avatar-editor>.ghost-btn,.profile-avatar-editor>.primary-btn{padding:8px 12px;font-size:13px;}
.profile-avatar-editor>p{flex-basis:100%;margin:0;font-size:12px;}
.profile-preferences>*{min-width:0;max-width:100%;}
.profile-preferences .profile-extra-section{width:100%;min-width:0;}

.week-time-shortcuts{display:flex;flex-wrap:nowrap;gap:4px}.week-time-shortcuts .ghost-btn{flex:1 1 0;min-width:0;font-size:clamp(10px,2.8vw,13px);padding:8px 3px;white-space:nowrap}.week-time-shortcuts .ghost-btn:last-child{flex:0.55 1 0}
