
    :root {
      --bg-page: #090d16;
      --bg-card: #111827;
      --bg-card-elevated: #1e293b;
      --bg-panel: #0b111e;
      --border-subtle: #26334d;
      --text-primary: #f8fafc;
      --text-secondary: #cbd5e1;
      --text-muted: #64748b;
      --accent-cblas: #38bdf8;
      --accent-ort: #a855f7;
      --accent-pass: #22c55e;
      --accent-false-green: #f59e0b;
      --accent-catch: #ef4444;
      --radius-lg: 14px;
      --radius-md: 10px;
      --radius-sm: 8px;
      --shadow-card: 0 10px 28px rgba(0, 0, 0, 0.55);
      --font-sans: -apple-system, BlinkMacSystemFont, "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
      --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
    }

    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      -webkit-tap-highlight-color: transparent;
    }

    body {
      font-family: var(--font-sans);
      background: radial-gradient(circle at 50% 0%, #172554 0%, var(--bg-page) 70%);
      color: var(--text-primary);
      line-height: 1.42;
      min-height: 100vh;
      padding: 8px 10px 26px;
    }

    .app-container {
      max-width: 1060px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    /* Header */
    .app-header {
      background: linear-gradient(135deg, #172036 0%, #0f172a 100%);
      border: 1px solid var(--border-subtle);
      border-radius: var(--radius-lg);
      padding: 10px 14px;
      box-shadow: var(--shadow-card);
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .header-top {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 6px;
    }

    .title-group {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .title-icon {
      width: 32px;
      height: 32px;
      border-radius: 8px;
      background: linear-gradient(135deg, #38bdf8, #ef4444);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 17px;
      flex-shrink: 0;
    }

    .app-title {
      font-size: 1.06rem;
      font-weight: 700;
      color: var(--text-primary);
    }

    .edu-badge {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      background: rgba(56, 189, 248, 0.14);
      border: 1px solid rgba(56, 189, 248, 0.45);
      color: #7dd3fc;
      font-size: 0.71rem;
      font-weight: 600;
      padding: 2px 9px;
      border-radius: 999px;
      white-space: nowrap;
    }

    .edu-badge-dot {
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #38bdf8;
    }

    .header-desc {
      font-size: 0.75rem;
      color: var(--text-secondary);
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 4px;
    }

    .recipe-pill {
      font-family: var(--font-mono);
      font-size: 0.71rem;
      background: var(--bg-panel);
      border: 1px solid var(--border-subtle);
      padding: 2px 8px;
      border-radius: 5px;
      color: #fcd34d;
    }

    /* Main Grid */
    .main-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
    }

    @media (min-width: 840px) {
      body {
        padding: 14px 20px 28px;
      }
      .app-title {
        font-size: 1.2rem;
      }
      .main-grid {
        grid-template-columns: 0.96fr 1.04fr;
        align-items: stretch;
        gap: 12px;
      }
    }

    .card {
      background: var(--bg-card);
      border: 1px solid var(--border-subtle);
      border-radius: var(--radius-lg);
      padding: 11px 12px;
      box-shadow: var(--shadow-card);
      display: flex;
      flex-direction: column;
      gap: 9px;
    }

    .card-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.06);
      padding-bottom: 5px;
    }

    .card-title {
      font-size: 0.88rem;
      font-weight: 700;
      color: var(--text-primary);
      display: flex;
      align-items: center;
      gap: 6px;
    }

    .status-chip {
      font-size: 0.71rem;
      font-weight: 700;
      padding: 2px 8px;
      border-radius: 999px;
      display: inline-flex;
      align-items: center;
      gap: 4px;
      background: rgba(148, 163, 184, 0.16);
      color: var(--text-secondary);
      border: 1px solid rgba(148, 163, 184, 0.35);
    }

    .status-chip.true-pass {
      background: rgba(34, 197, 94, 0.18);
      color: #4ade80;
      border-color: rgba(34, 197, 94, 0.55);
    }

    .status-chip.false-green {
      background: rgba(245, 158, 11, 0.22);
      color: #fbbf24;
      border-color: rgba(245, 158, 11, 0.65);
    }

    .status-chip.true-catch {
      background: rgba(239, 68, 68, 0.22);
      color: #f87171;
      border-color: rgba(239, 68, 68, 0.65);
    }

    /* Stage Wrapper */
    .stage-wrapper {
      background: radial-gradient(circle at 50% 35%, #162238 0%, #080c17 100%);
      border: 1px solid #243454;
      border-radius: var(--radius-md);
      padding: 4px 6px 6px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .sim-svg {
      width: 100%;
      max-width: 375px;
      height: auto;
      display: block;
      user-select: none;
    }

    /* Telemetry Strip */
    .telemetry-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 5px;
      width: 100%;
    }

    .metric-box {
      background: var(--bg-panel);
      border: 1px solid var(--border-subtle);
      border-radius: var(--radius-sm);
      padding: 5px 3px;
      text-align: center;
      display: flex;
      flex-direction: column;
      gap: 1px;
    }

    .metric-box.highlight-speed {
      border-color: rgba(56, 189, 248, 0.5);
      background: linear-gradient(180deg, rgba(56, 189, 248, 0.1) 0%, var(--bg-panel) 100%);
    }

    .metric-box.highlight-drift {
      border-color: rgba(245, 158, 11, 0.5);
      background: linear-gradient(180deg, rgba(245, 158, 11, 0.1) 0%, var(--bg-panel) 100%);
    }

    .metric-label {
      font-size: 0.64rem;
      color: var(--text-muted);
      font-weight: 500;
    }

    .metric-value {
      font-family: var(--font-mono);
      font-size: 0.92rem;
      font-weight: 700;
      color: var(--text-primary);
    }

    .metric-unit {
      font-size: 0.62rem;
      font-weight: 400;
      color: var(--text-secondary);
      margin-left: 1px;
    }

    .metric-sub {
      font-size: 0.59rem;
      color: var(--text-muted);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    /* Progress Bar */
    .progress-wrap {
      display: flex;
      flex-direction: column;
      gap: 3px;
    }

    .progress-labels {
      display: flex;
      justify-content: space-between;
      font-size: 0.7rem;
      color: var(--text-secondary);
    }

    .progress-bar {
      width: 100%;
      height: 7px;
      background: #070b14;
      border: 1px solid var(--border-subtle);
      border-radius: 999px;
      overflow: hidden;
    }

    .progress-fill {
      height: 100%;
      width: 0%;
      background: linear-gradient(90deg, #38bdf8 0%, #22c55e 100%);
      border-radius: 999px;
      transition: width 0.05s linear;
    }

    /* Playback Buttons */
    .playback-row {
      display: flex;
      flex-direction: column;
      gap: 6px;
    }

    .controls-toolbar {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 6px;
    }

    .btn {
      appearance: none;
      border: 1px solid var(--border-subtle);
      background: var(--bg-card-elevated);
      color: var(--text-primary);
      font-family: var(--font-sans);
      font-size: 0.81rem;
      font-weight: 600;
      padding: 8px 4px;
      border-radius: var(--radius-sm);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      transition: all 0.15s ease;
      touch-action: manipulation;
    }

    .btn:disabled {
      opacity: 0.35;
      cursor: not-allowed;
    }

    .btn-start {
      background: linear-gradient(135deg, #0284c7 0%, #1d4ed8 100%);
      border-color: #38bdf8;
      color: #fff;
    }

    .btn-pause {
      background: rgba(245, 158, 11, 0.16);
      border-color: rgba(245, 158, 11, 0.5);
      color: #fcd34d;
    }

    .btn-resume {
      background: rgba(34, 197, 94, 0.18);
      border-color: rgba(34, 197, 94, 0.55);
      color: #86efac;
    }

    .btn-reset {
      background: rgba(239, 68, 68, 0.12);
      border-color: rgba(239, 68, 68, 0.4);
      color: #fca5a5;
    }

    /* Kitchen Analogy Box inside Left Card */
    .analogy-box {
      background: linear-gradient(135deg, #1b243b 0%, #0f172a 100%);
      border: 1px solid #2e3e63;
      border-radius: var(--radius-md);
      padding: 7px 10px;
      display: flex;
      flex-direction: column;
      gap: 3px;
      font-size: 0.72rem;
      color: var(--text-secondary);
    }

    .analogy-title {
      font-weight: 700;
      color: #fcd34d;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
      gap: 6px;
    }

    /* Chart Container */
    .chart-container {
      background: var(--bg-panel);
      border: 1px solid var(--border-subtle);
      border-radius: var(--radius-md);
      padding: 7px 9px;
      display: flex;
      flex-direction: column;
      gap: 5px;
    }

    .chart-legend {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      font-size: 0.69rem;
      color: var(--text-secondary);
      align-items: center;
    }

    .legend-item {
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }

    .legend-swatch {
      width: 12px;
      height: 3px;
      border-radius: 2px;
    }

    .chart-canvas-wrap {
      width: 100%;
      height: 172px;
      position: relative;
    }

    #valChart {
      width: 100%;
      height: 100%;
      display: block;
    }

    /* Presets & Sliders */
    .preset-row {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      align-items: center;
    }

    .preset-label {
      font-size: 0.71rem;
      color: var(--text-muted);
    }

    .preset-btn {
      background: var(--bg-panel);
      border: 1px solid var(--border-subtle);
      color: var(--text-secondary);
      font-size: 0.7rem;
      padding: 3px 8px;
      border-radius: 999px;
      cursor: pointer;
    }

    .preset-btn.active {
      background: rgba(56, 189, 248, 0.22);
      border-color: #38bdf8;
      color: #7dd3fc;
      font-weight: 600;
    }

    .sliders-list {
      display: flex;
      flex-direction: column;
      gap: 7px;
    }

    .slider-item {
      background: var(--bg-panel);
      border: 1px solid var(--border-subtle);
      border-radius: var(--radius-md);
      padding: 6px 10px;
      display: flex;
      flex-direction: column;
      gap: 2px;
    }

    .slider-top {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
    }

    .slider-name {
      font-size: 0.79rem;
      font-weight: 600;
      color: var(--text-primary);
    }

    .slider-badge {
      font-family: var(--font-mono);
      font-size: 0.74rem;
      font-weight: 700;
      color: #7dd3fc;
      background: rgba(56, 189, 248, 0.14);
      border: 1px solid rgba(56, 189, 248, 0.35);
      padding: 1px 7px;
      border-radius: 5px;
    }

    input[type="range"] {
      -webkit-appearance: none;
      appearance: none;
      width: 100%;
      height: 6px;
      background: #1e293b;
      border-radius: 999px;
      outline: none;
      margin: 3px 0;
    }

    input[type="range"]::-webkit-slider-thumb {
      -webkit-appearance: none;
      appearance: none;
      width: 20px;
      height: 20px;
      border-radius: 50%;
      background: #38bdf8;
      border: 2.5px solid #0f172a;
      cursor: pointer;
    }

    .slider-scale {
      display: flex;
      justify-content: space-between;
      font-size: 0.64rem;
      color: var(--text-muted);
    }

    .slider-effect {
      font-size: 0.69rem;
      color: var(--text-secondary);
    }

    /* Diagnosis Box */
    .diagnosis-box {
      background: linear-gradient(135deg, #172036 0%, #0b111e 100%);
      border: 1px solid var(--border-subtle);
      border-radius: var(--radius-md);
      padding: 8px 10px;
      display: flex;
      flex-direction: column;
      gap: 5px;
    }

    .diag-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      flex-wrap: wrap;
    }

    .diag-title {
      font-size: 0.78rem;
      font-weight: 700;
      color: var(--text-primary);
    }

    .diag-tag {
      font-size: 0.7rem;
      font-weight: 700;
      padding: 2px 8px;
      border-radius: 999px;
    }

    .diag-tag.pass {
      background: rgba(34, 197, 94, 0.18);
      color: #4ade80;
      border: 1px solid rgba(34, 197, 94, 0.45);
    }

    .diag-tag.false-green {
      background: rgba(245, 158, 11, 0.22);
      color: #fbbf24;
      border: 1px solid rgba(245, 158, 11, 0.55);
    }

    .diag-tag.catch {
      background: rgba(239, 68, 68, 0.22);
      color: #f87171;
      border: 1px solid rgba(239, 68, 68, 0.55);
    }

    .flavor-bars {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 6px;
    }

    .flavor-item {
      background: rgba(0, 0, 0, 0.3);
      border: 1px solid rgba(255, 255, 255, 0.06);
      border-radius: 6px;
      padding: 4px 6px;
      display: flex;
      flex-direction: column;
      gap: 3px;
    }

    .flavor-top {
      display: flex;
      justify-content: space-between;
      font-size: 0.66rem;
      color: var(--text-secondary);
    }

    .flavor-track {
      height: 4.5px;
      background: #070b14;
      border-radius: 999px;
      overflow: hidden;
    }

    .flavor-fill {
      height: 100%;
      border-radius: 999px;
      transition: width 0.2s ease;
    }

    .diag-text {
      font-size: 0.72rem;
      color: var(--text-secondary);
      line-height: 1.42;
    }

    .footer-note {
      text-align: center;
      font-size: 0.7rem;
      color: var(--text-muted);
      padding: 2px 6px;
    }

/* Independent prototype: preserve the original navy laboratory style. */
:root{color-scheme:dark;--text-muted:#a3b0c4}body{padding:20px 14px 40px;line-height:1.7}.app-container{gap:20px;max-width:1120px}.app-header{padding:24px;gap:16px}.header-top{align-items:flex-start}.app-title,h1{font-size:clamp(30px,5vw,46px);line-height:1.2}.subtitle{font-size:18px}.eyebrow{color:var(--accent-cblas);font-size:13px;margin-bottom:8px}.card{padding:22px;gap:16px;min-width:0}.card-header{flex-wrap:wrap;align-items:center}.card-title,h2{font-size:20px;line-height:1.5}.theme-choice{font-size:13px;display:grid;gap:4px}select{font:inherit;padding:8px;min-height:44px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-panel);color:var(--text-primary)}.preset-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.preset-row button{font:inherit;background:var(--bg-card-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);padding:12px;border-radius:10px;min-height:60px;text-align:left;line-height:1.5;cursor:pointer}.preset-row button span{display:block;font-size:12px;color:var(--text-secondary)}.preset-row button[aria-pressed=true]{border-color:var(--accent-cblas);box-shadow:inset 0 0 0 1px var(--accent-cblas)}.sliders-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.slider-item{padding:16px;gap:8px;min-width:0;background:var(--bg-panel)}.slider-item label{font-size:16px;font-weight:700}.slider-item output{display:block;color:var(--accent-cblas);font-size:14px;font-weight:500;min-height:48px}.slider-item p{font-size:13px;color:var(--text-secondary)}input[type=range]{height:44px;min-width:0;width:100%;margin:0;accent-color:#38bdf8;background:linear-gradient(var(--border-subtle),var(--border-subtle)) center/100% 5px no-repeat}fieldset{border:1px solid var(--border-subtle);border-radius:10px;padding:12px 16px}legend{font-size:18px;font-weight:700;padding:0 4px}.guess label{display:inline-flex;align-items:center;gap:10px;margin-right:24px;min-height:44px;cursor:pointer}.guess p{font-size:13px;color:var(--text-secondary)}input[type=radio]{width:20px;height:20px;accent-color:#38bdf8}.controls-toolbar{display:flex;flex-wrap:wrap;gap:10px}.btn{font:inherit;font-size:15px;padding:10px 18px;min-height:44px;background:var(--bg-card-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:8px;cursor:pointer}.btn-start{background:#075985;border-color:#38bdf8;color:white}.btn:disabled{opacity:.45;cursor:not-allowed}.scope-inline{font-size:13px;color:var(--text-secondary);border-left:3px solid var(--accent-cblas);padding-left:12px}#notice{color:var(--accent-cblas);min-height:28px}.judge-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.judge{border:1px solid var(--border-subtle);border-radius:14px;padding:20px;background:var(--bg-panel)}.judge h3{font-size:17px}.judge h3 span{font-size:28px;margin-right:8px}.judge-result{font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.5;margin:12px 0}.speed-judge{border-color:#23748d}.check-judge{border-color:#4c6d56}.check-judge[data-outcome=miss],.check-judge[data-outcome=false-alarm]{border-color:#e8ac42}.check-judge[data-outcome=catch]{border-color:#fb7185}.judge p:last-child{font-size:15px}.metric-box{min-width:0;padding:12px;background:var(--bg-panel)}.telemetry-grid{gap:10px}.metric-label{font-size:12px;color:var(--text-secondary)}.metric-value{font-size:18px;overflow-wrap:anywhere}progress{width:100%;height:12px;accent-color:#38bdf8}.guess-result{font-weight:600}.analogy-box{font-size:16px;padding:18px;background:var(--bg-card-elevated);color:var(--text-primary)}.network-wrap{max-width:460px;align-self:center;text-align:center}.network-wrap .sim-svg{max-width:none}.network-wrap p{font-size:13px;color:var(--text-secondary)}.chart-container{padding:16px}.chart-legend{font-size:13px;gap:16px}#chart{width:100%;height:auto;display:block}.error-path,.max-path{fill:none;stroke-width:2}.error-path{stroke:#d99b2d}.max-path{stroke:#38bdf8}.threshold-line{stroke:#fb7185;stroke-width:2;stroke-dasharray:6 4}.contract-line{stroke:#94a3b8;stroke-width:1.5;stroke-dasharray:2 4}.chart-text{fill:var(--text-secondary);font-size:12px}.grid-line{stroke:var(--border-subtle)}details{border-top:1px solid var(--border-subtle);padding-top:12px}summary{cursor:pointer;min-height:44px;font-size:16px;font-weight:600;align-content:center}ul{padding-left:24px}li{margin:8px 0}.reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.reference-grid h3{font-size:16px}.reference-grid p{font-size:14px;color:var(--text-secondary)}a{color:var(--accent-cblas)}.footer-note{font-size:13px;line-height:1.8;text-align:left}.skip-link{position:absolute;left:-9999px}.skip-link:focus{position:static}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid var(--accent-cblas);outline-offset:3px}[hidden]{display:none!important}
html[data-theme=light]{color-scheme:light;--bg-page:#f4f5fa;--bg-card:#fff;--bg-card-elevated:#eaf0f8;--bg-panel:#f5f7fc;--border-subtle:#c6d1df;--text-primary:#16233a;--text-secondary:#42536c;--text-muted:#4f6075;--accent-cblas:#075985;--shadow-card:0 8px 24px #13253a0d}html[data-theme=light] body{background:radial-gradient(circle at top,#dce9f8,var(--bg-page) 65%)}html[data-theme=light] .app-header{background:linear-gradient(135deg,#e4eefc,#fff)}html[data-theme=light] .status-chip{color:#334155}html[data-theme=light] .judge{background:var(--bg-panel)}html[data-theme=light] .error-path{stroke:#9c6500}html[data-theme=light] .max-path{stroke:#0369a1}html[data-theme=light] .threshold-line{stroke:#be123c}
@media(max-width:760px){body{padding:12px 10px 28px}.app-header,.card{padding:16px}.preset-row{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-row button:last-child{grid-column:1/-1}.sliders-list,.judge-grid,.reference-grid{grid-template-columns:1fr}.slider-item output{min-height:0}.controls-toolbar .btn{flex:1 1 42%}.telemetry-grid{grid-template-columns:1fr 1fr}.header-top{gap:16px}.chart-container{padding:8px}.judge{padding:16px}.guess label{margin-right:12px}h2{font-size:19px}.recipe-pill{white-space:normal}.network-wrap{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.play-guide{font-weight:600;color:var(--accent-cblas)}.warmup-demo,.rss-reference{border:1px solid var(--border-subtle);border-radius:12px;padding:18px;background:var(--bg-panel)}.warmup-demo h3,.rss-reference h3{font-size:17px}.warmup-demo p,.rss-reference p{font-size:14px;color:var(--text-secondary);margin:8px 0}.timing-axis{margin-left:120px;display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.timing-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:center;min-height:44px;font-size:14px}.timing-track{position:relative;height:32px;border-bottom:2px solid var(--border-subtle);margin-right:10px}.timing-dot{position:absolute;top:10px;width:10px;height:10px;transform:translateX(-50%);border-radius:50%;background:var(--accent-cblas);border:1px solid var(--bg-card)}.rss-axis{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);margin:14px 0 4px}.rss-row{margin:14px 0}.rss-row>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:15px}.rss-track{height:24px;border-left:2px solid var(--text-secondary);background:var(--bg-card-elevated);margin-top:6px;border-radius:0 5px 5px 0}.rss-track span{display:block;height:100%;background:#0284c7;border-radius:0 5px 5px 0}.rss-row+.rss-row .rss-track span{background:#8b5cf6}.speed-judge[data-applauding=true]{border-color:#dba032}.speed-judge[data-applauding=true] #speed-face{display:inline-block;animation:applause .32s ease-in-out 2 alternate}@keyframes applause{to{transform:rotate(-12deg) scale(1.12)}}
@media(max-width:760px){.warmup-demo,.rss-reference{padding:14px}.timing-row{grid-template-columns:88px minmax(0,1fr)}.timing-axis{margin-left:98px}.rss-row>div:first-child{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){#speed-face{animation:none!important}}
@media(max-width:760px){.chart-text{font-size:24px}}
/* Everyday-first presentation: engineering detail remains available below. */
html[data-theme=light]{--bg-page:#f7f2e9;--bg-card:#fffdf7;--bg-card-elevated:#f0e8d9;--bg-panel:#faf5e9;--border-subtle:#dbd2c1;--text-primary:#263b46;--text-secondary:#52626a;--accent-cblas:#175f79}html[data-theme=light] body{background:radial-gradient(circle at top,#ffefd2,var(--bg-page) 70%)}html[data-theme=light] .app-header{background:linear-gradient(120deg,#fff0d7,#fffdf7)}.app-container{max-width:1080px}.intro{font-size:18px}.intro strong{display:block}.picture-guide{display:flex;align-items:center;gap:16px;flex-wrap:wrap;color:var(--text-secondary)}.picture-guide b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--bg-card-elevated);color:var(--accent-cblas);margin-right:5px}.order-intro{display:flex;align-items:center;gap:24px;padding:16px 20px;background:var(--bg-panel);border:1px dashed var(--border-subtle);border-radius:14px}.order-preview{width:150px;flex-shrink:0}.order-intro h3{font-size:21px}.order-intro p{color:var(--text-secondary)}.bowl-art{width:100%;display:block}.preset-row button{font-size:15px}.slider-item output{min-height:30px;font-size:17px;font-weight:700}.control-symbol{display:inline-block;width:32px;font-size:24px;vertical-align:middle}.warmup-pips{display:flex;gap:6px;flex-wrap:wrap}.warm-pip{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--border-subtle);border-radius:50%;color:var(--text-secondary)}.warm-pip.on{background:#e7b354;color:#3e2e16;border-color:#e7b354}.kitchen-scene{position:relative;display:grid;grid-template-columns:120px minmax(0,300px);justify-content:center;gap:12px 36px;padding:22px;background:var(--bg-panel);border:1px solid var(--border-subtle);border-radius:16px}.chef-panel{text-align:center;font-weight:700}.chef-art{width:110px;max-width:100%;display:block}.meal-panel{position:relative;align-self:center;text-align:center}.meal-panel p{font-weight:700}.step-strip{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.step-strip span{padding:5px 14px;border:1px solid var(--border-subtle);border-radius:24px;font-size:14px}.step-strip [data-state=done]{background:#d5e7cb;color:#284836;border-color:#8bb189}.step-strip [data-state=now]{background:#f0d09d;color:#4e391c}.step-strip [data-state=skip]{text-decoration:line-through;border-style:dashed;color:var(--text-secondary)}.step-strip i{font-style:normal;color:var(--text-secondary)}#recipe-change{position:absolute;right:0;top:0;padding:4px 8px;background:#f8d892;color:#5d3a12;border-radius:8px;font-size:13px}.role-art{width:65px;height:65px;float:right;margin-left:8px}.judge h3{font-size:18px}.judge-result{font-size:clamp(22px,3vw,32px)}.stamp{width:100px;min-height:100px;display:grid;place-items:center;border:3px dashed var(--border-subtle);border-radius:50%;font-size:20px;line-height:1.4;text-align:center;padding:8px}.stamp[data-verdict=pass]{border:4px double #5f9979;color:#458364;transform:rotate(-5deg)}.stamp[data-verdict=reject]{border:4px double #ba6c63;color:#bd776c;transform:rotate(4deg)}.order-verdict-card{display:flex;align-items:center;gap:16px;padding:18px;background:var(--bg-panel);border:2px solid var(--border-subtle);border-radius:12px}.order-icon{display:grid;place-items:center;flex-shrink:0;width:54px;height:54px;border:2px solid currentColor;border-radius:10px;font-size:32px}.order-verdict-card h3{font-size:15px;color:var(--text-secondary)}#order-verdict{font-size:22px;font-weight:700}.order-verdict-card[data-fulfilled=true]{border-color:#5f9979}.order-verdict-card[data-fulfilled=true] .order-icon{color:#5f9979}.order-verdict-card[data-fulfilled=false]{border-color:#cf9758}.order-verdict-card[data-fulfilled=false] .order-icon{color:#cf9758}.result-note{font-size:18px;font-weight:700}.meal-progress{font-size:14px;color:var(--text-secondary)}.simple-scope{font-size:13px;color:var(--text-secondary)}.technical-details{border:1px solid var(--border-subtle);border-radius:12px;padding:16px;background:var(--bg-card)}.technical-details>summary{font-size:18px}.technical-content{display:grid;gap:20px;padding-top:18px}.technical-content .telemetry-grid{padding:14px}.technical-content .network-wrap{justify-self:center;width:100%}.technical-content>.card{box-shadow:none}.technical-content .card{font-size:14px}.technical-content .scope-inline{font-size:14px}
@media(max-width:760px){.picture-guide{gap:8px;font-size:14px}.picture-guide b{width:24px;height:24px}.order-intro{gap:12px;padding:12px}.order-preview{width:96px}.order-intro h3{font-size:18px}.order-intro p{font-size:13px}.intro{font-size:16px}.kitchen-scene{grid-template-columns:80px minmax(0,1fr);gap:8px;padding:14px}.chef-art{width:78px}.chef-panel p{font-size:13px}.meal-panel p{font-size:14px}.step-strip{gap:7px}.step-strip span{padding:4px 9px;font-size:13px}.role-art{width:52px;height:52px}.judge-result{font-size:26px}.stamp{font-size:20px}#order-verdict{font-size:19px}.result-note{font-size:17px}}

.service-table{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:16px;align-items:start}.meal-area{min-width:0}.service-table .kitchen-scene{grid-template-columns:90px minmax(0,1fr);gap:10px;padding:16px}.service-table .chef-art{width:88px}.service-table .role-art{width:48px;height:48px}.service-table .judge{padding:16px}.service-table .judge-grid{gap:10px}.service-table .judge h3{font-size:16px}.service-table .judge-result{font-size:24px}.service-table .stamp{font-size:20px}.service-table .meal-progress{margin:10px 0}
@media(max-width:900px){.service-table{grid-template-columns:1fr}.service-table .kitchen-scene{grid-template-columns:85px minmax(0,1fr)}.service-table .judge-grid{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.service-table .judge-grid{grid-template-columns:1fr}.service-table .role-art{width:56px;height:56px}}
/* Art/UI review: keep the decision and its consequence together. */
.app-header{padding:20px 24px;gap:10px}.app-header h1{font-size:clamp(30px,4vw,40px)}.intro{font-size:16px}.preset-row{grid-template-columns:repeat(4,minmax(0,1fr))}.guess .btn-start{display:block;margin-top:12px;min-width:180px}.range-stops{display:flex;justify-content:space-between;padding:0 9px;margin-top:-10px;pointer-events:none}.range-stops i{height:5px;border-left:1px solid var(--text-secondary)}.range-ends{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary)}.judge-grid>.order-verdict-card{grid-column:1/-1}.service-table .order-verdict-card{padding:12px;gap:12px}.service-table .order-icon{width:40px;height:40px;font-size:24px}.service-table #order-verdict{font-size:20px}.recheck{align-self:flex-start;border-color:var(--accent-cblas);color:var(--accent-cblas)}#reset{background:transparent;border-color:transparent;text-decoration:underline;text-underline-offset:4px}.service-table .stamp{width:86px;min-height:86px}.judge h3 #check-face[hidden]{display:none}html[data-theme=dark] .stamp[data-verdict=pass]{color:#9ed7b5;border-color:#9ed7b5}html[data-theme=dark] .stamp[data-verdict=reject]{color:#ffb6ab;border-color:#ffb6ab}
@media(max-width:760px){.app-header{padding:16px;gap:8px}.app-header .eyebrow{margin-bottom:4px}.preset-row{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-row button:last-child{grid-column:auto}.guess .btn-start{width:100%}.service-table .order-verdict-card{gap:10px}.service-table #order-verdict{font-size:19px}.service-table .speed-judge{padding:12px 14px}.service-table .speed-judge .role-art{width:38px;height:38px}.service-table .speed-judge .judge-result{font-size:22px;margin:4px 0}.service-table .speed-judge p:last-child{font-size:14px}.service-table .check-judge{display:grid;grid-template-columns:72px minmax(0,1fr);gap:6px 12px;align-items:center}.service-table .check-judge .role-art{display:none}.service-table .check-judge h3{grid-column:2;grid-row:1}.service-table .check-judge .stamp{grid-column:1;grid-row:1/3;width:72px;min-height:72px;font-size:18px;margin:0}.service-table .check-judge p:last-child{grid-column:2;font-size:14px}.recheck{width:100%}}
html[data-theme=light] .stamp[data-verdict=pass]{color:#286044;border-color:#427b58}html[data-theme=light] .stamp[data-verdict=reject]{color:#8c4037;border-color:#a14e43}#order-verdict:focus-visible,#controls-title:focus-visible{outline:3px solid var(--accent-cblas);outline-offset:4px;border-radius:3px}
/* Website shell: use the shared navigation and persisted color mode. */
:root{--paper:var(--bg-page);--card:var(--bg-card);--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border-subtle);--accent:var(--accent-cblas)}
body>.site-context{max-width:1080px;margin:0 auto 22px}.site-context .header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:78px;border-bottom:1px solid var(--line)}.header .brand{font-size:22px;font-weight:750;letter-spacing:-1px;color:var(--ink);text-decoration:none}.brand-dot{color:var(--accent);margin-left:10px}.header a{color:var(--ink);text-decoration:none}.header nav{font-size:14px}.header-tools{margin-left:auto}.language-switch{display:flex;gap:8px;font-size:13px}.language-switch [aria-current]{font-weight:700;color:var(--accent)}.context-links{display:flex;flex-wrap:wrap;gap:10px 22px;margin:12px 0 0;font-size:13px}.context-links a{display:inline-flex;min-height:44px;align-items:center}.experiment-return{display:flex;flex-wrap:wrap;gap:12px 24px;font-size:14px;padding:0 0 28px}.experiment-return a{min-height:44px;display:inline-flex;align-items:center}.how-to ol{padding-left:24px}.how-to p{color:var(--text-secondary)}

.article-share h2{font-size:20px;margin:0 0 16px}.article-share .share-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:6px;font:inherit;font-size:13px;line-height:1.5;text-decoration:none;cursor:pointer}.share-action:hover{background:var(--bg-card-elevated);border-color:var(--accent-cblas)}.share-manual input{background:var(--bg-panel)}.article-share .ui-icon{width:17px;height:17px}.how-to summary{font-size:17px}

.how-to{padding:12px 20px}.how-to summary{min-height:44px}

/* Editorial reference appears only after opening the engineering explanation. */
.infer-editorial{max-width:440px;margin:0 auto 24px}.infer-editorial img{display:block;width:100%;height:auto;border-radius:12px}.infer-editorial figcaption{margin-top:10px;font-size:14px;line-height:1.7;color:var(--text-secondary)}
