.work-page{transition:background .8s;position:fixed;inset:0;overflow:hidden}.work-canvas{z-index:0;position:absolute;inset:0}.work-hud{z-index:10;pointer-events:none;max-width:500px;transition:opacity .3s;position:fixed;bottom:60px;left:40px}.work-hud__title{color:#fff;letter-spacing:-.03em;margin-bottom:6px;font-size:clamp(1.8rem,4vw,3rem);font-weight:800;line-height:1.1}.work-hud__subtitle{color:var(--accent);letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;font-size:clamp(.85rem,1.5vw,1rem);font-weight:500}.work-hud__desc{color:#fff9;max-width:400px;font-size:clamp(.9rem,1.5vw,1.05rem);line-height:1.6}.work-hud__counter{color:#ffffff4d;letter-spacing:3px;font-variant-numeric:tabular-nums;margin-top:20px;font-size:13px;font-weight:600}.work-dots{z-index:10;flex-direction:column;gap:12px;display:flex;position:fixed;top:50%;right:32px;transform:translateY(-50%)}.work-dot{background:#fff3;border-radius:50%;width:8px;height:8px;transition:all .4s}.work-dot.active{background:var(--accent);box-shadow:0 0 12px var(--accent);transform:scale(1.3)}.work-scroll-hint{z-index:10;pointer-events:none;align-items:center;gap:12px;animation:4s ease-in-out infinite work-hint-fade;display:flex;position:fixed;bottom:40px;right:40px}.work-scroll-hint span{letter-spacing:2px;text-transform:uppercase;color:#ffffff40;font-size:11px}.work-scroll-hint__line{background:#ffffff26;width:40px;height:1px;position:relative;overflow:hidden}.work-scroll-hint__line:after{content:"";background:var(--accent);width:100%;height:100%;animation:2s ease-in-out infinite scroll-line;position:absolute;top:0;left:-100%}@keyframes scroll-line{0%{left:-100%}50%{left:100%}to{left:100%}}@keyframes work-hint-fade{0%,to{opacity:1}50%{opacity:.4}}@media (width<=768px){.work-hud{max-width:none;bottom:100px;left:20px;right:20px}.work-dots{right:16px}.work-scroll-hint{bottom:24px;right:20px}}.photos-page{background:var(--bg);min-height:100vh;padding-top:80px}.photos-header{text-align:center;padding:40px 24px 32px}.photos-header h1{color:#fff;letter-spacing:-.02em;font-size:clamp(2rem,5vw,3rem);font-weight:700}.masonry{columns:3;column-gap:12px;max-width:1400px;margin:0 auto;padding:0 24px 80px}.masonry-item{break-inside:avoid;cursor:pointer;background:#ffffff08;border-radius:8px;margin-bottom:12px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.masonry-item:hover{transform:scale(1.015);box-shadow:0 8px 30px #0006}.masonry-item img{object-fit:cover;width:100%;height:auto;transition:opacity .5s;display:block}.masonry-placeholder{width:100%;padding-bottom:calc(100% / var(--aspect,1.5));background:#ffffff08}.lightbox{z-index:200;background:#000000f2;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-img{object-fit:contain;-webkit-user-select:none;user-select:none;border-radius:4px;max-width:90vw;max-height:85vh}.lightbox-close{color:#fff;cursor:pointer;opacity:.7;z-index:10;background:0 0;border:none;padding:8px;font-size:28px;transition:opacity .2s;position:absolute;top:20px;right:24px}.lightbox-close:hover{opacity:1}.lightbox-nav{color:#fff;cursor:pointer;opacity:.5;z-index:10;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:16px;font-size:48px;transition:opacity .2s;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{opacity:1}.lightbox-prev{left:12px}.lightbox-next{right:12px}.lightbox-counter{color:#ffffff80;letter-spacing:2px;font-size:13px;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@media (width<=1024px){.masonry{columns:2;column-gap:8px;padding:0 16px 60px}.masonry-item{margin-bottom:8px}}@media (width<=480px){.masonry{columns:2;column-gap:6px;padding:0 12px 60px}.lightbox-nav{padding:12px;font-size:36px}.lightbox-prev{left:4px}.lightbox-next{right:4px}}.library-page{background:var(--bg);min-height:100vh;padding-top:80px}.library-header{text-align:center;padding:40px 24px 16px}.library-header h1{color:#fff;letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(2rem,5vw,3rem);font-weight:700}.library-subtitle{color:var(--muted);margin-bottom:24px;font-size:1.1rem}.library-filters{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.filter-btn{border:1px solid var(--card-border);color:var(--muted);cursor:pointer;background:0 0;border-radius:24px;padding:8px 20px;font-family:inherit;font-size:14px;font-weight:500;transition:all .2s}.filter-btn:hover{color:#fff;border-color:#fff3}.filter-btn.active{color:var(--accent);background:#ff6b351f;border-color:#ff6b354d}.library-stack{flex-direction:column;gap:60px;max-width:1100px;margin:0 auto;padding:40px 24px;display:flex}.library-item{opacity:0;grid-template-columns:1fr 1fr;align-items:center;gap:48px;transition:opacity .8s,transform .8s;display:grid;transform:translateY(40px)}.library-item.visible{opacity:1;transform:translateY(0)}.library-item.layout-left{direction:ltr}.library-item.layout-right{direction:rtl}.library-item.layout-right .library-item-info,.library-item.layout-right .library-item-cover{direction:ltr}.library-item-cover{aspect-ratio:2/3;background:var(--item-color,#ffffff08);border-radius:12px;transition:transform .4s,box-shadow .4s;position:relative;overflow:hidden;box-shadow:0 20px 60px #0006}.library-item:hover .library-item-cover{transform:translateY(-4px)scale(1.01);box-shadow:0 28px 70px #00000080}.library-item-cover img{object-fit:cover;width:100%;height:100%;display:block}.cover-placeholder{background:linear-gradient(160deg, var(--item-color,#1a1a2e) 0%, #050505e6 100%);flex-direction:column;justify-content:flex-end;width:100%;height:100%;padding:24px;display:flex}.cover-title{color:#fff;margin-bottom:6px;font-size:1.4rem;font-weight:700;line-height:1.2}.cover-creator{color:var(--muted);font-size:.9rem}.library-item-info{padding:16px 0}.library-badges{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.library-type-badge{letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:600;display:inline-block}.library-fav-badge{letter-spacing:1px;text-transform:uppercase;color:gold;font-size:11px;font-weight:600;display:inline-block}.library-own-badge{letter-spacing:1px;text-transform:uppercase;color:var(--accent2);font-size:11px;font-weight:600;display:inline-block}.library-reading-badge{letter-spacing:1px;text-transform:uppercase;color:#7ee787;font-size:11px;font-weight:600;display:inline-block}.library-five-badge{letter-spacing:1px;color:gold;font-size:11px;font-weight:600;display:inline-block}.library-count{color:#555;margin-bottom:16px;font-size:14px}.library-show-more{text-align:center;padding:20px 24px 40px}.library-show-more .filter-btn{padding:12px 32px;font-size:16px}.library-item-title{color:#fff;letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;line-height:1.2}.library-item-creator{color:var(--muted);margin-bottom:20px;font-size:1rem}.library-item-note{color:var(--text);max-width:480px;font-size:1.05rem;line-height:1.8}.library-item-note.placeholder-note{color:#ffffff26}.library-footer{text-align:center;padding:40px 24px 80px}.library-footer p{color:#444;letter-spacing:1px;font-size:14px}@media (width<=768px){.library-stack{gap:60px;padding:24px 20px 60px}.library-item{grid-template-columns:1fr;gap:20px}.library-item.layout-right{direction:ltr}.library-item-cover{aspect-ratio:3/4;max-width:280px;margin:0 auto}.library-item-info{text-align:center;padding:0}.library-item-note{max-width:100%;margin:0 auto}}:root{--bg:#050505;--text:#e8e6e3;--accent:#ff6b35;--accent2:#4ecdc4;--muted:#888;--card-bg:#ffffff08;--card-border:#ffffff0f}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-x:hidden}body{background:var(--bg);min-height:100vh}#root{position:relative}.canvas-bg{z-index:0;width:100vw;height:100vh;position:fixed;top:0;left:0}.scroll-content{z-index:1;-webkit-user-select:none;user-select:none;position:relative}.hero{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:0 24px;display:flex}.hero h1{letter-spacing:-.03em;color:#fff;margin-bottom:16px;font-size:clamp(2.5rem,8vw,5.5rem);font-weight:800;line-height:1.05}.hero h1 .accent{background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero .subtitle{color:var(--muted);max-width:600px;font-size:clamp(1rem,2.5vw,1.4rem);font-weight:400;line-height:1.6}.hero .reveal-hint{color:var(--muted);letter-spacing:2px;text-transform:uppercase;opacity:.6;margin-top:24px;font-size:12px;animation:3s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.2}}.hero .scroll-hint{color:var(--muted);letter-spacing:2px;text-transform:uppercase;font-size:13px;animation:2s ease-in-out infinite bob;position:absolute;bottom:40px}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.section{max-width:1100px;min-height:100vh;margin:0 auto;padding:120px 24px}.section-label{letter-spacing:3px;text-transform:uppercase;color:var(--accent);margin-bottom:12px;font-size:12px;font-weight:600}.section h2{letter-spacing:-.02em;color:#fff;margin-bottom:24px;font-size:clamp(2rem,5vw,3.2rem);font-weight:700}.section p{color:var(--muted);max-width:680px;font-size:1.1rem;line-height:1.8}.about-grid{grid-template-columns:1fr 1fr;gap:40px;margin-top:40px;display:grid}.about-text p{margin-bottom:16px}.stat-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.stat-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:20px}.stat-card .number{background:linear-gradient(135deg, var(--accent), var(--accent2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800}.stat-card .label{color:var(--muted);margin-top:4px;font-size:13px}.work-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:40px;display:grid}.work-card{background:var(--card-bg);border:1px solid var(--card-border);cursor:default;border-radius:16px;padding:32px;transition:all .3s}.work-card:hover{border-color:#ffffff1f;transform:translateY(-4px);box-shadow:0 20px 40px #0000004d}.work-card .card-icon{margin-bottom:16px;font-size:2rem}.work-card h3{color:#fff;margin-bottom:8px;font-size:1.3rem;font-weight:600}.work-card .card-desc{color:var(--muted);font-size:.95rem;line-height:1.6}.work-card .card-tags{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.work-card .card-tag{color:var(--accent);background:#ff6b351a;border:1px solid #ff6b3533;border-radius:20px;padding:3px 10px;font-size:11px}.contact-section{text-align:center;padding:120px 24px 80px}.contact-links{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:32px;display:flex}.contact-link{background:var(--card-bg);border:1px solid var(--card-border);color:var(--text);border-radius:10px;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;text-decoration:none;transition:all .2s;display:inline-flex}.contact-link:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.footer{text-align:center;color:#444;border-top:1px solid var(--card-border);padding:40px 24px;font-size:13px}.nav{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#050505b3;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:16px 32px;transition:border-color .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{border-bottom-color:var(--card-border)}.nav-logo{color:#fff;letter-spacing:-.02em;font-size:18px;font-weight:700;text-decoration:none}.nav-links{gap:24px;display:flex}.nav-links a{color:var(--muted);font-size:14px;text-decoration:none;transition:color .2s}.nav-links a:hover{color:#fff}.nav-links a.active{color:var(--accent)}.fade-in{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(30px)}.fade-in.visible{opacity:1;transform:translateY(0)}@media (width<=768px){.about-grid{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.nav-links{gap:16px}.nav-links a{font-size:13px}.section{padding:80px 20px}}
