:root{--color-bg: #17161d;--color-text: #bcbac4;--color-accent: #875e62;--color-surface: #26242e;--color-muted: #615e6e;--color-border: #34323e;--color-prompt: #4db36f;--bg-image: none;--bg-image-opacity: 0.35}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{height:100vh;overflow:hidden}body{height:100vh;overflow:hidden;background:var(--color-bg);color:var(--color-text);font-family:"IBM Plex Sans","Segoe UI","Noto Sans",system-ui,sans-serif;font-size:1rem;line-height:1.7;display:flex;flex-direction:column}a{color:var(--color-accent);text-decoration:none;border-bottom:1px dotted var(--color-accent);padding-bottom:0.1em;transition:border-bottom-style 0.3s ease}a:hover{border-bottom-style:solid}img{max-width:100%;height:auto;display:block}::selection{background:var(--color-accent);color:var(--color-bg)}h1,h2,h3{font-family:"IBM Plex Sans","Segoe UI","Noto Sans",system-ui,sans-serif;line-height:1.2;margin-bottom:.5rem;text-shadow:0 1px 3px rgba(12,11,15,0.4)}h1{font-size:1.8rem}h2{font-size:1.4rem}h3{font-size:1.15rem}p{margin-bottom:1rem}blockquote{margin-left:0.8em;padding-left:1rem;border-left:2px solid var(--color-border);color:var(--color-muted)}blockquote p{margin-bottom:.5rem}code{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.9em;color:var(--color-text);background:var(--color-surface);padding:0.1em 0.3em;border-radius:3px}pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem;overflow-x:auto;margin-bottom:1rem}pre code{background:none;padding:0;border-radius:0;font-size:0.85em}.bg-photo{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-2;pointer-events:none;background-image:var(--bg-image, none);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:var(--bg-image-opacity, 0.35)}@keyframes scanline-scroll{from{background-position:0 0,      center}to{background-position:0 4px,    center}}.crt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;pointer-events:none;background:repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0,0,0,0.04) 2px, rgba(0,0,0,0.04) 4px),radial-gradient(ellipse 90% 85% at 50% 50%, transparent 45%, rgba(0,0,0,0.35) 100%);animation:scanline-scroll 10s linear infinite;box-shadow:inset 0 0 120px rgba(140,160,230,0.1),inset 0 0 40px rgba(140,160,230,0.06)}.backdrop{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;overflow:hidden}.backdrop canvas{display:block;width:100%;height:100%}.site-container{display:grid;grid-template-columns:20rem 1fr;gap:1rem;max-width:100rem;margin:0 auto;padding:2rem;flex:1;overflow:hidden}.sidebar{position:sticky;top:2rem;align-self:start;max-height:calc(100vh - 2rem * 2);overflow-y:auto;margin-left:-2rem}.sidebar-back{display:inline-block;font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem;color:var(--color-muted);text-decoration:none;padding:.5rem 1rem;border-radius:3px;transition:color 0.12s ease}.sidebar-back:hover{color:var(--color-text)}.content{min-width:0;overflow:hidden;display:flex;gap:1rem}@media (max-width: 48rem){.site-container{grid-template-columns:1fr;padding:1rem}.sidebar-{display:none}.content{flex-direction:column}}.top-toolbar{z-index:100;width:100%;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;height:1.75rem;padding:0 1rem;background:rgba(28,27,34,0.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(95,92,112,0.1)}.toolbar-items{display:flex;list-style:none;margin:0;padding:0;gap:1rem}.toolbar-btn{background:none;border:none;padding:0.1em 0.4em;margin:0;font-family:"IBM Plex Sans","Segoe UI","Noto Sans",system-ui,sans-serif;font-size:0.75rem;color:var(--color-text);cursor:pointer;border-radius:3px;text-decoration:none}.toolbar-btn:hover{background:rgba(95,92,112,0.2)}.toolbar-icons{display:flex;align-items:center;gap:1rem}.toolbar-clock,.toolbar-moon{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.7rem;color:var(--color-text);opacity:0.7;white-space:nowrap}.about-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(9,9,12,0.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity 0.25s ease}.about-overlay.visible{opacity:1;pointer-events:auto}.about-window{width:min(36rem, 90vw);max-height:70vh;display:flex;flex-direction:column;background:#26242e;border:1px solid #34323e;border-radius:8px;overflow:hidden}.about-titlebar{display:flex;justify-content:space-between;align-items:center;height:2rem;padding:0 .5rem 0 1rem;background:rgba(28,27,34,0.9);font-family:"IBM Plex Sans","Segoe UI","Noto Sans",system-ui,sans-serif;font-size:0.75rem;color:#615e6e;flex-shrink:0}.about-close{background:none;border:none;color:#615e6e;font-size:1rem;cursor:pointer;padding:0 0.3em;line-height:1}.about-close:hover{color:var(--color-text)}.about-content{padding:1rem 2rem;overflow-y:auto;font-family:"IBM Plex Sans","Segoe UI","Noto Sans",system-ui,sans-serif;font-size:0.85rem;line-height:1.7;color:var(--color-text)}.about-content h1,.about-content h2,.about-content h3{margin:1em 0 0.4em;color:var(--color-text)}.about-content p{margin:0 0 0.8em}.about-content a{color:#875e62;text-decoration:underline}@media (max-width: 48rem){.toolbar-items{gap:.5rem}.toolbar-btn{font-size:0.7rem}.toolbar-clock{display:none}.toolbar-moon{font-size:0.65rem}}.nav-landing{position:fixed;inset:0;width:100%;height:100%;z-index:100;pointer-events:none;display:flex;align-items:center;justify-content:center}.nav-stage{position:relative;width:28rem;min-height:20rem;pointer-events:none}.nav-toggle{pointer-events:auto;position:absolute;inset:0;margin:auto;z-index:2;background:none;border:none;cursor:pointer;width:21rem;height:21rem;padding:0}.nav-spiral{width:100%;height:100%;object-fit:contain;transition:opacity 0.4s ease}.nav-open .nav-spiral{opacity:0;pointer-events:none}.nav-window{pointer-events:auto;position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(38,36,46,0.35), rgba(38,36,46,0.35)),url("/assets/images/spiral-window.jpg") center/cover no-repeat;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;flex-direction:column;overflow:hidden}.nav-window-titlebar{display:flex;align-items:center;height:2rem;padding:0 1rem;border-bottom:1px solid rgba(95,92,112,0.1);user-select:none;flex-shrink:0}.nav-window-path{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem}.nav-window-body{padding:1rem 2rem;flex:1}.nav-branches{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;filter:drop-shadow(0 0 3px rgba(255,255,255,0.5)) drop-shadow(0 0 8px rgba(255,255,255,0.25))}.nav-corner{position:absolute;pointer-events:none;opacity:0;text-decoration:none;border-bottom:none !important;padding:.5rem;transition:opacity 0.2s ease}.nav-corner.nav-corner-visible{opacity:1;pointer-events:auto}.nav-closing .nav-corner{opacity:0;pointer-events:none;transition:opacity 0.2s ease}.title-gif{position:fixed;top:1px;left:50%;transform:translateX(-50%);display:block;width:50rem;height:auto;z-index:101;pointer-events:none;transition:opacity 0.2s ease}.nav-corner-gif{display:block;width:36rem;height:auto;filter:drop-shadow(0 0 4px rgba(255,255,255,0.5)) drop-shadow(0 0 12px rgba(255,255,255,0.2))}.nav-tl{top:25%;left:25%;transform:translate(-50%, -50%)}.nav-tr{top:25%;right:25%;transform:translate(50%, -50%)}.nav-bl{bottom:25%;left:25%;transform:translate(-50%, 50%)}.nav-br{bottom:25%;right:25%;transform:translate(50%, 50%)}@media (max-width: 48rem){.nav-stage{width:90vw;min-height:14rem}.nav-toggle{width:14rem;height:14rem}.title-gif{width:25rem;top:5em}.nav-corner-gif{width:12rem}.nav-tl{top:25%;left:25%;transform:translate(-50%, -50%)}.nav-tr{top:25%;right:25%;transform:translate(50%, -50%)}.nav-bl{bottom:25%;left:25%;transform:translate(-50%, 50%)}.nav-br{bottom:25%;right:25%;transform:translate(50%, 50%)}}.window{background:rgba(38,36,46,0.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(95,92,112,0.15);border-radius:8px;display:flex;flex-direction:column;overflow:hidden}.window-titlebar{display:flex;align-items:center;height:2rem;padding:0 1rem;border-bottom:1px solid rgba(95,92,112,0.1);user-select:none;flex-shrink:0}.window-path{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-body{padding:2rem;flex:1;overflow-y:auto}.window-post{flex:1}.peripheral-area{width:18rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;visibility:hidden}.peripheral-area.has-peripherals{visibility:visible}.window-peripheral{width:100%;max-height:50%;font-size:0.9em;display:flex;flex-direction:column;overflow:hidden}.window-peripheral .window-titlebar{justify-content:space-between}.peripheral-close{background:none;border:none;color:var(--color-muted);font-size:1rem;cursor:pointer;padding:0 0.25rem;line-height:1}.peripheral-close:hover{color:var(--color-accent)}.peripheral-glyph{cursor:pointer;color:var(--color-accent);font-size:0.9em;margin-left:0.25em;user-select:none;transition:color 0.15s ease}.peripheral-glyph:hover,.peripheral-glyph:focus{color:var(--color-text);outline:none}.peripheral-glyph--active{color:var(--color-text)}.post-header{margin-bottom:2rem}.post-title{position:sticky;top:0;z-index:10;padding:.5rem 0;background:rgba(38,36,46,0.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-muted);filter:url(#diamond-halftone)}.post-meta{color:var(--color-muted);font-size:0.85rem;margin-top:.5rem;display:flex;flex-wrap:wrap;gap:1rem}.tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}.tags li{font-size:0.8rem;color:var(--color-muted);border:1px solid var(--color-border);border-radius:3px;padding:0.1em 0.5em}.window-peripheral details,.post-body details{background:rgba(38,36,46,0.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(95,92,112,0.12);border-radius:8px;padding:1rem;margin-bottom:1rem}.window-peripheral summary,.post-body summary{cursor:pointer;color:var(--color-accent);font-size:0.85rem;margin-bottom:.5rem;user-select:none;list-style:none}.window-peripheral summary::-webkit-details-marker,.post-body summary::-webkit-details-marker{display:none}.window-peripheral summary::before,.post-body summary::before{content:'+ ';font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;color:var(--color-prompt)}details[open]>.window-peripheral summary::before,details[open]>.post-body summary::before{content:'- '}hr{border:none;border-top:1px solid var(--color-border);margin:2rem 0}.post-drawer{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;flex-direction:column;align-items:center;pointer-events:none}.post-drawer-handle{pointer-events:auto;background:rgba(38,36,46,0.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(95,92,112,0.15);border-bottom:none;border-radius:8px 8px 0 0;color:var(--color-muted);font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem;padding:0.4rem 1.2rem;cursor:pointer;display:flex;align-items:center;gap:0.4rem;transition:background 0.12s ease}.post-drawer-handle:hover{background:rgba(47,45,57,0.85)}.post-drawer-arrow{font-size:0.85em;opacity:0.4;transition:transform 0.2s ease;transform:rotate(-90deg)}.post-drawer.is-open .post-drawer-arrow{transform:rotate(90deg)}.post-drawer-body{pointer-events:auto;width:100%;max-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(38,36,46,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(95,92,112,0.15);transition:max-height 0.3s ease}.post-drawer.is-open .post-drawer-body{max-height:16rem}.post-drawer-table{width:100%;border-collapse:collapse;font-size:0.8rem}.post-drawer-table th,.post-drawer-table td{text-align:left;padding:.5rem 1rem;border-bottom:1px solid rgba(95,92,112,0.12)}.post-drawer-table thead th{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.7rem;color:var(--color-muted);text-transform:lowercase;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:rgba(38,36,46,0.95)}.post-drawer-table tbody tr{transition:background 0.1s ease}.post-drawer-table tbody tr:hover{background:rgba(47,45,57,0.4)}.post-drawer-table td{color:var(--color-text)}.post-drawer-table a{color:var(--color-text);text-decoration:none}.post-drawer-table a:hover{text-decoration:underline}.post-drawer-current{background:rgba(95,92,112,0.15)}.post-drawer-current td:first-child{border-left:2px solid var(--color-accent)}@media (max-width: 48rem){.window-body{padding:1rem}.peripheral-area{display:none}.post-body details{display:none !important}.peripheral-glyph{display:none}.post-drawer-table th:nth-child(3),.post-drawer-table td:nth-child(3){display:none}}footer{max-width:100rem;margin:0 auto;text-align:center;padding:.5rem 2rem;flex-shrink:0}.palette-widget{display:flex;justify-content:center;align-items:center;gap:1rem}.palette-square{width:1rem;height:1rem;border-radius:2px;background:var(--color-accent);border:1px solid var(--color-border)}.palette-text{font-size:0.75rem;color:var(--color-muted);font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace}.palette-swap{background:none;border:1px solid var(--color-border);padding:0.15em 0.5em;font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.7rem;color:var(--color-muted);cursor:pointer;border-radius:3px}.palette-swap:hover{color:var(--color-text);border-color:var(--color-muted)}.footer-container{margin-top:1rem;font-size:0.75rem;color:var(--color-muted)}:root{--page-width: 600px;--page-height: 800px}@media (max-width: 768px){:root{--page-width: 360px;--page-height: 540px}}@font-face{font-family:'Baskervville';src:url("/assets/fonts/Baskervville-VariableFont_wght.ttf");font-weight:normal;font-style:normal}.book-container{display:grid;align-self:center;margin:0 auto;padding:1rem;flex:1;overflow:hidden}.book-content{min-width:0;overflow:hidden;display:flex;gap:.5rem;font-size:1.1em}.book-window{background:rgba(38,36,46,0.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(95,92,112,0.15);display:flex;flex-direction:column;align-items:center}.book-body{width:var(--page-width);height:var(--page-height);overflow:hidden;position:relative}.book-metadata{color:var(--muted-colour);font-size:1em;margin-top:.5rem;text-align:center;display:hidden}.book-titlebar{display:flex;align-items:center;height:2rem;padding:0 1rem;border-bottom:1px solid #5f5c70;user-select:none;flex-shrink:0}.book-metadata time{font-size:1em}.book-metadata .content-warning{list-style:none;display:hidden;padding:3px;margin:3px;font-size:1em}.book h1{margin:30px 60px 90px 60px;padding:0;background-size:contain;background-repeat:no-repeat;background-position:top center;font-size:0;display:block;line-height:0}@media (max-width: 768px){.book h1{margin:15px 30px 45px 30px}}.book-path{font-size:0.7rem}.book{font-family:'Baskervville', serif}.book h2{font-family:'Baskervville', serif;font-size:2.5em;letter-spacing:0.5em}.separator{text-align:center;font-size:1.5em;font-weight:bold}.cw-overlay{position:center;insert:0;z-index:10;background:rgba(23,22,29,0.92);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;margin:0 3em 30em 3em}.cw-box{text-align:center;max-width:320px;padding:2em}.cw-box h3{font-size:1.1em;letter-spacing:0.3em;margin-bottom:1em}.cw-box ul{list-style:none;padding:0;margin:0 0 1.5em;color:var(--muted-colour)}.cw-box li{padding:0.3em 0;font-size:0.95em}.cw-box button{background:rgba(95,92,112,0.2);border:1px solid rgba(95,92,112,0.1);color:inherit;padding:0.5em 1.5em;cursor:pointer;font-size:0.9em;letter-spacing:0.15em}.cw-box button:hover{border-color:var(--accent-colour);color:var(--accent-colour)}.book-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:.5rem}.book-controls button{background:none;border:none;color:inherit;cursor:pointer;font-size:2em;line-height:1}.book-controls button:hover{color:var(--accent-colour)}.image-page{max-width:100rem;margin:0 auto;padding:2rem;flex:1;overflow:visible;height:calc(100vh - 1.75rem - 2rem);display:flex;flex-direction:column}.image-drawer{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;flex-direction:column;pointer-events:none}.image-drawer-handle{pointer-events:auto;width:30%;background:rgba(38,36,46,0.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(95,92,112,0.15);border-bottom:none;border-radius:8px 8px 0 0;color:var(--color-text);font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:1rem;padding:0.4rem 1.2rem;cursor:pointer;display:flex;align-items:center;gap:0.4rem;transition:background 0.12s ease}.image-drawer-handle:hover{background:rgba(47,45,57,0.85)}.image-drawer-arrow{font-size:0.85em;opacity:0.4;transition:transform 0.2s ease;transform:rotate(-90deg)}.image-drawer.is-open .image-drawer-arrow{transform:rotate(90deg)}.image-drawer-body{pointer-events:auto;width:30%;max-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(38,36,46,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(95,92,112,0.15);transition:max-height 0.3s ease}.image-drawer.is-open .image-drawer-body{max-height:16rem}.image-drawer-tabs{display:flex;gap:0;border-bottom:1px solid rgba(95,92,112,0.12);flex-shrink:0;position:sticky;top:0;background:rgba(38,36,46,0.95);z-index:1}.image-drawer-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--color-muted);font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.7rem;padding:0.4rem 0.8rem;cursor:pointer;text-transform:lowercase;transition:color 0.12s ease, border-color 0.12s ease}.image-drawer-tab:hover{color:var(--color-text)}.image-drawer-tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.image-drawer-table{width:100%;border-collapse:collapse;font-size:0.8rem}.image-drawer-table th,.image-drawer-table td{text-align:left;padding:.5rem 1rem;border-bottom:1px solid rgba(95,92,112,0.12)}.image-drawer-table thead th{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.7rem;color:var(--color-muted);text-transform:lowercase;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:rgba(38,36,46,0.95)}.image-drawer-table tbody tr{cursor:pointer;transition:background 0.1s ease}.image-drawer-table tbody tr:hover{background:rgba(47,45,57,0.4)}.image-drawer-table td{color:var(--color-text)}.image-canvas{min-width:0;flex:1;overflow:visible;z-index:99}.iv-window{position:absolute;width:720px;height:540px;min-width:240px;min-height:180px;display:flex;flex-direction:column;background:rgba(38,36,46,0.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(95,92,112,0.15);border-radius:8px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.3)}.iv-window--snippet{width:300px;height:240px}.iv-titlebar{display:flex;align-items:center;justify-content:space-between;height:2rem;padding:0 1rem;border-bottom:1px solid rgba(95,92,112,0.1);user-select:none;flex-shrink:0;cursor:grab}.iv-title{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.iv-close{background:none;border:none;color:var(--color-muted);font-size:1.1rem;cursor:pointer;padding:0 0.25rem;line-height:1;transition:color 0.12s ease}.iv-close:hover{color:var(--color-accent)}.iv-body{flex:1;overflow:auto;padding:.5rem;display:flex;align-items:center;justify-content:center}.iv-image-wrap{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.iv-image-wrap img{max-width:100%;max-height:100%;object-fit:contain}.iv-snippet-body{padding:.5rem 1rem;font-size:0.85rem;line-height:1.6;color:var(--color-text)}.iv-metabar{display:flex;align-items:center;gap:1rem;padding:0.35rem 1rem;border-top:1px solid rgba(95,92,112,0.1);font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.68rem;color:var(--color-muted);flex-shrink:0;flex-wrap:wrap}.iv-meta-file{opacity:0.7}.iv-meta-date{opacity:0.6}.iv-meta-tags{display:flex;gap:0.3rem;flex-wrap:wrap}.iv-tag{border:1px solid var(--color-border);border-radius:3px;padding:0 0.4em;font-size:0.65rem}.iv-resize-handle{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize}.iv-resize-handle::after{content:'';position:absolute;bottom:3px;right:3px;width:8px;height:8px;border-right:2px solid var(--color-muted);border-bottom:2px solid var(--color-muted);opacity:0.3}@keyframes iv-shake{0%, 100%{transform:translateX(0)}20%{transform:translateX(-4px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}.snippet-toggle-area{position:fixed;top:calc(1.75rem + 2rem);right:2rem;z-index:25}.snippet-btn{background:rgba(38,36,46,0.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(95,92,112,0.15);border-radius:8px;color:var(--color-muted);font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem;padding:0.4rem 0.8rem;cursor:pointer;display:flex;align-items:center;gap:0.4rem;transition:background 0.12s ease;white-space:nowrap}.snippet-btn:hover{background:rgba(47,45,57,0.7)}.snippet-btn-arrow{font-size:0.85em;opacity:0.4;transition:transform 0.2s ease}.snippet-btn[aria-expanded="true"] .snippet-btn-arrow{transform:rotate(90deg)}.snippet-dropdown{position:absolute;right:0;top:calc(100% + 0.25rem);width:14rem;max-height:20rem;background:rgba(38,36,46,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(95,92,112,0.15);border-radius:8px;display:none;flex-direction:column;overflow:hidden;z-index:60}.snippet-dropdown.is-open{display:flex}.snippet-dropdown-header{padding:0.4rem 0.6rem;border-bottom:1px solid rgba(95,92,112,0.1)}.snippet-list{list-style:none;padding:0.2rem 0;margin:0;overflow-y:auto}.snippet-item{padding:0.4rem 0.6rem;font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem;color:var(--color-muted);cursor:pointer;user-select:none;transition:background 0.1s ease}.snippet-item:hover{background:rgba(95,92,112,0.1);color:var(--color-text)}@media (max-width: 48rem){.image-page{padding:1rem}.snippet-btn{display:none}.image-drawer{align-items:center;flex-direction:column;max-height:14em}.image-drawer-body{width:auto;flex-direction:column}.iv-window{width:90vw !important;height:auto !important;position:relative !important;left:auto !important;top:1px !important;margin-bottom:1rem}.image-canvas{align-items:center;justify-content:center;z-index:20}.image-drawer-table th:nth-child(3),.image-drawer-table td:nth-child(3){display:none}}.sub-dir-window{display:flex;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch}.sub-dir-titlebar{display:flex;align-items:center;height:2rem;padding:0 1rem;border-bottom:1px solid rgba(95,92,112,0.1);user-select:none}.sub-dir-path{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem;color:var(--color-muted)}.sub-dir-body{padding:2em 20rem 2em 2em;flex:1}.sub-dir-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.sub-dir-tab{background:rgba(47,45,57,0.6);border:1px solid var(--color-border);border-radius:3px;padding:0.25em 0.75em;font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:1em;color:var(--color-muted);cursor:pointer;transition:color 0.15s ease, border-color 0.15s ease}.sub-dir-tab:hover{background:#2f2d39;color:var(--color-text);border-color:var(--color-muted)}.sub-dir-tab.active{color:var(--color-accent);border-color:var(--color-accent)}.sub-dir-preview{background:rgba(38,36,46,0.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(95,92,112,0.15);border-radius:8px;padding:2rem;margin-bottom:2rem;min-height:8rem}.preview-card{display:none}.preview-card.active{display:block}.preview-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.preview-title{font-size:1.1rem;color:var(--color-text);margin:0}.preview-date{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem;color:var(--color-muted)}.preview-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 .5rem}.preview-tags li{font-size:0.75rem;color:var(--color-muted);border:1px solid var(--color-border);border-radius:3px;padding:0.1em 0.4em}.preview-summary{font-size:0.9rem;color:var(--color-text);line-height:1.7;margin:0}.preview-wordcount{display:inline-block;margin-top:.5rem;font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.7rem;color:var(--color-muted)}.sub-dir-table-wrap{overflow-x:auto}.sub-dir-table{width:100%;border-collapse:collapse;font-size:0.8rem}.sub-dir-table th,.sub-dir-table td{text-align:left;padding:.5rem 1rem;border-bottom:1px solid rgba(95,92,112,0.12)}.sub-dir-table thead th{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.7rem;color:var(--color-muted);text-transform:lowercase;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-bg, #17161d)}.sub-dir-table tbody tr{background:rgba(47,45,57,0.9);transition:background 0.1s ease}.sub-dir-table tbody tr:hover{background:#2f2d39}.sub-dir-table td{color:var(--color-text)}.sub-dir-table a{color:var(--color-accent);text-decoration:none}.sub-dir-table a:hover{text-decoration:underline}@media (max-width: 48rem){.sub-dir-body{padding:1rem}.sub-dir-table{font-size:0.7rem}.sub-dir-table th:nth-child(3),.sub-dir-table td:nth-child(3),.sub-dir-table th:nth-child(5),.sub-dir-table td:nth-child(5){display:none}}.dream-page{max-width:100rem;margin:0 auto;padding:2rem;flex:1;overflow:visible;height:calc(100vh - 1.75rem - 2rem);display:flex;flex-direction:column}.dream-canvas{min-width:0;flex:1;overflow:visible}.dv-window{position:absolute;width:550px;height:550px;min-width:240px;min-height:180px;display:flex;flex-direction:column;background:rgba(38,36,46,0.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(95,92,112,0.15);border-radius:8px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.3)}.dv-titlebar{display:flex;align-items:center;justify-content:space-between;height:2rem;padding:0 1rem;border-bottom:1px solid rgba(95,92,112,0.1);user-select:none;flex-shrink:0;cursor:grab}.dv-title{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem;color:var(--color-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dv-close{background:none;border:none;color:var(--color-muted);font-size:1.1rem;cursor:pointer;padding:0 0.25rem;line-height:1;transition:color 0.12s ease}.dv-close:hover{color:var(--color-accent)}.dv-body{flex:1;overflow-y:auto;padding:2rem;font-size:0.9rem;line-height:1.7;color:var(--color-text)}.dv-body h2{font-size:1rem;color:var(--color-text);margin:2rem 0 .5rem}.dv-body h2:first-child{margin-top:0}.dv-body p{margin:0 0 1rem}.dv-body details{background:rgba(38,36,46,0.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(95,92,112,0.12);border-radius:8px;padding:1rem;margin-bottom:1rem}.dv-body summary{cursor:pointer;color:var(--color-accent);font-size:0.85rem;user-select:none;list-style:none}.dv-body summary::-webkit-details-marker{display:none}.dv-body summary::before{content:'+ ';font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;color:var(--color-prompt)}.dv-body details[open]>summary::before{content:'- '}.dv-resize-handle{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:nwse-resize}.dv-resize-handle::after{content:'';position:absolute;bottom:3px;right:3px;width:8px;height:8px;border-right:2px solid var(--color-muted);border-bottom:2px solid var(--color-muted);opacity:0.3}.dream-drawer{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;flex-direction:column;align-items:center;pointer-events:none}.dream-drawer-handle{pointer-events:auto;background:rgba(38,36,46,0.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(95,92,112,0.15);border-bottom:none;border-radius:8px 8px 0 0;color:var(--color-muted);font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.75rem;padding:0.4rem 1.2rem;cursor:pointer;display:flex;align-items:center;gap:0.4rem;transition:background 0.12s ease}.dream-drawer-handle:hover{background:rgba(47,45,57,0.85)}.dream-drawer-arrow{font-size:0.85em;opacity:0.4;transition:transform 0.2s ease;transform:rotate(-90deg)}.dream-drawer.is-open .dream-drawer-arrow{transform:rotate(90deg)}.dream-drawer-body{pointer-events:auto;width:50%;max-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;background:rgba(38,36,46,0.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid rgba(95,92,112,0.15);transition:max-height 0.3s ease}.dream-drawer.is-open .dream-drawer-body{max-height:16rem}.dream-drawer-table{width:100%;border-collapse:collapse;font-size:0.8rem}.dream-drawer-table th,.dream-drawer-table td{text-align:left;padding:.5rem 1rem;border-bottom:1px solid rgba(95,92,112,0.12)}.dream-drawer-table thead th{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.7rem;color:var(--color-muted);text-transform:lowercase;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:rgba(38,36,46,0.95)}.dream-drawer-table tbody tr{cursor:pointer;transition:background 0.1s ease}.dream-drawer-table tbody tr:hover{background:rgba(47,45,57,0.4)}.dream-drawer-table td{color:var(--color-text)}@media (max-width: 48rem){.dream-page{padding:1rem}.dv-window{width:90vw !important;max-height:60vh;position:relative !important;left:auto !important;top:auto !important;margin-bottom:1rem;overflow:hidden}.dv-body{overflow-y:auto}.dream-canvas{display:flex;align-items:center;justify-content:center}.dream-drawer-table th:nth-child(3),.dream-drawer-table td:nth-child(3){display:none}}.diary-window{flex:1}.diary-header{margin-bottom:2rem}.diary-title{position:sticky;top:0;z-index:10;padding:.5rem 0;background:rgba(38,36,46,0.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--color-muted);filter:url(#diamond-halftone)}.diary-meta{color:var(--color-muted);font-size:0.85rem;margin-top:.5rem;display:flex;flex-wrap:wrap;gap:1rem}.diary-body>details{background:rgba(38,36,46,0.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(95,92,112,0.12);border-radius:8px;padding:1rem;margin-bottom:1rem}.diary-body>details details{background:rgba(33,32,39,0.4);border:1px solid rgba(95,92,112,0.08);margin-top:.5rem}.diary-body summary{cursor:pointer;color:var(--color-accent);font-size:0.9rem;user-select:none;list-style:none;padding:.5rem 0}.diary-body summary::-webkit-details-marker{display:none}.diary-body summary::before{content:'+ ';font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;color:var(--color-prompt)}.diary-body details[open]>summary::before{content:'- '}.diary-body>details>summary{font-size:1rem;font-weight:600}.diary-body>details details>summary{font-size:0.9rem;font-weight:500;padding-left:.5rem}.diary-body>details details details>summary{font-size:0.85rem;font-weight:400;padding-left:1rem}.diary-body details p,.diary-body details blockquote,.diary-body details pre,.diary-body details ul,.diary-body details ol{margin-top:.5rem}.diary-body code{font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.85em;background:rgba(47,45,57,0.5);padding:0.1em 0.3em;border-radius:3px}.diary-body pre{background:rgba(33,31,40,0.6);border:1px solid rgba(95,92,112,0.1);border-radius:8px;padding:1rem;overflow-x:auto;font-family:"Consolas","SF Mono","Fira Code","JetBrains Mono",monospace;font-size:0.85rem}.diary-body pre code{background:none;padding:0}.diary-body blockquote{border-left:2px solid var(--color-accent);padding-left:1rem;margin:1rem 0;color:var(--color-muted);font-style:italic}.diary-body img{max-width:100%;border-radius:8px}@media (max-width: 48rem){.diary-body>details{padding:.5rem}}
