@font-face{font-family:DottedSongti;src:url(/fonts/DottedSongtiSquareRegular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{--font-display:var(--font-dotted-songti),"DottedSongti","Courier New",monospace;--font-body:"Courier New","Courier",monospace;--dot-size:3px;--dot-gap:12px;--transition-speed:0.4s}[data-theme=day]{--bg:#ffffff;--fg:#000000;--bg-secondary:#f5f5f5;--fg-muted:#666666;--border:#000000;--border-light:#cccccc;--dot-color:rgba(0,0,0,0.08);--dot-color-strong:rgba(0,0,0,0.15);--hover-bg:#000000;--hover-fg:#ffffff;--card-bg:#fafafa;--shadow:rgba(0,0,0,0.1)}[data-theme=night]{--bg:#0a0a0a;--fg:#e8e8e8;--bg-secondary:#141414;--fg-muted:#888888;--border:#e8e8e8;--border-light:#333333;--dot-color:rgba(255,255,255,0.06);--dot-color-strong:rgba(255,255,255,0.12);--hover-bg:#e8e8e8;--hover-fg:#0a0a0a;--card-bg:#111111;--shadow:rgba(255,255,255,0.05)}.splash{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background-color:var(--bg);transition:background-color var(--transition-speed) ease;overflow:hidden}.splash.hidden{display:none}.splash-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.splash-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.splash-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0}.splash-char{--char-size:clamp(2rem,4vw,4rem);width:var(--char-size);height:var(--char-size);position:relative;opacity:0}.splash-char.visible{opacity:1}.splash-char canvas{width:100%;height:100%;display:block;image-rendering:pixelated;image-rendering:crisp-edges}.splash-char-final{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:calc(var(--char-size) * .82);line-height:1;opacity:0;pointer-events:none}.splash-char.resolved canvas{display:none}.splash-char.resolved .splash-char-final{opacity:1}.splash.exit{animation:splashExit .8s cubic-bezier(.7,0,.3,1) forwards}@keyframes splashExit{0%{opacity:1;clip-path:inset(0 0 0 0)}to{opacity:0;clip-path:inset(0 0 100% 0)}}.site-wrapper{opacity:0;transition:opacity .6s ease}.site-wrapper.visible{opacity:1}@media (max-width:768px){.splash-title{font-size:2.4rem}}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-body);background-color:var(--bg);line-height:1.6;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease;overflow-x:hidden;position:relative;min-height:100vh}a,body{color:var(--fg)}a{text-decoration:none;transition:all .2s ease}a:hover{opacity:.7}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.dot-overlay{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle,var(--dot-color) var(--dot-size),transparent var(--dot-size));background-size:var(--dot-gap) var(--dot-gap);transition:background-image var(--transition-speed) ease}.site-header{position:sticky;top:0;z-index:100;background-color:var(--bg);border-bottom:2px solid var(--border);transition:background-color var(--transition-speed) ease,border-color var(--transition-speed) ease}.header-inner{max-width:1400px;margin:0 auto;padding:1rem 2rem;justify-content:space-between;gap:2rem}.header-inner,.logo-group{display:flex;align-items:center}.logo-group{gap:1rem}.logo-dot-cluster{width:32px;height:32px;display:block;flex-shrink:0}.logo-denoise-canvas{display:block;width:100%;height:100%}.site-title{font-family:var(--font-display);font-size:1.3rem;font-weight:400;line-height:1.2;letter-spacing:.02em;display:flex;align-items:center;gap:1rem}.title-zh{letter-spacing:.05em}.title-en,.title-zh{line-height:1.2}.main-nav{display:flex;gap:0}.nav-tab{padding:.75rem 1.5rem;border:2px solid transparent;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;position:relative;transition:all .25s ease;font-family:var(--font-body);text-decoration:none;color:inherit}.nav-tab .tab-index{font-size:.6rem;letter-spacing:.15em;text-transform:uppercase;opacity:.5}.nav-tab .tab-label{font-family:var(--font-display);font-size:.95rem;letter-spacing:.05em}.nav-tab:after{content:"";position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:2px;background-color:var(--fg);transition:width .3s ease}.nav-tab:hover:after{width:100%}.nav-tab:hover{opacity:1}.nav-tab.active{border:2px solid var(--border);background-color:var(--fg);color:var(--bg)}.nav-tab.active:after{display:none}.theme-toggle{padding:.5rem}.toggle-track{display:flex;align-items:center;width:60px;height:30px;border:2px solid var(--border);border-radius:0;position:relative;transition:all var(--transition-speed) ease;overflow:hidden}.toggle-icon{position:absolute;font-size:.8rem;transition:opacity .3s ease;z-index:1}.toggle-icon.sun{left:8px}.toggle-icon.moon{right:8px}[data-theme=day] .toggle-icon.sun{opacity:1}[data-theme=day] .toggle-icon.moon,[data-theme=night] .toggle-icon.sun{opacity:.3}[data-theme=night] .toggle-icon.moon{opacity:1}.toggle-thumb{position:absolute;width:24px;height:24px;background-color:var(--fg);transition:all .35s cubic-bezier(.68,-.15,.27,1.15);top:1px}[data-theme=day] .toggle-thumb{left:2px}[data-theme=night] .toggle-thumb{left:32px}.page-main{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:3rem 2rem 6rem;min-height:calc(100vh - 200px)}.section-header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--border-light)}.section-title{font-family:var(--font-display);font-size:3.5rem;font-weight:400;letter-spacing:.04em;line-height:1.1;margin-bottom:.75rem}.section-subtitle{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-muted)}.gallery-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.gallery-filters{display:flex;gap:.5rem;flex-wrap:wrap}.shuffle-btn{display:flex;align-items:center;gap:.4rem;padding:.4rem 1rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border-light);font-family:var(--font-body);white-space:nowrap;transition:all .15s ease;flex-shrink:0}.shuffle-btn:hover{border-color:var(--fg);background-color:var(--fg);color:var(--bg)}.shuffle-btn:active .shuffle-icon{display:inline-block;animation:spinOnce .35s steps(4) forwards}.shuffle-icon{display:inline-block;font-size:.9rem;line-height:1}@keyframes spinOnce{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.filter-btn{padding:.4rem 1rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--border-light);transition:all .25s ease;font-family:var(--font-body)}.filter-btn.active,.filter-btn:hover{background-color:var(--fg);color:var(--bg);border-color:var(--fg)}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;align-items:start}.photo-card{position:relative;border:1px solid var(--border-light);overflow:hidden;transition:all .3s ease;cursor:pointer;text-decoration:none;color:inherit}.photo-card.large{grid-column:span 2;grid-row:span 2}.photo-card:hover{border-color:var(--fg);transform:translateY(-2px);box-shadow:4px 4px 0 var(--shadow);opacity:1}.photo-placeholder{background-color:var(--bg-secondary);position:relative;overflow:hidden;transition:background-color var(--transition-speed) ease}.photo-placeholder:has(.dot-matrix-img){aspect-ratio:1}.photo-card.large .photo-placeholder:has(.dot-matrix-img){aspect-ratio:1}.denoise-card-canvas{display:block;width:100%;height:auto;cursor:pointer}.dot-matrix-img{width:100%;height:100%;position:relative}.dot-matrix-img canvas{width:100%;height:100%;display:block}.photo-info{padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-light);font-size:.75rem}.photo-number{font-family:var(--font-display);font-size:.9rem;opacity:.5}.photo-caption,.photo-cursor-tooltip{letter-spacing:.08em;text-transform:uppercase}.photo-cursor-tooltip{position:fixed;z-index:1500;pointer-events:none;transform:translate(12px,8px);padding:.3rem .6rem;background-color:var(--fg);color:var(--bg);font-family:var(--font-display);font-size:.6rem;box-shadow:5px 5px 0 var(--bg);white-space:nowrap;overflow:hidden;max-width:0;opacity:0;animation:tooltipType 1.5s steps(40) forwards,tooltipFade .15s ease forwards}@keyframes tooltipType{0%{max-width:0}to{max-width:400px}}@keyframes tooltipFade{0%{opacity:0;transform:translate(12px,8px) translateY(-4px)}to{opacity:1;transform:translate(12px,8px) translateY(0)}}.photo-multi-badge{margin-left:auto;font-family:var(--font-display);font-size:.6rem;letter-spacing:.05em;opacity:.4;border:1px solid;padding:.1rem .35rem;line-height:1}.projects-sort-bar{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.works-list{display:flex;flex-direction:column;gap:0}.works-toolbar{justify-content:flex-end;padding:1rem 0;border-bottom:1px solid var(--border-light)}.sort-control,.works-toolbar{display:flex;align-items:center}.sort-control{gap:.6rem}.sort-label{letter-spacing:.1em;text-transform:uppercase}.sort-btn,.sort-label{font-size:.65rem;color:var(--fg-muted)}.sort-btn{background:none;border:1px solid var(--border-light);font-family:var(--font-display);letter-spacing:.08em;padding:.25rem .6rem;cursor:pointer;transition:all .2s ease}.sort-btn.active,.sort-btn:hover{border-color:var(--fg);color:var(--fg)}.work-item{display:grid;grid-template-columns:80px 300px 1fr;gap:2rem;padding:2.5rem 0;border-bottom:1px solid var(--border-light);align-items:start;transition:all .3s ease;cursor:pointer;text-decoration:none;color:inherit}.work-item:first-child{border-top:1px solid var(--border-light)}.work-item:hover{padding-left:1rem;opacity:1}.work-number{font-family:var(--font-display);font-size:2.5rem;line-height:1;opacity:.2;transition:opacity .3s ease}.work-item:hover .work-number{opacity:1}.work-visual{width:300px;height:200px;position:relative;background-color:var(--bg-secondary);border:1px solid var(--border-light);overflow:hidden;transition:border-color .3s ease,background-color var(--transition-speed) ease}.work-visual img{filter:grayscale(1) contrast(1.1) brightness(1);transition:filter .6s ease}.work-visual:after{content:"";position:absolute;inset:0;z-index:1;background-image:radial-gradient(circle,transparent 30%,var(--bg) 30%);background-size:4px 4px;opacity:1;transition:opacity .6s ease;pointer-events:none}.work-item:hover .work-visual img{filter:grayscale(0) contrast(1) brightness(1)}.work-item:hover .work-visual:after{opacity:0}.work-item:hover .work-visual{border-color:var(--fg)}.work-visual .dot-matrix-img{width:100%;height:100%}.work-title{font-family:var(--font-display);font-size:1.8rem;font-weight:400;margin-bottom:.5rem;line-height:1.2}.work-meta{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.work-desc,.work-meta{color:var(--fg-muted);margin-bottom:1rem}.work-desc{font-size:.9rem;line-height:1.7;max-width:500px}.work-tags{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.tag{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;border:1px solid var(--border-light);transition:all .2s ease}.work-item:hover .tag{border-color:var(--fg)}.project-detail-back{background:none;border:1px solid var(--border-light);color:var(--fg-muted);font-family:var(--font-display);font-size:.75rem;letter-spacing:.08em;padding:.4rem 1rem;cursor:pointer;transition:all .2s ease;margin-bottom:2.5rem;display:inline-block;text-decoration:none}.project-detail-back:hover{border-color:var(--fg);color:var(--fg);opacity:1}.project-detail-header{display:flex;align-items:baseline;gap:1.5rem;margin-bottom:.8rem}.project-detail-title{font-family:var(--font-display);font-size:2.5rem;font-weight:400;line-height:1.2}.project-detail-meta{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:2.5rem}.project-detail-visual{width:100%;height:400px;background-color:var(--bg-secondary);border:1px solid var(--border-light);overflow:hidden;margin-bottom:2.5rem;transition:background-color var(--transition-speed) ease;position:relative}.project-detail-visual img{width:100%;height:100%;object-fit:cover}.project-detail-visual .dot-matrix-img{width:100%;height:100%}.project-detail-body{font-size:1rem;line-height:1.8;max-width:720px;color:var(--fg);margin-bottom:2rem}.project-detail-body p{margin-bottom:1rem}.project-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-bottom:2.5rem}.project-gallery-item{aspect-ratio:4/3;border:1px solid var(--border-light);overflow:hidden;position:relative}.project-gallery-item img{width:100%;height:100%;object-fit:cover}.project-status-badge{display:inline-block;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;border:1px solid var(--border-light)}.creation-scroller{margin-top:4rem;padding-top:2.5rem;border-top:1px solid var(--border-light)}.creation-scroller-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.creation-scroller-title{font-family:var(--font-display);font-size:1.1rem;font-weight:400;letter-spacing:.05em}.creation-scroller-nav{display:flex;gap:.4rem}.creation-scroller-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-light);font-family:var(--font-display);font-size:.85rem;transition:all .2s steps(1)}.creation-scroller-btn:hover{border-color:var(--fg);background-color:var(--fg);color:var(--bg)}.creation-scroller-track{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:.5rem}.creation-scroller-track::-webkit-scrollbar{display:none}.creation-scroller-card{flex:0 0 220px;scroll-snap-align:start;border:1px solid var(--border-light);transition:border-color .2s ease;cursor:default}.creation-scroller-card:hover{border-color:var(--fg)}.creation-scroller-visual{width:220px;height:160px;background-color:var(--bg-secondary);overflow:hidden;position:relative}.creation-scroller-visual .dot-matrix-img{width:100%;height:100%}.creation-scroller-info{padding:.5rem .75rem;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-light);font-size:.65rem}.creation-scroller-id{font-family:var(--font-display);font-size:.8rem;opacity:.4}.creation-scroller-label{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted)}@media (max-width:768px){.creation-scroller-card{flex:0 0 180px}.creation-scroller-visual{width:180px;height:130px}}.about-layout{display:grid;grid-template-columns:1fr 300px;gap:4rem}.about-statement{margin-bottom:3rem}.statement-large{font-family:var(--font-display);font-size:1.8rem;line-height:1.5;letter-spacing:.02em}.about-body{margin-bottom:3rem}.about-body p{font-size:.95rem;line-height:1.8;color:var(--fg-muted);margin-bottom:1rem;max-width:600px}.about-principles{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.principle{padding:1.5rem;border:1px solid var(--border-light);transition:all .3s ease}.principle:hover{border-color:var(--fg);transform:translateY(-2px)}.principle-number{font-size:1.8rem;opacity:.15;display:block}.principle h4,.principle-number{font-family:var(--font-display);margin-bottom:.5rem}.principle h4{font-size:1.1rem;font-weight:400}.principle p{font-size:.8rem;line-height:1.6;color:var(--fg-muted)}.about-sidebar{border-left:1px solid var(--border-light);padding-left:2rem}.info-block{margin-bottom:2rem}.info-label{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--fg-muted);margin-bottom:.4rem;font-weight:400}.info-block p{font-family:var(--font-display);font-size:.95rem;line-height:1.6}.social-link{display:inline-block;position:relative}.social-link:after{content:"";position:absolute;bottom:-1px;left:0;width:0;height:1px;background-color:var(--fg);transition:width .3s ease}.social-link:hover{opacity:1}.social-link:hover:after{width:100%}.dot-decoration{margin-top:3rem;width:64px;height:64px}.dot-block{display:grid;grid-template-columns:repeat(5,8px);gap:6px}.dot-block span{width:8px;height:8px;border-radius:50%;background-color:var(--fg);opacity:.12;transition:all .3s ease}.dot-block span:nth-child(odd){animation:dotFade 3s ease-in-out infinite}.dot-block span:nth-child(2n){animation:dotFade 3s ease-in-out infinite reverse}@keyframes dotFade{0%,to{opacity:.08}50%{opacity:.3}}.site-footer{position:relative;z-index:1;border-top:2px solid var(--border);padding:2rem;transition:border-color var(--transition-speed) ease}.footer-inner{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.footer-left{display:flex;align-items:baseline;gap:1rem}.footer-brand{font-family:var(--font-display);font-size:1rem}.footer-tagline,.footer-year{font-size:.75rem;color:var(--fg-muted)}.footer-tagline{letter-spacing:.1em;text-transform:uppercase}.footer-dots{display:flex;gap:8px;flex-wrap:wrap;max-width:1400px;margin:1.5rem auto 0;overflow:hidden;height:8px}.footer-dots span{width:4px;height:4px;border-radius:50%;background-color:var(--fg);opacity:.1;flex-shrink:0}.about-body,.about-principles,.about-sidebar,.about-statement,.photo-card,.section-header,.site-header,.work-item{opacity:0;animation:revealUp .6s ease forwards}.site-header{animation-delay:0s}.section-header{animation-delay:.1s}.photo-card:first-child{animation-delay:.15s}.photo-card:nth-child(2){animation-delay:.2s}.photo-card:nth-child(3){animation-delay:.25s}.photo-card:nth-child(4){animation-delay:.3s}.photo-card:nth-child(5){animation-delay:.35s}.photo-card:nth-child(6){animation-delay:.4s}.photo-card:nth-child(7){animation-delay:.45s}.photo-card:nth-child(8){animation-delay:.5s}.work-item:first-child{animation-delay:.15s}.work-item:nth-child(2){animation-delay:.25s}.work-item:nth-child(3){animation-delay:.35s}.work-item:nth-child(4){animation-delay:.45s}.about-statement{animation-delay:.15s}.about-body{animation-delay:.25s}.about-principles{animation-delay:.35s}.about-sidebar{animation-delay:.2s}@keyframes revealUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.creation-modal-overlay{position:fixed;inset:0;z-index:2000;background-color:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;padding:2rem;animation:modalFadeIn .2s ease}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.creation-modal{width:100%;max-width:720px;max-height:min(80vh,80dvh);display:flex;flex-direction:column;overflow:hidden;border:2px solid var(--border);background-color:var(--bg);animation:modalSlideUp .25s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.creation-modal-top{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-light);flex-shrink:0}.creation-modal-counter{font-family:var(--font-display);font-size:.75rem;letter-spacing:.1em;color:var(--fg-muted)}.creation-modal-close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-light);font-size:.75rem;transition:all .15s ease}.creation-modal-close:hover{border-color:var(--fg);background-color:var(--fg);color:var(--bg)}.creation-modal-visual{flex:0 1 auto;min-height:0}.creation-modal-image,.creation-modal-visual{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.creation-modal-image{background-color:var(--bg-secondary)}.creation-modal-image:has(.dot-matrix-img){aspect-ratio:16/10}.creation-modal-image .dot-matrix-img{width:100%;height:100%}.creation-modal-arrow{position:absolute;z-index:1;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-light);background-color:var(--bg);font-family:var(--font-display);font-size:.9rem;transition:all .15s ease}.creation-modal-arrow:hover{border-color:var(--fg);background-color:var(--fg);color:var(--bg)}.creation-modal-arrow-left{left:.75rem}.creation-modal-arrow-right{right:.75rem}.creation-modal-info{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-top:1px solid var(--border-light);gap:1rem;flex-shrink:0}.creation-modal-info-left{display:flex;align-items:center;gap:1rem;min-width:0}.creation-modal-id{font-family:var(--font-display);font-size:1.2rem;opacity:.3;flex-shrink:0}.creation-modal-label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.creation-modal-project-link{flex-shrink:0;font-family:var(--font-display);font-size:.7rem;letter-spacing:.08em;padding:.3rem .8rem;border:1px solid var(--border-light);color:var(--fg-muted);text-decoration:none;transition:all .15s ease;white-space:nowrap}.creation-modal-project-link:hover{border-color:var(--fg);color:var(--fg);opacity:1}.creation-modal-img-counter{opacity:.5}.creation-modal-dots{display:flex;justify-content:center;gap:6px;padding:.5rem 0;flex-shrink:0}.creation-modal-dot{width:6px;height:6px;border:1px solid var(--fg-muted);background:transparent;padding:0;cursor:pointer;transition:all .15s ease}.creation-modal-dot.active{background:var(--fg);border-color:var(--fg)}@media (max-width:768px){.creation-modal-overlay{padding:1rem}.creation-modal-image:has(.dot-matrix-img){aspect-ratio:4/3}.creation-modal-arrow{width:30px;height:30px;font-size:.8rem}.creation-modal-info{flex-direction:column;align-items:flex-start;gap:.5rem}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--fg-muted)}::-webkit-scrollbar-thumb:hover{background:var(--fg)}::selection{background-color:var(--fg);color:var(--bg)}@media (max-width:1024px){.header-inner{flex-wrap:wrap;gap:1rem}.photo-grid{grid-template-columns:repeat(3,1fr)}.photo-card.large{grid-column:span 2;grid-row:span 2}.work-item{grid-template-columns:60px 200px 1fr;gap:1.5rem}.work-visual{width:200px;height:140px}.about-layout{grid-template-columns:1fr 250px;gap:3rem}}@media (max-width:768px){.header-inner{padding:1rem}.logo-dot-cluster{display:none}.site-title{font-size:1rem}.nav-tab{padding:.5rem .8rem}.nav-tab .tab-index{display:none}.nav-tab .tab-label{font-size:.8rem}.page-main{padding:2rem 1rem 4rem}.section-title{font-size:2.2rem}.photo-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.photo-card.large{grid-column:span 2;grid-row:span 1}.photo-card.large .photo-placeholder:has(.dot-matrix-img){aspect-ratio:2/1}.work-item{grid-template-columns:1fr;gap:1rem}.work-number{font-size:1.8rem}.work-visual{width:100%;height:200px}.work-title{font-size:1.4rem}.about-layout{grid-template-columns:1fr;gap:2rem}.about-sidebar{border-left:none;border-top:1px solid var(--border-light);padding-left:0;padding-top:2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.dot-decoration{display:none}.about-principles{grid-template-columns:1fr}.statement-large{font-size:1.4rem}.footer-inner{flex-direction:column;gap:.5rem;text-align:center}.footer-left{flex-direction:column;align-items:center;gap:.25rem}.project-detail-visual{height:250px}}@media (max-width:480px){.photo-grid{grid-template-columns:1fr}.photo-card.large{grid-column:span 1}.photo-card.large .photo-placeholder:has(.dot-matrix-img){aspect-ratio:1}.gallery-filters{gap:.3rem}.filter-btn{padding:.3rem .6rem;font-size:.65rem}}@font-face{font-family:dottedSongti;src:url(/_next/static/media/a12df57e85105bef-s.p.otf) format("opentype");font-display:swap}@font-face{font-family:dottedSongti Fallback;src:local("Arial");ascent-override:75.53%;descent-override:22.59%;line-gap-override:0.00%;size-adjust:101.81%}.__className_34bd90{font-family:dottedSongti,dottedSongti Fallback}.__variable_34bd90{--font-dotted-songti:"dottedSongti","dottedSongti Fallback"}