*{margin:0;padding:0;box-sizing:border-box;font-family:system-ui,sans-serif}body,html{overflow-x:hidden}body{width:100%;height:100vh;overflow:hidden}#ground{position:absolute;top:0;left:0}.size-4{height:32px;width:32px}.hidden{display:none;visibility:hidden}.controls_box{width:15vw;height:18vh;background-color:#121618;display:flex;justify-content:center;flex-direction:column;align-items:center;gap:.2rem;position:fixed;bottom:0;right:0;z-index:5}.controls_box p{color:#fff}#popup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(300px,80vw,650px);max-height:85vh;background:#282828e6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;border-radius:8px;box-shadow:0 10px 30px #0006;z-index:1000;padding:2rem;display:flex;flex-direction:column;opacity:1;visibility:visible;transition:opacity .3s ease,visibility 0s linear 0s;pointer-events:auto}#popup.hidden{opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s;pointer-events:none}#popup-top{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.15);flex-shrink:0}#popup-title{font-weight:600;font-size:1.5rem;margin-right:1rem}#popup-close{background:none;color:#ccc;border:none;padding:.25rem;cursor:pointer;outline:none;line-height:0;transition:color .2s ease}#popup-close:hover{color:#fff}#popup-close svg{width:1.5rem;height:1.5rem;display:block}#popup-content{padding:1.5rem;overflow-y:auto;flex-grow:1}#popup-info{display:flex;flex-direction:column;align-items:center;gap:1.5rem;color:#eee;text-align:center}#popup-info img{max-width:100%;height:auto;max-height:45vh;border-radius:8px;object-fit:contain;display:block}#popup-info p{font-size:1rem;line-height:1.6;max-width:60ch;margin:0}#portal-popup{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:none;z-index:10000}#portal-content{position:relative;box-shadow:0 0 50px #0ff6,inset 0 0 50px #00ffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:portalOpen .5s ease-out}#close-portal{transition:all .3s ease;font-size:16px;text-transform:uppercase;letter-spacing:1px}#close-portal:hover{background:#0cc!important;transform:scale(1.05);box-shadow:0 5px 15px #00ffff4d}@keyframes portalOpen{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{transform:translateY(-50%) scale(1)}50%{transform:translateY(-50%) scale(1.1)}}.timeline-component{position:relative;max-width:1200px;margin:0 auto;padding:20px 0;overflow:visible}.timeline-component:after{content:"";position:absolute;width:6px;background-color:#fff;top:0;bottom:0;left:50%;margin-left:-3px}.tl-container{padding:10px 40px;position:relative;background-color:inherit;width:50%;margin-bottom:20px}.tl-container:after{content:"";position:absolute;width:25px;height:25px;right:-17px;background-color:#fff;border:4px solid #FF9F55;top:15px;border-radius:50%;z-index:15}.tl-left{left:0}.tl-right{left:50%}.tl-left:before{content:" ";height:0;position:absolute;top:22px;width:0;z-index:15;right:30px;border:medium solid white;border-width:10px 0 10px 10px;border-color:transparent transparent transparent white}.tl-right:before{content:" ";height:0;position:absolute;top:22px;width:0;z-index:15;left:30px;border:medium solid white;border-width:10px 10px 10px 0;border-color:transparent white transparent transparent}.tl-right:after{left:-16px}.tl-content{padding:20px 30px;background-color:#faf9f6;position:relative;border-radius:6px;color:#333}@media screen and (max-width: 600px){.timeline-component:after{left:31px}.tl-container{width:100%;padding-left:70px;padding-right:25px}.tl-container:before{left:60px;border:medium solid white;border-width:10px 10px 10px 0;border-color:transparent white transparent transparent}.tl-left:after,.tl-right:after{left:15px}.tl-right{left:0%}}.error{color:#ff6b6b;text-align:center;font-size:1.2rem;padding:2rem;background:#ff6b6b1a;border-radius:10px;border:1px solid rgba(255,107,107,.3)}
