:root{font-family:Tahoma,"MS Sans Serif",sans-serif;font-size:16px;font-weight:400;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;--site-background: #f7f7f2;background-color:var(--site-background);text-rendering:optimizeSpeed;--dark-mode-site-bg: #181818;--dark-mode-paper-bg: #1f1f1f;--dark-mode-panel: #1b1b1f;--dark-mode-text: #e0e0e0;--paper-overlay-bg: #ffffff;--paper-overlay-text: #1f2328;--body-text-shadow: .2px 0 0 rgba(255, 0, 0, .5), -.2px 0 0 rgba(0, 100, 200, .5);--settings-panel-bg: #f7f7f2;--settings-panel-text: #000000;--settings-panel-border: #dddddd;--sort-dropdown-bg: #f7f7f2;--sort-dropdown-border: #ddd;--sort-option-hover-bg: #f5f5f5;--player-overlay-bg: #f7f7f2;--focus-card-artist-color: #000;--focus-card-song-color: #000;--focus-card-year-color: #888;--focus-card-aspect-color: #666;--video-timeline-track: rgba(0, 0, 0, .08);--video-timeline-thumb: #000;--video-volume-active: #000;--video-volume-track: rgba(0, 0, 0, .08);--video-volume-icon: #000;--theme-transition-duration: .35s;--reading-overlay-side-gutter: clamp(110px, 14vw, 170px);--reading-overlay-edge-gap: 24px;--reading-overlay-inline-pad: 20px;--reading-wall-left: 120px;--reading-overlay-left-pad: var(--reading-wall-left)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;background-color:var(--site-background);overflow:hidden;overscroll-behavior:none;text-shadow:var(--body-text-shadow, none);transition:background-color var(--theme-transition-duration) ease,color var(--theme-transition-duration) ease}#app{margin:0;width:100%;height:100vh}body.theme-mode-switching .paper-overlay,body.theme-mode-switching .portfolio-reading-overlay,body.theme-mode-switching .paper-overlay-markdown,body.theme-mode-switching .paper-overlay-markdown-content,body.theme-mode-switching .paper-overlay-type-markdown,body.theme-mode-switching .paper-overlay-type-html,body.theme-mode-switching .paper-overlay-type-pdf,body.theme-mode-switching .paper-overlay-pdf-text-layer span{transition:none!important}#fps-indicator{position:fixed;top:0;right:0;z-index:30000;pointer-events:none;font-size:12px;line-height:1;padding:0;background:transparent;color:#111;border:none;border-radius:0;text-shadow:none}body.dark-mode #fps-indicator{color:#eee}#dark-mode-toggle{width:100%;border:1px solid rgba(0,0,0,.35);border-radius:999px;background:transparent;color:#000;padding:.35rem .9rem;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}@media(hover:hover){#dark-mode-toggle:hover{background:#00000014}}body.dark-mode #dark-mode-toggle{border-color:#ffffff73;color:#fff}@media(hover:hover){body.dark-mode #dark-mode-toggle:hover{background:#ffffff26}}canvas#vinyl-viewer{width:100%;height:100%;display:block;outline:none;position:relative;z-index:1}body.focus-cover-click-active canvas#vinyl-viewer{z-index:20005!important}body.focus-cover-click-active #vinyl-focus-card-cover-root{z-index:20004!important}body.focus-cover-click-active #vinyl-focus-card-info-root{z-index:20003!important}#vinyl-focus-card-cover-root{cursor:pointer;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}#vinyl-focus-card-cover-root:empty{cursor:default}#vinyl-focus-card-cover-root img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}body.vinyl-drag-active .vinyl-viewer-widget,body.vinyl-drag-active .vinyl-viewer-widget *{user-select:none;-webkit-user-select:none;-moz-user-select:none}body.fullscreen-mode-active #global-controls,body.fullscreen-mode-active #vinyl-focus-card-cover-root,body.fullscreen-mode-active #vinyl-focus-card-info-root{opacity:0!important;pointer-events:none!important}.yt-shell{opacity:1;transition:opacity .3s ease-in-out}body.gallery-focus-active .yt-shell{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.yt-player-viewport{position:relative;display:inline-block;overflow:hidden;background:#fff;z-index:20006}.yt-lead-in-overlay{position:absolute;inset:0;background:#000;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;z-index:1}.yt-lead-in-overlay-label{color:#fff;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;opacity:1;text-shadow:none;animation:no-signal-vibrate 133ms steps(4,end) infinite,no-signal-flicker .18s steps(3,end) infinite}@keyframes no-signal-vibrate{0%{transform:translate(0)}20%{transform:translate(-.8px,.35px)}40%{transform:translate(.7px,-.5px)}60%{transform:translate(-.55px,-.25px)}80%{transform:translate(.65px,.45px)}to{transform:translate(0)}}@keyframes no-signal-flicker{0%{opacity:1}35%{opacity:.76}60%{opacity:.95}85%{opacity:.68}to{opacity:1}}.yt-lead-in-overlay.visible{opacity:1;visibility:visible}#player-size{position:relative;width:512px;height:1024px;background:var(--player-overlay-bg, #f7f7f2);transform:translateY(0);will-change:transform;pointer-events:none;transition:background var(--theme-transition-duration) ease}html.dark-mode,body.dark-mode{--site-background: var(--dark-mode-site-bg);--paper-overlay-bg: var(--dark-mode-paper-bg);--paper-overlay-text: var(--dark-mode-text);background-color:var(--dark-mode-site-bg);color:var(--dark-mode-text);text-shadow:none;--settings-panel-bg: var(--dark-mode-panel);--settings-panel-text: var(--dark-mode-text);--settings-panel-border: rgba(255, 255, 255, .25);--sort-dropdown-bg: rgba(8, 8, 8, .95);--sort-dropdown-border: rgba(255, 255, 255, .2);--sort-option-hover-bg: rgba(255, 255, 255, .1);--player-overlay-bg: var(--dark-mode-panel);--focus-card-artist-color: rgba(255, 255, 255, .95);--focus-card-song-color: rgba(255, 255, 255, .95);--focus-card-year-color: rgba(255, 255, 255, .65);--focus-card-aspect-color: rgba(255, 255, 255, .65);--video-timeline-track: rgba(255, 255, 255, .25);--video-timeline-thumb: #fff;--video-volume-active: #fff;--video-volume-track: rgba(255, 255, 255, .25);--video-volume-icon: #fff}body.dark-mode,body.dark-mode button,body.dark-mode input,body.dark-mode select,body.dark-mode textarea,body.dark-mode p,body.dark-mode span,body.dark-mode a,body.dark-mode li,body.dark-mode label,body.dark-mode h1,body.dark-mode h2,body.dark-mode h3,body.dark-mode h4,body.dark-mode h5,body.dark-mode h6{-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important;text-rendering:auto!important;text-shadow:none!important}body.dark-mode #app{background-color:var(--site-background);transition:background-color var(--theme-transition-duration) ease}body.dark-mode #global-controls button,body.dark-mode .vinyl-hyperlink{color:var(--dark-mode-text)}#global-controls button,.vinyl-hyperlink{transition:color var(--theme-transition-duration) ease}#turntable-settings-panel{transition:background var(--theme-transition-duration) ease,color var(--theme-transition-duration) ease,border-color var(--theme-transition-duration) ease;background:var(--settings-panel-bg);color:var(--settings-panel-text);border-color:var(--settings-panel-border)}body.dark-mode #turntable-settings-panel{background:var(--dark-mode-panel);color:var(--dark-mode-text);border-color:#ffffff40}body.dark-mode .paper-overlay,body.dark-mode .paper-overlay-markdown,body.dark-mode .paper-overlay-pdf,body.dark-mode .paper-overlay-type-markdown,body.dark-mode .paper-overlay-type-pdf{border-color:#ffffff1f}body.dark-mode .paper-overlay-markdown-content,body.dark-mode .paper-overlay-markdown h1,body.dark-mode .paper-overlay-markdown h2,body.dark-mode .paper-overlay-markdown h3,body.dark-mode .paper-overlay-markdown h4,body.dark-mode .paper-overlay-markdown p,body.dark-mode .paper-overlay-markdown li,body.dark-mode .paper-overlay-pdf-text-layer span{color:var(--dark-mode-text)}body.dark-mode .paper-overlay-pdf-canvas-light{display:none!important}body.dark-mode .paper-overlay-pdf-canvas-dark{display:block!important}body:not(.dark-mode) .paper-overlay-pdf-canvas-light{display:block!important}body:not(.dark-mode) .paper-overlay-pdf-canvas-dark{display:none!important}@media(hover:hover){body.dark-mode #global-controls button:hover,body.dark-mode .vinyl-hyperlink:hover{color:var(--vinyl-link-hover-color)}}#player{position:relative;width:100%;height:100%;pointer-events:none}#player iframe{position:relative;width:100%;height:100%;border:0;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none}.volume-slider{appearance:none;-webkit-appearance:none;height:3px;border-radius:0;background:#00000014;cursor:pointer;margin:0;padding:0}.volume-slider::-webkit-slider-runnable-track{height:3px;border-radius:0;background:transparent}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:0;height:0;border-radius:0;background:transparent;border:none;margin-top:0;box-shadow:none}.volume-slider::-moz-range-track{height:3px;border-radius:0;background:transparent}.volume-slider::-moz-range-progress{height:3px;border-radius:0;background:transparent}.volume-slider::-moz-range-thumb{width:0;height:0;border-radius:0;background:transparent;border:none;box-shadow:none;cursor:pointer}.volume-slider-vertical{appearance:none;-webkit-appearance:none;height:3px;border-radius:0;background:#fff3;cursor:pointer;margin:0;padding:0}.volume-slider-vertical::-webkit-slider-runnable-track{height:3px;border-radius:0;background:transparent}.volume-slider-vertical::-webkit-slider-thumb{-webkit-appearance:none;width:0;height:0;border-radius:0;background:transparent;border:none;margin-top:0;box-shadow:none}.volume-slider-vertical::-moz-range-track{height:3px;border-radius:0;background:transparent}.volume-slider-vertical::-moz-range-progress{height:3px;border-radius:0;background:transparent}.volume-slider-vertical::-moz-range-thumb{width:0;height:0;border-radius:0;background:transparent;border:none;box-shadow:none;cursor:pointer}#paper-overlay-root{pointer-events:none}.paper-overlay{box-shadow:0 8px 20px #0000001f;background-color:var(--paper-overlay-bg, #ffffff);color:var(--paper-overlay-text, #1f2328);transition:background-color var(--theme-transition-duration) ease,color var(--theme-transition-duration) ease,border-color var(--theme-transition-duration) ease}.paper-overlay-markdown,.paper-overlay-pdf{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto;image-rendering:auto;text-shadow:none}.paper-overlay-pdf-text-layer span{text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:auto;image-rendering:auto;text-shadow:none;transform-origin:0 0;white-space:pre}.paper-overlay{scrollbar-gutter:stable;overscroll-behavior:contain;scrollbar-width:thick;scrollbar-color:rgba(0,0,0,.45) var(--paper-overlay-bg, #ffffff);box-sizing:border-box;overflow-x:hidden!important}.paper-overlay::-webkit-scrollbar{width:var(--paper-scrollbar-width, 44px);background:var(--paper-overlay-bg, #ffffff)}.paper-overlay::-webkit-scrollbar-track{background:var(--paper-overlay-bg, #ffffff)}.paper-overlay::-webkit-scrollbar-thumb{background:#00000073;border-radius:0;border:var(--paper-scrollbar-border, 6px) solid var(--paper-overlay-bg, #ffffff)}.paper-overlay.paper-overlay-type-pdf{scrollbar-gutter:auto;scrollbar-width:none;scrollbar-color:transparent transparent}.paper-overlay.paper-overlay-type-pdf::-webkit-scrollbar{width:0;background:transparent}.paper-overlay.paper-overlay-type-pdf::-webkit-scrollbar-track{background:transparent}.paper-overlay.paper-overlay-type-pdf::-webkit-scrollbar-thumb{background:transparent;border:none}.paper-overlay.paper-overlay-type-markdown{scrollbar-gutter:stable;scrollbar-width:auto;scrollbar-color:transparent var(--paper-overlay-bg, #ffffff);transition:background-color var(--theme-transition-duration) ease,color var(--theme-transition-duration) ease,border-color var(--theme-transition-duration) ease}.paper-overlay.paper-overlay-type-markdown::-webkit-scrollbar{width:var(--paper-scrollbar-width, 44px);background-color:var(--paper-overlay-bg, #ffffff);transition:none}.paper-overlay.paper-overlay-type-markdown::-webkit-scrollbar-thumb{background-color:transparent;border-radius:0;border:var(--paper-scrollbar-border, 6px) solid var(--paper-overlay-bg, #ffffff);transition:none}@media(hover:hover){.paper-overlay.paper-overlay-type-markdown.is-interactive:hover{scrollbar-color:rgba(0,0,0,.45) var(--paper-overlay-bg, #ffffff)}}.paper-overlay.paper-overlay-type-markdown::-webkit-scrollbar-track{background-color:var(--paper-overlay-bg, #ffffff);transition:none}@media(hover:hover){.paper-overlay.paper-overlay-type-markdown.is-interactive:hover::-webkit-scrollbar-thumb{background-color:#00000073;border-radius:0;border:var(--paper-scrollbar-border, 6px) solid var(--paper-overlay-bg, #ffffff)}}.paper-overlay.paper-overlay-type-markdown:not(.is-interactive){scrollbar-color:transparent transparent}.paper-overlay.paper-overlay-type-markdown:not(.is-interactive)::-webkit-scrollbar-track,.paper-overlay.paper-overlay-type-markdown:not(.is-interactive)::-webkit-scrollbar-thumb{background:transparent;border-color:transparent}#paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown,#paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown:hover{scrollbar-color:transparent var(--paper-overlay-bg, #ffffff)!important}#paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown::-webkit-scrollbar-thumb,#paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown:hover::-webkit-scrollbar-thumb{background-color:transparent!important;border:var(--paper-scrollbar-border, 6px) solid var(--paper-overlay-bg, #ffffff)!important}#paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown::-webkit-scrollbar,#paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown:hover::-webkit-scrollbar,#paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown::-webkit-scrollbar-track,#paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown:hover::-webkit-scrollbar-track{background-color:var(--paper-overlay-bg, #ffffff)!important}#paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown,#paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown:hover,body.dark-mode #paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown,body.dark-mode #paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown:hover{scrollbar-color:transparent var(--paper-overlay-bg)!important}body.dark-mode #paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown::-webkit-scrollbar-thumb,body.dark-mode #paper-overlay-root.overlay-hover-scrollbar-suppressed .paper-overlay.paper-overlay-type-markdown:hover::-webkit-scrollbar-thumb{background-color:transparent!important;border:var(--paper-scrollbar-border, 6px) solid transparent!important}.paper-overlay.paper-overlay-type-html{scrollbar-gutter:auto;scrollbar-width:none;scrollbar-color:transparent transparent}.paper-overlay.paper-overlay-type-html::-webkit-scrollbar{width:0;background:transparent}.paper-overlay.paper-overlay-type-html::-webkit-scrollbar-track{background:transparent}.paper-overlay.paper-overlay-type-html::-webkit-scrollbar-thumb{background:transparent;border:none}.paper-overlay-scrollbar{display:none}body.dark-mode .paper-overlay-scrollbar,body.dark-mode .paper-overlay-scrollbar-thumb{background:transparent}body.dark-mode .paper-overlay-scrollbar-thumb{border:var(--paper-scrollbar-border, 6px) solid transparent}body.dark-mode .paper-overlay.paper-overlay-type-markdown::-webkit-scrollbar-thumb{background-color:transparent;border:var(--paper-scrollbar-border, 6px) solid transparent}body.dark-mode .paper-overlay.paper-overlay-type-markdown.is-interactive:hover::-webkit-scrollbar-thumb{background-color:#ffffff73;border:var(--paper-scrollbar-border, 6px) solid rgba(255,255,255,.45)}body.dark-mode .paper-overlay,body.dark-mode .paper-overlay.paper-overlay-type-markdown,body.dark-mode .paper-overlay.paper-overlay-type-pdf,body.dark-mode .paper-overlay.paper-overlay-type-html{scrollbar-color:transparent var(--paper-overlay-bg)}body.dark-mode .paper-overlay::-webkit-scrollbar,body.dark-mode .paper-overlay.paper-overlay-type-markdown::-webkit-scrollbar,body.dark-mode .paper-overlay.paper-overlay-type-pdf::-webkit-scrollbar,body.dark-mode .paper-overlay.paper-overlay-type-html::-webkit-scrollbar{background-color:var(--paper-overlay-bg);border:var(--paper-scrollbar-border, 6px) solid var(--paper-overlay-bg)}@media(hover:hover){body.dark-mode .paper-overlay:hover,body.dark-mode .paper-overlay.paper-overlay-type-markdown.is-interactive:hover,body.dark-mode .paper-overlay.paper-overlay-type-pdf:hover,body.dark-mode .paper-overlay.paper-overlay-type-html:hover{scrollbar-color:rgba(255,255,255,.45) var(--paper-overlay-bg)}}body.dark-mode .paper-overlay::-webkit-scrollbar-track,body.dark-mode .paper-overlay.paper-overlay-type-markdown::-webkit-scrollbar-track,body.dark-mode .paper-overlay.paper-overlay-type-pdf::-webkit-scrollbar-track,body.dark-mode .paper-overlay.paper-overlay-type-html::-webkit-scrollbar-track{background-color:var(--paper-overlay-bg)}body.dark-mode .paper-overlay:not(.paper-overlay-type-markdown)::-webkit-scrollbar-thumb,body.dark-mode .paper-overlay.paper-overlay-type-pdf::-webkit-scrollbar-thumb,body.dark-mode .paper-overlay.paper-overlay-type-html::-webkit-scrollbar-thumb{background:transparent;border-radius:0;border:var(--paper-scrollbar-border, 6px) solid transparent}@media(hover:hover){body.dark-mode .paper-overlay:not(.paper-overlay-type-markdown):hover::-webkit-scrollbar-thumb,body.dark-mode .paper-overlay.paper-overlay-type-pdf:hover::-webkit-scrollbar-thumb,body.dark-mode .paper-overlay.paper-overlay-type-html:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--paper-overlay-bg),rgba(255,255,255,.35));border-color:var(--paper-overlay-bg)}}.paper-overlay-markdown{min-height:100%;max-width:100%;-webkit-user-select:text;user-select:text;cursor:default;font-size:37px;line-height:1.28;box-sizing:border-box;overflow-x:hidden;overflow-wrap:break-word;word-wrap:break-word}.paper-overlay-markdown *{cursor:inherit}.paper-overlay-markdown a{cursor:pointer}.paper-overlay-markdown:active{cursor:text}.paper-overlay-markdown-content{color:var(--paper-overlay-text, #1f2328);max-width:100%;box-sizing:border-box;overflow-x:hidden;transition:color var(--theme-transition-duration) ease}.paper-overlay-markdown h1{font-size:60px;font-weight:700;margin:0 0 20px}.paper-overlay-markdown h2{font-size:52px;font-weight:600;margin:24px 0 17px}.paper-overlay-markdown h3{font-size:46px;font-weight:600;margin:20px 0 14px}.paper-overlay-markdown h4{font-size:40px;font-weight:600;margin:18px 0 12px}.paper-overlay-markdown p{margin:0 0 12px}.paper-overlay-markdown a{color:#0969da;text-decoration:none;text-underline-offset:2px}@media(hover:hover){.paper-overlay-markdown a:hover{color:#0550ae;text-decoration:underline}}.paper-overlay-markdown hr{border:none;border-top:2px solid #d0d7de;margin:28px 0}.paper-overlay-markdown-list{margin:0 0 12px;padding-left:48px}.paper-overlay-markdown-list li{margin-bottom:9px}.paper-overlay-markdown-image{display:block;width:100%;max-width:100%;height:auto;margin:28px 0;object-fit:contain;box-sizing:border-box}.paper-overlay-markdown-spacer{height:20px}#portfolio-paper-links,#portfolio-papers-ui{transition:opacity .3s ease}.portfolio-reading-overlay{position:fixed;inset:0;z-index:9500;display:none;overflow-y:auto;padding-left:var(--reading-overlay-left-pad);padding-right:var(--reading-overlay-inline-pad);background:#f7f5ef;color:#1f2328;opacity:0;pointer-events:none;transition:opacity .22s ease,background-color var(--theme-transition-duration) ease,color var(--theme-transition-duration) ease;text-shadow:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scrollbar-width:thin;scrollbar-color:rgba(31,35,40,.38) #f7f5ef;scrollbar-gutter:stable}.portfolio-reading-overlay::-webkit-scrollbar{width:12px}.portfolio-reading-overlay::-webkit-scrollbar-track{background:#f7f5ef;transition:background-color var(--theme-transition-duration) ease}.portfolio-reading-overlay::-webkit-scrollbar-thumb{background:#1f232861;border-radius:999px;border:2px solid #f7f5ef;transition:background-color var(--theme-transition-duration) ease,border-color var(--theme-transition-duration) ease}.portfolio-reading-overlay.is-open{opacity:1;pointer-events:auto}.portfolio-reading-shell{position:relative;width:min(980px,100%);margin:0 auto;padding:2.25rem 0 3rem}.portfolio-reading-top-back{position:absolute;top:5rem;right:0;z-index:2;padding:0;width:auto;text-align:right;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;opacity:1;transform:translateY(0);transition:opacity .17s cubic-bezier(.2,0,0,1),transform .17s cubic-bezier(.2,0,0,1);will-change:opacity,transform}.portfolio-reading-content{opacity:1;transform:translateY(0);transition:opacity .17s cubic-bezier(.2,0,0,1),transform .17s cubic-bezier(.2,0,0,1);will-change:opacity,transform}.portfolio-reading-toc{opacity:1;transform:none}.portfolio-reading-toc .portfolio-reading-toc-fade-target{opacity:1;transition:opacity 666ms cubic-bezier(.16,1,.3,1);will-change:opacity}.portfolio-reading-toc-breadcrumb-path{opacity:1;transition:opacity .17s cubic-bezier(.2,0,0,1);will-change:opacity}.portfolio-reading-overlay.is-view-fading-out .portfolio-reading-content{opacity:0;pointer-events:none}.portfolio-reading-overlay.is-view-fading-out .portfolio-reading-content{transform:translateY(4px)}.portfolio-reading-overlay.is-view-fading-out.is-view-target-cards .portfolio-reading-toc .portfolio-reading-toc-fade-target{opacity:0;pointer-events:none}.portfolio-reading-overlay.is-view-fading-out .portfolio-reading-top-back{opacity:0;transform:translateY(4px);pointer-events:none}.portfolio-reading-overlay.is-view-fading-out.is-view-target-cards .portfolio-reading-toc .portfolio-reading-toc-breadcrumb-path{opacity:0;pointer-events:none}.portfolio-reading-overlay.is-view-fading-out .portfolio-reading-toc{transform:none}.portfolio-reading-overlay.is-view-entering-document .portfolio-reading-content,.portfolio-reading-overlay.is-view-entering-cards .portfolio-reading-content{opacity:0}.portfolio-reading-overlay.is-view-entering-document .portfolio-reading-content,.portfolio-reading-overlay.is-view-entering-cards .portfolio-reading-content{transform:translateY(6px)}.portfolio-reading-overlay.is-view-entering-document .portfolio-reading-toc,.portfolio-reading-overlay.is-view-entering-cards .portfolio-reading-toc{transform:none}.portfolio-reading-overlay.is-view-entering-document .portfolio-reading-toc .portfolio-reading-toc-fade-target,.portfolio-reading-overlay.is-view-entering-cards .portfolio-reading-toc .portfolio-reading-toc-fade-target{opacity:0}.portfolio-reading-overlay.is-view-entering-document .portfolio-reading-top-back,.portfolio-reading-overlay.is-view-entering-cards .portfolio-reading-top-back{opacity:0;transform:translateY(6px)}.portfolio-reading-overlay.is-view-entering-document .portfolio-reading-toc .portfolio-reading-toc-breadcrumb-path{opacity:0}.portfolio-reading-overlay.is-view-entering-document.is-view-enter-active .portfolio-reading-content,.portfolio-reading-overlay.is-view-entering-cards.is-view-enter-active .portfolio-reading-content{opacity:1;transform:translateY(0);transition-delay:0ms}.portfolio-reading-overlay.is-view-entering-document.is-view-enter-active .portfolio-reading-toc .portfolio-reading-toc-fade-target{opacity:1;transform:none;transition-delay:222ms}.portfolio-reading-overlay.is-view-entering-document.is-view-enter-active .portfolio-reading-toc .portfolio-reading-toc-breadcrumb-path{opacity:1;transition-delay:0ms}.portfolio-reading-overlay.is-view-entering-cards.is-view-enter-active .portfolio-reading-toc .portfolio-reading-toc-fade-target{opacity:1;transform:none;transition-delay:0ms}.portfolio-reading-overlay.is-view-entering-cards.is-view-enter-active .portfolio-reading-top-back,.portfolio-reading-overlay.is-view-entering-document.is-view-enter-active .portfolio-reading-top-back{opacity:1;transform:translateY(0);transition-delay:0ms}.portfolio-reading-body{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(1.1rem,2.2vw,2rem);align-items:start;min-height:calc(100vh - 5.25rem)}.portfolio-reading-shell.no-toc .portfolio-reading-body{grid-template-columns:minmax(0,1fr)}@media(max-width:1120px){.portfolio-reading-body{grid-template-columns:minmax(0,1fr)}.portfolio-reading-toc{display:none}.portfolio-reading-content{max-width:calc(760px - clamp(1.1rem,2.2vw,2rem));margin:0 auto}}.portfolio-reading-shell.toc-edge-collapsed .portfolio-reading-body{grid-template-columns:minmax(0,1fr)}.portfolio-reading-toc{position:sticky;top:5rem;margin-top:0;align-self:start;max-height:calc(100vh - 5rem);max-width:220px;overflow:auto;padding-right:.45rem;opacity:1;transform:translate(0);transition:opacity .24s ease}.portfolio-reading-shell.no-toc .portfolio-reading-toc,.portfolio-reading-shell.toc-edge-collapsed .portfolio-reading-toc{display:none}.portfolio-reading-toc-list{margin:0;padding:0;list-style:none;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.portfolio-reading-toc-item{margin:0 0 .25rem}.portfolio-reading-toc-list.portfolio-reading-toc-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.portfolio-reading-toc-file-grid-root{grid-column:1 / -1;margin-bottom:.15rem}.portfolio-reading-toc-file-card-item{margin:0}.portfolio-reading-toc-link{display:block;width:auto;margin:0;padding:.15rem 0;border:0;background:transparent;color:#1f2328cc;text-align:left;font:inherit;font-size:.85rem;line-height:1.35;cursor:pointer;transition:opacity .12s ease;text-shadow:none}.portfolio-reading-top-back.portfolio-reading-toc-link{font:400 .82rem/1.35 SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;letter-spacing:0;transition:opacity .17s cubic-bezier(.2,0,0,1),transform .17s cubic-bezier(.2,0,0,1)}.portfolio-reading-file-section{width:100%;padding-top:calc(92px - 1.45rem)}.portfolio-reading-file-section-title{margin:0 0 .8rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.88rem;font-weight:500;color:#1f2328db}.portfolio-reading-file-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}@media(max-width:600px){.portfolio-reading-file-grid,.portfolio-reading-toc-list.portfolio-reading-toc-file-grid{grid-template-columns:1fr}}.portfolio-reading-file-card{width:100%;padding:0;border:0;border-radius:0;overflow:hidden;background:transparent;text-align:left;cursor:pointer}@media(hover:hover){.portfolio-reading-file-card:hover{background:transparent}}.portfolio-reading-file-card-thumb{width:100%;aspect-ratio:4 / 3;background:#1f232814}.portfolio-reading-file-card-thumb img{display:block;width:100%;height:100%;object-fit:cover;border-radius:0}.portfolio-reading-file-card-thumb-fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:center;font-size:.76rem;letter-spacing:.04em;opacity:.8;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.portfolio-reading-file-card-title{display:block;padding:.5rem .55rem .55rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.78rem;line-height:1.3;color:#1f2328e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portfolio-reading-toc-item[data-level="2"] .portfolio-reading-toc-link{padding-left:.75rem;font-size:.8rem}.portfolio-reading-toc-item[data-level="3"] .portfolio-reading-toc-link{padding-left:1.2rem;font-size:.78rem}.portfolio-reading-toc-item[data-level="4"] .portfolio-reading-toc-link{padding-left:1.65rem;font-size:.76rem}@media(hover:hover){.portfolio-reading-toc-link:hover{text-decoration:underline;text-underline-offset:2px}}.portfolio-reading-toc-file{font-size:.82rem}.portfolio-reading-toc-breadcrumb{color:inherit;letter-spacing:0;cursor:default;text-decoration:none;display:inline;padding:0}@media(hover:hover){.portfolio-reading-toc-breadcrumb:hover{text-decoration:none}}.portfolio-reading-toc-breadcrumb-root{display:inline;padding:0;cursor:pointer}.portfolio-reading-portfolio-root{transition:none!important;animation:none!important}.portfolio-reading-toc-breadcrumb-separator{display:inline;cursor:default}@media(hover:hover){.portfolio-reading-toc-breadcrumb-root:hover{text-decoration:underline;text-underline-offset:2px}}.portfolio-reading-toc-breadcrumb-root:focus-visible{text-decoration:underline;text-underline-offset:2px}.portfolio-reading-toc-file:disabled{opacity:.6;cursor:progress}.portfolio-reading-content{width:100%}.portfolio-reading-article{font-family:Iowan Old Style,Charter,Georgia,serif;font-size:1.1rem;line-height:1.8;color:#1f2328;transition:color var(--theme-transition-duration) ease}.portfolio-reading-article h1,.portfolio-reading-article h2,.portfolio-reading-article h3,.portfolio-reading-article h4{margin:1.6em 0 .7em;line-height:1.25;font-weight:600;scroll-margin-top:.75rem}.portfolio-reading-heading-label{position:relative;display:inline-block}.portfolio-reading-heading-label:after{content:"";position:absolute;left:0;bottom:-.08em;width:100%;height:.08em;background:currentColor;transform:scaleX(0);transform-origin:left center;opacity:0}.portfolio-reading-heading-label-underline:after{animation:portfolio-reading-heading-underline-roll .72s ease-out forwards}@keyframes portfolio-reading-heading-underline-roll{0%{transform:scaleX(0);opacity:.9}72%{transform:scaleX(1);opacity:.9}to{transform:scaleX(1);opacity:0}}.portfolio-reading-article h1{font-size:2.1rem}.portfolio-reading-article h2{font-size:1.65rem}.portfolio-reading-article h3{font-size:1.35rem}.portfolio-reading-article h4{font-size:1.15rem}.portfolio-reading-article p,.portfolio-reading-article ul,.portfolio-reading-article ol{margin:0 0 1.05em}.portfolio-reading-article ul,.portfolio-reading-article ol{padding-left:1.4em}.portfolio-reading-article a{color:#1153b6;text-decoration:underline;text-underline-offset:2px;transition:color var(--theme-transition-duration) ease}.portfolio-reading-article hr{border:none;border-top:1px solid rgba(31,35,40,.24);margin:1.8em 0;transition:border-color var(--theme-transition-duration) ease}.portfolio-reading-article img{display:block;width:100%;max-width:100%;height:auto;margin:1.2em 0 1.6em}body.dark-mode .portfolio-reading-overlay{background:var(--paper-overlay-bg);color:var(--paper-overlay-text);scrollbar-color:rgba(255,255,255,.45) var(--paper-overlay-bg)}body.dark-mode .portfolio-reading-overlay::-webkit-scrollbar-track{background:var(--paper-overlay-bg)}body.dark-mode .portfolio-reading-overlay::-webkit-scrollbar-thumb{background:#ffffff73;border-color:var(--paper-overlay-bg)}@media(max-width:820px){:root{--reading-overlay-edge-gap: 12px;--reading-overlay-inline-pad: var(--reading-overlay-edge-gap)}}body.dark-mode .portfolio-reading-article{color:var(--paper-overlay-text)}body.dark-mode .portfolio-reading-article a{color:var(--vinyl-link-color)}body.dark-mode .portfolio-reading-article hr{border-top-color:#ffffff3d}body.dark-mode .portfolio-reading-toc-link{color:var(--paper-overlay-text)}@media(hover:hover){body.dark-mode .portfolio-reading-toc-link:hover{text-decoration:underline;text-underline-offset:2px}}body.dark-mode .portfolio-reading-file-section-title{color:var(--paper-overlay-text)}body.dark-mode .portfolio-reading-file-card{background:transparent}@media(hover:hover){body.dark-mode .portfolio-reading-file-card:hover{background:transparent}}body.dark-mode .portfolio-reading-file-card-thumb{background:#ffffff0f}body.dark-mode .portfolio-reading-file-card-title{color:var(--paper-overlay-text)}body.portfolio-reading-open #jonathan-jiang-name{opacity:1!important;pointer-events:auto!important;z-index:10020!important}body.portfolio-reading-open #portfolio-prev-arrow,body.portfolio-reading-open #portfolio-next-arrow,body.portfolio-reading-open #portfolio-paper-links,body.portfolio-reading-open #portfolio-reading-mode-btn{opacity:0!important;pointer-events:none!important}body.portfolio-reading-open .yt-shell,body.portfolio-reading-open .yt-fullscreen-controls{opacity:0!important;visibility:hidden!important;pointer-events:none!important}#steamdeck-disclaimer{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:geometricPrecision}body.app-loading-hide-dom #jonathan-jiang-name,body.app-loading-hide-dom #steamdeck-disclaimer,body.app-loading-hide-dom #steamdeck-screen-overlay-root,body.app-loading-hide-dom #paper-overlay-root,body.app-loading-hide-dom #portfolio-paper-links,body.app-loading-hide-dom #portfolio-prev-arrow,body.app-loading-hide-dom #portfolio-next-arrow{opacity:0!important;visibility:hidden!important;pointer-events:none!important}.album-artist-text,.album-song-text{font-weight:300;font-feature-settings:"palt" 1}.focus-card-info-container .album-artist,.focus-card-info-container .album-song{font-weight:300}
