#Home{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:0 24px;display:flex;position:relative}.hero-vertical{writing-mode:vertical-rl;letter-spacing:6px;color:var(--accent);border-right:1px solid var(--border);padding-right:12px;font-size:14px;position:absolute;top:50%;right:64px;transform:translateY(-50%)}.hero-name{letter-spacing:12px;margin-bottom:24px;font-size:clamp(56px,10vw,96px);font-weight:700}.hero-sub{color:var(--text-sub);letter-spacing:2px;margin-bottom:56px;font-size:17px}.hero-actions{gap:20px;display:flex}.btn-primary,.btn-ghost{letter-spacing:2px;border-radius:2px;padding:12px 36px;font-size:15px;transition:all .25s;display:inline-block}.btn-primary{background:var(--accent);color:#14141c;font-weight:700}.btn-primary:hover{background:#e5c27f;transform:translateY(-2px)}.btn-ghost{border:1px solid var(--border);color:var(--text-main)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}@media (width<=768px){.hero-vertical{display:none}}:root{--img-depth:-300px}#Works{max-width:960px;margin:0 auto;padding:120px 48px}.works-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.work-card{background:var(--surface);border:1px solid var(--border);clip-path:inset(0 round 4px);border-radius:4px;flex-direction:column;transition:border-color .3s;display:flex}.work-card:hover{border-color:var(--accent)}.work-thumb{aspect-ratio:16/9;justify-content:center;align-items:center;display:flex}.work-thumb img{object-fit:contain;width:50%;height:50%}.work-thumb-art{aspect-ratio:16/9;justify-content:center;align-items:center;display:flex}.work-thumb-art img{object-fit:cover;width:100%;height:100%;transform:scale(.75)}.work-info{flex-direction:column;gap:12px;padding:24px;display:flex}.work-title{letter-spacing:1px;font-size:20px;font-weight:700}.work-card:hover .work-title{color:var(--accent)}.work-desc{color:var(--text-sub);font-size:14px;line-height:1.7}.work-tags{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.work-tag{color:var(--accent);letter-spacing:1px;border:1px solid #d9b26a66;border-radius:2px;padding:2px 10px;font-size:12px}@media (width<=768px){#Works{padding:100px 24px}.works-grid{grid-template-columns:1fr}}#TechStack{flex-direction:column;justify-content:center;max-width:860px;min-height:100vh;margin:0 auto;padding:120px 48px;display:flex}#TechDisplay{flex-wrap:wrap;gap:28px;display:flex}.tech-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;flex-direction:column;transition:border-color .3s;display:flex;overflow:hidden}.tech-card:hover{border-color:var(--accent)}.tech-thumb{aspect-ratio:16/9;justify-content:center;align-items:center;display:flex}.tech-thumb img{width:48px;height:48px}.tech-info{flex-direction:column;gap:12px;padding:24px;display:flex}.tech-name{letter-spacing:1px;font-size:20px;font-weight:700}.tech-card:hover .tech-name{color:var(--accent)}.tech-desc{color:var(--text-sub);font-size:14px;line-height:1.7}.tech-proficiency{background:#f2f2f51f;border-radius:5px;height:6px}.tech-proficiency-fill{background-color:var(--accent);border-radius:5px;height:6px}.tech-proficiency-level{color:var(--text-sub);letter-spacing:1px;font-size:12px}:root{--duration:.5s;--accent:#d9b26a;--delay:.1s}.loading-overlay-BLACK{z-index:101;clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);background:#0a0a0f;flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0 -10%}.loading-tips-border{z-index:200;background:var(--surface);border-right:5px solid var(--accent);max-width:360px;padding:16px 24px;position:fixed;bottom:10%;left:24px;box-shadow:0 8px 24px #0006}.loading-tips-border p{letter-spacing:2px;color:var(--text-sub);font-size:18px;line-height:1.7}.tip-pop-enter-active{transition:transform 1s cubic-bezier(.22,1,.36,1),opacity 1s}.tip-pop-leave-active{transition:transform 1s cubic-bezier(.56,0,.993,.369),opacity 1s}.tip-pop-enter-from,.tip-pop-leave-to{opacity:0;transform:translate(-120%)}.loading-tip{letter-spacing:4px;color:var(--text-sub);text-align:center;padding:0 24px;font-size:clamp(28px,4vw,48px);font-weight:700}.loading-overlay-ORANGE{z-index:100;background:var(--accent);clip-path:polygon(8% 0,100% 0,92% 100%,0 100%);flex-direction:column;justify-content:center;align-items:center;gap:24px;display:flex;position:fixed;inset:0 -10%}.fade-up-enter-active{transition:transform var(--duration) ease-in-out var(--delay)}.fade-up-enter-from{transform:translate(-100%)}.fade-up-leave-active{transition:transform var(--duration) ease-in-out}.fade-up-leave-to{transform:translate(100%)}.fade-down-enter-active{transition:transform var(--duration) ease-in-out}.fade-down-enter-from{transform:translate(-100%)}.fade-down-leave-active{transition:transform var(--duration) ease-in-out var(--delay)}.fade-down-leave-to{transform:translate(100%)}#Contacts{max-width:960px;margin:0 auto;padding:120px 48px}.contacts-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.contact-card{background:var(--surface);border:1px solid var(--border);border-radius:4px;flex-direction:column;transition:border-color .3s,transform .3s;display:flex;overflow:hidden}.contact-card:hover{border-color:var(--accent);transform:translateY(-4px)}.contact-thumb{aspect-ratio:16/9;justify-content:center;align-items:center;display:flex}.contact-thumb img{object-fit:contain;width:48px;height:48px}.contact-info{flex-direction:column;gap:12px;padding:24px;display:flex}.contact-title{letter-spacing:1px;font-size:20px;font-weight:700}.contact-card:hover .contact-title{color:var(--accent)}.contact-desc{color:var(--text-sub);font-size:14px;line-height:1.7}@media (width<=768px){#Works{padding:100px 24px}.works-grid{grid-template-columns:1fr}}:root{--overlay-color:#0a0a0fd9;--surface:#14141c;--text-main:#f2f2f5;--text-sub:#8b8b9b;--accent:#d9b26a;--accent-dark:#cca854;--border:#f2f2f51f}::-webkit-scrollbar{width:0;height:0}html{scrollbar-width:none;-ms-overflow-style:none}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text-main);background:#0a0a0f;font-family:Microsoft YaHei,微软雅黑,PingFang SC,Segoe UI,sans-serif}.has-custom-cursor,.has-custom-cursor *{cursor:none!important}a{color:inherit;text-decoration:none}.bg-wrap{z-index:-1;position:fixed;inset:0}.bg-wrap img{object-fit:cover;filter:blur(10px)brightness(.8);width:100%;height:100%;transition:filter .25s}.bg-overlay{background:var(--overlay-color);position:absolute;inset:0}#NavBar{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#0a0a0f99;justify-content:space-between;align-items:center;padding:18px 48px;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{letter-spacing:1px;font-size:18px;font-weight:700}.nav-links{gap:32px;list-style:none;display:flex}.nav-links a{color:var(--text-sub);font-size:15px;transition:color .25s}.nav-links a:hover{color:var(--accent)}#About{flex-direction:column;justify-content:center;max-width:860px;min-height:100vh;margin:0 auto;padding:120px 48px;display:flex}.section-title{letter-spacing:4px;margin-bottom:48px;padding-left:20px;font-size:32px;font-weight:700;position:relative}.section-title:before{content:"";background:var(--accent);width:3px;position:absolute;top:8px;bottom:8px;left:0}.section-sub{color:var(--text-sub);letter-spacing:4px;margin-top:-40px;margin-bottom:48px;padding-left:20px;font-size:16px;font-weight:lighter;position:relative}.section-en{letter-spacing:6px;color:var(--text-sub);opacity:.7;margin-top:-36px;margin-bottom:48px;padding-left:20px;font-size:13px}.section-sub:before{content:"";background:var(--accent);width:3px;position:absolute;top:8px;bottom:8px;left:0}.about-body{align-items:center;gap:48px;display:flex}.avatar{text-align:center;width:140px;height:140px;color:var(--text-sub);background:var(--surface);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;line-height:1.8;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.about-text p{color:var(--text-sub);margin-bottom:16px;font-size:16px;line-height:1.9}.about-text p:first-child{color:var(--text-main);font-size:18px}#Thanks{max-width:860px;margin:0 auto;padding:120px 48px}.thanks-list{flex-direction:column;gap:16px;list-style:none;display:flex}.thanks-item{background:var(--surface);border:1px solid var(--border);border-radius:4px;align-items:baseline;gap:16px;padding:16px 24px;transition:border-color .25s;display:flex}.thanks-item:hover{border-color:var(--accent)}.thanks-who{color:var(--text-main);letter-spacing:1px;flex-shrink:0;font-size:16px;font-weight:700}.thanks-reason{color:var(--text-sub);font-size:14px;line-height:1.7}footer{text-align:center;color:var(--text-sub);border-top:1px solid var(--border);padding:32px 0;font-size:13px}#another{background-color:var(--accent);border-radius:10px;padding:5px 10px;transition:transform .25s}#another:hover{transform:scale(1.1)}#another a{color:#000;font-weight:700}.music-player{z-index:95;border:1px solid var(--border);filter:invert()hue-rotate(180deg)brightness(.9);border-radius:8px;transition:transform .25s,box-shadow .25s;position:fixed;bottom:24px;right:24px}.music-player:hover{transform:translateY(-4px)}@media (width<=768px){#NavBar{padding:14px 24px}.nav-links{gap:20px}#About{padding:100px 24px}.about-body{text-align:center;flex-direction:column}}.custom-cursor[data-v-48de4fb2]{pointer-events:none;z-index:9999;mix-blend-mode:difference;transform-origin:14px 14px;opacity:0;width:28px;height:28px;position:fixed;top:0;left:0}.magic-box[data-v-ab5c9b07]{pointer-events:none;z-index:999;opacity:0;background:linear-gradient(var(--accent), var(--accent)) top left / 16px 3px no-repeat, linear-gradient(var(--accent), var(--accent)) top left / 3px 16px no-repeat, linear-gradient(var(--accent), var(--accent)) top right / 16px 3px no-repeat, linear-gradient(var(--accent), var(--accent)) top right / 3px 16px no-repeat, linear-gradient(var(--accent), var(--accent)) bottom left / 16px 3px no-repeat, linear-gradient(var(--accent), var(--accent)) bottom left / 3px 16px no-repeat, linear-gradient(var(--accent), var(--accent)) bottom right / 16px 3px no-repeat, linear-gradient(var(--accent), var(--accent)) bottom right / 3px 16px no-repeat;width:0;height:0;position:fixed;top:0;left:0}
