.folder-section{border-bottom:1px solid var(--color-border);margin-bottom:2rem}.folder-section details{padding:1.5rem 0}.folder-section summary{cursor:pointer;outline:none;justify-content:space-between;align-items:center;font-size:1.25rem;font-weight:600;list-style:none;transition:color .3s;display:flex}.folder-section summary h2{font-size:inherit;font-family:inherit;font-weight:inherit;color:inherit;display:inline}.folder-section summary::-webkit-details-marker{display:none}.folder-section summary:hover{color:var(--color-accent)}.folder-section summary:after{content:"+";color:var(--color-text-muted);font-size:1.5rem;font-weight:300}.folder-section summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:2px}.folder-section details[open] summary:after{content:"−"}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:2rem;padding-bottom:1rem;display:grid}.project-card{background-color:var(--color-surface);border:1px solid var(--color-border);color:inherit;-webkit-user-drag:none;padding:1.5rem;text-decoration:none;transition:all .4s;display:block}.project-card:hover{border-color:var(--color-text-main);transform:translateY(-4px);box-shadow:0 10px 20px #00000008}.project-card h2,.project-card h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:400}.project-card p{color:var(--color-text-muted);font-size:.85rem;line-height:1.5}.project-card.is-wip{opacity:.5;cursor:not-allowed}.project-card.is-wip:hover{border-color:var(--color-border);box-shadow:none;transform:none}.project-card .card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.project-card.is-wip h3{margin-bottom:0}.wip-badge{font-size:.65rem;font-family:var(--font-main);color:var(--color-text-muted);border:1px solid var(--color-border);letter-spacing:.05em;text-transform:uppercase;border-radius:2px;padding:.1rem .4rem}@media (width<=600px){.card-grid{grid-template-columns:1fr}}.page-header{border-bottom:1px solid var(--color-border);margin-bottom:4rem;padding-bottom:2rem}.page-header h1{margin-bottom:.5rem;font-size:2.5rem;font-weight:300}.page-header p{color:var(--color-text-muted);font-size:1.1rem}.project-item{flex-direction:column;gap:2rem;margin-bottom:5rem;display:flex}@media (width>=768px){.project-item{flex-direction:row;align-items:flex-start;gap:3rem}.project-meta{flex:1;position:static}.project-media{z-index:5;flex:1.5;position:sticky;top:4rem}}.project-meta h2{margin-bottom:1rem;font-size:1.5rem}.project-meta p{color:var(--color-text-muted);font-size:.95rem;line-height:1.8}.meta-tags{background-color:var(--color-surface);border:1px solid var(--color-border);margin-bottom:1.5rem;padding:1rem;font-size:.85rem;list-style:none}.meta-tags li{align-items:flex-start;margin-bottom:.5rem;line-height:1.6;display:flex}.meta-tags li:last-child{margin-bottom:0}.meta-tags strong{width:90px;color:var(--color-text-main);flex-shrink:0;font-weight:600}.meta-tags li span,.meta-tags li div{flex:1}@media (width<=600px){.meta-tags li{flex-direction:column;margin-bottom:1rem}.meta-tags strong{width:auto;margin-bottom:.2rem}}.waveform-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;padding:2rem;position:relative}.play-btn{box-sizing:border-box;border:1px solid var(--color-text-main);height:42px;font-family:var(--font-main);color:var(--color-text-main);text-align:center;cursor:pointer;background:0 0;justify-content:center;align-items:center;margin-bottom:1rem;padding:0 1.5rem;font-size:1rem;text-decoration:none;transition:all .2s,transform .1s;display:inline-flex}.play-btn:hover{background-color:var(--color-text-main);color:var(--color-bg)}.play-btn:active{transition:transform 50ms;transform:scale(.98)}.playlist{border-top:1px solid var(--color-border);margin-top:1.5rem;list-style:none}.playlist-item{border-bottom:1px solid var(--color-border);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;font-size:.95rem;transition:color .3s,transform .1s;display:flex}.playlist-item:hover{color:var(--color-accent)}.playlist-item:active{transition:transform 50ms;transform:scale(.98)}.playlist-item.active{color:var(--color-accent);font-weight:600}.playlist-item .duration{color:var(--color-text-muted);font-size:.85rem}.playlist-item-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.playlist-item-meta{flex-shrink:0;align-items:center;gap:1.5rem;display:flex}.playlist-item-meta .dynamic-stats{gap:1rem;margin-top:0}.playlist-item-meta .stat-item{justify-content:flex-start;width:55px}.playlist-item-meta .duration{text-align:right;width:40px}.track-title{margin-bottom:1rem;font-size:1.1rem;font-weight:600}.action-group{flex-direction:column;gap:.75rem;max-width:240px;margin-top:1.5rem;display:flex}.action-group .play-btn{width:100%;margin-bottom:0}@media (width<=600px){.playlist-item{align-items:center;gap:.75rem}.playlist-item-title{white-space:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow-x:auto}.playlist-item-title::-webkit-scrollbar{display:none}.playlist-item-meta{flex-shrink:0}}.loader{color:var(--color-text-muted);letter-spacing:.1em;z-index:10;pointer-events:none;background:#fafafae6;border-radius:2px;padding:6px 14px;font-size:.8rem;animation:2s ease-in-out infinite pulse-float;display:none;position:absolute;top:70%;left:50%;transform:translate(-50%,-50%)}@keyframes pulse-float{0%,to{opacity:.6;transform:translate(-50%,-45%)}50%{opacity:1;transform:translate(-50%,-55%)}}.js-waveform.loading{opacity:.3}.custom-loader.is-error{color:#f55;letter-spacing:.05em;text-transform:uppercase;background-color:#ffebebe6;border:1px solid #f553;font-size:.85rem;font-weight:600}.custom-loader.is-error img{display:none}.project-hero-cover{aspect-ratio:1;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;width:100%;margin-bottom:1.5rem;overflow:hidden}.hero-image{object-fit:cover;object-position:center;width:100%;height:100%;transition:opacity .4s ease-in-out;display:block}.modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:1000;opacity:0;pointer-events:none;background-color:#fafafad9;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .4s;display:flex;position:fixed;top:0;left:0}[data-theme=dark] .modal-overlay{background-color:#111111d9}.modal-overlay.is-visible{opacity:1;pointer-events:auto}.modal-content{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;flex-direction:column;width:90%;max-width:500px;max-height:90vh;padding:2.5rem;transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;transform:translateY(20px);box-shadow:0 20px 40px #00000014}.modal-overlay.is-visible .modal-content{transform:translateY(0)}.modal-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;font-size:1.75rem;font-weight:300;transition:color .3s;position:absolute;top:1rem;right:1.5rem}.modal-close:hover{color:var(--color-text-main)}.modal-body{scrollbar-width:none;margin:1.5rem 0;padding-right:.5rem;overflow-y:auto}.modal-body::-webkit-scrollbar{display:none}.modal-body p{margin-bottom:1rem;font-size:.95rem;line-height:1.6}.modal-body h3{border-bottom:1px solid var(--color-border);margin-top:1.5rem;margin-bottom:.75rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}.modal-details summary{cursor:pointer;outline:none;list-style:none;transition:color .3s}.modal-details summary::-webkit-details-marker{display:none}.modal-details summary:hover h3{color:var(--color-accent)}.modal-details summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:2px}.modal-details summary h3{justify-content:space-between;align-items:center;display:flex}.modal-details summary h3:after{content:"+";color:var(--color-text-muted);font-size:1.2rem;font-weight:300}.modal-details[open] summary h3:after{content:"−"}.status-list{font-size:.95rem;list-style:none}.status-list li{margin-bottom:.5rem;padding-left:1rem;position:relative}.status-list li:before{content:"→";color:var(--color-accent);position:absolute;left:0}.status-list.text-muted li{color:var(--color-text-muted)}.status-list.text-muted li:before{content:"−";color:var(--color-text-muted)}.waveform-container canvas{pointer-events:none!important}.video-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:2000;opacity:0;pointer-events:none;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.video-modal-overlay.is-visible{opacity:1;pointer-events:auto}.video-modal-content{background:#000;border-radius:8px;width:90%;max-width:1100px;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000080}.video-aspect-ratio{aspect-ratio:16/9;width:100%;position:relative}.video-aspect-ratio video{outline:none;width:100%;height:100%;position:absolute;top:0;left:0}.modal-controls-bar{z-index:2100;align-items:center;gap:1.5rem;display:flex;position:absolute;top:10px;right:15px}.modal-controls-bar .video-modal-close,.modal-controls-bar .modal-close{color:#fff;cursor:pointer;background:0 0;border:none;font-size:2rem;transition:transform .2s;position:static}.modal-controls-bar .video-modal-close:hover,.modal-controls-bar .modal-close:hover{transform:scale(1.1)}.modal-controls-bar .like-btn{color:#fff;opacity:.7;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;transition:transform .2s,opacity .2s,color .3s;display:flex}.modal-controls-bar .like-btn:hover{opacity:1;transform:scale(1.1)}.modal-controls-bar .like-btn.is-active{color:var(--color-error);opacity:1}.modal-controls-bar .like-btn svg{filter:drop-shadow(0 2px 4px #00000080)}.expandable-content{max-height:none;position:relative;overflow:hidden}.text-btn{color:var(--color-accent);font-family:var(--font-main);cursor:pointer;background:0 0;border:none;margin-top:.5rem;padding:.5rem 0;font-size:.9rem;font-weight:600;transition:color .3s}.text-btn:hover{color:var(--color-text-main)}.text-btn.js-expand-btn{display:none}html.js-enabled .expandable-content{will-change:max-height;contain:paint;max-height:6.3em;transition:max-height .6s cubic-bezier(.16,1,.3,1)}html.js-enabled .expandable-content:after{content:"";background:linear-gradient(to bottom, transparent, var(--color-bg));pointer-events:none;width:100%;height:3em;transition:opacity .4s;position:absolute;bottom:0;left:0}html.js-enabled .expandable-content.is-expanded{max-height:1000px}html.js-enabled .expandable-content.is-expanded:after{opacity:0}html.js-enabled .text-btn.js-expand-btn{display:inline-block}.relative-container{min-height:100px;position:relative}.custom-loader{background-color:var(--color-surface);z-index:10;opacity:1;pointer-events:none;background:0 0;justify-content:center;align-items:center;width:100%;height:100%;transition:none;display:flex;position:absolute;top:0;left:0}.custom-loader.is-hidden{opacity:0;pointer-events:none;transition:opacity .4s}.loader-gif{width:48px;height:48px;image-rendering:pixelated}.home-hero{margin-bottom:5rem}.home-hero__title{margin-bottom:1rem;font-size:2.5rem;font-weight:300}.home-hero__subtitle{color:var(--color-text-muted);max-width:600px}.modal-title{font-size:1.5rem;font-weight:600}.modal-subtitle{color:var(--color-text-muted)}.modal-footer-text{color:var(--color-text-muted);margin-top:1.5rem;font-size:.9rem}.modal-btn-full{width:100%;margin-bottom:0}.about-col{flex:1}.about-avatar{background-color:#0000;border:none;max-width:128px;margin-bottom:1.5rem}.profile-status-link:hover{transform:translateY(-2px)}.pixel-art{image-rendering:pixelated}.mt-2{margin-top:2rem}.masonry-grid{column-count:1;column-gap:1.5rem;margin-top:2rem;padding-bottom:2rem}@media (width>=768px){.masonry-grid{column-count:2}}@media (width>=1024px){.masonry-grid{column-count:3}}.masonry-item{break-inside:avoid;-webkit-column-break-inside:avoid;page-break-inside:avoid;content-visibility:auto;contain-intrinsic-size:auto 400px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;margin-bottom:1.5rem;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden;transform:translateZ(0)}.masonry-item:hover{border-color:var(--color-text-main);transform:translateY(-4px);box-shadow:0 12px 24px #0000000f}.masonry-item img{object-fit:cover;width:100%;height:auto;display:block;pointer-events:none!important;-webkit-user-drag:none!important}.masonry-item-caption{color:var(--color-text-muted);border-top:1px solid var(--color-border);padding:1rem;font-size:.85rem}#global-image-view{will-change:opacity}.image-modal-overlay{-webkit-backdrop-filter:blur(8px);z-index:2000;opacity:0;pointer-events:none;cursor:zoom-out;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.image-modal-overlay.is-visible{opacity:1;pointer-events:auto}.image-modal-content{cursor:default;justify-content:center;align-items:center;max-width:90vw;max-height:90vh;display:flex;position:relative}.image-modal-content img{object-fit:contain;user-select:none;border-radius:4px;max-width:100%;max-height:90vh;pointer-events:none!important;-webkit-user-drag:none!important;-webkit-touch-callout:none!important}.image-modal-overlay .modal-close{color:#fff;z-index:2010;font-size:2.5rem;position:fixed;top:1.5rem;right:2rem}.image-modal-overlay .modal-close:hover{color:#ddd;transform:scale(1.1)}.masonry-item,.project-hero-cover{cursor:zoom-in}.video-thumbnail{aspect-ratio:16/9;background-color:#111;border-radius:4px;width:100%;margin-bottom:1.5rem;position:relative;overflow:hidden}.video-thumbnail img{object-fit:cover;opacity:.85;width:100%;height:100%;transition:transform .5s,opacity .3s;display:block}.video-thumbnail:after{content:"▶";color:#fff;opacity:.8;text-shadow:0 4px 12px #00000080;pointer-events:none;font-size:2.5rem;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.project-card:hover .video-thumbnail img{opacity:.6;transform:scale(1.05)}.project-card:hover .video-thumbnail:after{opacity:1;transform:translate(-50%,-50%)scale(1.15)}@media (width<=600px){.home-hero{margin-top:1rem;margin-bottom:3.5rem}.home-hero__title{margin-bottom:1.5rem;font-size:1.75rem;line-height:1.3}.home-hero__subtitle{font-size:.95rem;line-height:1.6}.page-header{margin-bottom:2.5rem;padding-bottom:1.5rem}.page-header h1{font-size:2rem}.folder-section summary{padding:1rem 0;font-size:1.15rem}p,li,h1,h2,h3,span,div{overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.mobile-stack{flex-direction:column!important;align-items:flex-start!important;display:flex!important}}.waveform-render-area{width:100%;min-height:80px;margin-top:1rem;display:grid}.js-waveform{cursor:pointer;opacity:0;flex:1;grid-area:2/1/3/2;transition:opacity .3s}.player-controls{flex-shrink:0;grid-area:1/1/2/2}.player-controls .play-btn{min-width:160px}.waveform-render-area .custom-loader{z-index:10;pointer-events:none;background:0 0;grid-area:2/1/3/2;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative;top:0;left:0}.project-card:focus-visible,.play-btn:focus-visible,.nav-btn:focus-visible,.text-btn:focus-visible,.modal-close:focus-visible,.video-modal-close:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;transition:outline-color .2s,outline-offset .2s}.video-modal-close:focus-visible{outline:2px solid #fff}img{position:relative}img:before{content:"📷 [ Asset Load Failed ] " attr(alt);background-color:var(--color-surface);border:1px dashed var(--color-text-muted);width:100%;height:100%;color:var(--color-text-muted);font-family:var(--font-main);text-align:center;box-sizing:border-box;z-index:5;justify-content:center;align-items:center;padding:1.5rem;font-size:.8rem;font-weight:400;display:flex;position:absolute;top:0;left:0}.mini-player{-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border);z-index:100;background:#fafafaf2;border-radius:8px;flex-direction:column;width:380px;transition:transform .4s cubic-bezier(.16,1,.3,1),background-color .3s;display:flex;position:fixed;bottom:2rem;right:2rem;overflow:hidden;transform:translateY(150%);box-shadow:0 10px 40px #0000001f}[data-theme=dark] .mini-player{background:#1a1a1af2}.mini-player.is-active{transform:translateY(0)}.mini-progress-container{cursor:pointer;background:#0000000d;width:100%;height:4px;transition:height .2s}.mini-progress-container:hover{height:6px}.mini-progress-fill{background:var(--color-accent);width:0%;height:100%;transition:width .1s linear}.mini-player-content{justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.mini-player-info{flex:1;align-items:center;gap:1rem;display:flex;overflow:hidden}.mini-cover{object-fit:cover;border-radius:4px;width:44px;height:44px;box-shadow:0 2px 8px #0000001a}.mini-title{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:.9rem;font-weight:600;display:block;position:relative;overflow:hidden}.mini-title.is-scrolling,.mini-artist.is-scrolling{width:max-content;padding-left:100%;animation:10s linear infinite marquee;display:inline-block;overflow:visible}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-100%)}}.mini-player-controls{align-items:center;gap:.25rem;display:flex}.mini-player-controls .nav-btn{color:var(--color-text-main);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.4rem;transition:all .2s;display:flex}.mini-player-controls .nav-btn:hover{color:var(--color-accent);background:#0000000d}.mini-player-controls .loop-btn.is-looping{color:var(--color-accent);background:#0055ff1a}.mini-title-wrapper{flex-direction:column;max-width:150px;display:flex;overflow:hidden}.mini-artist{color:var(--color-text-muted);font-size:.75rem}@media (width<=600px){.mini-player{width:calc(100% - 2rem);bottom:1rem;left:1rem;right:1rem}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-border) 50%, var(--color-surface) 75%);color:#0000;pointer-events:none;background-size:200% 100%;animation:1.5s infinite shimmer}.text-skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-border) 50%, var(--color-surface) 75%);pointer-events:none;user-select:none;background-size:200% 100%;border-radius:4px;min-width:1.5rem;min-height:1em;animation:1.5s infinite shimmer;display:inline-block;color:#0000!important}.page-transition-skeleton{background-color:var(--color-bg);z-index:999;opacity:0;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.page-transition-skeleton.is-active{opacity:1;pointer-events:auto}.page-transition-skeleton .skeleton-loader{border:3px solid var(--color-surface);border-top-color:var(--color-text-main);border-radius:50%;width:48px;height:48px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.image-skeleton-wrapper{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-border) 50%, var(--color-surface) 75%);background-size:200% 100%;width:100%;animation:1.5s infinite shimmer;position:relative}.image-skeleton-wrapper.is-loaded{background:0 0;animation:none}.image-skeleton-wrapper img{opacity:0;width:100%;height:auto;transition:opacity .4s;display:block}.image-skeleton-wrapper img.is-loaded{opacity:1}.status-badge{font-size:.85rem;font-weight:500;font-family:var(--font-main);border:1px solid var(--color-border);background:var(--color-surface);border-radius:9999px;align-items:center;padding:.35rem .85rem;display:inline-flex}.status-dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.status-badge.available .status-dot{background-color:#10b981;box-shadow:0 0 8px #10b98166}.status-badge.maintenance .status-dot{background-color:#f59e0b;box-shadow:0 0 8px #f59e0b66}.status-badge.busy .status-dot{background-color:#ef4444;box-shadow:0 0 8px #ef444466}.status-badge.skeleton{color:var(--color-text-muted);background:var(--color-bg)}.dynamic-stats{color:var(--color-text-muted);z-index:10;align-items:center;gap:1rem;margin-top:1rem;font-size:.85rem;display:flex;position:relative}.stat-item{align-items:center;gap:.35rem;display:inline-flex}.like-btn{color:var(--color-text-muted);cursor:pointer;z-index:10;pointer-events:auto;font-family:inherit;font-size:inherit;background:0 0;border:none;align-items:center;gap:.35rem;padding:0;transition:color .2s,transform .2s;display:inline-flex;position:relative}.like-btn:hover{color:var(--color-text-main)}.like-btn.is-active{color:var(--color-error)}.like-btn.is-active svg{fill:currentColor;stroke:currentColor}@keyframes like-pulse{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.pulse-anim{animation:.3s cubic-bezier(.175,.885,.32,1.275) like-pulse}.lang-switcher-btn{cursor:pointer;font-family:var(--font-family-sans,"Inter", sans-serif);color:var(--color-text-muted,#767676);text-transform:uppercase;background:0 0;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.9rem;font-weight:500;transition:color .2s,background-color .2s}.lang-switcher-btn:hover{color:var(--color-text,#111);background-color:var(--color-bg-hover,#f0f0f0)}.lang-switcher-btn.active{color:var(--color-text,#111);font-weight:700}.lang-switcher-btn:focus-visible{outline:2px solid var(--color-text);outline-offset:2px}