:root{--bg-color:#0d1117;--text-color:#e6edf3;--link-color:#61afef;--card-bg:#161b22;--card-bg-hover:#1c2128;--button-color:#8957e5;--border-color:#30363d;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}.nav{z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);isolation:isolate;background-color:#1e2127d1;border-bottom:1px solid #3e445199;justify-content:space-between;align-items:center;width:100%;padding:0 16px 0 0;display:flex;position:sticky;top:0}.nav-list{list-style:none;display:inline-flex}.nav-item{padding-left:8px;padding-right:4px}.nav-link{color:var(--link-color);padding:14px 8px;font-size:14px;text-decoration:none;display:inline-block}.nav-btn{background-color:var(--button-color);color:#fff;border-radius:12px;padding:5px 12px;font-size:14px;font-weight:700}.hamburger{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:space-between;width:22px;height:16px;padding:0;display:none}.hamburger span{background:var(--text-color);transform-origin:50%;border-radius:2px;height:2px;transition:transform .25s,opacity .2s;display:block}.hamburger.nav-open span:first-child{transform:translateY(7px)rotate(45deg)}.hamburger.nav-open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.nav-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-item--mobile-only{display:none}@media (max-width:1100px){.hamburger{display:flex}.nav-btn{display:none}.nav-item--mobile-only{display:list-item}.nav-list{background:var(--card-bg);border-bottom:1px solid var(--border-color);z-index:99;opacity:0;pointer-events:none;flex-direction:column;margin:0;padding:4px 0 8px;transition:transform .25s,opacity .2s;display:flex;position:absolute;top:100%;left:0;right:0;transform:translateY(-6px)}.nav-list.nav-open{opacity:1;pointer-events:all;transform:translateY(0)}.nav-item{padding:0}.nav-link{padding:11px 20px;display:block}}.hero-section{text-align:center;border-bottom:1px solid var(--border-color);background-color:#1e2127;background-image:radial-gradient(80% 60% at 50% 100%,#c678dd1f 0%,#0000 100%),linear-gradient(#3d424d40 1px,#0000 1px),linear-gradient(90deg,#3d424d40 1px,#0000 1px);background-size:100% 100%,44px 44px,44px 44px;flex-direction:column;justify-content:center;align-items:center;gap:10px;width:100%;min-height:320px;padding:60px 0;display:flex}.hero-section h1{font-size:2.4rem}.hero-section h3{color:#8b949e;font-size:1.1rem;font-weight:400}.text-link{color:var(--link-color);text-decoration:none}.text-link:hover{text-decoration:underline}.lab-section{width:100%;max-width:900px;margin:40px auto;padding:0 24px}.lab-section h2{color:var(--text-color);border-bottom:1px solid var(--border-color);margin-bottom:8px;padding-bottom:8px;font-size:22px}.lab-section .section-description{color:#8b949e;margin-bottom:20px;font-size:14px}.ai-project-row{flex-direction:column;gap:16px;display:flex}.ai-project-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;padding:20px 24px;transition:border-color .2s}.ai-project-card:hover{border-color:#8957e5}.ai-project-card h3{margin:0 0 6px;font-size:17px}.ai-project-card p{color:#8b949e;margin:6px 0 12px;font-size:14px;line-height:1.6}.card-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-badge{vertical-align:middle;border-radius:12px;margin-left:8px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.status-live{color:#3fb950;background:#0f3a1f;border:1px solid #3fb95060}.status-wip{color:#a8c96a;background:#1f2d0d;border:1px solid #a8c96a60}.status-local{color:#8957e5;background:#1a1a2e;border:1px solid #8957e560}.stack-pill{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);border-radius:4px;padding:2px 8px;font-size:12px;display:inline-block}.model-roadmap{flex-direction:column;gap:14px;padding:0;list-style:none;display:flex}.model-roadmap li{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px 20px}.model-roadmap li strong{margin-bottom:4px;font-size:15px;display:block}.model-roadmap li span{color:#8b949e;font-size:13px;line-height:1.6}.model-roadmap li.planned{border-left:3px solid #8957e5}.model-roadmap li.building{border-left:3px solid #f0883e}.model-roadmap li.done{border-left:3px solid #3fb950}#mnist-demo{flex-wrap:wrap;align-items:flex-start;gap:20px;margin-top:16px;display:flex}#mnist-canvas-wrap{flex-shrink:0;position:relative}#mnist-canvas{cursor:crosshair;touch-action:none;background:#0d1117;border:1px solid #30363d;border-radius:8px;display:block}#mnist-hint{color:#30363d;pointer-events:none;font-size:13px;transition:opacity .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#mnist-right{flex-direction:column;min-width:160px;display:flex}#mnist-prediction{color:var(--text-color);height:80px;font-size:72px;font-weight:700;line-height:1}#mnist-confidence{color:#8b949e;margin-bottom:10px;font-size:13px}#mnist-bars{flex-direction:column;gap:3px;width:160px;display:flex}.mnist-bar-row{color:#8b949e;align-items:center;gap:6px;font-size:11px;display:flex}.mnist-bar-bg{background:#21262d;border-radius:2px;flex:1;height:6px;overflow:hidden}.mnist-bar-fill{background:var(--button-color);border-radius:2px;height:100%;transition:width .2s}.mnist-bar-fill.top{background:#3fb950}#mnist-clear,#mnist-predict{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;border-radius:6px;padding:6px 14px;font-size:13px;transition:border-color .15s}#mnist-clear:hover,#mnist-predict:hover{border-color:var(--button-color)}#mnist-predict{background:var(--button-color);border-color:var(--button-color);color:#fff}.project-content{width:100%;max-width:900px;margin:0 auto;padding:24px 24px 48px}.breadcrumb{margin-bottom:28px;font-size:14px}.project-links{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:6px;display:flex}.project-content h2{text-align:center;border-bottom:1px solid var(--border-color);margin:32px 0 16px;padding-bottom:8px;font-size:20px}.project-content p.note{color:#8b949e;margin-bottom:16px;font-size:13px}article{color:#8b949e;font-size:14px;line-height:1.8}article strong{color:var(--text-color)}article code,.dev-note code{background:#ffffff0f;border-radius:3px;padding:1px 5px;font-family:Courier New,monospace;font-size:12px}.ascii-diagram{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:20px;overflow-x:auto}.ascii-diagram pre{color:var(--text-color);white-space:pre;margin:0;font-family:Courier New,Courier,monospace;font-size:13px;line-height:1.5}.diagram-caption{color:#8b949e;margin-top:12px;font-family:Arial,Helvetica,sans-serif;font-size:12px;line-height:1.6;display:block}.dev-notes{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.dev-note{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px 20px}.dev-note h3{color:var(--text-color);margin-bottom:8px;font-size:14px}.dev-note p{color:#8b949e;font-size:13px;line-height:1.6}.boxes{background:var(--card-bg);border:1px solid var(--border-color);color:var(--text-color);border-radius:4px;margin-right:4px;padding:2px 8px;font-size:12px;display:inline-block}.video-embed{border:1px solid var(--border-color);border-radius:8px;height:0;padding-bottom:56.25%;position:relative;overflow:hidden}.video-embed iframe{width:100%;height:100%;position:absolute;top:0;left:0}.download-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;padding:16px 20px}.download-card h3{margin-bottom:8px;font-size:14px}.download-card p{color:#8b949e;font-size:13px;line-height:1.6}.demo-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;margin:16px 0;padding:20px 24px}.demo-label{color:#8b949e;margin-bottom:12px;font-size:13px;line-height:1.6}.demo-textarea{background:var(--bg-color);border:1px solid var(--border-color);width:100%;color:var(--text-color);resize:vertical;border-radius:6px;padding:10px;font-family:inherit;font-size:13px;line-height:1.6;transition:border-color .15s}.demo-textarea:focus{border-color:var(--button-color);outline:none}.demo-input{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-color);border-radius:6px;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .15s}.demo-input:focus{border-color:var(--button-color);outline:none}.demo-btn{background:var(--button-color);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:8px;padding:8px 16px;font-size:13px;transition:opacity .15s}.demo-btn:disabled{opacity:.45;cursor:not-allowed}.demo-btn:not(:disabled):hover{opacity:.85}.demo-response{background:var(--bg-color);border:1px solid var(--border-color);color:var(--text-color);white-space:pre-wrap;border-radius:6px;min-height:48px;margin-top:12px;padding:12px 14px;font-size:13px;line-height:1.75}.perceptron-canvas{border:1px solid var(--border-color);cursor:crosshair;background:#0d1117;border-radius:8px;display:block}.perceptron-controls{flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;display:flex}.class-btn{cursor:pointer;background:var(--card-bg);color:var(--text-color);border:2px solid #0000;border-radius:6px;padding:5px 14px;font-size:13px;transition:border-color .15s}.class-btn.active-blue{border-color:#58a6ff}.class-btn.active-red{border-color:#f85149}.perceptron-stats{color:#8b949e;margin-top:8px;font-family:monospace;font-size:12px;line-height:1.8}.chess-board{border:2px solid var(--border-color);border-radius:4px;grid-template-rows:repeat(8,40px);grid-template-columns:repeat(8,40px);width:320px;height:320px;display:grid;overflow:hidden}.chess-square{-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:26px;line-height:1;display:flex}.sq-light{background:#f0d9b5}.sq-dark{background:#b58863}footer{border-top:1px solid var(--border-color);text-align:center;color:#8b949e;flex-direction:column;align-items:center;gap:16px;padding:40px 24px;font-size:14px;display:flex}footer a{color:var(--link-color)}
