:root{--madoku-journal-css-source-sha:"537f0aecfbbdee3158bf01e8dadd1ca45bf0a56893525f5f3af332798044f879";--popover-width-compact:200px;--popover-width-standard:320px;--popover-width-wide:400px;--window-height:268px;--window-surface:var(--surface-up);--surface-destructive-confirmation:#1c0d11;--window-header:#1f2026;--window-actions:rgba(29,31,37,.5);--window-row-height:30px;--calendar-hover:var(--surface-hover);--calendar-range:#303138;--calendar-preview:#202127;--window-icon-size:15px;--window-icon-gap:7px;--window-inset:15px;--window-scroll-fade:linear-gradient(to bottom, rgba(24,25,30,.5), rgba(24,25,30,.45) 50%, rgba(24,25,30,0));--standalone-content-surface:transparent;--journal-artwork-detail:var(--surface-base);--workspace-canvas:#050505;--workspace-panel:#111217;--workspace-popover:#18191e;--workspace-field:rgba(255,255,255,.05);--workspace-text:rgba(255,255,255,.5);--workspace-muted:rgba(255,255,255,.4);--workspace-placeholder:rgba(255,255,255,.3);--workspace-strong:rgba(255,255,255,.9);--workspace-selected:#fff;--workspace-font-family:-apple-system, BlinkMacSystemFont, "SF Pro", sans-serif;--workspace-font-label:12px;--workspace-font-body:14px;--workspace-line-label:20px;--workspace-line-body:25px;--workspace-radius-panel:5px;--workspace-radius-control:3px;--workspace-radius-checkbox:4px;--selection-outline:rgba(114,115,120,.6);--selection-outline-hover:#77787e;--mds-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 25'%3E%3Cg fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 16L21 21'/%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3C/g%3E%3C/svg%3E");--mds-plus:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225%22%20height%3D%2225%22%20viewBox%3D%220%200%2025%2025%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.5H20%22%2F%3E%3Cpath%20d%3D%22M12.5%205V20%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);--mds-minus:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2225%22%20height%3D%2225%22%20viewBox%3D%220%200%2025%2025%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22white%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2012.5H20%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E);--mds-checkmark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath d='m4 7.5 2.5 2.5L11 5' fill='none' stroke='%230a0a0a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-family:var(--workspace-font-family);--font-size-content:14px;--font-size-label:12px;--font-size-subheading:14px;--font-size-large:18px;--line-height-content:25px;--task-row-height:30px;--task-row-highlight:rgba(41,163,92,.13);--mds-icon-ink:#fff;--mds-icon-opacity:var(--icon-opacity-standard);--icon-secondary-ink:#888990;--letter-spacing-content:0;--page-padding:25px;--page-gap-m:25px;--section-gap-m:15px;--block-gap-m:10px;--group-gap-m:5px;--element-height-s:20px;--element-height-m:30px;--element-padding-inline-s:5px;--element-padding-inline-m:10px;--select-chevron:url(data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m7%2015%205%205%205-5%27%2F%3E%3Cpath%20d%3D%27m7%209%205-5%205%205%27%2F%3E%3C%2Fsvg%3E);--element-radius:3px;--motion-hover:.15s ease;--ref-white:#fff;--ref-green:#47d181;--ref-blue:#5abff2;--task-drag-color:var(--ref-blue);--task-drag-feedback:color-mix(in srgb, var(--task-drag-color) 20%, transparent);--folder-blue:#66a6ff;--editing-yellow:#fbe160;--surface-base:var(--workspace-canvas);--surface-1:#0b0c10;--surface-2:var(--workspace-panel);--surface-3:#17181d;--surface-up:var(--workspace-popover);--surface-hover:#292b33;--surface-comments:var(--workspace-panel);--shadow:0 6px 40px 1px rgba(0,0,0,.45);--overlay-neutral:var(--ref-white);--contrast:#fafafa;--on-contrast:#0a0a0a;--text-heading:var(--workspace-strong);--text:var(--workspace-text);--text-muted:var(--workspace-muted);--text-subtle:var(--workspace-placeholder);--icon:var(--workspace-strong);--icon-muted:var(--workspace-text);--link:var(--ref-blue);--link-hover:#9df;--success:var(--ref-green);--danger:#e87d7d;--stroke:rgba(255,255,255,.1);--disabled-bg:color-mix(in srgb, var(--overlay-neutral) 5%, transparent);--disabled-stroke:color-mix(in srgb, var(--overlay-neutral) 10%, transparent);--disabled-text:#6b6b6b;--disabled-icon:#5c5c5c;--foreground-neutral:#fff;--icon-opacity-standard:.5;--icon-opacity-quiet:.4;--icon-opacity-placeholder:.3;--field-bg:rgba(255,255,255,.05);--field-bg-hover:rgba(255,255,255,.08);--danger-hover:#ffc1c1;--scrollbar-control:#45464b;--board-column-outline:rgba(255,255,255,.06);--task-group-outline:rgba(255,255,255,.2);--task-group-background:#303138;--gantt-grid:rgba(255,255,255,.05);--gantt-bar:var(--surface-hover);--gantt-bar-hover:var(--text-subtle);--gantt-bar-outline:none;--gantt-handle-ink:var(--text-heading);--gantt-handle-width:2px;--status-choice-opacity:.6;--choice-focus-decoration:none;--search-result-feedback:transparent;--editor-table-selected:color-mix(in srgb, var(--overlay-neutral) 25%, transparent);--editor-text-selection:color-mix(in srgb, var(--success) 25%, transparent);--gantt-today-opacity:.4;--gantt-dependency-opacity:.45;--gantt-dependency-active-opacity:.75;--caption-opacity:.5;--attachment-count-opacity:.55;--editor-highlight-background:#3b2b08;--editing-highlight-background:color-mix(in srgb, var(--editing-yellow) 15%, transparent);--editor-table-border:#414141;--task-doing-ink:#d07a25;--task-doing-fill:#71471e;--task-review-ink:#30a69c;--page-divider:rgba(255,255,255,.08);--navigation-heading:rgba(255,255,255,.3);--navigation-divider-hover:#292a2e;--catalogue-label:#4e4e4e;--service-warning:#f2a65a;--technology-codex:#fff;--highlight-bg:color-mix(in srgb, var(--overlay-neutral) 5%, transparent);--highlight-success-bg:color-mix(in srgb, var(--success) 13%, transparent);--highlight-link-bg:color-mix(in srgb, var(--link) 5%, transparent);--highlight-link-hover-bg:color-mix(in srgb, var(--link) 13%, transparent);--scrollbar:color-mix(in srgb, var(--overlay-neutral) 5%, transparent)}:root[data-madoku-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--workspace-canvas:#f2f3f5;--workspace-panel:#fff;--standalone-content-surface:#fff;--journal-artwork-detail:#fff;--workspace-popover:#fff;--workspace-field:rgba(24,32,48,.05);--workspace-text:#454b55;--workspace-muted:#5e6673;--workspace-placeholder:#5e6673;--workspace-strong:#202329;--workspace-selected:#202329;--surface-1:#fff;--surface-3:#fff;--surface-hover:#e9ebef;--surface-destructive-confirmation:#fff0f2;--window-header:#fafbfc;--window-actions:rgba(236,239,244,.85);--calendar-range:#e2e6ed;--calendar-preview:#edf0f5;--window-scroll-fade:linear-gradient(to bottom, rgba(255,255,255,.5), rgba(255,255,255,.45) 50%, rgba(255,255,255,0));--selection-outline:#6d7785;--selection-outline-hover:#6d7785;--task-row-highlight:#dff6e9;--highlight-success-bg:#dff6e9;--mds-icon-ink:#202329;--icon-secondary-ink:#5e6673;--foreground-neutral:#202329;--icon-opacity-standard:.64;--icon-opacity-quiet:.6;--icon-opacity-placeholder:.56;--ref-green:#00763d;--ref-blue:#005fd1;--folder-blue:#005fd1;--editing-yellow:#806000;--shadow:0 6px 30px 1px rgba(24,32,48,.14);--overlay-neutral:#202329;--contrast:#202329;--on-contrast:#fff;--link-hover:#004db3;--danger:#c71936;--danger-hover:#ae102d;--stroke:#d6dbe2;--disabled-text:#818995;--disabled-icon:#9199a5;--field-bg:rgba(24,32,48,.05);--field-bg-hover:rgba(24,32,48,.08);--scrollbar-control:#afb6c1;--scrollbar:#c6ccd5;--board-column-outline:#dce1e8;--task-group-outline:#aab3c0;--task-group-background:#e5e8ee;--gantt-grid:#e2e6ed;--gantt-bar:#dbe7f2;--gantt-bar-hover:#c6dbee;--gantt-bar-outline:inset 0 0 0 1px #50677d;--gantt-handle-ink:#111820;--gantt-handle-width:3px;--status-choice-opacity:1;--choice-focus-decoration:underline;--search-result-feedback:var(--surface-hover);--editor-table-selected:#edf0f3;--editor-text-selection:#dff6e9;--task-drag-feedback:#d9eaf5;--gantt-today-opacity:.8;--gantt-dependency-opacity:.8;--gantt-dependency-active-opacity:1;--caption-opacity:1;--attachment-count-opacity:1;--editor-highlight-background:#fff3b8;--editing-highlight-background:#fff3b8;--editor-table-border:#6d7785;--task-doing-ink:#9f4c00;--task-doing-fill:#c26700;--task-review-ink:#007078;--status-backlog-artwork:#64748b;--status-todo-artwork:#2563eb;--status-doing-artwork:#c26700;--status-review-artwork:#00858f;--status-paused-artwork:#7c3aed;--status-done-artwork:#00894b;--page-divider:#dce1e8;--navigation-heading:#5e6673;--navigation-divider-hover:#d8dde5;--catalogue-label:#5e6673;--service-warning:#9f4c00;--technology-codex:#202329;--mds-checkmark:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15'%3E%3Cpath d='m4 7.5 2.5 2.5L11 5' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}@media (width<=500px){:root{--page-padding:25px}}@media (prefers-reduced-motion:reduce){:root{--motion-hover:0s}}[hidden]{display:none!important}*,:before,:after{box-sizing:border-box}:where(:focus-visible){outline:0}:where(html,body){margin:0}html{background-color:var(--surface-base);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100dvh;color:var(--text);font-family:var(--font-family);font-size:var(--font-size-content);line-height:var(--line-height-content);letter-spacing:var(--letter-spacing-content);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-heading{color:var(--text-heading)}.text-muted{color:var(--text-muted)}.text-subtle{color:var(--text-subtle)}:where(h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd){margin:0}:where(ul,ol){margin:0;padding:0;list-style:none}:where(fieldset){border:0;margin:0;padding:0}:where(button,input,select,textarea){color:inherit;font:inherit;line-height:var(--line-height-content);letter-spacing:inherit;word-spacing:inherit;margin:0}:where(button){appearance:none;cursor:pointer;background:0 0;border:0;padding:0}:where(select){cursor:pointer}*{scrollbar-color:var(--scrollbar) transparent}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:3px}:where(a:any-link){color:var(--link);text-decoration:none}:where(a:any-link:hover){color:var(--link-hover)}:where(a:any-link:focus-visible){outline:2px solid var(--text-muted);outline-offset:2px}:where(a:any-link,button,input,select,textarea,.control,.crumb,.tab,.popover-item,.task-priority,.task-parameter-trigger,.task-row-title,.task-row-assignee,.task-row-deadline){transition:color var(--motion-hover), background-color var(--motion-hover), box-shadow var(--motion-hover), outline-color var(--motion-hover), text-decoration-color var(--motion-hover), filter var(--motion-hover)}:where(svg.lucide,svg[data-mds-icon],.popover-item__leading,.popover-item__trailing){transition:color var(--motion-hover), opacity var(--motion-hover)}:where(input,textarea){background:0 0;border:0}:where(input,textarea)::placeholder{color:var(--text-subtle);opacity:1}:where(textarea){resize:vertical}:where(button:disabled,select:disabled){cursor:default}:where(img,picture,svg,canvas,video){max-width:100%;display:block}:where(img,video){height:auto}:where(input,textarea,[contenteditable=true]){caret-color:var(--success)}:where(.inherit-caret){caret-color:auto}.text-content{font-size:var(--font-size-content);line-height:var(--line-height-content);font-weight:400}.text-reading{font-size:var(--font-size-content);line-height:175%}.text-title{font-size:var(--font-size-large);letter-spacing:0;font-weight:400;line-height:150%}.text-title--inline{display:inline}.text-inline{font:inherit;letter-spacing:inherit;display:inline}.text-plain{letter-spacing:0}.text-accent{color:var(--editing-yellow)}.link{width:fit-content;color:var(--link);font-size:var(--font-size-label);line-height:var(--line-height-content)}.link--content{font-size:var(--font-size-content)}.link--content:hover{color:var(--link-hover)}.link--muted{color:inherit;font-size:inherit;line-height:inherit;white-space:nowrap}.link--muted:hover{color:var(--text-heading)}.text-highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone}.text-highlight:where(:not(a:any-link)){transition:background-color var(--motion-hover)}.text-highlight--success{--text-highlight-background:var(--highlight-success-bg)}.text-highlight--link{--text-highlight-background:var(--highlight-link-hover-bg)}.text-highlight:hover,[data-text-highlight-trigger]:hover>.text-highlight{background-color:var(--text-highlight-background,var(--highlight-bg))}.text-highlight:focus-visible{background-color:var(--text-highlight-background,var(--highlight-bg))}[data-text-highlight-trigger]:focus-visible>.text-highlight{background-color:var(--text-highlight-background,var(--highlight-bg))}[data-text-highlight-trigger]:focus-visible{outline:2px solid var(--text-muted);outline-offset:2px}@media (prefers-reduced-motion:reduce){.text-highlight{transition:none}}.text-choice{cursor:pointer;background:0 0;border:0;padding:0}.text-choice[aria-pressed=true]{color:var(--text-heading);text-underline-offset:3px;text-decoration:underline}.text-choice:focus-visible{outline:1px solid var(--text-muted);outline-offset:3px}.mds-symbol{background:var(--mds-icon-ink);width:25px;height:25px;opacity:var(--mds-icon-opacity);transition:opacity var(--motion-hover);pointer-events:none;flex:none;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.mds-symbol--plus{-webkit-mask-image:var(--mds-plus);mask-image:var(--mds-plus)}.mds-symbol--minus{-webkit-mask-image:var(--mds-minus);mask-image:var(--mds-minus)}.mds-symbol--compact{width:20px;height:20px}@media (prefers-reduced-motion:no-preference){:where(button,a,summary,[role=button]) .mds-symbol{will-change:opacity}}:where(button,a,summary,[role=button]):not(:is(:disabled,[aria-disabled=true])):is(:hover,:focus-visible,:active)>.mds-symbol{opacity:1}details[open]:not([data-expanded=false])>summary>.mds-symbol--disclosure{-webkit-mask-image:var(--mds-minus);mask-image:var(--mds-minus)}html:has(.journal-page){scrollbar-gutter:stable}@supports not (scrollbar-gutter:stable){html:has(.journal-page){overflow-y:scroll}}.journal-page{background:var(--standalone-content-surface);max-inline-size:760px;padding-block:clamp(40px,15svh,200px) 75px;padding-inline:50px var(--page-padding);margin-inline:auto}.journal-header{justify-content:space-between;align-items:center;gap:var(--section-gap-m);flex-wrap:wrap;margin-block-end:25px;display:flex}.journal-logo{margin:0;line-height:30px}.journal-entries{gap:var(--section-gap-m);flex-direction:column;display:flex}.journal-timeline-title{margin-block-end:var(--block-gap-m)}.journal-entry{scroll-margin-block-start:var(--page-padding)}.journal-summary{cursor:pointer;list-style:none;display:block;position:relative}.journal-summary::-webkit-details-marker{display:none}.journal-marker{position:absolute;inset-block-start:5px;inset-inline-start:-30px}.journal-body{overflow:hidden}.journal-disclosure[open]:not([data-expanded=false]){margin-block-end:var(--section-gap-m)}.journal-body-inner{overflow-wrap:anywhere;padding-block-start:7px}.journal-introduction{margin-block-end:48px}.journal-introduction-opening+p{margin-block-start:var(--section-gap-m)}@media (width<=500px){.journal-page{padding-block-start:48px;padding-inline:32px 24px}}.journal-footer{gap:var(--section-gap-m);flex-direction:column;margin-block-start:80px;display:flex}.journal-footer-contact,.journal-footer-identity,.journal-technologies{align-items:center;gap:var(--section-gap-m);flex-wrap:wrap;display:flex}.journal-footer-contact{justify-content:space-between}.journal-footer-status{min-inline-size:0;max-inline-size:100%;inline-size:min(100%, calc(24ch + 16px + var(--block-gap-m)))}.journal-status-content{align-items:center;gap:var(--block-gap-m);inline-size:100%;min-inline-size:0;max-inline-size:100%;min-block-size:var(--line-height-content);vertical-align:middle;display:inline-flex}.journal-status-icon{color:var(--text-muted);flex:none}.journal-status-label{white-space:normal;overflow-wrap:anywhere;min-inline-size:0}.journal-status-content[data-service-state=operational]>.journal-status-icon{color:var(--success)}.journal-status-content[data-service-state=downtime]>.journal-status-icon{color:var(--danger)}.journal-status-content[data-service-state=degraded]>.journal-status-icon,.journal-status-content[data-service-state=maintenance]>.journal-status-icon{color:var(--service-warning)}.journal-technology{--logo-detail:var(--journal-artwork-detail);--logo-accent:currentColor;opacity:.7;color:var(--text-subtle);transition:color var(--motion-hover), opacity var(--motion-hover);align-items:center;display:inline-flex}.journal-technology svg :is(path,stop){transition:fill var(--motion-hover), stop-color var(--motion-hover)}.journal-technology:hover{--logo-accent:#faae40;opacity:1;color:var(--logo-color)}.journal-technology:focus-visible{--logo-accent:#faae40;opacity:1;color:var(--logo-color)}.journal-technology.rust{--logo-color:#ce422b}.journal-technology.postgresql{--logo-color:#336791}.journal-technology.cloudflare{--logo-color:#f38020}.journal-technology.hetzner{--logo-color:#d50c2d}.journal-technology.codex{--logo-color:var(--technology-codex)}.journal-technology.docker{--logo-color:#2496ed}.journal-technology.codex:hover{--codex-start:#b1a7ff;--codex-middle:#7a9dff;--codex-end:#3941ff}.journal-technology.codex:focus-visible{--codex-start:#b1a7ff;--codex-middle:#7a9dff;--codex-end:#3941ff}.journal-body-inner p+p{margin-block-start:var(--section-gap-m)}.journal-theme{align-items:baseline;gap:var(--block-gap-m);flex-wrap:wrap;display:flex}