.warm-player.svelte-qom21g{position:fixed;right:0;bottom:0;left:0;z-index:20;display:grid;grid-template-columns:minmax(190px,.9fr) minmax(185px,1.25fr) minmax(190px,.9fr);align-items:center;height:68px;padding:0 clamp(14px,1vw,20px);color:#33302e;background:#d2b39d80;border-top:1px solid rgba(105,78,60,.16);-webkit-backdrop-filter:blur(14px) saturate(120%);backdrop-filter:blur(14px) saturate(120%);font-family:Lato,Arial,sans-serif;transition:color .18s ease,background .18s ease}html.dark .warm-player.svelte-qom21g{color:#eddfd2;background:#4a332580;border-top-color:#eddfd224}audio.svelte-qom21g{display:none}.player-controls.svelte-qom21g{display:flex;align-items:center;gap:4px}.player-controls.svelte-qom21g button:where(.svelte-qom21g){display:grid;place-items:center;width:39px;height:39px;padding:3px;color:#676765;border:0;background:transparent;cursor:pointer;transition:color .14s ease,transform .14s ease}.player-controls.svelte-qom21g button:where(.svelte-qom21g):hover,.player-controls.svelte-qom21g button:where(.svelte-qom21g):focus-visible{color:#292724;outline:none;transform:translateY(-2px)}html.dark .player-controls.svelte-qom21g button:where(.svelte-qom21g){color:#c7a991}html.dark .player-controls.svelte-qom21g button:where(.svelte-qom21g):hover,html.dark .player-controls.svelte-qom21g button:where(.svelte-qom21g):focus-visible{color:#fff0e2}.player-controls.svelte-qom21g svg:where(.svelte-qom21g){width:100%;height:100%}.player-controls.svelte-qom21g path:where(.svelte-qom21g){fill:none;stroke:currentColor;stroke-width:2.6;stroke-linejoin:miter}.player-controls.svelte-qom21g .filled:where(.svelte-qom21g){fill:currentColor;stroke:none}.track-details.svelte-qom21g,.track-position.svelte-qom21g{display:flex;flex-direction:column;justify-content:center;line-height:1.08}.track-details.svelte-qom21g{align-items:center;min-width:0;text-align:center}.track-display.svelte-qom21g{display:grid;grid-template-columns:minmax(42px,1fr) minmax(0,auto) minmax(42px,1fr);align-items:center;gap:clamp(7px,.8vw,13px);min-width:0}.audio-wave.svelte-qom21g{display:block;width:100%;height:38px;color:#55463cad;opacity:.82}html.dark .audio-wave.svelte-qom21g{color:#e6cab3b3}.track-title.svelte-qom21g,.track-position.svelte-qom21g span:where(.svelte-qom21g){font-size:clamp(1.08rem,1.28vw,1.55rem);font-weight:300}.track-details.svelte-qom21g strong:where(.svelte-qom21g),.track-position.svelte-qom21g strong:where(.svelte-qom21g){font-size:clamp(.82rem,.92vw,1.08rem);font-weight:700}.track-details.svelte-qom21g strong:where(.svelte-qom21g){max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-position.svelte-qom21g{align-items:flex-end;text-align:right}@media (max-width: 680px){.warm-player.svelte-qom21g{grid-template-columns:max-content minmax(0,1fr) max-content;padding:0 10px}.player-controls.svelte-qom21g{gap:0}.player-controls.svelte-qom21g button:where(.svelte-qom21g){width:32px;height:36px;padding:3px}.track-title.svelte-qom21g,.track-position.svelte-qom21g span:where(.svelte-qom21g){font-size:.88rem}.track-details.svelte-qom21g strong:where(.svelte-qom21g),.track-position.svelte-qom21g strong:where(.svelte-qom21g){font-size:.72rem}.track-details.svelte-qom21g strong:where(.svelte-qom21g){max-width:min(38vw,190px)}.track-display.svelte-qom21g{grid-template-columns:minmax(24px,1fr) minmax(0,auto) minmax(24px,1fr);gap:6px}.audio-wave.svelte-qom21g{height:29px}}@media (max-width: 440px){.player-controls.svelte-qom21g button:where(.svelte-qom21g){width:27px}.track-position.svelte-qom21g span:where(.svelte-qom21g){display:none}}body{overflow-x:hidden;overflow-y:auto}.desktop-portfolio.svelte-6rvryc{--ink: #2f2925;--muted-ink: #715b4c;--paper: #d9c8bc;--surface: #f2eee5;--hover-ink: #2e2824;--contact-hover: rgba(91, 87, 83, .28);--preview-border: rgba(86, 67, 51, .13);--preview-shadow: rgba(70, 54, 42, .28);min-height:100vh;padding-bottom:68px;overflow:hidden;color:var(--ink);background:var(--paper);transition:color .18s ease,background .18s ease}html.dark .desktop-portfolio.svelte-6rvryc{--ink: #eddfd2;--muted-ink: #c4a58e;--paper: #2d211b;--surface: #382920;--hover-ink: #fff0e2;--contact-hover: rgba(207, 170, 140, .14);--preview-border: rgba(231, 199, 172, .18);--preview-shadow: rgba(8, 5, 3, .62)}.portfolio-header.svelte-6rvryc{display:flex;align-items:center;justify-content:space-between;min-height:82px;padding:16px clamp(20px,2vw,34px)}.wordmark.svelte-6rvryc{flex:0 0 auto;font-family:EB Garamond,Georgia,serif;font-size:clamp(2.2rem,2.45vw,3.45rem);font-weight:400;line-height:1;letter-spacing:-.04em;text-decoration:none}.header-actions.svelte-6rvryc{display:flex;align-items:center;gap:clamp(10px,1.2vw,20px);margin-left:clamp(20px,3vw,50px)}.about-link.svelte-6rvryc{padding:8px 18px;color:var(--ink);font-family:EB Garamond,Georgia,serif;font-size:clamp(.95rem,1vw,1.2rem);text-decoration:none;transition:background .16s ease}.about-link.svelte-6rvryc:hover,.about-link.svelte-6rvryc:focus-visible{background:var(--contact-hover);outline:none}.social-links.svelte-6rvryc{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(8px,1vw,16px)}.social-links.svelte-6rvryc a:where(.svelte-6rvryc){display:inline-flex;align-items:center;justify-content:center;min-width:clamp(112px,10vw,168px);height:42px;padding:0 clamp(14px,1.35vw,26px);gap:clamp(4px,.35vw,7px);color:var(--ink);background:transparent;font-family:EB Garamond,Georgia,serif;font-size:clamp(.9rem,.9vw,1.17rem);text-decoration:none;transition:color .16s ease,background .16s ease}.social-links.svelte-6rvryc a:where(.svelte-6rvryc):hover,.social-links.svelte-6rvryc a:where(.svelte-6rvryc):focus-visible{color:var(--ink);background:var(--contact-hover);outline:none}.social-links.svelte-6rvryc img:where(.svelte-6rvryc){width:clamp(18px,1.3vw,26px);height:clamp(18px,1.3vw,26px);-o-object-fit:contain;object-fit:contain}html.dark .social-links.svelte-6rvryc img:where(.svelte-6rvryc){filter:invert(.9) sepia(.15) saturate(.7)}.theme-options.svelte-6rvryc{display:flex;align-items:center;gap:5px}.theme-option.svelte-6rvryc:last-child{margin-left:clamp(7px,.65vw,12px)}.theme-option.svelte-6rvryc{display:grid;place-items:center;width:30px;height:30px;padding:6px;color:var(--ink);border:1px solid var(--muted-ink);border-radius:50%;background:transparent;opacity:.55;cursor:pointer;transition:opacity .15s ease,border-color .15s ease,background .15s ease,transform .15s ease}.theme-option.svelte-6rvryc:hover,.theme-option.svelte-6rvryc:focus-visible{border-color:#b99476;background:transparent;opacity:1;outline:none}.theme-option.is-active.svelte-6rvryc{border-color:#b99476;background:#654a38;color:#f5e8de;opacity:1}.theme-option.svelte-6rvryc:hover,.theme-option.svelte-6rvryc:focus-visible{transform:translateY(-2px)}.theme-option.svelte-6rvryc img:where(.svelte-6rvryc),.theme-option.svelte-6rvryc svg:where(.svelte-6rvryc){width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.theme-option.svelte-6rvryc svg:where(.svelte-6rvryc){fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75}.theme-option.svelte-6rvryc:not(.is-active) img:where(.svelte-6rvryc){filter:brightness(0) saturate(100%)}html.dark .theme-option.svelte-6rvryc{color:#c4a58e;border-color:#c4a58e;background:transparent}html.dark .theme-option.svelte-6rvryc:hover,html.dark .theme-option.svelte-6rvryc:focus-visible{border-color:#d0ad91;background:transparent}html.dark .theme-option.is-active.svelte-6rvryc{border-color:#d0ad91;background:#6a4a36;color:#fff0e2}html.dark .theme-option.svelte-6rvryc:not(.is-active) img:where(.svelte-6rvryc){filter:none}.index-content.svelte-6rvryc{display:flex;flex-direction:column;align-items:center;width:min(1180px,92vw);margin:0 auto;padding:clamp(82px,9vh,126px) 0 clamp(90px,10vh,138px);gap:clamp(62px,8vh,104px)}.index-group.svelte-6rvryc{width:100%;text-align:center}.index-group.svelte-6rvryc h1:where(.svelte-6rvryc),.index-group.svelte-6rvryc h2:where(.svelte-6rvryc){margin:0;font-family:EB Garamond,Georgia,serif;font-size:clamp(2.1rem,2.4vw,2.6rem);font-weight:500;line-height:1;letter-spacing:-.025em}.projects-row.svelte-6rvryc{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px clamp(72px,10vw,150px);margin-top:28px}.index-entry.svelte-6rvryc{display:inline-flex;align-items:center;gap:17px;color:var(--muted-ink);font-family:Lato,Arial,sans-serif;font-size:clamp(1.05rem,1.35vw,1.45rem);font-weight:400;white-space:nowrap}.preview-button.svelte-6rvryc{padding:2px 0;color:inherit;border:0;border-bottom:1px solid transparent;background:transparent;font:inherit;cursor:pointer;transition:color .15s ease,border-color .15s ease}.preview-button.svelte-6rvryc:hover,.preview-button.svelte-6rvryc:focus-visible,.preview-button.is-active.svelte-6rvryc{color:var(--hover-ink);border-bottom-color:currentColor;outline:none}.link-button.svelte-6rvryc,.search-button.svelte-6rvryc{display:inline-grid;place-items:center;flex:0 0 auto;padding:2px;color:var(--muted-ink);border:0;background:transparent;cursor:pointer;transition:color .15s ease,transform .15s ease}.link-button.svelte-6rvryc{width:25px;height:25px}.link-button.svelte-6rvryc:hover,.link-button.svelte-6rvryc:focus-visible,.search-button.svelte-6rvryc:hover,.search-button.svelte-6rvryc:focus-visible,.search-button.is-active.svelte-6rvryc{color:var(--hover-ink);outline:none;transform:translateY(-2px)}.link-button.svelte-6rvryc svg:where(.svelte-6rvryc),.search-button.svelte-6rvryc svg:where(.svelte-6rvryc),.post-link.svelte-6rvryc svg:where(.svelte-6rvryc){width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.group-heading.svelte-6rvryc{display:flex;align-items:center;justify-content:center;gap:16px}.search-button.svelte-6rvryc{width:38px;height:38px;margin-top:4px}.post-list.svelte-6rvryc{display:flex;flex-direction:column;align-items:center;margin-top:22px}.post-link.svelte-6rvryc{display:inline-flex;align-items:center;gap:17px;padding:4px 8px;color:var(--muted-ink);border:0;background:transparent;font-family:Lato,Arial,sans-serif;font-size:clamp(1rem,1.2vw,1.3rem);font-weight:400;line-height:1.3;cursor:pointer}.post-link.svelte-6rvryc span:where(.svelte-6rvryc){border-bottom:1px solid transparent;transition:border-color .15s ease}.post-link.svelte-6rvryc:hover,.post-link.svelte-6rvryc:focus-visible,.post-link.is-active.svelte-6rvryc{color:var(--hover-ink);outline:none}.post-link.svelte-6rvryc:hover span:where(.svelte-6rvryc),.post-link.svelte-6rvryc:focus-visible span:where(.svelte-6rvryc),.post-link.is-active.svelte-6rvryc span:where(.svelte-6rvryc){border-bottom-color:currentColor}.post-link.svelte-6rvryc svg:where(.svelte-6rvryc){width:22px;height:22px;flex:0 0 auto}.preview-region.svelte-6rvryc{width:80vw;margin:0 auto clamp(72px,8vw,126px);padding:0;scroll-margin-top:24px}.preview-note.svelte-6rvryc{margin:0 0 10px;color:var(--muted-ink);font-family:Lato,Arial,sans-serif;font-size:clamp(.68rem,.72vw,.8rem);font-weight:400;letter-spacing:.035em;text-align:center}.preview-panel.svelte-6rvryc{position:relative;width:100%;aspect-ratio:1;margin:0 auto;padding:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:var(--surface);border:1px solid var(--preview-border);box-shadow:0 7px 16px var(--preview-shadow)}.preview-panel.frame-preview.svelte-6rvryc{overflow:hidden;scrollbar-gutter:auto}.preview-panel.svelte-6rvryc iframe:where(.svelte-6rvryc){position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;border:0;background:var(--surface)}.project-image.svelte-6rvryc{width:100%;line-height:0;background:var(--surface)}.project-image.svelte-6rvryc img:where(.svelte-6rvryc){width:100%;height:auto}.portfolio-footer.svelte-6rvryc{padding:0 clamp(20px,4vw,64px) clamp(46px,6vw,86px)}@media (max-width: 1020px){.index-content.svelte-6rvryc{padding-top:72px}}@media (max-width: 680px){.portfolio-header.svelte-6rvryc{align-items:center;flex-direction:row;flex-wrap:nowrap;gap:8px;min-height:64px;padding:14px 12px}.wordmark.svelte-6rvryc{min-width:0;font-size:clamp(1.35rem,6.4vw,2rem);white-space:nowrap}.header-actions.svelte-6rvryc{flex:0 0 auto;width:auto;margin-left:auto;gap:4px;white-space:nowrap}.about-link.svelte-6rvryc{padding:6px clamp(6px,1.5vw,10px);font-size:clamp(.82rem,3.4vw,.95rem)}.theme-options.svelte-6rvryc{gap:3px}.theme-option.svelte-6rvryc:last-child{margin-left:6px}.theme-option.svelte-6rvryc{width:28px;height:28px;padding:5px}.social-links.svelte-6rvryc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.social-links.svelte-6rvryc a:where(.svelte-6rvryc){min-width:0;height:42px;padding:0 10px}.index-content.svelte-6rvryc{width:min(92vw,560px);padding:60px 0 82px;gap:64px}.projects-row.svelte-6rvryc{flex-direction:column;gap:15px}.post-link.svelte-6rvryc{justify-content:center;max-width:100%;text-align:center}}@media (max-width: 420px){.portfolio-header.svelte-6rvryc{gap:6px;padding-right:6px;padding-left:6px}.wordmark.svelte-6rvryc{font-size:1.1rem}.about-link.svelte-6rvryc{padding-right:4px;padding-left:4px;font-size:.76rem}.theme-option.svelte-6rvryc{width:24px;height:24px;padding:4px}.theme-option.svelte-6rvryc:last-child{margin-left:4px}}
