:root{--bg:#0d1117;--base:#161b22;--raised:#1c2333;--line:#2b3444;--text:#e6edf3;--muted:#8b98ab;--accent:#58a6ff;--hot:#f0883e;--ok:#3fb950;--bad:#f85149;--gold:#d29922;--pink:#f778ba}
  /* UI 缩放基准：全站尺寸用 rem（1rem=13.5px 即原版视觉大小），改 html font-size 即整体放大/缩小；
     默认 13.5px 与 v4.1.0 原版一致，实际大小由 modules/display.js「显示设置」按屏幕自动/手动调节 */
  html{font-size:13.5px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  *{box-sizing:border-box;margin:0;padding:0}
  body{background:var(--bg);color:var(--text);font-family:"Microsoft YaHei",-apple-system,Segoe UI,sans-serif;min-height:100vh}
  .wrap{max-width:74.0741rem;margin:0 auto;padding:1.1852rem}
  .top{display:flex;align-items:center;justify-content:space-between;gap:0.7407rem;flex-wrap:wrap;margin-bottom:1.037rem;padding:0.7407rem 0}
  /* 吸顶导航占位：避免 sticky 遮挡下方内容顶端 */
  .wrap{padding-top:0}
  .top::after{content:'';display:block;height:0}
  .brand{font-size:1.6296rem;font-weight:800;letter-spacing:0.03em;display:flex;align-items:center;gap:0.4444rem}
  .brand small{font-size:0.8148rem;color:var(--muted);font-weight:400;margin-left:0.1481rem}
  .brand .ver{font-size:0.7407rem;font-weight:700;color:var(--accent);background:rgba(88,166,255,.12);border:0.0741rem solid rgba(88,166,255,.4);border-radius:0.4444rem;padding:0.0741rem 0.4444rem;line-height:1.5}
  .actions{display:flex;gap:0.4444rem}
  button{background:var(--raised);border:0.0741rem solid var(--line);color:var(--text);border-radius:0.5926rem;padding:0.5185rem 0.8889rem;font-size:0.963rem;cursor:pointer;transition:.15s;font-family:inherit}
  button:hover{border-color:var(--accent);color:#fff}
  button:disabled{opacity:.4;cursor:not-allowed}
  button.primary{background:var(--accent);border-color:var(--accent);color:#04101f;font-weight:700}
  button.primary:hover{filter:brightness(1.1);color:#04101f}
  button.next{background:var(--ok);border-color:var(--ok);color:#04120a;font-weight:800;font-size:1.037rem}
  button.next:hover{filter:brightness(1.1);color:#04120a}
  .stats{display:grid;grid-template-columns:repeat(6,1fr);gap:0.5926rem;margin-bottom:0.7407rem}
  .stat.stats-collapsed{grid-column:1/-1;text-align:left;cursor:pointer}
  .stat.stats-collapsed .k{font-size:0.8889rem;color:var(--accent);font-weight:700}
  .stat.stats-collapsed .m{font-size:0.8148rem;color:var(--text);margin:0.2963rem 0}
  .stat.stats-collapsed .b{font-size:0.7407rem;color:var(--muted)}
  .stat{background:var(--base);border:0.0741rem solid var(--line);border-radius:0.7407rem;padding:0.5185rem 0.7407rem;text-align:center}
  .stat.needs{background:rgba(55,211,180,.06);border-color:rgba(55,211,180,.32);cursor:pointer}
  .needrow{display:flex;align-items:center;gap:0.7407rem;margin:0.6667rem 0;font-size:0.963rem}
  .needrow>span{flex:0 0 4.7407rem;color:var(--muted)}
  .needrow>b{flex:0 0 2.5185rem;text-align:right;color:var(--text)}
  .needbar{flex:1;height:0.7407rem;border-radius:74rem;background:var(--raised);border:0.0741rem solid var(--line);overflow:hidden}
  .needbar>i{display:block;height:100%;border-radius:74rem;transition:width .2s}
  .stat.self{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:0.2963rem;background:rgba(188,140,255,.07);border-color:rgba(188,140,255,.35)}
  .stat.self .k{color:var(--muted);font-size:0.7407rem}
  .selfbtn{background:var(--raised);border:0.0741rem solid var(--accent);color:var(--accent);border-radius:0.5926rem;padding:0.2963rem 0.7407rem;font-size:0.8889rem;cursor:pointer}
  .selfbtn:hover{background:#24304a}
  .free{display:inline-block;margin-left:0.3704rem;font-style:normal;font-size:0.7407rem;color:#3fb950;background:rgba(63,185,80,.12);border-radius:0.4444rem;padding:0 0.3704rem;vertical-align:0.0741rem}
  .cd{display:inline-block;margin-left:0.3704rem;font-style:normal;font-size:0.7407rem;color:#d29922;background:rgba(210,153,34,.14);border-radius:0.4444rem;padding:0 0.3704rem;vertical-align:0.0741rem}
  .tag{display:inline-block;margin-left:0.3704rem;font-style:normal;font-size:0.7407rem;color:#bc8cff;background:rgba(188,140,255,.14);border-radius:0.4444rem;padding:0 0.3704rem;vertical-align:0.0741rem}
  .more{display:block;margin-top:0.5926rem;background:none;border:0.0741rem dashed var(--line);color:var(--accent);border-radius:0.5926rem;padding:0.4444rem 0.7407rem;font-size:0.8889rem;cursor:pointer;width:100%}
  .more:hover{border-color:var(--accent)}
  .grpwrap{display:flex;flex-direction:column;gap:0.5926rem;margin-top:0.8889rem}
  .actgrp{border:0.0741rem solid var(--line);border-radius:0.7407rem;overflow:hidden;background:var(--raised)}
  .ag-h{display:flex;align-items:center;justify-content:space-between;padding:0.6667rem 0.8889rem;cursor:pointer;font-size:0.963rem;font-weight:700;user-select:none}
  .ag-h:hover{background:#24304a}
  .ag-h .ag-t{color:var(--text)}
  .ag-h .ag-ic{color:var(--muted);transition:.15s;font-size:0.8148rem}
  .ag-h.open .ag-ic{transform:rotate(180deg)}
  .ag-b{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.8889rem,1fr));gap:0.4444rem;padding:0.5926rem 0.7407rem 0.7407rem;border-top:0.0741rem solid var(--line)}
  .ag-b .act{background:var(--base);border-color:var(--line)}
  .ag-b .act:disabled{opacity:.45;cursor:not-allowed}
  .stat .k{font-size:0.7407rem;color:var(--muted);display:block;margin-bottom:0.2963rem}
  /* 三行属性框：上=数值/上限，中=状态，下=最近增减 */
  .stat.s3{display:flex;flex-direction:column;gap:0.2222rem;padding:0.4444rem 0.5926rem;cursor:pointer;text-align:left}
  .stat.s3 .k{font-size:0.8148rem;display:flex;justify-content:space-between;align-items:center;margin:0}
  .stat.s3 .k em{font-style:normal;font-weight:800;color:var(--text)}
  .stat.s3 .m{font-size:0.7407rem;color:var(--muted)}
  .stat.s3 .b{font-size:0.7407rem;color:var(--accent);opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .stat.s3.money{border-color:rgba(63,185,80,.45)}
  .stat.s3.self{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:0.2963rem}
  .stat.s3.self .k{justify-content:flex-start}
  .stat.s3 .selfbtn{margin-top:0.1481rem}
  .stat .bar{height:0.4444rem;background:#222c3a;border-radius:0.2963rem;overflow:hidden}
  .stat .bar i{display:block;height:100%;border-radius:0.2963rem}
  .stat .v{font-size:0.8889rem;font-weight:700;margin-top:0.2963rem}
  .agebar{display:flex;align-items:center;gap:0.7407rem;margin-bottom:0.8889rem;font-size:0.8889rem;color:var(--muted);flex-wrap:wrap}
  .agebar b{color:var(--text);font-size:1.1111rem}
  .card{background:var(--base);border:0.0741rem solid var(--line);border-radius:1.037rem;padding:1.1111rem;box-shadow:0 0.1481rem 0.7407rem rgba(0,0,0,.25)}
  .card+.card{margin-top:0.8889rem}
  .card h3{font-size:0.963rem;font-weight:700;color:var(--accent);margin-bottom:0.7407rem}
  .stage-tag{display:inline-block;font-size:0.8148rem;padding:0.1481rem 0.7407rem;border-radius:1.4815rem;background:var(--raised);border:0.0741rem solid var(--line);color:var(--accent);margin-bottom:0.5926rem}
  .evt{font-size:1.1111rem;line-height:1.6;margin-bottom:0.8889rem;white-space:pre-wrap}
  .apbox{display:flex;align-items:center;gap:0.5926rem;flex-wrap:wrap;margin-bottom:0.7407rem}
  .ap{font-weight:800;color:var(--gold);font-size:1.1111rem}
  .actgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(10.7407rem,1fr));gap:0.5926rem}
  .act{background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.8889rem;padding:0.7407rem 0.8889rem;text-align:left;cursor:pointer;transition:.15s;font-size:0.963rem;box-shadow:0 0.1481rem 0.4444rem rgba(0,0,0,.12)}
  .act:hover{border-color:var(--accent);background:#24304a;transform:translateY(-0.0741rem)}
  .act .c{font-size:0.7407rem;color:var(--muted);display:block;margin-top:0.2222rem}
  .grp{font-size:0.8889rem;font-weight:700;color:var(--accent);margin:0.963rem 0 0.4444rem;letter-spacing:0.02em}
  .npcgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.1111rem,1fr));gap:0.5926rem}
  .npc{background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.8889rem;padding:0.7407rem 0.8148rem;cursor:pointer;transition:.15s;text-align:left;box-shadow:0 0.1481rem 0.4444rem rgba(0,0,0,.12)}
  .npc:hover{border-color:var(--accent);background:#24304a;transform:translateY(-0.0741rem)}
  .npc.sel{border-color:var(--hot);background:#2a2233}
  .npc .nm{font-weight:700;font-size:0.963rem;display:flex;justify-content:space-between}
  .npc .st{font-size:0.7778rem;color:var(--muted);margin-top:0.2222rem}
  .npc .aff{font-size:0.8148rem;color:var(--pink);margin-top:0.1481rem}
  .log{margin-top:1.037rem}
  .log h3{font-size:0.8889rem;color:var(--muted);margin-bottom:0.5926rem;font-weight:600}
  .log .li{font-size:0.9259rem;color:var(--muted);border-left:0.1481rem solid var(--line);padding:0.2222rem 0.7407rem;margin-bottom:0.2963rem}
  .log .li b{color:var(--text)}
  .log .li.cur{border-color:var(--accent)}
  .log-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.4444rem}
  .log-head h3{margin:0}
  /* 左侧便签：折叠式人生轨迹（与右侧小手机同高对称） */
  .logside{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:80}
  .logside-tab{width:3.2593rem;height:3.2593rem;background:linear-gradient(135deg,#24304a,#161b22);border:0.0741rem solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.3333rem;box-shadow:0 0.2963rem 0.8889rem rgba(0,0,0,.45);transition:.15s}
  .logside-tab:hover{border-color:var(--pink);transform:scale(1.06);background:#24304a}
  .logside-panel{position:absolute;left:2.0741rem;top:0;width:23.7037rem;max-height:70vh;background:var(--base);border:0.0741rem solid var(--line);border-radius:0 0.7407rem 0.7407rem 0;box-shadow:0.2963rem 0 1.4815rem rgba(0,0,0,.3);display:flex;flex-direction:column}
  .logside-head{display:flex;align-items:center;justify-content:space-between;padding:0.5926rem 0.8889rem;border-bottom:0.0741rem solid var(--line);font-size:0.963rem;font-weight:700}
  .logside-head button{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.037rem}
  .logside-body{overflow-y:auto;flex:1;padding:0.5926rem}
  .logside-body .loggrp{margin-bottom:0.4444rem}
  /* 完整轨迹大框（弹窗内） */
  .log-full{max-height:60vh;overflow-y:auto;padding-right:0.2963rem}
  .end{text-align:center}
  .end .score{font-size:3.4074rem;font-weight:900;color:var(--gold);margin:0.5926rem 0}
  .end .line{font-size:1.037rem;color:var(--muted);line-height:1.7;margin-bottom:1.037rem}
  .end .ach{display:inline-block;background:var(--raised);border:0.0741rem solid var(--line);border-radius:1.4815rem;padding:0.2222rem 0.8889rem;font-size:0.8889rem;color:var(--ok);margin:0.2222rem}
  .toolbar{display:flex;gap:0.5926rem;flex-wrap:wrap;margin-top:1.037rem;justify-content:center}
  /* 弹窗内容区内的工具栏：吸底固定，关闭/确认按钮始终可见，无需滚动到底 */
  .mbody .toolbar{position:sticky;bottom:0;z-index:6;margin-top:0.8889rem;margin-left:-1.3333rem;margin-right:-1.3333rem;padding:0.7407rem 1.3333rem;background:linear-gradient(0deg,rgba(13,18,32,.97),rgba(13,18,32,.92) 70%,transparent)}
  .hint{font-size:0.8889rem;color:var(--muted);margin-bottom:0.5926rem}
  .prison{background:rgba(248,81,73,.12);border:0.0741rem solid rgba(248,81,73,.4);color:#ff6b5e;padding:0.7407rem 0.8889rem;border-radius:0.5926rem;font-size:0.963rem;margin-bottom:0.5926rem}
  .click{cursor:pointer}
  .click:hover{border-color:var(--accent)}
  .edrow{display:flex;align-items:center;gap:0.5926rem;flex-wrap:wrap;margin-bottom:0.5926rem;font-size:0.963rem}
  .edrow input{width:5.3333rem;background:var(--base);color:var(--text);border:0.0741rem solid var(--line);border-radius:0.4444rem;padding:0.2963rem 0.4444rem}
  .edrow select{background:var(--base);color:var(--text);border:0.0741rem solid var(--line);border-radius:0.4444rem;padding:0.2963rem}
  .edrow button{font-size:0.8889rem;padding:0.2963rem 0.7407rem}
  .bazi{background:rgba(88,166,255,.06);border:0.0741rem solid rgba(88,166,255,.25);border-radius:0.7407rem;padding:0.7407rem;margin-bottom:0.5926rem}
  .bazihead{font-weight:700;color:var(--accent);margin-bottom:0.4444rem}
  .bzgrid{display:flex;gap:0.4444rem}
  .bzcol{flex:1;background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.5926rem;text-align:center;padding:0.4444rem 0.2963rem;font-size:1.037rem}
  .bzn{font-size:0.8148rem;color:var(--muted)}
  .bzwx{font-size:0.8148rem;color:var(--gold)}
  .bzbuf{font-size:0.8889rem;color:var(--ok);margin-top:0.2222rem}
  .bzbuf.bad{color:var(--bad)}
  .npc.full{width:100%}
  /* 弹窗卡片式反馈（v3.1.3）：居中偏上、动画滑入、色分成功/失败/警告、可点关闭 */
  .toast{position:fixed;top:4.4444rem;left:50%;transform:translateX(-50%) translateY(-1.4815rem);background:var(--raised);border:0.1481rem solid var(--line);padding:0.8889rem 1.4815rem 0.8889rem 1.1852rem;border-radius:0.8889rem;font-size:1.037rem;font-weight:600;opacity:0;transition:all .35s cubic-bezier(.34,1.56,.64,1);z-index:200;max-width:88%;box-shadow:0 0.5926rem 2.3704rem rgba(0,0,0,.4);display:flex;align-items:center;gap:0.5926rem;cursor:pointer;pointer-events:none}
  .toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
  .toast.t-ok{border-color:var(--ok);background:rgba(63,179,83,.15)}
  .toast.t-bad{border-color:var(--bad);background:rgba(248,81,73,.15)}
  .toast.t-warn{border-color:var(--gold);background:rgba(212,167,44,.15)}
  .toast .t-icon{font-size:1.3333rem;flex-shrink:0}
  .disclaim{position:fixed;inset:0;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;z-index:210;padding:1.4815rem}
  .dbox{background:#0f1420;border:0.0741rem solid var(--line,#2b3340);max-width:34.8148rem;padding:1.7778rem;border-radius:1.037rem;text-align:center}
  .dtitle{font-size:1.4074rem;font-weight:700;margin-bottom:0.4444rem}
  .dsub{font-size:0.8889rem;color:var(--muted,#8b949e);margin-bottom:1.037rem}
  .dbody{font-size:0.963rem;color:#9aa4b2;line-height:1.8;text-align:left;margin-bottom:1.3333rem}
  .dbody b{color:#e6edf3}
  .dbox button{background:var(--accent,#58a6ff);color:#fff;border:none;padding:0.8148rem 1.9259rem;border-radius:0.6667rem;font-size:1.037rem;font-weight:600;cursor:pointer}
  .dbox button:hover{filter:brightness(1.12)}
  /* 弹窗：精致卡片风（头部固定 + 内容滚动 + 底部工具栏吸底） */
  .modal{position:fixed;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(0.2222rem);display:none;align-items:center;justify-content:center;z-index:220;padding:0.8889rem}
  .modal.show{display:flex;animation:fadeIn .18s ease}
  .mbox{background:linear-gradient(170deg,#141b2b 0%,#0d1220 100%);border:0.0741rem solid rgba(88,166,255,.22);border-radius:1.3333rem;width:100%;max-width:42.963rem;height:min(86dvh,56.2963rem);max-height:86dvh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 1.3333rem 3.7037rem rgba(0,0,0,.55),0 0 0 0.0741rem rgba(255,255,255,.03) inset}
  .mhead{display:flex;align-items:center;justify-content:space-between;padding:0.963rem 1.3333rem;border-bottom:0.0741rem solid rgba(88,166,255,.14);flex-shrink:0;background:linear-gradient(90deg,rgba(88,166,255,.08),transparent)}
  .mhead h3{font-size:1.1111rem;font-weight:800;color:var(--accent);letter-spacing:0.02em}
  .mclose{cursor:pointer;font-size:1.3333rem;color:var(--muted);background:rgba(255,255,255,.04);border:0.0741rem solid var(--line);border-radius:50%;width:1.9259rem;height:1.9259rem;line-height:1;display:flex;align-items:center;justify-content:center}
  .mclose:hover{color:var(--text);border-color:var(--accent)}
  .mbody{padding:1.1111rem 1.3333rem;overflow-y:auto;flex:1;min-height:0;-webkit-overflow-scrolling:touch}
  /* 弹窗底部固定区：关闭/确认按钮始终吸附在弹窗底部，不必滚到底部 */
  .mfoot{flex-shrink:0;padding:0.7407rem 1.3333rem;border-top:0.0741rem solid rgba(88,166,255,.14);background:linear-gradient(0deg,rgba(13,18,32,.98),rgba(13,18,32,.9));display:flex;gap:0.5926rem;flex-wrap:wrap;justify-content:center}
  .mtabs{display:flex;gap:0.4444rem;flex-wrap:wrap;margin-bottom:0.8889rem}
  .mtabs button{font-size:0.8889rem;padding:0.4444rem 1.037rem;border-radius:1.3333rem;background:var(--raised);border:0.0741rem solid var(--line)}
  .mtabs button.on{background:var(--accent);color:#04101f;border-color:var(--accent);font-weight:700}
  @keyframes fadeIn{from{opacity:0}to{opacity:1}}
  .peofamily{font-size:0.8148rem;color:var(--muted);background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.5926rem;padding:0.2963rem 0.5926rem;margin-bottom:0.4444rem;display:inline-block}
  /* 分类导航（底部按钮）+ 背包 */
  .tabbar{display:flex;gap:0.3704rem;flex-wrap:wrap;margin-top:1.037rem;border-top:0.0741rem solid var(--line);padding-top:0.7407rem;position:sticky;bottom:0;background:var(--base);z-index:3}
  .tabbar button{flex:1 1 auto;font-size:0.8889rem;padding:0.5185rem 0.5926rem;border-radius:0.6667rem}
  .tabbar button.on{background:var(--accent);color:#04101f;border-color:var(--accent);font-weight:700}
  .baggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.8889rem,1fr));gap:0.5926rem}
  .bagitem{background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.7407rem;padding:0.6667rem;text-align:left;cursor:pointer}
  .bagitem:hover{border-color:var(--accent)}
  .bagitem .bn{font-weight:700;font-size:0.963rem}
  .bagitem .bc{font-size:0.7407rem;color:var(--muted);margin-top:0.2222rem}
  .nowjob{background:rgba(88,166,255,.08);border:0.0741rem solid rgba(88,166,255,.25);border-radius:0.7407rem;padding:0.7407rem 0.8889rem;font-size:0.963rem;margin-bottom:0.7407rem}
  .nowjob b{color:var(--accent)}
  .relbar{display:flex;gap:0.5926rem;flex-wrap:wrap;align-items:center;margin-bottom:0.5926rem;font-size:0.8889rem;color:var(--muted)}
  .relbar .pill{background:var(--raised);border:0.0741rem solid var(--line);border-radius:1.1852rem;padding:0.2222rem 0.7407rem;font-size:0.8148rem}
  .relbar .pill.hi{color:var(--ok);border-color:var(--ok)}
  /* v0.6.8：家庭卡 / 区域 / 行数 / 人生轨迹 / 爱好 / 开场页 */
  .fam-card{background:linear-gradient(135deg,rgba(88,166,255,.10),rgba(188,140,255,.08));border:0.0741rem solid rgba(88,166,255,.28);border-radius:0.8889rem;padding:0.8889rem;cursor:pointer}
  .fam-card:hover{border-color:var(--accent)}
  .fam-card .nm{font-size:1.1111rem;font-weight:800;margin-bottom:0.2963rem}
  .fam-card .st{font-size:0.8889rem;color:var(--muted);line-height:1.7}
  .fam-assets{background:linear-gradient(135deg,rgba(63,185,80,.09),rgba(88,166,255,.07));border:0.0741rem solid rgba(63,185,80,.28);border-radius:0.8889rem;padding:0.7407rem 0.8889rem;margin-bottom:0.7407rem}
  .fam-assets .nm{font-size:1.037rem;font-weight:800}
  .fam-assets .st{font-size:0.8889rem;color:var(--muted);line-height:1.8}
  /* 家庭详情：方块网格排列 + 宠物栏 */
  .petbar{font-size:0.8889rem;color:var(--accent);background:rgba(88,166,255,.08);border:0.0741rem solid rgba(88,166,255,.28);border-radius:0.7407rem;padding:0.4444rem 0.8889rem;margin:0.5926rem 0;line-height:1.7}
  .famgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.6296rem,1fr));gap:0.5926rem}
  .fambox{background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.7407rem;overflow:hidden;cursor:pointer}
  .fambox:hover{border-color:var(--accent)}
  .fambox-dead{opacity:.55}
  .fambox-static{cursor:default}
  .fambox-h{padding:0.7407rem 0.5926rem;font-size:0.8889rem;font-weight:700;text-align:center;line-height:1.5}
  .fambox-h .dead{display:block;font-size:0.7407rem;color:var(--muted)}
  .fambox-b{padding:0 0.5926rem 0.5926rem;font-size:0.8148rem;color:var(--muted);line-height:1.6}
  .fambox-b .st{margin-top:0.1481rem}
  .fambox-b .fdetail{margin-top:0.1481rem}
  .fambox-b button.mini{margin-top:0.2963rem}
  .famsec{font-size:0.8889rem;font-weight:800;color:var(--accent);margin:0.7407rem 0 0.2963rem}
  .zgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.1111rem,1fr));gap:0.5926rem}
  .zone{background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.7407rem;padding:0.7407rem;cursor:pointer}
  .zone:hover{border-color:var(--accent)}
  .zone .zn{font-size:1.037rem;font-weight:700}
  .zone .zc{font-size:0.8148rem;color:var(--muted);margin-top:0.2222rem}
  button.mini{background:none;border:0.0741rem dashed var(--line);color:var(--accent);font-size:0.8148rem;padding:0.1481rem 0.5926rem;border-radius:0.4444rem;vertical-align:0.1481rem}
  button.mini:hover{border-color:var(--accent)}
  .rowctl{display:flex;align-items:center;gap:0.4444rem;justify-content:flex-end;font-size:0.8148rem;color:var(--muted);margin-top:0.4444rem}
  .rowctl select{background:var(--base);border:0.0741rem solid var(--line);color:var(--text);border-radius:0.4444rem;padding:0.2222rem 0.4444rem;font-size:0.8148rem}
  .loggrp{border:0.0741rem solid var(--line);border-radius:0.7407rem;margin-bottom:0.5926rem;background:var(--base);overflow:hidden}
  .loggrp summary{padding:0.5926rem 0.8889rem;font-size:0.8889rem;font-weight:700;cursor:pointer;list-style:none;user-select:none}
  .loggrp summary::-webkit-details-marker{display:none}
  .loggrp summary:before{content:'▸ ';color:var(--muted)}
  .loggrp[open] summary:before{content:'▾ '}
  .loggrp summary:hover{background:#24304a}
  .loggrp .li{padding:0.2963rem 0.8889rem 0.5926rem;font-size:0.8889rem;color:var(--muted);line-height:1.6}
  .htabs{display:flex;gap:0.4444rem;flex-wrap:wrap;margin:0.5926rem 0}
  .htabs button{font-size:0.8889rem;padding:0.3704rem 0.7407rem}
  .htabs button.on{background:var(--accent);color:#04101f;border-color:var(--accent);font-weight:700}
  .hgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.1111rem,1fr));gap:0.5926rem}
  .hobby{background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.7407rem;padding:0.7407rem}
  .hobby .hn{font-size:0.963rem;font-weight:700}
  .hobby .hc{font-size:0.8148rem;color:var(--muted);margin:0.2963rem 0}
  .hobby .hbtns{display:flex;gap:0.4444rem;flex-wrap:wrap}
  .hobby .hbtns .act{font-size:0.8148rem;padding:0.3704rem 0.5926rem}
  .introbox{max-width:31.1111rem;text-align:center}
  .introbtns{display:flex;flex-direction:column;gap:0.7407rem;margin-top:1.037rem}
  .introbtns button{font-size:1.1111rem;padding:0.8889rem;border-radius:0.7407rem}
  .introbtns button:disabled{opacity:.45}
  /* ===== v0.7.2 底部栏：常驻细条 + 向上弹出面板，不再遮挡内容 ===== */
  .wrap{padding-bottom:calc(4.85rem + env(safe-area-inset-bottom))}
  .dock{position:fixed;left:0;right:0;bottom:0;background:var(--base);border-top:0.0741rem solid var(--line);z-index:10;
    padding:0.52rem 0.74rem calc(0.52rem + env(safe-area-inset-bottom));box-shadow:0 -0.2963rem 1.037rem rgba(0,0,0,.4)}
  .dockbar{display:flex;align-items:center;gap:0.4444rem}
  .dockbar .tabbar{margin:0;border-top:0;padding-top:0;position:static;flex:1;flex-wrap:nowrap;overflow-x:auto;justify-content:flex-start;scrollbar-width:none}
  .dockbar .tabbar::-webkit-scrollbar{display:none}
  .dockbar .tabbar button{flex:0 0 auto}
  .docknext{flex:0 0 auto;background:var(--ok);border-color:var(--ok);color:#04120a;font-weight:800;font-size:0.8889rem;padding:0.5185rem 0.7407rem;border-radius:0.6667rem}
  .dockfold{flex:0 0 auto;font-size:0.8889rem;padding:0.5185rem 0.7407rem}
  .docksheet{max-height:0;overflow:hidden;transition:max-height .22s ease}
  body.dock-open .docksheet{max-height:min(46vh,28.1481rem);overflow-y:auto}
  .dock-mask{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:9;display:none}
  body.dock-open .dock-mask{display:block}
  .dockhint{font-size:0.8148rem;color:var(--muted);margin-top:0.4444rem}
  .dockctl{display:flex;align-items:center;gap:0.4444rem;justify-content:flex-end;font-size:0.8148rem;color:var(--muted);margin-top:0.5926rem}
  .dockctl select{background:var(--base);border:0.0741rem solid var(--line);color:var(--text);border-radius:0.4444rem;padding:0.2222rem 0.4444rem;font-size:0.8148rem}
  .act.locked{opacity:.6;cursor:not-allowed;border-style:dashed}
  .act.locked:hover{border-color:var(--line);background:var(--raised)}
  /* ===== v0.7.1 商城弹窗 ===== */
  .mkt-tabs{display:flex;gap:0.4444rem;flex-wrap:wrap;margin-bottom:0.5926rem}
  .mkt-tabs button{font-size:0.8889rem;padding:0.4444rem 0.7407rem}
  .mkt-tabs button.on{background:var(--accent);color:#04101f;border-color:var(--accent);font-weight:700}
  .mkt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.1111rem,1fr));gap:0.5926rem;margin-top:0.5926rem}
  .it{background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.7407rem;padding:0.7407rem;text-align:left;cursor:pointer;font-size:0.963rem;display:flex;flex-direction:column;gap:0.2222rem}
  .it:hover{border-color:var(--accent)}
  .it.locked{opacity:.62;cursor:not-allowed;border-style:dashed}
  .it.locked:hover{border-color:var(--line)}
  .it .c{font-size:0.8148rem;color:var(--muted)}
  .it .d{font-size:0.7407rem;color:var(--muted);line-height:1.45}
  .it .cd{font-size:0.7407rem;color:#e8a33d;font-style:normal}
  .hint{font-size:0.8889rem;color:var(--muted);line-height:1.6;margin-top:0.4444rem}
  /* 账单 / 明细流水（支付宝样式） */
  .bill{display:flex;flex-direction:column;gap:0.2222rem;max-height:25.1852rem;overflow:auto;margin-top:0.5926rem}
  .bi{display:flex;align-items:center;gap:0.5926rem;padding:0.4444rem 0.7407rem;border-radius:0.5926rem;background:var(--raised);border:0.0741rem solid var(--line);font-size:0.8889rem}
  .bi .bt{flex:1;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .bi .bv{font-weight:800;white-space:nowrap}
  .bi .bc{color:var(--muted);font-size:0.7407rem;white-space:nowrap}
  .bi.in .bv{color:var(--ok)}
  .bi.out .bv{color:var(--bad)}
  .c-money{color:var(--ok)!important}
  .c-bad{color:var(--bad)!important}
  /* 社会框：阶层/地位/称号 */
  .htabs{display:flex;gap:0.4444rem;margin:0.5926rem 0}
  .htabs button{flex:1;font-size:0.8889rem;padding:0.5185rem 0.2963rem}
  .htabs button.on{background:var(--accent);color:#04101f;border-color:var(--accent);font-weight:700}
  .tierbig{font-size:1.4815rem;font-weight:900;text-align:center;padding:0.7407rem;border:0.0741rem solid var(--gold);border-radius:0.7407rem;background:rgba(210,153,34,.08);margin-top:0.4444rem}
  .hgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:0.4444rem;margin-top:0.4444rem}
  .hgrid .hobby{background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.5926rem;padding:0.5926rem;font-size:0.8889rem}
  .hgrid .hobby .hn{font-weight:700}
  .hgrid .hobby .hc{font-size:0.7407rem;color:var(--muted);margin-top:0.1481rem}
  /* 人生轨迹多色高亮 */
  .log .li.c-money{color:var(--ok)}
  .log .li.c-health{color:var(--bad)}
  .log .li.c-bad{color:var(--hot)}
  .log .li.c-love{color:var(--pink)}
  .log .li.c-good{color:var(--accent)}
  .log .li.c-evt{color:var(--gold)}
  /* 悬浮小手机：真手机外观（机身/刘海/状态栏/图标网格/Home键） */
  .phone-wrap{position:fixed;right:0.5926rem;top:50%;transform:translateY(-50%);z-index:120;display:flex;flex-direction:column;align-items:flex-end;gap:0.4444rem}
  .phone-wrap.left{left:0.5926rem;right:auto;align-items:flex-start}
  .phone-tab{width:3.4074rem;height:3.4074rem;border-radius:50%;background:linear-gradient(135deg,#24304a,#161b22);border:0.0741rem solid var(--accent);font-size:1.5556rem;cursor:pointer;box-shadow:0 0.2963rem 0.8889rem rgba(0,0,0,.45);transition:.2s}
  .phone-tab:hover{border-color:var(--pink);transform:scale(1.06)}
  .phone{position:relative;width:15.7037rem;background:linear-gradient(160deg,#1b2333,#0d1220 60%);border:0.1481rem solid #2d3a52;border-radius:1.9259rem;padding:0.8889rem 0.7407rem 1.3333rem;box-shadow:0 0.7407rem 2.2222rem rgba(0,0,0,.55),inset 0 0 0 0.0741rem rgba(255,255,255,.04);max-height:min(82vh,38rem);display:flex;flex-direction:column;overflow:hidden}
  .phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:6.2222rem;height:1.1852rem;background:#0d1220;border-radius:0 0 0.8889rem 0.8889rem;border:0.0741rem solid #2d3a52;border-top:none;z-index:2}
  .phone-status{display:flex;justify-content:space-between;align-items:center;font-size:0.7407rem;color:var(--muted);padding:0.1481rem 0.2963rem 0.4444rem;margin-top:0.4444rem;font-weight:600}
  .phonegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5185rem;padding:0.2963rem 0.1481rem;overflow-y:auto;min-height:0;flex:1;align-content:start;-webkit-overflow-scrolling:touch}
  .phonegrid button{display:flex;flex-direction:column;align-items:center;gap:0.2222rem;font-size:0.7407rem;padding:0.6667rem 0.1481rem;background:rgba(88,166,255,.06);border:0.0741rem solid var(--line);border-radius:0.963rem;color:var(--text);cursor:pointer;transition:.15s;text-align:center}
  .phonegrid button:hover{border-color:var(--accent);background:rgba(88,166,255,.14);transform:translateY(-0.0741rem)}
  .phonegrid .ph-ic{font-size:1.4074rem;line-height:1}
  .phonegrid .ph-lb{font-size:0.7037rem;color:var(--muted)}
  .phone-home{width:2.5185rem;height:2.5185rem;border-radius:50%;border:0.1481rem solid #3a4a68;margin:0.5926rem auto 0;background:rgba(255,255,255,.03);cursor:pointer}
  .fposts{display:flex;flex-direction:column;gap:0.2963rem;margin-top:0.4444rem;max-height:22.2222rem;overflow:auto}
  .fpost{background:var(--raised);border:0.0741rem solid var(--line);border-radius:0.5926rem;padding:0.5926rem;font-size:0.8889rem;line-height:1.5}
  /* 移动端自适应 */
  @media (max-width:640px){
    .wrap{padding:0.75rem 0.75rem calc(4.85rem + env(safe-area-inset-bottom))}
    .brand{font-size:1.2593rem}
    .brand small{display:none}
    .stats{grid-template-columns:repeat(3,1fr);gap:0.3704rem}
    .actions{width:100%;flex-wrap:wrap}
    .actions button{flex:1 1 auto;font-size:0.8889rem;padding:0.5185rem 0.5926rem}
    .actgrid,.npcgrid{grid-template-columns:repeat(auto-fill,minmax(7.7037rem,1fr));gap:0.4444rem}
    .card{padding:0.8889rem;border-radius:0.8148rem}
    .act{font-size:0.8889rem;padding:0.5926rem 0.6667rem}
    .bzgrid{gap:0.2963rem}
    .bzcol{padding:0.2963rem 0.1481rem;font-size:0.8889rem}
    .edrow input{width:4.2963rem}
    .agebar{font-size:0.8148rem}
    .mbox{max-height:92vh;border-radius:0.7407rem}
    body.dock-open .docksheet{max-height:min(56vh,31.8519rem)}
    .docknext{padding:0.5185rem 0.5926rem;font-size:0.8148rem}
    .mkt-grid{grid-template-columns:repeat(auto-fill,minmax(9.4815rem,1fr));gap:0.4444rem}
    /* 手机端弹窗自适应：紧凑网格+小按钮，避免整页长滑 */
    .mbox{padding:0;width:100%;max-width:100vw;max-height:94dvh;height:94dvh}
    .mhead{padding:0.7407rem 0.8889rem;min-height:3.1111rem}
    .mhead h3{font-size:1.037rem}
    .mbody{padding:0.7407rem 0.8889rem}
    .mfoot{padding:0.5926rem 0.8889rem;min-height:3.2593rem}
    .modal{padding:0.4444rem}
    .actgrid,.npcgrid{grid-template-columns:repeat(auto-fill,minmax(6.5185rem,1fr));gap:0.3704rem}
    .act,.npc{padding:0.5185rem 0.5926rem;border-radius:0.5926rem;font-size:0.8889rem}
    .npc .nm{font-size:0.8889rem}
    .npc .st{font-size:0.7407rem}
    .grpwrap .actgrp .ag-h{padding:0.5926rem 0.7407rem;font-size:0.8889rem}
    .toolbar button{font-size:0.8889rem;padding:0.4444rem 0.7407rem}
    .fambox-h{font-size:0.8148rem;padding:0.5926rem 0.4444rem}
    .famgrid{grid-template-columns:repeat(auto-fill,minmax(8.7407rem,1fr));gap:0.4444rem}
    /* 手机端悬浮钮：左右底部对称（左📖轨迹 / 右📱手机），贴底部操作栏上方 */
    .logside{left:0.7407rem;top:auto;bottom:calc(5.6rem + env(safe-area-inset-bottom));transform:none}
    .logside-tab{width:3.4074rem;height:3.4074rem;border-radius:50%;border:0.0741rem solid var(--accent);border-left:0.0741rem solid var(--accent);background:linear-gradient(135deg,#24304a,#161b22);font-size:1.4815rem;box-shadow:0 0.2963rem 0.8889rem rgba(0,0,0,.45)}
    .logside-panel{left:0;bottom:0;top:auto;width:min(23.7037rem,88vw);max-height:60vh;border-radius:0.8889rem 0.8889rem 0 0;box-shadow:0 -0.4444rem 1.7778rem rgba(0,0,0,.4)}
    .phone-wrap{right:0.7407rem;top:auto;bottom:calc(5.6rem + env(safe-area-inset-bottom));left:auto;transform:none}
    .phone-wrap.left{left:0.7407rem;right:auto}
    /* 展开后不能顶到浏览器地址栏：按动态视口留出上下安全区 */
    .phone{width:min(15.4074rem,74vw);max-height:min(82vh,38rem,calc(100vh - 10rem))}
    @supports (height:100dvh){
      .phone{max-height:min(82vh,38rem,calc(100dvh - 10rem))}
    }
    /* 底部栏默认折叠 */
    .docksheet{max-height:0;overflow:hidden;transition:max-height .22s ease}
    body.dock-open .docksheet{max-height:min(56vh,31.8519rem);overflow-y:auto}
    .dockfold{display:none}
    /* 编辑器 / 需求条 / 弹窗在窄屏下换行，避免横向溢出 */
    .edrow{gap:0.4444rem}
    .edrow input{width:4.7407rem}
    .edrow input[style*="width:180px"]{width:100%!important}
    .edrow select{max-width:100%}
    .mtabs{position:sticky;top:0;background:var(--base);z-index:2;padding:0.2963rem 0}
    .needrow>span{flex-basis:4rem;font-size:0.8889rem}
    .needrow>b{flex-basis:2.0741rem;font-size:0.8889rem}
    .opts .act{font-size:0.8889rem}
    .npc.full .nm{font-size:1.037rem}
    .dockbar .dockfold{display:none}
    /* 行动栏展开时隐藏左右悬浮钮，避免压住行动按钮；收起行动栏后恢复 */
    body.dock-open .phone-wrap,
    body.dock-open .logside{opacity:0;pointer-events:none;transition:opacity .18s}
  }

/* ===== 超窄屏（手机 360-420px）：状态卡改成两列，避免文字竖排 ===== */
@media (max-width:420px){
  .stats{grid-template-columns:repeat(2,1fr);gap:0.4444rem}
  .stat{padding:0.5185rem 0.5926rem}
  .stat .m,.stat .b{font-size:0.7407rem;line-height:1.35}
  .agebar{font-size:0.8148rem}
}

/* v4.4.11 主舞台行动区折叠条 */
.stage-collapsed{display:flex;align-items:center;justify-content:space-between;gap:0.5926rem;cursor:pointer;flex-wrap:wrap;
  background:var(--base);border:0.0741rem solid var(--line);border-radius:0.8889rem;padding:0.7407rem 0.8889rem;
  box-shadow:0 0.1481rem 0.4444rem rgba(0,0,0,.12);transition:.15s}
.stage-collapsed:hover{border-color:var(--accent)}
.stage-collapsed-left{display:flex;align-items:center;gap:0.4444rem;flex-wrap:wrap;min-width:0}
.stage-collapsed .sc-txt{font-size:0.8889rem;color:var(--muted)}
.stage-collapsed .sc-arrow{font-size:0.8148rem;color:var(--accent);white-space:nowrap}
.stage-expanded-head{display:flex;align-items:center;gap:0.4444rem;cursor:pointer;margin-bottom:0.3704rem;flex-wrap:wrap}
.stage-expanded-head .sc-txt{font-size:0.8889rem;color:var(--muted)}
.stage-expanded-head .sc-arrow{font-size:0.8148rem;color:var(--accent);margin-left:auto}
/* 人生轨迹：与互动动作区视觉分隔（v4.3.0） */
.traj-sep{margin-top:0.8889rem;padding-top:0.5926rem;border-top:0.0741rem dashed var(--line)}
/* ===== v4.1.1 UI 缩放自适应 =====
   全站尺寸已 rem 化（1rem≈原13.5px），缩放只改 html font-size 一处。
   以下媒体查询是「自动档」在 JS 未执行/禁用时的兜底；正常运行时由
   modules/display.js 按 屏幕基准×字号档位×显示方式 算出 px 内联覆盖，
   用户在 🔤 显示设置 里选择并 localStorage 持久化。 */
@media (max-width:900px){html{font-size:15px}}
@media (max-width:640px){html{font-size:16.5px}}
@media (max-width:420px){html{font-size:17.5px}}
@media (min-width:1701px){html{font-size:14.5px}}
/* 显示设置弹窗：紧凑内容盒（覆盖 .mbox 的固定高度） */
.uibox{height:auto;min-height:0;max-height:min(80vh,32rem)}
.uiset-sec{font-size:0.963rem;font-weight:800;color:var(--accent);margin:0.8889rem 0 0.5926rem}
.uiset-sec:first-child{margin-top:0}
.uiset-opts{display:flex;gap:0.4444rem;flex-wrap:wrap}
.uiset-opts button{flex:1 1 auto;min-width:4.4rem;font-size:0.963rem;padding:0.5926rem 0.4444rem;border-radius:0.7407rem}
.uiset-opts button.on{background:var(--accent);color:#04101f;border-color:var(--accent);font-weight:800}
.uiset-cur{font-size:0.8889rem;color:var(--muted);margin-top:0.8889rem;line-height:1.7}
/* ===== v4.4.0 主菜单 + 序章教程悬浮条 ===== */
.mainmenu{position:fixed;inset:0;background:radial-gradient(1200px 600px at 50% 30%,rgba(88,166,255,.14),transparent),rgba(4,10,20,.94);backdrop-filter:blur(0.4444rem);display:flex;align-items:center;justify-content:center;z-index:200;padding:1.4815rem}
.mainmenu .mm-box{background:linear-gradient(170deg,#141b2b 0%,#0d1220 100%);border:0.0741rem solid rgba(88,166,255,.25);border-radius:1.3333rem;max-width:34.8148rem;width:100%;padding:2.2222rem 1.7778rem;text-align:center;box-shadow:0 1.3333rem 3.7037rem rgba(0,0,0,.6)}
.mainmenu .mm-title{font-size:1.6296rem;font-weight:800;color:var(--accent);letter-spacing:.03em}
.mainmenu .mm-sub{font-size:0.963rem;color:var(--muted);margin:0.5926rem 0 1.3333rem}
.mainmenu .mm-btns{display:flex;flex-direction:column;gap:0.7407rem}
.mainmenu .mm-btns button{font-size:1.037rem;padding:0.8889rem;border-radius:0.7407rem;font-weight:600;background:var(--raised);border:0.0741rem solid var(--line);color:var(--text);cursor:pointer;transition:.15s}
.mainmenu .mm-btns button.primary{background:var(--accent);color:#04101f;border-color:var(--accent)}
.mainmenu .mm-btns button:hover{filter:brightness(1.15);border-color:var(--accent)}
.mainmenu .mm-btns button:disabled{opacity:.4;cursor:not-allowed}
.tutorialbar{position:fixed;left:50%;transform:translateX(-50%);top:0.7407rem;z-index:190;display:flex;align-items:center;gap:0.5926rem;background:linear-gradient(135deg,rgba(88,166,255,.2),rgba(188,140,255,.18));backdrop-filter:blur(0.4444rem);border:0.0741rem solid var(--accent);border-radius:0.8889rem;padding:0.5926rem 0.8889rem;max-width:min(42rem,92vw);box-shadow:0 0.5926rem 1.4815rem rgba(0,0,0,.5)}
.tutorialbar .tb-left{font-size:0.8889rem;font-weight:700;color:var(--accent);white-space:nowrap}
.tutorialbar .tb-tip{font-size:0.8889rem;color:var(--text);line-height:1.5;flex:1}
.tutorialbar .mini{background:none;border:0.0741rem dashed var(--line);color:var(--muted);font-size:0.8148rem;padding:0.2963rem 0.5926rem;border-radius:0.4444rem;cursor:pointer;white-space:nowrap}
.tutorialbar .mini:hover{border-color:var(--accent);color:var(--text)}
@media (max-width:640px){
  .tutorialbar{flex-wrap:wrap;padding:0.4444rem 0.6667rem}
  .tutorialbar .tb-tip{flex-basis:100%;order:3}
}

/* ===== v4.6.0 目标卡 / 状态条 ===== */
.goalcard{margin:0 0 0.7407rem;padding:0.7407rem 0.8889rem;border:0.0741rem solid rgba(88,166,255,.28);border-radius:0.7407rem;background:rgba(88,166,255,.06)}
.goalcard .gh{display:flex;align-items:center;justify-content:space-between;gap:0.5926rem;font-weight:700;margin-bottom:0.4444rem;font-size:0.963rem}
.goalrow{display:grid;grid-template-columns:minmax(7rem,1.1fr) 1fr auto;gap:0.5185rem;align-items:center;margin:0.3704rem 0;font-size:0.8889rem}
.goalrow .gn{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.goalrow b{font-weight:500;color:var(--muted);white-space:nowrap;font-size:0.8148rem}
.goalbar{height:0.5185rem;border-radius:74rem;background:var(--raised);border:0.0741rem solid var(--line);overflow:hidden}
.goalbar>i{display:block;height:100%;border-radius:74rem;background:linear-gradient(90deg,var(--accent),#7ee787);transition:width .25s}
.sugrow{margin-top:0.5926rem;display:flex;flex-wrap:wrap;gap:0.3704rem;align-items:center;font-size:0.8148rem;color:var(--muted)}
.sugrow .mini{padding:0.2222rem 0.5185rem;font-size:0.8148rem}
.statusbar{display:inline-flex;flex-wrap:wrap;gap:0.2963rem;margin-left:0.2963rem;cursor:pointer}
.statuschip{display:inline-flex;align-items:center;gap:0.2222rem;font-size:0.7407rem;border-radius:74rem;padding:0.0741rem 0.4444rem;border:0.0741rem solid var(--line);background:var(--raised)}
.statuschip em{font-style:normal;opacity:.65;font-size:0.6667rem;margin-left:0.1481rem}
.statuschip.buff{color:#7ee787;border-color:rgba(63,185,80,.45);background:rgba(63,185,80,.1)}
.statuschip.debuff{color:#ff9b94;border-color:rgba(248,81,73,.45);background:rgba(248,81,73,.1)}
.statuschip.neutral{color:#d2a8ff;border-color:rgba(188,140,255,.4);background:rgba(188,140,255,.1)}
.statuschip.mixed{color:#ffd479;border-color:rgba(210,153,34,.45);background:rgba(210,153,34,.1)}
.statuschip.none{color:var(--muted)}
.statusrow2{border:0.0741rem solid var(--line);border-radius:0.5926rem;padding:0.5926rem 0.7407rem;margin:0.4444rem 0;background:var(--base)}
.statusrow2 .sn{font-weight:600;display:flex;align-items:center;gap:0.3704rem;flex-wrap:wrap}
.statusrow2 .sn em{font-style:normal;font-size:0.7407rem;color:var(--muted);font-weight:400}
.statusrow2 .sd{font-size:0.8148rem;color:var(--muted);margin-top:0.2222rem}
.statusrow2.buff{border-color:rgba(63,185,80,.35)}
.statusrow2.debuff{border-color:rgba(248,81,73,.35)}
.statusrow2.neutral{border-color:rgba(188,140,255,.35)}
.statusrow2.mixed{border-color:rgba(210,153,34,.35)}
.goalrow2{border:0.0741rem solid var(--line);border-radius:0.5926rem;padding:0.5185rem 0.7407rem;margin:0.3704rem 0;background:var(--base)}
.goalrow2.done{opacity:.75;border-color:rgba(63,185,80,.35)}
.goalrow2 .gn{font-weight:600;font-size:0.8889rem}
.goalrow2 .gc{font-size:0.7778rem;color:var(--muted);margin-top:0.2222rem}
.mini{background:var(--raised);border:0.0741rem solid var(--line);color:var(--text);border-radius:0.4444rem;padding:0.2222rem 0.5185rem;font-size:0.8148rem;cursor:pointer}
.mini:hover{border-color:var(--accent);color:#fff}

/* ===== v4.7.0 多面状态 ===== */
.statuschip.mixed{color:#e3b341;border-color:rgba(210,153,34,.45);background:rgba(210,153,34,.1)}
.statusrow2.mixed{border-color:rgba(210,153,34,.4)}
.statusrow2 .sp{font-size:0.8148rem;color:#7ee787;margin-top:0.2222rem}
.statusrow2 .sc{font-size:0.8148rem;color:#ff9b94;margin-top:0.1481rem}

/* ===== v4.8.0 存档槽位 ===== */
.slotgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:0.5926rem;margin:0.7407rem 0}
.slotcard{border:0.0741rem solid var(--line);border-radius:0.5926rem;padding:0.5926rem 0.7407rem;background:var(--base)}
.slotcard.empty{opacity:.6}
.slotcard .sh{font-weight:700;display:flex;flex-wrap:wrap;gap:0.2963rem;align-items:baseline;font-size:0.8889rem}
.slotcard .sh em{font-style:normal;font-weight:400;color:var(--muted);font-size:0.7407rem}
.slotcard .sb{font-size:0.7778rem;color:var(--muted);margin-top:0.2222rem}
.slotcard .sbtns{display:flex;gap:0.2963rem;margin-top:0.4444rem;flex-wrap:wrap}
