:root{color-scheme:light dark;--font-head: "Newsreader", "Georgia", "Times New Roman", serif;--font-body: "Plus Jakarta Sans", "Helvetica Neue", "Arial", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Consolas", monospace;--radius-none: 0;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-pill: 999px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--space-4xl: 64px;--space-5xl: 80px;--project-accent: var(--text);--project-bukti: #5b6ee1;--project-probixio: #ff5c00;--project-evolveed: #2a9d8f;--project-t127: #b85c3f;--bg: #fafafa;--bg-alt: #f1f1ef;--surface: #ffffff;--text: #111111;--text-secondary: #6b6b6b;--text-dim: #8a8a8a;--accent: #111111;--accent-hover: #111111;--link: #111111;--link-hover: #111111;--link-visited: #6b6b6b;--border: rgba(17, 17, 17, .14);--border-light: rgba(17, 17, 17, .08);--code-bg: #f1f1ef;--code-border: rgba(17, 17, 17, .1);--highlight: #f0ead6;--shadow: rgba(0, 0, 0, .06);--shadow-lg: rgba(0, 0, 0, .12);--content-width: 720px;--sidenote-width: 240px;--layout-gap: 40px}[data-theme=dark]{--bg: #141414;--bg-alt: #1b1b1b;--surface: #1e1e1e;--text: #eaeaea;--text-secondary: #a3a3a3;--text-dim: #757575;--accent: #eaeaea;--accent-hover: #ffffff;--link: #eaeaea;--link-hover: #ffffff;--link-visited: #8f8f8f;--border: rgba(234, 234, 234, .16);--border-light: rgba(234, 234, 234, .08);--code-bg: #1b1b1b;--code-border: rgba(234, 234, 234, .12);--highlight: #3a3524;--shadow: rgba(0, 0, 0, .3);--shadow-lg: rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #141414;--bg-alt: #1b1b1b;--surface: #1e1e1e;--text: #eaeaea;--text-secondary: #a3a3a3;--text-dim: #757575;--accent: #eaeaea;--accent-hover: #ffffff;--link: #eaeaea;--link-hover: #ffffff;--link-visited: #8f8f8f;--border: rgba(234, 234, 234, .16);--border-light: rgba(234, 234, 234, .08);--code-bg: #1b1b1b;--code-border: rgba(234, 234, 234, .12);--highlight: #3a3524;--shadow: rgba(0, 0, 0, .3);--shadow-lg: rgba(0, 0, 0, .5)}}::selection{background:var(--text);color:var(--bg)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border)}::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}body{font-family:var(--font-body);margin:0;padding:0;background-color:var(--bg);color:var(--text);font-size:16px;line-height:1.65;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1,"liga" 1;transition:background-color .4s ease,color .4s ease}main{max-width:var(--content-width);margin:0 auto;padding:2em 1.5em 4em}.layout-wide main{max-width:calc(var(--content-width) + var(--sidenote-width) + var(--layout-gap))}h1,h2,h3,h4,h5,h6{font-family:var(--font-head);font-weight:500;line-height:1.15;margin:1.8em 0 .5em;color:var(--text);letter-spacing:-.005em}h1{font-size:2.2em;font-weight:400;margin-top:0}h2{font-size:1.5em;font-weight:500;padding-bottom:.3em;border-bottom:1px solid var(--border-light)}h3{font-size:1.25em}h4{font-size:1.1em;font-weight:500}h5{font-family:var(--font-mono);font-size:.72em;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim)}a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:var(--border);transition:text-decoration-color .2s ease,color .2s ease}a:hover{color:var(--link-hover);text-decoration-color:var(--link-hover)}a:visited{color:var(--link-visited)}a:visited:hover{color:var(--link-hover)}.ul{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .2s ease}.ul:hover{background-size:100% 1px}.prose{max-width:var(--content-width);font-family:var(--font-head);font-size:1.12em;line-height:1.7;overflow-wrap:break-word}.prose p{margin-bottom:1.4em;text-align:left;hyphens:auto}.prose>p:first-of-type{font-size:1.05em;color:var(--text-secondary)}.prose h2,.prose h3,.prose h4{font-weight:500}.dropcap:first-letter{float:left;font-family:var(--font-head);font-size:3.4em;line-height:.8;padding-right:.08em;margin-top:.05em;font-weight:400;color:var(--text)}blockquote{border-left:1px solid var(--border);padding:.2em 0 .2em 1.5em;margin:1.5em 0;color:var(--text-secondary);font-style:italic}blockquote p:last-child{margin-bottom:0}code{font-family:var(--font-mono);font-size:.85em;padding:.15em .4em;background-color:var(--code-bg);border:1px solid var(--code-border);border-radius:0}pre{padding:1.2em 1.5em;background-color:var(--code-bg);border:1px solid var(--code-border);border-radius:0;overflow-x:auto;line-height:1.5}pre>code{all:unset;font-family:var(--font-mono);font-size:.85em}table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:.95em}th,td{padding:.6em 1em;text-align:left;border-bottom:1px solid var(--border-light)}th{font-family:var(--font-mono);font-weight:500;font-size:.72em;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);border-bottom:1px solid var(--border)}hr{border:none;border-top:1px solid var(--border);margin:2em 0}img{max-width:100%;height:auto;border-radius:0}.prose iframe{display:block;width:100%;max-width:100%}ul,ol{padding-left:1.5em}li{margin-bottom:.3em}strong,b{font-weight:600}.sc,.smallcaps{font-variant:small-caps;letter-spacing:.03em}.sidenote-container{position:relative}.sidenote{float:right;clear:right;width:var(--sidenote-width);margin-right:calc(-1 * (var(--sidenote-width) + var(--layout-gap)));margin-bottom:1em;font-size:.78em;line-height:1.5;color:var(--text-secondary);font-family:var(--font-body)}.sidenote-number{counter-increment:sidenote-counter}.sidenote-number:after{content:counter(sidenote-counter);font-size:.7em;vertical-align:super;color:var(--text-dim);cursor:pointer}.sidenote:before{content:counter(sidenote-counter) ". ";font-family:var(--font-mono);font-size:.85em;color:var(--text-dim)}.margin-note{float:right;clear:right;width:var(--sidenote-width);margin-right:calc(-1 * (var(--sidenote-width) + var(--layout-gap)));margin-bottom:1em;font-size:.78em;line-height:1.5;color:var(--text-dim);font-style:italic;font-family:var(--font-body)}details{margin:1em 0;border:1px solid var(--border-light);border-radius:0;padding:0}details>summary{padding:.8em 1em;cursor:pointer;font-family:var(--font-body);font-weight:500;font-size:.95em;color:var(--text-secondary);list-style:none;user-select:none}details>summary::-webkit-details-marker{display:none}details>summary:before{content:"▸ ";color:var(--text-dim);transition:transform .15s ease;display:inline-block}details[open]>summary:before{content:"▾ "}details>summary:hover{color:var(--text)}details>div,details>p{padding:0 1em 1em}.abstract{font-size:1.05em;color:var(--text-secondary);border-left:1px solid var(--border);padding:.8em 1.2em;margin:0 0 2em;background:transparent;border-radius:0}.tag{display:inline;padding:0;font-family:var(--font-mono);font-size:.72em;font-weight:400;letter-spacing:.02em;color:var(--text-dim);background:none;border:none;border-radius:0;text-decoration:none;transition:none}.tag+.tag:before{content:"· ";color:var(--text-dim)}a.tag{background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .2s ease}a.tag:hover{color:var(--text);border-color:transparent;background-size:100% 1px}.badge{display:inline;padding:0;font-family:var(--font-mono);font-size:.7em;font-weight:400;text-transform:uppercase;letter-spacing:.14em;border-radius:0;color:var(--text-dim);background:none;border:none}.badge-active,.badge-completed,.badge-planned,.badge-archived{color:var(--text-dim);background:none;border:none}.badge-active{color:var(--text)}.card{border:1px solid var(--border-light);border-radius:0;padding:1.5em;background:transparent;transition:border-color .2s ease}.card:hover{box-shadow:none;border-color:var(--border)}.card a{text-decoration:none}.toc{font-family:var(--font-body);font-size:.88em;border:1px solid var(--border-light);border-radius:0;padding:1em 1.5em;margin:1.5em 0 2em;background:transparent}.toc-title{font-family:var(--font-mono);font-weight:500;font-size:.7em;text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim);margin-bottom:.5em}.toc ul{list-style:none;padding-left:0;margin:0}.toc li{margin-bottom:.2em}.toc ul ul{padding-left:1.2em}.toc a{color:var(--text-secondary);text-decoration:none;border-bottom:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .2s ease}.toc a:hover{color:var(--text);background-size:100% 1px}.reading-progress{position:fixed;top:0;left:0;width:0%;height:1px;background:var(--text);z-index:1000;transition:width .1s linear}.page-header{margin-bottom:2.5em;padding-bottom:1.5em;border-bottom:1px solid var(--border)}.page-header h1{font-size:2.2em;font-weight:400;margin-bottom:.15em}.page-header p{color:var(--text-secondary);font-size:1em}.eyebrow{font-family:var(--font-mono);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:var(--text-dim);margin:0 0 1em}.text-secondary{color:var(--text-secondary)}.text-dim{color:var(--text-dim)}.font-sans{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.sr-only{border:0;padding:0;margin:0;position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}@media(max-width:1100px){.sidenote,.margin-note{float:none;width:100%;margin:.5em 0 1em 1em;padding:.5em .8em;border-left:1px solid var(--border);background:transparent;border-radius:0;font-size:.82em}}@media(max-width:768px){body{font-size:15px;padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}main{padding:1.5em 1em 3em}h1{font-size:1.7em}h2{font-size:1.3em}.page-header{margin-bottom:1.6em;padding-bottom:1em}.page-header h1{font-size:1.85em}pre,.toc{padding:1em}}@media(max-width:430px){main{padding-left:.85em;padding-right:.85em}h1{font-size:1.55em}h2{font-size:1.25em}.writing-item,.experience-list li{padding-top:.9em;padding-bottom:.9em}}@media print{body{background:#fff;color:#000;font-size:12pt}.reading-progress,.theme-toggle,nav,footer{display:none!important}a{color:#000;text-decoration:underline}a[href]:after{content:" (" attr(href) ")";font-size:.85em}}
