/* System AI exclusive identity: six paired frames and emblems. */
.ai-sovereign-avatar::before,.ai-sovereign-avatar::after {content:none;display:none;}
.ai-sovereign-avatar,.ai-sovereign-badge {box-sizing:border-box;}
.ai-sovereign-avatar span,.ai-sovereign-badge span {box-sizing:border-box;}
 .ai-sovereign-badge {position:relative;isolation:isolate;width:var(--badge-width,88px);height:calc(var(--badge-width,88px)*.43);flex-shrink:0;container-type:inline-size;display:inline-block;vertical-align:middle;filter:drop-shadow(0 2px 2px #0907104a);--em-base:#372444;--em-shadow:#1b112b;--em-edge:#ae9ecb;--em-white:#f3f2fc;--em-violet:#a689ef;--em-cyan:#a6f9e7;}
 .ai-sovereign-badge span {position:absolute;display:block;pointer-events:none;}
 .as-em-chassis {z-index:3;inset:26% 23% 14%;background:linear-gradient(150deg,var(--em-white),var(--em-edge) 16%,var(--em-shadow) 20%,var(--em-base) 70%,var(--em-edge) 87%,var(--em-white));clip-path:polygon(12% 0,88% 0,100% 20%,100% 80%,88% 100%,12% 100%,0 80%,0 20%);}
 .as-em-face {z-index:4;inset:30% 26% 19%;background:linear-gradient(130deg,#655477,var(--em-base) 35%,#20142f 75%,#50336a);clip-path:polygon(10% 0,90% 0,100% 20%,100% 80%,90% 100%,10% 100%,0 80%,0 20%);box-shadow:inset 0 0 8px #bda3ff22;overflow:hidden;}
 .as-em-word {z-index:8;left:0;right:0;top:35%;text-align:center;font-family:"Arial",sans-serif;font-size:22cqi;font-weight:700;letter-spacing:.01em;line-height:1;color:var(--em-white);text-shadow:0 1px 0 #7a65a8,0 2px 1px #100719;}
 .as-em-crown {z-index:6;left:36%;width:28%;top:1%;height:31%;background:linear-gradient(135deg,var(--em-white),var(--em-edge) 30%,#7b68a3 35%,var(--em-white) 60%,#53416d 64%,var(--em-edge));clip-path:polygon(0 16%,24% 42%,28% 0,50% 30%,72% 0,76% 42%,100% 16%,91% 95%,9% 95%);}
 .as-em-gem {z-index:7;left:46.5%;top:14%;width:7%;height:20%;clip-path:polygon(50% 0,100% 45%,50% 100%,0 45%);background:conic-gradient(from 80deg,#ecffff,#8c6be5,#eddbff,#645393,#d4fbff);}
 .as-em-wing {z-index:2;width:36%;height:61%;top:20%;left:0;}
 .as-em-wing.right {left:auto;right:0;transform:scaleX(-1);}
 .as-em-feather {left:0;top:0;width:100%;height:35%;background:linear-gradient(160deg,var(--em-white),#af9acb 25%,#654e86 50%,#261636);clip-path:polygon(0 0,100% 45%,100% 100%,25% 65%);}
 .as-em-feather:nth-child(2) {left:13%;top:27%;width:87%;height:32%;clip-path:polygon(0 0,100% 18%,100% 100%,26% 64%);}
 .as-em-feather:nth-child(3) {left:31%;top:51%;width:68%;height:28%;clip-path:polygon(0 0,100% 0,100% 100%,30% 56%);}
 .as-em-feather::after {content:"";position:absolute;left:17%;right:0;top:35%;height:1px;background:var(--em-white);opacity:.65;transform:rotate(8deg);}
 .as-em-rail {z-index:6;left:18%;right:18%;height:5%;bottom:8%;background:linear-gradient(90deg,transparent,var(--em-edge),#cfe1fe,var(--em-violet),transparent);clip-path:polygon(0 50%,20% 0,80% 0,100% 50%,80% 100%,20% 100%);}
 .as-em-spark {z-index:8;width:4%;height:13%;left:12%;top:16%;background:#efe6ff;clip-path:polygon(50% 0,65% 37%,100% 50%,65% 63%,50% 100%,35% 63%,0 50%,35% 37%);}
 .as-em-spark.right {left:auto;right:12%;top:25%;}
 .as-em-sweep {z-index:10;left:-90%;top:-35%;bottom:-35%;width:28%;background:linear-gradient(90deg,transparent,#faf6ffcc,transparent);transform:skewX(-22deg);opacity:0;}
 .ai-sovereign-badge:hover .as-em-sweep {animation:ai-sovereign-sweep 850ms ease-out 1;}
 .ai-sovereign-badge:hover {filter:drop-shadow(0 0 3px #a599d788) drop-shadow(0 2px 2px #0907104a);}
 .ai-badge-reactor .as-em-chassis {inset:11% 30% 10%;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:conic-gradient(from 60deg,var(--em-white),#9282b9,var(--em-shadow),#b8ace8,var(--em-white),#5b477b,var(--em-white));}
 .ai-badge-reactor .as-em-face {inset:17% 33% 17%;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:radial-gradient(circle at 50% 35%,#73538f,#30203f 60%,#161523);}
 .ai-badge-reactor .as-em-word {top:37%;font-size:19cqi;text-shadow:0 0 3px #c6f6fa77,0 2px 1px #100719;}
 .as-em-orbit {z-index:6;inset:33% 2% 29%;border:1.7px solid #c9bded;border-radius:50%;transform:rotate(-12deg);box-shadow:0 0 0 1px #74619566;}
 .as-em-orbit.back {z-index:2;inset:22% 9% 19%;border-color:#97e4d0;transform:rotate(20deg);}
 .as-em-orbit::before {content:"";position:absolute;top:27%;left:0;width:7%;aspect-ratio:1;border-radius:50%;background:#cefbf0;box-shadow:0 0 4px #a7e7d377;}
 .as-em-fin {z-index:3;width:28%;height:8%;left:4%;top:39%;background:linear-gradient(90deg,#b8c7e9,#777089);clip-path:polygon(0 50%,18% 0,100% 0,100% 100%,18% 100%);}
 .as-em-fin.bottom {top:61%;left:11%;width:21%;background:linear-gradient(90deg,#9a6bea,var(--em-white));}
 .as-em-fin.right {left:auto;right:4%;transform:scaleX(-1);}
 .as-em-fin.bottom.right {left:auto;right:11%;}
 .ai-badge-reactor .as-em-gem {top:3%;left:47%;width:6%;height:14%;background:#ccffe9;}
 .ai-badge-gold {--em-white:#fffcef;--em-edge:#e4c47d;--em-violet:#f0daa0;--em-shadow:#867343;}
 .ai-badge-gold .as-em-chassis {inset:19% 8% 12%;clip-path:polygon(8% 0,92% 0,100% 26%,100% 74%,92% 100%,8% 100%,0 74%,0 26%);background:conic-gradient(from 25deg,#fffaf0,#e9ce88,#9f894e,#ffefbd,#fffefa,#c8ae67,#fffff3);}
 .ai-badge-gold .as-em-face {inset:24% 11% 18%;background:linear-gradient(130deg,#fff7df,#f0d99b 40%,#dfc07c 80%,#ffedbf);clip-path:polygon(7% 0,93% 0,100% 25%,100% 75%,93% 100%,7% 100%,0 75%,0 25%);box-shadow:inset 0 0 4px #fffff8aa;}
 .ai-badge-gold .as-em-word {left:39%;right:14%;font-size:23cqi;top:36%;letter-spacing:.035em;color:#463450;text-shadow:0 1px 0 #fff9ee;}
 .as-em-twin {z-index:7;left:15%;top:26%;width:32%;height:54%;border-radius:50%;border:1px solid #dccbe8;box-shadow:inset 0 0 0 1px #655177;background:linear-gradient(120deg,#221b2b,#514055);}
 .as-em-stone {left:8%;top:14%;width:56%;height:57%;border-radius:50%;background:radial-gradient(circle at 33% 22%,#707887,#1d1e26 55%,#090911);box-shadow:0 1px 2px #05060a88;}
 .as-em-stone.white {left:39%;top:33%;background:radial-gradient(circle at 33% 22%,#ffffff,#e3e7e4 65%,#9ea3a5);}
 .ai-badge-gold .as-em-crown {left:39%;width:22%;height:24%;top:1%;background:linear-gradient(135deg,#fffcef,#e4c47d 38%,#fff9e8 52%,#c7aa62 56%,#fffcef);}
 .ai-badge-gold .as-em-gem {top:10%;left:47%;height:14%;width:6%;}
 .as-em-angle {z-index:8;left:0;top:34%;width:8%;height:30%;border-top:2px solid #d8c9f5;border-bottom:2px solid #d8c9f5;transform:skewY(-18deg);}
 .as-em-angle.right {left:auto;right:0;transform:skewY(18deg);}
 .ai-badge-gold .as-em-angle {border-color:#e6cc8a;}
 .ai-badge-gold .as-em-spark {background:#fff5d7;filter:drop-shadow(0 1px 1px #776335);}
 .ai-badge-gold .as-em-grid {background-image:linear-gradient(#fff9ec77 1px,transparent 1px),linear-gradient(90deg,#fff9ec77 1px,transparent 1px);}
 .as-em-grid {position:absolute;inset:0;background-image:linear-gradient(#c8baec22 1px,transparent 1px),linear-gradient(90deg,#c8baec22 1px,transparent 1px);background-size:18% 33%;opacity:.5;}
 .ai-sovereign-avatar {--avatar-size:62px;--af-deep:#392944;--af-metal:#927ead;--af-edge:#c6b5df;--af-bright:#faf2ff;--af-light:#b19de1;position:relative;isolation:isolate;flex-shrink:0;width:100%;height:100%;display:block;border-radius:0;overflow:visible;background:transparent;filter:drop-shadow(0 2px 2px #21162e4a);}
 .ai-sovereign-avatar span {position:absolute;display:block;}
 .as-af-shell {z-index:3;inset:15%;border-radius:50%;background:conic-gradient(from 20deg,var(--af-deep),var(--af-metal) 10%,var(--af-bright) 19%,var(--af-deep) 28%,var(--af-edge) 38%,var(--af-bright) 48%,var(--af-metal) 60%,var(--af-deep) 72%,var(--af-edge) 90%,var(--af-deep));box-shadow:inset 0 0 0 1px var(--af-edge),0 0 0 1px var(--af-deep);}
 .as-af-shell::before {content:"";position:absolute;inset:5%;border:1px solid var(--af-bright);border-radius:inherit;opacity:.65;}
 .as-af-inlay {z-index:6;inset:22%;border:1px solid var(--af-bright);border-radius:50%;box-shadow:0 0 0 1px var(--af-deep),inset 0 0 0 2px var(--af-metal);}
 .as-af-core {z-index:5;inset:24%;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 25% 20%,#74677e,#51465f 60%,#382e46);box-shadow:inset 0 1px 2px #f5eaff33;}
 .as-af-stone {z-index:2;top:28%;left:9%;width:48%;height:48%;border-radius:50%;background:radial-gradient(circle at 30% 20%,#676d75,#171b21 63%,#060711);box-shadow:0 2px 3px #0005;}
 .as-af-stone.white {left:auto;right:9%;top:37%;background:radial-gradient(circle at 30% 20%,#fffefe,#e7e8e1 68%,#9ea6a5);}
 .as-af-crown {z-index:10;left:35%;width:30%;top:0;height:25%;background:linear-gradient(140deg,var(--af-bright),var(--af-edge) 27%,var(--af-metal) 30%,var(--af-bright) 56%,var(--af-metal) 59%,var(--af-edge));clip-path:polygon(0 22%,23% 43%,28% 0,50% 29%,72% 0,77% 43%,100% 22%,87% 97%,13% 97%);}
 .as-af-crown::after {content:"";position:absolute;width:16%;height:40%;top:35%;left:42%;background:linear-gradient(120deg,#f6ffff,var(--af-light));clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);}
 .as-af-wings {z-index:2;left:0;top:29%;width:29%;height:46%;}
 .as-af-wings.right {left:auto;right:0;transform:scaleX(-1);}
 .as-af-feather {left:0;width:100%;height:28%;background:linear-gradient(155deg,var(--af-bright),var(--af-edge) 32%,var(--af-metal) 54%,var(--af-deep));clip-path:polygon(0 0,100% 19%,100% 100%,36% 68%);}
 .as-af-feather:nth-child(2) {left:9%;top:26%;width:91%;}
 .as-af-feather:nth-child(3) {left:20%;top:51%;width:80%;}
 .as-af-feather:nth-child(4) {left:36%;top:76%;width:64%;}
 .as-af-feather::after {content:"";position:absolute;height:1px;top:26%;left:14%;right:0;background:var(--af-bright);opacity:.6;transform:rotate(8deg);}
 .as-af-base {z-index:7;left:27%;width:46%;top:82%;height:14%;background:linear-gradient(130deg,var(--af-bright),var(--af-metal) 35%,var(--af-deep) 60%,var(--af-edge));clip-path:polygon(0 0,100% 0,82% 56%,50% 100%,18% 56%);}
 .as-af-jewel {z-index:9;left:45%;top:85%;width:10%;height:11%;background:conic-gradient(from 45deg,var(--af-bright),var(--af-light),var(--af-deep),var(--af-edge),var(--af-bright));clip-path:polygon(50% 0,100% 40%,50% 100%,0 40%);}
 .as-af-sat {z-index:8;left:11%;top:40%;width:6%;height:6%;background:var(--af-bright);border-radius:50%;box-shadow:0 0 0 1px var(--af-deep);}
 .as-af-sat.right {left:auto;right:11%;top:56%;}
 .ai-frame-reactor {--af-light:#b4f4de;--af-bright:#f3fcff;--af-edge:#d1c5ec;}
 .ai-frame-reactor .as-af-shell {inset:10% 14%;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);border-radius:0;background:conic-gradient(from 45deg,#effdff,#7a6a93,#42314f,#c3b4e5,#effdff,#8272a1,#c3b4e5,#effdff);box-shadow:none;}
 .ai-frame-reactor .as-af-shell::before {inset:5%;clip-path:polygon(25% 0,75% 0,100% 25%,100% 75%,75% 100%,25% 100%,0 75%,0 25%);border-radius:0;border-color:#ddd0ff;}
 .ai-frame-reactor .as-af-core {inset:22%;}
 .ai-frame-reactor .as-af-crown {left:45%;width:10%;height:15%;top:0;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(135deg,#e9fff9,#86cdbb,#f2ffff);}
 .ai-frame-reactor .as-af-wings {display:none;}
 .ai-frame-reactor .as-af-orbit {z-index:8;inset:30% -2% 32%;border-radius:50%;border:1px solid #d3c4f5;transform:rotate(-18deg);box-shadow:0 0 0 1px #79638744;}
 .ai-frame-reactor .as-af-orbit.back {z-index:1;inset:20% 5% 24%;transform:rotate(35deg);border-color:#a7e4d2;}
 .ai-frame-reactor .as-af-sat {left:0;top:57%;background:#d4ffee;border:0;}
 .ai-frame-reactor .as-af-sat.right {left:auto;right:4%;top:23%;}
 .ai-frame-reactor .as-af-base {height:9%;top:85%;left:40%;width:20%;clip-path:polygon(0 0,100% 0,50% 100%);}
 .ai-frame-gold {--af-deep:#a0874d;--af-metal:#d6b96f;--af-edge:#f6de9d;--af-bright:#fffdf4;--af-light:#fff1bf;}
 .ai-frame-gold .as-af-crown {top:0;left:32%;width:36%;height:24%;}
 .ai-frame-gold .as-af-shell {inset:16%;background:conic-gradient(from 22deg,#f3d995,#b0995c,#fffdf3,#d7bc75,#a88f51,#fff7d9,#e4c780,#fffcef,#dfc486);}
 .ai-frame-gold .as-af-wings {width:27%;top:26%;height:48%;}
 .ai-frame-gold .as-af-feather {border-radius:4px 70% 2px 70%;clip-path:none;width:52%;height:42%;left:45%;top:2%;transform:rotate(-38deg);}
 .ai-frame-gold .as-af-feather:nth-child(2) {left:22%;top:26%;transform:rotate(-58deg);}
 .ai-frame-gold .as-af-feather:nth-child(3) {left:22%;top:53%;transform:rotate(-81deg);}
 .ai-frame-gold .as-af-feather:nth-child(4) {left:45%;top:70%;transform:rotate(-103deg);}
 .ai-frame-gold .as-af-feather::after {left:48%;right:auto;width:1px;top:10%;height:75%;transform:rotate(-10deg);}
 .ai-sovereign-avatar .as-em-sweep {left:-60%;height:auto;}
 .ai-sovereign-avatar:hover .as-em-sweep {animation:ai-sovereign-sweep 850ms ease-out 1;}
 @keyframes ai-sovereign-sweep {0%{left:-70%;opacity:0;}20%{opacity:.8;}100%{left:160%;opacity:0;}}

/* Fit decorations inside each existing host; only the real system AI uses these rules. */
html[data-theme] body :is(.profile-avatar,.user-avatar-sm,#nav-avatar,.member-preview-avatar,.admin-ai-identity-avatar,.room-player-stone):has(>.ai-sovereign-avatar) {overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;flex-shrink:0;}
html[data-theme] body .user-avatar-sm:has(>.ai-sovereign-avatar) {width:56px;height:56px;}
html[data-theme] body #nav-avatar:has(>.ai-sovereign-avatar) {width:44px;height:44px;}
html[data-theme] body .profile-avatar:has(>.ai-sovereign-avatar) {width:88px;height:88px;}
html[data-theme] body.view-lobby-view .lobby-online-user:has(.ai-sovereign-avatar) {grid-template-columns:56px minmax(0,1fr) auto;min-height:68px;align-items:center;}
.ai-sovereign-name {display:flex;align-items:center;gap:4px;flex-wrap:wrap;white-space:normal;overflow:visible;line-height:1.2;}
.ai-sovereign-name > .ai-sovereign-badge {--badge-width:76px;}
.system-ai-profile-name {display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:20px;font-weight:800;color:var(--ink);}
.system-ai-profile-caption {font-size:12px;color:var(--ink3);margin-top:4px;}
.room-player-name:has(.ai-sovereign-badge) {display:flex;align-items:center;justify-content:center;gap:3px;flex-wrap:wrap;white-space:normal;overflow:visible;}
.room-player-name .ai-sovereign-badge {--badge-width:70px;}
:is(.kifu-players,.kifu-detail-players,.personal-badges) .ai-sovereign-badge {--badge-width:64px;}

/* Account security: pairing is selected and saved as one setting. */
.admin-ai-identity {max-width:860px;padding:20px;margin-top:20px;border:1px solid var(--paper3);border-radius:12px;background:var(--paper2);box-sizing:border-box;}
.ai-sovereign-avatar .as-af-stone {left:9%;top:28%;width:48%;height:48%;}
.ai-sovereign-avatar .as-af-stone.white {left:auto;right:9%;top:37%;}
.admin-ai-identity-options {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin:16px 0;}
.admin-ai-identity-option {position:relative;display:flex;flex-direction:column;gap:8px;min-width:0;padding:14px;border:1px solid var(--paper3);border-radius:10px;background:var(--paper2);cursor:pointer;color:var(--ink);}
.admin-ai-identity-option.selected {border-color:#8f7db2;box-shadow:inset 0 0 0 1px #8f7db2;background:color-mix(in srgb,var(--paper2),#927ead 8%);}
.admin-ai-identity-option:focus-within {outline:2px solid #a7bfc8;outline-offset:3px;}
.admin-ai-identity-option input {width:16px;height:16px;accent-color:#766193;}
.admin-ai-identity-preview {display:flex;align-items:center;justify-content:center;gap:10px;min-height:76px;pointer-events:none;}
.admin-ai-identity-avatar {width:62px;height:62px;flex-shrink:0;}
.admin-ai-identity-label {display:flex;align-items:center;gap:7px;font-size:13px;}
.admin-ai-identity-actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.admin-ai-identity-status {font-size:12px;line-height:1.6;color:var(--ink3);}
.admin-ai-identity-status.error {color:var(--danger,#b44a47);}
@media(max-width:620px) {
  .ai-sovereign-name > .ai-sovereign-badge {--badge-width:72px;}
  .system-ai-profile-name {font-size:18px;gap:3px;}
  .system-ai-profile-name .ai-sovereign-badge {--badge-width:76px;}
  html[data-theme] body .profile-avatar:has(>.ai-sovereign-avatar) {width:78px;height:78px;}
  body.view-game-view .room-player-name:has(.ai-sovereign-badge) {justify-content:flex-start;flex-wrap:nowrap;overflow:hidden;}
  body.view-game-view .room-player-name .ai-sovereign-badge {--badge-width:48px;}
  .admin-ai-identity-options {grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce) {.ai-sovereign-badge .as-em-sweep,.ai-sovereign-avatar .as-em-sweep {animation:none!important;}}

/* Gold collector sets retain the approved sculpted artwork on either theme. */
.ai-sovereign-avatar.as-raster-avatar {filter:drop-shadow(0 1px 1px #3b271635);}
.as-raster-avatar > .as-raster-art,.as-raster-badge > .as-raster-art {display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;border:0;border-radius:0;object-fit:contain;pointer-events:none;user-select:none;}
.ai-sovereign-badge.as-raster-badge {filter:drop-shadow(0 1px 1px #3b271635);}
.ai-sovereign-badge.ai-badge-imperial {width:calc(var(--badge-width,88px)*.55);}
.admin-ai-identity-option:has(.as-raster-avatar) input {accent-color:#ae843e;}
.admin-ai-identity-option.selected:has(.as-raster-avatar) {border-color:#b99a57;box-shadow:inset 0 0 0 1px #b99a57;background:color-mix(in srgb,var(--paper2),#dcc38b 10%);}

@media(min-width:621px) {.admin-ai-identity .admin-ai-identity-options {grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));}}
