  .atlas-mark{display:block}
  .app-shell{display:none;height:100vh;width:100%;zoom:var(--font-scale)}
  .app-shell.active{display:flex}

  /* --- Persistent left rail --- */
  .rail{width:66px;min-width:66px;background:linear-gradient(180deg,var(--header-bg) 0%,#1c0d47 100%);display:flex;flex-direction:column;align-items:center;padding:12px 0 10px;flex-shrink:0;border-right:1px solid rgba(255,255,255,0.06)}
  .rail-logo{width:46px;height:46px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;margin-bottom:16px;transition:transform .12s;box-shadow:0 2px 9px rgba(0,0,0,0.28)}
  .rail-logo:hover{transform:scale(1.05)}
  .rail-logo svg{width:38px;height:38px}
  .rail-logo img{width:40px;height:40px;object-fit:contain;display:block}
  .rail-nav{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;flex:1;overflow-y:auto;overflow-x:hidden}
  .rail-nav::-webkit-scrollbar{width:0}
  .rail-sep{width:30px;height:1px;background:rgba(255,255,255,0.12);margin:8px 0}
  .rail-btn{position:relative;width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:rgba(255,255,255,0.62);border:none;background:transparent;transition:background .12s,color .12s;flex-shrink:0}
  .rail-btn i{font-size:22px}
  .rail-btn:hover{background:rgba(255,255,255,0.08);color:#fff}
  .rail-btn.active{background:rgba(70,52,144,0.55);color:#fff}
  .rail-btn.active::before{content:'';position:absolute;left:-13px;top:50%;transform:translateY(-50%);width:3px;height:22px;border-radius:2px;background:#E87825}
  .rail-btn .rail-fav-dot{position:absolute;top:6px;right:6px;width:6px;height:6px;border-radius:50%;background:#E87825}
  .rail-tip-float{position:fixed;background:#1A1A2A;color:#fff;font-size:12px;padding:5px 10px;border-radius:7px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s;box-shadow:0 4px 14px rgba(0,0,0,0.3);z-index:500}
  .rail-bottom{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%}
  .rail-avatar{width:36px;height:36px;border-radius:50%;background:#463490;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;cursor:pointer;margin-top:4px;border:1px solid rgba(255,255,255,0.18);padding:0;font-family:inherit;appearance:none;transition:transform .12s}
  .rail-avatar:hover{transform:scale(1.06)}
  .rail-avatar:focus-visible{outline:2px solid #fff;outline-offset:2px}

  /* --- Shell content region + view switching --- */
  .shell-main{flex:1;position:relative;overflow:hidden;background:var(--bg-page)}
  .view{position:absolute;inset:0;overflow-y:auto;display:none}
  .view.active{display:block}
  .view-report.active{display:flex}
  .view::-webkit-scrollbar{width:8px}.view::-webkit-scrollbar-thumb{background:var(--border-s);border-radius:4px}

  /* --- Background-load spinner + states --- */
  @keyframes atlaspin{to{transform:rotate(360deg)}}
  .rl-spin{width:36px;height:36px;border:3px solid var(--border-s);border-top-color:var(--ep);border-radius:50%;animation:atlaspin .8s linear infinite;display:inline-block;flex-shrink:0}
  .rl-spin.sm{width:14px;height:14px;border-width:2px;vertical-align:middle}
  .report-loading{position:absolute;inset:0;z-index:20;display:none;align-items:center;justify-content:center;background:var(--bg-page)}
  .report-loading.show{display:flex}
  .report-loading .rl-inner{text-align:center;max-width:420px;padding:24px}
  .report-loading .rl-text{font-size:16px;font-weight:500;margin-top:16px;color:var(--text-primary)}
  .report-loading .rl-sub{font-size:13px;color:var(--text-secondary);margin-top:6px;line-height:1.5}
  .report-loading .rl-err-ic{width:52px;height:52px;border-radius:14px;background:var(--bg-bad);color:var(--t-bad);display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto}
  .lp-loading{display:flex;align-items:center;gap:11px;background:var(--bg-info);border:.5px solid var(--border-t);border-radius:12px;padding:12px 16px;font-size:13px;color:var(--text-secondary);margin-bottom:24px}
  .lp-loading.err{background:var(--bg-bad);color:var(--t-bad)}
  .lp-loading i{font-size:17px;flex-shrink:0}
  .lp-retry{margin-left:auto;font-family:inherit;font-size:12px;font-weight:500;background:var(--t-bad);color:#fff;border:none;border-radius:7px;padding:5px 12px;cursor:pointer}
  .rc-pill.err{background:var(--bg-bad);color:var(--t-bad)}

