/* V5.8 isolated NPC daily life and encounters. CSS is scoped to v58. */
.v58-root{--v58-silk:#eacfa7;min-height:100%;padding:4px 0 28px;color:#f4efe6}
.v58-over{font-size:10px;letter-spacing:3px;color:#e4c499;margin:10px 0}
.v58-root h1{font:normal clamp(30px,8vw,42px)/1.25 'Songti SC','Noto Serif SC',serif;margin:8px 0 14px;letter-spacing:1px}
.v58-root h2{font:normal 23px/1.4 'Songti SC',serif;margin:0 0 8px}
.v58-root p{color:#d4d9d7;font-size:13px;line-height:1.9}
.v58-root .v58-muted{font-size:12px;color:#aebcbf}
.v58-hero{padding:24px 21px;min-height:170px;border-radius:20px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 70% 30%,#b6906b55,transparent 48%),linear-gradient(137deg,#303b43,#1a252d);border:1px solid #ffffff26;margin:10px 0 18px}
.v58-hero:after{position:absolute;content:'';width:140px;height:140px;right:-40px;top:-36px;border:1px solid #e6d1a34a;border-radius:50%;box-shadow:0 0 0 26px #e6d1a311,0 0 0 56px #e6d1a309}
.v58-hero p{max-width:84%;position:relative;z-index:1}
.v58-chips{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 15px}.v58-chips span{border:1px solid #e3c39b61;background:#ffffff0d;border-radius:99px;padding:4px 10px;color:#e7cfab;font-size:11px}
.v58-panel{background:#152530e6;border:1px solid #ffffff24;border-radius:17px;padding:15px;margin:12px 0;backdrop-filter:blur(8px)}
.v58-panel.warm{background:#efe5d5;color:#2d3940;border-color:#e8d3ae}
.v58-panel.warm p,.v58-panel.warm .v58-muted{color:#53616a}.v58-panel.warm h2{color:#283740}
.v58-line{height:1px;background:#ffffff25;margin:16px 0}
.v58-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:14px 0}.v58-place{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:100px;border:1px solid #e6cda83d;color:#f3eee8;background:linear-gradient(140deg,#253945,#13232e);border-radius:14px;padding:12px;text-align:left}.v58-place strong{font-weight:550;font-size:14px}.v58-place small{color:#bec8c7;font-size:11px;line-height:1.7}
.v58-place:disabled{opacity:.46}
.v58-choice{display:block;text-align:left;width:100%;margin:9px 0;padding:13px 14px;min-height:48px;background:#1c303a;border:1px solid #ebd2aa70;color:#fbf5e8;border-radius:13px;font-size:14px;line-height:1.5}
.v58-choice.active{background:#e9d7b9;color:#22313b;border-color:#e9d7b9}
.v58-choice:disabled{opacity:.43}
.v58-npc{display:grid;grid-template-columns:64px 1fr;gap:13px;padding:12px 3px;border-bottom:1px solid #ffffff21;align-items:center}.v58-avatar{height:82px;border:1px solid #f1dcbd42;border-radius:13px;display:grid;place-items:center;background:radial-gradient(circle at 45% 25%,#af8d7466,transparent 46%),linear-gradient(145deg,#4c5a5c,#16242c);font:normal 28px 'Songti SC',serif;color:#f1d9b4}
.v58-npc small{display:block;color:#bfcac9;font-size:11px}.v58-npc strong{font-weight:500;font-size:17px}
.v58-scene{min-height:240px;border-radius:17px;overflow:hidden;border:1px solid #ffffff31;display:flex;align-items:flex-end;position:relative;margin:14px 0;background:radial-gradient(circle at 70% 35%,#ab876c5b,transparent 48%),linear-gradient(130deg,#42413a,#18232d)}
.v58-scene.modern{background:radial-gradient(circle at 68% 22%,#c5ab835a,transparent 48%),linear-gradient(135deg,#475b60,#182832)}
.v58-scene.ancient{background:radial-gradient(circle at 67% 22%,#be99655a,transparent 48%),linear-gradient(135deg,#60513d,#212633)}
.v58-scene:before{content:'';position:absolute;inset:32px 28px 30px;border:1px solid #ebd1a838;border-radius:60px 60px 5px 5px}
.v58-scene-caption{width:100%;padding:65px 17px 18px;background:linear-gradient(0deg,#101b27ea,transparent);z-index:1}
.v58-scene-caption strong{font:normal 25px 'Songti SC',serif}.v58-scene-caption small{display:block;font-size:11px;letter-spacing:2px;color:#e5cca8}
.v58-counter{display:flex;justify-content:space-between;color:#e6cba5;font-size:12px;margin:15px 0}
.v58-field{display:grid;gap:6px;font-size:12px;color:#cfd5d0;margin:12px 0}.v58-field input{min-height:48px;color:#fff;background:#22343f;border:1px solid #dec6a164;padding:12px 13px;border-radius:11px;width:100%;font-size:16px}
.v58-result{padding:15px 16px;border-radius:14px;background:#eadac2;color:#25333c;margin:12px 0}.v58-result p{color:#334852}.v58-result strong{font:normal 22px 'Songti SC',serif}
.v58-step{display:flex;justify-content:space-between;gap:8px;margin:12px 0}.v58-step span{flex:1;height:3px;border-radius:5px;background:#ffffff2a}.v58-step span.on{background:#e7c99c}
.v58-screen{animation:v58-enter .3s ease both}@keyframes v58-enter{from{opacity:.2;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.v58-screen{animation:none}}
