@import url('/character-archive.css');

.guest-note{margin:20px 0 0;padding:14px 0;border-top:1px solid #e3e7eb;color:#667281;font-size:12px;line-height:1.5}
.guest-note h3{margin:0 0 6px;font-size:11px;font-weight:500;color:#8793a0}
.guest-note p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.public-note-setting{margin:18px 0 22px;padding:12px 0;border-top:1px solid #e3e7eb;color:#667281;font-size:12px;line-height:1.5}
.public-note-setting h3{margin:0 0 6px;color:#8793a0;font-size:11px;font-weight:500}
.public-note-setting>p{margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}
.public-note-setting label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px}
.public-note-setting input{width:18px;height:18px;flex:0 0 auto;margin:0;accent-color:#7e8e9a}
.public-note-setting #public-note-save-status{min-height:16px;margin:4px 0 0;color:#8793a0;font-size:11px}
.public-note-setting #public-note-save-status.error{color:#b46d6d}

/* Hosted-only account controls use the archive's existing type, color and buttons. */
.signin{max-width:340px;margin:22vh auto 60px;padding:0 22px;font-size:12px;line-height:1.6}
.signin h1{font-size:18px;font-weight:400;margin:0 0 12px}
.signin label{display:block;margin-top:28px}
.signin input{display:block;width:100%;margin:8px 0 18px;border:1px solid #d1d7de;border-radius:8px;padding:11px;background:#fff;color:#667281;font:inherit}
.signin input:focus-visible{outline:1px solid #9aa6b5;outline-offset:3px}
.signin p[role=status]{min-height:36px}
.cloud-status{max-width:420px;margin:12px 0 0;text-align:right;font-size:11px;line-height:1.5;color:#8793a0}
.hosted-characters .topbar-actions{justify-content:flex-end}
.hosted-characters .summary{position:relative;top:auto;left:auto;width:max-content;max-width:calc(100% - 64px);margin:32px 32px 0}
.hosted-characters .archive-view{padding-top:72px}
.stats-period{display:flex;align-items:center;gap:12px;margin-bottom:8px;font-size:11px;color:#8793a0}
.stats-period select{border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}
.journey-stats{display:grid;grid-template-columns:max-content max-content;column-gap:14px;row-gap:5px;max-width:100%}
.journey-stats .metric{display:contents;font-size:11px;line-height:1.4}
.journey-stats .metric span{color:#8793a0}
.journey-stats .metric strong{font-weight:400;color:#667281;font-variant-numeric:tabular-nums}
.library-total{margin-top:10px}
#identity-checks-view{max-width:980px;margin:18px auto 70px;padding:0 32px;color:#657181;font-size:13px;line-height:1.55}
.identity-checks-heading{display:flex;justify-content:flex-end;align-items:center;min-height:34px}
.identity-checks-heading button,#claim-review-older{min-height:44px;padding:7px 2px;border:0;border-bottom:1px solid #d1d7de;background:transparent;color:#667281;font:inherit;cursor:pointer}
.identity-checks-heading button:disabled,#claim-review-older:disabled{opacity:.5;cursor:default}
.identity-checks-filter{display:flex;align-items:center;gap:8px;min-height:44px;color:#8793a0;font-size:12px}
.identity-checks-filter input{width:17px;height:17px;margin:0;accent-color:#8793a0}
.identity-checks-summary{margin:4px 0;color:#8793a0;font-size:11px}
#claim-review-status{min-height:20px;margin:8px 0;color:#8793a0;font-size:11px}
#claim-review-list{display:grid;gap:30px}
.claim-review-card{border-top:1px solid #e3e7eb;padding-top:20px}
.claim-review-created,.claim-review-model,.claim-review-findings,.claim-review-save-status{font-size:11px;color:#8793a0}
.claim-review-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.claim-review-pair figure{min-width:0;margin:0}.claim-review-pair img{display:block;width:100%;height:clamp(130px,28vw,260px);object-fit:contain;background:#f5f6f7}
.claim-review-image-status{display:grid;place-items:center;height:clamp(130px,28vw,260px);margin:0;color:#8793a0;font-size:11px;text-align:center}
.claim-review-pair figcaption{font-size:11px;margin:5px 0;color:#8793a0}
.claim-review-outcome{margin-top:14px}
.claim-review-outcome p{margin:4px 0}.claim-review-final{font-size:14px;color:#667281}
.claim-review-scores{display:grid;grid-template-columns:max-content auto max-content auto;gap:4px 12px;margin:10px 0;font-size:12px}
.claim-review-scores dt{color:#8793a0}.claim-review-scores dd{margin:0;color:#667281}
.claim-review-audit{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-top:14px;padding-top:10px;border-top:1px solid #eef0f2}
.claim-review-choice-title{font-size:12px;color:#667281}
.claim-review-actions{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.claim-review-actions button{border:0;border-bottom:1px solid #d1d7de;background:transparent;padding:5px 8px;color:#8793a0;font:inherit;cursor:pointer}
.claim-review-actions button[aria-pressed=true]{background:#e7eaf0;color:#667281}
.claim-review-actions button:disabled{opacity:.5;cursor:default}
.claim-review-save{justify-self:start;align-self:end;border:0;border-bottom:1px solid #d1d7de;background:transparent;padding:5px 8px;color:#8793a0;font:inherit;cursor:pointer}
.claim-review-save:disabled{opacity:.5;cursor:default}
.claim-review-save-status{grid-column:1/-1;min-height:16px;margin:0}
.claim-review-card details{font-size:12px;line-height:1.6}.claim-review-extra{margin-top:8px}.claim-review-derived{grid-column:1/-1;margin:0;color:#667281}
@media(max-width:680px){#identity-checks-view{margin:16px auto 50px;padding:0 18px}}
@media(max-width:580px){.claim-review-pair{gap:8px}.claim-review-pair img,.claim-review-image-status{height:clamp(110px,34vw,190px)}.claim-review-audit{grid-template-columns:1fr;gap:6px}.claim-review-scores{grid-template-columns:max-content auto}}
#stats-note{margin:0;font-size:11px}
.installation{position:absolute;top:104px;right:32px;z-index:3;color:#8793a0;font-size:11px;line-height:1.5}
.installation>summary{text-align:right}
.installation-panel{position:absolute;top:28px;right:0;width:440px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 160px);overflow:auto;padding:20px;border:1px solid #e3e7eb;border-radius:10px;background:#fff;box-shadow:0 10px 30px rgb(75 86 97 / 10%)}
.installation-heading{display:flex;justify-content:space-between;gap:16px;color:#9aa6b5}
.installation-facts{display:grid;grid-template-columns:1fr 1fr;gap:5px 18px;margin-top:12px}
.installation-facts>span:last-child{grid-column:1/-1;overflow-wrap:anywhere}
.installation-facts strong{font-weight:400;color:#667281}
.installation-note,#media-status{min-height:16px;margin:4px 0;color:#a3adb9}
.installation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:9px}
.installation-actions button,.installation-playback button,.source-photo button{border:0;border-bottom:1px solid #d1d7de;background:transparent;padding:2px 0;color:#8793a0;font:inherit;cursor:pointer}
.installation-actions button:disabled,.installation-playback button:disabled,.source-photo button:disabled{opacity:.45;cursor:default}
.installation-actions span{color:#a3adb9}
.monitor-images{display:flex;gap:20px;flex-wrap:wrap}
.monitor-images figure{margin:8px 0;max-width:min(100%,360px)}
.monitor-images img{display:block;max-width:100%;max-height:240px;object-fit:contain}
.monitor-images img[hidden],.installation-playback video[hidden],.source-photo img[hidden]{display:none}
.monitor-images figcaption{margin-top:4px;color:#a3adb9}
.installation-playback{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:7px}
.installation-playback video{display:block;width:min(100%,640px);max-height:360px}
.details .source-photo{margin-top:25px;padding-top:14px;border-top:1px solid #eef0f2}
.source-photo h3{margin:0;color:#9aa6b5;font-size:12px;font-weight:400}
.source-photo p{min-height:16px;margin:5px 0 8px;color:#a3adb9;font-size:11px}
.source-photo p.error{color:#b46d6d}
.source-photo img{display:block;width:min(100%,260px);max-height:280px;object-fit:contain}
.source-photo button{margin-top:6px}
@media(max-width:680px){.installation{position:relative;top:auto;right:auto;margin:16px 18px 0}.installation-panel{max-height:calc(100dvh - 290px)}.installation-heading{align-items:flex-start;flex-direction:column;gap:0}.hosted-characters .summary{max-width:calc(100% - 36px);margin:24px 18px 0}.hosted-characters .archive-view{padding-top:40px}.installation-playback{align-items:flex-start;flex-direction:column}.details .source-photo img{width:min(100%,320px)}}
body.detail-open .installation{display:none}
@media(max-width:680px){.hosted-characters .topbar{position:static;padding:18px 18px 0}.hosted-characters .topbar-actions{justify-content:flex-start;flex-wrap:wrap;gap:14px}.cloud-status{max-width:none;text-align:left;margin-top:8px}.hosted-characters.detail-open .topbar{position:absolute;top:65px;left:18px;right:18px;padding:0}.hosted-characters .detail-layout{margin-top:85px}}
/* Claim controls share the gallery menu, with room for readable labels. */
.hosted-characters .topbar .settings-panel{box-sizing:border-box;width:300px;max-width:calc(100vw - 36px);max-height:calc(100dvh - 100px);overflow:auto;text-align:left}
.claim-controls{display:grid;gap:14px;min-width:0;margin:18px 0 14px;padding:14px 0;border:0;border-top:1px solid #e3e7eb;border-bottom:1px solid #e3e7eb;color:#667281;font-size:12px;line-height:1.5}
.claim-controls legend{padding:0 8px 0 0;font-weight:500}
.claim-controls label{display:flex;align-items:center;gap:9px;text-align:left}
.claim-controls input[type=checkbox]{margin:0;flex:0 0 auto;accent-color:#8793a0}
.claim-controls label[for=claim-experiment-method],.claim-controls label[for=claim-reveal-background-mode]{display:grid;gap:6px}
.claim-controls select{box-sizing:border-box;width:100%;padding:8px;border:1px solid #d1d7de;border-radius:6px;background:#fff;color:#667281;font:inherit}
.claim-controls button{justify-self:start!important;padding:7px 0!important;border-bottom:1px solid #d1d7de!important;font:inherit}
.claim-controls button:disabled{opacity:.5;cursor:default}
.claim-controls #claim-controls-status{margin:0;text-align:left;font-size:11px;line-height:1.5;white-space:normal;color:#667281}
@media(max-width:680px){.hosted-characters .topbar .settings-panel{left:0;right:auto;max-height:calc(100dvh - 260px)}}

/* Hosted controls: keep the shared archive renderer, with a quiet three-tab shell. */
.hosted-characters [hidden]{display:none!important}
.hosted-characters .topbar{display:none}
.controls-nav{position:relative;display:flex;align-items:center;gap:28px;margin:18px 32px 0;border:0;font-size:14px}
.controls-nav>[role=tab]{position:relative;min-height:44px;padding:10px 0;border:0;background:transparent;color:#8793a0;font:inherit;cursor:pointer}
.controls-nav>[role=tab][aria-selected=true]{color:#53606d}
.controls-nav>[role=tab][aria-selected=true]::after{position:absolute;right:0;bottom:0;left:0;height:2px;background:#687783;content:""}
.controls-nav>[role=tab]:focus-visible,.connection-details>summary:focus-visible,.gallery-actions button:focus-visible,.settings-view button:focus-visible,.settings-view summary:focus-visible{outline:2px solid #8793a0;outline-offset:3px}
.connection-details{position:relative;margin-left:auto;align-self:center}
.connection-details>summary{display:grid;place-items:center;width:44px;height:44px;list-style:none;cursor:pointer}
.connection-details>summary::-webkit-details-marker{display:none}
.connection-dot{width:7px;height:7px;border-radius:50%;background:#9aa6b5}
.connection-details[data-age=recent] .connection-dot{background:#78957c}
.connection-details[data-age=aging] .connection-dot{background:#c5a36b}
.connection-details[data-age=stale] .connection-dot{background:#bd7777}
.connection-panel{position:absolute;z-index:4;top:42px;right:0;width:min(320px,calc(100vw - 36px));padding:12px 14px;background:#fff;box-shadow:0 8px 24px #24344212;color:#8793a0;font-size:12px;line-height:1.5}
.connection-panel p{margin:0}.connection-panel p+p{margin-top:6px}
#characters-view[hidden],#review-view[hidden],#identity-checks-view[hidden],#settings-view[hidden]{display:none!important}
.hosted-characters .summary{box-sizing:border-box;width:auto;max-width:none;margin:8px 32px 0;padding:0;color:#53606d;font-size:13px}
.hosted-characters .summary>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;list-style:none;cursor:pointer}
.hosted-characters .summary>summary::-webkit-details-marker{display:none}
.hosted-characters .summary>summary::after{content:"⌄";color:#8793a0}
.hosted-characters .summary[open]>summary::after{content:"⌃"}
.hosted-characters .summary>summary>span:first-child{color:#8793a0}
.stats-period{min-height:44px;margin:8px 0}
.stats-period select,.settings-view select,.settings-view input:not([type=checkbox]){font-size:16px}
.gallery-actions{position:relative;display:flex;align-items:center;justify-content:center;gap:20px;width:min(calc(100% - 36px),740px);margin:4px auto 0}
.gallery-actions button{min-height:44px;padding:8px 0;border:0;background:transparent;color:#7e8a96;font:inherit;font-size:12px;cursor:pointer}
.gallery-actions #gallery-toggle{position:absolute;right:0}
.source-filters{display:flex;align-items:center;gap:18px}
.source-filters button[aria-pressed=true]{color:#53606d}
.reload-settings{border:0;background:transparent;color:#8793a0;padding:0;font:inherit;font-size:11px;text-decoration:underline;cursor:pointer}
.reload-settings:focus-visible{outline:2px solid #8793a0;outline-offset:3px}
@media(max-width:680px){.gallery-actions{justify-content:center}}
#characters-view:not(.show-all-characters) .grid>.card:nth-child(n+7){display:none}
#characters-view:not(.show-all-characters) #load-sentinel{display:none}
.hosted-characters .archive-view{padding-top:10px}
.hosted-characters .grid{grid-template-columns:repeat(6,minmax(0,90px));gap:34px 28px}
@media(min-width:681px){
  .gallery-actions{justify-content:center}
  #characters-view:not(.show-all-characters) .grid>.card:nth-child(n+7){display:block}
  #gallery-toggle{display:none}
}
.show-in-settings{display:grid;gap:4px;margin:12px 0;padding:0;border:0;color:#667281;font-size:13px}
.show-in-settings legend{margin-bottom:5px;color:#8793a0}
.show-in-settings label{display:flex;align-items:center;gap:10px;min-height:38px}
.show-in-settings input{width:18px;height:18px;margin:0;accent-color:#7e8e9a}
.settings-view{max-width:980px;margin:14px auto 70px;padding:0 32px;color:#667281;font-size:13px;line-height:1.55}
.settings-section{padding:16px 0}
.settings-section h2{margin:0 0 8px;font-size:15px;font-weight:500}
.claim-section{display:grid;gap:8px}
.claim-section>label:not([for=claim-experiment-method]):not([for=claim-reveal-background-mode]){display:flex;align-items:center;gap:10px;min-height:44px}
.claim-section input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:#7e8e9a}
.claim-section label[for=claim-experiment-method],.claim-section label[for=claim-reveal-background-mode]{display:grid;gap:7px;margin:6px 0 8px}
.settings-view select{box-sizing:border-box;width:100%;min-height:44px;padding:8px 10px;border:1px solid #dfe3e7;border-radius:6px;background:#fff;color:#53606d}
.settings-view input[type=number]{box-sizing:border-box;width:min(100%,10rem);min-height:44px;padding:8px 10px;border:1px solid #dfe3e7;border-radius:6px;background:#fff;color:#53606d;font:inherit}
.settings-view button{justify-self:start;min-height:44px;padding:9px 2px;border:0;border-bottom:1px solid #d1d7de;background:transparent;color:#667281;font:inherit;cursor:pointer}
#claim-controls-status{min-height:20px;margin:0;color:#667281}
.display-section>summary,.installation>summary{min-height:48px;display:flex;align-items:center;list-style:none;cursor:pointer;color:#53606d}
.display-section>summary::-webkit-details-marker,.installation>summary::-webkit-details-marker{display:none}
.display-section .silhouette-control{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:18px}
.display-section #public-notes-status{min-height:18px;margin:0;color:#8793a0;font-size:11px}
.display-section #public-notes-status.error{color:#b46d6d}
.display-section #retry-public-notes{min-height:38px}
.installation{position:static;z-index:auto;margin:0;font-size:13px;line-height:1.55}
.installation-panel{position:static;width:auto;max-width:none;max-height:none;overflow:visible;padding:12px 0;background:transparent;box-shadow:none}
.installation-heading{align-items:center;flex-direction:row;color:#8793a0}
.installation-note,#media-status{min-height:20px}
.installation-actions{gap:12px}
.account-actions{margin-top:8px}
.account-actions #signout{color:#8793a0}
.settings-view details,.settings-view .settings-section{border:0}
#review-view{max-width:980px;margin:18px auto 70px;padding:0 32px;font-size:13px}
#review-view .review-heading{display:none}
#review-view .review-filters{margin-top:0}
@media(max-width:680px){
  .controls-nav{gap:10px;margin:10px 18px 0;font-size:13px}
  .connection-panel{top:42px}
  .hosted-characters .summary{max-width:none;margin:4px 18px 0}
  .hosted-characters .summary>summary{font-size:12px}
  .hosted-characters .archive-view{padding:0 15px 48px}
  .hosted-characters .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 8px;max-width:420px}
  .hosted-characters .grid>.card{width:100%}
  .hosted-characters .grid>.card .card-media{height:clamp(150px,50vw,205px)}
  .gallery-actions{margin:0 18px}
  .settings-view{margin:4px auto 50px;padding:0 18px}
  .claim-section{gap:6px}
  .installation-heading{align-items:flex-start;flex-direction:column;gap:0}
  .installation-playback{align-items:flex-start;flex-direction:column}
  .installation-actions button,.installation-playback button{min-height:44px}
  #review-view{margin:16px auto 50px;padding:0 18px}
  #review-view .review-issue{padding:10px 0;border:0;border-radius:0;background:transparent}
  #review-view .review-cases{gap:0}
  #review-view .review-case{padding:12px 0;border:0;border-radius:0;background:transparent}
  .hosted-characters .detail-layout{margin-top:16px}
}
@media(min-width:681px){body.detail-open #controls-nav{display:none}}
@media(max-width:680px){body.detail-open #controls-nav{display:none}}
.control-notice{margin:8px 32px 0;padding:8px 0;color:#a25f5f;font-size:12px;line-height:1.5}
@media(max-width:680px){.control-notice{margin:6px 18px 0}}
.signin input{font-size:16px}
@media(max-width:680px){
  .hosted-characters .grid>.card .card-figure{width:100%;height:100%;margin-left:0}
  .hosted-characters .grid>.card .card-media{min-width:0}
}
#review-view .review-filter select,#review-view .review-filter input,#review-view .review-issue select,#review-view .review-issue input,#review-view .review-issue textarea,#review-view .review-media select,#review-view .review-media button{font-size:16px;min-height:44px}
#review-view .review-issue textarea{min-height:96px}
#review-view .review-more,#review-view .review-action,#review-view .review-back,.review-refresh{min-height:44px}
.claim-review-actions button,.claim-review-save,#claim-review-older{min-height:44px}

body.detail-open .gallery-actions{display:none}
.installation-panel{border:0;border-radius:0}
.display-section>summary::after,.installation>summary::after{content:"⌄";margin-left:auto;color:#8793a0}
.display-section[open]>summary::after,.installation[open]>summary::after{content:"⌃"}
.claim-section>.switch-row{display:flex;align-items:center;justify-content:space-between;min-height:56px;gap:18px}
.claim-section>.switch-row input{appearance:none;position:relative;width:38px;height:22px;flex:0 0 38px;margin:0;border-radius:99px;background:#dbe0e5;cursor:pointer}
.claim-section>.switch-row input::after{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;content:"";transition:left .12s}
.claim-section>.switch-row input:checked{background:#7e8e9a}
.claim-section>.switch-row input:checked::after{left:18px}
.claim-section>.switch-row input:focus-visible{outline:2px solid #8793a0;outline-offset:3px}
.account-actions #signout{border-bottom:0}

@media(min-width:681px) and (max-width:1100px){.hosted-characters .grid{grid-template-columns:repeat(3,90px);gap:55px 40px}}

.controls-header{display:flex;align-items:center;margin:18px 32px 0}
.controls-header .controls-nav{flex:1;margin:0}
body.detail-open .controls-header{display:none}
@media(max-width:680px){.controls-header{margin:10px 18px 0}}
