.effect-canvas[data-v-054091a9],.effect-canvas[data-v-3b4dfd89],.effect-canvas[data-v-381c79dd]{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}body{font-family:Segoe UI,Microsoft YaHei,sans-serif;background:linear-gradient(135deg,#0c0c1d,#1a1a3e,#0c0c1d);color:#fff;height:100dvh;height:100vh;overflow:hidden;cursor:none}a,button,input,textarea,select,[role=button],.bg-image,.modal-overlay{cursor:none!important}.cursor-dot{position:fixed;top:-6px;left:-6px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 8px #e8d9f9e6,0 0 20px #b496dc99,0 0 40px #a078dc4d;pointer-events:none;z-index:9999;transition:width .2s,height .2s,top .2s,left .2s;will-change:transform}.cursor-ring{position:fixed;top:-18px;left:-18px;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(232,217,249,.5);background:transparent;box-shadow:0 0 6px #e8d9f94d,inset 0 0 6px #e8d9f926;pointer-events:none;z-index:9998;will-change:transform;transition:width .25s,height .25s,top .25s,left .25s,border-color .25s}.cursor-dot.hover{width:20px;height:20px;top:-10px;left:-10px;background:#e8d9f9e6;box-shadow:0 0 12px #e8d9f9,0 0 30px #b496dccc,0 0 50px #a078dc66}.cursor-ring.hover{width:50px;height:50px;top:-25px;left:-25px;border-color:#e8d9f9b3;box-shadow:0 0 12px #e8d9f980,inset 0 0 12px #e8d9f940}.homepage{position:relative;height:100dvh;height:100vh;overflow:hidden}.click-fireworks{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9997}.fullscreen-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0}.bg-image{width:100%;height:100%;object-fit:cover;cursor:pointer;transition:opacity 1s ease}.bg-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000004d,#00000080,#000000b3)}.change-bg-container{text-align:center;flex-shrink:0}.change-bg-btn{background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.change-bg-btn:hover{background:#ffffff40}.content{position:relative;z-index:10;max-width:900px;margin:0 auto;padding:clamp(18px,3vh,50px) clamp(12px,3vw,20px) clamp(12px,2vh,30px);height:100%;display:flex;flex-direction:column;justify-content:space-between;gap:clamp(6px,1.5vh,20px);overflow:hidden}.header{text-align:center;flex-shrink:0}.title{font-size:clamp(1.4rem,3.5vw,2.8rem);font-weight:300;letter-spacing:clamp(3px,1vw,8px);background:linear-gradient(90deg,#e8d9f9,#d4b8e8,#f0e0ff,#c9a8d9);background-size:300% 300%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:gradient 8s ease infinite,fadeInOut 4s ease-in-out infinite;margin-bottom:clamp(4px,1vh,10px);text-shadow:0 0 40px rgba(232,217,249,.5);line-height:1.2}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}@keyframes gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.subtitle{font-size:clamp(.75rem,1.6vw,1.1rem);color:#e8d9f9e6;letter-spacing:clamp(1px,.4vw,3px);font-weight:300;margin-top:clamp(6px,1.2vh,15px);min-height:clamp(30px,6vh,50px);display:flex;align-items:center;justify-content:center;transition:all .8s ease;animation:subtitleFade 5s ease-in-out infinite;text-shadow:0 2px 10px rgba(0,0,0,.3);white-space:pre-line;text-align:center;line-height:1.6}@keyframes subtitleFade{0%,to{opacity:.5}50%{opacity:1}}.domain{display:inline-block;margin-top:clamp(4px,1vh,15px);padding:clamp(6px,1.2vh,10px) clamp(16px,3vw,30px);background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:50px;color:#6bcb77;text-decoration:none;font-size:clamp(.9rem,1.8vw,1.3rem);letter-spacing:clamp(1px,.3vw,2px);transition:all .3s;font-weight:500}.domain:hover{background:#6bcb7726;border-color:#6bcb77;transform:translateY(-2px);box-shadow:0 4px 15px #6bcb774d}.section{display:flex;justify-content:center;flex-shrink:0}.image-container{display:flex;flex-direction:column;align-items:center;gap:15px}.random-image{width:100%;max-width:700px;height:400px;object-fit:cover;border-radius:16px;cursor:pointer;box-shadow:0 10px 40px #00000080;transition:transform .3s}.random-image:hover{transform:scale(1.02)}.poem-container{text-align:center;padding:clamp(15px,2.5vh,25px) clamp(20px,4vw,40px);background:#ffffff05;border-radius:16px;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.1);max-width:700px;width:100%;box-shadow:inset 0 1px #ffffff4d,0 8px 32px #0003}.poem-text{font-size:clamp(1rem,2vw,1.6rem);line-height:1.5;color:#fff;margin-bottom:clamp(4px,.8vh,8px);font-style:italic;text-shadow:0 2px 10px rgba(0,0,0,.3)}.poem-author{font-size:clamp(.8rem,1.2vw,1rem);color:#ffffffb3;margin-bottom:clamp(8px,1.5vh,15px);text-shadow:0 1px 5px rgba(0,0,0,.2)}.effect-buttons{display:flex;gap:clamp(6px,1.5vw,15px);flex-wrap:wrap;justify-content:center}.btn{padding:clamp(8px,1.5vh,12px) clamp(16px,3vw,28px);border:none;border-radius:50px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:clamp(.8rem,1.4vw,1rem);cursor:pointer;transition:all .3s;font-family:inherit;white-space:nowrap}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.effect-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.effect-btn.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:transparent}.footer{text-align:center;margin-top:auto;padding:clamp(8px,1.5vh,20px);color:#ffffff4d;font-size:clamp(.7rem,1.1vw,.9rem);flex-shrink:0}.beian{margin-top:8px;font-size:.85rem}.beian a{color:#ffffff73;text-decoration:none;transition:color .3s}.beian a:hover{color:#fffc}.works-section{flex-shrink:0}.works-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);font-size:clamp(.85rem,1.5vw,1.1rem);padding:clamp(10px,1.5vh,14px) clamp(22px,4vw,35px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.works-btn:hover{background:#fff3;transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#ffffff14;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#ffffff2e;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.3);border-radius:24px;max-width:900px;width:100%;max-height:85vh;display:flex;flex-direction:column;position:relative;box-shadow:0 8px 32px #0000001a,inset 0 1px #fff6;animation:slideUp .4s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:25px 40px;background:#fff3;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border-bottom:1px solid rgba(255,255,255,.25);border-radius:24px 24px 0 0}.modal-close{background:#0000000d;border:1px solid rgba(0,0,0,.1);color:#00000080;font-size:1.3rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s;flex-shrink:0;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-close:hover{background:#0000001a;color:#000;transform:rotate(90deg)}.modal-title{font-size:1.8rem;font-weight:400;letter-spacing:4px;color:#2d2d2de6;margin:0;background:none;-webkit-text-fill-color:rgba(45,45,45,.9);text-align:left}.modal-body{overflow-y:auto;padding:30px 40px 40px;flex:1}.modal-body::-webkit-scrollbar{width:6px}.modal-body::-webkit-scrollbar-track{background:transparent}.modal-body::-webkit-scrollbar-thumb{background:#0003;border-radius:3px}.modal-body::-webkit-scrollbar-thumb:hover{background:#00000059}.works-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.work-card{background:#fff3;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:16px;padding:25px;transition:all .3s;position:relative;overflow:hidden}.work-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent)}.work-card:hover{background:#ffffff4d;border-color:#ffffff73;transform:translateY(-5px);box-shadow:0 10px 40px #00000014}.work-icon{font-size:2.5rem;margin-bottom:15px}.work-name{font-size:1.3rem;font-weight:500;color:#2d2d2df2;margin-bottom:10px;letter-spacing:1px;text-shadow:0 1px 2px rgba(255,255,255,.5)}.work-desc{font-size:.9rem;color:#2d2d2da6;line-height:1.6;margin-bottom:15px}.work-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.tag{padding:4px 12px;background:#667eea1a;border:1px solid rgba(102,126,234,.2);border-radius:20px;font-size:.8rem;color:#667eead9;letter-spacing:.5px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.work-link{display:inline-block;padding:8px 20px;background:#667eea14;border:1px solid rgba(102,126,234,.25);border-radius:25px;color:#667eeae6;text-decoration:none;font-size:.9rem;transition:all .3s;letter-spacing:1px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.work-link:hover{background:#667eea26;border-color:#667eea66;transform:translate(5px);box-shadow:0 4px 15px #667eea26}@media (max-width: 768px){.modal-content{padding:30px 20px;margin:10px;max-height:85vh}.modal-title{font-size:1.5rem;margin-bottom:20px}.works-grid{grid-template-columns:1fr;gap:15px}.work-card{padding:20px}.work-name{font-size:1.1rem}.work-desc{font-size:.85rem}}
