:root{--accent: #c2410c;--accent-dim: #9a3412;--term-border: #e5e5e5;--term-bar-bg: #f5f5f5;--term-name: #737373;--font-mono: "JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}.dark:root,.dark{--accent: #ffb454;--accent-dim: #b97e2e;--term-border: #2a2a2a;--term-bar-bg: #1c1c1c;--term-name: #8a8a8a}.prose{line-height: 1.75}.dark .prose{--tw-prose-body: #d4d4d4;--tw-prose-headings: #f4f4f5;--tw-prose-bold: #fafafa;--tw-prose-quotes: #e5e5e5}.prose h2,.prose h3{font-family: var(--font-mono);letter-spacing: -0.01em;scroll-margin-top: 5rem}.prose h2{padding-bottom: 0.3em;border-bottom: 1px solid var(--term-border)}.prose h2::before,.prose h3::before{color: var(--accent-dim);font-weight: 700}.prose h2::before{content: "## "}.prose h3::before{content: "### "}.prose blockquote{border-inline-start-color: var(--accent) !important;background: color-mix(in srgb,var(--accent) 7%,transparent);border-radius: 0 6px 6px 0;padding-block: 0.5em;padding-inline-end: 1.25em}.prose :where(a):hover{color: var(--accent);text-decoration-color: var(--accent)}.code-frame{margin: 1.75rem 0}.code-frame .term-body{display: block;padding: 0;text-align: left}.code-frame pre{margin: 0;border: 0;border-radius: 0;background: transparent;padding: 0.85rem 1rem;font-size: 0.82rem;line-height: 1.65;white-space: pre-wrap;overflow-wrap: break-word;word-break: break-word;tab-size: 2}.code-frame pre code{font-family: var(--font-mono);color: var(--color-neutral-800,#1f2937);white-space: inherit;word-break: inherit}.dark .code-frame pre code{color: #e6e6e6}.prose :not(pre) > code{font-family: var(--font-mono);font-size: 0.85em;padding: 0.1em 0.36em;border-radius: 5px;background: color-mix(in srgb,var(--term-name) 15%,transparent);border: 1px solid var(--term-border);white-space: nowrap}.prose :not(pre) > code::before,.prose :not(pre) > code::after{content: none}.prose{overflow-wrap: break-word}.fig-wrap-left,.fig-wrap-right{width: min(46%,440px);max-width: 46%}.fig-wrap-right{float: right;margin: 0.5rem 0 1rem 1.75rem}.fig-wrap-left{float: left;margin: 0.5rem 1.75rem 1rem 0}@media (max-width: 720px){.fig-wrap-left,.fig-wrap-right{float: none;width: 100%;max-width: 100%;margin: 1.5rem auto}}.prose h2,.prose h3{clear: both}.prose .table-wrap{margin: 1.75rem 0;max-width: 100%;overflow-x: auto;border: 1px solid var(--term-border);border-radius: 8px;-webkit-overflow-scrolling: touch}.prose .table-wrap > table{display: table;width: 100%;margin: 0;border-collapse: collapse;font-family: var(--font-mono);font-size: 0.84rem;line-height: 1.5}.prose .table-wrap th,.prose .table-wrap td{padding: 0.55rem 0.85rem;text-align: left;vertical-align: top;border-bottom: 1px solid var(--term-border);overflow-wrap: break-word}.prose .table-wrap thead th{background: var(--term-bar-bg);color: var(--accent-dim);font-weight: 700;white-space: nowrap;border-bottom: 1px solid var(--term-border)}.dark .prose .table-wrap thead th{color: var(--accent)}.prose .table-wrap tbody tr:last-child td{border-bottom: 0}.prose .table-wrap tbody tr:nth-child(even){background: color-mix(in srgb,var(--term-name) 7%,transparent)}.prose .table-wrap tbody tr:hover{background: color-mix(in srgb,var(--accent) 8%,transparent)}@media (max-width: 640px){.code-frame pre{font-size: 0.76rem;padding: 0.7rem 0.8rem}.prose .table-wrap > table{font-size: 0.8rem}.prose .table-wrap th,.prose .table-wrap td{padding: 0.45rem 0.6rem}}ul.log-list{display: flex;flex-direction: column;gap: 0}.log-line{display: flex;gap: 1rem;align-items: flex-start;padding: 1rem 0.75rem;border-left: 2px solid transparent;border-bottom: 1px solid var(--term-border);transition: border-color 0.2s ease,background-color 0.2s ease}.log-line:hover{border-left-color: var(--accent);background-color: color-mix(in srgb,var(--accent) 6%,transparent)}.log-body{flex: 1 1 auto;min-width: 0}.log-head{display: flex;align-items: baseline;gap: 0.6rem;text-decoration: none}.log-prompt{color: var(--accent-dim);font-weight: 700;flex-shrink: 0;transition: color 0.2s ease}.log-line:hover .log-prompt{color: var(--accent)}.log-title{font-family: var(--font-mono);font-weight: 600;color: var(--color-neutral-800,#262626);letter-spacing: 0.01em}.dark .log-title{color: #ededed}.log-line:hover .log-title{color: var(--accent)}.log-desc{margin: 0.4rem 0 0 1.6rem;font-size: 0.8125rem;line-height: 1.5;color: var(--color-neutral-500,#737373);max-width: 70ch;display: -webkit-box;-webkit-line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.log-meta{display: flex;flex-wrap: wrap;align-items: center;gap: 0.6rem;margin: 0.55rem 0 0 1.6rem}.log-date{font-family: var(--font-mono);font-size: 0.75rem;color: var(--color-neutral-500,#737373);white-space: nowrap}.log-thumb{flex: 0 0 auto;width: 116px;height: 72px;border: 1px solid var(--term-border);border-radius: 6px;overflow: hidden;display: block;background: var(--term-bar-bg)}.log-thumb img{width: 100%;height: 100%;object-fit: cover;display: block}.log-thumb.is-empty{display: flex;align-items: center;justify-content: center;color: var(--accent-dim);font-family: var(--font-mono);font-size: 1.1rem;letter-spacing: 0.1em;opacity: 0.6}@media (max-width: 640px){.log-thumb{display: none}.log-desc{-webkit-line-clamp: 3}}.term-frame{margin-top: 0;margin: 2rem auto;border: 1px solid var(--term-border);border-radius: 8px;overflow: hidden;background: var(--term-bar-bg);max-width: 100%}.term-bar{display: flex;align-items: center;gap: 0.5rem;padding: 0.45rem 0.75rem;border-bottom: 1px solid var(--term-border);font-family: var(--font-mono);font-size: 0.72rem;color: var(--term-name)}.term-bar::before{content: "";width: 9px;height: 9px;border-radius: 50%;background: var(--accent);flex-shrink: 0;box-shadow: 14px 0 0 color-mix(in srgb,var(--accent) 45%,transparent),28px 0 0 color-mix(in srgb,var(--accent) 25%,transparent);margin-right: 28px}.term-name{overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.term-body{background: var(--color-neutral-950,#0a0a0a);display: flex;justify-content: center}.dark .term-body{background: #0a0a0a}:root:not(.dark) .term-body{background: #fafafa}.term-body .image-figure{margin: 0 !important;width: 100%}.term-body .image-container{border-radius: 0;width: 100%}.term-body .image-container img{width: 100%;height: auto}.term-frame + .image-caption,.term-caption{margin-top: 0.5rem;text-align: center;font-size: 0.875rem;font-style: italic;color: var(--term-name)}.lib-summary{font-family: var(--font-mono);font-size: 0.8125rem;color: var(--color-neutral-500,#737373)}.lib-summary b{color: var(--accent);font-weight: 600}.book-status{display: inline-block;font-family: var(--font-mono);font-size: 0.66rem;letter-spacing: 0.12em;text-transform: uppercase;color: var(--term-name);border: 1px solid var(--term-border);border-radius: 4px;padding: 0.12rem 0.5rem;white-space: nowrap}.book-status.is-reading{color: var(--accent);border-color: var(--accent-dim);background: color-mix(in srgb,var(--accent) 8%,transparent)}.book-row .log-title{font-size: 1.05rem}.book-author{margin: 0.3rem 0 0 1.6rem;font-family: var(--font-mono);font-size: 0.78rem;color: var(--color-neutral-500,#737373)}.book-summary{margin: 0.45rem 0 0 1.6rem;font-size: 0.8125rem;line-height: 1.5;color: var(--color-neutral-500,#737373);max-width: 60ch}.book-stats{flex: 0 0 auto;width: 168px;text-align: right;font-family: var(--font-mono)}.read-meter{font-size: 0.95rem;letter-spacing: 1px;white-space: nowrap;line-height: 1}.read-meter .on{color: var(--accent)}.read-meter .off{color: var(--term-border)}.read-meter .pct{margin-left: 0.45rem;font-size: 0.72rem;letter-spacing: normal;color: var(--color-neutral-500,#737373)}.book-started{margin-top: 0.45rem;font-size: 0.7rem;color: var(--color-neutral-500,#737373)}@media (max-width: 640px){.book-row{flex-direction: column}.book-stats{width: auto;text-align: left;margin: 0.6rem 0 0 1.6rem}}.book-meta-top{display: flex;flex-wrap: wrap;align-items: center;gap: 0.75rem;font-family: var(--font-mono);font-size: 0.8rem;color: var(--color-neutral-500,#737373)}.book-lead{font-size: 1rem;line-height: 1.65;color: var(--color-neutral-600,#525252);max-width: 70ch}.dark .book-lead{color: #d4d4d4}.book-meta{display: flex;flex-wrap: wrap;align-items: center;gap: 0.4rem 1.25rem;font-family: var(--font-mono);font-size: 0.75rem;color: var(--color-neutral-500,#737373)}.book-meta .read-meter{font-size: 0.85rem}.learn-panel{border: 1px solid var(--term-border);border-inline-start: 3px solid var(--accent);border-radius: 0 8px 8px 0;background: color-mix(in srgb,var(--accent) 5%,transparent);padding: 1.1rem 1.3rem}.learn-panel h2{margin: 0 0 0.85rem;font-family: var(--font-mono);font-size: 1rem;color: var(--color-neutral-900,#171717)}.dark .learn-panel h2{color: #f4f4f5}.learn-list{list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 0.65rem}.learn-list li{display: flex;gap: 0.65rem;font-size: 0.9rem;line-height: 1.55;color: var(--color-neutral-700,#404040)}.dark .learn-list li{color: #d4d4d4}.learn-list li::before{content: "▸";color: var(--accent);flex-shrink: 0}.note-chip{font-family: var(--font-mono);font-size: 0.78rem;border: 1px solid var(--term-border);border-radius: 5px;padding: 0.3rem 0.7rem;color: var(--color-neutral-600,#525252);text-decoration: none;transition: border-color 0.2s ease,color 0.2s ease}.dark .note-chip{color: #d4d4d4}.note-chip:hover{border-color: var(--accent-dim);color: var(--accent)}.book-link{color: var(--accent);text-decoration: underline;text-underline-offset: 3px}.term-title{font-family: var(--font-mono)}.term-title .term-prompt{color: var(--accent);margin-right: 0.5ch;font-weight: 700}.term-title .term-cursor{display: inline-block;width: 0.55ch;height: 1em;margin-left: 0.12ch;background: var(--accent);vertical-align: text-bottom;animation: term-blink 1.05s step-end infinite}.term-title.is-typing .term-cursor{animation: none;opacity: 1}.term-title.done .term-cursor{animation: term-blink 1.05s step-end infinite}@keyframes term-blink{0%,50%{opacity: 1}50.01%,100%{opacity: 0}}@media (prefers-reduced-motion: reduce){.term-title .term-cursor{animation: none;opacity: 1}}ul.notes-grid{display: flex;flex-direction: column}.note-line .note-head-row{display: flex;align-items: baseline;justify-content: space-between;gap: 1.5rem}.note-line .log-date{flex-shrink: 0}.note-line .log-desc{max-width: none;margin-top: 0.5rem}.page-eyebrow{font-family: var(--font-mono);font-size: 0.8rem;color: var(--accent);margin-bottom: 0.4rem}.term-path{margin: 0.25rem 0 1.25rem;color: var(--accent-dim);letter-spacing: 0.02em}.dark .term-path{color: var(--accent)}.later-item{background: color-mix(in srgb,var(--accent) 3%,transparent) !important;border-color: var(--term-border) !important;border-radius: 8px !important;transition: border-color 0.2s ease}.later-item:hover{border-color: var(--accent-dim) !important}.later-item a:hover{color: var(--accent) !important}.later-item .tag-btn:hover{background: color-mix(in srgb,var(--accent) 15%,transparent) !important;color: var(--accent) !important}#type-filter-bar .active-filter,#later-list .px-4.py-2.bg-blue-500{background: var(--accent) !important;color: #0a0a0a !important}.viz-sequence{margin: 2rem auto;border: 1px solid var(--term-border);border-radius: 8px;overflow: hidden;background: var(--term-bar-bg);font-family: var(--font-mono)}.viz-bar{display: flex;align-items: center;gap: 0.5rem;padding: 0.45rem 0.75rem;border-bottom: 1px solid var(--term-border);font-size: 0.72rem;color: var(--term-name)}.viz-bar-dot{width: 9px;height: 9px;border-radius: 50%;background: var(--accent);box-shadow: 14px 0 0 color-mix(in srgb,var(--accent) 45%,transparent),28px 0 0 color-mix(in srgb,var(--accent) 25%,transparent);margin-right: 28px}.viz-body{background: var(--color-neutral-950,#0a0a0a);padding: 0.5rem 0.5rem 0.25rem}:root:not(.dark) .viz-body{background: #fafafa}.viz-sequence svg{width: 100%;height: auto;display: block}.viz-actor-box{fill: color-mix(in srgb,var(--accent) 8%,transparent);stroke: var(--term-border);stroke-width: 1}.viz-actor-label{fill: var(--color-neutral-200,#e5e5e5);font: 600 12px var(--font-mono)}:root:not(.dark) .viz-actor-label{fill: #262626}.viz-lifeline{stroke: var(--term-border);stroke-width: 1.5;stroke-dasharray: 3 5}.viz-line{stroke: var(--term-name);stroke-width: 1.75;fill: none;transition: stroke 0.2s ease}.viz-arrowhead{fill: context-stroke}.viz-label{fill: var(--color-neutral-400,#a3a3a3);font: 11px var(--font-mono)}:root:not(.dark) .viz-label{fill: #525252}.viz-sequence.viz-ready .viz-step{opacity: 0;transition: opacity 0.25s ease}.viz-sequence.viz-ready .viz-step.is-shown{opacity: 1}.viz-step.is-active .viz-line{stroke: var(--accent);stroke-dasharray: 7 5;animation: viz-flow 0.7s linear infinite}.viz-step.is-active .viz-label{fill: var(--accent)}@keyframes viz-flow{to{stroke-dashoffset: -24}}.viz-sequence.is-hovering .viz-step{opacity: 0.14}.viz-sequence.is-hovering .viz-step.is-hot{opacity: 1}.viz-sequence.is-hovering .viz-step.is-hot .viz-line{stroke: var(--accent)}.viz-actor{cursor: pointer;outline: none}.viz-actor.is-hot .viz-actor-box,.viz-actor:focus-visible .viz-actor-box{stroke: var(--accent);fill: color-mix(in srgb,var(--accent) 16%,transparent)}.viz-controls{display: flex;align-items: center;gap: 0.6rem;padding: 0.5rem 0.75rem;border-top: 1px solid var(--term-border);font-size: 0.74rem;color: var(--term-name)}.viz-btn{font-family: var(--font-mono);font-size: 0.72rem;color: var(--color-neutral-700,#404040);background: transparent;border: 1px solid var(--term-border);border-radius: 5px;padding: 0.18rem 0.55rem;cursor: pointer;transition: border-color 0.15s ease,color 0.15s ease}.dark .viz-btn{color: #d4d4d4}.viz-btn:hover{border-color: var(--accent-dim);color: var(--accent)}.viz-play.is-playing,.viz-sequence.is-playing .viz-play{border-color: var(--accent);color: var(--accent)}.viz-status{flex: 1}.viz-phase{color: var(--accent)}@media (prefers-reduced-motion: reduce){.viz-step.is-active .viz-line{animation: none}}.mermaid-figure{margin: 2rem auto;margin-top: 0;max-width: 100%}.mermaid-figure .term-body{padding: 1rem 0.75rem}.mmd{width: 100%;justify-content: center}.mmd svg{width: 100%;height: auto;max-width: 100%;display: block}.mmd svg text{text-anchor: middle !important}.mmd svg .cluster-label text{text-anchor: start !important}.dark .mmd svg marker path,.dark .mmd svg .marker{fill: #a3a3a3 !important;stroke: #a3a3a3 !important}:root:not(.dark) .mmd svg marker path,:root:not(.dark) .mmd svg .marker{fill: #525252 !important;stroke: #525252 !important}.mmd-dark,.mmd-light{display: none}.dark .mmd-dark{display: flex}:root:not(.dark) .mmd-light{display: flex}.mermaid-missing{margin: 0;padding: 1rem;color: var(--term-name);font-size: 0.8rem}.puml-figure{margin: 2rem auto;max-width: 100%}.puml-figure .term-body{padding: 1rem 0.75rem}.puml-wrap{display: flex;width: 100%;justify-content: center}.puml-wrap svg.puml{width: 100%;height: auto;max-width: 100%;display: block}.puml-node{fill: var(--term-bar-bg);stroke: var(--accent);stroke-width: 1.5}.puml-db-top{fill: none;stroke: var(--accent);stroke-width: 1.5}.puml-text{fill: var(--text,currentColor);font-family: var(--font-mono);font-size: 15px}.dark .puml-text{fill: #ededed}:root:not(.dark) .puml-text{fill: #171717}.puml-edge{stroke: var(--term-name);stroke-width: 1.5;fill: none;stroke-linejoin: round;stroke-linecap: round}.puml-edge-dashed{stroke-dasharray: 5 5}.puml-arrowhead{fill: var(--term-name)}.puml-elabel-bg{fill: #0a0a0a}:root:not(.dark) .puml-elabel-bg{fill: #fafafa}.puml-elabel{fill: var(--term-name);font-family: var(--font-mono);font-size: 13px}.puml-missing{margin: 0;padding: 1rem;color: var(--term-name);font-size: 0.8rem}#knowledge-graph{position: relative}.graph-overlay{position: fixed;left: 1.5rem;bottom: 1.5rem;z-index: 30;pointer-events: none;font-family: var(--font-mono)}.graph-title{margin: 0 0 0.7rem;font-size: 1.1rem;font-weight: 700;color: var(--color-neutral-900,#171717)}.dark .graph-title{color: #f4f4f5}.graph-legend{list-style: none;margin: 0 0 0.7rem;padding: 0;display: flex;flex-direction: column;gap: 0.35rem;font-size: 0.78rem;color: var(--color-neutral-600,#525252)}.dark .graph-legend{color: #b4b4b4}.graph-legend .dot{display: inline-block;width: 9px;height: 9px;border-radius: 50%;margin-right: 0.55rem;vertical-align: middle}.graph-legend b{margin-left: 0.4rem;font-weight: 600;color: var(--accent)}.dot-blog{background: #ffb454}.dot-book{background: #34d399}.dot-note{background: #a3a3a3}.graph-hint{margin: 0;font-size: 0.7rem;color: var(--term-name)}.graph-search{font-family: var(--font-mono);font-size: 0.85rem;background: color-mix(in srgb,var(--term-bar-bg) 88%,transparent);border: 1px solid var(--term-border);color: var(--color-neutral-900,#171717)}.dark .graph-search{color: #ededed}.graph-search::placeholder{color: var(--term-name)}.graph-search:focus{border-color: var(--accent);box-shadow: 0 0 0 2px color-mix(in srgb,var(--accent) 28%,transparent)}@media (max-width: 640px){.graph-overlay{left: 1rem;bottom: 1rem}}@media (prefers-reduced-motion: reduce){.log-line,.log-prompt,.log-title,.note-card,.later-item,.note-chip{transition: none}}