:root{--bg: #fafafa;--text: #111;--secondary: #555;--muted: #999;--border: #e5e5e5;--accent: #000;--code-bg: #0d0d0d;--font-main: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "SF Mono", "Menlo", "Monaco", "Courier New", monospace;--pad: 24px;--max-w: 1080px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg);color:var(--text);font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.section{max-width:var(--max-w);margin:0 auto;padding:80px var(--pad)}.section-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:28px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.course-card{padding:24px;border:1px solid var(--border);border-radius:6px;transition:border-color .2s ease,background .2s ease}.course-card:hover{border-color:#ccc;background:#fff}.terminal{border-radius:10px;overflow:hidden;background:var(--code-bg);border:1px solid #1a1a1a}.terminal-bar{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;background:#161616;border-bottom:1px solid #1e1e1e;-webkit-user-select:none;user-select:none}.terminal-dots{display:flex;gap:7px}.terminal-dots span{width:11px;height:11px;border-radius:50%}.terminal-dots span:nth-child(1){background:#ff5f57}.terminal-dots span:nth-child(2){background:#febc2e}.terminal-dots span:nth-child(3){background:#28c840}.terminal-label{font-family:var(--font-mono);font-size:.62rem;color:#444;letter-spacing:.04em}.terminal-copy{background:none;border:1px solid #2a2a2a;color:#555;font-family:var(--font-mono);font-size:.6rem;padding:3px 12px;border-radius:4px;cursor:pointer;transition:all .2s;letter-spacing:.02em}.terminal-copy:hover{color:#aaa;border-color:#444}.terminal-copy.copied{color:#4ade80;border-color:#2a5a36}.terminal .code-block{border-radius:0;border:none}.code-block{font-family:var(--font-mono);font-size:.78rem;line-height:1.75;background:var(--code-bg);color:#b0b0b0;padding:24px 28px;border-radius:8px;overflow-x:auto;white-space:pre;-webkit-overflow-scrolling:touch}.code-block .green{color:#4ade80}.code-block .yellow{color:#fbbf24}.code-block .white{color:#f0f0f0}.code-block .dim{color:#444}.code-block .cyan{color:#67e8f9}.code-line{display:block;padding:0 4px;margin:0 -4px;border-radius:3px;transition:background .15s ease}.code-line:not(:empty):hover{background:#ffffff0a}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.blink-cursor{animation:blink 1.06s step-end infinite;color:#4ade80;font-weight:700}.link-hover{text-decoration:none;color:var(--text);position:relative;display:inline-block}.link-hover:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.19,1,.22,1)}.link-hover:hover:after{transform:scaleX(1);transform-origin:left}.loop-flow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--font-mono);font-size:.8rem;margin-bottom:40px}.loop-step{padding:8px 16px;border:1px solid var(--border);border-radius:4px;white-space:nowrap;transition:border-color .2s ease}.loop-step:hover{border-color:var(--text)}.loop-arrow{color:var(--muted);font-size:.7rem}.machine-view{min-height:100vh;display:flex;flex-direction:column;font-family:var(--font-mono)}.machine-view pre{font-family:var(--font-mono);font-size:.78rem;line-height:1.65;white-space:pre-wrap;word-break:break-word;overflow:auto;max-width:720px;scrollbar-width:none}.machine-view pre::-webkit-scrollbar{display:none}@media(max-width:768px){:root{--pad: 16px}.section{padding:56px var(--pad)}.stats-grid{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:1fr}.loop-flow{gap:8px}.loop-step{padding:6px 12px;font-size:.7rem}.loop-arrow{font-size:.6rem}.code-block{padding:20px;font-size:.72rem}.terminal-bar{padding:9px 14px}.terminal-dots span{width:10px;height:10px}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr;gap:16px}.code-block{font-size:.68rem;padding:16px}.terminal{border-radius:0;margin:0 calc(-1 * var(--pad));width:calc(100% + var(--pad) * 2)}.terminal .code-block{border-radius:0}}@media(hover:none)and (pointer:coarse){*{cursor:auto!important}}
