/* 智能学习屋 Blockly：极光学习实验室主题。 */

body.aurora-blockly-theme {
  --board-ink: #101a38;
  --board-deep: #080f24;
  --sensor-cyan: #06b6d4;
  --season-gold: #8b5cf6;
  --season-light: #c4b5fd;
  --safety-red: #d92d4b;
  --action-green: #0891b2;
  --code-blue: #2563eb;
  --paper: #eef5ff;
  --panel: #f9fbff;
  --panel-soft: #e8efff;
  --ink: #121b38;
  --muted: #60708d;
  --line: #cfdaef;
  --line-strong: #9eafd0;
  --shadow: 0 30px 60px -12px rgba(0,0,0,0.25);
  --display: "Segoe UI", "Microsoft YaHei", sans-serif;
  --body: "Segoe UI", "Microsoft YaHei", sans-serif;
  --utility: "Cascadia Code", Consolas, "Liberation Mono", monospace;
  color: var(--ink);
  background:
    linear-gradient(rgba(37, 99, 235, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(6, 182, 212, 0.045) 1px, transparent 1px),
    linear-gradient(145deg, #edf5ff, #f8f4ff 48%, #e9fbff);
  background-size: 34px 34px, 34px 34px, 100% 100%;
}

body.aurora-blockly-theme::before {
  position: fixed;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(circle at 10% 18%, rgba(37, 99, 235, 0.18), transparent 28rem),
    radial-gradient(circle at 88% 30%, rgba(124, 58, 237, 0.15), transparent 26rem),
    radial-gradient(circle at 60% 90%, rgba(6, 182, 212, 0.12), transparent 28rem);
  content: "";
}

.aurora-blockly-theme .circuit-atmosphere {
  z-index: -2;
}

.aurora-blockly-theme .circuit-line {
  border-color: rgba(96, 165, 250, 0.2);
}

.aurora-blockly-theme .circuit-node {
  border-color: #06b6d4;
  background: #eef5ff;
}

.aurora-blockly-theme .studio-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 318px;
  padding: 20px 24px 38px;
  border-color: rgba(165, 180, 252, 0.36);
  color: #f8fafc;
  background: transparent;
  box-shadow: 0 30px 60px -12px rgba(0,0,0,0.25);
}

.aurora-blockly-theme .studio-header::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  clip-path: polygon(0 0, 100% 0, 100% 83%, 72% 100%, 0 91%);
  background:
    linear-gradient(110deg, rgba(11, 16, 38, 0.2), transparent 44%),
    linear-gradient(125deg, #0b1026 0%, #172554 25%, #4338ca 50%, #7c3aed 72%, #0891b2 100%);
  background-size: 100% 100%, 220% 220%;
  content: "";
  animation: aurora-blockly-shift 20s ease-in-out infinite alternate;
}

.aurora-blockly-theme .studio-header::after {
  position: absolute;
  top: -240px;
  right: -70px;
  z-index: -1;
  width: 520px;
  height: 520px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(34, 211, 238, 0.17), transparent 64%);
  content: "";
}

@keyframes aurora-blockly-shift {
  0% { background-position: 0 0, 0% 45%; }
  50% { background-position: 0 0, 55% 56%; }
  100% { background-position: 0 0, 100% 45%; }
}

.aurora-blockly-theme .header-topline {
  border-bottom-color: rgba(255, 255, 255, 0.18);
}

.aurora-blockly-theme .back-link,
.aurora-blockly-theme .demo-boundary,
.aurora-blockly-theme .title-copy h1 {
  color: #fff;
}

.aurora-blockly-theme .back-link span {
  border-color: rgba(255, 255, 255, 0.32);
}

.aurora-blockly-theme .demo-boundary {
  color: #dce8ff;
}

.aurora-blockly-theme .demo-boundary span,
.aurora-blockly-theme .eyebrow {
  color: #67e8f9;
}

.aurora-blockly-theme .program-seal {
  border-color: rgba(255, 255, 255, 0.48);
  color: #fff;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.06));
  box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.07), 0 18px 34px rgba(2, 6, 23, 0.26);
  backdrop-filter: blur(14px);
}

.aurora-blockly-theme .title-copy h1 {
  font-weight: 780;
  letter-spacing: -0.035em;
}

.aurora-blockly-theme .title-copy h1 span {
  color: #c4b5fd;
}

.aurora-blockly-theme .title-copy > p:last-child {
  color: #cad7ed;
}

.aurora-blockly-theme .workspace-facts div {
  border-left-color: #22d3ee;
  background: rgba(255, 255, 255, 0.1);
}

.aurora-blockly-theme .workspace-facts span,
.aurora-blockly-theme .workspace-facts strong {
  color: #e5efff;
}

.aurora-blockly-theme .logic-rail {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(7, 14, 42, 0.64);
  backdrop-filter: blur(14px);
}

.aurora-blockly-theme .logic-rail span {
  border-color: #a5f3fc;
  color: #a5f3fc;
  background: #172554;
}

.aurora-blockly-theme .logic-rail li[data-stage="safety"] {
  background: rgba(217, 45, 75, 0.32);
}

.aurora-blockly-theme .tool-button,
.aurora-blockly-theme .copy-button {
  border-color: rgba(255, 255, 255, 0.26);
  color: #f8fafc;
  background: rgba(255, 255, 255, 0.1);
}

.aurora-blockly-theme .tool-button:hover,
.aurora-blockly-theme .copy-button:hover {
  border-color: #67e8f9;
  background: rgba(34, 211, 238, 0.14);
}

.aurora-blockly-theme .tool-button.is-primary {
  border-color: #67e8f9;
  color: #07152f;
  background: linear-gradient(120deg, #67e8f9, #60a5fa);
}

.aurora-blockly-theme .studio-main {
  gap: 16px;
  margin-top: -8px;
}

.aurora-blockly-theme .workspace-panel,
.aurora-blockly-theme .output-panel {
  border-color: rgba(123, 146, 190, 0.34);
  box-shadow: 0 30px 60px -12px rgba(0,0,0,0.25);
}

.aurora-blockly-theme .workspace-panel {
  background: rgba(249, 251, 255, 0.95);
}

.aurora-blockly-theme .output-panel {
  color: #dce8ff;
  background:
    linear-gradient(rgba(96, 165, 250, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(34, 211, 238, 0.03) 1px, transparent 1px),
    #0b1229;
  background-size: 24px 24px, 24px 24px, 100% 100%;
}

.aurora-blockly-theme .workspace-panel .panel-heading {
  background: linear-gradient(90deg, #f7faff, #f5f0ff);
}

.aurora-blockly-theme .output-panel .panel-heading {
  border-bottom-color: rgba(148, 163, 184, 0.2);
  background: #101a38;
}

.aurora-blockly-theme .output-panel .panel-heading h2 {
  color: #f8fafc;
}

.aurora-blockly-theme .output-panel .panel-kicker {
  color: #22d3ee;
}

.aurora-blockly-theme .workspace-shell,
.aurora-blockly-theme .blocklySvg {
  background-color: #edf4ff !important;
}

.aurora-blockly-theme .blocklyToolboxDiv {
  border-right-color: #a9bce0;
  background: #f7faff !important;
  box-shadow: 8px 0 24px rgba(30, 64, 175, 0.08);
}

.aurora-blockly-theme .blocklyTreeSelected {
  background-color: #e1e9ff !important;
}

.aurora-blockly-theme .block-inspector {
  border-left-color: #8b5cf6;
  color: #dce8ff;
  background: rgba(30, 41, 81, 0.86);
}

.aurora-blockly-theme .block-inspector span {
  color: #c4b5fd;
}

.aurora-blockly-theme .block-inspector strong {
  color: #f8fafc;
}

.aurora-blockly-theme .block-inspector p {
  color: #aebddd;
}

.aurora-blockly-theme .output-tabs {
  border-bottom-color: rgba(148, 163, 184, 0.24);
}

.aurora-blockly-theme .output-tabs button {
  color: #91a4c8;
}

.aurora-blockly-theme .output-tabs button[aria-selected="true"] {
  border-bottom-color: #22d3ee;
  color: #f8fafc;
}

.aurora-blockly-theme .output-content,
.aurora-blockly-theme #cpp-panel {
  border: 1px solid rgba(96, 165, 250, 0.16);
  background: rgba(7, 15, 36, 0.86);
}

.aurora-blockly-theme .output-content pre,
.aurora-blockly-theme #cpp-output {
  color: #d8e7ff;
  background: transparent;
  font-family: "Cascadia Code", Consolas, "Liberation Mono", monospace;
}

.aurora-blockly-theme .truth-card {
  border-color: rgba(251, 113, 133, 0.38);
  background: rgba(136, 19, 55, 0.24);
}

.aurora-blockly-theme .truth-card p {
  color: #fecdd3;
}

.aurora-blockly-theme .truth-card strong,
.aurora-blockly-theme .truth-card > span {
  color: #fda4af;
  border-color: #fda4af;
}

.aurora-blockly-theme .studio-footer {
  color: #53627d;
  border-top-color: rgba(123, 146, 190, 0.35);
}

.aurora-blockly-theme button:focus-visible,
.aurora-blockly-theme a:focus-visible {
  outline-color: rgba(6, 182, 212, 0.58);
}

@media (max-width: 900px) {
  .aurora-blockly-theme .studio-header {
    min-height: 0;
    padding-bottom: 50px;
  }

  .aurora-blockly-theme .studio-main {
    margin-top: -2px;
  }
}

@media (max-width: 620px) {
  .aurora-blockly-theme .studio-header {
    width: calc(100% - 16px);
    padding: 14px 12px 46px;
  }

  .aurora-blockly-theme .studio-header::before {
    clip-path: polygon(0 0, 100% 0, 100% 94%, 44% 100%, 0 96%);
  }

  .aurora-blockly-theme .studio-main,
  .aurora-blockly-theme .studio-footer {
    width: calc(100% - 18px);
  }

  .aurora-blockly-theme .studio-main {
    gap: 12px;
  }

  .aurora-blockly-theme .workspace-panel,
  .aurora-blockly-theme .output-panel {
    border-radius: 14px;
  }

  .aurora-blockly-theme .output-content {
    height: 500px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.aurora-blockly-theme,
  .aurora-blockly-theme *,
  .aurora-blockly-theme *::before,
  .aurora-blockly-theme *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}
