:root{color:#1f2937;font-synthesis:none;text-rendering:optimizelegibility;background:#f8fafc;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,sans-serif}*{box-sizing:border-box}body{color:#1e293b;background-color:#f8fafc;min-width:320px;margin:0}main{width:min(100% - 2rem,72rem);margin:0 auto;padding:2rem 0 5rem}h1,h2,h3,h4{color:#0f172a;margin:0;line-height:1.25}.hero-section{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:1.25rem;padding:2rem;display:flex;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -2px #0000000d}.hero-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.hero-badge{color:#0369a1;letter-spacing:.015em;background:#e0f2fe;border-radius:9999px;padding:.35rem .85rem;font-size:.8125rem;font-weight:600}.hero-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.language-switcher{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:9999px;align-items:center;padding:.15rem .4rem;display:inline-flex}.lang-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:9999px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;transition:all .15s}.lang-btn:hover{color:#0f172a}.lang-btn.active{color:#2563eb;background:#fff;box-shadow:0 1px 2px #00000014}.lang-divider{color:#cbd5e1;-webkit-user-select:none;user-select:none;font-size:.75rem}.sim-button{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:9999px;align-items:center;gap:.4rem;padding:.4rem .95rem;font-size:.8125rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 1px 2px #2563eb33}.sim-button:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8;transform:translateY(-1px);box-shadow:0 3px 6px #2563eb4d}.sim-button.playing{background:#0f172a;border-color:#0f172a}.sim-button:disabled{opacity:.7;cursor:wait}.runtime-status-pill{border:1px solid #0000;border-radius:9999px;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.8125rem;font-weight:600;display:inline-flex}.status-ready{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.status-ready .status-indicator-dot{background:#10b981}.status-running{color:#1e40af;background:#eff6ff;border-color:#bfdbfe;animation:1.5s infinite pulse-border}.status-running .status-indicator-dot{background:#3b82f6;animation:1s infinite pulse-dot}.status-init{color:#854d0e;background:#fefce8;border-color:#fef08a}.status-init .status-indicator-dot{background:#eab308}.status-recover{color:#9a3412;background:#fff7ed;border-color:#fed7aa}.status-recover .status-indicator-dot{background:#f97316}.status-error{color:#991b1b;background:#fef2f2;border-color:#fecaca}.status-error .status-indicator-dot{background:#ef4444}.status-indicator-dot{border-radius:50%;width:.5rem;height:.5rem}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}@keyframes pulse-border{0%,to{border-color:#93c5fd}50%{border-color:#2563eb}}#hero-title{letter-spacing:-.025em;font-size:1.75rem;font-weight:700}.hero-description{color:#475569;max-width:60rem;margin:0;font-size:1rem;line-height:1.6}.animation-stage-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.875rem;flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.stage-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.packet-indicator-wrapper{align-items:center;gap:.6rem;display:flex}.live-pulse-badge{color:#fff;letter-spacing:.05em;background:#2563eb;border-radius:.25rem;padding:.2rem .5rem;font-family:ui-monospace,monospace;font-size:.6875rem;font-weight:700;animation:2s infinite pulse-dot}.current-stage-title{color:#0f172a;font-size:.9375rem;font-weight:700}.stage-highlight-tag{color:#0369a1;background:#e0f2fe;border-radius:9999px;padding:.25rem .65rem;font-size:.8125rem;font-weight:600}.pipeline-visual-track{margin:.5rem 0;padding:.5rem 0;position:relative}.track-bar-background{z-index:1;background-color:#cbd5e1;border-radius:9999px;height:4px;position:absolute;top:1.25rem;left:5%;right:5%}.track-bar-progress{background:linear-gradient(90deg,#3b82f6,#2563eb,#10b981);border-radius:9999px;height:100%;transition:width .45s cubic-bezier(.4,0,.2,1)}.track-dots{z-index:2;justify-content:space-between;display:flex;position:relative}.track-dot{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:.35rem;display:flex}.dot-number{color:#64748b;background:#fff;border:2px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-weight:700;transition:all .3s;display:flex}.track-dot.active .dot-number{color:#2563eb;background:#eff6ff;border-color:#2563eb}.track-dot.current .dot-number{color:#fff;background:#2563eb;border-color:#2563eb;transform:scale(1.15);box-shadow:0 0 0 4px #2563eb40}.dot-label{color:#64748b;font-size:.75rem;font-weight:600;transition:color .3s}.track-dot.current .dot-label{color:#2563eb}.scenario-story-banner{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;align-items:center;gap:.85rem;padding:.75rem 1rem;display:flex;box-shadow:0 1px 2px #0000000a}.story-icon{font-size:1.5rem}.story-content{flex-direction:column;gap:.2rem;display:flex}.story-content strong{color:#1e293b;font-size:.875rem}.story-content code{color:#2563eb;background:#eff6ff;border-radius:.25rem;width:fit-content;padding:.1rem .35rem;font-family:ui-monospace,monospace;font-size:.75rem}.architecture-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.arch-card{cursor:pointer;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;flex-direction:column;gap:.5rem;padding:1.25rem;transition:transform .2s,border-color .2s,box-shadow .2s,background-color .2s;display:flex}.arch-card:hover{background:#f1f5f9;border-color:#94a3b8;transform:translateY(-2px)}.arch-card.card-active{background:#eff6ff;border-color:#2563eb;transform:translateY(-3px);box-shadow:0 0 0 2px #2563eb40,0 4px 12px #2563eb1a}.arch-card.card-past{background:#f8fafc;border-color:#cbd5e1}.arch-card-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.arch-step-badge{color:#2563eb;background:#dbeafe;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-weight:700;display:flex}.arch-analogy-pill{color:#475569;background:#e2e8f0;border-radius:9999px;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.arch-card-title{color:#1e293b;font-size:.9375rem;font-weight:600}.arch-card-desc{color:#64748b;margin:0;font-size:.84rem;line-height:1.55}.arch-packet-badge{align-items:center;gap:.4rem;margin-top:auto;padding-top:.5rem;display:flex}.packet-indicator{background:#94a3b8;border-radius:50%;width:.4rem;height:.4rem}.card-active .packet-indicator{background:#2563eb;animation:1s infinite pulse-dot}.arch-packet-badge code{color:#475569;background:#e2e8f0;border-radius:.25rem;padding:.15rem .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.card-active .arch-packet-badge code{color:#1e40af;background:#dbeafe;font-weight:600}.hero-features{color:#475569;border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:1.5rem;padding-top:1rem;font-size:.875rem;display:flex}.feature-item{align-items:center;gap:.45rem;display:flex}.feature-icon{font-size:1rem}.editor-form{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;flex-direction:column;gap:1rem;margin-top:1.5rem;padding:1.5rem;display:flex;box-shadow:0 1px 3px #0000000d}.editor-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.editor-label{color:#0f172a;font-size:1rem;font-weight:600}.editor-preset-wrapper{align-items:center;gap:.5rem;display:flex}.preset-hint-label{color:#64748b;font-size:.8125rem;font-weight:500}.preset-select{color:#0f172a;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:.375rem;outline:none;padding:.3rem .6rem;font-size:.8125rem;font-weight:500;transition:border-color .15s}.preset-select:focus{border-color:#2563eb}.editor-container{background:#1e293b;border:1px solid #cbd5e1;border-radius:.5rem;display:flex;overflow:hidden;box-shadow:inset 0 1px 2px #0003}.editor-gutter{color:#64748b;text-align:right;-webkit-user-select:none;user-select:none;counter-reset:line;background:#0f172a;border-right:1px solid #334155;width:3rem;padding:.9rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.5;overflow-y:hidden}.gutter-line-number{counter-increment:line;height:1.3125rem;padding-right:.75rem}.gutter-line-number:before{content:counter(line)}.code-textarea{resize:vertical;color:#f8fafc;white-space:pre;tab-size:4;background:#1e293b;border:none;outline:none;flex:1;min-height:14rem;padding:.9rem 1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.5}.code-textarea::placeholder{color:#64748b}.editor-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.editor-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.run-button{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #2563eb;border-radius:.5rem;width:fit-content;padding:.65rem 1.35rem;font-size:.9375rem;font-weight:600;transition:all .15s;box-shadow:0 1px 2px #2563eb33}.run-button:hover:not(:disabled){background:#1d4ed8;transform:translateY(-1px)}.run-button:disabled{cursor:wait;opacity:.55}.retry-button{color:#fff;cursor:pointer;background:#d97706;border:1px solid #f59e0b;border-radius:.5rem;padding:.65rem 1rem;font-size:.875rem;font-weight:600}.shortcut-tag{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.375rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.editor-quick-tools{align-items:center;gap:.5rem;display:flex}.tool-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.375rem;padding:.35rem .65rem;font-size:.75rem;font-weight:600;transition:all .15s}.tool-btn:hover{color:#0f172a;background:#e2e8f0}.editor-status-text{color:#64748b;margin:0;font-size:.875rem}section[aria-labelledby=current-result-heading]{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;gap:1rem;margin-top:1.5rem;padding:1.5rem;display:grid;box-shadow:0 1px 3px #0000000d}pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#0f172a;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.5rem;margin:0;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9375rem;overflow-x:auto}[role=alert]{color:#b91c1c;font-weight:500}:focus-visible{outline-offset:2px;outline:3px solid #3b82f6}@media (width<=40rem){main{width:min(100% - 1rem,72rem);padding-top:1rem}.hero-section{padding:1.25rem}#hero-title{font-size:1.375rem}.pipeline-visual-track{display:none}.hero-features{flex-direction:column;gap:.75rem}.editor-form,section[aria-labelledby=current-result-heading]{padding:1rem}.editor-top-bar,.editor-footer{flex-direction:column;align-items:flex-start}}
