/* Profile canvas: the selected device owns the cover and the preview width. */
.pwl-profile-workspace { width:100%; min-width:0; }
.pwl-profile-toolbar { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:0 0 18px; }
.pwl-profile-device { display:flex; gap:3px; padding:4px; background:var(--pwl-color-surface); border-radius:9px; }
.pwl-profile-device button { width:40px; height:36px; display:flex; align-items:center; justify-content:center; border:0; border-radius:7px; background:transparent; color:var(--pwl-color-muted); }
.pwl-profile-device button[aria-pressed="true"] { background:var(--pwl-color-white); color:var(--pwl-color-brand); box-shadow:0 1px 4px var(--pwl-color-00000022); }
.pwl-profile-toolbar>span { font-size:13px; color:var(--pwl-color-muted); }
.pwl-profile-tools { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.pwl-profile-tools .pwl-button { font-size:14px; min-height:38px; padding:8px 14px; }
.pwl-profile-stage { background:var(--pwl-color-surface); border:1px solid var(--pwl-color-border); border-radius:12px; padding:24px; overflow:hidden; }
.pwl-profile-page { width:100%; max-width:1080px; margin:0 auto; background:var(--pwl-color-white); border:1px solid var(--pwl-color-border); border-radius:10px; overflow:hidden; transition:max-width .3s ease; container-type:inline-size; }
.pwl-profile-page[data-device="mobile"] { max-width:390px; }
.pwl-profile-cover { position:relative; width:100%; aspect-ratio:16 / 5; background:var(--pwl-color-cover-empty); overflow:hidden; }
.pwl-profile-page[data-device="mobile"] .pwl-profile-cover { aspect-ratio:3 / 2; }
.pwl-profile-cover>img { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:cover; }
.pwl-profile-cover>img[hidden],.pwl-profile-coverempty[hidden],.pwl-profile-covertools[hidden],.pwl-profile-content[hidden],.pwl-profile-publictabs [hidden] { display:none; }
.pwl-profile-coverempty { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; color:var(--pwl-color-muted); font-size:14px; }
.pwl-profile-coverempty .pwl-icon { width:30px; height:30px; opacity:.6; }
.pwl-profile-coveredit { position:absolute; z-index:2; bottom:18px; right:20px; min-height:36px; font-size:13px; padding:8px 12px; background:var(--pwl-color-white); }
.pwl-profile-intro { padding:0 32px 24px; position:relative; }
.pwl-profile-identity { display:flex; align-items:flex-end; gap:14px; margin-top:-38px; margin-bottom:18px; }
.pwl-profile-avatarwrap { position:relative; flex-shrink:0; }
.pwl-profile-avatarwrap .pwl-persona-avatar { display:flex; width:100px; height:100px; align-items:center; justify-content:center; border:5px solid var(--pwl-color-white); border-radius:50%; background:var(--persona-fill,var(--pwl-color-brand-soft)); color:var(--persona-ink,var(--pwl-color-brand)); font-size:32px; font-weight:600; overflow:hidden; }
.pwl-persona-avatar>img { width:100%; height:100%; object-fit:cover; }
.pwl-profile-avatarbutton { display:flex; align-items:center; justify-content:center; position:absolute; right:0; bottom:2px; width:32px; height:32px; border:1px solid var(--pwl-color-border); border-radius:50%; background:var(--pwl-color-white); cursor:pointer; }
.pwl-profile-avatarbutton .pwl-icon { width:17px; height:17px; }
.pwl-profile-textbutton { padding:6px 0; border:0; background:transparent; color:var(--pwl-color-muted); font-size:12px; }
.pwl-profile-namearea { display:flex; align-items:center; gap:10px; max-width:520px; }
.pwl-profile-namearea label { flex:1; min-width:0; }
.pwl-profile-namearea input { font-size:26px; font-weight:600; line-height:1.4; min-height:42px; width:100%; min-width:0; padding:3px 5px; margin-left:-5px; border:1px solid transparent; border-radius:7px; background:transparent; color:var(--pwl-color-text); }
.pwl-profile-namearea h2 { font-size:26px; font-weight:600; line-height:1.4; margin:0; min-height:42px; padding:4px 0; overflow-wrap:anywhere; }
.pwl-profile-namearea>.pwl-icon { color:var(--pwl-color-muted); width:16px; height:16px; flex-shrink:0; }
.pwl-profile-biofield { display:block; margin-top:8px; max-width:660px; }
.pwl-profile-biofield textarea { display:block; width:100%; min-width:0; min-height:66px; line-height:1.65; font-size:15px; padding:4px 5px; margin-left:-5px; border:1px solid transparent; border-radius:7px; resize:vertical; background:transparent; color:var(--pwl-color-text); }
.pwl-profile-namearea input:hover,.pwl-profile-biofield textarea:hover { border-color:var(--pwl-color-border); }
.pwl-profile-namearea input:focus,.pwl-profile-biofield textarea:focus { outline:2px solid var(--pwl-color-brand); outline-offset:1px; background:var(--pwl-color-white); }
#pwl-persona-preview-bio { margin-top:8px; min-height:66px; padding:4px 0; font-size:15px; line-height:1.65; white-space:pre-wrap; overflow-wrap:anywhere; }
.pwl-profile-editnote { display:flex; justify-content:space-between; gap:12px; max-width:660px; color:var(--pwl-color-muted); font-size:12px; margin-top:6px; }
.pwl-profile-editnote>span { white-space:nowrap; }
.pwl-profile-publictabs { display:flex; gap:28px; padding:0 32px; border-bottom:1px solid var(--pwl-color-border); }
.pwl-profile-publictabs button { border:0; border-bottom:2px solid transparent; padding:16px 2px; font-size:15px; font-weight:500; color:var(--pwl-color-muted); background:transparent; }
.pwl-profile-publictabs button[aria-selected="true"] { color:var(--pwl-color-text); font-weight:600; border-bottom-color:var(--pwl-color-text); }
.pwl-profile-content { padding:30px 32px; min-height:220px; }
.pwl-profile-content h3 { font-size:16px; font-weight:600; margin:0 0 8px; }
.pwl-profile-content>p { font-size:15px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.pwl-profile-empty { text-align:center; padding:24px 0; color:var(--pwl-color-muted); }
.pwl-profile-empty>.pwl-icon { width:30px; height:30px; margin-bottom:12px; opacity:.6; }
.pwl-profile-empty h3 { color:var(--pwl-color-text); }
.pwl-profile-empty p { font-size:14px; }
.pwl-profile-empty small { display:block; font-size:12px; margin-top:8px; }
.pwl-profile-visitoronly { display:none; }
.pwl-profile-isvisitor .pwl-profile-editonly,.pwl-profile-isvisitor .pwl-profile-namearea>.pwl-icon { display:none; }
.pwl-profile-isvisitor .pwl-profile-visitoronly { display:block; }
.pwl-profile-covertools { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; border:1px solid var(--pwl-color-border); background:var(--pwl-color-white); border-radius:9px; padding:18px; margin-bottom:18px; }
.pwl-profile-covertools strong { font-size:15px; font-weight:600; }
.pwl-profile-covertools p,.pwl-profile-covertools>div>span { font-size:12px; color:var(--pwl-color-muted); margin-top:5px; }
.pwl-profile-coveractions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.pwl-profile-coveractions .pwl-button { font-size:13px; min-height:36px; }
.pwl-profile-position { display:flex; flex-direction:column; gap:5px; font-size:12px; color:var(--pwl-color-muted); }
.pwl-profile-position input { width:120px; accent-color:var(--pwl-color-brand); }
.pwl-profile-options { margin-top:22px; border-bottom:1px solid var(--pwl-color-border); }
.pwl-profile-options summary { list-style:none; display:flex; align-items:center; gap:10px; cursor:pointer; padding:16px 0; font-size:15px; font-weight:500; }
.pwl-profile-options summary::-webkit-details-marker { display:none; }
.pwl-profile-options summary .pwl-icon { width:16px; height:16px; margin-left:auto; }
.pwl-profile-options[open] summary .pwl-icon { transform:rotate(90deg); }
.pwl-profile-optionbody { display:flex; align-items:center; flex-wrap:wrap; gap:30px 60px; padding:8px 0 24px; }
.pwl-persona-colors { border:0; padding:0; margin:0; display:flex; gap:12px; }
.pwl-persona-colors legend { font-size:13px; margin-bottom:12px; }
.pwl-persona-colors label { position:relative; cursor:pointer; }
.pwl-persona-colors input { position:absolute; inset:0; opacity:0; cursor:pointer; }
.pwl-persona-colors label>span:first-of-type { display:flex; width:28px; height:28px; border-radius:50%; align-items:center; justify-content:center; background:var(--persona-fill); color:transparent; border:1px solid transparent; }
.pwl-persona-colors input:checked+span { border-color:var(--persona-ink); color:var(--persona-ink); }
.pwl-persona-colors input:focus-visible+span,.pwl-profile-avatarbutton:focus-within,.pwl-profile-coveractions label:focus-within { outline:2px solid var(--pwl-color-brand); outline-offset:3px; }
.pwl-profile-visibility { display:flex; align-items:center; gap:24px; }
.pwl-profile-visibility strong { font-size:14px; font-weight:500; }
.pwl-profile-visibility small { display:block; font-size:12px; color:var(--pwl-color-muted); margin-top:5px; }
.pwl-profile-visibility input { width:18px; height:18px; accent-color:var(--pwl-color-brand); }
.pwl-profile-feedback,.pwl-persona-local { font-size:12px; color:var(--pwl-color-muted); margin-top:16px; }
.pwl-persona-dialog h2 { font-size:21px; font-weight:600; margin-bottom:14px; }
.pwl-persona-dialog p { font-size:14px; color:var(--pwl-color-muted); }
.pwl-persona-dialog>div { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:8px; margin-top:24px; }
@container (max-width:500px) {
.pwl-profile-intro { padding:0 20px 20px; }
.pwl-profile-identity { margin-top:-30px; }
.pwl-profile-avatarwrap .pwl-persona-avatar { width:84px; height:84px; font-size:28px; }
.pwl-profile-namearea input,.pwl-profile-namearea h2 { font-size:23px; }
.pwl-profile-publictabs { padding:0 20px; gap:24px; }
.pwl-profile-content { padding:26px 20px; }
.pwl-profile-coveredit { bottom:14px; right:14px; }
}
@media (max-width:600px) {
.pwl-profile-stage { padding:10px; }
.pwl-profile-toolbar { gap:10px; }
.pwl-profile-tools { width:100%; justify-content:flex-end; }
.pwl-profile-tools .pwl-button { font-size:13px; padding:8px 10px; }
.pwl-profile-covertools { padding:14px; }
}
@media (prefers-reduced-motion:reduce) {
.pwl-profile-page { transition:none; }
}
[data-tone="blue"] { --persona-ink:var(--pwl-color-657ba8); --persona-fill:var(--pwl-color-eaf0fa); }
[data-tone="violet"] { --persona-ink:var(--pwl-color-877aa7); --persona-fill:var(--pwl-color-f0ecf8); }
[data-tone="rose"] { --persona-ink:var(--pwl-color-ac7a84); --persona-fill:var(--pwl-color-f9edf0); }
[data-tone="green"] { --persona-ink:var(--pwl-color-698b7e); --persona-fill:var(--pwl-color-eaf3ee); }
[data-tone="slate"] { --persona-ink:var(--pwl-color-7a8390); --persona-fill:var(--pwl-color-edf0f4); }

.pwl-profile-cover[hidden]{display:none;}
.pwl-profile-isvisitor .pwl-profile-nocover .pwl-profile-intro{padding-top:24px;}
.pwl-profile-isvisitor .pwl-profile-nocover .pwl-profile-identity{margin-top:0;}

.pwl-profile-stats { margin:0 32px 24px; }
.pwl-profile-content .pwl-find-work { flex:0 0 calc((100% - 40px) / 3); }
.pwl-profile-page[data-device="mobile"] .pwl-profile-content { padding:24px 16px; }
.pwl-profile-page[data-device="mobile"] .pwl-profile-content .pwl-find-results { gap:20px 12px; }
.pwl-profile-page[data-device="mobile"] .pwl-profile-content .pwl-find-work { flex:0 0 calc((100% - 12px) / 2); }
.pwl-profile-page[data-device="mobile"] .pwl-profile-stats { margin:0 16px 20px; gap:24px; }
.pwl-profile-page[data-device="mobile"] .pwl-sc-authorcard { width:100%; }
@media(max-width:700px){.pwl-profile-content .pwl-find-work { flex:0 0 calc((100% - 12px) / 2); }.pwl-profile-content .pwl-find-results { gap:20px 12px; }}
