*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #FAFAFA;--surface: #FFFFFF;--subtle: #F9FAFB;--t1: #111111;--t2: #6B7280;--t3: #9CA3AF;--border: #E5E7EB;--bdash: #C7D2FE;--accent: #4F46E5;--atint: #EEF2FF;--atext: #4338CA;--maxw: 680px;--pad: 24px}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--t1);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}img,video,iframe{max-width:100%}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}.nav{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:.5px solid var(--border);height:56px;display:flex;align-items:center;padding-top:env(safe-area-inset-top)}.nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);width:100%;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-size:15px;font-weight:500;color:var(--t1);background:none;border:none;padding:0;cursor:pointer}.nav-links{display:flex;align-items:center;gap:20px}.nav-link{font-size:15px;font-weight:400;color:var(--t2);background:none;border:none;padding:0;transition:color .15s ease}.nav-link:hover{color:var(--t1)}.nav-link.on{color:var(--t1);font-weight:500}.rule{height:.5px;background:var(--border);border:none}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.micro{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--t3)}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:99px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;white-space:nowrap}.status{display:inline-flex;align-items:center;gap:6px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;flex-shrink:0}.dot{width:5px;height:5px;border-radius:50%;flex-shrink:0}.entry-row{display:flex;align-items:center;gap:12px;padding:14px 8px;border-bottom:.5px solid var(--border);border-left:2px solid transparent;cursor:pointer;transition:background .15s ease,border-left-color .15s ease;border-radius:4px;margin:0 -8px;color:inherit}.entry-row:first-child{border-top:.5px solid var(--border)}.entry-row:hover{background:var(--subtle);border-left-color:var(--accent)}.entry-row:hover .etitle,.entry-row:hover .enum{color:var(--accent)}.etitle{flex:1;font-size:15px;font-weight:500;color:var(--t1);transition:color .15s ease;text-wrap:pretty;min-width:0}.edate{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--t3);white-space:nowrap}.enum{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--t3);width:22px;flex-shrink:0;transition:color .15s ease}.memo-row{display:block;padding:18px 8px;border-bottom:.5px solid var(--border);cursor:pointer;transition:background .15s ease;border-radius:4px;margin:0 -8px;color:inherit}.memo-row:first-child{border-top:.5px solid var(--border)}.memo-row:hover{background:var(--subtle)}.memo-row:hover .mtitle{color:var(--accent)}.memo-top{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.mtitle{font-size:15px;font-weight:500;color:var(--t1);transition:color .15s ease;text-wrap:pretty}.mdate{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--t3);white-space:nowrap;flex-shrink:0}.mpreview{font-size:14px;color:var(--t2);line-height:1.5;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card{background:var(--surface);border:.5px solid var(--border);border-radius:10px;padding:24px;display:block;color:inherit;transition:border-color .15s ease,transform .15s ease}.card-link{position:relative}.card-link:hover{border-color:var(--accent)}.card-link .cname{color:var(--t1);transition:color .15s ease}.card-link:hover .cname{color:var(--accent)}.card-overlay{position:absolute;inset:0;border-radius:inherit;z-index:1}.card-link>*:not(.card-overlay){position:relative;z-index:2}.card-link .clink,.card-link .cname{pointer-events:auto}.card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.cname{font-size:17px;font-weight:500;letter-spacing:-.02em}.cdesc{font-size:14px;color:var(--t2);line-height:1.65;margin-top:10px;text-wrap:pretty}.ctags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.clinks{display:flex;gap:16px;margin-top:10px;flex-wrap:wrap}.clink{font-size:13px;color:var(--accent);background:none;border:none;padding:0;cursor:pointer;text-decoration:none}.clink:hover{text-decoration:underline}.filters{display:flex;gap:8px;flex-wrap:wrap}.fpill{padding:8px 14px;border-radius:99px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;border:none;background:transparent;color:var(--t2);transition:color .15s ease,background .15s ease}.fpill:hover{color:var(--t1)}.fpill.on{background:var(--atint);color:var(--atext)}.mbody{font-size:17px;line-height:1.85;color:var(--t1)}.mbody p{text-wrap:pretty}.mbody p+p{margin-top:24px}.mbody h2{font-size:20px;font-weight:500;letter-spacing:-.01em;margin-top:36px;margin-bottom:12px}.mbody h3{font-size:17px;font-weight:500;margin-top:28px;margin-bottom:10px}.mbody ul,.mbody ol{margin-top:16px;padding-left:22px}.mbody li{margin-top:6px}.mbody a{color:var(--accent);text-decoration:underline;text-decoration-thickness:.5px;text-underline-offset:3px}.mbody a:hover{text-decoration-thickness:1px}.mbody img,.mbody video,.mbody iframe{display:block;margin:28px 0;border:.5px solid var(--border);border-radius:8px;width:100%;height:auto}.mbody iframe{aspect-ratio:16 / 9}.mbody code{font-family:JetBrains Mono,ui-monospace,monospace;font-size:14px;background:var(--subtle);padding:2px 6px;border-radius:4px}.mbody pre{background:var(--subtle);border:.5px solid var(--border);border-radius:8px;padding:16px;overflow-x:auto;font-size:13px;margin:24px 0}.mbody pre code{background:transparent;padding:0;font-size:13px}.mbody blockquote{border-left:2px solid var(--accent);padding-left:16px;color:var(--t2);margin:24px 0;font-style:normal}.mbody table{width:100%;border-collapse:collapse;margin:30px 0;font-size:14px;line-height:1.6}.mbody thead th{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--t3);text-align:left;padding:0 14px 8px 0;border-bottom:1px solid var(--border)}.mbody tbody td{padding:11px 14px 11px 0;border-bottom:.5px solid var(--border);vertical-align:top;color:var(--t2)}.mbody tbody td:first-child{color:var(--t1)}.mbody th:nth-child(1),.mbody td:nth-child(1){width:33%}.mbody th:nth-child(2),.mbody td:nth-child(2){width:22%}.mbody th:last-child,.mbody td:last-child{padding-right:0}@media (max-width: 640px){.mbody table{display:block;overflow-x:auto;white-space:nowrap}.mbody tbody td{white-space:normal;min-width:150px}}.fig-radio{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.fig-tabs{display:flex;gap:6px;margin-bottom:16px;flex-wrap:wrap}.fig-tab{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;letter-spacing:.03em;padding:5px 12px;border:.5px solid var(--border);border-radius:99px;color:var(--t2);cursor:pointer;user-select:none;background:var(--surface);transition:background .14s ease,border-color .14s ease,color .14s ease}.fig-tab:hover{color:var(--t1);border-color:var(--t3)}.r1:checked~.fig-tabs .t1,.r2:checked~.fig-tabs .t2,.r3:checked~.fig-tabs .t3,.r4:checked~.fig-tabs .t4,.r5:checked~.fig-tabs .t5{background:var(--atint);border-color:var(--accent);color:var(--atext)}.fig svg .pane{display:none}.r1:checked~svg .p1,.r2:checked~svg .p2,.r3:checked~svg .p3,.r4:checked~svg .p4,.r5:checked~svg .p5{display:block}.fig-cap .cap{display:none}.r1:checked~.fig-cap .c1,.r2:checked~.fig-cap .c2,.r3:checked~.fig-cap .c3,.r4:checked~.fig-cap .c4,.r5:checked~.fig-cap .c5{display:block}.fig{margin:36px 0}.fig svg{display:block;width:100%;height:auto;overflow:visible}.fig-cap{font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;line-height:1.6;color:var(--t3);margin-top:14px;letter-spacing:.01em}@media (max-width: 640px){.fig{overflow-x:auto;-webkit-overflow-scrolling:touch}.fig svg{min-width:600px}.fig-cap{position:sticky;left:0}}.sv-box{fill:var(--surface);stroke:var(--border);stroke-width:1}.sv-box-a{fill:var(--atint);stroke:var(--accent);stroke-width:1}.sv-box-d{fill:none;stroke:var(--border);stroke-width:1;stroke-dasharray:4 4}.sv-ln{stroke:var(--t3);stroke-width:1;fill:none}.sv-ln-a{stroke:var(--accent);stroke-width:1.25;fill:none}.sv-ln-d{stroke:var(--t3);stroke-width:1;fill:none;stroke-dasharray:3 3}.sv-t{fill:var(--t1);font-family:Inter,system-ui,sans-serif;font-size:12.5px}.sv-t2{fill:var(--t2);font-family:Inter,system-ui,sans-serif;font-size:11.5px}.sv-ta{fill:var(--atext);font-family:Inter,system-ui,sans-serif;font-size:11.5px}.sv-m{fill:var(--t3);font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.06em}.sv-ma{fill:var(--atext);font-family:JetBrains Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.06em}.sv-f3{fill:var(--t3)}.sv-fa{fill:var(--accent)}.sv-dot{fill:#dcdfe4}.sv-dot-f{fill:var(--accent)}.sv-ring{fill:none;stroke:var(--t2);stroke-width:1.2}.sv-ring-a{fill:none;stroke:var(--accent);stroke-width:1.2}.sv-ring-t{fill:none;stroke:var(--bdash);stroke-width:1.2}.sv-flow{stroke-dasharray:4 5;animation:svflow 1.7s linear infinite}@keyframes svflow{to{stroke-dashoffset:-18}}.sv-br{animation:svbr 5.4s ease-in-out infinite}.sv-br2{animation-delay:1.8s}.sv-br3{animation-delay:3.6s}@keyframes svbr{0%{opacity:.15}6%{opacity:1}27%{opacity:1}34%{opacity:.15}to{opacity:.15}}.sv-smp{opacity:0;animation:svsmp 6.6s ease-in-out infinite}.sv-smp2{animation-delay:2.2s}.sv-smp3{animation-delay:4.4s}@keyframes svsmp{0%{opacity:0}4%{opacity:1}28%{opacity:1}33%{opacity:0}to{opacity:0}}@media (prefers-reduced-motion: reduce){.sv-flow,.sv-br,.sv-smp{animation:none}.sv-br,.sv-smp{opacity:1}.sv-smp2,.sv-smp3{display:none}}.slink{position:relative;display:inline-block;font-size:14px;color:var(--t3);text-decoration:none;transition:color .15s ease}.slink:after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--accent);transition:width .2s ease}.slink:hover{color:var(--t1)}.slink:hover:after{width:100%}.now-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 10px;border-radius:99px;background:var(--surface);border:.5px solid var(--border);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;color:var(--t2);letter-spacing:.01em}.now-dot{width:6px;height:6px;border-radius:50%;background:#16a34a;flex-shrink:0;animation:nowpulse 2.2s ease-in-out infinite}@keyframes nowpulse{0%,to{opacity:1;box-shadow:0 0 #16a34a66}50%{opacity:.75;box-shadow:0 0 0 4px #16a34a00}}.search-wrap{position:relative;margin-top:20px}.search-icon{position:absolute;left:0;top:50%;transform:translateY(-50%);color:var(--t3);pointer-events:none}.search-input{width:100%;background:transparent;border:none;border-bottom:.5px solid var(--border);padding:10px 0 10px 26px;font-size:14px;color:var(--t1);font-family:Inter,system-ui,sans-serif;outline:none;transition:border-color .2s ease}.search-input::placeholder{color:var(--t3)}.search-input:focus{border-color:var(--accent)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fu{opacity:0;animation:fadeUp .45s cubic-bezier(.22,.68,0,1.2) forwards}body:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle,#c8cdd6 1px,transparent 1px);background-size:28px 28px;opacity:.18;pointer-events:none;z-index:0}.nav,.wrap{position:relative;z-index:1}.proj-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}.proj-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:14px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;color:var(--t3)}.back-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--t2);transition:color .15s ease}.back-link:hover{color:var(--accent)}.empty{font-size:14px;color:var(--t3);padding:24px 0}@media (max-width: 600px){:root{--pad: 16px}body{padding-bottom:env(safe-area-inset-bottom)}.nav-links{gap:14px}.nav-link{font-size:14px}.mpreview{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.entry-row{padding:16px 8px;min-height:48px;gap:10px}.memo-row{padding:18px 8px;min-height:56px}.nav-link,.nav-logo{padding:8px 0;min-height:44px;display:inline-flex;align-items:center}.nav{height:auto;min-height:56px}h1.title-xl{font-size:32px!important}.card{padding:20px}.cname,.mbody{font-size:16px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
