/* 全解落地页 · Cursor / Claude 气质
   深空底、大标题、白 CTA、点击后浮层登录。独立于 app.css。 */

:root{
  --lp-width:1280px;
  --lp-bg:#070708;
  --lp-bg-elev:#111114;
  --lp-bg-panel:#0B0B0D;
  --lp-ink:#F5F5F7;
  --lp-ink-2:#A1A1AA;
  --lp-muted:#71717A;
  --lp-line:rgba(255,255,255,.08);
  --lp-line-strong:rgba(255,255,255,.14);
  --lp-white:#FFFFFF;
  --lp-soft:rgba(255,255,255,.92);
  --lp-danger:#F97171;
  --lp-accent:#fcd34d;
  --lp-ok:#86efac;
  --lp-accent-soft:rgba(252,211,77,.1);
  --lp-accent-soft-2:rgba(252,211,77,.16);
  --lp-accent-line:rgba(252,211,77,.4);
  --lp-fill:rgba(255,255,255,.04);
  --lp-fill-2:rgba(255,255,255,.08);
  --lp-halo:rgba(255,255,255,.22);
  --lp-scene-bg:#070708;
  --lp-font:"IBM Plex Sans","Noto Sans SC","PingFang SC","Hiragino Sans GB",sans-serif;
  --lp-radius:12px;
}

/* Apple-like light: #f5f5f7 / white / system blue */
html[data-theme="light"]{
  --lp-bg:#f5f5f7;
  --lp-bg-elev:#ffffff;
  --lp-bg-panel:#ffffff;
  --lp-ink:#1d1d1f;
  --lp-ink-2:#6e6e73;
  --lp-muted:#86868b;
  --lp-line:rgba(0,0,0,.06);
  --lp-line-strong:rgba(0,0,0,.1);
  --lp-white:#ffffff;
  --lp-soft:rgba(29,29,31,.92);
  --lp-danger:#ff3b30;
  --lp-accent:#0071e3;
  --lp-ok:#34c759;
  --lp-accent-soft:rgba(0,113,227,.08);
  --lp-accent-soft-2:rgba(0,113,227,.12);
  --lp-accent-line:rgba(0,113,227,.32);
  --lp-fill:rgba(0,0,0,.03);
  --lp-fill-2:rgba(0,0,0,.055);
  --lp-halo:rgba(0,113,227,.22);
  --lp-scene-bg:#f5f5f7;
}

html{color-scheme:dark;margin:0}
html[data-theme="light"]{color-scheme:light}
body{margin:0}
.lp-body{
  min-height:100vh;min-height:100dvh;
  margin:0;
  background:var(--lp-bg);
  color:var(--lp-ink);
  font-family:var(--lp-font);
  font-size:15px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
  display:flex;flex-direction:column;
}
.lp-body.is-auth-open{overflow:hidden}

/* ── Scene (interactive Dot Grid) ────────────────────── */
.lp-scene{position:fixed;inset:0;z-index:0;overflow:hidden;background:var(--lp-scene-bg)}
.lp-dotgrid{position:absolute;inset:0}
.lp-dotgrid-canvas{display:block;width:100%;height:100%}
.lp-vignette{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 40%, transparent 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.72) 100%),
    linear-gradient(180deg, rgba(0,0,0,.35) 0%, transparent 30%, transparent 60%, rgba(0,0,0,.7) 100%);
}
html[data-theme="light"] .lp-vignette{
  background:
    radial-gradient(ellipse at 50% 30%, rgba(255,255,255,.7) 0%, transparent 55%),
    linear-gradient(180deg, rgba(245,245,247,.2) 0%, transparent 40%, rgba(0,0,0,.04) 100%);
}

/* ── Nav ─────────────────────────────────────────────── */
.lp-nav{
  position:relative;z-index:5;
  width:100%;
  padding:0;
  animation:lp-rise .7s cubic-bezier(.22,1,.36,1) both;
}
.lp-nav-inner{
  display:flex;align-items:center;gap:20px;
  width:100%;max-width:var(--lp-width);margin:0 auto;
  padding:18px 24px;
  padding-top:calc(18px + env(safe-area-inset-top));
  box-sizing:border-box;
}
.lp-logo{
  color:var(--lp-ink);text-decoration:none;
  font-size:14px;font-weight:600;letter-spacing:.04em;
}
.lp-nav-cta{
  appearance:none;border:0;cursor:pointer;background:none;
  font:inherit;font-size:13px;font-weight:500;
  color:var(--lp-ink-2);
  text-decoration:none;
  padding:4px 2px;
  box-shadow:none;border-radius:0;
  transition:color .2s ease;
}
.lp-nav-cta:hover{color:var(--lp-ink)}
.lp-nav-end{
  margin-left:auto;
  display:flex;align-items:center;gap:14px;
}
.lp-body.is-app .lp-nav-end{
  margin-left:auto;
  flex:none;
}
.lp-body.is-app .lp-proj-tools{
  margin-left:auto;
}
.lp-body.is-app .lp-proj-tools ~ .lp-nav-end{
  margin-left:12px;
}
.lp-nav-form{margin:0}
.lp-theme-toggle{
  appearance:none;border:0;cursor:pointer;
  width:34px;height:34px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--lp-ink-2);
  background:var(--lp-fill);
  border:1px solid var(--lp-line-strong);
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.lp-theme-toggle:hover{
  color:var(--lp-ink);
  background:var(--lp-fill-2);
}
.lp-theme-toggle svg{
  width:16px;height:16px;
  display:none;
}
html[data-theme="dark"] .lp-theme-toggle .lp-theme-sun{display:block}
html[data-theme="light"] .lp-theme-toggle .lp-theme-moon{display:block}

/* Sidebar theme row (overrides circular header control) */
.lp-side-foot-item.lp-theme-toggle{
  width:100%;height:auto;
  border:0;border-radius:10px;
  background:transparent;
  color:rgba(161,161,170,.92);
  justify-content:flex-start;
  gap:12px;
  padding:11px 12px;
}
.lp-side-foot-item.lp-theme-toggle:hover{
  color:var(--lp-ink);
  background:rgba(255,255,255,.04);
}
html[data-theme="light"] .lp-side-foot-item.lp-theme-toggle:hover{
  background:rgba(0,0,0,.04);
}
.lp-side-foot-item.lp-theme-toggle svg.lp-side-ico{
  width:18px;height:18px;
  fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
  opacity:.85;flex:none;
}
.lp-side-foot-item.lp-theme-toggle:hover svg.lp-side-ico{opacity:1}
html[data-theme="dark"] .lp-side-foot-item.lp-theme-toggle .lp-theme-sun{display:block}
html[data-theme="light"] .lp-side-foot-item.lp-theme-toggle .lp-theme-moon{display:block}
.lp-nav-form .lp-nav-cta{margin-left:0}

/* ── Status / pending gate ───────────────────────────── */
.lp-status{
  position:relative;z-index:2;
  width:100%;max-width:640px;margin:0 auto;
  padding:28px 28px 30px;
  background:var(--lp-bg-panel);
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  animation:lp-rise .75s cubic-bezier(.22,1,.36,1) .08s both;
}
.lp-status .lp-eyebrow{
  display:inline-flex;margin:0 0 16px;animation:none;
}
.lp-status-title{
  margin:0 0 14px;
  font-size:clamp(24px, 4vw, 32px);
  font-weight:650;letter-spacing:-.02em;line-height:1.25;
  color:var(--lp-ink);
}
.lp-status-lead{
  margin:0;
  font-size:14.5px;line-height:1.8;color:var(--lp-ink-2);
  text-wrap:pretty;
}
.lp-status-lead b{color:var(--lp-ink);font-weight:600}
.lp-status-lead a,
.lp-status-note a{
  color:var(--lp-ink);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.28);
}
.lp-status-lead a:hover,
.lp-status-note a:hover{text-decoration-color:rgba(255,255,255,.7)}
.lp-status-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:22px 0 18px;
  padding:14px 16px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  background:rgba(255,255,255,.02);
}
.lp-status-meta div{display:flex;flex-direction:column;gap:4px;min-width:0}
.lp-status-meta span{
  font-size:11px;letter-spacing:.14em;color:var(--lp-muted);
}
.lp-status-meta b{
  font-size:13.5px;font-weight:600;color:var(--lp-ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lp-status-note{
  margin:0;
  font-size:13px;line-height:1.7;color:var(--lp-muted);
}
.lp-status.is-rejected .lp-eyebrow{
  border-color:rgba(249,113,113,.35);
  color:#fecaca;
  background:rgba(249,113,113,.08);
}
@media (max-width:520px){
  .lp-status{padding:22px 18px 24px}
  .lp-status-meta{grid-template-columns:1fr}
}

/* ── Admin login gate ────────────────────────────────── */
.lp-admin-login{
  position:relative;z-index:2;
  width:100%;max-width:420px;margin:0 auto 48px;
  padding:28px 28px 26px;
  background:var(--lp-bg-panel);
  border:1px solid var(--lp-line-strong);
  border-radius:18px;
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  animation:lp-rise .75s cubic-bezier(.22,1,.36,1) .08s both;
}
.lp-admin-login .auth-panel-head{margin-bottom:22px}
.lp-admin-login .auth-note{
  margin-top:18px;text-align:left;line-height:1.65;
}
html[data-theme="light"] .lp-admin-login{
  box-shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.04);
}
@media (max-width:520px){
  .lp-admin-login{padding:22px 18px 22px}
}

/* ── Hero ────────────────────────────────────────────── */
.lp-main{
  position:relative;z-index:2;
  flex:1;
  width:100%;max-width:var(--lp-width);margin:0 auto;
  padding:0 24px;
  display:flex;flex-direction:column;justify-content:center;
}
.lp-hero{
  text-align:center;
  max-width:820px;margin:0 auto;
  padding:24px 0 32px;
}
.lp-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  margin:0 auto 22px;
  padding:7px 14px;
  border:1px solid var(--lp-line-strong);
  border-radius:999px;
  background:var(--lp-fill);
  color:var(--lp-ink-2);
  font-size:11px;font-weight:500;letter-spacing:.16em;
  animation:lp-rise .75s cubic-bezier(.22,1,.36,1) .05s both;
}
.lp-title{
  margin:0;
  font-size:clamp(34px, 7vw, 64px);
  font-weight:650;line-height:1.12;letter-spacing:-.02em;
  color:var(--lp-ink);
  text-wrap:balance;
  animation:lp-rise .8s cubic-bezier(.22,1,.36,1) .1s both;
}
.lp-sub{
  margin:18px auto 0;
  max-width:34em;
  font-size:clamp(15px, 2.2vw, 17px);
  color:var(--lp-ink-2);line-height:1.7;
  text-wrap:pretty;
  animation:lp-rise .8s cubic-bezier(.22,1,.36,1) .16s both;
}
.lp-actions{
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px;
  margin-top:32px;
  animation:lp-rise .85s cubic-bezier(.22,1,.36,1) .22s both;
}
.lp-btn{
  appearance:none;border:0;cursor:pointer;
  font:inherit;font-size:15px;font-weight:600;
  padding:13px 22px;border-radius:12px;
  transition:transform .2s ease, box-shadow .25s ease, background .2s ease, color .2s ease;
}
.lp-btn-primary{
  color:#0a0a0b;background:var(--lp-white);
  box-shadow:0 0 0 1px rgba(255,255,255,.1), 0 0 40px var(--lp-halo);
}
.lp-btn-primary:hover{
  transform:translateY(-1px);
  box-shadow:0 0 0 1px rgba(255,255,255,.16), 0 0 56px var(--lp-halo);
}
html[data-theme="light"] .lp-btn-primary{
  color:#fff;background:var(--lp-accent);
  box-shadow:0 4px 14px rgba(0,113,227,.28);
}
html[data-theme="light"] .lp-btn-primary:hover{
  background:#0077ed;
  box-shadow:0 6px 20px rgba(0,113,227,.34);
}
.lp-btn-ghost{
  color:var(--lp-ink);
  background:var(--lp-fill);
  border:1px solid var(--lp-line-strong);
}
.lp-btn-ghost:hover{background:var(--lp-fill-2)}
.lp-btn-accent{
  color:var(--lp-accent);
  background:var(--lp-accent-soft);
  border:1px solid var(--lp-accent-line);
}
.lp-btn-accent:hover{
  background:var(--lp-accent-soft-2);
  border-color:var(--lp-accent);
}
a.lp-btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.lp-btn-sm{
  padding:9px 14px;font-size:13px;border-radius:10px;
  font-weight:600;
}
.lp-btn:disabled{
  opacity:.45;cursor:not-allowed;
  transform:none;box-shadow:none;
}

/* ── Footer ──────────────────────────────────────────── */
.lp-foot{
  position:relative;z-index:2;
  flex:none;
  width:100%;
  padding:12px 24px calc(12px + env(safe-area-inset-bottom));
  border-top:1px solid var(--lp-line);
  text-align:center;
}
.lp-foot p{
  margin:0;
  font-size:12px;line-height:1.6;
  color:var(--lp-muted);
}
.lp-foot b{font-weight:600;color:var(--lp-ink)}
.lp-foot .sep{margin:0 8px;color:var(--lp-muted);opacity:.45}
@media (max-width:520px){
  .lp-foot p{font-size:11px}
}

/* ── Auth overlay ────────────────────────────────────── */
.auth-overlay{
  position:fixed;inset:0;z-index:40;
  display:flex;align-items:flex-end;justify-content:center;
  padding:0;
}
.auth-overlay[hidden]{display:none !important}
.auth-backdrop{
  position:absolute;inset:0;border:0;padding:0;cursor:pointer;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  opacity:0;transition:opacity .28s ease;
}
.auth-overlay.is-visible .auth-backdrop{opacity:1}

.auth-panel{
  position:relative;z-index:1;
  width:100%;max-width:420px;
  box-sizing:border-box;
  background:var(--lp-bg-panel);
  border:1px solid var(--lp-line-strong);
  border-bottom:0;
  border-radius:20px 20px 0 0;
  padding:22px 22px calc(22px + env(safe-area-inset-bottom));
  box-shadow:0 -20px 80px rgba(0,0,0,.55);
  transform:translateY(18px);
  opacity:0;
  transition:transform .32s cubic-bezier(.22,1,.36,1), opacity .28s ease;
}
.auth-overlay.is-visible .auth-panel{
  transform:translateY(0);opacity:1;
}

.auth-panel-head{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;margin-bottom:18px;
}
.auth-panel-kicker{
  margin:0 0 4px;font-size:11px;letter-spacing:.2em;color:var(--lp-muted);
}
.auth-panel-title{
  margin:0;font-size:22px;font-weight:650;letter-spacing:-.02em;
}
.auth-close{
  appearance:none;border:0;cursor:pointer;
  width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.05);color:var(--lp-ink-2);
  font-size:22px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .2s ease, color .2s ease;
}
.auth-close:hover{background:rgba(255,255,255,.1);color:var(--lp-ink)}

.auth-msg{
  background:rgba(249,113,113,.12);
  border:1px solid rgba(249,113,113,.35);
  color:#fecaca;
  border-radius:10px;padding:10px 12px;
  font-size:13px;margin-bottom:14px;
}

.auth-tabs{
  display:flex;gap:4px;
  padding:4px;margin-bottom:18px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--lp-line);
  border-radius:12px;
}
.auth-tabs button{
  flex:1;appearance:none;border:0;cursor:pointer;
  font:inherit;font-size:13.5px;font-weight:600;
  color:var(--lp-muted);
  background:transparent;
  padding:9px 10px;border-radius:9px;
  transition:background .2s ease, color .2s ease, box-shadow .2s ease;
}
.auth-tabs button.on{
  color:var(--lp-ink);
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
html[data-theme="light"] .auth-tabs{
  background:rgba(0,0,0,.04);
  border-color:rgba(0,0,0,.08);
}
html[data-theme="light"] .auth-tabs button.on{
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.04);
}
html[data-theme="light"] .auth-form input::placeholder{
  color:rgba(110,110,115,.55);
}
html[data-theme="light"] .auth-msg{
  background:rgba(255,59,48,.08);
  border-color:rgba(255,59,48,.28);
  color:#d70015;
}
html[data-theme="light"] .auth-panel{
  box-shadow:
    0 18px 50px rgba(0,0,0,.12),
    0 0 0 1px rgba(0,0,0,.06);
}

.auth-form label{
  display:block;margin:14px 0 7px;
  font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--lp-muted);
}
.auth-form label:first-of-type{margin-top:0}
.auth-form input{
  width:100%;
  box-sizing:border-box;
  appearance:none;
  border:1px solid var(--lp-line-strong);
  background:rgba(0,0,0,.35);
  color:var(--lp-ink);
  border-radius:10px;
  padding:12px 13px;
  font:inherit;font-size:16px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.auth-form input::placeholder{color:rgba(161,161,170,.55)}
.auth-form input:focus{
  outline:none;
  border-color:rgba(255,255,255,.35);
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
html[data-theme="light"] .auth-form input{
  background:#fff;
  border-color:rgba(0,0,0,.12);
}
html[data-theme="light"] .auth-form input:focus{
  border-color:var(--lp-accent);
  box-shadow:0 0 0 3px var(--lp-accent-soft);
}

.auth-submit{
  display:block;width:100%;box-sizing:border-box;margin-top:20px;
  appearance:none;border:0;cursor:pointer;
  font:inherit;font-size:15px;font-weight:600;
  color:#0a0a0b;background:var(--lp-white);
  padding:13px 16px;border-radius:11px;
  box-shadow:0 0 28px var(--lp-halo);
  transition:transform .2s ease, box-shadow .25s ease, background .2s ease, color .2s ease;
}
.auth-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 0 40px var(--lp-halo);
}
html[data-theme="light"] .auth-submit{
  color:#fff;background:var(--lp-accent);
  box-shadow:0 4px 14px rgba(0,113,227,.25);
}
html[data-theme="light"] .auth-submit:hover{
  background:#0077ed;
  box-shadow:0 6px 18px rgba(0,113,227,.32);
}
.auth-note{
  margin:16px 0 0;text-align:center;
  font-size:11.5px;color:var(--lp-muted);
}

/* ── About panel ─────────────────────────────────────── */
.about-overlay .auth-backdrop{
  background:transparent;
  backdrop-filter:none;-webkit-backdrop-filter:none;
}
.about-panel{
  max-width:820px;
  max-height:min(88dvh,820px);
  overflow-y:auto;
  background:#000;
  border:0 !important;
  box-shadow:
    0 18px 48px rgba(0,0,0,.4),
    0 0 36px rgba(255,255,255,.08);
}
html[data-theme="light"] .about-panel{
  background:#fff;
  box-shadow:
    0 18px 50px rgba(0,0,0,.1),
    0 0 0 1px rgba(0,0,0,.04);
}
.about-body{display:flex;flex-direction:column;gap:0}
.about-lead{
  margin:0 0 24px;
  font-size:14.5px;line-height:1.85;
  color:var(--lp-ink-2);
  text-wrap:pretty;
}
.about-lead b{
  color:var(--lp-ink);font-weight:600;
}
.about-section-title{
  margin:0 0 14px;
  font-size:11px;font-weight:500;
  letter-spacing:.2em;color:var(--lp-muted);
}
.about-steps{
  list-style:none;margin:0 0 24px;padding:0;
  display:flex;flex-direction:column;gap:0;
}
.about-steps li{
  display:grid;
  grid-template-columns:2.4em 1fr;
  gap:14px;
  padding:14px 0;
  border-top:1px solid var(--lp-line);
}
.about-steps li:last-child{padding-bottom:0}
.about-step-n{
  font-size:12px;font-weight:600;
  letter-spacing:.06em;color:var(--lp-accent);
  padding-top:2px;
  font-variant-numeric:tabular-nums;
}
.about-steps b{
  display:block;
  margin:0 0 6px;
  font-size:14.5px;font-weight:600;color:var(--lp-ink);
  letter-spacing:.02em;
}
.about-steps p{
  margin:0;
  font-size:13.5px;line-height:1.7;color:var(--lp-ink-2);
}

.lp-foot a{
  color:var(--lp-ink);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.28);
}
.lp-foot a:hover{text-decoration-color:rgba(255,255,255,.7)}

/* ── App shell (/home …) ─────────────────────────────── */
.lp-body.is-app{
  justify-content:flex-start;
  overflow-x:clip; /* clip doesn't break position:sticky the way hidden can */
}
.lp-app-main{
  justify-content:flex-start !important;
  gap:20px;
  padding-top:28px;
  padding-bottom:40px;
}
.lp-app-nav{flex-wrap:wrap;row-gap:12px}
.lp-body.is-app > .lp-app-nav{
  position:sticky;top:0;z-index:50;
  align-self:stretch;
  width:100%;
  max-width:none;
  margin:0;
  box-sizing:border-box;
  background:var(--lp-bg);
  border-bottom:1px solid var(--lp-line);
  animation:none;
  /* Cover any subpixel / safe-area gap above sticky bar */
  box-shadow:0 -1px 0 0 var(--lp-bg);
}
/* Keep header content and main column on the same 1280 track */
.lp-body.is-app > .lp-app-nav .lp-nav-inner,
.lp-body.is-app > .lp-app-main{
  width:100%;
  max-width:var(--lp-width);
  margin-left:auto;
  margin-right:auto;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
}
.lp-body.is-app > .lp-app-nav .lp-nav-inner{
  flex-wrap:wrap;row-gap:12px;
  padding-top:calc(18px + env(safe-area-inset-top));
  padding-bottom:18px;
}

/* Library / square / pinned lists / project flow: nav fixed; chrome stays put; only the body scrolls */
.lp-body.is-library > .lp-app-nav,
.lp-body.is-square > .lp-app-nav,
.lp-body.is-pinned > .lp-app-nav,
.lp-body.is-project > .lp-app-nav{
  position:fixed;
  top:0;left:0;right:0;
}
.lp-body.is-library,
.lp-body.is-square,
.lp-body.is-pinned,
.lp-body.is-project{
  height:100vh;height:100dvh;
  overflow:hidden;
  padding-top:var(--lp-app-nav-h, 64px);
  box-sizing:border-box;
}
.lp-body.is-library .lp-app-main,
.lp-body.is-square .lp-app-main,
.lp-body.is-pinned .lp-app-main,
.lp-body.is-project .lp-app-main{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding-top:0;
  padding-bottom:0;
  gap:20px;
}
.lp-body.is-library .lp-lib-chrome,
.lp-body.is-square .lp-lib-chrome,
.lp-body.is-pinned .lp-lib-chrome,
.lp-body.is-project .lp-lib-chrome{
  position:relative;
  z-index:1;
  flex:none;
  width:100%;
  max-width:none;
  margin:0;
  padding:28px 0 0;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  gap:20px;
  background:transparent;
  border-bottom:0;
  align-self:stretch;
}
.lp-body.is-library .lp-lib-scroll,
.lp-body.is-square .lp-lib-scroll,
.lp-body.is-pinned .lp-lib-scroll,
.lp-body.is-project .lp-lib-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  display:flex;
  flex-direction:column;
  gap:20px;
  padding-bottom:max(48px, env(safe-area-inset-bottom, 0px) + 28px);
  box-sizing:border-box;
  scrollbar-width:none; /* Firefox */
  -ms-overflow-style:none; /* legacy Edge */
}
.lp-body.is-library .lp-lib-scroll::-webkit-scrollbar,
.lp-body.is-square .lp-lib-scroll::-webkit-scrollbar,
.lp-body.is-pinned .lp-lib-scroll::-webkit-scrollbar,
.lp-body.is-project .lp-lib-scroll::-webkit-scrollbar{display:none} /* Chrome/Safari */
/* 滚动区里的卡片一律不许被压缩，超出就滚动。
   这条不是保险起见，是修一个真实事故：flex 列的子项默认可以收缩，
   而「不低于内容高度」那条保护对设了 overflow:hidden 的子项自动失效
   （规范里 min-height:auto 在这种情况下算作 0）——折叠面板正是为了
   动画才设的 overflow:hidden。结果内容一超出视口，面板就被压扁，
   底部内容连同提交按钮一起被裁掉：新建选题面板只剩三个输入框，
   「院校属性」和「开始诊断」凭空消失；审稿人申请面板同理。 */
.lp-body.is-library .lp-lib-scroll > *,
.lp-body.is-square .lp-lib-scroll > *,
.lp-body.is-pinned .lp-lib-scroll > *,
.lp-body.is-project .lp-lib-scroll > *{flex-shrink:0}
.lp-lib-chrome .lp-app-head,
.lp-lib-chrome .lp-search{margin:0}
.lp-nav-start{
  display:flex;align-items:center;gap:10px;min-width:0;
}
.lp-menu-btn{
  appearance:none;border:0;cursor:pointer;flex:none;
  width:36px;height:36px;padding:0;border-radius:10px;
  background:transparent;color:var(--lp-ink);
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .15s ease;
}
.lp-menu-btn:hover{background:rgba(255,255,255,.06)}
.lp-menu-ico,
.lp-menu-ico::before,
.lp-menu-ico::after{
  display:block;width:16px;height:1.5px;
  background:currentColor;border-radius:1px;
  position:relative;
}
.lp-menu-ico{
  transition:transform .25s cubic-bezier(.22,1,.36,1);
}
.lp-menu-ico::before,
.lp-menu-ico::after{
  content:"";
  position:absolute;left:0;
}
.lp-menu-ico::before{top:-5px}
.lp-menu-ico::after{top:5px}
html.is-side-open .lp-menu-ico{
  transform:rotate(90deg);
}
.lp-roles{
  display:none;
}
.lp-side-backdrop{
  display:none;
}
.lp-sidebar{
  position:fixed;top:0;left:0;bottom:0;z-index:70;
  width:min(288px, 88vw);
  padding:0 0 28px;
  background:#000;
  border-right:1px solid var(--lp-line);
  box-shadow:none;
  transform:translateX(-105%);
  transition:transform .28s cubic-bezier(.22,1,.36,1);
  display:flex;flex-direction:column;gap:0;
  overflow:hidden;
}
html.is-side-open .lp-sidebar{
  transform:translateX(0);
  box-shadow:24px 0 60px rgba(0,0,0,.8);
}
html.is-side-boot .lp-sidebar{
  transition:none;
}
html[data-theme="light"] .lp-sidebar{
  background:#fff;
  border-right-color:rgba(0,0,0,.08);
}
html[data-theme="light"] html.is-side-open .lp-sidebar,
html[data-theme="light"].is-side-open .lp-sidebar{
  box-shadow:8px 0 32px rgba(0,0,0,.1);
}
.lp-side-head{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;
  box-sizing:border-box;
  height:var(--lp-app-nav-h, 72px);
  min-height:var(--lp-app-nav-h, 72px);
  padding:0 12px; /* match .lp-side-nav / .lp-side-foot */
  border-bottom:1px solid var(--lp-line);
  flex:none;
  background:transparent;
}
.lp-side-brand{
  color:var(--lp-ink);text-decoration:none;
  font-size:15px;font-weight:650;letter-spacing:.01em;
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding-left:12px; /* match .lp-side-nav a → aligns with icons */
}
.lp-side-brand:hover{color:#fff}
html[data-theme="light"] .lp-side-brand:hover{color:var(--lp-ink)}
.lp-side-close{
  appearance:none;border:0;cursor:pointer;flex:none;
  width:30px;height:30px;border-radius:8px;
  background:transparent;color:var(--lp-muted);
  display:inline-flex;align-items:center;justify-content:center;
  transition:background .15s ease, color .15s ease;
}
.lp-side-close span,
.lp-side-close span::before{
  display:block;width:12px;height:1.5px;
  background:currentColor;border-radius:1px;
  position:relative;
}
.lp-side-close span{transform:rotate(45deg)}
.lp-side-close span::before{
  content:"";
  position:absolute;left:0;top:0;
  transform:rotate(90deg);
}
.lp-side-close:hover{
  background:rgba(255,255,255,.06);color:var(--lp-ink);
}
html[data-theme="light"] .lp-side-close:hover{
  background:rgba(0,0,0,.05);
}
.lp-side-nav{
  display:flex;flex-direction:column;gap:2px;
  padding:16px 12px 0;
}
.lp-side-group{
  display:flex;flex-direction:column;gap:2px;
}
.lp-side-group + .lp-side-group{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--lp-line);
}
.lp-side-group-label{
  margin:0 0 4px;
  padding:2px 12px;
  font-size:11px;font-weight:600;letter-spacing:.08em;
  color:var(--lp-muted);
}
.lp-side-nav a{
  display:flex;align-items:center;gap:12px;
  padding:11px 12px;
  border-radius:10px;
  border:1px solid transparent;
  color:rgba(161,161,170,.92);text-decoration:none;
  font-size:14px;font-weight:500;letter-spacing:.01em;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
html[data-theme="light"] .lp-side-nav a{
  color:var(--lp-ink-2);
}
.lp-side-nav a > span{flex:1;min-width:0}
.lp-side-ico{
  flex:none;width:18px;height:18px;
  fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
  opacity:.85;
}
.lp-side-nav a em{
  margin-left:auto;
  font-style:normal;
  font-size:11px;font-weight:600;letter-spacing:.04em;
  color:var(--lp-accent);
  padding:2px 7px;border-radius:999px;
  border:1px solid var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
html[data-theme="light"] .lp-side-nav a em{
  border-color:var(--lp-accent-line);
}
.lp-side-nav a:hover{
  color:var(--lp-ink);
  background:rgba(255,255,255,.04);
}
html[data-theme="light"] .lp-side-nav a:hover{
  background:rgba(0,0,0,.04);
}
.lp-side-nav a:hover .lp-side-ico{opacity:1}
.lp-side-nav a.on{
  color:#fff;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.08);
  font-weight:600;
}
html[data-theme="light"] .lp-side-nav a.on{
  color:var(--lp-ink);
  background:rgba(0,0,0,.05);
  border-color:rgba(0,0,0,.08);
}
.lp-side-nav a.on .lp-side-ico{opacity:1}
.lp-side-nav a.on em{
  color:var(--lp-accent);
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
html[data-theme="light"] .lp-side-nav a.on em{
  color:var(--lp-accent);
  border-color:var(--lp-accent-line);
}
.lp-side-foot{
  margin-top:auto;
  padding:14px 12px 0;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;flex-direction:column;gap:2px;
  background:transparent;
}
.lp-side-foot form{margin:0}
.lp-side-foot-item{
  appearance:none;border:0;cursor:pointer;width:100%;
  display:flex;align-items:center;gap:12px;
  padding:11px 12px;
  border-radius:10px;
  border:1px solid transparent;
  background:transparent;
  box-sizing:border-box;
  color:rgba(161,161,170,.92);
  font:inherit;font-size:14px;font-weight:500;
  text-align:left;text-decoration:none;
  transition:background .15s ease, color .15s ease, border-color .15s ease;
}
a.lp-side-foot-item{color:rgba(161,161,170,.92)}
.lp-side-foot-item:hover{
  color:var(--lp-ink);
  background:rgba(255,255,255,.04);
}
.lp-side-foot-item:hover .lp-side-ico{opacity:1}
.lp-side-foot-item.on{
  color:#fff;
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.08);
  font-weight:600;
}
.lp-side-foot-item.on .lp-side-ico{opacity:1}
html[data-theme="light"] .lp-side-foot{
  border-top-color:rgba(0,0,0,.08);
}
html[data-theme="light"] .lp-side-foot-item,
html[data-theme="light"] a.lp-side-foot-item{
  color:var(--lp-ink-2);
}
html[data-theme="light"] .lp-side-foot-item:hover{
  background:rgba(0,0,0,.04);
  color:var(--lp-ink);
}
html[data-theme="light"] .lp-side-foot-item.on{
  color:var(--lp-ink);
  background:rgba(0,0,0,.05);
  border-color:rgba(0,0,0,.08);
}
html[data-theme="light"] .lp-menu-btn:hover{
  background:rgba(0,0,0,.05);
}

.lp-user{position:relative}
.lp-user-btn{
  appearance:none;border:0;cursor:pointer;background:none;
  display:inline-flex;align-items:center;gap:6px;
  font:inherit;font-size:13px;font-weight:500;
  color:var(--lp-ink-2);padding:4px 2px;
  transition:color .2s ease;
}
.lp-user-btn:hover,
.lp-user.is-open .lp-user-btn{color:var(--lp-ink)}
.lp-user-caret{
  width:0;height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid currentColor;
  opacity:.7;
  transition:transform .2s ease;
}
.lp-user.is-open .lp-user-caret{transform:rotate(180deg)}
.lp-user-drop{
  position:absolute;right:0;top:calc(100% + 8px);
  min-width:140px;
  padding:6px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:#121216;
  box-shadow:0 16px 40px rgba(0,0,0,.5);
  z-index:30;
}
.lp-user-drop form{margin:0}
.lp-user-item{
  appearance:none;border:0;cursor:pointer;width:100%;
  background:transparent;color:var(--lp-ink-2);
  font:inherit;font-size:13px;font-weight:500;
  text-align:left;padding:10px 12px;border-radius:8px;
  transition:background .15s ease, color .15s ease;
}
.lp-user-item:hover{
  background:rgba(255,255,255,.06);color:var(--lp-ink);
}

.lp-app-head{
  display:flex;flex-wrap:nowrap;align-items:center;
  justify-content:space-between;gap:12px 16px;
}
.lp-app-head .lp-app-title{min-width:0}
.lp-app-head .lp-subtabs{flex-shrink:0}
.lp-app-title{
  margin:0;
  font-size:clamp(26px, 4vw, 34px);
  font-weight:650;letter-spacing:-.02em;line-height:1.2;
  color:var(--lp-ink);
}
.lp-app-lead{
  margin:10px 0 0;
  width:100%;max-width:40em;
  font-size:14.5px;line-height:1.7;color:var(--lp-ink-2);
}

.lp-app-lead b{color:var(--lp-ink);font-weight:600}

.lp-subtabs{
  display:inline-flex;flex-wrap:wrap;align-items:center;gap:2px;
  padding:2px;
  border:1px solid var(--lp-line);
  border-radius:10px;
  background:rgba(255,255,255,.03);
  max-width:100%;
  box-sizing:border-box;
}
html[data-theme="light"] .lp-subtabs{
  background:rgba(0,0,0,.04);
}
.lp-subtabs a{
  color:var(--lp-muted);text-decoration:none;
  font-size:13px;font-weight:600;
  padding:7px 12px;border-radius:8px;
  line-height:1.2;
  transition:background .2s ease, color .2s ease;
}
.lp-subtabs a.on{
  color:var(--lp-ink);
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);
}
html[data-theme="light"] .lp-subtabs a.on{
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.06);
}
.lp-subtabs a:hover{color:var(--lp-ink)}

.lp-search{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
}
.lp-search-field{
  flex:1;min-width:180px;
  position:relative;display:block;margin:0;
}
.lp-search-field input{
  width:100%;
  appearance:none;
  border:1px solid var(--lp-line-strong);
  background:rgba(0,0,0,.35);
  color:var(--lp-ink);
  border-radius:10px;
  padding:11px 5.5em 11px 13px;
  font:inherit;font-size:15px;
  box-sizing:border-box;
  min-height:46px;
}
.lp-search-field input:focus{
  outline:none;border-color:rgba(255,255,255,.35);
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
html[data-theme="light"] .lp-search-field input{
  background:#fff;
  border-color:rgba(0,0,0,.12);
}
html[data-theme="light"] .lp-search-field input:focus{
  border-color:var(--lp-accent);
  box-shadow:0 0 0 3px var(--lp-accent-soft);
}
.lp-search-hint{
  position:absolute;right:12px;top:50%;
  transform:translateY(-50%);
  font-size:12px;color:var(--lp-muted);
  pointer-events:none;white-space:nowrap;
}
.lp-toolbar{
  margin:0;
  align-items:stretch;
  --lp-search-pad-x:24px;
}
.lp-body.is-library .lp-toolbar,
.lp-body.is-square .lp-toolbar,
.lp-body.is-admin .lp-toolbar{
  --lp-search-pad-x:20px;
}
.lp-toolbar .lp-search-field{
  display:flex;
}
.lp-toolbar .lp-search-field input{
  padding:0 calc(5.5em + 12px) 0 var(--lp-search-pad-x);
  height:48px;
  min-height:48px;
  line-height:1.2;
}
.lp-toolbar .lp-search-hint{
  right:var(--lp-search-pad-x);
}
.lp-sort{
  flex:none;margin:0;
  display:flex;align-items:stretch;
}
.lp-sort-select{
  appearance:none;
  border:1px solid var(--lp-line-strong);
  background-color:rgba(0,0,0,.35);
  color:var(--lp-ink);
  border-radius:10px;
  padding:0 36px 0 13px;
  font:inherit;font-size:15px;font-weight:500;
  height:48px;min-height:48px;line-height:1.2;
  box-sizing:border-box;
  cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23a1a1aa' d='M1.1 1.2L6 6.1l4.9-4.9 1.1 1.1L6 8.3 0 2.3z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
}
.lp-sort-select:focus{
  outline:none;border-color:rgba(255,255,255,.35);
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
html[data-theme="light"] .lp-sort-select{
  background-color:#fff;
  border-color:rgba(0,0,0,.12);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1.1 1.2L6 6.1l4.9-4.9 1.1 1.1L6 8.3.0 2.3z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 12px center;
}
html[data-theme="light"] .lp-sort-select:focus{
  border-color:var(--lp-accent);
  box-shadow:0 0 0 3px var(--lp-accent-soft);
}
@media (max-width:720px){
  .lp-toolbar{flex-wrap:wrap}
  .lp-sort-select{width:100%}
}
.visually-hidden{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
.lp-mini{
  appearance:none;border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);color:var(--lp-ink-2);
  border-radius:9px;padding:8px 12px;
  font:inherit;font-size:13px;cursor:pointer;text-decoration:none;
  display:inline-flex;align-items:center;
  min-height:46px;box-sizing:border-box;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.lp-mini:hover{
  color:var(--lp-ink);background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.22);
}
html[data-theme="light"] .lp-mini{
  border-color:rgba(0,0,0,.12);
  background:#fff;
  color:var(--lp-ink-2);
}
html[data-theme="light"] .lp-mini:hover{
  border-color:rgba(0,0,0,.18);
  background:rgba(0,0,0,.03);
  color:var(--lp-ink);
}

.lp-list{display:flex;flex-direction:column;gap:10px}
.lp-body.is-library .lp-list{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.lp-body.is-library .lp-list-item{
  padding:20px 20px 18px;
  display:flex;
  flex-direction:column;
  gap:12px;
}
.lp-body.is-library .lp-list-top{margin-bottom:0}
.lp-body.is-library .lp-list-callout,
.lp-body.is-library .lp-lib-extracts,
.lp-body.is-library .lp-lib-used{
  margin:0;
  padding:12px 14px;
}
.lp-list-item{
  padding:16px 16px 14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(11,11,13,.88);
}
html[data-theme="light"] .lp-list-item{
  border-color:rgba(0,0,0,.08);
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.04);
}
.lp-list-top{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;
  margin-bottom:6px;
}
.lp-list-top b{
  font-size:15px;font-weight:600;color:var(--lp-ink);line-height:1.4;
  min-width:0;flex:1 1 12rem;
}
.lp-list-date{
  margin-left:auto;
  flex:none;
  font-size:12.5px;line-height:1.4;color:var(--lp-muted);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  align-self:center;
}
.lp-list-callout{
  margin:2px 0 10px;
  padding:10px 12px;
  border-left:3px solid var(--lp-accent-line);
  border-radius:0 10px 10px 0;
  background:rgba(255,255,255,.035);
}
html[data-theme="light"] .lp-list-callout{
  background:rgba(0,113,227,.04);
  border-left-color:rgba(0,113,227,.28);
}
.lp-list-preview{
  margin:0;
  font-size:13px;line-height:1.55;color:var(--lp-ink-2);
  text-wrap:pretty;
}
.lp-list-sum-lab{
  margin-right:.4em;
  font-weight:650;
  color:var(--lp-accent);
  letter-spacing:.02em;
}
.lp-lib-extracts{
  margin:4px 0 10px;
  padding:10px 12px 11px;
  border-left:3px solid var(--lp-accent-line);
  border-radius:0 10px 10px 0;
  background:rgba(255,255,255,.035);
}
html[data-theme="light"] .lp-lib-extracts{
  background:rgba(0,113,227,.04);
  border-left-color:rgba(0,113,227,.28);
}
.lp-lib-extracts-lab{
  margin:0;
  cursor:pointer;list-style:none;user-select:none;
  font-size:12px;font-weight:650;letter-spacing:.02em;
  color:var(--lp-accent);
}
.lp-lib-extracts-lab::-webkit-details-marker{display:none}
.lp-lib-extracts-lab::before{content:"▸ ";opacity:.7}
.lp-lib-extracts[open] > .lp-lib-extracts-lab::before{content:"▾ "}
.lp-lib-extracts-lab:hover{color:var(--lp-ink)}
.lp-lib-extracts[open] > .lp-lib-extracts-lab{margin-bottom:8px}
.lp-lib-extracts-list{
  margin:0;padding:0;
  list-style:none;
  display:flex;flex-direction:column;gap:7px;
  counter-reset:lib-ex;
}
.lp-lib-extracts-list li{
  position:relative;
  padding-left:1.55em;
  font-size:12.5px;line-height:1.5;color:var(--lp-ink-2);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  text-wrap:pretty;
  counter-increment:lib-ex;
}
.lp-lib-extracts-list li::before{
  content:counter(lib-ex);
  position:absolute;left:0;top:.1em;
  width:1.2em;
  font-size:11px;font-weight:650;line-height:1.4;
  font-variant-numeric:tabular-nums;
  color:var(--lp-muted);
  text-align:right;
}
.lp-lib-extracts-list li.is-accepted{color:var(--lp-ink)}
.lp-lib-extracts-list li.is-rejected{color:var(--lp-muted);opacity:.72}
.lp-lib-ex-tag{
  display:inline;
  margin-right:.3em;
  font-size:.95em;font-weight:700;font-style:normal;
  color:inherit;
  vertical-align:baseline;
}
.lp-lib-ex-tag.is-skip{font-weight:500;color:var(--lp-muted)}
.lp-list-hint{
  margin:0;font-size:13px;line-height:1.65;color:var(--lp-ink-2);
}
.lp-list-hint.due,.lp-task .due{color:var(--lp-accent)}
.lp-lib-used{
  margin:8px 0 0;
  padding:10px 12px 11px;
  border-left:3px solid var(--lp-accent-line);
  border-radius:0 10px 10px 0;
  background:rgba(255,255,255,.035);
}
html[data-theme="light"] .lp-lib-used{
  background:rgba(0,113,227,.04);
  border-left-color:rgba(0,113,227,.28);
}
.lp-lib-used-lab{
  margin:0;
  cursor:pointer;list-style:none;user-select:none;
  font-size:12px;font-weight:650;letter-spacing:.02em;
  color:var(--lp-accent);
}
.lp-lib-used-lab::-webkit-details-marker{display:none}
.lp-lib-used-lab::before{content:"▸ ";opacity:.7}
.lp-lib-used[open] > .lp-lib-used-lab::before{content:"▾ "}
.lp-lib-used-lab:hover{color:var(--lp-ink)}
.lp-lib-used[open] > .lp-lib-used-lab{margin-bottom:8px}
.lp-lib-used-list{
  margin:0;padding:0;
  list-style:none;
  display:flex;flex-direction:column;gap:7px;
  counter-reset:lib-used;
}
.lp-lib-used-list li{
  position:relative;
  padding-left:1.55em;
  font-size:12.5px;line-height:1.5;color:var(--lp-ink-2);
  counter-increment:lib-used;
}
.lp-lib-used-list li::before{
  content:counter(lib-used);
  position:absolute;left:0;top:.1em;
  width:1.2em;
  font-size:11px;font-weight:650;line-height:1.4;
  font-variant-numeric:tabular-nums;
  color:var(--lp-muted);
  text-align:right;
}
.lp-lib-used-list a{
  color:var(--lp-ink);
  text-decoration:underline;text-underline-offset:2px;
  text-decoration-color:rgba(255,255,255,.25);
}
.lp-lib-used-list a:hover{text-decoration-color:rgba(255,255,255,.55)}
html[data-theme="light"] .lp-lib-used-list a{
  text-decoration-color:rgba(0,0,0,.28);
}
html[data-theme="light"] .lp-lib-used-list a:hover{
  text-decoration-color:rgba(0,0,0,.55);
}
.lp-list-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}

.lp-ubar{
  display:grid;
  grid-template-columns:minmax(120px,1.1fr) minmax(80px,1.4fr) auto;
  gap:12px;align-items:center;
}
.lp-ubar.sep{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.07)}
.lp-ubar-name{
  display:flex;align-items:center;gap:6px;
  flex-wrap:wrap;
}
.lp-ubar-k b{display:block;font-size:14px;color:var(--lp-ink)}
.lp-ubar-name > b{display:inline;font-size:14px;color:var(--lp-ink)}
.lp-ubar-hint{font-weight:400;color:var(--lp-muted)}
.lp-ubar-k small{display:block;margin-top:2px;font-size:12px;color:var(--lp-muted);line-height:1.4}
.lp-ubar-track{
  display:block;height:8px;
  background:rgba(255,255,255,.1);
  overflow:hidden;
  /* 8×8 squares with 2px gaps */
  -webkit-mask-image:repeating-linear-gradient(90deg,#000 0 8px,transparent 8px 10px);
  mask-image:repeating-linear-gradient(90deg,#000 0 8px,transparent 8px 10px);
  -webkit-mask-size:100% 100%;
  mask-size:100% 100%;
}
html[data-theme="light"] .lp-ubar-track{
  background:rgba(0,0,0,.12);
}
.lp-ubar-track i{
  display:block;height:100%;
  background:var(--lp-accent);
  min-width:0;
  transition:width .25s ease;
}
.lp-ubar-track.warn i{background:var(--lp-accent)}
.lp-ubar-track.hot i,.lp-ubar-track.full i{background:var(--lp-danger)}
.lp-ubar-v{font-size:13px;font-weight:600;color:var(--lp-ink-2);font-variant-numeric:tabular-nums}

.lp-planbadge{
  display:inline-flex;align-items:center;
  margin-left:10px;vertical-align:middle;
  font-size:12px;font-weight:600;letter-spacing:.04em;
  color:var(--lp-ink);
  padding:3px 9px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.05);
}
.lp-app-title .lp-tip{margin-left:6px;vertical-align:middle}
.lp-app-title .lp-tip-bubble{
  bottom:auto;top:calc(100% + 8px);
  left:0;transform:translateY(-4px);
  max-width:min(320px, 80vw);
  z-index:60;
}
.lp-app-title .lp-tip:hover .lp-tip-bubble,
.lp-app-title .lp-tip:focus .lp-tip-bubble,
.lp-app-title .lp-tip:focus-within .lp-tip-bubble{
  transform:translateY(0);
}
.lp-panel-title .lp-tip{margin-left:4px;vertical-align:middle}
.lp-panel-title .lp-tip-bubble{
  bottom:auto;top:calc(100% + 8px);
  left:0;transform:translateY(-4px);
  max-width:min(320px, 80vw);
  z-index:40;
}
.lp-panel-title .lp-tip:hover .lp-tip-bubble,
.lp-panel-title .lp-tip:focus .lp-tip-bubble,
.lp-panel-title .lp-tip:focus-within .lp-tip-bubble{
  transform:translateY(0);
}
.lp-planbadge.sm{margin-left:0;font-size:11px;padding:1px 7px}
.lp-plan-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.lp-plan-card{
  padding:18px 16px 18px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:var(--lp-bg-panel);
  box-shadow:0 4px 18px rgba(0,0,0,.22);
  display:flex;flex-direction:column;gap:10px;
  min-height:0;
}
.lp-plan-card.on{
  border-color:var(--lp-accent-line);
  background:#1a1608;
  box-shadow:0 4px 18px rgba(0,0,0,.22);
}
html[data-theme="light"] .lp-plan-card{
  border-color:rgba(0,0,0,.08);
  box-shadow:0 1px 2px rgba(0,0,0,.04), 0 6px 18px rgba(0,0,0,.04);
}
html[data-theme="light"] .lp-plan-card.on{
  border-color:var(--lp-accent);
  background:#e8f1fc;
  box-shadow:0 1px 2px rgba(0,113,227,.06), 0 6px 18px rgba(0,113,227,.08);
}
.lp-plan-card-top{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
}
.lp-plan-card-top b{font-size:15px;font-weight:600;color:var(--lp-ink)}
.lp-plan-card-desc{
  margin:0;
  font-size:13.5px;line-height:1.55;color:var(--lp-ink);
}
.lp-plan-card-fit{
  margin:0;
  font-size:12px;font-weight:400;letter-spacing:0;line-height:1.5;
  color:var(--lp-muted);
}
.lp-plan-caps{
  list-style:none;margin:2px 0 0;padding:10px 0 0;
  border-top:1px solid rgba(255,255,255,.08);
  display:grid;grid-template-columns:repeat(3, 1fr);gap:8px;
}
html[data-theme="light"] .lp-plan-caps{
  border-top-color:rgba(0,0,0,.08);
}
.lp-plan-caps li{
  display:flex;flex-direction:column;gap:2px;
  min-width:0;
}
.lp-plan-caps span{
  font-size:11px;letter-spacing:.06em;color:var(--lp-muted);
}
.lp-plan-caps b{
  font-size:15px;font-weight:600;color:var(--lp-ink);
  font-variant-numeric:tabular-nums;
}
.lp-plan-bullets{
  list-style:none;margin:0;padding:0;
  display:grid;gap:8px;
}
.lp-plan-bullets li{
  position:relative;
  padding-left:14px;
  font-size:12.5px;line-height:1.55;color:var(--lp-ink-2);
}
.lp-plan-bullets li::before{
  content:"";
  position:absolute;left:0;top:.55em;
  width:5px;height:5px;border-radius:1px;
  background:rgba(255,255,255,.35);
}
html[data-theme="light"] .lp-plan-bullets li::before{
  background:rgba(0,0,0,.28);
}
.lp-cur{
  font-style:normal;font-size:11px;font-weight:650;
  letter-spacing:.08em;white-space:nowrap;
  color:#0a0a0b;
  background:var(--lp-accent);
  padding:3px 8px;border-radius:999px;
}
html[data-theme="light"] .lp-cur{
  color:#fff;
}

.lp-msg{
  background:rgba(249,113,113,.12);
  border:1px solid rgba(249,113,113,.35);
  color:#fecaca;
  border-radius:10px;padding:10px 12px;
  font-size:13px;
}
.lp-usage-warn a{
  color:#fff;text-decoration:underline;text-underline-offset:2px;
}
.lp-task{
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.07);
}
.lp-task:first-of-type{border-top:0;padding-top:4px}
.lp-task-q{margin:0 0 6px;font-size:14.5px;font-weight:600;color:var(--lp-ink);line-height:1.45}
.lp-tier-fee{
  font-size:13px;font-weight:600;color:var(--lp-ink);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}

.lp-panel a:not(.lp-btn):not(.btn-s){color:var(--lp-ink)}
a.lp-btn-primary,
.lp-btn-primary{color:#0a0a0b}
a.lp-btn-accent,
.lp-btn-accent{color:var(--lp-accent)}

@media (max-width:640px){
  .lp-app-head{flex-wrap:wrap}
  .lp-ubar{grid-template-columns:1fr auto;grid-template-areas:"k v" "t t"}
  .lp-ubar-k{grid-area:k}
  .lp-ubar-track{grid-area:t}
  .lp-ubar-v{grid-area:v}
  .lp-plan-grid{grid-template-columns:1fr}
}

.lp-usage-warn{
  display:block;text-decoration:none;color:inherit;
  padding:14px 16px;
  border:1px solid rgba(249,113,113,.28);
  border-radius:12px;
  background:rgba(249,113,113,.08);
}
.lp-usage-warn .lp-ubar-name{margin-bottom:4px}
.lp-usage-warn .lp-ubar-name > b{
  margin-bottom:0;font-size:14px;color:#fecaca;
}
.lp-usage-warn .lp-tip-mark{
  color:rgba(254,202,202,.85);
  border-color:rgba(254,202,202,.35);
}
.lp-usage-warn span{
  font-size:13px;line-height:1.65;color:rgba(254,202,202,.85);
}
.lp-usage-warn em{
  font-style:normal;color:#fff;
  text-decoration:underline;text-underline-offset:2px;
}

.lp-section-label{
  margin:0 0 12px;
  font-size:11px;font-weight:500;
  letter-spacing:.2em;color:var(--lp-muted);
  display:flex;align-items:center;gap:8px;
  flex-wrap:wrap;
}
.lp-proj-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(260px, 1fr));
  gap:12px;
}
.lp-proj{
  display:flex;flex-direction:column;gap:10px;
  padding:16px 16px 14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(11,11,13,.88);
  color:inherit;text-decoration:none;
  text-align:left;
  transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}
button.lp-proj{
  appearance:none;cursor:pointer;font:inherit;width:100%;
}
.lp-proj:hover{
  border-color:rgba(255,255,255,.22);
  background:rgba(20,20,24,.95);
}
.lp-proj-new{
  border-style:dashed;
  border-color:rgba(255,255,255,.22);
  background:rgba(11,11,13,.88);
}
.lp-proj-new:hover,
.lp-proj-new.is-open{
  border-style:solid;
  border-color:rgba(255,255,255,.35);
  background:rgba(20,20,24,.95);
}
html[data-theme="light"] .lp-proj{
  border-color:rgba(0,0,0,.08);
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.04);
}
html[data-theme="light"] .lp-proj:hover{
  border-color:rgba(0,0,0,.12);
  background:#fff;
  box-shadow:0 2px 4px rgba(0,0,0,.04), 0 12px 28px rgba(0,0,0,.07);
}
html[data-theme="light"] .lp-proj-new{
  border-color:rgba(0,0,0,.14);
  background:rgba(255,255,255,.72);
  box-shadow:none;
}
html[data-theme="light"] .lp-proj-new:hover,
html[data-theme="light"] .lp-proj-new.is-open{
  border-color:rgba(0,113,227,.35);
  background:#fff;
  box-shadow:0 2px 4px rgba(0,0,0,.04), 0 12px 28px rgba(0,0,0,.07);
}
.lp-proj-new .lp-proj-title{color:var(--lp-ink)}
.lp-proj-top{display:flex;flex-wrap:wrap;gap:6px}
.lp-chip{
  display:inline-flex;align-items:center;
  font-size:11px;font-weight:500;letter-spacing:.04em;
  color:var(--lp-ink-2);
  padding:3px 8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.03);
}
html[data-theme="light"] .lp-chip{
  border-color:rgba(0,0,0,.1);
  background:rgba(0,0,0,.03);
}
.lp-chip.ok{
  color:var(--lp-accent);
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
.lp-chip.warn{
  color:var(--lp-accent);
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
.lp-chip.danger{color:var(--lp-danger);border-color:rgba(249,113,113,.35)}
.lp-proj-title{
  font-size:15px;font-weight:600;line-height:1.45;color:var(--lp-ink);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.lp-proj-meta{font-size:12px;color:var(--lp-muted)}

.lp-panel{
  padding:24px 24px 26px;
  border:1px solid var(--lp-line-strong);
  border-radius:18px;
  background:var(--lp-bg-panel);
  box-shadow:0 8px 28px rgba(0,0,0,.28);
}
html[data-theme="light"] .lp-panel{
  box-shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.04);
}
#rv-apply{scroll-margin-top:24px}
.lp-panel#new-topic-panel,
.lp-panel#rv-apply{
  overflow:hidden;
  transform-origin:top center;
  transition:
    opacity .35s cubic-bezier(.22,1,.36,1),
    transform .4s cubic-bezier(.22,1,.36,1),
    max-height .45s cubic-bezier(.22,1,.36,1),
    margin .35s ease,
    padding .35s ease,
    border-width .2s ease;
}
.lp-panel#new-topic-panel.is-collapsed,
.lp-panel#rv-apply.is-collapsed{
  opacity:0;
  transform:translateY(-12px) scale(.985);
  max-height:0;
  margin-top:0 !important;
  margin-bottom:0;
  padding-top:0;padding-bottom:0;
  border-width:0;
  pointer-events:none;
}
.lp-panel#new-topic-panel:not(.is-collapsed),
.lp-panel#rv-apply:not(.is-collapsed){
  opacity:1;
  transform:translateY(0) scale(1);
  max-height:1200px;
}

@media (prefers-reduced-motion:reduce){
  .lp-panel#new-topic-panel,
  .lp-panel#rv-apply{transition:none}
}
/* Default input panel: title (no rule) → fields → right-aligned foot (no rule) */
.lp-panel-title{
  margin:0;
  font-size:16px;font-weight:650;letter-spacing:-.01em;color:var(--lp-ink);
  display:flex;align-items:center;gap:8px;
}
.lp-panel > .lp-panel-title{margin-bottom:18px}
.lp-panel-head{
  margin:0 0 18px;
  padding:0;
}
.lp-panel-hint{
  margin:0 0 18px;
  font-size:13.5px;line-height:1.65;color:var(--lp-ink-2);
}
.lp-form label{
  display:block;margin:22px 0 8px;
  font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--lp-muted);
}
.lp-form label:first-of-type{margin-top:0}
.lp-form label small{
  display:block;margin-top:4px;
  font-size:11.5px;font-weight:400;letter-spacing:0;color:rgba(113,113,122,.95);
  line-height:1.5;
}
.lp-label-row{
  display:flex !important;align-items:center;gap:8px;
  flex-wrap:wrap;
}
.lp-tip{
  position:relative;
  display:inline-flex;align-items:center;
  letter-spacing:0;
}
.lp-tip-mark{
  width:16px;height:16px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:600;line-height:1;
  color:var(--lp-muted);
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.04);
  cursor:help;
}
html[data-theme="light"] .lp-tip-mark{
  color:var(--lp-ink-2);
  border-color:rgba(0,0,0,.14);
  background:rgba(0,0,0,.05);
}
.lp-tip-bubble{
  position:absolute;left:50%;bottom:calc(100% + 8px);
  transform:translateX(-50%) translateY(4px);
  width:max-content;max-width:min(280px, 70vw);
  padding:8px 10px;
  border-radius:8px;
  background:#1a1a1e;
  border:1px solid rgba(255,255,255,.14);
  color:var(--lp-ink-2);
  font-size:12px;font-weight:400;letter-spacing:0;line-height:1.55;
  box-shadow:0 10px 30px rgba(0,0,0,.45);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:20;
  text-transform:none;
}
html[data-theme="light"] .lp-tip-bubble{
  background:#fff;
  border-color:rgba(0,0,0,.1);
  color:var(--lp-ink-2);
  box-shadow:0 8px 28px rgba(0,0,0,.12);
}
.lp-tip:hover .lp-tip-bubble,
.lp-tip:focus .lp-tip-bubble,
.lp-tip:focus-within .lp-tip-bubble{
  opacity:1;visibility:visible;
  transform:translateX(-50%) translateY(0);
}
.lp-form input,
.lp-form textarea,
.lp-form select{
  width:100%;
  appearance:none;
  border:1px solid var(--lp-line-strong);
  background:rgba(0,0,0,.35);
  color:var(--lp-ink);
  border-radius:10px;
  padding:12px 13px;
  font:inherit;font-size:15px;
  line-height:1.35;
  min-height:46px;
  box-sizing:border-box;
  transition:border-color .2s ease, box-shadow .2s ease;
}
html[data-theme="light"] .lp-form input,
html[data-theme="light"] .lp-form textarea,
html[data-theme="light"] .lp-form select{
  background:#fff;
  border-color:rgba(0,0,0,.12);
}
html[data-theme="light"] .lp-form input::placeholder,
html[data-theme="light"] .lp-form textarea::placeholder{
  color:rgba(110,110,115,.65);
}
html[data-theme="light"] .lp-form input:focus,
html[data-theme="light"] .lp-form textarea:focus,
html[data-theme="light"] .lp-form select:focus{
  border-color:var(--lp-accent);
  box-shadow:0 0 0 3px var(--lp-accent-soft);
}
.lp-form textarea{resize:vertical;min-height:46px;line-height:1.55}
.lp-form select{
  background-image:linear-gradient(45deg, transparent 50%, #a1a1aa 50%),
    linear-gradient(135deg, #a1a1aa 50%, transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size:6px 6px, 6px 6px;
  background-repeat:no-repeat;
  padding-right:36px;
}
.lp-form input::placeholder,
.lp-form textarea::placeholder{color:rgba(161,161,170,.5)}
.lp-form input:focus,
.lp-form textarea:focus,
.lp-form select:focus{
  outline:none;
  border-color:rgba(255,255,255,.35);
  box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
.lp-form .lp-btn{margin-top:0;width:auto;max-width:none;padding:11px 18px;font-size:14px}
.lp-form .lp-btn:disabled{
  opacity:.38;cursor:not-allowed;
  box-shadow:none;transform:none;
  background:rgba(255,255,255,.22);color:rgba(255,255,255,.55);
}
.lp-form .lp-btn:disabled:hover{
  transform:none;
  box-shadow:none;
}
.lp-form-foot{
  display:flex;justify-content:flex-end;
  margin:22px 0 0;
  padding:0;
}

.lp-seg{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:8px;
}
.lp-seg-item{
  margin:0 !important;letter-spacing:0 !important;
  cursor:pointer;
}
.lp-seg-item input{
  position:absolute;opacity:0;pointer-events:none;
  width:1px;height:1px;min-height:0;padding:0;margin:0;
}
.lp-seg-item span{
  display:flex;align-items:center;justify-content:center;
  min-height:46px;padding:10px 8px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:10px;
  background:rgba(0,0,0,.35);
  color:var(--lp-ink-2);
  font-size:13.5px;font-weight:500;text-align:center;
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}
html[data-theme="light"] .lp-seg-item span{
  background:#fff;
  border-color:rgba(0,0,0,.12);
}
.lp-seg-item:hover span{
  color:var(--lp-ink);border-color:rgba(255,255,255,.28);
}
html[data-theme="light"] .lp-seg-item:hover span{
  border-color:rgba(0,0,0,.2);
  background:#f5f5f7;
}
.lp-seg-item input:checked + span{
  color:var(--lp-ink);
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.32);
  font-weight:600;
}
.lp-seg-item input:focus-visible + span{
  outline:2px solid rgba(255,255,255,.45);outline-offset:2px;
}
@media (max-width:640px){
  .lp-seg{grid-template-columns:repeat(2, 1fr)}
}

@media (max-width:860px){
  .lp-nav-inner{gap:12px}
  .lp-logo{
    font-size:13px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  }
}

@keyframes lp-rise{
  from{opacity:0;transform:translateY(16px)}
  to{opacity:1;transform:translateY(0)}
}

@media (min-width:760px){
  .auth-overlay{align-items:center;padding:24px}
  .auth-panel{
    border-radius:18px;border-bottom:1px solid var(--lp-line-strong);
    padding:26px 26px 24px;
    transform:translateY(12px) scale(.98);
  }
  .auth-overlay.is-visible .auth-panel{
    transform:translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion:reduce){
  .lp-nav,.lp-eyebrow,.lp-title,.lp-sub,.lp-actions{animation:none}
  .auth-backdrop,.auth-panel{transition:none}
}

/* ── Project shell (/p/{id}) ─────────────────────────── */
.lp-proj-tools{
  display:flex;align-items:center;gap:12px;
  min-width:0;flex:0 1 auto;
  margin-left:auto;
  margin-right:0;
  justify-content:flex-end;
}
.lp-proj-tools .lp-scorepill{
  position:relative;
  display:inline-flex;align-items:center;gap:6px;flex:none;
  box-sizing:border-box;
  height:34px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
  color:var(--lp-ink-2);
  text-decoration:none;
  font-size:12.5px;font-weight:500;
  line-height:1;
  white-space:nowrap;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.lp-proj-tools .lp-scorepill b{
  font-weight:650;font-variant-numeric:tabular-nums;
  color:var(--lp-ink);
}
.lp-proj-tools .lp-scorepill.ok{
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
.lp-proj-tools .lp-scorepill.ok b{color:var(--lp-accent)}
.lp-proj-tools .lp-scorepill:hover{
  color:var(--lp-ink);
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft-2);
}
.lp-proj-tools .lp-tip-bubble{
  width:max-content;max-width:min(260px, 70vw);
  white-space:normal;
  left:auto;right:0;
  bottom:auto;top:calc(100% + 8px);
  transform:translateY(-4px);
  z-index:60;
}
.lp-proj-tools .lp-tip:hover .lp-tip-bubble,
.lp-proj-tools .lp-tip:focus .lp-tip-bubble,
.lp-proj-tools .lp-tip:focus-within .lp-tip-bubble{
  transform:translateY(0);
}
.lp-hdr-steps{
  display:flex;align-items:center;
  box-sizing:border-box;
  height:34px;
  min-width:0;max-width:100%;
  overflow-x:auto;
  padding:3px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
html[data-theme="light"] .lp-hdr-steps{
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.04);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.02);
}
.lp-hdr-steps::-webkit-scrollbar{display:none}
.lp-hstep{
  flex:none;
  display:inline-flex;align-items:center;
  height:100%;
  padding:0 11px;
  border-radius:999px;
  border:0;
  background:transparent;
  color:var(--lp-ink-2);
  font-size:12.5px;font-weight:500;
  text-decoration:none;white-space:nowrap;
  line-height:1;
  transition:color .15s ease, background .15s ease;
}
a.lp-hstep:hover{color:var(--lp-ink);background:rgba(255,255,255,.06)}
html[data-theme="light"] a.lp-hstep:hover{
  background:rgba(0,0,0,.05);
}
.lp-hstep.done{color:var(--lp-ink-2)}
.lp-hstep.on{
  color:#0a0a0b;
  background:var(--lp-white);
  font-weight:650;
}
html[data-theme="light"] .lp-hstep.on{
  color:var(--lp-ink);
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.08), 0 0 0 1px rgba(0,0,0,.06);
}
.lp-hstep.locked{
  position:relative;
  opacity:.4;cursor:default;
}
.lp-hstep.locked .lp-tip-bubble{max-width:160px}

@media (max-width:900px){
  .lp-body.is-project .lp-nav-inner{
    flex-wrap:wrap;row-gap:10px;
  }
  .lp-proj-tools{
    order:3;width:100%;
    margin-left:0;margin-right:0;
    justify-content:flex-start;
  }
}

.lp-pcgrid{
  display:flex;flex-direction:column;gap:16px;
}
.lp-pcmain,.lp-pcside{
  display:flex;flex-direction:column;gap:16px;min-width:0;
}
.lp-cta{
  display:block;text-decoration:none;color:inherit;
  border-color:rgba(255,255,255,.14);
  background:var(--lp-bg-panel);
  transition:border-color .2s ease, transform .2s ease, background .2s ease, color .2s ease;
}
.lp-cta:hover{
  transform:translateY(-1px);
}
.lp-cta small{
  display:block;
  font-size:11px;font-weight:600;letter-spacing:.12em;
  color:var(--lp-muted);
}
.lp-cta b{
  display:block;margin:0 0 4px;
  font-size:16px;font-weight:650;letter-spacing:-.01em;color:var(--lp-ink);
}
.lp-cta p{
  margin:0;font-size:13.5px;line-height:1.6;color:var(--lp-ink-2);
}

.lp-topic-sum{
  display:block;text-decoration:none;color:inherit;
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}
.lp-topic-sum-head{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.lp-topic-sum-head b{font-size:16px;font-weight:650;color:var(--lp-ink)}
.lp-topic-more{
  margin-left:auto;
  font-size:12px;color:var(--lp-muted);
}
.lp-topic-gap{
  margin:12px 0 0;
  font-size:14.5px;line-height:1.65;color:var(--lp-ink);
}

.lp-bk-head{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  margin:0 0 18px;
  text-decoration:none;color:inherit;
}
.lp-bk-head .lp-panel-title{margin:0}
.lp-bk-head > span,
.lp-bk-open{
  margin-left:auto;
  appearance:none;border:0;background:none;cursor:pointer;
  padding:0;font:inherit;
  font-size:12px;color:var(--lp-muted);
  text-decoration:underline;text-underline-offset:2px;
  text-decoration-color:rgba(255,255,255,.22);
  text-align:right;
}
.lp-bk-head:hover > span,
.lp-bk-open:hover{
  color:var(--lp-ink-2);
  text-decoration-color:rgba(255,255,255,.4);
}
.lp-bk-row{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:var(--lp-ink-2);
  margin:8px 0;
}
.lp-bk-row > span:first-child{
  width:72px;flex:none;font-size:12.5px;white-space:nowrap;
}
.lp-usage-card .lp-bk-row > span:first-child{
  width:4.5em;
}
.lp-bk-row .lp-ubar-track{
  flex:1;min-width:0;
}
.lp-bk-row b{
  margin-left:auto;
  font-variant-numeric:tabular-nums;
  color:var(--lp-ink);
}

.lp-mininav{
  display:flex;flex-direction:column;
  padding:24px 24px 26px;
  border:1px solid var(--lp-line-strong);
  border-radius:18px;
  background:var(--lp-bg-panel);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  overflow:hidden;
}
html[data-theme="light"] .lp-mininav{
  box-shadow:0 8px 28px rgba(0,0,0,.06);
}
html[data-theme="light"] .lp-mininav a:hover{
  background:rgba(0,0,0,.04);
}
.lp-mininav > .lp-panel-title{
  margin:0 0 6px;
  padding:0;
}
.lp-mininav a{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  margin:0 -8px;
  padding:10px 8px;
  text-decoration:none;color:inherit;
  border-radius:10px;
  transition:background .15s ease;
}
.lp-mininav a + a{border-top:0}
.lp-mininav a:hover{background:rgba(255,255,255,.04)}
.lp-mininav b{font-size:13.5px;font-weight:600;color:var(--lp-ink)}
.lp-mininav small{font-size:12px;color:var(--lp-muted);white-space:nowrap}

.lp-wait{
  text-align:center;
  padding:36px 24px;
}
.lp-spin{
  width:28px;height:28px;
  margin:0 auto 14px;
  border:3px solid rgba(255,255,255,.12);
  border-top-color:var(--lp-accent);
  border-radius:50%;
  animation:lp-spin 1s linear infinite;
}
html[data-theme="light"] .lp-spin{
  border-color:rgba(0,0,0,.12);
  border-top-color:var(--lp-accent);
}
@keyframes lp-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){
  .lp-spin{animation:none}
}
.lp-jobfail .lp-panel-hint{margin-bottom:10px}
.lp-jobfail form{margin-top:8px}

.lp-usage-card{
  display:block;text-decoration:none;color:inherit;
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}
.lp-usage-card > b{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:0 0 14px;
  font-size:16px;font-weight:650;color:var(--lp-ink);
}

/* Link panels → dark hover in dark mode; soft lift in light mode */
a.lp-panel:hover{
  background:#000;
  border-color:rgba(255,255,255,.28);
}
html[data-theme="light"] a.lp-panel:hover{
  background:#f0f0f2;
  border-color:rgba(0,0,0,.14);
  color:inherit;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.lp-toast{
  position:fixed;left:50%;bottom:24px;z-index:80;
  transform:translateX(-50%) translateY(16px);
  max-width:min(420px, calc(100vw - 32px));
  padding:10px 16px;
  border-radius:10px;
  background:rgba(28,28,32,.96);
  border:1px solid rgba(255,255,255,.14);
  color:var(--lp-ink);
  font-size:13.5px;line-height:1.45;
  box-shadow:0 12px 40px rgba(0,0,0,.45);
  opacity:0;pointer-events:none;
  transition:opacity .25s ease, transform .25s ease;
}
.lp-toast.show{opacity:1;transform:translateX(-50%);pointer-events:auto}
.lp-toast.good{
  background:rgba(22,48,34,.96);
  border-color:rgba(134,239,172,.28);
  color:#bbf7d0;
}

/* Legacy partials (_upload / _journal) on dark shell */
.lp-body.is-project .card,
.lp-teachmat-wrap .card,
.lp-journal-wrap .card{
  padding:24px 24px 26px;
  border:1px solid var(--lp-line-strong);
  border-radius:18px;
  background:var(--lp-bg-panel);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  color:var(--lp-ink);
}
html[data-theme="light"] .lp-body.is-project .card,
html[data-theme="light"] .lp-teachmat-wrap .card,
html[data-theme="light"] .lp-journal-wrap .card{
  box-shadow:0 8px 28px rgba(0,0,0,.06);
}
.lp-journal-wrap .jcard{
  padding:10px 24px;
  border-radius:14px;
}
.lp-journal-wrap .jcard[open]{
  padding:14px 24px 16px;
}
.lp-body.is-project .hint,
.lp-teachmat-wrap .hint,
.lp-journal-wrap .hint{
  font-size:12.5px;line-height:1.65;color:var(--lp-muted);margin:.35em 0;
}
.lp-body.is-project .hint b,
.lp-teachmat-wrap .hint b,
.lp-journal-wrap .hint b{color:var(--lp-ink-2);font-weight:600}
.lp-body.is-project .chip,
.lp-journal-wrap .chip{
  display:inline-flex;align-items:center;
  font-size:11px;font-weight:500;letter-spacing:.04em;
  color:var(--lp-ink-2);
  padding:2px 8px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(255,255,255,.03);
}
html[data-theme="light"] .lp-body.is-project .chip,
html[data-theme="light"] .lp-journal-wrap .chip{
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.04);
}
.lp-journal-wrap .chip.gold{
  color:var(--lp-accent);
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
html[data-theme="light"] .lp-journal-wrap .chip.gold{
  color:var(--lp-accent);
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
.lp-journal-wrap .chip.ok{
  color:var(--lp-ok);
  border-color:rgba(134,239,172,.28);
  background:rgba(134,239,172,.1);
}
html[data-theme="light"] .lp-journal-wrap .chip.ok{
  color:var(--lp-ok);
  border-color:rgba(52,199,89,.35);
  background:rgba(52,199,89,.1);
}
.lp-body.is-project .mini,
.lp-teachmat-wrap .mini,
.lp-journal-wrap .mini{
  appearance:none;cursor:pointer;font:inherit;
  font-size:12.5px;font-weight:600;
  padding:7px 12px;border-radius:9px;
  color:var(--lp-ink);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
}
html[data-theme="light"] .lp-body.is-project .mini,
html[data-theme="light"] .lp-teachmat-wrap .mini,
html[data-theme="light"] .lp-journal-wrap .mini{
  background:rgba(0,0,0,.04);
  border-color:rgba(0,0,0,.12);
}
.lp-body.is-project .mini.pri,
.lp-teachmat-wrap .mini.pri{
  color:#0a0a0b;background:var(--lp-white);border-color:var(--lp-white);
}
html[data-theme="light"] .lp-body.is-project .mini.pri,
html[data-theme="light"] .lp-teachmat-wrap .mini.pri{
  color:#fff;background:var(--lp-accent);border-color:var(--lp-accent);
}
.lp-body.is-project .linkbtn,
.lp-teachmat-wrap .linkbtn,
.lp-journal-wrap .linkbtn{
  appearance:none;border:0;background:none;cursor:pointer;
  font:inherit;font-size:12px;color:var(--lp-muted);padding:2px 4px;
}
.lp-body.is-project .linkbtn:hover,
.lp-teachmat-wrap .linkbtn:hover,
.lp-journal-wrap .linkbtn:hover{color:var(--lp-ink)}
.lp-body.is-project select,
.lp-journal-wrap select{
  appearance:none;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.35);
  color:var(--lp-ink);
  border-radius:9px;
  padding:8px 10px;
  font:inherit;font-size:13px;
}
html[data-theme="light"] .lp-body.is-project select,
html[data-theme="light"] .lp-journal-wrap select{
  background:#fff;
  border-color:rgba(0,0,0,.12);
}
.lp-teachmat-wrap .tm-fold-sum{
  cursor:pointer;list-style:none;
  display:flex;align-items:center;gap:8px;
  font-size:14px;color:var(--lp-ink);
}
.lp-teachmat-wrap .tm-fold-sum::-webkit-details-marker{display:none}
.lp-teachmat-wrap .tm-fold-t{
  font-size:15px;font-weight:650;color:var(--lp-ink);
}
.lp-teachmat-wrap .tm-fold-meta{
  font-size:11px;font-weight:500;color:var(--lp-muted);
  border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:0 8px;
}
html[data-theme="light"] .lp-teachmat-wrap .tm-fold-meta{
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.03);
}
.lp-teachmat-wrap .tm-fold-sum .lp-tip{margin-left:2px}
.lp-teachmat-wrap .tm-fold-sum .lp-tip-bubble{
  bottom:auto;top:calc(100% + 8px);
  left:0;transform:translateY(-4px);
  max-width:min(320px, 78vw);
  z-index:40;
}
.lp-teachmat-wrap .tm-fold-sum .lp-tip:hover .lp-tip-bubble,
.lp-teachmat-wrap .tm-fold-sum .lp-tip:focus .lp-tip-bubble,
.lp-teachmat-wrap .tm-fold-sum .lp-tip:focus-within .lp-tip-bubble{
  transform:translateY(0);
}
.lp-teachmat-wrap .tm-fold:not([open]){
  padding-top:14px;padding-bottom:14px;
}
.lp-teachmat-wrap .tm-fold-body{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.07);
}
html[data-theme="light"] .lp-teachmat-wrap .tm-fold-body{
  border-top-color:rgba(0,0,0,.08);
}
.lp-teachmat-wrap .tm-n{
  display:inline-block;margin-left:8px;
  font-size:11px;font-weight:500;color:var(--lp-muted);
  border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:0 8px;
  vertical-align:middle;
}
html[data-theme="light"] .lp-teachmat-wrap .tm-n{
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.03);
}
.lp-teachmat-wrap .tm-n:empty{display:none}
.lp-teachmat-wrap .tm-upform{
  display:flex;flex-direction:column;gap:12px;margin:0;
}
.lp-teachmat-wrap .tm-drop{
  position:relative;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:6px;text-align:center;
  min-height:148px;padding:22px 18px;
  border:1.5px dashed rgba(255,255,255,.22);
  border-radius:16px;
  background:rgba(255,255,255,.02);
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease, transform .2s ease;
}
.lp-teachmat-wrap .tm-drop:hover{
  border-color:rgba(255,255,255,.38);
  background:rgba(255,255,255,.04);
}
.lp-teachmat-wrap .tm-drop.is-drag{
  border-color:var(--lp-accent);
  background:var(--lp-accent-soft);
}
.lp-teachmat-wrap .tm-drop.has-files{
  border-style:solid;
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.04);
}
html[data-theme="light"] .lp-teachmat-wrap .tm-drop{
  border-color:rgba(0,0,0,.22);
  background:rgba(0,0,0,.03);
}
html[data-theme="light"] .lp-teachmat-wrap .tm-drop:hover{
  border-color:rgba(0,0,0,.36);
  background:rgba(0,0,0,.05);
}
html[data-theme="light"] .lp-teachmat-wrap .tm-drop.has-files{
  border-color:rgba(0,0,0,.28);
  background:rgba(0,0,0,.04);
}
.lp-teachmat-wrap .tm-file{
  position:absolute;inset:0;opacity:0;cursor:pointer;
  width:100%;height:100%;
  font-size:0;
}
.lp-teachmat-wrap .tm-drop-ico{
  display:inline-flex;align-items:center;justify-content:center;
  width:44px;height:44px;border-radius:14px;margin-bottom:4px;
  color:var(--lp-ink);
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
}
html[data-theme="light"] .lp-teachmat-wrap .tm-drop-ico{
  background:#fff;
  border-color:rgba(0,0,0,.12);
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.lp-teachmat-wrap .tm-drop.is-drag .tm-drop-ico{color:var(--lp-accent)}
.lp-teachmat-wrap .tm-drop-title{
  font-size:14.5px;font-weight:600;color:var(--lp-ink);
}
.lp-teachmat-wrap .tm-drop-sub{
  font-size:12px;line-height:1.5;color:var(--lp-muted);
}
.lp-teachmat-wrap .tm-drop-picked{
  margin-top:6px;max-width:100%;
  font-size:12.5px;line-height:1.5;color:var(--lp-ink-2);
  overflow-wrap:anywhere;
}
.lp-teachmat-wrap .tm-up-actions{
  display:flex;justify-content:flex-end;
}
.lp-teachmat-wrap .tm-list{
  list-style:none;margin:12px 0 0;padding:0;font-size:12.5px;
}
.lp-teachmat-wrap .tm-list li{
  display:flex;gap:10px;align-items:center;
  padding:7px 0;border-top:1px solid rgba(255,255,255,.07);
}
html[data-theme="light"] .lp-teachmat-wrap .tm-list li{
  border-top-color:rgba(0,0,0,.08);
}
.lp-teachmat-wrap .tm-f{
  flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--lp-ink-2);
}
.lp-teachmat-wrap .tm-s{flex:none;color:var(--lp-muted);font-size:11.5px}
.lp-teachmat-wrap .tm-list li.mined .tm-s{color:var(--lp-accent)}
.lp-teachmat-wrap .tm-list li.error .tm-s,
.lp-teachmat-wrap .tm-list li.empty .tm-s{color:var(--lp-accent)}
.lp-teachmat-wrap .tm-reuse,
.lp-teachmat-wrap .tm-kind{
  font-style:normal;font-size:10.5px;
  border-radius:999px;padding:0 6px;margin-left:6px;vertical-align:middle;
}
.lp-teachmat-wrap .tm-reuse{
  color:var(--lp-accent);border:1px solid var(--lp-accent-line);
}
.lp-teachmat-wrap .tm-kind{
  color:var(--lp-accent);border:1px solid var(--lp-accent-line);
}
.lp-teachmat-wrap .tm-x{flex:none;margin:0}
.lp-teachmat-wrap .tm-reusebox{
  margin-top:12px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px;
}
html[data-theme="light"] .lp-teachmat-wrap .tm-reusebox{
  border-top-color:rgba(0,0,0,.08);
}
.lp-teachmat-wrap .tm-reusebox summary{
  cursor:pointer;font-size:12.5px;color:var(--lp-muted);list-style:none;
}
.lp-teachmat-wrap .tm-reusebox summary:hover{color:var(--lp-ink)}
.lp-teachmat-wrap .tm-reusebox summary::-webkit-details-marker{display:none}
.lp-teachmat-wrap .tm-reusebox summary::before{content:"▸ "}
.lp-teachmat-wrap .tm-reusebox[open] summary::before{content:"▾ "}

.lp-journal-wrap .jcard summary{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  cursor:pointer;list-style:none;
}
.lp-journal-wrap .jcard summary::-webkit-details-marker{display:none}
.lp-journal-wrap .jcard summary b{
  font-size:15px;font-weight:650;color:var(--lp-ink);
}
.lp-journal-wrap .jc-k{
  margin:0;
  color:var(--lp-accent);
}
.lp-journal-wrap .jc-fit{
  flex:1 1 12em;min-width:0;
  font-size:12.5px;line-height:1.45;color:var(--lp-muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lp-journal-wrap .jc-explain{
  margin:12px 0 0;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:rgba(255,255,255,.03);
}
.lp-journal-wrap .jc-src{
  margin:0;
  font-size:12.5px;line-height:1.55;color:var(--lp-muted);
}
.lp-journal-wrap .jc-form{
  display:flex;gap:7px 14px;flex-wrap:wrap;
  font-size:12.5px;color:var(--lp-ink-2);
  margin:8px 0 0;padding:0;background:none;border-radius:0;
}
.lp-journal-wrap .jc-src + .jc-form{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
}
.lp-journal-wrap .jc-form b{color:var(--lp-ink);font-variant-numeric:tabular-nums}
.lp-journal-wrap .jc-actions{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-top:12px;
}
.lp-journal-wrap .jc-switch{
  display:flex;gap:8px;align-items:center;flex:1;min-width:0;
  margin:0;
}
.lp-journal-wrap .jc-switch select{flex:1;min-width:10em}
.lp-journal-wrap .jc-switch .lp-btn.lp-tip{
  position:relative;
}
.lp-journal-wrap .jc-switch .lp-tip-bubble{
  bottom:auto;top:calc(100% + 8px);
  left:50%;right:auto;transform:translateX(-50%) translateY(-4px);
  max-width:min(280px, 70vw);
  z-index:40;
  white-space:normal;
  font-weight:400;
}
.lp-journal-wrap .jc-switch .lp-tip:hover .lp-tip-bubble,
.lp-journal-wrap .jc-switch .lp-tip:focus .lp-tip-bubble,
.lp-journal-wrap .jc-switch .lp-tip:focus-within .lp-tip-bubble{
  transform:translateX(-50%) translateY(0);
}
.lp-journal-wrap .jc-rematch{margin:0;flex:none}
.lp-journal-wrap .jc-actions .lp-btn{
  padding:8px 14px;font-size:13px;border-radius:10px;
  box-shadow:none;
}
.lp-journal-wrap .jmatch > .lp-vlabel{
  display:block;margin:0 0 14px;
}
.lp-journal-wrap .jm-grid{
  display:grid;
  gap:12px;
  grid-template-columns:1fr;
}
@media (min-width:700px){
  .lp-journal-wrap .jm-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (min-width:1000px){
  .lp-journal-wrap .jm-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}
.lp-journal-wrap .jm-row{
  display:flex;flex-direction:column;gap:8px;
  margin:0;min-width:0;
  padding:14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(255,255,255,.02);
  box-sizing:border-box;
}
.lp-journal-wrap .jm-row.weak{opacity:.72}
.lp-journal-wrap .jm-t{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
}
.lp-journal-wrap .jm-t b{font-size:14.5px;font-weight:650;color:var(--lp-ink)}
.lp-journal-wrap .jm-row > .hint{
  margin:0;flex:1;
  font-size:12.5px;line-height:1.6;
}
.lp-journal-wrap .jm-gap{color:var(--lp-accent);margin:0 !important}
.lp-journal-wrap .jm-row .mini{
  margin-top:auto;align-self:flex-start;
}
.lp-journal-wrap .jm-rematch{
  display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;
  margin:14px 0 0;
}
.lp-journal-wrap .jm-rematch .lp-btn{
  padding:8px 14px;font-size:13px;border-radius:10px;
  box-shadow:none;
}

@media (min-width:900px){
  .lp-pcgrid{
    display:grid;
    grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);
    gap:18px;align-items:stretch;
  }
  .lp-pcside{
    position:sticky;top:calc(var(--lp-app-nav-h, 64px) + 16px);
    align-self:stretch;
  }
}
.lp-pc-exports{
  display:flex;flex-direction:column;gap:8px;
  margin-top:auto;width:100%;
}
.lp-pc-exports .lp-btn{
  display:flex;width:100%;box-sizing:border-box;text-align:center;
}
.lp-pc-exports .lp-btn-ghost{
  background:var(--lp-bg-elev);
}
.lp-pc-exports .lp-btn-ghost:hover{
  background:#17171b;
}
.lp-pc-exports .lp-btn-accent{
  background:#1a170e;
}
.lp-pc-exports .lp-btn-accent:hover{
  background:#221e12;
}
html[data-theme="light"] .lp-pc-exports .lp-btn-ghost{
  background:#fff;
}
html[data-theme="light"] .lp-pc-exports .lp-btn-ghost:hover{
  background:#f5f5f7;
}
html[data-theme="light"] .lp-pc-exports .lp-btn-accent{
  background:#e8f1fc;
}
html[data-theme="light"] .lp-pc-exports .lp-btn-accent:hover{
  background:#d9e9fa;
}
@media (max-width:640px){
  .lp-app-main{padding-left:16px;padding-right:16px}
}

/* ── Topic page (/p/{id}/topic) ──────────────────────── */
.lp-topic-stack{
  display:flex;flex-direction:column;gap:16px;
}
.lp-topic-trio{
  display:flex;flex-direction:column;gap:16px;
}
.lp-topic-trio > *{min-width:0}
.lp-topic-pair{
  display:grid;
  gap:16px;
  grid-template-columns:1fr;
  align-items:stretch;
}
@media (min-width:900px){
  .lp-topic-pair{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
.lp-topic-pair:empty{display:none}

/* Shared card chrome + padding across trio + numbered sections */
.lp-topic-stack > .lp-panel,
.lp-topic-trio .lp-journal-wrap > .card,
.lp-topic-pair .lp-verdict,
.lp-topic-pair .lp-gap{
  padding:20px;
  border:1px solid var(--lp-line-strong);
  border-radius:18px;
  background:var(--lp-bg-panel);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  box-sizing:border-box;
}
html[data-theme="light"] .lp-topic-stack > .lp-panel,
html[data-theme="light"] .lp-topic-trio .lp-journal-wrap > .card,
html[data-theme="light"] .lp-topic-pair .lp-verdict,
html[data-theme="light"] .lp-topic-pair .lp-gap{
  box-shadow:0 8px 28px rgba(0,0,0,.06);
}
.lp-topic-trio .lp-journal-wrap,
.lp-topic-trio .lp-journal-wrap > .card,
.lp-topic-pair .lp-verdict,
.lp-topic-pair .lp-gap{
  height:100%;
  display:flex;
  flex-direction:column;
}

.lp-vlabel{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0 0 8px;
  font-size:11px;font-weight:600;letter-spacing:.12em;color:var(--lp-accent);
}
.lp-vlabel .lp-tip{letter-spacing:0}
.lp-vlabel .lp-tip-bubble{
  bottom:auto;top:calc(100% + 8px);
  left:0;transform:translateY(-4px);
  max-width:min(280px, 70vw);
  z-index:40;
}
.lp-vlabel .lp-tip:hover .lp-tip-bubble,
.lp-vlabel .lp-tip:focus .lp-tip-bubble,
.lp-vlabel .lp-tip:focus-within .lp-tip-bubble{
  transform:translateY(0);
}

.lp-verdict > b{
  margin:0;
  font-size:14.5px;font-weight:650;letter-spacing:-.01em;line-height:1.55;color:var(--lp-ink);
}
.lp-vsub{
  display:block;
  margin-top:8px;
  font-size:12.5px;line-height:1.55;color:var(--lp-muted);
}
.lp-verdict.hot > b{color:#fecaca}
.lp-verdict.mid > b{color:var(--lp-ink)}
.lp-verdict.ok > b{color:var(--lp-ok)}

.lp-topic-fact > p{
  margin:0;
  font-size:14.5px;font-weight:650;letter-spacing:-.01em;line-height:1.55;color:var(--lp-ink);
}

.lp-chain-h{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin:0 0 12px;
  font-size:16px;font-weight:650;letter-spacing:-.01em;color:var(--lp-ink);
}
.lp-step-no{
  flex:none;
  width:16px;height:16px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;
  color:#0a0a0b;background:var(--lp-white);
}
html[data-theme="light"] .lp-step-no{
  color:#fff;background:#1d1d1f;
}
.lp-chain-h small{
  margin-left:auto;
  font-size:12px;font-weight:400;color:var(--lp-muted);
}
.lp-prose{
  margin:0;
  font-size:14.5px;line-height:1.75;color:var(--lp-ink-2);
  overflow-wrap:break-word;
}

/* Shared expandable footer inside numbered cards */
.lp-src-fold,
.lp-jrnl-fold{
  margin-top:14px;
  padding-top:12px;
  border-top:1px dashed rgba(255,255,255,.1);
}
html[data-theme="light"] .lp-src-fold,
html[data-theme="light"] .lp-jrnl-fold{
  border-top-color:rgba(0,0,0,.12);
}
.lp-src-fold > summary,
.lp-jrnl-fold > summary{
  cursor:pointer;list-style:none;
  font-size:12.5px;color:var(--lp-muted);
  user-select:none;
}
.lp-src-fold > summary::-webkit-details-marker,
.lp-jrnl-fold > summary::-webkit-details-marker{display:none}
.lp-src-fold > summary::before,
.lp-jrnl-fold > summary::before{content:"▸ ";color:var(--lp-muted)}
.lp-src-fold[open] > summary::before,
.lp-jrnl-fold[open] > summary::before{content:"▾ "}
.lp-src-fold > summary:hover,
.lp-jrnl-fold > summary:hover{color:var(--lp-ink)}
.lp-src-note,
.lp-jrnl-body{
  margin:10px 0 0;
  font-size:13.5px;line-height:1.65;color:var(--lp-ink-2);
}
.lp-cov{
  margin-top:12px;padding-left:12px;
  border-left:2px solid rgba(255,255,255,.14);
}
.lp-cov.weak{border-left-color:rgba(255,255,255,.22)}
html[data-theme="light"] .lp-cov{
  border-left-color:rgba(0,0,0,.14);
}
html[data-theme="light"] .lp-cov.weak{
  border-left-color:rgba(0,0,0,.22);
}
.lp-cov-caveat{margin:8px 0 0 !important;color:var(--lp-muted) !important}

.lp-judge{display:grid;gap:16px;margin:0}
@media (min-width:900px){
  .lp-judge{grid-template-columns:1fr 1fr;gap:20px}
}
.lp-topic-end,
.lp-iv-end{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;
  margin-top:4px;
}
.lp-topic-end form,
.lp-iv-end form{margin:0}
.lp-topic-end .lp-btn,
.lp-iv-end .lp-btn,
.lp-iv-actions .lp-btn,
.lp-journal-wrap .jc-actions .lp-btn,
.lp-journal-wrap .jm-rematch .lp-btn,
.lp-teachmat-wrap .tm-up-actions .lp-btn,
.lp-plans-ctx-actions .lp-btn,
.lp-pcard-actions .lp-btn,
.lp-sheet-act .lp-btn,
.lp-draft-side-act .lp-btn,
.lp-draft-todo-act .lp-btn,
.lp-cite-badge .lp-btn,
.lp-pop .lp-btn,
.lp-mat-acts .lp-btn,
.lp-chk-act .lp-btn,
.lp-task-acts .lp-btn{
  padding:8px 14px;font-size:13px;border-radius:10px;
  box-shadow:none;
}
.lp-topic-end .lp-btn-primary,
.lp-iv-end .lp-btn-primary,
.lp-iv-actions .lp-btn-primary,
.lp-pcard-actions .lp-btn-primary,
.lp-sheet-act .lp-btn-primary,
.lp-draft-side-act .lp-btn-primary,
.lp-draft-todo-act .lp-btn-primary,
.lp-pop .lp-btn-primary,
.lp-mat-acts .lp-btn-primary,
.lp-chk-act .lp-btn-primary,
.lp-task-acts .lp-btn-primary,
.lp-topic-end .lp-btn-accent,
.lp-topic-end .lp-btn-primary:hover,
.lp-iv-end .lp-btn-primary:hover,
.lp-iv-actions .lp-btn-primary:hover,
.lp-pcard-actions .lp-btn-primary:hover,
.lp-sheet-act .lp-btn-primary:hover,
.lp-draft-side-act .lp-btn-primary:hover,
.lp-draft-todo-act .lp-btn-primary:hover,
.lp-pop .lp-btn-primary:hover,
.lp-mat-acts .lp-btn-primary:hover,
.lp-chk-act .lp-btn-primary:hover,
.lp-task-acts .lp-btn-primary:hover,
.lp-topic-end .lp-btn-accent:hover{
  box-shadow:none;
  transform:none;
}
.lp-iv-end #go-plan[aria-disabled="true"]{
  opacity:.4;pointer-events:none;cursor:not-allowed;
  box-shadow:none;
}
.lp-jt{
  display:block;margin-bottom:8px;
  font-size:12px;font-weight:600;letter-spacing:.1em;
}
.lp-jt.good,
.lp-jt.bad{color:var(--lp-accent)}
.lp-jlist{
  margin:0;padding-left:1.3em;
  font-size:13.5px;line-height:1.75;color:var(--lp-ink-2);
}
.lp-jlist li{margin:6px 0}
.lp-jlist li:first-child{margin-top:0}
.lp-jlist li:last-child{margin-bottom:0}
.lp-jlist li::marker{color:rgba(255,255,255,.28)}
html[data-theme="light"] .lp-jlist li::marker{color:rgba(0,0,0,.35)}

.lp-gap > p{
  margin:0;
  font-size:14.5px;font-weight:650;letter-spacing:-.01em;line-height:1.55;color:var(--lp-ink);
}

.lp-litlist{
  list-style:none;counter-reset:lp-lit;
  margin:0;padding:0;
}
.lp-lititem{
  counter-increment:lp-lit;
  position:relative;
  padding:12px 0 12px 32px;
  border-bottom:1px solid rgba(255,255,255,.07);
}
html[data-theme="light"] .lp-lititem{
  border-bottom-color:rgba(0,0,0,.08);
}
.lp-lititem:first-child{padding-top:0}
.lp-lititem:last-child{border-bottom:0;padding-bottom:0}
.lp-lititem::before{
  content:"[" counter(lp-lit) "]";
  position:absolute;left:0;top:13px;
  font-size:11.5px;font-variant-numeric:tabular-nums;
  font-family:ui-monospace,Menlo,monospace;
  color:var(--lp-accent);
}
.lp-lititem:first-child::before{top:1px}
.lp-lit-t{
  font-size:14px;font-weight:600;line-height:1.55;color:var(--lp-ink);
  overflow-wrap:break-word;
}
.lp-lit-t .lp-chip{margin-left:6px;vertical-align:middle}
.lp-lit-m{
  display:flex;flex-wrap:wrap;align-items:center;gap:5px 10px;
  margin-top:5px;
  font-size:12px;color:var(--lp-muted);
}
.lp-lit-src{
  max-width:22em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lp-lit-year{font-variant-numeric:tabular-nums}
.lp-lit-cite{
  border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:0 7px;
  font-variant-numeric:tabular-nums;
}
html[data-theme="light"] .lp-lit-cite{
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.03);
}
.lp-lit-web{
  border:1px solid var(--lp-accent-line);color:var(--lp-accent);
  border-radius:999px;padding:0 7px;
}
.lp-lit-link{
  color:var(--lp-ink);text-decoration:underline;
  text-underline-offset:2px;text-decoration-color:rgba(255,255,255,.28);
  white-space:nowrap;
}
.lp-lit-link:hover{text-decoration-color:rgba(255,255,255,.7)}
html[data-theme="light"] .lp-lit-link{
  color:var(--lp-accent);
  text-decoration-color:rgba(0,113,227,.35);
}
html[data-theme="light"] .lp-lit-link:hover{
  text-decoration-color:var(--lp-accent);
}
.lp-lit-kw{
  display:flex;flex-wrap:wrap;gap:4px 6px;margin-top:6px;
}
.lp-lit-kw span{
  font-size:11px;line-height:1.6;color:var(--lp-muted);
  background:rgba(255,255,255,.04);border-radius:4px;padding:1px 7px;
}
html[data-theme="light"] .lp-lit-kw span{
  background:rgba(0,0,0,.05);
  border:1px solid rgba(0,0,0,.06);
}
.lp-lit-abs{margin-top:6px}
.lp-lit-abs summary{
  cursor:pointer;list-style:none;display:inline-block;
  font-size:0;
}
.lp-lit-abs summary::-webkit-details-marker{display:none}
.lp-lit-abs summary::before{
  content:"▸ 摘要";
  font-size:12px;color:var(--lp-accent);
}
.lp-lit-abs[open] summary::before{content:"▾ 摘要"}
.lp-lit-gb summary::before{content:"▸ 引文"}
.lp-lit-gb[open] summary::before{content:"▾ 引文"}
.lp-lit-abs p,
.lp-lit-gb code{
  margin:8px 0 2px;
  font-size:13px;line-height:1.75;color:var(--lp-ink-2);
  background:rgba(255,255,255,.04);
  border-radius:10px;padding:10px 12px;
}
html[data-theme="light"] .lp-lit-abs p,
html[data-theme="light"] .lp-lit-gb code{
  background:rgba(0,0,0,.04);
  border:1px solid rgba(0,0,0,.08);
}
.lp-lit-abs p{max-height:190px;overflow-y:auto}
.lp-lit-gb code{
  display:block;font-family:inherit;overflow-wrap:break-word;
}
.lp-gbrow{display:flex;gap:8px;align-items:flex-start;margin:8px 0 2px}
.lp-gbrow code{flex:1;margin:0}
.lp-gbrow .lp-mini{flex:none;align-self:center}

/* ── Interview page (/p/{id}/interview) ──────────────── */
.lp-iv-stack{
  display:flex;flex-direction:column;gap:16px;
}
.lp-iv-stack > #current-wrap:not(:has(*)){
  display:none;
}
.lp-iv-msg{
  margin:-4px 0 12px;
}
.lp-qprog{
  position:sticky;
  top:calc(var(--lp-app-nav-h, 64px) + 8px);
  z-index:25;
  padding:16px 20px;
}
.lp-qbar{
  display:flex;gap:4px;
}
.lp-qbar i{
  flex:1;height:6px;border-radius:99px;
  background:rgba(255,255,255,.1);
  transition:background .3s ease;
}
.lp-qbar i.done{background:rgba(255,255,255,.72)}
.lp-qbar i.skip{background:var(--lp-accent-line)}
.lp-qstat{
  display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;
  margin-top:10px;
  font-size:12.5px;color:var(--lp-muted);
}
.lp-qstat b{
  color:var(--lp-ink);
  font-variant-numeric:tabular-nums;
}
.lp-qgoal{
  margin-left:auto;
  color:var(--lp-accent);
}

.lp-qcard{
  padding:20px;
  position:relative;
}
.lp-qcard.is-thinking{
  pointer-events:none;
}
.lp-qcard.is-thinking > :not(.lp-iv-think){
  opacity:.35;
  filter:saturate(.7);
}
.lp-iv-think{
  position:absolute;inset:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  border-radius:inherit;
  background:rgba(10,10,12,.72);
  z-index:5;
  animation:lp-iv-fade .2s ease;
}
.lp-iv-think p{
  margin:0;
  font-size:13.5px;color:var(--lp-ink-2);
}
.lp-iv-think .lp-spin{margin:0}
.lp-iv-think-inline{
  display:flex;align-items:center;gap:10px;
  margin-top:12px;
  font-size:12.5px;color:var(--lp-muted);
}
.lp-iv-think-inline .lp-spin{
  width:16px;height:16px;
  border-width:2px;
}
@keyframes lp-iv-fade{
  from{opacity:0}
  to{opacity:1}
}
.lp-qhead{
  display:flex;align-items:center;gap:8px;
  margin-bottom:10px;
}
.lp-qno{
  flex:none;
  width:18px;height:18px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;
  color:#0a0a0b;background:var(--lp-white);
}
html[data-theme="light"] .lp-qno{
  color:#fff;background:#1d1d1f;
}
.lp-qno.fu{
  background:var(--lp-accent);
  font-size:10px;
}
html[data-theme="light"] .lp-qno.fu{
  color:#fff;
}
.lp-qof{
  font-size:12px;color:var(--lp-muted);
}
.lp-qtext{
  margin:0;
  font-size:16px;font-weight:650;line-height:1.65;color:var(--lp-ink);
  letter-spacing:-.01em;
}
.lp-qwhy{
  margin:8px 0 0;
  padding-left:10px;
  border-left:2px solid rgba(255,255,255,.14);
  font-size:12.5px;line-height:1.55;color:var(--lp-muted);
}
html[data-theme="light"] .lp-qwhy{
  border-left-color:rgba(0,0,0,.12);
}
.lp-qwhy[hidden]{display:none}
.lp-qcard.isfu{
  border-color:rgba(255,255,255,.18);
}
html[data-theme="light"] .lp-qcard.isfu{
  border-color:rgba(0,0,0,.12);
}
.lp-iv-head{
  display:flex;align-items:center;gap:12px;
  flex-wrap:wrap;
}
.lp-iv-head .lp-app-title{flex:1;min-width:0;margin:0}
.lp-iv-index{
  flex:none;
  max-width:100%;
  font-size:12px;font-weight:500;line-height:1.35;color:var(--lp-accent);
  border:1px solid var(--lp-accent-line);
  border-radius:999px;
  padding:5px 11px;
  background:rgba(255,255,255,.03);
  white-space:nowrap;
}
html[data-theme="light"] .lp-iv-index{
  background:var(--lp-accent-soft);
}
.lp-iv-index.ready{
  color:var(--lp-accent);
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
.lp-iv-actions{
  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;
  margin-top:12px;
}
.lp-alldone b{
  display:block;
  font-size:15px;font-weight:650;color:var(--lp-ink);
}
.lp-alldone .lp-panel-hint{margin:8px 0 0}

.lp-donelist{
  display:flex;flex-direction:column;gap:8px;
}
.lp-donelist:empty{display:none}
.lp-doneitem{
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:var(--lp-bg-panel);
  box-shadow:0 20px 60px rgba(0,0,0,.35);
}
html[data-theme="light"] .lp-doneitem{
  border-color:var(--lp-line-strong);
  box-shadow:0 8px 28px rgba(0,0,0,.06);
}
.lp-doneitem.skipped{
  border-style:dashed;
  border-color:rgba(255,255,255,.14);
}
html[data-theme="light"] .lp-doneitem.skipped{
  border-color:rgba(0,0,0,.14);
}
.lp-doneitem > summary{
  cursor:pointer;list-style:none;
  display:flex;align-items:center;gap:8px;
  font-size:13px;color:var(--lp-ink-2);
  white-space:nowrap;overflow:hidden;
}
.lp-doneitem > summary::-webkit-details-marker{display:none}
.lp-dn{
  flex:none;
  width:16px;height:16px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;
  color:#0a0a0b;background:rgba(255,255,255,.75);
}
html[data-theme="light"] .lp-dn{
  color:#fff;background:#1d1d1f;
}
.lp-doneitem.fu{
  position:relative;
  margin-left:28px;
}
.lp-doneitem.fu::before{
  content:"↳";
  position:absolute;
  left:-20px;top:50%;
  transform:translateY(-50%);
  font-size:13px;line-height:1;
  color:rgba(255,255,255,.32);
  pointer-events:none;
}
html[data-theme="light"] .lp-doneitem.fu::before{
  color:rgba(0,0,0,.35);
}
.lp-doneitem.fu[open]::before{
  top:22px;
  transform:none;
}
.lp-fu-mark{
  flex:none;
  font-size:10.5px;font-weight:600;letter-spacing:.04em;
  color:var(--lp-muted);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;padding:0 7px;
  background:rgba(255,255,255,.04);
}
html[data-theme="light"] .lp-fu-mark{
  color:var(--lp-ink-2);
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.04);
}
.lp-doneitem.fu .lp-dn{
  color:var(--lp-muted);background:rgba(255,255,255,.12);
}
html[data-theme="light"] .lp-doneitem.fu .lp-dn{
  color:#fff;background:#86868b;
}
.lp-dq{
  flex:1;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.lp-dtag{
  flex:none;
  font-size:11px;color:var(--lp-muted);
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;padding:0 7px;
  background:rgba(255,255,255,.04);
}
html[data-theme="light"] .lp-dtag{
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.04);
}
.lp-doneitem[open] > summary{
  white-space:normal;margin-bottom:10px;
}
.lp-doneitem[open] .lp-dq{white-space:normal}

.lp-fu-wait{
  display:flex;align-items:center;gap:8px;
  margin:0 0 8px;padding:8px 14px;
  width:fit-content;max-width:100%;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  color:var(--lp-muted);
  font-size:13px;line-height:1.4;
}
html[data-theme="light"] .lp-fu-wait{
  background:rgba(0,0,0,.04);
  border-color:rgba(0,0,0,.1);
}
.lp-fu-wait i{
  width:7px;height:7px;flex:none;border-radius:50%;
  background:var(--lp-accent);
  animation:lp-fupulse 1.1s ease-in-out infinite;
}
@keyframes lp-fupulse{
  0%,100%{opacity:.25;transform:scale(.72)}
  50%{opacity:1;transform:scale(1)}
}
@media (prefers-reduced-motion:reduce){
  .lp-fu-wait i{animation:none;opacity:.7}
}

/* Dark voicebox under project shell */
.lp-body.is-project .voicebox{
  margin-top:12px;position:relative;
  display:flex;align-items:flex-end;gap:8px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  padding:6px 6px 6px 12px;
}
html[data-theme="light"] .lp-body.is-project .voicebox{
  background:#fff;
  border-color:rgba(0,0,0,.12);
}
.lp-body.is-project .voicebox textarea{
  display:none;flex:1;min-width:0;
  border:0;background:none;padding:6px 0;
  font:inherit;font-size:15px;line-height:1.7;
  color:var(--lp-ink);resize:none;outline:none;
}
.lp-body.is-project .voicebox.typing textarea,
.lp-body.is-project .voicebox.hastext textarea{display:block}
.lp-body.is-project .voicebox.hastext{flex-wrap:wrap}
.lp-body.is-project .voicebox.hastext textarea{
  flex:1 0 100%;order:-1;max-height:38vh;overflow-y:auto;
}
.lp-body.is-project .voicebox .mic{
  flex:1;min-width:0;
  display:flex;align-items:center;justify-content:center;gap:8px;
  border:0;background:none;color:var(--lp-ink);
  border-radius:10px;padding:11px 8px;
  font:inherit;font-size:15px;cursor:pointer;
  -webkit-user-select:none;user-select:none;
  -webkit-touch-callout:none;touch-action:none;
}
.lp-body.is-project .voicebox:not(.desktop) .mic .mico{display:none}
.lp-body.is-project .voicebox .mic.rec{
  background:var(--lp-accent-soft);color:var(--lp-accent);
}
.lp-body.is-project .voicebox.typing .mic{display:none}
.lp-body.is-project .voicebox .switch{
  flex:none;width:38px;height:38px;
  display:flex;align-items:center;justify-content:center;
  border:0;background:transparent;color:var(--lp-muted);
  border-radius:10px;cursor:pointer;padding:0;
}
.lp-body.is-project .voicebox .switch:hover{color:var(--lp-ink);background:rgba(255,255,255,.06)}
html[data-theme="light"] .lp-body.is-project .voicebox .switch:hover{
  background:rgba(0,0,0,.05);
}
.lp-body.is-project .voicebox:focus-within{border-color:rgba(255,255,255,.28)}
html[data-theme="light"] .lp-body.is-project .voicebox:focus-within{
  border-color:var(--lp-accent);
  box-shadow:0 0 0 3px var(--lp-accent-soft);
}
.lp-body.is-project .voicebox.desktop{
  display:block;padding:0;background:none;border:0;
  box-shadow:none;
}
.lp-body.is-project .voicebox.desktop textarea{
  display:block;width:100%;box-sizing:border-box;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.35);
  border-radius:14px;
  padding:12px 44px 12px 14px;
  min-height:88px;
  color:var(--lp-ink);
}
html[data-theme="light"] .lp-body.is-project .voicebox.desktop textarea{
  background:#fff;
  border-color:rgba(0,0,0,.12);
}
html[data-theme="light"] .lp-body.is-project .voicebox.desktop:focus-within textarea{
  border-color:var(--lp-accent);
  box-shadow:0 0 0 3px var(--lp-accent-soft);
}
.lp-body.is-project .voicebox .mico{
  display:inline-flex;align-items:center;justify-content:center;
  line-height:0;
}
.lp-body.is-project .voicebox .mico svg{display:block}
.lp-body.is-project .voicebox.desktop .mic{
  position:absolute;right:8px;bottom:8px;
  width:32px;height:32px;flex:none;
  padding:0;border-radius:9px;
  background:transparent;
  border:1px solid transparent;
  color:var(--lp-muted);
}
.lp-body.is-project .voicebox.desktop .mic:hover{
  color:var(--lp-ink);
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.12);
}
html[data-theme="light"] .lp-body.is-project .voicebox.desktop .mic:hover{
  background:rgba(0,0,0,.05);
  border-color:rgba(0,0,0,.1);
}
.lp-body.is-project .voicebox.desktop .mic .mtxt{display:none}
.lp-body.is-project .voicebox.desktop.typing .mic{display:flex}
.lp-body.is-project .voicebox.desktop .mic.rec{
  background:var(--lp-accent-soft-2);
  border-color:var(--lp-accent-line);
  color:var(--lp-accent);
}
.lp-body.is-project .voicebox.desktop .mic.rec .mtxt{display:none}
.lp-body.is-project .voicebox.desktop .switch{display:none}
.lp-body.is-project .voicebox.novoice{padding-right:12px}
.lp-body.is-project .vhint{
  margin:6px 0 0;
  font-size:12px;color:var(--lp-muted);
}

.lp-body.is-project #rec-ov{
  position:fixed;inset:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  background:radial-gradient(120% 80% at 50% 42%, #2a2a30 0%, #121214 55%, #0a0a0b 100%);
  color:var(--lp-ink);
}
.lp-body.is-project #rec-ov[hidden]{display:none}
.lp-body.is-project #rec-ov.cancel{
  background:radial-gradient(120% 80% at 50% 42%, #5a3030 0%, #2a1414 55%, #0a0a0b 100%);
}
.lp-body.is-project #rec-ov.lock{
  background:radial-gradient(120% 80% at 50% 42%, #2a3a30 0%, #142018 55%, #0a0a0b 100%);
}
.lp-body.is-project #rec-ov .rec-in{
  width:min(420px, 88vw);text-align:center;
}
.lp-body.is-project #rec-ov .rec-live{
  min-height:3.2em;max-height:28vh;overflow:auto;
  margin:0 0 18px;
  font-size:15px;line-height:1.6;color:var(--lp-ink-2);
}
.lp-body.is-project #rec-ov .rec-wave{
  display:flex;align-items:center;justify-content:center;gap:3px;
  height:48px;margin:0 0 14px;
}
.lp-body.is-project #rec-ov .rec-wave i{
  display:block;width:3px;height:100%;
  border-radius:99px;background:var(--lp-accent);
  transform:scaleY(.2);transform-origin:center;
  transition:transform .08s linear;
}
.lp-body.is-project #rec-ov.sim .rec-wave i{
  animation:lp-recsim 1s ease-in-out infinite;transition:none;
}
.lp-body.is-project #rec-ov.sim .rec-wave i:nth-child(3n){animation-delay:.15s}
.lp-body.is-project #rec-ov.sim .rec-wave i:nth-child(3n+1){animation-delay:.3s}
.lp-body.is-project #rec-ov.sim .rec-wave i:nth-child(5n){animation-delay:.45s}
@keyframes lp-recsim{
  0%,100%{transform:scaleY(.2)}
  50%{transform:scaleY(1)}
}
.lp-body.is-project #rec-ov .rec-hint{
  margin:0;font-size:13px;color:var(--lp-muted);
}
.lp-body.is-project #rec-ov .rec-done{
  appearance:none;margin-top:16px;cursor:pointer;
  font:inherit;font-size:14px;font-weight:600;
  padding:10px 18px;border-radius:12px;
  color:#0a0a0b;background:var(--lp-white);border:0;
}
@media (prefers-reduced-motion:reduce){
  .lp-body.is-project #rec-ov.sim .rec-wave i{animation:none;transform:scaleY(.4)}
}

/* ── Plan page (/p/{id}/plan) ─────────────────────────── */
.lp-plans-head{margin-bottom:0}
.lp-plans-msg{margin:0 0 14px}
.lp-plans-stack{
  display:flex;flex-direction:column;gap:16px;
}
.lp-plans-ctx{
  display:flex;flex-direction:column;gap:14px;
  padding:20px;
}
@media (min-width:800px){
  .lp-plans-ctx{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:20px;
  }
}
.lp-plans-ctx-main{flex:1;min-width:0}
.lp-plans-gap{
  margin:0;
  font-size:14.5px;font-weight:650;letter-spacing:-.01em;line-height:1.55;color:var(--lp-ink);
}
.lp-plans-drafted{margin:10px 0 0 !important}
.lp-plans-ctx-actions{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;
  flex:none;
}
.lp-plans-ctx-actions form{margin:0}

.lp-plans-lane{display:flex;flex-direction:column;gap:12px}
.lp-plans-lane-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:0 2px;
}
.lp-plans-lane-title{
  margin:0;
  font-size:16px;font-weight:650;letter-spacing:-.01em;color:var(--lp-ink);
}
.lp-plans-lane-hint{
  margin:4px 0 0;
  font-size:12.5px;line-height:1.45;color:var(--lp-muted);
}
.lp-plans-row{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.lp-pcard{
  display:flex;flex-direction:column;gap:0;
  padding:18px 18px 16px;
  height:auto;
  cursor:pointer;
  transition:border-color .2s ease, background .2s ease, transform .15s ease;
}
.lp-pcard:hover{
  border-color:rgba(255,255,255,.22);
}
html[data-theme="light"] .lp-pcard:hover{
  border-color:rgba(0,0,0,.14);
  background:#f5f5f7;
}
.lp-pcard:focus-visible{
  outline:2px solid var(--lp-accent-line);
  outline-offset:2px;
}
.lp-pcard.sel{
  border-color:var(--lp-accent);
  background:#1a1608;
}
html[data-theme="light"] .lp-pcard.sel{
  background:#e8f1fc;
  border-color:var(--lp-accent);
  box-shadow:0 8px 28px rgba(0,113,227,.1);
}
.lp-pcard.sel:hover{
  border-color:var(--lp-accent);
}
html[data-theme="light"] .lp-pcard.sel:hover{
  background:#dceafb;
}
.lp-pcard-top{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-bottom:10px;
}
.lp-pcard-letter{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:7px;
  font-size:11px;font-weight:700;letter-spacing:.02em;
  color:var(--lp-ink);
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
}
html[data-theme="light"] .lp-pcard-letter{
  background:rgba(0,0,0,.04);
  border-color:rgba(0,0,0,.1);
}
.lp-pcard.sel .lp-pcard-letter{
  color:#0a0a0b;
  background:var(--lp-accent);
  border-color:transparent;
}
html[data-theme="light"] .lp-pcard.sel .lp-pcard-letter{
  color:#fff;
}
.lp-pcard-name{
  font-size:13.5px;font-weight:650;color:var(--lp-accent);
}
.lp-pcard-check{
  margin-left:auto;
  display:none;
  font-size:11px;font-weight:600;letter-spacing:.04em;
  color:var(--lp-accent);
}
.lp-pcard.sel .lp-pcard-check{display:inline}
.lp-pcard-title{
  margin:0 0 8px;
  font-size:15.5px;font-weight:650;letter-spacing:-.015em;line-height:1.45;
  color:var(--lp-ink);
}
.lp-pcard-pitch{
  margin:0 0 10px;
  font-size:13px;line-height:1.65;color:var(--lp-ink-2);
}
.lp-pcard-outline{
  margin:0 0 10px;
}
.lp-pcard-outline > summary{
  cursor:pointer;list-style:none;
  font-size:12.5px;font-weight:500;color:var(--lp-muted);
}
.lp-pcard-outline > summary::-webkit-details-marker{display:none}
.lp-pcard-outline > summary::before{content:"▸ ";color:rgba(255,255,255,.35)}
html[data-theme="light"] .lp-pcard-outline > summary::before{color:rgba(0,0,0,.35)}
.lp-pcard-outline[open] > summary::before{content:"▾ "}
.lp-pcard-outline > summary:hover{color:var(--lp-ink)}
.lp-ol{
  margin:10px 0 0;
  display:flex;flex-direction:column;gap:8px;
}
.lp-ol-row{
  display:flex;flex-direction:column;gap:2px;
  padding:8px 10px;
  border-radius:10px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
}
html[data-theme="light"] .lp-ol-row{
  background:rgba(0,0,0,.03);
  border-color:rgba(0,0,0,.08);
}
.lp-ol-row.sub{margin-left:12px}
.lp-ol-row b{
  font-size:12.5px;font-weight:650;color:var(--lp-ink);
}
.lp-ol-row span{
  font-size:12px;line-height:1.55;color:var(--lp-ink-2);
}
.lp-ol-row small{
  font-size:11.5px;line-height:1.45;color:var(--lp-muted);
}
.lp-pcard-fit{
  margin:0 0 12px;
  padding-top:10px;
  border-top:1px dashed rgba(255,255,255,.1);
  font-size:12px;line-height:1.55;color:var(--lp-muted);
}
html[data-theme="light"] .lp-pcard-fit{
  border-top-color:rgba(0,0,0,.12);
}
.lp-pcard-edit{
  margin:0 0 4px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.1);
}
html[data-theme="light"] .lp-pcard-edit{
  border-top-color:rgba(0,0,0,.1);
}
.lp-pcard-edit label{margin-top:10px}
.lp-pcard-edit label:first-of-type{margin-top:0}
.lp-ol-edit-head{
  display:flex;flex-direction:column;gap:4px;
  margin:18px 0 10px;
}
.lp-ol-edit-head > span{
  font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--lp-muted);
}
.lp-ol-edit-head > small{
  font-size:12px;line-height:1.45;color:var(--lp-ink-2);
}
.lp-ol-edit{
  display:flex;flex-direction:column;gap:10px;
}
.lp-ol-edit-row{
  display:flex;gap:8px;align-items:flex-start;
  padding:12px;
  border-radius:12px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.09);
}
.lp-ol-edit-row.sub{
  margin-left:18px;
  border-style:dashed;
  background:rgba(255,255,255,.02);
}
.lp-ol-edit-fields{
  flex:1;min-width:0;
  display:flex;flex-direction:column;gap:8px;
}
.lp-ol-edit-fields input{
  width:100%;
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.28);
  color:var(--lp-ink);
  border-radius:9px;
  padding:9px 11px;
  font:inherit;font-size:13px;line-height:1.45;
}
.lp-ol-edit-fields input.ol-a{font-weight:600}
.lp-ol-edit-fields input::placeholder{color:rgba(161,161,170,.45)}
.lp-ol-edit-fields input:focus{
  outline:none;
  border-color:rgba(255,255,255,.35);
}
.lp-ol-edit-tools{
  flex:none;
  display:flex;flex-direction:column;gap:6px;
}
.lp-ol-tool{
  appearance:none;cursor:pointer;
  min-width:36px;padding:6px 8px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  color:var(--lp-ink-2);
  font:inherit;font-size:11.5px;font-weight:600;
}
.lp-ol-tool:hover{color:var(--lp-ink);background:rgba(255,255,255,.08)}
.lp-ol-tool.danger:hover{
  color:#fecaca;border-color:rgba(249,113,113,.35);background:rgba(249,113,113,.08);
}
.lp-ol-edit-add{
  display:flex;justify-content:flex-start;
  margin:10px 0 0;
}
.lp-pcard-actions{
  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;
  margin-top:auto;
  padding-top:12px;
}
.lp-pcard-edit .lp-pcard-actions{margin-top:14px;padding-top:0}
.lp-topic-end .lp-tip{
  display:inline-flex;
}
.lp-topic-end .lp-tip-bubble{
  max-width:min(300px, 72vw);
  white-space:normal;
  z-index:40;
}
.lp-regen-tip b{
  color:var(--lp-accent);font-weight:650;font-variant-numeric:tabular-nums;
}

/* ── Draft page (/p/{id}/draft) ───────────────────────── */
.lp-draft-head{margin-bottom:0}
.lp-draft-msg{margin:0 0 14px}
.lp-draft-stack{
  display:flex;flex-direction:column;gap:16px;
}
.lp-spin.sm{
  width:14px;height:14px;border-width:2px;margin:0;
  display:inline-block;vertical-align:middle;flex:none;
}

.lp-cite-badge{
  padding:16px 18px;
  margin-bottom:0;
}
.lp-cite-badge[hidden]{display:none !important}
.lp-cite-run{
  display:flex;align-items:flex-start;gap:12px;
}
.lp-cite-run > b,
.lp-cite-done b{
  font-size:14.5px;font-weight:650;color:var(--lp-ink);
}
.lp-cite-done{
  display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
}

.lp-draft-todo-d{
  margin:0;
  font-size:13.5px;line-height:1.7;color:var(--lp-ink-2);
}
.lp-draft-todo-d b{
  color:var(--lp-accent);font-weight:650;font-variant-numeric:tabular-nums;
}

.lp-sheet{padding:20px 22px 24px}
.lp-sheet-ver{
  display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;
  margin:0 0 16px;padding:0 0 14px;
  border-bottom:1px solid rgba(255,255,255,.08);
  font-size:12.5px;color:var(--lp-muted);
}
html[data-theme="light"] .lp-sheet-ver{
  border-bottom-color:rgba(0,0,0,.1);
}
.lp-sheet-meta b{color:var(--lp-ink);font-variant-numeric:tabular-nums}
.lp-sheet-meta a{
  color:var(--lp-ink-2);text-decoration:none;
  border-bottom:1px dotted rgba(255,255,255,.28);
}
html[data-theme="light"] .lp-sheet-meta a{
  border-bottom-color:rgba(0,0,0,.28);
}
.lp-sheet-meta a:hover{color:var(--lp-ink)}
.lp-sheet-err{color:var(--lp-accent)}
.lp-sheet-tip{
  font-size:12.5px;line-height:1.45;color:var(--lp-muted);
  white-space:nowrap;
}
.lp-sheet-tip[hidden]{display:none}
.lp-sheet-act{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  margin-left:auto;
}
.lp-sheet-act .lp-btn.urge{
  box-shadow:0 0 0 1px var(--lp-accent-line) !important;
}
.lp-export{position:relative}
.lp-export-drop{
  position:absolute;right:0;top:calc(100% + 8px);
  min-width:148px;
  padding:6px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.12);
  background:#121216;
  box-shadow:0 16px 40px rgba(0,0,0,.5);
  z-index:40;
}
html[data-theme="light"] .lp-export-drop{
  background:#fff;
  border-color:rgba(0,0,0,.1);
  box-shadow:0 12px 32px rgba(0,0,0,.12);
}
.lp-export-drop[hidden]{display:none}
.lp-export-item{
  display:flex;align-items:center;gap:8px;
  text-decoration:none;
  color:var(--lp-ink-2);
  font-size:13px;font-weight:500;
  padding:10px 12px;border-radius:8px;
  transition:background .15s ease, color .15s ease;
}
.lp-export-item svg{flex:none;opacity:.85}
.lp-export-item:hover{
  background:rgba(255,255,255,.06);color:var(--lp-ink);
}
html[data-theme="light"] .lp-export-item:hover{
  background:rgba(0,0,0,.05);
}
.lp-export-item:hover svg{opacity:1}

.lp-prose{
  font-size:15px;line-height:1.9;color:var(--lp-ink-2);
  overflow-wrap:break-word;
}
.lp-prose h1{
  margin:8px 0 14px;
  font-size:22px;font-weight:650;letter-spacing:-.02em;line-height:1.35;
  color:var(--lp-ink);
}
.lp-prose h2{
  margin:22px 0 10px;
  font-size:17px;font-weight:650;letter-spacing:-.015em;color:var(--lp-ink);
}
.lp-prose h3{
  margin:18px 0 8px;
  font-size:15px;font-weight:650;color:var(--lp-ink);
}
.lp-prose p{margin:0 0 1em}
.lp-prose blockquote{
  margin:12px 0;padding:6px 14px;
  border-left:3px solid var(--lp-accent);
  color:var(--lp-ink-2);
}
.lp-prose table{
  width:100%;border-collapse:collapse;font-size:13px;margin:12px 0;
  display:block;overflow-x:auto;
}
.lp-prose th,.lp-prose td{
  border:1px solid rgba(255,255,255,.12);padding:7px 10px;text-align:left;
}
html[data-theme="light"] .lp-prose th,
html[data-theme="light"] .lp-prose td{
  border-color:rgba(0,0,0,.1);
}
.lp-prose th{background:rgba(255,255,255,.04);font-weight:600;color:var(--lp-ink)}
html[data-theme="light"] .lp-prose th{
  background:rgba(0,0,0,.04);
}
.lp-prose ul,.lp-prose ol{padding-left:1.4em;margin:8px 0 1em}
.lp-prose li{margin:4px 0}
.lp-prose strong{color:var(--lp-ink);font-weight:650}
.lp-prose hr{
  border:0;border-top:1px solid rgba(255,255,255,.1);margin:18px 0;
}
html[data-theme="light"] .lp-prose hr{
  border-top-color:rgba(0,0,0,.12);
}
.lp-prose code{
  background:rgba(255,255,255,.06);padding:1px 6px;border-radius:5px;
  font-size:13px;
}
html[data-theme="light"] .lp-prose code{
  background:rgba(0,0,0,.06);
  border:1px solid rgba(0,0,0,.06);
}
.lp-prose mark.todo,
.lp-prose mark{
  background:var(--lp-accent-soft);
  color:var(--lp-accent);
  border:1px dashed var(--lp-accent-line);
  border-radius:5px;padding:0 5px;font-size:13px;white-space:nowrap;
}
html[data-theme="light"] .lp-prose mark.todo,
html[data-theme="light"] .lp-prose mark{
  background:#e8f1fc;
}
.lp-prose.editing{
  outline:1.5px dashed var(--lp-accent-line);
  outline-offset:10px;border-radius:6px;cursor:text;
}
.lp-prose.editing:focus{outline-style:solid}

.livedoc{text-align:left}
.live-bar{gap:14px}
.live-l{
  display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;
  color:var(--lp-ink);
}
.live-l b{font-size:13.5px;font-weight:650}
.live-n{font-weight:400;color:var(--lp-muted)}
.live-n b{font-variant-numeric:tabular-nums;color:var(--lp-ink)}
.caret{
  display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;
  background:var(--lp-accent);animation:lp-caret 1s step-end infinite;
}
@keyframes lp-caret{0%,100%{opacity:1}50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.caret{animation:none}}
.live-foot{
  margin:16px 0 0 !important;padding-top:14px;
  border-top:1px solid rgba(255,255,255,.08);
}
html[data-theme="light"] .live-foot{
  border-top-color:rgba(0,0,0,.1);
}
.live-foot b{color:var(--lp-ink)}

.lp-draft-side .lp-panel-title{margin-bottom:10px}
.lp-draft-side .lp-panel-hint{margin-bottom:10px}
.lp-draft-side .lp-panel-hint:last-of-type{margin-bottom:0}
.lp-draft-side-act{
  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;
  margin-top:14px;
}
.lp-draft-side-act form{margin:0}
.lp-draft-side-act .lp-btn:disabled{
  opacity:.4;cursor:not-allowed;
}

.lp-pop{
  position:fixed;z-index:140;
  display:flex;flex-direction:column;
  max-height:min(70vh, 520px);
  background:#000;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,.7);
  overflow:hidden;
}
html[data-theme="light"] .lp-pop{
  background:#fff;
  border-color:rgba(0,0,0,.1);
  box-shadow:0 18px 48px rgba(0,0,0,.14);
}
.lp-pop[hidden]{display:none}
.lp-pop-scroll{
  flex:1 1 auto;overflow-y:auto;
  padding:16px 16px 4px;min-height:0;
  display:flex;flex-direction:column;gap:14px;
}
.lp-pop-foot{
  flex:0 0 auto;
  display:flex;flex-direction:column;gap:12px;
  padding:14px 16px 16px;
  border-top:0;
  background:#000;
}
html[data-theme="light"] .lp-pop-foot{
  background:#fff;
  border-top:1px solid rgba(0,0,0,.08);
}
.lp-pop-q{
  font-size:13px;color:var(--lp-muted);line-height:1.65;
  max-height:4.8em;overflow:hidden;
  margin:0;
}
.lp-pop-row{
  display:flex;gap:8px;align-items:center;justify-content:flex-end;
}
.lp-pop-row[hidden]{display:none}
.lp-pop-btns{display:flex;gap:8px}
.lp-pop-btns[hidden],.lp-pop [hidden]{display:none}
.lp-pop-row input{
  flex:1;min-width:0;
  appearance:none;
  border:1px solid rgba(255,255,255,.16);
  background:#0a0a0a;
  color:var(--lp-ink);
  border-radius:10px;
  padding:10px 12px;
  font:inherit;font-size:13.5px;
}
html[data-theme="light"] .lp-pop-row input{
  background:#f5f5f7;
  border-color:rgba(0,0,0,.12);
}
.lp-pop-row input:focus{
  outline:none;border-color:rgba(255,255,255,.35);
}
html[data-theme="light"] .lp-pop-row input:focus{
  border-color:var(--lp-accent);
  box-shadow:0 0 0 3px var(--lp-accent-soft);
}
.lp-pop-new{
  font-size:14.5px;line-height:1.8;padding:12px 14px;margin:0;
  border-radius:12px;
  background:#0a0a0a;
  border:1px solid rgba(255,255,255,.12);
  color:var(--lp-ink-2);
  white-space:pre-wrap;
  max-height:28vh;overflow:auto;
}
html[data-theme="light"] .lp-pop-new{
  background:#f5f5f7;
  border-color:rgba(0,0,0,.1);
}
.lp-pop-new.writing::after{
  content:"▊";color:var(--lp-accent);animation:lp-caret 1s step-end infinite;
}
@media (max-width:640px){
  .lp-pop{
    left:0!important;right:0;top:auto!important;bottom:0;width:auto!important;
    max-height:78vh;border-radius:16px 16px 0 0;
  }
  .lp-pop-row{flex-wrap:wrap}
  .lp-pop-row input{flex:1 1 100%}
  .lp-pop-btns{width:100%}
  .lp-pop-row .lp-btn{flex:1 1 0}
}

.selbar{
  position:fixed;z-index:145;
  appearance:none;cursor:pointer;
  font:inherit;font-size:12.5px;font-weight:600;
  padding:7px 12px;border-radius:999px;
  color:#0a0a0b;background:var(--lp-white);border:0;
  box-shadow:0 8px 24px rgba(0,0,0,.4);
  white-space:nowrap;
}
html[data-theme="light"] .selbar{
  color:#fff;background:var(--lp-accent);
  box-shadow:0 6px 18px rgba(0,113,227,.28);
}
.selbar[hidden]{display:none}
.selbar:active{transform:translateY(1px)}

/* ── Polish page (/p/{id}/polish) ─────────────────────── */
.lp-polish-msg{margin:0 0 14px}
.lp-polish-stack{
  display:flex;flex-direction:column;gap:16px;
}
.lp-polish-sec > .lp-panel-title{
  margin-bottom:8px;
  flex-wrap:wrap;
}
.lp-polish-sec > .lp-panel-title small{
  font-size:12.5px;font-weight:500;letter-spacing:0;
  color:var(--lp-muted);
}
.lp-polish-sec > .lp-panel-hint{margin-bottom:14px}
.lp-polish-sec form{margin:0}

.lp-matgroup{
  margin:12px 0 0;
  padding:12px 14px 8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(255,255,255,.02);
}
html[data-theme="light"] .lp-matgroup{
  border-color:rgba(0,0,0,.1);
  background:rgba(0,0,0,.02);
}
.lp-matgroup > summary{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  cursor:pointer;list-style:none;
  font-size:14px;color:var(--lp-ink);
  padding:0 0 2px;
}
.lp-matgroup > summary::-webkit-details-marker{display:none}
.lp-matgroup > summary::before{
  content:"▸";
  width:1em;flex:none;
  color:rgba(255,255,255,.35);
}
html[data-theme="light"] .lp-matgroup > summary::before{
  color:rgba(0,0,0,.35);
}
.lp-matgroup[open] > summary::before{content:"▾"}
.lp-matgroup > summary b{font-weight:650}
.lp-matgroup > .lp-chk{
  margin-left:calc(1em + 8px); /* align with filename after ▸ + summary gap */
  padding:10px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
html[data-theme="light"] .lp-matgroup > .lp-chk{
  border-top-color:rgba(0,0,0,.08);
}
.lp-matgroup > .lp-chk:first-of-type{
  margin-top:6px;
  padding-top:10px;
}
.lp-chk{
  display:flex;gap:12px;align-items:center;
}
.lp-chk-bd{flex:1;min-width:0}
.lp-chk-bd b{
  display:block;
  font-size:13.5px;font-weight:500;line-height:1.6;color:var(--lp-ink);
}
.lp-chk-bd small{
  display:block;margin-top:4px;
  font-size:12px;color:var(--lp-muted);
}
.lp-chk-act{
  flex:none;
  display:flex;flex-direction:row;align-items:center;gap:8px;
}
.lp-chk-act[hidden]{display:none !important}

.lp-taskgrid{
  display:flex;flex-direction:column;gap:0;
}
.lp-task{
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
html[data-theme="light"] .lp-task{
  border-top-color:rgba(0,0,0,.08);
}
.lp-task:first-child{border-top:0;padding-top:2px}
.lp-task-q{
  margin:0 0 10px;
  font-size:14px;line-height:1.65;color:var(--lp-ink);
}
.lp-check-row{
  display:flex;align-items:center;gap:14px;
}
.lp-check-row .lp-task-q{
  flex:1;min-width:0;margin:0;
}
.lp-check-row .lp-task-acts{
  flex:none;margin-top:0;justify-content:flex-end;
}
.lp-task-a{
  display:none;
  margin:10px 0 0;
  font-size:13px;color:var(--lp-ok);
}
.lp-task .edit-btn{display:none}
.lp-task.submitted .lp-task-a{display:block}
.lp-task.submitted .edit-btn{display:inline-flex}
.lp-task.submitted:not(.lp-check) .fixform{display:none}
.lp-task.lp-check.submitted .lp-task-a,
.lp-task.lp-check.submitted .edit-btn{display:none}
.lp-task.lp-check .fixform[hidden]{display:none !important}
.lp-task.lp-check .fixform:not([hidden]){display:block;margin-top:14px}
.lp-task.lp-check .fixform .voicebox{margin-top:0}
.lp-task.lp-check .fixform .lp-task-acts{margin-top:10px}
.lp-task-acts{
  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;
  margin-top:12px;
}
.lp-chk-act .lp-btn.on,
.lp-task-acts .lp-btn.on{
  color:var(--lp-accent);
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
html[data-theme="light"] .lp-chk-act .lp-btn.on,
html[data-theme="light"] .lp-task-acts .lp-btn.on{
  background:#e8f1fc;
}
.lp-cite-gb{
  margin:0;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  font-size:13px;line-height:1.65;color:var(--lp-ink-2);
}
html[data-theme="light"] .lp-cite-gb{
  background:rgba(0,0,0,.03);
  border-color:rgba(0,0,0,.1);
}
.lp-cite-redo{
  display:flex;justify-content:flex-end;
  margin:14px 0 0;
}
.lp-panel-hint.nofind{color:var(--lp-accent)}

.lp-notelist{
  display:flex;flex-direction:column;gap:10px;
  margin:0 0 14px;
}
.lp-notelist:empty{display:none}
.lp-note-item{
  padding:12px 14px;
  border-radius:12px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.1);
}
html[data-theme="light"] .lp-note-item{
  background:rgba(0,0,0,.03);
  border-color:rgba(0,0,0,.1);
}
.lp-note-row{
  display:flex;align-items:center;gap:12px;
}
.lp-note-row p{
  flex:1;min-width:0;margin:0;
  font-size:14px;line-height:1.65;color:var(--lp-ink-2);
  white-space:pre-wrap;word-break:break-word;
}
.lp-note-row > .lp-btn{flex:none}
.lp-note-item .noteform{margin-top:10px}
.lp-polish-stack > .lp-topic-end #regen-cta[hidden]{display:none}

/* ── Review page (/p/{id}/review) ─────────────────────── */
.lp-rv-msg{margin:0 0 14px}
.lp-rv-stack{
  display:flex;flex-direction:column;gap:16px;
}
.lp-rv-stack > .lp-panel > .lp-panel-title{margin-bottom:8px}
.lp-rv-stack > .lp-panel > .lp-panel-hint{margin-bottom:12px}
.lp-rv-warn .lp-panel-title{color:var(--lp-accent)}
.lp-panel.lp-rv-req{
  padding:14px 20px;
}
.lp-rv-req-head{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;
  margin:0;
}
.lp-rv-req-head .lp-panel-title{
  margin:0;margin-right:auto;
  font-size:15px;font-weight:650;line-height:1.35;
}
.lp-rv-req-head .lp-rv-meta{
  margin:0;
  font-size:12.5px;line-height:1.35;color:var(--lp-muted);
  white-space:nowrap;
}
.lp-rv-req-head .lp-chip{
  flex:none;
}
.lp-rv-note-line,
.lp-rv-req > .lp-panel-hint{
  margin:10px 0 0 !important;
}
.lp-rv-req .lp-rv-ops{margin-top:14px}
.lp-rv-acts{
  display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;
  margin-top:12px;
}
.lp-rv-ops{margin-top:18px}
.lp-rv-ops > .lp-vlabel{margin-bottom:12px}
.lp-rv-op{
  display:flex;gap:12px;align-items:flex-start;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.08);
}
.lp-rv-op:first-of-type{border-top:0;padding-top:0}
.lp-rv-sev{
  flex:none;
  margin-top:2px;
  padding:3px 8px;border-radius:999px;
  font-size:11px;font-weight:600;letter-spacing:.04em;
  color:var(--lp-ink-2);
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.04);
}
.lp-rv-sev.crit{
  color:var(--lp-accent);
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
.lp-rv-op-bd{flex:1;min-width:0}
.lp-rv-op-bd > b{
  display:block;margin:0 0 6px;
  font-size:13.5px;font-weight:650;color:var(--lp-ink);
}
.lp-rv-op-bd > p{
  margin:0 0 6px;
  font-size:13.5px;line-height:1.65;color:var(--lp-ink-2);
}
.lp-rv-quote{
  margin:0 0 8px;padding:8px 12px;
  border-left:2px solid rgba(255,255,255,.2);
  font-size:13px;line-height:1.6;color:var(--lp-muted);
  background:rgba(255,255,255,.03);
}
.lp-rv-sug{color:var(--lp-ink) !important}
.lp-rv-op-act{
  display:flex;align-items:center;gap:10px;
  margin-top:10px;
}
.lp-rv-done{
  font-size:12.5px;font-weight:500;color:var(--lp-accent);
}
.lp-rv-op.adopted .adopt-btn{display:none}
.lp-rv-regen[hidden]{display:none !important}
.lp-rv-todo{
  margin:0 0 14px;padding:14px;
  border-radius:12px;
  border:1px solid var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
.lp-rv-todo > b{
  display:block;margin:0 0 6px;
  font-size:14px;font-weight:650;color:var(--lp-accent);
}
.lp-rv-todo .lp-panel-hint{margin-bottom:10px}
.lp-rv-draft{
  margin:0 0 12px;padding:16px 18px;
  max-height:min(62vh, 640px);
  overflow:auto;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(0,0,0,.25);
}
.lp-rv-intro > .lp-panel-hint:last-child{margin-bottom:0}
.lp-rv-submit .lp-form-label{
  display:block;margin:0 0 8px;
  font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--lp-muted);
}
.lp-rv-submit .lp-rv-note{
  display:block;margin:20px 0 0 !important;
  font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--lp-muted);
}
.lp-rv-submit .lp-rv-note textarea{
  display:block;margin-top:10px;
}
.lp-rv-tiers{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  margin:0 0 18px;
  align-items:stretch;
}
@media (max-width:720px){
  .lp-rv-tiers{grid-template-columns:1fr}
}
.lp-rv-tier{
  display:flex !important;margin:0 !important;padding:0 !important;
  cursor:pointer;min-width:0;min-height:0;
  letter-spacing:0 !important;font-weight:400 !important;
}
.lp-rv-tier input{position:absolute;opacity:0;pointer-events:none}
.lp-rv-tier-card{
  display:flex;flex-direction:column;gap:6px;
  flex:1;width:100%;box-sizing:border-box;
  padding:14px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);
  transition:border-color .15s ease, background .15s ease;
}
.lp-rv-tier-card b{
  font-size:14px;font-weight:650;color:var(--lp-ink);
}
.lp-rv-tier-card small{
  font-size:12px;line-height:1.45;color:var(--lp-muted);
}
.lp-rv-tier input:checked + .lp-rv-tier-card{
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
.lp-rv-tier input:checked + .lp-rv-tier-card b{color:var(--lp-accent)}
.lp-rv-tier:hover .lp-rv-tier-card{
  border-color:rgba(255,255,255,.22);
}
.lp-rv-submit{
  display:flex;flex-direction:column;gap:16px;
  margin:0;
}
.lp-rv-submit > .lp-panel > .lp-panel-title{margin-bottom:8px}
.lp-rv-submit > .lp-panel > .lp-panel-hint{margin-bottom:12px}
.lp-rv-decl-head{margin-bottom:14px}
.lp-rv-decl-head .lp-panel-title{margin-bottom:6px}
.lp-rv-decl-sub{
  margin:0;
  font-size:13px;line-height:1.6;color:var(--lp-muted);
}
.lp-rv-decl{
  padding:16px 18px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.28);
}
.lp-rv-decl-pre{
  margin:0 0 14px;
  font-size:13px;line-height:1.65;color:var(--lp-ink-2);
}
.lp-rv-decl-list{
  margin:0;padding:0;list-style:none;
  display:flex;flex-direction:column;gap:14px;
}
.lp-rv-decl-list > li{margin:0}
.lp-rv-decl-list b{
  display:block;margin:0 0 6px;
  font-size:13px;font-weight:650;letter-spacing:.02em;color:var(--lp-ink);
}
.lp-rv-decl-list p{
  margin:0;
  font-size:12.5px;line-height:1.7;color:var(--lp-ink-2);
}
.lp-rv-decl-list em{
  font-style:normal;font-weight:600;color:var(--lp-accent);
}
.lp-rv-sign{
  margin-top:16px;padding-top:16px;
  border-top:1px solid rgba(255,255,255,.1);
  display:flex;flex-direction:column;align-items:center;
  text-align:center;
}
.lp-rv-sign-meta{
  display:flex;flex-wrap:wrap;justify-content:center;gap:16px 28px;
  margin:0 0 14px;
  font-size:12px;color:var(--lp-muted);
}
.lp-rv-sign-meta > span{
  display:inline-flex;align-items:baseline;gap:8px;
}
.lp-rv-sign-meta > span > span{
  font-size:13px;font-weight:600;color:var(--lp-ink);
}
.lp-rv-sign-btn{
  appearance:none;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:180px;padding:11px 18px;
  border-radius:10px;
  border:1px dashed rgba(255,255,255,.28);
  background:rgba(255,255,255,.03);
  color:var(--lp-ink);
  font:inherit;font-size:13.5px;font-weight:600;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
.lp-rv-sign-btn:hover{
  border-color:rgba(255,255,255,.4);
  background:rgba(255,255,255,.06);
}
.lp-rv-sign-btn.on{
  border-style:solid;
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
  color:var(--lp-accent);
}
.lp-rv-sign-hint{
  margin:10px 0 0;
  max-width:28em;
  font-size:12px;line-height:1.5;color:var(--lp-muted);
}
.lp-rv-submit > .lp-topic-end{margin-top:0}

/* ── Ledger / 计分账本 ─────────────────────────────────────── */
.lp-ledger-stack{
  display:flex;flex-direction:column;gap:16px;
}
.lp-ledger-trust.bad{
  border-color:rgba(249,113,113,.35);
}
.lp-ledger-trust-head{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:0;
}
.lp-ledger-trust-head .lp-panel-title{margin:0}
.lp-ledger-trust > .lp-panel-hint{margin:10px 0 0}
.lp-ledger-score{
  margin-left:auto;
  font-size:13px;color:var(--lp-muted);
}
.lp-ledger-score b{
  font-weight:650;color:var(--lp-accent);
  font-variant-numeric:tabular-nums;
}
.lp-ledger-meta{
  margin:0;
  font-size:12px;color:var(--lp-muted);
  font-variant-numeric:tabular-nums;
  font-family:ui-monospace,Menlo,monospace;
  letter-spacing:.02em;
}
.lp-ledger-list > .lp-panel-title{
  margin-bottom:8px;
  flex-wrap:wrap;
}
.lp-ledger-list > .lp-panel-title small{
  font-size:12.5px;font-weight:500;letter-spacing:0;
  color:var(--lp-muted);
}
.lp-ledger-rows{
  display:flex;flex-direction:column;
  margin-top:6px;
}
.lp-ledger-row{
  display:grid;
  grid-template-columns:7.5em minmax(0,1fr) 3em 5.5em 7em;
  gap:10px 14px;
  align-items:center;
  padding:14px 0;
  border-top:1px solid rgba(255,255,255,.06);
}
.lp-ledger-row:first-child{border-top:0;padding-top:6px}
.lp-ledger-row .lp-chip{
  justify-self:start;
  white-space:nowrap;
}
.lp-ledger-body{min-width:0}
.lp-ledger-text{
  margin:0;
  font-size:13.5px;line-height:1.55;color:var(--lp-ink);
}
.lp-ledger-reason{
  display:block;margin-top:4px;
  font-size:12px;line-height:1.45;color:var(--lp-muted);
}
.lp-ledger-delta{
  justify-self:end;
  font-size:14px;font-weight:650;
  font-variant-numeric:tabular-nums;
}
.lp-ledger-delta.plus{color:var(--lp-accent)}
.lp-ledger-delta.zero{color:var(--lp-muted);font-weight:500}
.lp-ledger-time{
  font-size:12px;color:var(--lp-muted);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.lp-ledger-hash{
  font-size:11.5px;color:var(--lp-muted);
  font-family:ui-monospace,Menlo,monospace;
  letter-spacing:.02em;
  white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
}
@media (max-width:720px){
  .lp-ledger-row{
    grid-template-columns:auto 1fr auto;
    grid-template-areas:
      "chip delta time"
      "body body body"
      "hash hash hash";
  }
  .lp-ledger-row .lp-chip{grid-area:chip}
  .lp-ledger-body{grid-area:body}
  .lp-ledger-delta{grid-area:delta;justify-self:end}
  .lp-ledger-time{grid-area:time;justify-self:end}
  .lp-ledger-hash{grid-area:hash}
}

/* Ledger modal on overview */
.lp-ledger-modal{
  position:fixed;inset:0;z-index:160;
  display:flex;align-items:flex-start;justify-content:center;
  padding:calc(var(--lp-app-nav-h, 64px) + 28px) 20px 72px;
}
.lp-ledger-modal[hidden]{display:none !important}
.lp-ledger-backdrop{
  position:absolute;inset:0;border:0;padding:0;cursor:pointer;
  background:transparent;
}
body.lp-ledger-open{overflow:hidden}
.lp-ledger-dialog{
  position:relative;z-index:1;
  width:min(1180px, 100%);
  max-height:calc(100vh - var(--lp-app-nav-h, 64px) - 100px);
  display:flex;flex-direction:column;
  background:#000;
  border:0;
  border-radius:18px;
  box-shadow:0 28px 80px rgba(0,0,0,.75);
  overflow:hidden;
}
.lp-ledger-dialog-head{
  flex:none;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:18px 28px 12px;
  background:#000;
}
.lp-ledger-dialog-head .lp-app-title{
  margin:0;font-size:18px;
}
.lp-ledger-close{
  appearance:none;border:0;cursor:pointer;
  width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.06);color:var(--lp-ink-2);
  font-size:22px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
}
.lp-ledger-close:hover{background:rgba(255,255,255,.1);color:var(--lp-ink)}
.lp-ledger-dialog-body{
  flex:1 1 auto;min-height:0;
  overflow-y:auto;
  padding:4px 28px 28px;
  background:#000;
  gap:28px;
}
.lp-ledger-dialog-body > .lp-panel{
  padding:0;
  margin:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.lp-ledger-dialog-body .lp-ledger-trust.bad{
  border:0;
}
.lp-ledger-dialog-body .lp-ledger-list > .lp-panel-title{
  margin-bottom:4px;
}
@media (max-width:640px){
  .lp-ledger-modal{
    padding:calc(var(--lp-app-nav-h, 64px) + 12px) 0 64px;
    align-items:flex-end;
  }
  .lp-ledger-dialog{
    width:100%;
    max-height:calc(100vh - var(--lp-app-nav-h, 64px) - 76px);
    border-radius:18px 18px 0 0;
  }
  .lp-ledger-dialog-head,
  .lp-ledger-dialog-body{padding-left:18px;padding-right:18px}
}

html[data-theme="light"] .lp-ledger-dialog,
html[data-theme="light"] .lp-ledger-dialog-head,
html[data-theme="light"] .lp-ledger-dialog-body{
  background:#fff;
}
.lp-adm-md-dialog{
  width:min(920px, 100%);
}
.lp-adm-md-dialog .mdedit{
  min-height:min(52vh, 480px);
  background:#0a0a0a;
  color:var(--lp-ink);
  border-color:rgba(255,255,255,.12);
}
html[data-theme="light"] .lp-adm-md-dialog .mdedit{
  background:#fff;
  color:var(--lp-ink);
  border-color:rgba(0,0,0,.12);
}
.lp-adm-md-dialog .lp-panel-hint{margin:0 0 12px}
.lp-adm-md-foot{
  display:flex;gap:8px;justify-content:flex-end;
  margin-top:16px;
}
.lp-adm-acct-dialog{
  width:min(440px, 100%);
}
.lp-adm-acct-dialog .lp-ledger-dialog-body{
  overflow:visible;
}
.lp-adm-acct-table th:nth-child(1),
.lp-adm-acct-table td:nth-child(1){width:24%}
.lp-adm-acct-table th:nth-child(2),
.lp-adm-acct-table td:nth-child(2){width:16%}
.lp-adm-acct-table th:nth-child(3),
.lp-adm-acct-table td:nth-child(3){width:18%}
.lp-adm-acct-table th:nth-child(4),
.lp-adm-acct-table td:nth-child(4){width:22%}
.lp-adm-acct-table th:nth-child(5),
.lp-adm-acct-table td:nth-child(5){width:20%}

/* Versions history modal (draft) — same flat black dialog family as ledger */
.lp-versions-modal{
  position:fixed;inset:0;z-index:160;
  display:flex;align-items:flex-start;justify-content:center;
  padding:calc(var(--lp-app-nav-h, 64px) + 28px) 20px 72px;
}
.lp-versions-modal[hidden]{display:none !important}
.lp-versions-backdrop{
  position:absolute;inset:0;border:0;padding:0;cursor:pointer;
  background:transparent;
}
body.lp-versions-open{overflow:hidden}
.lp-versions-dialog{
  position:relative;z-index:1;
  width:min(920px, 100%);
  max-height:calc(100vh - var(--lp-app-nav-h, 64px) - 100px);
  display:flex;flex-direction:column;
  background:#000;
  border:0;
  border-radius:18px;
  box-shadow:0 28px 80px rgba(0,0,0,.75);
  overflow:hidden;
}
.lp-versions-dialog-head{
  flex:none;
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  padding:20px 28px 10px;
  background:#000;
}
.lp-versions-kicker{
  margin:0 0 4px;
  font-size:11px;letter-spacing:.2em;color:var(--lp-muted);
}
.lp-versions-dialog-head .lp-app-title{margin:0;font-size:20px}
.lp-versions-close{
  appearance:none;border:0;cursor:pointer;
  width:36px;height:36px;border-radius:10px;
  background:rgba(255,255,255,.06);color:var(--lp-ink-2);
  font-size:22px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
}
.lp-versions-close:hover{background:rgba(255,255,255,.1);color:var(--lp-ink)}
.lp-versions-dialog-body{
  flex:1 1 auto;min-height:0;
  overflow-y:auto;
  padding:4px 28px 28px;
  background:#000;
}
.lp-versions-lead{margin:0 0 18px}
.lp-vlist{
  list-style:none;margin:0;padding:0;
  display:flex;flex-direction:column;gap:0;
}
.lp-vitem{
  padding:16px 0;
  border-top:1px solid var(--lp-line);
}
.lp-vitem:last-child{padding-bottom:0}
.lp-vitem-head{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  margin-bottom:6px;
}
.lp-vitem-no{
  font-size:15px;font-weight:650;color:var(--lp-ink);
}
.lp-vitem-label{font-size:12.5px;color:var(--lp-muted)}
.lp-vitem-meta{
  margin:0 0 12px;
  font-size:12.5px;line-height:1.55;color:var(--lp-muted);
}
.lp-vitem-act{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
}
.lp-vitem-act form{margin:0}
.lp-vitem-act .lp-mini,
.lp-version-view-bar .lp-mini,
.lp-version-view-act .lp-mini{
  min-height:0;
  padding:6px 11px;
  font-size:12.5px;
  border-radius:8px;
}
.lp-vitem-cur-note{
  font-size:12.5px;color:var(--lp-muted);
}
.lp-mini-pri{
  color:#0a0a0b;background:var(--lp-white);
  border-color:transparent;
}
.lp-mini-pri:hover{
  color:#0a0a0b;background:var(--lp-white);
  border-color:transparent;
  filter:brightness(1.05);
}
html[data-theme="light"] .lp-mini-pri{
  color:#fff;background:var(--lp-accent);
}
html[data-theme="light"] .lp-mini-pri:hover{
  color:#fff;background:#0077ed;
}
.lp-sheet-link{
  appearance:none;border:0;background:none;padding:0;margin:0;
  font:inherit;color:inherit;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(255,255,255,.28);
}
.lp-sheet-link:hover{text-decoration-color:rgba(255,255,255,.7)}
html[data-theme="light"] .lp-sheet-link{
  text-decoration-color:rgba(0,0,0,.28);
}
html[data-theme="light"] .lp-sheet-link:hover{
  text-decoration-color:rgba(0,0,0,.55);
}
.lp-version-view-bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;
  margin:0 0 16px;
}
.lp-version-view-act{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
}
.lp-version-view-act form{margin:0}
.lp-version-view-head{margin:0 0 14px}
.lp-version-view-head .lp-panel-title{margin:0 0 6px}
.lp-version-legend{margin:0 0 14px}
.lp-version-legend ins,
.lp-prose-diff ins{
  background:rgba(134,239,172,.16);color:#86efac;
  text-decoration:none;border-radius:3px;padding:0 2px;
}
.lp-version-legend del,
.lp-prose-diff del{
  background:rgba(249,113,113,.14);color:#fca5a5;
  text-decoration:line-through;border-radius:3px;padding:0 2px;
}
html[data-theme="light"] .lp-version-legend ins,
html[data-theme="light"] .lp-prose-diff ins{
  background:rgba(52,199,89,.14);color:#248a3d;
}
html[data-theme="light"] .lp-version-legend del,
html[data-theme="light"] .lp-prose-diff del{
  background:rgba(255,59,48,.1);color:#d70015;
}
.lp-vitem.is-cur{
  background:transparent;
}
@media (max-width:640px){
  .lp-versions-modal{
    padding:calc(var(--lp-app-nav-h, 64px) + 12px) 0 64px;
    align-items:flex-end;
  }
  .lp-versions-dialog{
    width:100%;
    max-height:calc(100vh - var(--lp-app-nav-h, 64px) - 76px);
    border-radius:18px 18px 0 0;
  }
  .lp-versions-dialog-head,
  .lp-versions-dialog-body{padding-left:18px;padding-right:18px}
}
html[data-theme="light"] .lp-versions-dialog,
html[data-theme="light"] .lp-versions-dialog-head,
html[data-theme="light"] .lp-versions-dialog-body{
  background:#fff;
}
html[data-theme="light"] .lp-versions-dialog{
  box-shadow:0 22px 60px rgba(0,0,0,.14);
}
html[data-theme="light"] .lp-versions-close{
  background:rgba(0,0,0,.04);
}
html[data-theme="light"] .lp-versions-close:hover{
  background:rgba(0,0,0,.08);
}

/* Bid selection panel + candidate cards on review */
.lp-bids-panel > .lp-panel-title{margin-bottom:10px}
.lp-bids-lead{margin:0 0 14px}
.lp-bids-empty{padding:4px 0}
.lp-bids-empty > b{
  display:block;margin-bottom:8px;
  font-size:15px;font-weight:650;color:var(--lp-ink);
}
.lp-bids-list{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
@media (max-width:900px){
  .lp-bids-list{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width:560px){
  .lp-bids-list{grid-template-columns:1fr}
}
.lp-bidcard{
  padding:18px 16px 14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:rgba(11,11,13,.88);
  display:flex;flex-direction:column;gap:12px;
  box-sizing:border-box;
}
html[data-theme="light"] .lp-bidcard{
  border-color:rgba(0,0,0,.08);
  background:var(--lp-bg);
  box-shadow:none;
}
.lp-bid-head{
  display:flex;align-items:center;gap:12px;
}
.lp-bid-avatar{
  flex:none;
  width:44px;height:44px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--lp-accent);
  background:var(--lp-accent-soft);
  border:1px solid var(--lp-accent-line);
}
.lp-bid-avatar svg{display:block}
.lp-bid-id{
  min-width:0;flex:1;
  display:flex;flex-direction:column;gap:6px;
}
.lp-bid-id > b{
  font-size:15px;font-weight:650;color:var(--lp-ink);
  letter-spacing:.01em;
}
.lp-bid-tags{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
}
.lp-bid-rep{
  font-size:12px;font-weight:600;color:var(--lp-accent);
}
.lp-bid-meta{margin:0}
.lp-bid-pitch{
  margin:0;
  flex:1;
  font-size:13.5px;line-height:1.7;color:var(--lp-ink-2);
  text-wrap:pretty;
}
.lp-bidcard form{margin:0;margin-top:auto}
.lp-bidcard .lp-btn{width:100%;justify-content:center;box-sizing:border-box}

html[data-theme="light"] .lp-chip.warn{
  background:var(--lp-accent-soft);
}

/* ── 审稿身份 + 资质材料并排 ───────────────────────────────── */
.lp-rv-profile{
  display:flex;
  gap:14px;
  align-items:stretch;
}
.lp-panel.lp-rv-id{
  flex:0 0 auto;
  box-sizing:border-box;
  /* size set to a square matching row height (see reviewer.html) */
  display:flex;flex-direction:column;
  align-items:center;justify-content:space-between;
  gap:10px;
}
.lp-panel.lp-rv-materials{
  flex:1 1 0;
  min-width:0;
  display:flex;flex-direction:column;
}
.lp-panel.lp-rv-load{
  flex:0 0 calc((100% - 28px) / 3);
  width:calc((100% - 28px) / 3);
  max-width:calc((100% - 28px) / 3);
  box-sizing:border-box;
  min-width:0;
  display:flex;flex-direction:column;
}
.lp-rv-load-top{
  display:flex;flex-direction:column;align-items:flex-start;gap:2px;
}
.lp-rv-load-label{
  font-size:12px;font-weight:500;color:var(--lp-muted);
  letter-spacing:.04em;
}
.lp-rv-load-index{
  margin:0;
  display:flex;align-items:baseline;gap:4px;
  line-height:1;
  font-variant-numeric:tabular-nums;
  color:var(--lp-ink);
}
.lp-rv-load-index > b{
  font-size:44px;font-weight:700;letter-spacing:-.02em;
}
.lp-rv-load-index > span{
  font-size:22px;font-weight:600;color:var(--lp-muted);
}
.lp-rv-load-index > em{
  font-style:normal;
  font-size:15px;font-weight:550;color:var(--lp-muted);
  margin-left:2px;
}
.lp-panel.lp-rv-load > .lp-panel-hint{
  margin:14px 0 0;
  flex:1;
}
@media (max-width:900px){
  .lp-rv-profile{flex-wrap:wrap}
  .lp-panel.lp-rv-materials{
    flex:1 1 calc(50% - 7px);
  }
  .lp-panel.lp-rv-load{
    flex:1 1 calc(50% - 7px);
    width:auto;max-width:none;
  }
}
@media (max-width:720px){
  .lp-rv-profile{flex-direction:column;align-items:center}
  .lp-panel.lp-rv-id{
    width:min(300px, 100%) !important;
    height:auto !important;
    aspect-ratio:1;
  }
  .lp-panel.lp-rv-materials,
  .lp-panel.lp-rv-load{
    width:100%;
    max-width:none;
    flex:1 1 auto;
  }
}
.lp-rv-id-head{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  text-align:center;
}
.lp-rv-id-head > b{
  font-size:15px;font-weight:650;color:var(--lp-ink);line-height:1.3;
}
.lp-rv-donut-wrap{
  display:flex;flex-direction:column;align-items:center;gap:4px;
}
.lp-rv-donut{display:block}
.lp-rv-donut-track{stroke:rgba(255,255,255,.12)}
html[data-theme="light"] .lp-rv-donut-track{stroke:rgba(0,0,0,.12)}
.lp-rv-donut-arc{stroke:var(--lp-accent)}
.lp-rv-donut-num{
  fill:var(--lp-ink);
  font-size:22px;font-weight:700;
  font-variant-numeric:tabular-nums;
  font-family:inherit;
}
.lp-rv-donut-label{
  font-size:12px;font-weight:500;color:var(--lp-muted);
  letter-spacing:.04em;
}
.lp-rv-materials > .lp-panel-title{margin-bottom:14px}
.lp-rv-materials .lp-rv-apply-dl{flex:1}

/* ── 审稿申请材料回显 ─────────────────────────────────────── */
.lp-rv-apply-dl{
  margin:0;
  display:flex;flex-direction:column;gap:16px;
}
.lp-rv-apply-dl > div{margin:0}
.lp-rv-apply-dl dt{
  margin:0 0 4px;
  font-size:12px;font-weight:600;letter-spacing:.04em;
  color:var(--lp-muted);
}
.lp-rv-apply-dl dd{
  margin:0;
  font-size:14.5px;line-height:1.55;color:var(--lp-ink);
  text-wrap:pretty;
}
.lp-rv-apply-intro{
  white-space:pre-wrap;
}

/* ── 我的评审任务卡片 ─────────────────────────────────────── */
.lp-mine-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}
@media (max-width:720px){
  .lp-mine-list{grid-template-columns:1fr}
}
.lp-mine-foot{
  display:flex;flex-direction:column;gap:14px;
  margin-top:auto;
}
.lp-mine-due{
  display:flex;flex-direction:column;gap:5px;
}
.lp-mine-due-meta{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  font-size:12px;line-height:1.2;color:var(--lp-muted);
  font-variant-numeric:tabular-nums;
}
.lp-mine-due-meta > span:first-child{
  font-weight:600;color:var(--lp-ink);
}
.lp-mine-due.is-urgent .lp-mine-due-meta > span:first-child{
  color:var(--lp-accent);
}
.lp-mine-due .lp-ubar-track{width:100%}
.lp-mine-card .lp-sq-open{
  margin-top:0;
  text-decoration:none;
}

/* ── 稿件广场 /square ─────────────────────────────────────── */
.lp-sq-stack{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
  align-items:stretch;
}
@media (max-width:720px){
  .lp-sq-stack{grid-template-columns:1fr}
}
.lp-sq-stack > .lp-sq-empty,
#lp-sq-nofilter{grid-column:1 / -1}
#lp-sq-nofilter{margin-top:0}
.lp-panel.lp-sq-item{
  margin:0;
  display:flex;flex-direction:column;
  gap:10px;
  min-width:0;
}
.lp-sq-head{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:0;
}
.lp-sq-head .lp-panel-title{
  margin:0;flex:1 1 auto;min-width:8em;
  font-size:16px;line-height:1.4;
}
.lp-sq-fee{
  font-size:14px;font-weight:650;color:var(--lp-ink);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.lp-sq-summary{
  margin:0;
  font-size:13.5px;line-height:1.55;color:var(--lp-ink-2);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  text-wrap:pretty;
}
.lp-sq-sum-lab{
  margin-right:.4em;
  font-weight:650;
  color:var(--lp-accent);
  letter-spacing:.02em;
}
.lp-sq-meta{
  margin:0;
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;
  font-size:12.5px;line-height:1.45;color:var(--lp-muted);
  font-variant-numeric:tabular-nums;
}
.lp-sq-meta .lp-chip{font-size:11px}
.lp-sq-note{
  margin:0;
  font-size:13.5px;line-height:1.55;color:var(--lp-ink-2);
  text-wrap:pretty;
}
.lp-sq-open{
  margin-top:auto;
  width:100%;
  justify-content:center;
  box-sizing:border-box;
}
.lp-sq-bidwrap{
  position:relative;
  display:block;
  width:100%;
  margin-top:auto;
}
.lp-sq-bidwrap .lp-sq-open{
  margin-top:0;
  width:100%;
}
.lp-sq-open.is-blocked,
.lp-sq-bidwrap .lp-sq-open:disabled{
  opacity:1;
  color:var(--lp-muted);
  background:transparent;
  border-color:rgba(255,255,255,.12);
  cursor:not-allowed;
}
html[data-theme="light"] .lp-sq-open.is-blocked,
html[data-theme="light"] .lp-sq-bidwrap .lp-sq-open:disabled{
  border-color:rgba(0,0,0,.12);
  background:rgba(0,0,0,.02);
}
.lp-sq-block-tip{
  position:absolute;
  left:0;right:auto;
  bottom:calc(100% + 8px);
  z-index:30;
  width:max-content;max-width:min(280px, 70vw);
  padding:10px 12px;
  border-radius:10px;
  border:0;
  background:#000;
  color:var(--lp-ink-2);
  font-size:12.5px;font-weight:400;line-height:1.55;
  box-shadow:0 12px 32px rgba(0,0,0,.55);
  opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(4px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  text-wrap:pretty;
}
html[data-theme="light"] .lp-sq-block-tip{
  background:#000;
  color:rgba(255,255,255,.82);
}
.lp-sq-bidwrap:hover .lp-sq-block-tip,
.lp-sq-bidwrap:focus .lp-sq-block-tip,
.lp-sq-bidwrap:focus-within .lp-sq-block-tip{
  opacity:1;visibility:visible;
  transform:translateY(0);
}
.lp-sq-done{
  margin-top:auto;
  font-size:13.5px;font-weight:550;color:var(--lp-muted);
}
.lp-sq-bidform{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.07);
}
.lp-sq-bidform[hidden]{display:none !important}
.lp-sq-bidform .lp-form-foot{margin-top:12px}
html[data-theme="light"] .lp-sq-bidform{
  border-top-color:rgba(0,0,0,.06);
}

html[data-theme="light"] .lp-planbadge,
html[data-theme="light"] .lp-theme-toggle:not(.lp-side-foot-item){
  background:rgba(0,0,0,.03);
}
html[data-theme="light"] .lp-side-foot-item.lp-theme-toggle{
  background:transparent;
}
html[data-theme="light"] .auth-close{
  background:rgba(0,0,0,.04);
}
html[data-theme="light"] .auth-close:hover{
  background:rgba(0,0,0,.08);
}
html[data-theme="light"] .lp-menu-btn{
  color:var(--lp-ink-2);
}

/* ── 评审工作区 /review/{id}/work ─────────────────────────── */
/* 锁定视口：顶栏 + 页头 + 左侧稿件固定；仅右侧意见栏滚动 */
.lp-body.is-rw-work{
  height:100vh;height:100dvh;
  overflow:hidden;
}
.lp-body.is-rw-work > .lp-app-main{
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  gap:20px;
  padding-top:28px;
  padding-bottom:40px;
  overflow:hidden;
}
.lp-body.is-rw-work > .lp-foot{display:none}
.lp-body.is-rw-work .lp-app-head{flex:none}
.lp-body.is-rw-work .lp-msg,
.lp-body.is-rw-work .lp-rw-tabs{flex:none}

.lp-rw-tabs{
  display:flex;flex-wrap:wrap;gap:8px;
  margin:0 0 14px;
}
.lp-rw-tab{
  display:inline-flex;align-items:center;justify-content:center;
  padding:8px 14px;border-radius:10px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.28);
  color:var(--lp-ink-2);
  font-size:13.5px;font-weight:500;text-decoration:none;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}
html[data-theme="light"] .lp-rw-tab{
  background:#fff;border-color:rgba(0,0,0,.12);
}
.lp-rw-tab:hover{color:var(--lp-ink);border-color:rgba(255,255,255,.28)}
html[data-theme="light"] .lp-rw-tab:hover{
  border-color:rgba(0,0,0,.2);background:#f5f5f7;
}
.lp-rw-tab.on{
  color:var(--lp-ink);font-weight:650;
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.32);
}
html[data-theme="light"] .lp-rw-tab.on{
  background:var(--lp-accent-soft);
  border-color:var(--lp-accent-line);
  color:var(--lp-accent);
}
.lp-rw-split{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,0.95fr);
  gap:14px;
  align-items:stretch;
  flex:1 1 auto;
  min-height:0;
}
.lp-panel.lp-rw-doc{
  margin:0;
  height:100%;
  max-height:none;
  overflow-y:auto;
  position:static;
  min-height:0;
  box-sizing:border-box;
  scrollbar-width:none;
}
.lp-panel.lp-rw-doc::-webkit-scrollbar{display:none}
.lp-rw-side{
  display:flex;flex-direction:column;gap:14px;
  min-width:0;
  min-height:0;
  height:100%;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
.lp-rw-side::-webkit-scrollbar{display:none}
.lp-rw-doc .prose{
  font-size:15px;line-height:1.9;color:var(--lp-ink-2);
  overflow-wrap:break-word;
}
.lp-rw-doc .prose h1{
  margin:8px 0 14px;
  font-size:22px;font-weight:650;letter-spacing:-.02em;line-height:1.35;
  color:var(--lp-ink);
}
.lp-rw-doc .prose h2{
  margin:22px 0 10px;
  font-size:17px;font-weight:650;letter-spacing:-.015em;color:var(--lp-ink);
}
.lp-rw-doc .prose h3{
  margin:18px 0 8px;
  font-size:15px;font-weight:650;color:var(--lp-ink);
}
.lp-rw-doc .prose p{margin:0 0 1em}
.lp-rw-doc .prose mark.lp-rw-hl{
  color:inherit;
  border-radius:3px;
  padding:0.05em 0.12em;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  cursor:pointer;
}
.lp-rw-doc .prose mark.lp-rw-hl.is-crit{
  background:rgba(249,113,113,.16);
  box-shadow:inset 0 -1.5px 0 var(--lp-danger);
}
.lp-rw-doc .prose mark.lp-rw-hl.is-major{
  background:var(--lp-accent-soft);
  box-shadow:inset 0 -1.5px 0 var(--lp-accent);
}
.lp-rw-doc .prose mark.lp-rw-hl.is-minor{
  background:rgba(134,239,172,.14);
  box-shadow:inset 0 -1.5px 0 var(--lp-ok);
}
html[data-theme="light"] .lp-rw-doc .prose mark.lp-rw-hl.is-crit{
  background:rgba(255,59,48,.12);
  box-shadow:inset 0 -1.5px 0 var(--lp-danger);
}
html[data-theme="light"] .lp-rw-doc .prose mark.lp-rw-hl.is-minor{
  background:rgba(52,199,89,.12);
  box-shadow:inset 0 -1.5px 0 #34c759;
}
/* 已提交列表里的严重度芯片同色 */
.lp-rw-ops .lp-rv-sev.crit{
  color:var(--lp-danger);
  border-color:rgba(249,113,113,.4);
  background:rgba(249,113,113,.12);
}
.lp-rw-ops .lp-rv-sev.is-major{
  color:var(--lp-accent);
  border-color:var(--lp-accent-line);
  background:var(--lp-accent-soft);
}
.lp-rw-ops .lp-rv-sev.is-minor{
  color:var(--lp-ok);
  border-color:rgba(134,239,172,.35);
  background:rgba(134,239,172,.1);
}
html[data-theme="light"] .lp-rw-ops .lp-rv-sev.crit{
  color:var(--lp-danger);
  border-color:rgba(255,59,48,.32);
  background:rgba(255,59,48,.1);
}
html[data-theme="light"] .lp-rw-ops .lp-rv-sev.is-minor{
  color:#15803d;
  border-color:rgba(52,199,89,.32);
  background:rgba(52,199,89,.1);
}
.lp-rw-doc .prose blockquote{
  margin:12px 0;padding:6px 14px;
  border-left:3px solid var(--lp-accent);
  color:var(--lp-ink-2);
}
.lp-panel.lp-rw-form{margin:0}
.lp-rw-form-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:14px;
}
.lp-rw-form-head .lp-panel-title{margin:0;min-width:0}
.lp-rw-form-head .lp-btn{flex:none}
.lp-rw-form .lp-rw-sev{margin-bottom:4px}
.lp-rw-form .lp-rw-sev + label{margin-top:22px}
.lp-rw-form textarea.lp-rw-ta{
  min-height:0;
  height:calc(1.55em * 2 + 20px);
  resize:vertical;
}
.lp-rw-list{
  display:flex;flex-direction:column;gap:10px;
  min-width:0;
}
.lp-rw-list-bar{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
  gap:8px 12px;
}
.lp-rw-list-head{
  margin:0;
  font-size:14px;font-weight:650;color:var(--lp-ink);
}
.lp-rw-filter{
  display:flex;flex-wrap:wrap;gap:6px;
}
.lp-rw-filter-btn{
  appearance:none;cursor:pointer;
  margin:0;padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:transparent;
  font:inherit;font-size:12px;font-weight:500;
  color:var(--lp-muted);
  transition:color .15s ease, border-color .15s ease, background .15s ease;
}
html[data-theme="light"] .lp-rw-filter-btn{
  border-color:rgba(0,0,0,.12);
}
.lp-rw-filter-btn:hover{color:var(--lp-ink);border-color:rgba(255,255,255,.28)}
html[data-theme="light"] .lp-rw-filter-btn:hover{
  border-color:rgba(0,0,0,.2);
}
.lp-rw-filter-btn.on{
  color:var(--lp-ink);font-weight:650;
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.28);
}
html[data-theme="light"] .lp-rw-filter-btn.on{
  background:rgba(0,0,0,.05);
  border-color:rgba(0,0,0,.16);
}
.lp-rw-filter-btn.is-crit.on{
  color:var(--lp-danger);
  background:rgba(249,113,113,.12);
  border-color:rgba(249,113,113,.4);
}
.lp-rw-filter-btn.is-major.on{
  color:var(--lp-accent);
  background:var(--lp-accent-soft);
  border-color:var(--lp-accent-line);
}
.lp-rw-filter-btn.is-minor.on{
  color:var(--lp-ok);
  background:rgba(134,239,172,.1);
  border-color:rgba(134,239,172,.35);
}
html[data-theme="light"] .lp-rw-filter-btn.is-crit.on{
  background:rgba(255,59,48,.1);
  border-color:rgba(255,59,48,.32);
}
html[data-theme="light"] .lp-rw-filter-btn.is-minor.on{
  color:#15803d;
  background:rgba(52,199,89,.1);
  border-color:rgba(52,199,89,.32);
}
.lp-rw-ops{
  display:flex;flex-direction:column;gap:10px;
  margin:0;
}
.lp-rw-ops:empty{min-height:0}
.lp-panel.lp-rw-op-card{
  position:relative;
  margin:0;
  padding:14px 36px 14px 16px;
  display:flex;
  flex-direction:column;
  gap:8px;
  cursor:pointer;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.lp-rw-op-del{
  position:absolute;top:8px;right:8px;
  appearance:none;border:0;background:transparent;
  width:22px;height:22px;padding:0;
  border-radius:6px;
  font:inherit;font-size:15px;line-height:1;
  color:var(--lp-muted);
  cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  opacity:.28;
  transition:opacity .15s ease, color .15s ease, background .15s ease;
  z-index:1;
}
.lp-panel.lp-rw-op-card:hover .lp-rw-op-del,
.lp-rw-op-del:focus-visible{opacity:.65}
.lp-rw-op-del:hover{
  opacity:1;color:var(--lp-ink);
  background:rgba(255,255,255,.08);
}
html[data-theme="light"] .lp-rw-op-del:hover{
  background:rgba(0,0,0,.06);
}
.lp-rw-op-del:focus-visible{
  outline:2px solid var(--lp-accent);outline-offset:1px;
}
.lp-panel.lp-rw-op-card:hover{
  border-color:rgba(255,255,255,.28);
  box-shadow:0 10px 28px rgba(0,0,0,.32);
}
html[data-theme="light"] .lp-panel.lp-rw-op-card:hover{
  border-color:rgba(0,0,0,.16);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.lp-panel.lp-rw-op-card:not([data-hl]){cursor:default}
.lp-panel.lp-rw-op-card.is-active{
  border-color:var(--lp-accent-line);
  box-shadow:0 8px 28px rgba(0,0,0,.28);
}
html[data-theme="light"] .lp-panel.lp-rw-op-card.is-active{
  border-color:rgba(0,113,227,.28);
  box-shadow:0 1px 2px rgba(0,0,0,.04), 0 8px 24px rgba(0,0,0,.04);
}
.lp-rw-doc .prose mark.lp-rw-hl.is-flash{
  outline:1px solid color-mix(in srgb, var(--lp-ink) 22%, transparent);
  outline-offset:1px;
}
.lp-rw-op-head{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin-bottom:2px;
}
.lp-rw-op-head .lp-rv-sev{margin-top:0}
.lp-rw-op-loc{
  margin:0;
  font-size:13.5px;font-weight:650;color:var(--lp-ink);
  min-width:0;
}
.lp-rw-op-row{
  display:grid;
  grid-template-columns:3em minmax(0, 1fr);
  gap:8px 10px;
  align-items:start;
}
.lp-rw-op-k{
  margin-top:0.15em;
  font-size:12px;font-weight:650;letter-spacing:.04em;
  color:var(--lp-muted);
  white-space:nowrap;
}
.lp-rw-op-k::after{content:"："}
.lp-rw-op-v{margin:0;min-width:0}
.lp-rw-op-quote,
.lp-rw-op-problem,
.lp-rw-op-sug{
  margin:0;
  font-size:13.5px;line-height:1.65;color:var(--lp-ink-2);
}
.lp-rw-op-quote{
  font-style:italic;
  font-family:"IBM Plex Sans", "Noto Sans SC", sans-serif;
}
.lp-rw-op-sug{color:var(--lp-ink)}
.lp-rw-head-acts{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  flex:none;
}
.lp-rw-head-acts .lp-rw-deliver{
  margin:0;padding:0;border:0;display:inline-flex;
}
.lp-rw-head-acts .lp-rw-deliver .lp-btn{
  width:auto;
}
.lp-rw-sev{grid-template-columns:repeat(3, 1fr)}
.lp-rw-sev .lp-seg-item span{
  min-height:34px;
  padding:6px 8px;
  font-size:13px;
  border-radius:8px;
}
/* 关键 · 重要 · 建议 — 三档色，与正文高亮一致 */
.lp-rw-sev .lp-seg-item input[value="关键"]:checked + span{
  color:var(--lp-danger);
  background:rgba(249,113,113,.12);
  border-color:rgba(249,113,113,.4);
  font-weight:650;
}
.lp-rw-sev .lp-seg-item input[value="重要"]:checked + span{
  color:var(--lp-accent);
  background:var(--lp-accent-soft);
  border-color:var(--lp-accent-line);
  font-weight:650;
}
.lp-rw-sev .lp-seg-item input[value="建议"]:checked + span{
  color:var(--lp-ok);
  background:rgba(134,239,172,.1);
  border-color:rgba(134,239,172,.35);
  font-weight:650;
}
html[data-theme="light"] .lp-rw-sev .lp-seg-item input[value="关键"]:checked + span{
  color:var(--lp-danger);
  background:rgba(255,59,48,.1);
  border-color:rgba(255,59,48,.32);
}
html[data-theme="light"] .lp-rw-sev .lp-seg-item input[value="建议"]:checked + span{
  color:#15803d;
  background:rgba(52,199,89,.1);
  border-color:rgba(52,199,89,.32);
}
.lp-rw-quote-wrap{
  position:relative;
  margin:4px 0 0;
}
.lp-rw-quote{
  margin:0;
  padding-right:28px;
}
.lp-rw-quote-x{
  position:absolute;top:6px;right:6px;
  appearance:none;border:0;background:transparent;
  width:22px;height:22px;padding:0;
  border-radius:6px;
  font:inherit;font-size:16px;line-height:1;
  color:var(--lp-muted);
  cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  opacity:.7;
  transition:opacity .15s ease, color .15s ease, background .15s ease;
}
.lp-rw-quote-x:hover{
  opacity:1;color:var(--lp-ink);
  background:rgba(255,255,255,.08);
}
html[data-theme="light"] .lp-rw-quote-x:hover{
  background:rgba(0,0,0,.06);
}
.lp-rw-quote-x:focus-visible{
  outline:2px solid var(--lp-accent);outline-offset:1px;
}
@media (max-width:900px){
  .lp-body.is-rw-work{
    height:auto;
    overflow:auto;
  }
  .lp-body.is-rw-work > .lp-app-main{
    overflow:visible;
    flex:none;
    height:auto;
  }
  .lp-body.is-rw-work > .lp-foot{display:block}
  .lp-rw-split{
    grid-template-columns:1fr;
    flex:none;
    min-height:0;
    height:auto;
  }
  .lp-panel.lp-rw-doc{
    height:auto;
    max-height:min(70vh, 640px);
  }
  .lp-rw-side{
    height:auto;
    overflow:visible;
  }
}

/* ── Admin console ───────────────────────────────────── */
.lp-body.is-admin{
  height:100vh;height:100dvh;
  overflow:hidden;
  padding-top:var(--lp-app-nav-h, 64px);
  box-sizing:border-box;
  justify-content:flex-start;
  --paper:var(--lp-bg);
  --ink:var(--lp-ink);
  --ink-2:var(--lp-ink-2);
  --muted:var(--lp-muted);
  --line:var(--lp-line);
  --line-strong:var(--lp-line-strong);
  --card:var(--lp-bg-panel);
  --card-2:var(--lp-bg-elev);
  --gold:var(--lp-accent);
  --gold-soft:var(--lp-accent-soft);
  --warn:var(--lp-accent);
  --nurture:var(--lp-danger);
  --ok:var(--lp-ok);
  --scholar:var(--lp-accent);
}
.lp-body.is-admin > .lp-app-nav{
  position:fixed;
  top:0;left:0;right:0;z-index:50;
  align-self:stretch;width:100%;max-width:none;margin:0;
  box-sizing:border-box;
  background:var(--lp-bg);
  border-bottom:1px solid var(--lp-line);
  animation:none;
  box-shadow:0 -1px 0 0 var(--lp-bg);
}
.lp-body.is-admin > .lp-app-nav .lp-nav-inner,
.lp-body.is-admin > .lp-app-main{
  width:100%;
  max-width:var(--lp-width);
  margin-left:auto;
  margin-right:auto;
  padding-left:24px;
  padding-right:24px;
  box-sizing:border-box;
  align-self:center;
}
.lp-body.is-admin > .lp-app-nav .lp-nav-inner{
  padding-top:calc(18px + env(safe-area-inset-top));
  padding-bottom:18px;
}
.lp-body.is-admin > .lp-app-main{
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  padding-top:0;
  padding-bottom:0;
  gap:20px;
  align-items:stretch;
}
.lp-adm-chrome{
  flex:none;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:20px;
  padding-top:28px;
  box-sizing:border-box;
}
.lp-adm-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  display:flex;
  flex-direction:column;
  gap:20px;
  padding-bottom:max(48px, env(safe-area-inset-bottom, 0px) + 28px);
  box-sizing:border-box;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.lp-adm-scroll::-webkit-scrollbar{display:none}
.lp-body.is-admin .lp-app-head{
  width:100%;
  box-sizing:border-box;
}
.lp-body.is-admin .lp-side-head .adm-right{
  margin:0;
  min-width:0;
  flex:1;
  display:flex;
  align-items:center;
}
.lp-body.is-admin .lp-side-nav{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
}
.lp-body.is-admin .adm-h1{
  font-family:inherit;font-size:clamp(26px,4vw,34px);
  font-weight:650;letter-spacing:-.02em;line-height:1.2;
  margin:0;
}

.lp-adm-kpis{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:16px;
  width:100%;
}
.lp-adm-kpis.is-4{
  grid-template-columns:repeat(4, minmax(0, 1fr));
}
.lp-adm-kpi{
  margin:0;
  padding:18px 18px 16px;
  display:flex;flex-direction:column;gap:2px;
  min-width:0;
  text-decoration:none;color:inherit;
  box-shadow:0 4px 16px rgba(0,0,0,.22);
}
html[data-theme="light"] .lp-adm-kpi{
  box-shadow:0 1px 2px rgba(0,0,0,.04), 0 6px 16px rgba(0,0,0,.04);
}
.lp-adm-kpi-v{
  font-size:26px;font-weight:650;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;line-height:1.2;
  color:var(--lp-ink);
}
.lp-adm-kpi.is-warn .lp-adm-kpi-v{color:var(--lp-accent)}
.lp-adm-kpi.is-bad .lp-adm-kpi-v{color:var(--lp-danger)}
.lp-adm-kpi-k{
  margin-top:6px;
  font-size:12px;font-weight:500;letter-spacing:.04em;
  color:var(--lp-muted);
}
.lp-adm-kpi-s{
  margin-top:8px;padding-top:8px;
  border-top:1px dashed var(--lp-line);
  font-size:12px;color:var(--lp-ink-2);
}
.lp-adm-funnel{margin-top:8px}
.lp-adm-block .lp-panel-title,
.lp-adm-table-wrap .lp-panel-title{margin:0}
.lp-adm-block .lp-panel-hint,
.lp-adm-table-wrap .lp-panel-hint{margin:6px 0 14px}
.lp-adm-tw{overflow-x:auto;margin:0 -4px}
.lp-adm-table{
  width:100%;border-collapse:collapse;
  font-size:13.5px;
}
.lp-adm-table th,
.lp-adm-table td{
  padding:10px 12px;text-align:left;vertical-align:top;
  border-bottom:1px solid var(--lp-line);
}
.lp-adm-table th{
  font-size:11.5px;font-weight:600;letter-spacing:.06em;
  color:var(--lp-muted);white-space:nowrap;
}
.lp-adm-table td{color:var(--lp-ink-2)}
.lp-adm-table td.k{color:var(--lp-ink);font-weight:500}
.lp-adm-table td.k a{
  color:inherit;text-decoration:none;
}
.lp-adm-table td.k a:hover{color:var(--lp-accent)}
.lp-adm-table td.muted{color:var(--lp-muted)}
.lp-adm-table td.n,
.lp-adm-table th.n{
  text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;
}
.lp-adm-table tbody tr:last-child td,
.lp-adm-table tbody tr:has(+ tr[hidden]:last-child) td{border-bottom:0}
.lp-adm-table tbody tr:hover td{background:rgba(255,255,255,.03)}
html[data-theme="light"] .lp-adm-table tbody tr:hover td{background:rgba(0,0,0,.03)}
.lp-adm-table .empty{
  text-align:center;color:var(--lp-muted);
  padding:28px 12px;
}
.lp-adm-table b.ok{color:var(--lp-ok)}
.lp-adm-table .lp-chip{margin-right:4px}

.lp-adm-users-table,
.lp-adm-fit-table{
  table-layout:fixed;
  width:100%;
}
.lp-panel.lp-adm-table-wrap:has(.lp-adm-users-table),
.lp-panel.lp-adm-table-wrap:has(.lp-adm-fit-table){
  padding:14px 18px 16px;
}
.lp-adm-users-table th:nth-child(1),
.lp-adm-users-table td:nth-child(1){width:22%}
.lp-adm-users-table th:nth-child(2),
.lp-adm-users-table td:nth-child(2){width:28%}
.lp-adm-users-table th:nth-child(3),
.lp-adm-users-table td:nth-child(3){width:10%}
.lp-adm-users-table th:nth-child(4),
.lp-adm-users-table td:nth-child(4){width:20%}
.lp-adm-users-table th:nth-child(5),
.lp-adm-users-table td:nth-child(5){width:20%}
.lp-adm-rv-table th:nth-child(1),
.lp-adm-rv-table td:nth-child(1){width:16%}
.lp-adm-rv-table th:nth-child(2),
.lp-adm-rv-table td:nth-child(2){width:20%}
.lp-adm-rv-table th:nth-child(3),
.lp-adm-rv-table td:nth-child(3){width:8%}
.lp-adm-rv-table th:nth-child(4),
.lp-adm-rv-table td:nth-child(4){width:22%}
.lp-adm-rv-table th:nth-child(5),
.lp-adm-rv-table td:nth-child(5){width:14%}
.lp-adm-rv-table th:nth-child(6),
.lp-adm-rv-table td:nth-child(6){width:20%}
.lp-adm-rv-table.is-wide th:nth-child(1),
.lp-adm-rv-table.is-wide td:nth-child(1){width:14%}
.lp-adm-rv-table.is-wide th:nth-child(2),
.lp-adm-rv-table.is-wide td:nth-child(2){width:18%}
.lp-adm-rv-table.is-wide th:nth-child(3),
.lp-adm-rv-table.is-wide td:nth-child(3){width:7%}
.lp-adm-rv-table.is-wide th:nth-child(4),
.lp-adm-rv-table.is-wide td:nth-child(4){width:16%}
.lp-adm-rv-table.is-wide th:nth-child(5),
.lp-adm-rv-table.is-wide td:nth-child(5),
.lp-adm-rv-table.is-wide th:nth-child(6),
.lp-adm-rv-table.is-wide td:nth-child(6),
.lp-adm-rv-table.is-wide th:nth-child(7),
.lp-adm-rv-table.is-wide td:nth-child(7){width:8%}
.lp-adm-rv-table.is-wide th:nth-child(8),
.lp-adm-rv-table.is-wide td:nth-child(8){width:21%}
.lp-adm-rev-table th:nth-child(1),
.lp-adm-rev-table td:nth-child(1){width:22%}
.lp-adm-rev-table th:nth-child(2),
.lp-adm-rev-table td:nth-child(2){width:16%}
.lp-adm-rev-table th:nth-child(3),
.lp-adm-rev-table td:nth-child(3){width:7%}
.lp-adm-rev-table th:nth-child(4),
.lp-adm-rev-table td:nth-child(4){width:8%}
.lp-adm-rev-table th:nth-child(5),
.lp-adm-rev-table td:nth-child(5){width:12%}
.lp-adm-rev-table th:nth-child(6),
.lp-adm-rev-table td:nth-child(6){width:7%}
.lp-adm-rev-table th:nth-child(7),
.lp-adm-rev-table td:nth-child(7){width:8%}
.lp-adm-rev-table th:nth-child(8),
.lp-adm-rev-table td:nth-child(8){width:7%}
.lp-adm-rev-table th:nth-child(9),
.lp-adm-rev-table td:nth-child(9){width:13%}
.lp-adm-j-table th:nth-child(1),
.lp-adm-j-table td:nth-child(1){width:14%}
.lp-adm-j-table th:nth-child(2),
.lp-adm-j-table td:nth-child(2){width:7%}
.lp-adm-j-table th:nth-child(3),
.lp-adm-j-table td:nth-child(3){width:10%}
.lp-adm-j-table th:nth-child(4),
.lp-adm-j-table td:nth-child(4){width:11%}
.lp-adm-j-table th:nth-child(5),
.lp-adm-j-table td:nth-child(5),
.lp-adm-j-table th:nth-child(6),
.lp-adm-j-table td:nth-child(6),
.lp-adm-j-table th:nth-child(7),
.lp-adm-j-table td:nth-child(7){width:6%}
.lp-adm-j-table th:nth-child(8),
.lp-adm-j-table td:nth-child(8){width:8%}
.lp-adm-j-table th:nth-child(9),
.lp-adm-j-table td:nth-child(9){width:12%}
.lp-adm-j-table th:nth-child(10),
.lp-adm-j-table td:nth-child(10){width:8%}
.lp-adm-j-table th:nth-child(11),
.lp-adm-j-table td:nth-child(11){width:10%}
.lp-adm-table tbody tr.is-on td{background:rgba(255,255,255,.05)}
html[data-theme="light"] .lp-adm-table tbody tr.is-on td{background:rgba(0,0,0,.04)}
.lp-adm-users-table th,
.lp-adm-users-table td,
.lp-adm-fit-table th,
.lp-adm-fit-table td{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  vertical-align:middle;
  padding:10px 14px;
}
.lp-adm-users-table thead th,
.lp-adm-fit-table thead th{
  padding-top:12px;
  padding-bottom:10px;
}
.lp-adm-users-table td:last-child,
.lp-adm-users-table th:last-child,
.lp-adm-fit-table td:last-child,
.lp-adm-fit-table th:last-child{
  overflow:visible;
  text-align:right;
}
.lp-adm-users-table .acts,
.lp-adm-fit-table .acts{
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:8px;
}
.lp-adm-stack{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.lp-adm-pager{
  display:flex;gap:8px;flex-wrap:wrap;
  margin-top:12px;
}
.lp-adm-mini{
  display:flex;align-items:center;gap:8px;min-width:72px;
}
.lp-adm-mini .lp-ubar-track{
  flex:1 1 auto;min-width:48px;
}
.lp-adm-mini > span:last-child{
  flex:none;font-size:12px;color:var(--lp-muted);
  font-variant-numeric:tabular-nums;
}
.lp-adm-table .mono{
  font-family:ui-monospace,Menlo,monospace;font-size:12px;
}
.lp-adm-table a.lp-adm-pid{
  color:var(--lp-accent);text-decoration:none;
}
.lp-adm-table a.lp-adm-pid:hover{text-decoration:underline}
.lp-adm-llm-calls td.lp-adm-llm-detail{
  white-space:normal;min-width:168px;
}
.lp-adm-table-wrap .lp-panel-hint b.ok{color:var(--lp-ok)}
.lp-adm-table-wrap .lp-panel-hint b.warn{color:var(--lp-accent)}

@media (max-width:1100px){
  .lp-adm-kpis{grid-template-columns:repeat(3, minmax(0, 1fr))}
  .lp-adm-kpis.is-4{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width:720px){
  .lp-adm-kpis,
  .lp-adm-kpis.is-4{grid-template-columns:repeat(2, minmax(0, 1fr))}
}

/* 备案号页脚：只在配置了 ICP_BEIAN 的部署渲染（_beian.html） */
.lp-beian{
  position:relative;z-index:2;
  display:flex;flex-wrap:wrap;justify-content:center;gap:4px 16px;
  padding:18px 24px calc(18px + env(safe-area-inset-bottom));
  font-size:12px;line-height:1.6;
}
.lp-beian a{color:var(--lp-muted);text-decoration:none}
.lp-beian a:hover{color:var(--lp-ink-2);text-decoration:underline}
.lp-beian a:focus-visible{outline:2px solid currentColor;outline-offset:2px;border-radius:2px}
.lp-beian span{color:var(--lp-muted)}

/* 法律文件、投诉举报等长文页面 */
.lp-doc{
  position:relative;z-index:2;
  width:100%;max-width:720px;margin:0 auto;box-sizing:border-box;
  padding:96px 0 40px;
  color:var(--lp-ink-2);font-size:15px;line-height:1.85;
}
.lp-doc h1{margin:6px 0 8px;font-size:30px;line-height:1.3;color:var(--lp-ink);text-wrap:balance}
.lp-doc h2{margin:34px 0 10px;font-size:17px;line-height:1.4;color:var(--lp-ink)}
.lp-doc p{margin:0 0 12px;max-width:68ch}
.lp-doc ul,.lp-doc ol{margin:0 0 12px;padding-left:1.4em;max-width:68ch}
.lp-doc li{margin:4px 0}
.lp-doc a{color:var(--lp-ink);text-underline-offset:3px}
.lp-doc b{color:var(--lp-ink);font-weight:600}
.lp-doc-meta{margin-bottom:24px !important;font-size:13px;color:var(--lp-muted)}
.lp-doc-card{margin-top:18px;padding:22px 22px 24px;border:1px solid var(--lp-line-strong);border-radius:14px}

/* 表单：多行文本与下拉，与单行输入框同一套外观 */
.auth-form textarea,.auth-form select{
  width:100%;box-sizing:border-box;
  border:1px solid var(--lp-line-strong);background:rgba(0,0,0,.35);color:var(--lp-ink);
  border-radius:10px;padding:12px 13px;font:inherit;font-size:16px;
}
.auth-form textarea{min-height:132px;resize:vertical;line-height:1.6}
.auth-form textarea:focus,.auth-form select:focus{
  outline:none;border-color:rgba(255,255,255,.35);box-shadow:0 0 0 3px rgba(255,255,255,.08);
}
html[data-theme="light"] .auth-form textarea,html[data-theme="light"] .auth-form select{
  background:#fff;border-color:rgba(0,0,0,.12);
}
html[data-theme="light"] .auth-form textarea:focus,html[data-theme="light"] .auth-form select:focus{
  border-color:var(--lp-accent);box-shadow:0 0 0 3px var(--lp-accent-soft);
}

/* 注册表单加了实名字段后变高（桌面实测 784px）：底部弹层在矮屏手机上必须能内部滚动，
   否则顶部的邮箱框被裁在屏幕外、够不着 */
.auth-panel{
  max-height:calc(100vh - 12px);max-height:calc(100dvh - 12px);
  overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}

/* 手机号 + 获取验证码 */
.auth-code-row{display:flex;gap:8px}
.auth-code-row input{flex:1;min-width:0}
.auth-code-btn{
  flex:none;appearance:none;cursor:pointer;white-space:nowrap;
  font:inherit;font-size:14px;font-weight:500;color:var(--lp-ink);
  background:transparent;border:1px solid var(--lp-line-strong);border-radius:10px;padding:0 14px;
  transition:border-color .2s ease;
}
.auth-code-btn:hover:not(:disabled){border-color:var(--lp-ink-2)}
.auth-code-btn:disabled{cursor:default;color:var(--lp-muted)}
.auth-code-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px}
html[data-theme="light"] .auth-code-btn{border-color:rgba(0,0,0,.12)}
.auth-sms-note{min-height:1.2em;margin:6px 0 0;font-size:12px;color:var(--lp-muted)}
.auth-sms-note.is-bad{color:#ff8a80}
html[data-theme="light"] .auth-sms-note.is-bad{color:#d70015}

/* 协议勾选：抵消 .auth-form input 的宽度与去原生外观 */
.auth-form .auth-agree{
  display:flex;gap:8px;align-items:flex-start;margin:16px 0 0;
  font-size:12.5px;font-weight:400;letter-spacing:0;line-height:1.6;color:var(--lp-muted);
}
.auth-form .auth-agree input{
  width:auto;flex:none;margin:3px 0 0;padding:0;border:0;box-shadow:none;background:none;
  appearance:auto;-webkit-appearance:checkbox;accent-color:var(--lp-accent);
}
.auth-agree a{color:var(--lp-ink);text-underline-offset:3px}

.auth-msg.is-ok{background:rgba(52,199,89,.12);border-color:rgba(52,199,89,.35);color:#9be7b0}
html[data-theme="light"] .auth-msg.is-ok{background:rgba(52,199,89,.08);border-color:rgba(52,199,89,.3);color:#1f7a3a}

.lp-bind-form{width:100%;max-width:380px;margin:22px auto 0;text-align:left}

/* 后台 · 内容安全 */
.is-admin .adm-excerpt{max-width:340px;white-space:pre-wrap;word-break:break-word;font-size:12.5px;color:var(--lp-ink-2)}
.is-admin .adm-handle{display:flex;flex-direction:column;gap:6px;min-width:220px}
.is-admin .adm-handle select,.is-admin .adm-handle textarea{
  font:inherit;font-size:13px;color:var(--lp-ink);background:transparent;
  border:1px solid var(--lp-line-strong);border-radius:8px;padding:6px 8px;
}
