*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}:root{--reading-fs:19px;--header-h:56px}:root,:root[data-theme=parchment]{--bg:#f5edd8;--text:#1c120a;--ink:#1c120a;--ink-mid:#3d2b1a;--ink-light:#6b4c2a;--gold:#7a5a0e;--gold-light:#b8924a;--gold-dim:#7a5a0e33;--paper:#fbf6e9;--card:#ead9b8}:root[data-theme=ivory]{--bg:#faf8f5;--text:#1a1410;--ink:#1a1410;--ink-mid:#3a3028;--ink-light:#6a5e50;--gold:#6b5a3e;--gold-light:#9a8060;--gold-dim:#6b5a3e26;--paper:#fff;--card:#f0ede8}:root[data-theme=sepia]{--bg:#e8d0a0;--text:#2a1600;--ink:#2a1600;--ink-mid:#4a2e10;--ink-light:#7a5028;--gold:#8b6010;--gold-light:#c49228;--gold-dim:#8b601040;--paper:#f0e4b8;--card:#d4bc80}:root[data-theme=dim]{--bg:#211b12;--text:#d0bc94;--ink:#d0bc94;--ink-mid:#b09870;--ink-light:#8c7450;--gold:#c4a45a;--gold-light:#d8b870;--gold-dim:#c4a45a2e;--paper:#2a2218;--card:#302818}:root[data-theme=dark]{--bg:#140d06;--text:#e8d5aa;--ink:#e8d5aa;--ink-mid:#c4a870;--ink-light:#9c7840;--gold:#c4a45a;--gold-light:#e8cc88;--gold-dim:#c4a45a33;--paper:#1a1108;--card:#1f1409}:root[data-theme=midnight]{--bg:#080503;--text:#e0cca8;--ink:#e0cca8;--ink-mid:#b89860;--ink-light:#8c7040;--gold:#c4a45a;--gold-light:#e0c080;--gold-dim:#c4a45a26;--paper:#0f0a05;--card:#160f06}:root[data-lang=en] #prose-id,:root[data-lang=en] #toc-id,:root[data-lang=id] #prose-en,:root[data-lang=id] #toc-en{display:none}body{background:var(--bg);color:var(--text);font-family:Crimson Text,Georgia,serif;font-size:var(--reading-fs);line-height:1.8;transition:background .3s,color .3s;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:0;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");position:fixed;inset:0}#read-progress{background:var(--gold);z-index:9999;width:0%;height:2px;transition:width .1s linear;position:fixed;top:0;left:0}header{height:var(--header-h);background:var(--bg);border-bottom:1px solid var(--gold-dim);z-index:100;justify-content:space-between;align-items:center;padding:0 32px;transition:background .3s;display:flex;position:sticky;top:0}.back-link{letter-spacing:2.5px;text-transform:uppercase;color:var(--ink-light);font-family:Cinzel,serif;font-size:10px;text-decoration:none;transition:color .2s}.back-link:hover{color:var(--gold)}.site-brand{color:var(--gold);font-size:18px;text-decoration:none;position:absolute;left:50%;transform:translate(-50%)}.header-right{align-items:center;gap:20px;display:flex}.lang-switch{border:1px solid var(--gold-dim);align-items:center;gap:4px;padding:4px 10px;display:flex}.lang-btn{cursor:pointer;letter-spacing:2px;color:var(--ink-light);background:0 0;border:none;padding:0;font-family:Cinzel,serif;font-size:9px;transition:color .2s}.lang-btn.active,.lang-btn:hover{color:var(--gold)}.lang-sep{color:var(--gold-dim);font-size:11px}.font-controls{border:1px solid var(--gold-dim);align-items:baseline;gap:2px;padding:4px 8px;display:flex}.fs-btn{cursor:pointer;color:var(--ink-light);background:0 0;border:none;padding:0 5px;font-family:Cinzel,serif;line-height:1;transition:color .2s}.fs-btn[data-size=sm]{font-size:11px}.fs-btn[data-size=md]{font-size:14px}.fs-btn[data-size=lg]{font-size:17px}.fs-btn.active,.fs-btn:hover{color:var(--gold)}.theme-wrap{position:relative}#theme-btn{border:1px solid var(--gold-dim);cursor:pointer;color:var(--ink-light);background:0 0;justify-content:center;align-items:center;width:32px;height:32px;transition:color .2s,border-color .2s;display:flex}#theme-btn:hover,#theme-btn[aria-expanded=true]{color:var(--gold);border-color:var(--gold)}#theme-popup{background:var(--paper);border:1px solid var(--gold-dim);z-index:200;flex-direction:column;gap:1px;min-width:152px;padding:6px;display:none;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 8px 28px #0000002e}#theme-popup.open{display:flex}.popup-label{letter-spacing:3px;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold-dim);margin-bottom:4px;padding:6px 10px 8px;font-family:Cinzel,serif;font-size:8px}.t-opt{cursor:pointer;width:100%;color:var(--ink-mid);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;transition:background .15s;display:flex}.t-opt:hover{background:var(--gold-dim)}.t-opt.active .t-name{color:var(--gold)}.t-opt.active .t-swatch{box-shadow:0 0 0 2px var(--gold)}.t-swatch{border:1px solid #0000001f;border-radius:50%;flex-shrink:0;width:14px;height:14px}.t-name{letter-spacing:2px;text-transform:uppercase;color:var(--ink-light);font-family:Cinzel,serif;font-size:9px;transition:color .15s}main{z-index:1;padding:64px 20px 120px;position:relative}article{max-width:680px;margin:0 auto}.article-header{text-align:center;margin-bottom:52px}.article-meta{letter-spacing:2px;text-transform:uppercase;color:var(--ink-light);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;font-family:Cinzel,serif;font-size:10px;display:flex}.meta-dot{color:var(--gold);opacity:.6;font-size:8px}.tag{border:1px solid var(--gold-dim);color:var(--gold);letter-spacing:1.5px;padding:1px 8px;font-size:9px}.article-header h1{color:var(--ink);margin-bottom:16px;font-family:UnifrakturMaguntia,cursive;font-size:clamp(36px,6vw,58px);line-height:1.1}.article-desc{color:var(--ink-light);margin-bottom:32px;font-size:17px;font-style:italic;line-height:1.6}.title-rule{align-items:center;gap:12px;max-width:200px;margin:0 auto;display:flex}.rule-line{background:var(--gold-dim);flex:1;height:1px}.prose{color:var(--ink-mid)}.prose p{margin-bottom:1.5em}.prose>p:first-of-type:first-letter{float:left;color:var(--gold);margin-top:6px;margin-right:8px;font-family:UnifrakturMaguntia,cursive;font-size:4.2em;line-height:.75}.prose h2{letter-spacing:.04em;color:var(--ink);border-bottom:1px solid var(--gold-dim);scroll-margin-top:calc(var(--header-h) + 24px);margin:2.5em 0 .75em;padding-bottom:8px;font-family:Cinzel,serif;font-size:1.25em;font-weight:600}.prose h3{color:var(--ink);letter-spacing:.03em;scroll-margin-top:calc(var(--header-h) + 24px);margin:2em 0 .6em;font-family:Cinzel,serif;font-size:1.05em;font-weight:600}.prose h4{letter-spacing:.06em;text-transform:uppercase;color:var(--gold);margin:1.5em 0 .5em;font-family:Cinzel,serif;font-size:.9em}.prose a{color:var(--gold);text-decoration:underline;text-decoration-color:var(--gold-dim);text-underline-offset:3px;transition:text-decoration-color .2s}.prose a:hover{text-decoration-color:var(--gold)}.prose strong{color:var(--ink);font-weight:600}.prose em{font-style:italic}.prose :not(pre)>code{background:var(--card);color:var(--gold);border:1px solid var(--gold-dim);border-radius:3px;padding:.15em .5em;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.83em}.prose pre{border-top:1px solid var(--gold-dim);border-bottom:1px solid var(--gold-dim);scrollbar-width:thin;scrollbar-color:#c4a45a40 transparent;margin:1.75em -20px;padding:24px 28px;font-size:.84em;line-height:1.65;overflow-x:auto}.prose pre::-webkit-scrollbar{height:3px}.prose pre::-webkit-scrollbar-track{background:0 0}.prose pre::-webkit-scrollbar-thumb{background:#c4a45a40;border-radius:2px}.prose pre::-webkit-scrollbar-thumb:hover{background:#c4a45a80}@media (width>=760px){.prose pre{border:1px solid var(--gold-dim);border-radius:6px;margin:1.75em 0}}.prose .code-block{border-top:1px solid var(--gold-dim);border-bottom:1px solid var(--gold-dim);margin:1.75em -20px;position:relative}@media (width>=760px){.prose .code-block{border:1px solid var(--gold-dim);border-radius:6px;margin:1.75em 0;overflow:hidden}}.prose .code-block pre{border:none;border-radius:0;margin:0}@media (width>=760px){.prose .code-block pre{border:none;border-radius:0;margin:0}}.prose .code-filename{color:var(--gold-light);border-bottom:1px solid var(--gold-dim);white-space:nowrap;text-overflow:ellipsis;letter-spacing:.01em;user-select:none;background:#c4a45a12;padding:7px 14px;font-family:JetBrains Mono,Fira Code,Cascadia Code,monospace;font-size:.76em;overflow:hidden}.prose pre code{color:inherit;font-size:inherit;counter-reset:line;background:0 0;border:none;padding:0}.prose pre .line:before{counter-increment:line;content:counter(line);text-align:right;color:#c4a45a38;user-select:none;pointer-events:none;width:3ch;margin-right:1.75em;display:inline-block}.prose blockquote{border-left:2px solid var(--gold);color:var(--ink-light);margin:1.75em 0;padding:4px 0 4px 24px;font-style:italic}.prose blockquote p{margin-bottom:0}.prose ul,.prose ol{margin:.5em 0 1.5em;padding-left:1.6em}.prose li{margin-bottom:.4em}.prose ul li::marker{color:var(--gold)}.prose ol li::marker{color:var(--gold);font-family:Cinzel,serif;font-size:.85em}.prose img{border:1px solid var(--gold-dim);width:100%;max-width:100%;margin:1.75em 0;display:block}.prose figure{margin:2em 0}.prose figure img{margin:0}.prose figcaption{letter-spacing:2px;text-transform:uppercase;color:var(--ink-light);text-align:center;opacity:.7;margin-top:10px;font-family:Cinzel,serif;font-size:10px}.prose hr{border:none;border-top:1px solid var(--gold-dim);margin:3em 0;position:relative}.prose hr:after{content:"✦";color:var(--gold);background:var(--bg);padding:0 10px;font-size:11px;position:absolute;top:-.65em;left:50%;transform:translate(-50%)}.prose table{border-collapse:collapse;width:100%;margin:1.75em 0;font-size:.9em;display:block;overflow-x:auto}.prose th{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid var(--gold-dim);text-align:left;white-space:nowrap;padding:10px 14px;font-family:Cinzel,serif;font-size:.75em}.prose td{border-bottom:1px solid var(--gold-dim);color:var(--ink-mid);padding:9px 14px}.article-footer{flex-direction:column;align-items:center;gap:24px;margin-top:64px;padding-top:32px;display:flex}.article-footer .rule-line{width:100%}.back-to-list{letter-spacing:3px;text-transform:uppercase;color:var(--ink-light);font-family:Cinzel,serif;font-size:10px;text-decoration:none;transition:color .2s}.back-to-list:hover{color:var(--gold)}#lightbox{z-index:9500;display:none;position:fixed;inset:0}#lb-bg{background:#08050300;transition:background .38s;position:absolute;inset:0}#lightbox.lb-modal #lb-bg{background:#080503e6}#lightbox.lb-full #lb-bg{background:#080503f7}#lb-img{-webkit-user-drag:none;object-fit:fill;position:fixed}#lb-close{color:#c4a45a80;cursor:pointer;z-index:1;opacity:0;pointer-events:none;background:0 0;border:1px solid #c4a45a40;justify-content:center;align-items:center;width:36px;height:36px;transition:opacity .3s,color .2s,border-color .2s;display:flex;position:absolute;top:20px;right:24px}#lightbox.lb-modal #lb-close,#lightbox.lb-full #lb-close{opacity:1;pointer-events:auto}#lb-close:hover{color:#c4a45a;border-color:#c4a45a99}#lb-hint{letter-spacing:3px;text-transform:uppercase;color:#c4a45a66;white-space:nowrap;pointer-events:none;opacity:0;font-family:Cinzel,serif;font-size:8px;transition:opacity .4s;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}#lightbox.lb-modal #lb-hint{opacity:1}#lightbox.lb-full #lb-hint{opacity:0}.prose img{cursor:zoom-in}.toc-wrap{top:calc(var(--header-h) + 40px);width:200px;max-height:calc(100vh - var(--header-h) - 80px);z-index:10;display:none;position:fixed;left:calc(50% + 360px);overflow-y:auto}@media (width>=1200px){.toc-wrap{display:block}}.toc-label{letter-spacing:3px;text-transform:uppercase;color:var(--gold);opacity:.7;margin-bottom:12px;font-family:Cinzel,serif;font-size:8px}.toc-list{border-left:1px solid var(--gold-dim);padding-left:14px;list-style:none}.toc-item{margin-bottom:8px}.toc-h3{padding-left:10px}.toc-link{letter-spacing:.3px;color:var(--ink-light);opacity:.6;font-family:Cinzel,serif;font-size:9.5px;line-height:1.45;text-decoration:none;transition:color .2s,opacity .2s;display:block}.toc-link:hover,.toc-link.active{color:var(--gold);opacity:1}.post-nav{border-top:1px solid var(--gold-dim);grid-template-columns:1fr 1fr;gap:24px;max-width:680px;margin:0 auto;padding:40px 20px 80px;display:grid}.post-nav-prev{justify-self:start}.post-nav-next{text-align:right;justify-self:end}.post-nav-link{flex-direction:column;gap:6px;max-width:280px;text-decoration:none;display:flex}.post-nav-dir{letter-spacing:2.5px;text-transform:uppercase;color:var(--gold);opacity:.6;font-family:Cinzel,serif;font-size:9px;transition:opacity .2s}.post-nav-title{color:var(--ink-light);font-family:Crimson Text,Georgia,serif;font-size:16px;font-style:italic;line-height:1.35;transition:color .2s}.post-nav-link:hover .post-nav-dir{opacity:1}.post-nav-link:hover .post-nav-title{color:var(--ink)}.copy-btn{color:#c4a45a8c;cursor:pointer;opacity:0;z-index:1;background:#c4a45a14;border:1px solid #c4a45a33;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:opacity .2s,color .2s,background .2s;display:flex;position:absolute;top:10px;right:10px}.code-block:hover .copy-btn{opacity:1}.copy-btn:hover{color:#c4a45a;background:#c4a45a2e}.copy-btn.copied{color:#7ab87a;opacity:1;background:#7ab87a14;border-color:#7ab87a59}.subscribe-wrap{text-align:center;max-width:680px;margin:0 auto;padding:56px 24px 0}.subscribe-rule{align-items:center;gap:10px;max-width:180px;margin:0 auto 32px;display:flex}.subscribe-rule .rule-line{background:var(--gold-dim);flex:1;height:1px}.subscribe-eye{letter-spacing:7px;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-family:Cinzel,serif;font-size:9px}.subscribe-heading{color:var(--text);margin-bottom:14px;font-family:UnifrakturMaguntia,cursive;font-size:clamp(32px,5vw,48px);line-height:1}.subscribe-sub{color:var(--ink-light);max-width:420px;margin:0 auto 32px;font-size:16px;font-style:italic;line-height:1.65}.subscribe-form{max-width:400px;margin:0 auto}.subscribe-field{border:1px solid var(--gold-dim);transition:border-color .2s;display:flex}.subscribe-field:focus-within{border-color:var(--gold)}.subscribe-input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:12px 16px;font-family:Crimson Text,Georgia,serif;font-size:16px}.subscribe-input::placeholder{color:var(--ink-light);opacity:.6}.subscribe-btn{background:var(--ink);color:var(--bg);cursor:pointer;letter-spacing:2.5px;text-transform:uppercase;border:none;flex-shrink:0;padding:12px 22px;font-family:Cinzel,serif;font-size:9px;transition:background .25s,letter-spacing .25s}.subscribe-btn:hover{background:var(--gold);letter-spacing:4px}.subscribe-note{letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-light);opacity:.6;margin-top:12px;font-family:Cinzel,serif;font-size:8px}::selection{background:#c4a45a40}
