/* AI 居民页 */
.r-stage{background:radial-gradient(600px 400px at 50% 70%,#fff8e8,transparent 70%),linear-gradient(180deg,#e9f2f4 0%,#f6f1e6 75%)}
.live{position:absolute;left:14px;top:14px;display:flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.88);font-size:13px;z-index:1;box-shadow:0 4px 14px -6px rgba(0,0,0,.3)}
.live i{width:9px;height:9px;border-radius:50%;background:#3f8a63;box-shadow:0 0 0 0 rgba(63,138,99,.6);animation:ping 1.6s infinite}
.live.off i{background:#9aa196;animation:none}
@keyframes ping{70%{box-shadow:0 0 0 10px rgba(63,138,99,0)}100%{box-shadow:0 0 0 0 rgba(63,138,99,0)}}
.btn.big,button.big{padding:12px 18px;font-size:15px;border-radius:12px}
.perks{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:14px}
.perks li{color:var(--fg)}
.avatars{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.avatars.small{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}
.avatars label{display:block;cursor:pointer}
.avatars input{position:absolute;opacity:0;pointer-events:none}
.avatars .card-av{display:grid;gap:2px;border:2px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);transition:border-color .15s,transform .15s}
.avatars .card-av canvas{display:block;width:100%;aspect-ratio:1;background:linear-gradient(180deg,#eef4f5,#f6f1e6)}
.avatars .card-av b{padding:6px 8px 0;font-size:13px}
.avatars .card-av small{padding:0 8px 8px;color:var(--muted);font-size:12px;line-height:1.4}
.avatars input:checked+.card-av{border-color:var(--green);transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(47,79,68,.8)}
.avatars input:focus-visible+.card-av{outline:2px solid var(--brass);outline-offset:2px}
.avatars.small .card-av small{display:none}
.stats4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.stats4 div{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;display:grid;gap:2px;text-align:center}
.stats4 b{font:900 24px/1 var(--display);color:var(--green)}
.stats4 small{font-size:12px;color:var(--muted)}
@media (max-width:480px){.stats4{grid-template-columns:repeat(2,1fr)}}
.minimap{width:100%;height:150px;border-radius:12px;border:1px solid var(--line);background:#efe7d6}
.feed h2{font-size:16px;margin-bottom:6px}
.feed ol{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.feed li{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;padding:8px 10px;border-radius:10px;background:var(--panel);border:1px solid var(--line);font-size:13px;line-height:1.5}
.feed li .ic{grid-row:span 2;font-size:18px;line-height:1.2}
.feed li time{font-size:12px;color:var(--muted)}
.feed li.visitor{border-color:color-mix(in srgb,var(--brass) 60%,var(--line));background:color-mix(in srgb,var(--brass) 8%,var(--panel))}
.prompt pre{white-space:pre-wrap;word-break:break-word;font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;margin:8px 0;max-height:260px;overflow:auto}
.reveal{border:1px dashed var(--brass);border-radius:10px;padding:10px;display:grid;gap:6px;background:var(--brass-soft)}
.reveal-head{display:flex;justify-content:space-between;align-items:center;font-size:13px}
.reveal code{word-break:break-all;font-size:13px}
#talkForm input{font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--fg);border-radius:8px;padding:8px 10px}

.makep{display:grid;gap:8px}
.makep pre{white-space:pre-wrap;word-break:break-word;font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px;margin:0;max-height:240px;overflow:auto}
.makep input[type=color]{width:42px;height:32px;border:1px solid var(--line);border-radius:8px;padding:2px;background:#fff}
#makeTabs{flex-wrap:wrap}
.avatars .card-av.mine{border-style:dashed;border-color:var(--brass)}
#makeBox.flash{animation:jpulse 0.8s ease-in-out 2}
.avatars input:checked+.card-av.mine{border-color:var(--green);border-style:solid}
.mcp-steps{margin:8px 0;padding-left:20px;display:grid;gap:4px;font-size:13px}
