*,*: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}a.card:hover{border-color:var(--accent)}.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}.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}}
