/* 原 canvas.html 的内联 <style>，抽成独立文件以便启用严格 CSP。
   内容未改动，只是换了存放位置。 */
.canvas-fallback {
  position: fixed;
  inset: 0;
  z-index: 0;
  display: grid;
  grid-template-columns: 70px minmax(330px, 410px) minmax(0, 1fr);
  background: linear-gradient(135deg, #fbfbfc 0%, #f4f6f9 52%, #eceff4 100%);
  color: #111827;
  font-family: Inter, "Noto Sans SC", system-ui, sans-serif;
}
.ks-canvas-mounted .canvas-fallback { display: none; }
.canvas-fallback-rail {
  border-right: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.78);
  padding: 14px 10px;
}
.canvas-fallback-side {
  border-right: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.82);
  padding: 18px;
}
.canvas-fallback-side h1 { margin: 0 0 10px; font-size: 20px; }
.canvas-fallback-side p { margin: 0; color: #667085; line-height: 1.7; font-size: 13px; }
.canvas-fallback-stage {
  position: relative;
  background:
    linear-gradient(rgba(15,23,42,.045) 1px, transparent 1px) 0 0 / 40px 40px,
    linear-gradient(90deg, rgba(15,23,42,.04) 1px, transparent 1px) 0 0 / 40px 40px,
    #f8fafc;
}
.canvas-fallback-card {
  position: absolute;
  top: 86px;
  left: 28px;
  max-width: 480px;
  border: 1px solid rgba(15,23,42,.1);
  border-radius: 8px;
  padding: 18px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 18px 50px rgba(15,23,42,.12);
}
.canvas-fallback-card strong { display: block; margin-bottom: 8px; }
.canvas-fallback-card span { color: #667085; font-size: 13px; line-height: 1.7; }
