.blog-layout[data-v-d3ecf2b2]{min-height:100vh;display:flex;flex-direction:column}.site-header[data-v-d3ecf2b2]{border-bottom:1px solid var(--border);background:var(--surface)}.header-inner[data-v-d3ecf2b2]{max-width:var(--content-max);margin:0 auto;padding:var(--header-pad-y) var(--header-pad-x);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.brand[data-v-d3ecf2b2]{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:600;color:var(--text);text-decoration:none}nav[data-v-d3ecf2b2]{font-size:var(--text-sm)}nav a[data-v-d3ecf2b2]{color:var(--muted);text-decoration:none}nav a[data-v-d3ecf2b2]:hover,nav a.router-link-active[data-v-d3ecf2b2]{color:var(--accent)}.nav-icon[data-v-d3ecf2b2]{display:inline-flex;align-items:center;justify-content:center;line-height:0}button.nav-icon[data-v-d3ecf2b2]{background:none;border:none;padding:0;cursor:pointer;color:var(--muted);font:inherit}button.nav-icon[data-v-d3ecf2b2]:hover,.nav-icon[data-v-d3ecf2b2]:hover,.nav-icon.active[data-v-d3ecf2b2]{color:var(--accent)}.site-main[data-v-d3ecf2b2]{flex:1;max-width:var(--content-max);width:100%;margin:0 auto;padding:var(--space-8) var(--header-pad-x) var(--space-12)}.site-footer[data-v-d3ecf2b2]{border-top:1px solid var(--border);text-align:center;padding:var(--space-5);color:var(--muted);font-size:var(--text-xs)}.site-footer p[data-v-d3ecf2b2]{margin:0}.post-card[data-v-b30adc6b]{padding:1.25rem 0;border-bottom:1px solid var(--border)}.post-card[data-v-b30adc6b]:last-child{border-bottom:none}.post-card.note[data-v-b30adc6b]{border-left:3px solid color-mix(in srgb,var(--accent) 45%,var(--border));padding-left:1rem;margin-left:-.15rem}.meta[data-v-b30adc6b]{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin:0 0 .5rem;font-size:.85rem;color:var(--muted)}.kind[data-v-b30adc6b]{text-transform:capitalize;font-weight:600;color:var(--accent)}.post-card.note h2[data-v-b30adc6b]{font-family:var(--font-serif);font-size:1.35rem;margin:0 0 .5rem;line-height:1.3}.post-card.note h2 a[data-v-b30adc6b]{color:var(--text);text-decoration:none}.post-card.note h2 a[data-v-b30adc6b]:hover{color:var(--accent)}.note-content[data-v-b30adc6b]{font-size:1.08rem;line-height:1.65;color:var(--text)}.note-content[data-v-b30adc6b] .markdown-body>:last-child{margin-bottom:0}h2[data-v-b30adc6b]{font-family:var(--font-serif);font-size:1.35rem;margin:0 0 .5rem;line-height:1.3}h2 a[data-v-b30adc6b]{color:var(--text);text-decoration:none}h2 a[data-v-b30adc6b]:hover{color:var(--accent)}.excerpt[data-v-b30adc6b]{margin:0 0 .75rem;color:var(--muted)}.excerpt[data-v-b30adc6b] .markdown-body>:last-child{margin-bottom:0}.post-card[data-v-b30adc6b] .embed{margin:.75rem 0}.post-card[data-v-b30adc6b] .embed-video:not(.yt-facade) iframe{max-height:220px}.read-more[data-v-b30adc6b]{display:inline-block;margin-top:.5rem;font-size:.9rem;color:var(--accent);text-decoration:none}.read-more[data-v-b30adc6b]:hover{text-decoration:underline}.page-header h1[data-v-925639be]{font-family:var(--font-serif);font-size:2rem;margin:0 0 .35rem}.page-header p[data-v-925639be]{margin:0 0 1.5rem;color:var(--muted)}.status[data-v-925639be]{color:var(--muted)}.status.error[data-v-925639be]{color:var(--danger)}.back[data-v-d8e3fcc9]{margin:0 0 1.5rem;font-size:.9rem}.back a[data-v-d8e3fcc9]{color:var(--muted);text-decoration:none}.back a[data-v-d8e3fcc9]:hover{color:var(--accent)}.status[data-v-d8e3fcc9]{color:var(--muted)}.status.error[data-v-d8e3fcc9]{color:var(--danger)}.meta[data-v-d8e3fcc9]{display:flex;align-items:center;gap:.75rem;margin:0 0 .75rem;font-size:.85rem;color:var(--muted)}.kind[data-v-d8e3fcc9]{text-transform:capitalize;font-weight:600;color:var(--accent)}.edited[data-v-d8e3fcc9]{color:var(--muted)}h1[data-v-d8e3fcc9]{font-family:var(--font-serif);font-size:2rem;line-height:1.25;margin:0 0 1.25rem}.note-body[data-v-d8e3fcc9] .markdown-body{font-size:1.15rem}.status[data-v-aa7528e9]{color:var(--muted);margin:0}.md-editor--note .md-editor-hint[data-v-aa7528e9]{font-size:.8rem}.compose[data-v-6169ecc1]{display:grid;gap:.75rem;margin-bottom:1.5rem}label[data-v-6169ecc1]{display:grid;gap:.35rem}.kind-hint[data-v-6169ecc1]{margin:0;font-size:.88rem;color:var(--muted);line-height:1.5}.notice[data-v-6169ecc1]{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--notice-bg);border:1px solid var(--notice-border);color:var(--notice-text);font-size:var(--text-sm)}.title-field[data-v-6169ecc1]{margin-top:.25rem}.article-title-input[data-v-6169ecc1]{font:inherit;font-family:var(--font-serif);font-size:1.45rem;font-weight:600;line-height:1.25;padding:.65rem .85rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.article-title-input[data-v-6169ecc1]:focus{outline:2px solid color-mix(in srgb,var(--accent) 35%,transparent);border-color:var(--accent)}.counter[data-v-6169ecc1]{margin:-.35rem 0 0;font-size:.82rem;color:var(--muted);text-align:right}.counter.warn[data-v-6169ecc1]{color:var(--warn)}.counter.over[data-v-6169ecc1]{color:var(--danger)}select[data-v-6169ecc1],button[data-v-6169ecc1]{font:inherit}.actions[data-v-6169ecc1]{display:flex;gap:.75rem;align-items:center}button[type=submit][data-v-6169ecc1],button.secondary[data-v-6169ecc1]{width:fit-content;padding:.5rem 1rem;border-radius:6px;border:none;cursor:pointer}button[type=submit][data-v-6169ecc1]{background:var(--accent);color:#fff}button.secondary[data-v-6169ecc1]{background:transparent;color:var(--muted);border:1px solid var(--border)}.error[data-v-6169ecc1]{color:var(--danger)}.page-header h1[data-v-c8e9318a]{margin:0}.login h2[data-v-c8e9318a]{margin:0;font-size:var(--text-lg)}.recent h2[data-v-c8e9318a]{font-size:var(--text-lg);margin:0 0 var(--space-3)}.recent ul[data-v-c8e9318a]{list-style:none;padding:0;margin:0}.recent li[data-v-c8e9318a]{padding:var(--space-3) 0;border-bottom:1px solid var(--border)}.recent .row[data-v-c8e9318a]{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-1)}.recent li[data-v-c8e9318a]:last-child{border-bottom:none}.recent a[data-v-c8e9318a]{color:var(--text);text-decoration:none}.recent a[data-v-c8e9318a]:hover{color:var(--accent)}.recent .edit[data-v-c8e9318a]{flex-shrink:0;font-size:var(--text-xs);color:var(--muted)}.recent .edit[data-v-c8e9318a]:hover{color:var(--accent)}.recent .kind[data-v-c8e9318a]{text-transform:capitalize;color:var(--accent);font-weight:600;margin-right:var(--space-2)}.recent time[data-v-c8e9318a]{font-size:var(--text-xs);color:var(--muted)}.admin-sections h2[data-v-fb6ba685]{margin:0 0 var(--space-2);font-family:var(--font-serif);font-size:var(--text-lg)}.admin-sections p[data-v-fb6ba685]{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.page-header[data-v-9cc5a1fd]{margin-bottom:1.5rem}.page-header h1[data-v-9cc5a1fd]{font-family:var(--font-serif);font-size:2rem;margin:0}.meta[data-v-9cc5a1fd]{margin:0 0 1rem;font-size:.9rem;color:var(--muted)}.status[data-v-9cc5a1fd]{color:var(--muted)}.error[data-v-9cc5a1fd]{color:var(--danger)}.page-header[data-v-09c02a6b]{margin-bottom:1rem}.page-header h1[data-v-09c02a6b]{font-family:var(--font-serif);font-size:2rem;margin:0}.ok[data-v-09c02a6b]{color:var(--accent)}.error[data-v-09c02a6b]{color:var(--danger)}:root{--bg: #f7f4ef;--surface: #fffdf9;--text: #1c1917;--muted: #57534e;--border: #e7e2da;--accent: #b45309;--accent-hover: #92400e;--danger: #b91c1c;--danger-bg: #fef2f2;--code-bg: #f6f8fa;--code-border: #d0d7de;--warn: #9a6700;--notice-bg: #fff8c5;--notice-border: #e7d68a;--notice-text: #6a5f1a;--font-serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-sans: system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: .8rem;--text-sm: .9rem;--text-base: 1rem;--text-lg: 1.15rem;--text-xl: 1.35rem;--text-2xl: 1.75rem;--leading-tight: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--content-max: 42rem;--header-pad-x: 1.25rem;--header-pad-y: 1rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgb(28 25 23 / .06);--shadow-md: 0 4px 12px rgb(28 25 23 / .08);--transition-fast: .15s ease}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-normal);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--muted);border-color:var(--border)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--muted)}.btn-danger{background:transparent;color:var(--danger);border-color:var(--border)}.btn-danger:hover:not(:disabled){background:var(--danger-bg);border-color:var(--danger)}.input,.textarea{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b4530926}.label{display:block;margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:500;color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.section{margin-bottom:var(--space-8)}.page-header{margin-bottom:var(--space-6)}.page-header h1{margin:0 0 var(--space-2);font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:600;line-height:var(--leading-tight);color:var(--text)}.page-header p{margin:0;color:var(--muted);font-size:var(--text-sm)}.text-muted{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack-sm{gap:var(--space-2)}.cluster{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm)}.alert-error{background:var(--danger-bg);color:var(--danger);border:1px solid rgb(185 28 28 / .2)}.alert-info{background:var(--surface);color:var(--muted);border:1px solid var(--border)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:var(--leading-normal)}#app{min-height:100vh}a{color:var(--accent)}code{font-size:.9em;background:var(--border);padding:.1em .35em;border-radius:var(--radius-sm)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub
  Description: Light theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-light
  Current colors taken from GitHub's CSS
*/.hljs{color:#24292e;background:#fff}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#d73a49}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#6f42c1}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#005cc5}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#032f62}.hljs-built_in,.hljs-symbol{color:#e36209}.hljs-code,.hljs-comment,.hljs-formula{color:#6a737d}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#22863a}.hljs-subst{color:#24292e}.hljs-section{color:#005cc5;font-weight:700}.hljs-bullet{color:#735c0f}.hljs-emphasis{color:#24292e;font-style:italic}.hljs-strong{color:#24292e;font-weight:700}.hljs-addition{color:#22863a;background-color:#f0fff4}.hljs-deletion{color:#b31d28;background-color:#ffeef0}:root{--color-note: #0969da;--color-tip: #1a7f37;--color-warning: #9a6700;--color-severe: #bc4c00;--color-caution: #d1242f;--color-important: #8250df}.markdown-alert{padding:.5rem 1rem;margin-bottom:16px;color:inherit;border-left:.25em solid #888}.markdown-alert>:first-child{margin-top:0}.markdown-alert>:last-child{margin-bottom:0}.markdown-alert .markdown-alert-title{display:flex;font-weight:500;align-items:center;line-height:1}.markdown-alert .markdown-alert-title .octicon{margin-right:.5rem;display:inline-block;overflow:visible!important;vertical-align:text-bottom;fill:currentColor}.markdown-alert.markdown-alert-note{border-left-color:var(--color-note)}.markdown-alert.markdown-alert-note .markdown-alert-title{color:var(--color-note)}.markdown-alert.markdown-alert-important{border-left-color:var(--color-important)}.markdown-alert.markdown-alert-important .markdown-alert-title{color:var(--color-important)}.markdown-alert.markdown-alert-warning{border-left-color:var(--color-warning)}.markdown-alert.markdown-alert-warning .markdown-alert-title{color:var(--color-warning)}.markdown-alert.markdown-alert-tip{border-left-color:var(--color-tip)}.markdown-alert.markdown-alert-tip .markdown-alert-title{color:var(--color-tip)}.markdown-alert.markdown-alert-caution{border-left-color:var(--color-caution)}.markdown-alert.markdown-alert-caution .markdown-alert-title{color:var(--color-caution)}.markdown-body{line-height:1.75;font-size:1.05rem;word-wrap:break-word}.markdown-body>:first-child{margin-top:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{font-family:var(--font-serif);line-height:1.3;margin:1.5rem 0 .75rem}.markdown-body h1{font-size:1.75rem}.markdown-body h2{font-size:1.45rem}.markdown-body h3{font-size:1.2rem}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body pre,.markdown-body blockquote,.markdown-body table{margin:0 0 1rem}.markdown-body .markdown-alert>p+p{margin-top:.15rem}.markdown-body ul,.markdown-body ol{padding-left:1.5rem}.markdown-body li+li{margin-top:.25rem}.markdown-body blockquote{border-left:3px solid var(--border);margin-left:0;padding:.25rem 0 .25rem 1rem;color:var(--muted)}.markdown-body pre{margin:0;padding:0;background:transparent;overflow:visible}.markdown-body .code-block{position:relative;margin:0 0 1rem;border-radius:8px;overflow:hidden;border:1px solid var(--code-border);background:var(--code-bg)}.markdown-body .code-block pre{margin:0;padding:1rem 1rem .85rem;overflow-x:auto;font-size:.88rem;line-height:1.55;background:var(--code-bg)}.markdown-body .code-block code.hljs{padding:0;background:transparent;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace}.markdown-body .code-lang{display:block;padding:.35rem .75rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#57606a;background:#eaeef2;border-bottom:1px solid var(--code-border);font-family:var(--font-sans)}.markdown-body :not(pre)>code{background:var(--border);padding:.15em .35em;border-radius:4px;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.9em}.markdown-body img{max-width:100%;height:auto;border-radius:8px;display:block;margin:1rem 0}.markdown-body table{width:100%;border-collapse:collapse;font-size:.95rem}.markdown-body th,.markdown-body td{border:1px solid var(--border);padding:.5rem .75rem;text-align:left}.markdown-body th{background:var(--surface)}.markdown-body .task-list-item{list-style:none;margin-left:-1.5rem;padding-left:1.5rem}.markdown-body .task-list-item input{margin-right:.4rem}.markdown-body mark{background:#fef08a;padding:0 .15em}.markdown-body .embed{margin:1.25rem 0;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:var(--surface)}.markdown-body .embed-video{position:relative}.markdown-body .embed-video:not(.yt-facade){padding-top:56.25%}.markdown-body .yt-facade{position:relative;background:#000;cursor:pointer}.markdown-body .yt-facade-btn{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:pointer;aspect-ratio:16 / 9}.markdown-body .yt-facade-poster{display:block;width:100%;height:100%;object-fit:cover}.markdown-body .yt-facade-play{position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:68px;height:48px;background:no-repeat center/contain;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');filter:grayscale(100%);transition:filter .1s cubic-bezier(0,0,.2,1);pointer-events:none}.markdown-body .yt-facade-btn:hover .yt-facade-play,.markdown-body .yt-facade-btn:focus-visible .yt-facade-play{filter:none}.markdown-body .yt-facade-badge{position:absolute;right:.65rem;bottom:.65rem;padding:.2rem .5rem;border-radius:4px;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#fff;background:#000000b8;font-family:var(--font-sans);pointer-events:none}.markdown-body .yt-facade--active{cursor:unset;aspect-ratio:16 / 9}.markdown-body .yt-facade--active iframe,.markdown-body .embed-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.markdown-body .embed-audio iframe{width:100%;height:152px;border:0;display:block}.markdown-body .markdown-alert{color:var(--text);border-radius:6px}.markdown-body .markdown-alert p{margin:0}.markdown-body .markdown-alert .markdown-alert-title{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;font-size:.875rem;font-weight:600;line-height:1.25;margin-bottom:.35rem}.markdown-body .markdown-alert .markdown-alert-title svg{width:1em;height:1em;min-width:16px;min-height:16px;max-width:16px;max-height:16px;flex-shrink:0;display:inline-block;vertical-align:text-bottom}.markdown-body .markdown-alert-note{background-color:#ddf4ff}.markdown-body .markdown-alert-tip{background-color:#dafbe1}.markdown-body .markdown-alert-important{background-color:#fbefff}.markdown-body .markdown-alert-warning{background-color:#fff8c5}.markdown-body .markdown-alert-caution{background-color:#ffebe9}.md-editor{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface)}.md-editor-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);background:var(--bg)}.md-editor-tabs button{font:inherit;font-size:.9rem;padding:.55rem 1rem;border:none;background:transparent;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.md-editor-tabs button.active{color:var(--text);border-bottom-color:var(--accent);background:var(--surface)}.md-editor-toolbar{display:flex;flex-wrap:wrap;gap:.25rem;padding:.5rem;border-bottom:1px solid var(--border);background:var(--bg)}.md-editor-toolbar button{font:inherit;font-size:.8rem;padding:.3rem .55rem;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text);cursor:pointer}.md-editor-toolbar button:hover{border-color:var(--accent);color:var(--accent)}.md-editor-toolbar .sep{width:1px;background:var(--border);margin:0 .25rem;align-self:stretch}.md-editor textarea{width:100%;min-height:16rem;border:none;padding:1rem;font:inherit;font-family:ui-monospace,Cascadia Code,Source Code Pro,Menlo,monospace;font-size:.92rem;line-height:1.6;resize:vertical;background:var(--surface);color:var(--text)}.md-editor textarea:focus{outline:none}.md-editor-preview{min-height:16rem;padding:1rem;background:var(--surface)}.md-editor-hint{margin:0;padding:.5rem 1rem;font-size:.8rem;color:var(--muted);border-top:1px solid var(--border);background:var(--bg)}.md-editor-upload-error{color:var(--danger);font-size:.85rem;padding:0 1rem .5rem}
