﻿:root{color-scheme:dark;--bg: #0d1117;--panel: rgba(17, 24, 39, 0.5);--panel-soft: rgba(17, 24, 39, 0.3);--panel-faint: rgba(17, 24, 39, 0.2);--border: #1f2937;--text: #c9d1d9;--muted: #6b7280;--dim: #4b5563;--soft: #9ca3af;--green: #4ade80;--heading: #ffffff;--accent-border: rgba(34, 197, 94, 0.5);--accent-bg: rgba(20, 83, 45, 0.25);--accent-bg-strong: rgba(20, 83, 45, 0.5);--red: #f87171;--red-hover: #fca5a5;--danger-border: rgba(153, 27, 27, 0.5);--danger-bg: rgba(127, 29, 29, 0.25)}:root[data-theme=light]{color-scheme:light;--bg: #eeece22d;--panel: #d5cfb3;--panel-soft: rgba(213, 207, 179, 0.55);--panel-faint: rgba(213, 207, 179, 0.4);--border: #bcb393;--text: #3b2322;--muted: #6f5b46;--dim: #978871;--soft: #5a4232;--green: #2e6b1f;--heading: #2a1413;--accent-border: rgba(46, 107, 31, 0.45);--accent-bg: rgba(46, 107, 31, 0.08);--accent-bg-strong: rgba(46, 107, 31, 0.16);--red: #a3281e;--red-hover: #7a1a12;--danger-border: rgba(163, 40, 30, 0.4);--danger-bg: rgba(163, 40, 30, 0.08)}*,*::before,*::after{box-sizing:border-box}body.shell{margin:0 auto;max-width:56rem;min-height:100vh;padding:1rem;display:flex;flex-direction:column;font-family:"JetBrains Mono",ui-monospace,monospace;background:var(--bg);color:var(--text)}@media(min-width: 768px){body.shell{padding:2rem}}a{color:var(--soft);text-decoration:none}a:hover{color:var(--green)}.term-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem;border:1px solid var(--border);border-radius:.5rem .5rem 0 0;background:var(--panel)}.term-dots{display:flex;align-items:center;gap:.5rem}.dot{width:.75rem;height:.75rem;border-radius:9999px;display:inline-block}.dot-red{background:#ef4444}.dot-yellow{background:#eab308}.dot-green{background:#22c55e}.term-title{font-size:.75rem;color:var(--muted);margin-left:.5rem;display:none}@media(min-width: 640px){.term-title{display:inline}}.term-nav{display:flex;gap:1rem;font-size:.75rem}@media(min-width: 640px){.term-nav{font-size:.875rem}}.term-nav a.active{color:var(--green)}.term-nav a.active:hover{text-decoration:underline}.theme-toggle{padding:0;font-family:inherit;font-size:1.125em;line-height:1;cursor:pointer;color:var(--soft);background:none;border:0}.theme-toggle:hover{color:var(--green)}.theme-toggle .to-dark{display:none}:root[data-theme=light] .theme-toggle .to-light{display:none}:root[data-theme=light] .theme-toggle .to-dark{display:inline}.hero{padding:1.5rem;border:1px solid var(--border);border-top:0;background:var(--panel-faint)}@media(min-width: 768px){.hero{padding:2rem}}.hero>h1{margin:.5rem 0;font-size:1.5rem;color:var(--green)}@media(min-width: 768px){.hero>h1{font-size:1.875rem}}.hero>p{margin:0;color:var(--soft);line-height:1.7;font-size:.875rem;white-space:pre-line}@media(min-width: 768px){.hero>p{font-size:1rem}}.terminal{flex:1;margin-bottom:2rem;border-radius:0 0 .5rem .5rem;cursor:text}.prompt-host{display:none}@media(min-width: 640px){.prompt-host{display:inline}}.motd{font-size:.875rem;line-height:1.6;color:var(--soft)}.motd p{margin:0}.motd-banner{margin:.75rem 0;font:inherit;line-height:1.2;color:var(--green);font-size:min(.875rem,(100vw - 5rem)/38)}.motd h1.motd-welcome{margin:0;font-size:inherit;font-weight:700;color:var(--heading)}.motd dl{margin:1rem 0;display:grid;grid-template-columns:max-content 1fr;column-gap:1rem;padding-left:.25rem}.motd dt{color:var(--muted)}.motd dd{margin:0}.motd-booting{visibility:hidden}.terminal:has(.motd[data-controller=motd]:not(.motd-done)) .terminal-form{visibility:hidden}.motd-cursor{display:inline-block;width:.6em;height:1.1em;vertical-align:text-bottom;background:var(--green);animation:motd-blink 1s steps(1) infinite}@keyframes motd-blink{50%{opacity:0}}.terminal kbd{font-family:inherit;color:var(--green)}.terminal-output{margin-top:1.25rem;font-size:.875rem;line-height:1.6;cursor:auto}.terminal-entry{margin-bottom:1rem}.terminal-printing img{visibility:hidden}.terminal-line,.terminal-form{display:flex;gap:.625rem;overflow-wrap:anywhere}.prompt-sign{color:var(--green);flex-shrink:0}.terminal-form{margin-top:.25rem;font-size:.875rem}.terminal-input{flex:1;min-width:0;padding:0;border:0;outline:0;background:none;font:inherit;color:var(--heading);caret-color:var(--green)}.terminal-text{margin:.25rem 0 0;font:inherit;color:var(--soft);white-space:pre-wrap;overflow-wrap:anywhere}.terminal-error{color:var(--red)}.ls-dir{color:var(--green);font-weight:700}.ls-list{margin-top:.25rem;display:flex;flex-direction:column;gap:.5rem}.ls-row{display:flex;flex-wrap:wrap;column-gap:1rem}.ls-file{color:var(--green);overflow-wrap:anywhere}.completion-list{margin-top:.25rem;display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}.ls-title{flex-basis:100%;padding-left:1rem;color:var(--soft)}.ls-title::before{content:"└ ";color:var(--dim)}.terminal-article{margin-top:.75rem;padding:1.25rem 0 .5rem;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border)}.muted{color:var(--muted)}.small{font-size:.75rem}.posts{flex:1;margin:2rem 0;display:flex;flex-direction:column;gap:1.5rem}.section-label{font-size:.75rem;font-weight:600;letter-spacing:.05em;color:var(--muted)}.post-search{margin:0;padding:.75rem 1rem;border:1px solid var(--border);border-radius:.5rem;background:var(--panel-soft);transition:border-color .2s}.post-search:focus-within{border-color:var(--accent-border)}.post-search label{flex-shrink:0;color:var(--soft)}.post-search .terminal-input{appearance:none}.post-search .terminal-input::-webkit-search-cancel-button{display:none}.search-reset{flex-shrink:0;color:var(--muted)}.post-list{display:flex;flex-direction:column;gap:1.5rem}.pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;justify-items:start;gap:1rem}.more-link{padding:.125rem .5rem;border-radius:.25rem;color:var(--green);background:var(--accent-bg-strong)}.more-link:hover{color:var(--heading)}.post-card{padding:1.25rem;border:1px solid var(--border);border-radius:.5rem;background:var(--panel-soft);transition:border-color .2s}.post-card:hover{border-color:var(--accent-border)}.post-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.75rem;color:var(--muted);margin-bottom:.5rem}.post-card h2{margin:0 0 .5rem;font-size:1.125rem;color:var(--heading);cursor:pointer}@media(min-width: 768px){.post-card h2{font-size:1.25rem}}.post-card h2:hover{color:var(--green)}.post-card h2 a{color:inherit}.post-card h2 a:hover{color:var(--green)}.excerpt{margin:0;font-size:.875rem;color:var(--soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.tag{padding:.125rem .5rem;border-radius:.25rem;border:1px solid;background:var(--tag-bg);color:var(--tag-text);border-color:var(--tag-border)}:root[data-theme=light] .tag{color:color-mix(in oklab, var(--tag-text) 55%, black);background:color-mix(in oklab, var(--tag-bg) 35%, transparent)}a.tag:hover{color:var(--tag-text);border-color:var(--tag-text)}.tag-red{--tag-bg: rgba(127, 29, 29, .4);--tag-text: #f87171;--tag-border: rgba(153, 27, 27, .5)}.tag-yellow{--tag-bg: rgba(113, 63, 18, .4);--tag-text: #facc15;--tag-border: rgba(133, 77, 14, .5)}.tag-green{--tag-bg: rgba(20, 83, 45, .4);--tag-text: #4ade80;--tag-border: rgba(22, 101, 52, .5)}.tag-draft{--tag-bg: var(--panel);--tag-text: var(--dim);--tag-border: var(--border)}:root[data-theme=light] .tag-draft{color:var(--muted)}.post-article{padding:1.5rem}@media(min-width: 768px){.post-article{padding:2rem}}.post-article:hover{border-color:var(--border)}.post-title{margin:0 0 .75rem;font-size:1.375rem;line-height:1.4;color:var(--heading)}@media(min-width: 768px){.post-title{font-size:1.75rem}}.post-lead{margin:0 0 1.5rem;padding-bottom:1.5rem;font-size:.875rem;color:var(--soft);line-height:1.7;border-bottom:1px solid var(--border)}.post-body{font-size:.9375rem;line-height:1.8;color:var(--soft)}.post-body p{margin:0 0 1.125rem}.post-body p:last-child{margin-bottom:0}.post-body a{color:var(--green);text-decoration:underline}.post-body code{padding:.125rem .375rem;border-radius:.25rem;background:var(--panel);color:var(--text);font-size:.875em}.post-body pre{margin:0 0 1.125rem;padding:1rem;overflow-x:auto;border:1px solid var(--border);border-radius:.375rem;background:var(--panel)}.post-body pre code{padding:0;background:none}.post-body blockquote{margin:0 0 1.125rem;padding-left:1rem;border-left:2px solid var(--border);color:var(--muted)}.post-body h1,.post-body h2,.post-body h3,.post-body h4{margin:2rem 0 .75rem;line-height:1.4;color:var(--heading)}.post-body h1{font-size:1.375rem}.post-body h2{font-size:1.1875rem}.post-body h3{font-size:1.0625rem}.post-body h4{font-size:.9375rem}.post-body>:first-child{margin-top:0}.post-body ul,.post-body ol{margin:0 0 1.125rem;padding-left:1.5rem}.post-body li+li{margin-top:.25rem}.post-body li>ul,.post-body li>ol{margin-bottom:0}.post-body ul:has(>li>input[type=checkbox]){padding-left:.25rem;list-style:none}.post-body li>input[type=checkbox]{margin:0 .5rem 0 0;accent-color:var(--green)}.post-body strong{color:var(--text)}.post-body del{color:var(--dim)}.post-body hr{margin:2rem 0;border:0;border-top:1px solid var(--border)}.post-body img{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:.375rem}.post-body img.img-left{margin-left:0}.post-body img.img-right{margin-right:0}.post-body img.img-cover{object-fit:cover}.post-body table{display:block;overflow-x:auto;margin:0 0 1.125rem;border-collapse:collapse;font-size:.875rem}.post-body th,.post-body td{padding:.375rem .75rem;border:1px solid var(--border);text-align:left}.post-body th{color:var(--text);background:var(--panel)}.term-footer{padding-top:1.5rem;border-top:1px solid var(--border);text-align:center;font-size:.75rem;color:var(--dim)}.term-footer p{margin:0 0 .25rem}html:has(.terminal){scroll-padding-bottom:6rem}body.shell:has(>.terminal)>.term-footer{position:sticky;bottom:0;padding-bottom:.75rem;background:linear-gradient(var(--bg), var(--bg)) #fff}.flash-stack{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.flash{margin:0;padding:.75rem 1rem;font-size:.875rem;border:1px solid;border-radius:.5rem}.flash-notice{color:var(--green);border-color:var(--accent-border);background:var(--accent-bg)}.flash-alert{color:var(--red);border-color:var(--danger-border);background:var(--danger-bg)}.auth-card{max-width:24rem}.auth-card:hover{border-color:var(--border)}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-form .field{display:flex;flex-direction:column;gap:.375rem}.auth-form .field-inline{flex-direction:row;align-items:center;gap:.5rem}.auth-form label{font-size:.75rem;color:var(--muted)}.auth-form .field-inline label{color:var(--soft)}.auth-form input[type=email],.auth-form input[type=password]{padding:.625rem .75rem;font-family:inherit;font-size:.875rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:.375rem}.auth-form input[type=email]:focus,.auth-form input[type=password]:focus{outline:none;border-color:var(--green)}.btn{align-self:flex-start;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;cursor:pointer;color:var(--green);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:.375rem}.btn:hover{background:var(--accent-bg-strong)}.term-nav form{margin:0}.link-button{padding:0;font-family:inherit;font-size:inherit;cursor:pointer;color:var(--soft);background:none;border:0}.link-button:hover{color:var(--green)}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.hero-row h2,.post-row h2{cursor:default}.hero-row h2:hover,.post-row h2:hover{color:var(--heading)}.row-actions{display:flex;align-items:center;gap:1rem;margin-top:.75rem;font-size:.875rem}.row-actions form{margin:0}.link-danger{color:var(--red)}.link-danger:hover{color:var(--red-hover)}.form-card{max-width:none}.form-actions{display:flex;align-items:center;gap:1rem}.auth-form input[type=text],.auth-form input[type=datetime-local],.auth-form textarea{padding:.625rem .75rem;font-family:inherit;font-size:.875rem;line-height:1.6;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:.375rem;resize:vertical}.auth-form input[type=text]:focus,.auth-form input[type=datetime-local]:focus,.auth-form textarea:focus{outline:none;border-color:var(--green)}.auth-form input[type=datetime-local]{align-self:flex-start}.auth-form .flash{font-size:.8125rem}.editor-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.editor-tools{display:flex;align-items:center;gap:.25rem}.editor-tools button{padding:.125rem .5rem;font-family:inherit;font-size:.75rem;cursor:pointer;color:var(--muted);background:none;border:1px solid rgba(0,0,0,0);border-radius:.25rem}.editor-tools button:hover{color:var(--soft)}.editor-tools button:disabled{cursor:progress;opacity:.5}.editor-tools button[aria-selected=true]{color:var(--green);border-color:var(--accent-border);background:var(--accent-bg)}.editor-tabs{display:flex;gap:.25rem}.editor-tabs-sep{color:var(--dim);font-size:.75rem}.auth-form textarea.is-dropping{border-color:var(--green);border-style:dashed}.editor-preview{padding:.625rem .75rem;overflow-wrap:anywhere;background:var(--bg);border:1px solid var(--border);border-radius:.375rem}.auth-form .small code{padding:0 .25rem;border-radius:.25rem;background:var(--panel);color:var(--soft)}.image-dialog{width:min(28rem,100vw - 2rem);padding:1.25rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:.5rem}.image-dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(2px)}.image-dialog[open]{display:flex;flex-direction:column;gap:1rem}.image-dialog input[type=number]{width:100%;min-width:0;padding:.5rem .625rem;font-family:inherit;font-size:.875rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:.375rem}.image-dialog input[type=number]:focus{outline:none;border-color:var(--green)}.image-dialog-head{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--green)}.image-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;min-height:8rem;padding:.75rem;cursor:pointer;text-align:center;border:1px dashed var(--border);border-radius:.375rem;background:var(--panel-soft)}.image-drop:hover,.image-drop.is-dropping{border-color:var(--green)}.image-drop img{max-width:100%;max-height:10rem;border-radius:.25rem;object-fit:contain}.image-size{display:flex;align-items:center;gap:.5rem}.image-presets,.image-align{display:flex;gap:.25rem}.image-presets button,.image-align-choice{padding:.125rem .625rem;font-family:inherit;font-size:.75rem;cursor:pointer;color:var(--soft);background:none;border:1px solid var(--border);border-radius:.25rem}.image-presets button:hover,.image-align-choice:hover{border-color:var(--accent-border);color:var(--green)}.auth-form .image-align-choice{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--soft)}.auth-form .image-align-choice input{margin:0;accent-color:var(--green)}.auth-form .image-align-choice:has(input:checked){color:var(--green);border-color:var(--accent-border);background:var(--accent-bg)}.image-snippet{padding:.5rem .625rem;overflow-wrap:anywhere;font-size:.75rem;color:var(--soft);background:var(--panel);border-radius:.25rem}.image-snippet:empty{display:none}.image-dialog .btn:disabled{cursor:not-allowed;opacity:.5}.image-dialog .form-actions .link-button{font-size:.875rem}.tag-picker{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.75rem}.tag-choice{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .5rem .25rem .375rem;border:1px solid var(--border);border-radius:.375rem;background:var(--panel-soft);cursor:pointer}.tag-choice input[type=checkbox]{margin:0;cursor:pointer;accent-color:var(--green)}.tag-choice:hover{border-color:var(--accent-border)}.tag-choice:has(input:checked){border-color:var(--accent-border);background:var(--accent-bg)}.color-field{display:flex;align-items:center;gap:.5rem;max-width:20rem}.color-field input[type=color]{flex:none;width:2.5rem;height:2.5rem;padding:0;background:var(--bg);border:1px solid var(--border);border-radius:.375rem;cursor:pointer}.color-field input[type=color]::-webkit-color-swatch-wrapper{padding:.1875rem}.color-field input[type=color]::-webkit-color-swatch{border:0;border-radius:.1875rem}.color-field input[type=color]::-moz-color-swatch{border:0;border-radius:.1875rem}.color-field input[type=text]{flex:1;min-width:0}
