*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden;background:#000;font-family:Space Mono,monospace;color:#fff}#canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0}html.entering #canvas{filter:blur(14px)}html.entering #warp-overlay{opacity:.55}#header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:1.2rem 2.5rem;pointer-events:none}#nav-right{display:flex;align-items:center;gap:1.8rem;pointer-events:auto}#header-title{font-family:Space Mono,monospace;font-size:1.1rem;font-weight:900;letter-spacing:.1em;color:#fff;text-decoration:none;text-shadow:0 0 10px rgba(255,255,255,.3);white-space:nowrap;opacity:.95;transition:opacity .4s ease;pointer-events:auto;cursor:pointer}#header-title:hover{opacity:1}.nav-link{font-family:Space Mono,monospace;font-size:.8rem;color:#ffffff8c;text-decoration:none;letter-spacing:.08em;background:none;border:none;cursor:pointer;transition:color .25s;padding:0}.nav-link:hover{color:#fffffff2}.nav-signin{padding:.35rem 1rem;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#ffffffb3;transition:color .25s,border-color .25s,background .25s}.nav-signin:hover{color:#fff;border-color:#ffffff80;background:#ffffff0f}#lang-toggle{font-size:.75rem;letter-spacing:.12em}.nav-signin.logged-in{border-color:#ffffff4d;color:#ffffffd9;cursor:pointer!important}#user-dropdown{display:none;position:absolute;top:calc(100% + .5rem);right:0;min-width:120px;background:#120e0ceb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:.3rem;z-index:30}#signout-btn{width:100%;padding:.5rem .8rem;font-family:Space Mono,monospace;font-size:.75rem;color:#ffffffb3;background:none;border:none;border-radius:6px;cursor:pointer;text-align:left;transition:background .2s,color .2s}#signout-btn:hover{background:#ffffff1a;color:#fff}#start-pane{position:fixed;right:10%;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;align-items:flex-start;gap:1.6rem;text-align:left;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:38vw}#title{margin:0;font-family:Space Mono,monospace;font-size:2.4rem;font-weight:700;letter-spacing:.08em;color:#fff;text-shadow:0 0 24px rgba(255,255,255,.45),0 0 60px rgba(180,220,255,.18),0 2px 4px rgba(0,0,0,.8);opacity:0;transition:opacity .6s ease;white-space:nowrap;line-height:1.1}#start-body{margin:0;font-family:Space Mono,monospace;font-size:1.05rem;line-height:1.7;color:#ffffffb8;text-shadow:0 2px 10px rgba(0,0,0,.7);opacity:0;transition:opacity 1s ease;white-space:pre-line}@keyframes breathe{0%,to{text-shadow:0 0 30px rgba(255,255,255,.4),0 0 80px rgba(200,220,255,.1),0 2px 4px rgba(0,0,0,.8)}50%{text-shadow:0 0 40px rgba(255,255,255,.6),0 0 100px rgba(200,220,255,.2),0 2px 4px rgba(0,0,0,.8)}}#warp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,transparent 20%,rgba(0,0,0,.3) 50%,rgba(0,0,0,.85) 100%)}#project-info{display:none;opacity:0;position:fixed;left:22%;top:50%;transform:translateY(-50%);z-index:10;max-width:380px;pointer-events:none}#project-title{font-family:Space Mono,monospace;font-size:1.6rem;font-weight:700;color:#fffffff2;margin:0 0 .6rem;letter-spacing:.04em;text-shadow:0 2px 12px rgba(0,0,0,.8)}#project-desc{font-family:Space Mono,monospace;font-size:.85rem;line-height:1.6;color:#ffffffb3;margin:0 0 .8rem;text-shadow:0 1px 8px rgba(0,0,0,.7)}#project-links{display:flex;flex-direction:column;gap:.45rem;align-items:flex-start}#project-link,#project-live-link{font-family:Space Mono,monospace;font-size:.85rem;font-weight:700;color:#4fc3f7;text-decoration:none;pointer-events:auto;text-shadow:0 1px 8px rgba(0,0,0,.7);transition:opacity .2s;opacity:.85}#project-link:hover,#project-live-link:hover{opacity:1;text-decoration:underline}#about-shadow{display:none;opacity:0;position:fixed;top:50%;left:66%;transform:translate(-50%,-50%);width:600px;height:1000px;background:#000;border-radius:50%;filter:blur(80px);z-index:5;pointer-events:none}#about-overlay{display:none;opacity:0;position:fixed;left:55%;top:50%;transform:translateY(-50%);z-index:10;max-width:420px;max-height:78vh;overflow-y:auto;pointer-events:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}#about-overlay::-webkit-scrollbar{width:3px}#about-overlay::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.about-name{font-family:Space Mono,monospace;font-size:2.4rem;font-weight:700;color:#fffffff2;margin:0 0 .3rem;letter-spacing:.06em;text-shadow:0 2px 16px rgba(0,0,0,.8),0 0 40px rgba(179,157,219,.2)}.about-subtitle{font-family:Space Mono,monospace;font-size:.8rem;color:#b39ddbd9;letter-spacing:.1em;margin:0 0 1rem;text-shadow:0 1px 8px rgba(0,0,0,.7)}.about-bio{font-family:Space Mono,monospace;font-size:.8rem;line-height:1.7;color:#ffffffa6;margin:0 0 1.2rem;text-shadow:0 1px 8px rgba(0,0,0,.7)}.about-divider{width:40px;height:1px;background:linear-gradient(90deg,rgba(179,157,219,.5),transparent);margin:0 0 1.2rem}.about-career{display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.2rem}.career-item{display:flex;align-items:baseline;gap:.8rem}.career-year{font-family:Space Mono,monospace;font-size:.75rem;font-weight:700;color:#b39ddbcc;min-width:3rem;text-shadow:0 0 12px rgba(179,157,219,.25)}.career-label{font-family:Space Mono,monospace;font-size:.8rem;color:#ffffffb3;text-shadow:0 1px 8px rgba(0,0,0,.7)}.about-traits{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}.trait-badge{font-family:Space Mono,monospace;font-size:.7rem;color:#ffffffb3;padding:.3rem .6rem;border:1px solid rgba(179,157,219,.25);border-radius:20px;text-shadow:0 1px 4px rgba(0,0,0,.5);white-space:nowrap}.about-aspiration{font-family:Space Mono,monospace;font-size:.75rem;font-style:italic;line-height:1.7;color:#ffffff80;margin:0 0 1rem;text-shadow:0 1px 8px rgba(0,0,0,.7)}.about-link{font-family:Space Mono,monospace;font-size:.85rem;font-weight:700;color:#b39ddb;text-decoration:none;text-shadow:0 1px 8px rgba(0,0,0,.7);transition:color .2s}.about-link:hover{color:#ce93d8}#space-hint{display:none;position:fixed;bottom:8%;left:50%;transform:translate(-50%);z-index:10;font-family:Space Mono,monospace;font-size:.95rem;color:#ffffff8c;letter-spacing:.1em;animation:scrollHintPulse 2.5s ease-in-out infinite;pointer-events:none;-webkit-user-select:none;user-select:none}#scene-indicator{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);z-index:15;display:flex;gap:.6rem;pointer-events:none}.scene-dot{width:6px;height:6px;border-radius:50%;background:#fff3;transition:background .4s,transform .4s}.scene-dot.active{background:#fffc;transform:scale(1.4)}#auth-modal{display:flex;visibility:hidden;pointer-events:none;opacity:0;position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;justify-content:center;align-items:center;transition:opacity .25s}#auth-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#auth-dialog{position:relative;z-index:1;width:400px;max-width:90vw;max-height:85vh;overflow-y:auto;padding:2rem;background:#120e0ceb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:16px;box-shadow:0 20px 60px #0009}#auth-close{position:absolute;top:.8rem;right:1rem;background:none;border:none;color:#ffffff80;font-size:1.5rem;cursor:pointer;transition:color .2s;z-index:2}#auth-close:hover{color:#fff}#auth-container{min-height:200px}[data-edgespark-auth]{--edgespark-auth-bg: transparent;--edgespark-auth-bg-muted: rgba(255, 255, 255, .04);--edgespark-auth-border: rgba(255, 255, 255, .12);--edgespark-auth-text: rgba(255, 255, 255, .92);--edgespark-auth-text-muted: rgba(255, 255, 255, .45);--edgespark-auth-primary: #4FC3F7;--edgespark-auth-primary-hover: #81D4FA;--edgespark-auth-error: #ef6b73;--edgespark-auth-info: #4FC3F7;--edgespark-auth-radius-card: 0;--edgespark-auth-radius-control: 8px;--edgespark-auth-shadow: none;--edgespark-auth-font: "Space Mono", monospace}.edgespark-auth__card{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.edgespark-auth__title{font-weight:600;letter-spacing:.04em;color:#fff}.edgespark-auth__input{background:#ffffff0f!important;border:1px solid rgba(255,255,255,.1)!important;color:#fff!important;font-family:Space Mono,monospace;transition:border-color .2s,box-shadow .2s}.edgespark-auth__input::placeholder{color:#ffffff4d}.edgespark-auth__input:focus{border-color:#4fc3f780!important;outline:none!important;box-shadow:0 0 0 2px #4fc3f726,0 0 20px #4fc3f714}.edgespark-auth__button--primary{background:#4fc3f72e!important;border:1px solid rgba(79,195,247,.35)!important;color:#4fc3f7!important;font-family:Space Mono,monospace;font-weight:600;letter-spacing:.06em;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .25s,border-color .25s,box-shadow .25s}.edgespark-auth__button--primary:hover:not(:disabled){background:#4fc3f747!important;border-color:#4fc3f78c!important;box-shadow:0 0 24px #4fc3f726}.edgespark-auth__button--secondary{background:#ffffff0a!important;border-color:#ffffff1f!important;color:#ffffffb3!important;font-family:Space Mono,monospace}.edgespark-auth__button--secondary:hover:not(:disabled){background:#ffffff14!important}.edgespark-auth__link{color:#4fc3f7!important;font-family:Space Mono,monospace;font-size:.85rem;transition:color .2s}.edgespark-auth__link:hover{color:#81d4fa!important}.edgespark-auth__divider{color:#ffffff4d}.edgespark-auth__divider:before{border-top-color:#ffffff14!important}.edgespark-auth__divider span{background:#120e0ceb!important}.edgespark-auth__status--error{background:#ef6b731a!important;color:#ef6b73!important}.edgespark-auth__status--info{background:#4fc3f71a!important;color:#4fc3f7!important}.edgespark-auth__status--muted{background:#ffffff0a!important;color:#ffffff80!important}.edgespark-auth__label{color:#fff9;font-weight:500;letter-spacing:.05em;font-size:.8rem;text-transform:uppercase}#guestbook-overlay{display:none;opacity:0;position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;width:560px;max-width:calc(100vw - 3rem);max-height:82vh;overflow-y:auto;pointer-events:auto;padding:2rem 2.2rem 1.8rem;background:#12141a80;backdrop-filter:blur(28px) saturate(130%);-webkit-backdrop-filter:blur(28px) saturate(130%);border:1px solid rgba(255,255,255,.08);border-radius:16px;box-shadow:0 24px 64px #00000080,inset 0 1px #ffffff0d;color:#ffffffe6;font-family:Space Mono,monospace;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}#guestbook-overlay::-webkit-scrollbar{width:6px}#guestbook-overlay::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.gb-head{margin:0 0 1.4rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.06)}.gb-title{margin:0 0 .3rem;font-size:1.35rem;font-weight:700;letter-spacing:.04em;color:#fffffff2}.gb-subtitle{margin:0;font-size:.8rem;line-height:1.5;color:#ffffff73}.gb-section{margin-top:1.6rem}.gb-section:first-of-type{margin-top:0}.gb-section-label{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#fff6;margin-bottom:.8rem}.gb-list{display:flex;flex-direction:column;gap:.7rem}.gb-empty,.gb-hint{font-size:.82rem;color:#ffffff61;text-align:center;padding:1.8rem 0;line-height:1.6}.gb-card{position:relative;padding:.95rem 1.1rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px;transition:background .2s,border-color .2s}.gb-card:hover{background:#ffffff0f;border-color:#ffffff1a}.gb-card-hidden{opacity:.55;border-style:dashed}.gb-card-head{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.5rem}.gb-card-author{display:flex;align-items:center;gap:.55rem;min-width:0;flex:1}.gb-card-name{font-size:.82rem;font-weight:700;color:#ffffffe0;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gb-card-time{font-size:.7rem;color:#ffffff59}.gb-badge{font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .45rem;border-radius:4px;background:#ffffff0f;color:#ffffff8c}.gb-card-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.gb-card-body{font-size:.88rem;line-height:1.6;color:#ffffffd1;white-space:pre-wrap;word-break:break-word}.gb-reply{margin-top:.7rem;padding:.7rem .9rem;background:#b4c8ff0a;border-left:2px solid rgba(180,200,255,.4);border-radius:4px}.gb-reply-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.gb-reply-label{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#b4c8ffbf}.gb-reply-time{font-size:.68rem;color:#ffffff59}.gb-reply-body{font-size:.85rem;line-height:1.5;color:#ffffffc7;white-space:pre-wrap;word-break:break-word}.gb-reply-trigger{margin-top:.55rem;display:inline-block}.gb-reply-edit{margin-top:.6rem;padding:.6rem .7rem;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px}.gb-reply-input{width:100%;box-sizing:border-box;resize:vertical;font-family:inherit;font-size:.82rem;line-height:1.5;padding:.5rem .6rem;background:#00000040;border:1px solid rgba(255,255,255,.08);border-radius:6px;color:#ffffffe6;outline:none;transition:border-color .2s}.gb-reply-input:focus{border-color:#b4c8ff73}.gb-reply-input::placeholder{color:#ffffff4d}.gb-reply-edit-actions{display:flex;justify-content:flex-end;gap:.4rem;margin-top:.5rem}.gb-likes{margin-top:.7rem;display:flex}.gb-like-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;font-family:inherit;font-size:.78rem;background:transparent;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#ffffff8c;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.gb-like-btn:hover{color:#ffffffd9;border-color:#ffffff2e;background:#ffffff0a}.gb-like-btn.liked{color:#ff7a8a;border-color:#ff7a8a73;background:#ff7a8a14}.gb-like-btn.liked .gb-like-heart{text-shadow:0 0 10px rgba(255,122,138,.5)}.gb-like-heart{font-size:.9rem;line-height:1}.gb-like-count{font-variant-numeric:tabular-nums}.gb-btn{font-family:inherit;font-size:.78rem;padding:.4rem .9rem;border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.gb-btn-sm{padding:.3rem .7rem;font-size:.75rem}.gb-btn-primary{background:#ffffffeb;border:1px solid rgba(255,255,255,.95);color:#0f0f14f2;font-weight:600}.gb-btn-primary:hover:not(:disabled){background:#fff}.gb-btn-primary:disabled{opacity:.4;cursor:not-allowed}.gb-btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.12);color:#ffffffb3}.gb-btn-ghost:hover{border-color:#ffffff40;color:#ffffffe6;background:#ffffff0a}.gb-icon-btn{width:1.7rem;height:1.7rem;display:inline-flex;align-items:center;justify-content:center;font-family:inherit;font-size:.85rem;background:transparent;border:1px solid transparent;border-radius:6px;color:#fff6;cursor:pointer;transition:all .2s}.gb-icon-btn:hover{color:#ffffffe6;background:#ffffff0f;border-color:#ffffff1a}.gb-link{font-family:inherit;font-size:.72rem;background:none;border:none;color:#b4c8ffb3;cursor:pointer;padding:0;margin-left:auto;transition:color .2s}.gb-link:hover{color:#c8d7fff2}.gb-menu{position:relative}.gb-menu-dropdown{position:absolute;right:0;top:calc(100% + .3rem);min-width:130px;background:#16181eeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.3rem;z-index:20;box-shadow:0 12px 32px #00000080}.gb-menu-item{display:block;width:100%;text-align:left;font-family:inherit;font-size:.78rem;padding:.45rem .7rem;background:none;border:none;border-radius:5px;color:#ffffffc7;cursor:pointer;transition:background .15s}.gb-menu-item:hover{background:#ffffff14;color:#fffffff2}.gb-menu-danger{color:#ff7882d9}.gb-menu-danger:hover{background:#ff78821f;color:#ff7a8a}.gb-compose{display:flex;flex-direction:column;gap:.6rem}#gb-input{width:100%;box-sizing:border-box;resize:vertical;font-family:inherit;font-size:.88rem;line-height:1.55;padding:.8rem .95rem;background:#00000047;border:1px solid rgba(255,255,255,.08);border-radius:10px;color:#ffffffeb;outline:none;transition:border-color .2s,box-shadow .2s}#gb-input::placeholder{color:#ffffff52}#gb-input:focus{border-color:#ffffff40;box-shadow:0 0 0 3px #ffffff0a}.gb-compose-footer{display:flex;justify-content:space-between;align-items:center}.gb-char-count{font-size:.72rem;color:#ffffff59;font-variant-numeric:tabular-nums}.gb-char-count.gb-char-warn{color:#ff7a8a}@media(max-width:768px){#guestbook-overlay{right:0;left:0;width:auto;top:auto;bottom:0;transform:none;max-height:80vh;border-radius:16px 16px 0 0;padding:1.4rem 1.4rem 1.2rem}}
