:root{--transition-speed:.3s}[data-theme=dark]{--bg:#0a0e1a;--bg-elevated:#111827;--surface:#1a2235;--border:#2d3748;--border-hover:#4a5568;--text-1:#f1f5f9;--text-2:#94a3b8;--text-3:#64748b;--black:#60a5fa;--row-hover:#1e293b;--shadow-card:0 2px 12px #0006;--shadow-hover:0 12px 40px #0009;--badge-front-text:#60a5fa;--badge-front-bg:#60a5fa26;--badge-back-text:#fbbf24;--badge-back-bg:#fbbf2426;--badge-tool-text:#a78bfa;--badge-tool-bg:#a78bfa26;--badge-des-text:#34d399;--badge-des-bg:#34d39926;--success:#10b981;--nav-bg:#0a0e1ad9;--input-bg:#0f1629}[data-theme=light]{--bg:#f5f0e6;--surface:#fff;--border:#e5ddd0;--border-hover:#ccc4b4;--text-1:#1a1814;--text-2:#7a7165;--text-3:#b0a898;--black:#1a1814;--row-hover:#faf7f2;--shadow-card:0 1px 4px #00000012;--shadow-hover:0 6px 20px #0000001a;--badge-front-text:#1d4ed8;--badge-front-bg:#dbeafe;--badge-back-text:#b45309;--badge-back-bg:#fef3c7;--badge-tool-text:#4b5563;--badge-tool-bg:#f3f4f6;--badge-des-text:#374151;--badge-des-bg:#f1ece3;--success:#059669;--nav-bg:#f5f0e6e6;--input-bg:var(--bg)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text-1);-webkit-font-smoothing:antialiased;transition:background var(--transition-speed), color var(--transition-speed);font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6;overflow-x:hidden}@media (hover:hover) and (pointer:fine){body,a,button,input,textarea,[role=button]{cursor:none}}.container{max-width:1100px;margin:0 auto;padding:0 24px}.section-label{letter-spacing:1.4px;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:11px;font-weight:500}.section-title{letter-spacing:-.6px;color:var(--text-1);font-size:26px;font-weight:700}.section-divider{background:var(--black);width:36px;height:2px;margin:14px 0 40px}.btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s,background .15s,border-color .15s,transform .1s;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--black);color:#fff}.btn-primary:hover{opacity:.85}.btn-outline{color:var(--text-1);border:1px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--border-hover);background:var(--row-hover)}.navbar{z-index:100;background:var(--nav-bg);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);transition:background var(--transition-speed), border-color var(--transition-speed), box-shadow .3s ease;position:sticky;top:0}.navbar.scrolled{box-shadow:0 2px 20px #00000014}.nav-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1100px;height:56px;margin:0 auto;padding:0 24px;display:flex}.nav-logo{letter-spacing:-.3px;color:var(--text-1);white-space:nowrap;font-size:15px;font-weight:700;text-decoration:none}.nav-logo span{color:var(--text-3);font-weight:300}.nav-links{gap:2px;list-style:none;display:flex}.nav-links a{color:var(--text-2);border-radius:6px;padding:6px 12px;font-size:13px;text-decoration:none;transition:color .15s,background .15s}.nav-links a:hover,.nav-links a.active{color:var(--text-1);background:var(--row-hover)}.nav-end{align-items:center;gap:8px;display:flex}.theme-toggle{background:var(--surface);border:1px solid var(--border);cursor:pointer;width:36px;height:36px;color:var(--text-1);border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.theme-toggle:hover{border-color:var(--border-hover);transform:rotate(15deg)}.hamburger{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:5px;padding:6px;transition:background .15s;display:none}.hamburger:hover{background:var(--row-hover)}.hamburger span{background:var(--text-1);border-radius:2px;width:20px;height:1.5px;transition:transform .2s,opacity .2s;display:block}.hamburger.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-drawer{border-top:1px solid var(--border);background:var(--nav-bg);flex-direction:column;gap:2px;padding:8px 24px 16px;display:none}.mobile-drawer.open{display:flex}.mobile-drawer a{color:var(--text-2);border-radius:6px;padding:11px 12px;font-size:14px;text-decoration:none;transition:background .15s,color .15s}.mobile-drawer a:hover{background:var(--row-hover);color:var(--text-1)}.hero-section{padding:96px 0 80px;position:relative;overflow:hidden}[data-theme=dark] .hero-section:before{content:"";pointer-events:none;background:radial-gradient(circle,#60a5fa14 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-50%;right:-20%}.hero-grid{grid-template-columns:1fr 220px;align-items:center;gap:64px;display:grid}.hero-eyebrow{color:var(--text-3);letter-spacing:.4px;margin-bottom:14px;font-size:13px}.hero-name{letter-spacing:-2px;color:var(--text-1);margin-bottom:16px;font-size:clamp(38px,5.5vw,58px);font-weight:700;line-height:1.08}.hero-role-badge{color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:20px;align-items:center;gap:8px;margin-bottom:28px;padding:5px 14px 5px 10px;font-size:13px;display:inline-flex}.status-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2.5s infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.hero-bio{color:var(--text-2);text-wrap:pretty;max-width:460px;margin-bottom:36px;font-size:15px;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:10px;display:flex}.hero-avatar{background:var(--surface);border:2px solid var(--border);width:200px;height:200px;box-shadow:var(--shadow-card);border-radius:50%;flex-shrink:0;justify-content:center;justify-self:center;align-items:center;animation:6s ease-in-out 1s infinite float;display:flex;position:relative}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.avatar-ring{border:1px dashed var(--border);border-radius:50%;animation:30s linear infinite spin-slow;position:absolute;inset:-8px}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.avatar-img{border-radius:50%;width:100%;height:100%}.about-section{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);transition:background var(--transition-speed), border-color var(--transition-speed);padding:80px 0}.about-grid{grid-template-columns:1.1fr .9fr;align-items:start;gap:64px;display:grid}.about-body p{color:var(--text-2);margin-bottom:18px;font-size:14px;line-height:1.78}.about-body p:last-child{margin-bottom:0}.timeline{margin-top:32px}.timeline-item{border-bottom:1px solid var(--border);transition:border-color var(--transition-speed);grid-template-columns:120px 1fr;gap:20px;padding:20px 0;display:grid}.timeline-item:last-child{border-bottom:none;padding-bottom:0}.timeline-year{color:var(--text-3);letter-spacing:.5px;white-space:nowrap;padding-top:2px;font-family:DM Mono,monospace;font-size:11px;font-weight:500}.timeline-content .timeline-title{color:var(--text-1);margin-bottom:2px;font-size:14px;font-weight:600}.timeline-org{color:var(--text-2);margin-bottom:6px;font-size:12px}.timeline-desc{color:var(--text-3);font-size:12px;line-height:1.6}.timeline-title.section-label{margin-top:8px}.skills-panel{padding-top:0}.skills-heading{margin-bottom:20px;font-size:18px;font-weight:600}.skill-group{margin-bottom:22px}.skill-group:last-child{margin-bottom:0}.skill-group-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-3);margin-bottom:9px;font-size:11px;font-weight:500}.tag-row{flex-wrap:wrap;gap:6px;display:flex}.tag{white-space:nowrap;border-radius:4px;padding:4px 9px;font-size:12px;line-height:1.5;transition:transform .15s}.tag:hover{transform:translateY(-1px)}.tag-frontend{color:var(--badge-front-text);background:var(--badge-front-bg)}.tag-backend{color:var(--badge-back-text);background:var(--badge-back-bg)}.tag-tool{color:var(--badge-tool-text);background:var(--badge-tool-bg)}.tag-ai{color:var(--badge-des-text);background:var(--badge-des-bg)}.projects-section{padding:80px 0}.projects-header{justify-content:space-between;align-items:flex-end;margin-bottom:0;display:flex}.projects-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.project-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);cursor:pointer;border-radius:8px;flex-direction:column;display:flex;position:relative;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-hover)}.glow-card:before{content:"";border-radius:inherit;background:radial-gradient(300px circle at var(--mouse-x,50%) var(--mouse-y,50%), #6366f11f 0%, transparent 70%);pointer-events:none;z-index:1;opacity:0;transition:opacity .3s;position:absolute;inset:0}.glow-card:hover:before{opacity:1}.project-cover{aspect-ratio:16/9;border-bottom:1px solid var(--border);background:var(--bg);width:100%;transition:background var(--transition-speed);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.project-cover:after{content:"";z-index:1;background:#00000038;position:absolute;inset:0}.project-image{object-fit:cover;width:100%;height:100%;transition:transform .4s}.project-card:hover .project-image{transform:scale(1.05)}.cover-badge{color:#333;z-index:2;letter-spacing:-1px;background:#fff;border:none;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;font-family:DM Mono,monospace;font-size:17px;font-weight:700;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 20px #0000002e}.project-body{flex-direction:column;flex:1;gap:8px;padding:16px 18px 18px;display:flex}.project-title{color:var(--text-1);font-size:14px;font-weight:600}.project-desc{color:var(--text-2);line-clamp:3;text-overflow:ellipsis;-webkit-box-orient:vertical;flex:1;font-size:12px;line-height:1.65;display:-webkit-box;overflow:hidden}.project-tags{flex-wrap:wrap;gap:5px;display:flex}.project-tag{color:var(--badge-des-text);background:var(--badge-des-bg);border-radius:4px;padding:3px 8px;font-family:DM Mono,monospace;font-size:11px}.project-links{border-top:1px solid var(--border);gap:6px;margin-top:2px;padding-top:10px;display:flex}.project-link{color:var(--text-2);border:1px solid var(--border);border-radius:4px;padding:5px 10px;font-size:11px;font-weight:500;text-decoration:none;transition:all .15s}.project-link:hover{border-color:var(--border-hover);color:var(--text-1);background:var(--row-hover)}.project-link:focus-visible{outline:2px solid var(--text-1);outline-offset:2px}.contact-section{background:var(--surface);border-top:1px solid var(--border);transition:background var(--transition-speed), border-color var(--transition-speed);padding:80px 0}.contact-layout{grid-template-columns:1fr 1fr;align-items:start;gap:64px;display:grid}.contact-bio{color:var(--text-2);text-wrap:pretty;margin-bottom:32px;font-size:15px;line-height:1.75}.email-card{background:var(--bg);border:1px solid var(--border);transition:background var(--transition-speed), border-color var(--transition-speed);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:32px;padding:16px 18px;display:flex}.email-card>div{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.email-label-text{letter-spacing:1.1px;text-transform:uppercase;color:var(--text-3);white-space:nowrap;font-size:10px;font-weight:500}.email-value{color:var(--text-1);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-family:DM Mono,monospace;font-size:13px;overflow:hidden}.copy-btn{color:var(--text-2);background:var(--surface);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s}.copy-btn:hover{border-color:var(--border-hover);color:var(--text-1)}.copy-btn.copied{color:var(--success);border-color:var(--success)}.social-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.social-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;transition:all .18s;display:flex}.social-card:hover{border-color:var(--border-hover);background:var(--surface);box-shadow:var(--shadow-card);transform:translateY(-2px)}.social-icon-box{background:var(--surface);border:1px solid var(--border);width:34px;height:34px;color:var(--text-1);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;font-family:DM Mono,monospace;font-size:12px;font-weight:700;display:flex}.social-platform{color:var(--text-1);font-size:13px;font-weight:500}.social-handle{color:var(--text-3);font-family:DM Mono,monospace;font-size:11px}.form-heading{margin-bottom:20px;font-size:18px;font-weight:600}.form-group{margin-bottom:14px}.form-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-3);margin-bottom:6px;font-size:11px;font-weight:500;display:block}.form-input,.form-textarea{background:var(--input-bg);border:1px solid var(--border);width:100%;color:var(--text-1);border-radius:6px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,background .15s}.form-input:focus,.form-textarea:focus{border-color:var(--black)}.form-textarea{resize:vertical;min-height:120px}.btn-submit{justify-content:center;width:100%;padding:11px}.btn-submit.loading{opacity:.7;cursor:not-allowed}.btn-submit:disabled{cursor:not-allowed}.btn-spinner{vertical-align:middle;border:2px solid #0000;border-top-color:currentColor;border-radius:50%;width:14px;height:14px;margin-right:6px;animation:.6s linear infinite spin;display:inline-block}.send-status{border-radius:8px;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:13px;line-height:1.5;animation:.3s fadeInUp;display:flex}.send-status.loading{color:var(--badge-front-text);background:#60a5fa1a;border:1px solid #60a5fa33}.send-status.success{color:var(--success);background:#10b9811a;border:1px solid #10b98133}.send-status.error{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}.status-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.6s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.app-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-3);transition:border-color var(--transition-speed);padding:28px 0;font-size:12px}.app-footer a{color:var(--text-2);text-decoration:none;transition:color .15s}.app-footer a:hover{color:var(--text-1)}@media (width<=768px){.nav-links{display:none}.hamburger{display:flex}.hero-grid{text-align:center;grid-template-columns:1fr;gap:40px}.hero-bio{max-width:100%;margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.about-grid{grid-template-columns:1fr;gap:40px}.projects-grid{grid-template-columns:1fr}.contact-layout{grid-template-columns:1fr;gap:48px}.timeline-item{grid-template-columns:80px 1fr;gap:12px}.social-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}[data-font-size=compact]{font-size:13px}[data-font-size=compact] .section-title{font-size:23px}[data-font-size=compact] .hero-name{font-size:clamp(32px,5vw,48px)}[data-font-size=comfortable]{font-size:16px}[data-font-size=comfortable] .section-title{font-size:30px}[data-font-size=comfortable] .hero-name{font-size:clamp(42px,6vw,64px)}[data-width=narrow] .container{max-width:920px}[data-width=wide] .container{max-width:1240px}[data-font-family=default] body{font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,sans-serif}[data-font-family=default] code,[data-font-family=default] .timeline-year,[data-font-family=default] .email-value,[data-font-family=default] .social-handle,[data-font-family=default] .project-tag,[data-font-family=default] .cover-badge,[data-font-family=default] .social-icon-box{font-family:DM Mono,Consolas,Monaco,monospace}[data-font-family=serif] body{font-family:Noto Serif SC,Source Han Serif SC,SimSun,Georgia,Times New Roman,serif}[data-font-family=serif] .section-title{letter-spacing:.5px}[data-font-family=serif] code,[data-font-family=serif] .timeline-year,[data-font-family=serif] .email-value,[data-font-family=serif] .social-handle,[data-font-family=serif] .project-tag,[data-font-family=serif] .cover-badge,[data-font-family=serif] .social-icon-box{font-family:DM Mono,Consolas,Courier New,monospace}[data-font-family=mono] body{font-family:DM Mono,JetBrains Mono,Fira Code,Consolas,Monaco,monospace;font-weight:450}[data-font-family=mono] .hero-name{letter-spacing:-1px}[data-font-family=mono] code,[data-font-family=mono] .timeline-year,[data-font-family=mono] .email-value,[data-font-family=mono] .social-handle,[data-font-family=mono] .project-tag,[data-font-family=mono] .cover-badge,[data-font-family=mono] .social-icon-box{font-family:inherit}[data-font-family=round] body{font-family:Varela Round,Nunito,Quicksand,Noto Sans SC,-apple-system,sans-serif}[data-font-family=round] .section-title,[data-font-family=round] .hero-name{letter-spacing:-.3px}[data-font-family=round] code,[data-font-family=round] .timeline-year,[data-font-family=round] .email-value,[data-font-family=round] .social-handle,[data-font-family=round] .project-tag,[data-font-family=round] .cover-badge,[data-font-family=round] .social-icon-box{font-family:DM Mono,Fira Code,Consolas,monospace}.project-card{cursor:pointer}.detail-page{min-height:100vh}.detail-hero{width:100%;height:360px;position:relative;overflow:hidden}.detail-cover{object-fit:cover;width:100%;height:100%}.detail-hero-overlay{background:linear-gradient(#0000 0%,#00000040 40%,#000000bf 100%);flex-direction:column;justify-content:flex-end;gap:10px;padding:40px 24px;display:flex;position:absolute;inset:0}.detail-badge{color:#333;background:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;font-family:DM Mono,monospace;font-size:16px;font-weight:700;display:inline-flex;box-shadow:0 4px 16px #0003}.detail-title{color:#fff;letter-spacing:-.5px;font-size:clamp(22px,4vw,32px);font-weight:700;line-height:1.2}.detail-tags{flex-wrap:wrap;gap:6px;display:flex}.detail-tag{color:#ffffffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff26;border:1px solid #ffffff2e;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:500}.detail-body{padding-top:56px;padding-bottom:80px}.detail-section{margin-bottom:52px}.detail-section:last-child{margin-bottom:0}.detail-heading{color:var(--text-1);margin-bottom:16px;padding-left:14px;font-size:17px;font-weight:600;position:relative}.detail-heading:before{content:"";background:var(--black);border-radius:2px;width:3px;position:absolute;top:4px;bottom:4px;left:0}.detail-desc{color:var(--text-2);text-wrap:pretty;font-size:14px;line-height:1.8}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.gallery-item{cursor:pointer;border:1px solid var(--border);background:var(--bg);border-radius:8px;justify-content:center;align-items:center;min-height:220px;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;position:relative;overflow:hidden}.gallery-item:hover{box-shadow:var(--shadow-hover);border-color:var(--border-hover);transform:translateY(-3px)}.gallery-item img{object-fit:contain;object-position:center;width:100%;height:auto;max-height:400px;transition:transform .35s}.gallery-item:hover img{transform:scale(1.04)}.gallery-overlay{opacity:0;color:#fff;background:#00000059;justify-content:center;align-items:center;transition:opacity .22s;display:flex;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{opacity:1}.video-wrapper{border:1px solid var(--border);background:#000;border-radius:8px;overflow:hidden}.video-wrapper video{outline:none;width:100%;max-height:500px;display:block}.tech-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.tech-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;transition:border-color .15s,box-shadow .15s;display:flex}.tech-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-card)}.tech-name{color:var(--text-1);font-family:DM Mono,monospace;font-size:13px;font-weight:600}.tech-desc{color:var(--text-3);font-size:12px;line-height:1.55}.detail-links{flex-wrap:wrap;gap:10px;display:flex}.detail-not-found{text-align:center;justify-content:center;align-items:center;min-height:60vh;padding:80px 24px;display:flex}.detail-not-found h2{color:var(--text-1);margin-bottom:10px;font-size:22px}.detail-not-found p{color:var(--text-3);margin-bottom:28px;font-size:14px}.lightbox{z-index:9999;cursor:pointer;background:#000000e0;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox-close{z-index:10;color:#fff;cursor:pointer;background:#ffffff26;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:background .15s;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{background:#ffffff40}.lightbox-img{object-fit:contain;cursor:default;border-radius:4px;max-width:90vw;max-height:85vh}.lightbox-fade-enter-active,.lightbox-fade-leave-active{transition:opacity .25s}.lightbox-fade-enter-from,.lightbox-fade-leave-to{opacity:0}@media (width<=768px){.detail-hero{height:240px}.detail-hero-overlay{gap:8px;padding:24px 20px}.detail-badge{border-radius:9px;width:38px;height:38px;font-size:13px}.detail-body{padding-top:36px;padding-bottom:56px}.detail-section{margin-bottom:36px}.detail-heading{font-size:15px}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.gallery-item{min-height:180px}.gallery-item img{max-height:300px}.tech-list{grid-template-columns:1fr}.video-wrapper video{max-height:300px}}.tweaks-wrapper{z-index:1000;position:fixed;bottom:56px;right:24px}.tweaks-trigger{background:var(--text-1);cursor:pointer;width:52px;height:52px;color:var(--bg);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 16px #0003}.tweaks-trigger:hover{transform:scale(1.08);box-shadow:0 6px 24px #0000004d}.tweaks-trigger.open{background:var(--text-2);transform:rotate(90deg)}.trigger-icon{line-height:1}.tweaks-panel{background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);border-radius:12px;width:300px;padding:20px;position:absolute;bottom:64px;right:0;box-shadow:0 10px 40px #00000026,0 2px 8px #00000014}.tweaks-title{color:var(--text-3);border-bottom:1px solid var(--border);letter-spacing:.3px;margin-bottom:16px;padding-bottom:12px;font-size:13px;font-weight:600}.tweaks-item{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.tweaks-item:last-child{margin-bottom:0}.tweaks-label{color:var(--text-1);font-size:14px;font-weight:500}.toggle-switch{background:var(--border);cursor:pointer;border:none;border-radius:13px;flex-shrink:0;width:48px;height:26px;padding:0;transition:background .3s;position:relative}.toggle-switch.active{background:var(--black)}.toggle-thumb{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000026}.toggle-switch.active .toggle-thumb{transform:translate(22px)}.select-dropdown{flex-shrink:0;position:relative}.select-trigger{background:var(--bg);border:1px solid var(--border);min-width:100px;color:var(--text-1);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:6px 28px 6px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:flex;position:relative}.select-trigger:hover{border-color:var(--border-hover)}.select-arrow{color:var(--text-3);pointer-events:none;font-size:11px;position:absolute;right:10px}.select-menu{background:var(--surface);border:1px solid var(--border);opacity:0;visibility:hidden;z-index:10;border-radius:6px;transition:all .2s;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;transform:translateY(-4px);box-shadow:0 4px 16px #0000001f}.select-menu.open{opacity:1;visibility:visible;transform:translateY(0)}.select-option{text-align:left;width:100%;color:var(--text-2);cursor:pointer;background:0 0;border:none;padding:9px 12px;font-family:inherit;font-size:13px;transition:all .15s;display:block}.select-option:hover{background:var(--row-hover);color:var(--text-1)}.select-option.selected{background:var(--bg);color:var(--text-1);font-weight:500}.panel-enter-active,.panel-leave-active{transition:all .3s cubic-bezier(.4,0,.2,1)}.panel-enter-from,.panel-leave-to{opacity:0;transform:translateY(12px)scale(.96)}.panel-enter-to,.panel-leave-from{opacity:1;transform:translateY(0)scale(1)}@media (width<=480px){.tweaks-wrapper{bottom:16px;right:16px}.tweaks-panel{width:calc(100vw - 32px);max-width:300px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.character-follower[data-v-9521992c]{pointer-events:none;z-index:50;will-change:transform;transform:translate(var(--cx,0px), var(--cy,0px));filter:drop-shadow(0 4px 12px #00000026);transition:opacity .3s;position:fixed;top:0;left:0}.character-follower.idle[data-v-9521992c]{animation:3s ease-in-out infinite char-idle-bounce-9521992c}@keyframes char-idle-bounce-9521992c{0%,to{transform:translate(var(--cx), var(--cy)) translateY(0)}50%{transform:translate(var(--cx), var(--cy)) translateY(-6px)}}@media (width<=768px){.character-follower[data-v-9521992c]{display:none}}@media (prefers-reduced-motion:reduce){.character-follower[data-v-9521992c]{display:none}}.cursor-dot[data-v-04b426b2],.cursor-ring[data-v-04b426b2]{pointer-events:none;z-index:9999;will-change:transform;position:fixed;top:0;left:0}.cursor-dot[data-v-04b426b2]{background:var(--text-1);border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px}.cursor-ring[data-v-04b426b2]{border:1.5px solid var(--text-2);opacity:.5;border-radius:50%;width:32px;height:32px;margin:-16px 0 0 -16px;transition:transform .15s,opacity .2s}@media (width<=768px),(pointer:coarse){.cursor-dot[data-v-04b426b2],.cursor-ring[data-v-04b426b2]{display:none}}@media (prefers-reduced-motion:reduce){.cursor-dot[data-v-04b426b2],.cursor-ring[data-v-04b426b2]{display:none}}.page-wipe-enter-active[data-v-e2a6c230],.page-wipe-leave-active[data-v-e2a6c230]{transition:clip-path .4s cubic-bezier(.4,0,.2,1),opacity .3s}.page-wipe-enter-from[data-v-e2a6c230]{clip-path:inset(0 0 100%);opacity:0}.page-wipe-enter-to[data-v-e2a6c230],.page-wipe-leave-from[data-v-e2a6c230]{clip-path:inset(0);opacity:1}.page-wipe-leave-to[data-v-e2a6c230]{clip-path:inset(100% 0 0);opacity:0}
