:root{--character-bg:#f5f3fa;--character-ink:#44365d;--character-border:#ded8e8;--character-gap:12px;--character-small:6px;--character-pad:16px;--character-radius:12px;--character-font:12px;--character-photo-limit:360px;--character-admin-avatar:48px;--character-mobile:460px}
.character-label{display:inline-block;background:var(--character-bg);color:var(--character-ink);border:1px solid var(--character-border);border-radius:var(--character-radius);padding:var(--character-small) var(--character-gap);font-size:var(--character-font);line-height:1.4;white-space:normal;overflow-wrap:anywhere;max-width:100%}
.avatar.has-character-photo{position:relative;overflow:hidden;padding:0}
.character-photo{display:block;position:relative;overflow:hidden;aspect-ratio:1;background:var(--character-bg);width:100%}
.avatar .character-photo{height:100%;aspect-ratio:auto}
.character-photo>img,.avatar .character-photo>img{position:absolute;width:200%;height:200%;max-width:none;object-fit:fill;inset:0 auto auto 0}
.character-photo.frame-1>img{left:-100%}.character-photo.frame-2>img{top:-100%}.character-photo.frame-3>img{top:-100%;left:-100%}
.character-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--character-gap);margin-block:var(--character-pad)}
.character-gallery>.character-photo{border-radius:var(--character-radius)}
.character-admin{display:grid;gap:var(--character-pad);min-width:0}.character-admin-head{display:flex;align-items:center;gap:var(--character-gap)}
.character-admin-head>span{width:var(--character-admin-avatar);height:var(--character-admin-avatar);display:grid;place-items:center;border-radius:var(--character-radius);background:var(--character-bg);color:var(--character-ink)}
.character-admin-head p,.character-admin p{line-height:1.6;font-size:var(--character-font)}
.character-admin-notice{padding:var(--character-gap);background:var(--character-bg);border-radius:var(--character-radius);color:var(--character-ink)}
.character-admin-tabs{display:flex;flex-wrap:wrap;gap:var(--character-small)}.character-admin-tabs button{background:transparent;padding:var(--character-gap);border-bottom:2px solid transparent}.character-admin-tabs button.active{border-color:var(--accent);color:var(--accent)}
.character-admin form{display:grid;gap:var(--character-gap);margin-block:var(--character-gap)}.character-admin label:not(.character-select){display:grid;gap:var(--character-small);font-size:var(--character-font);line-height:1.5;min-width:0}
.character-admin input:not([type=checkbox]),.character-admin select,.character-admin textarea{width:100%;min-width:0;padding:var(--character-gap);border:1px solid var(--character-border);border-radius:var(--character-small);background:var(--paper,#fff);font:inherit;color:inherit}
.character-admin input[type=checkbox]{accent-color:var(--accent)}.character-admin fieldset{padding:var(--character-gap);border:1px solid var(--character-border);border-radius:var(--character-radius)}
.character-admin-fields,.character-game-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--character-gap)}.character-game-options label{grid-template-columns:auto 1fr;align-items:center}
.character-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--character-gap)}.character-admin-toolbar label{grid-template-columns:auto 1fr}
.character-admin-list,.character-task-list{display:grid;gap:var(--character-gap);margin-block:var(--character-pad)}
.character-admin-person{display:grid;grid-template-columns:auto var(--character-admin-avatar) minmax(0,1fr) auto;gap:var(--character-gap);align-items:center;padding-block:var(--character-gap);border-bottom:1px solid var(--character-border)}
.character-admin-person>div{min-width:0;display:grid;gap:var(--character-small)}.character-admin-person small,.character-task-list small{display:block;font-size:var(--character-font);color:var(--muted,#777);overflow-wrap:anywhere}
.character-task-list article{display:grid;gap:var(--character-small);padding:var(--character-pad);border:1px solid var(--character-border);border-radius:var(--character-radius)}.character-task-list article>div{display:flex;gap:var(--character-small)}
.character-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--character-gap)}.character-library>label{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:var(--character-gap);border:1px solid var(--character-border);border-radius:var(--character-radius)}.character-library label>span{display:grid;gap:var(--character-small)}
.match-photo .character-photo{height:100%;max-width:var(--character-photo-limit);margin-inline:auto}.character-profile-slogan{font-style:italic;color:var(--character-ink)}
.character-admin :focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:460px){.character-admin-person{grid-template-columns:auto var(--character-admin-avatar) minmax(0,1fr)}.character-admin-person>.btn{grid-column:3;justify-self:start}.character-admin-fields{grid-template-columns:1fr}.character-library{grid-template-columns:1fr}}
.character-ai-label{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:5px;padding:2px 6px;border:1px solid #9a7cda80;border-radius:999px;background:linear-gradient(135deg,#30234c,#503c72);color:#f0e7ff;font-size:.62rem;font-weight:850;letter-spacing:.04em;vertical-align:middle}
