body,html{margin:0;padding:0}@font-face{font-family:maru;src:url(/maru.woff2)format("opentype")}.app{background-color:#afafaf;width:100vw;height:100vh;transition:background-color .6s}.app.dark{background-color:#3a3a3a}.theme-button{z-index:100;cursor:pointer;background:#f2ebac;border:8px solid #90875b;border-radius:16px;place-items:center;width:72px;height:72px;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:grid;position:fixed;top:20px;right:16px}.theme-button:hover{transform:scale(1.2)}.theme-button:active{transform:scale(.95)}.theme-icon{width:32px;height:32px}.music-player{z-index:100;box-sizing:border-box;background:#f2ebac;border:8px solid #90875b;border-radius:16px;align-items:center;gap:10px;width:280px;max-width:280px;height:72px;padding:0 14px;display:flex;position:fixed;top:20px;left:16px}.music-player-art{border-radius:6px;flex-shrink:0;width:36px;height:36px;overflow:hidden}.music-player-info{flex:1;min-width:0;font-family:maru;overflow:hidden}.music-player-title{color:#4a4228;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;line-height:1.2;overflow:hidden}.music-player-sub{color:#7a6f4a;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.music-player-btn,.next-music-btn{cursor:pointer;background:#90875b;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:transform .2s cubic-bezier(.2,.8,.2,1);display:flex}.music-player-btn:hover{transform:scale(1.2)}.music-player-btn:active{transform:scale(.9)}.next-music-btn:hover{transform:scale(1.2)}.next-music-btn:active{transform:scale(.9)}@media (width<=400px){.music-player-art{display:none}.music-player{width:220px;height:60px}.theme-button{width:60px;height:60px}.theme-icon{width:28px;height:28px}.music-player-title{font-size:12px}.music-player-sub{font-size:10px}}@font-face{font-family:maru;src:url(/maru.woff2)format("opentype")}.about-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:800;background:#fff0;justify-content:center;align-items:center;width:100%;height:100%;font-family:maru,sans-serif;display:flex;position:fixed;top:0;left:0}.about-box{background:#f2ebac;border:10px solid #90875b;border-radius:24px;flex-direction:column;width:700px;height:600px;padding:32px;display:flex;position:relative;box-shadow:0 10px 30px #0003}.portfolio-title{font-size:26px}.details{flex-direction:column;align-items:center;gap:24px;height:100%;min-height:0;display:flex}.about-wrapper{width:100%;min-height:0;overflow:hidden auto}.about-body{flex-direction:column;gap:14px;padding-right:4px;display:flex}.about-img{background:#fffef0;border:3px solid #90875b;border-radius:14px;flex-direction:column;gap:10px;display:flex}.gif{aspect-ratio:16/9;border-radius:11px;width:100%}.about-wrapper::-webkit-scrollbar{width:12px}.about-wrapper::-webkit-scrollbar-track{background:0 0}.about-wrapper::-webkit-scrollbar-thumb{background:#90875b;border:3px solid #f2ebac;border-radius:12px}.about-wrapper::-webkit-scrollbar-thumb:hover{background:#7a724c}.header{color:#5c5630;background-color:#ebe07e;border-radius:32px;width:fit-content;margin:0 auto;padding:10px 80px;display:flex;box-shadow:0 3px 8px #0000003d}.about-card{background:#fffef0;border:3px solid #90875b;border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}.section-title{color:#4a431f;text-transform:uppercase;letter-spacing:.07em;font-size:22px;font-weight:700}.about-text{color:#706a40;margin:0;font-size:16px;line-height:1.5}.credits-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.credit-item{color:#706a40;align-items:center;gap:10px;font-size:12px;line-height:1.5;display:flex}.credit-dot{color:#5c5630;background:#e8e19a;border:2px solid #b0a860;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:1px;font-size:9px;font-weight:700;display:flex}.button{cursor:pointer;background:#f2ebac;border:8px solid #90875b;border-radius:16px;justify-content:center;align-items:center;width:72px;height:72px;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;top:-48px;left:-40px}.button:hover{transform:scale(1.4)rotate(-12deg)}.button:active{transform:scale(.98)rotate(-6deg)}.button img{width:48px;height:48px}.divider{border:1px solid #90875b}.projects-wrapper{width:100%;min-height:0;overflow:hidden auto}.projects-body{grid-template-columns:1fr 1fr;gap:16px;padding:8px 4px 12px;display:grid}.project-card{background:#fffef0;border:3px solid #90875b;border-radius:14px;flex-direction:column;transition:transform .25s cubic-bezier(.2,.8,.2,1);display:flex;overflow:hidden}.project-card:hover{transform:scale(1.02)}.card-img{aspect-ratio:1;width:100%;position:relative;overflow:hidden}.card-img img{width:100%;height:100%}.card-info{border-top:3px solid #90875b;flex-direction:column;flex:1;gap:7px;padding:12px 14px;display:flex}.card-title{color:#4a431f;font-size:15px;font-weight:700}.card-desc{color:#706a40;font-size:12px;line-height:1.5}.card-chips{flex-wrap:wrap;gap:5px;display:flex}.chip{color:#5c5630;background:#e8e19a;border:1px solid #b0a860;border-radius:20px;padding:2px 9px;font-size:10px;font-weight:600}.card-links{gap:8px;margin-top:2px;display:flex}.link-btn{color:#90875b;border:2px solid #90875b;border-radius:8px;padding:3px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:background .15s,color .15s}.link-btn:hover{color:#f2ebac;background:#90875b}.projects-wrapper::-webkit-scrollbar{width:12px}.projects-wrapper::-webkit-scrollbar-track{background:0 0}.projects-wrapper::-webkit-scrollbar-thumb{background:#90875b;border:3px solid #f2ebac;border-radius:12px}.projects-wrapper::-webkit-scrollbar-thumb:hover{background:#7a724c}@media (width<=500px){.header{padding:10px 20px}.section-title{font-size:18px}.about-text{font-size:14px}}@media (width<=870px){.about-box{box-sizing:border-box;border-width:6px;border-radius:16px;width:calc(100vw - 32px);max-width:100%;padding:20px 16px}.button{width:52px;height:52px;top:5px;left:5px}.button img{width:32px;height:32px}.projects-body{flex-direction:column;display:flex}.project-card:hover{transform:scale(1.01)}.button:hover{transform:scale(1.05)rotate(-12deg)}.button:active{transform:scale(.9)rotate(-6deg)}}
