.portfolio-root{width:100%;min-height:100dvh;position:relative;overflow:hidden}.scene-reveal{filter:brightness(0);width:100%;height:100%;transition:filter 5s;position:fixed;inset:0}.scene-reveal-ready{filter:brightness()}.portfolio-ui{z-index:10;opacity:0;pointer-events:none;transition:opacity .8s;position:relative}.portfolio-ui-ready{opacity:1;pointer-events:auto}
.three-scene{z-index:0;width:100%;height:100%;position:fixed;inset:0;overflow:hidden}.three-scene canvas{width:100%;height:100%;display:block}
.bgm-speaker-button{z-index:1000;position:fixed;top:20px;right:20px}.bgm-speaker-button button{color:#f4f7fb;-webkit-backdrop-filter:blur(10px);cursor:pointer;background:#ff1e00;border:1px solid #ffffff40;border-radius:50px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:transform .2s,background .2s,border-color .2s;display:flex}.bgm-speaker-button button:hover{background:#ff1e00b9;transform:scale(1.08)}.bgm-speaker-button button:active{transform:scale(.95)}.bgm-speaker-button button svg{stroke-width:3px}.bgm-speaker-on,.bgm-speaker-off{width:18px;height:18px}@media (max-width:768px){.bgm-speaker-button{top:20px;right:20px}}
.joystick-wrapper{z-index:999;-webkit-user-select:none;user-select:none;touch-action:none;display:none;position:fixed;bottom:40px;left:40px}@media (max-width:1024px){.joystick-wrapper{cursor:pointer;display:block}}.sf2-joystick{background:radial-gradient(circle,#1a1c23 0%,#0d0e12 70%,#050507 100%);border:3px solid #2a2e3d;border-radius:50%;justify-content:center;align-items:center;width:130px;height:130px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 0 20px #000c,inset 0 0 15px #000000e6,0 0 10px #fd1f014d}.sf2-joystick.active{border-color:#fd1f01fd;box-shadow:0 0 25px #fd1f014d,inset 0 0 20px #000000e6}.track-ring{pointer-events:none;border:1px dashed #ffffff26;border-radius:50%;width:85px;height:85px;position:absolute}.arrow{pointer-events:none;opacity:.4;width:0;height:0;transition:opacity .15s,filter .15s;position:absolute}.arrow-up{border-bottom:12px solid #8a93a5;border-left:7px solid #0000;border-right:7px solid #0000;top:8px}.arrow-down{border-top:12px solid #8a93a5;border-left:7px solid #0000;border-right:7px solid #0000;bottom:8px}.arrow-left{border-top:7px solid #0000;border-bottom:7px solid #0000;border-right:12px solid #8a93a5;left:8px}.arrow-right{border-top:7px solid #0000;border-bottom:7px solid #0000;border-left:12px solid #8a93a5;right:8px}.arrow.glowing{opacity:1;filter:drop-shadow(0 0 6px #fd1f01fd)}.arrow-up.glowing{border-bottom-color:#fd1f01fd}.arrow-down.glowing{border-top-color:#fd1f01fd}.arrow-left.glowing{border-right-color:#fd1f01fd}.arrow-right.glowing{border-left-color:#fd1f01fd}.joystick-knob{will-change:transform;pointer-events:none;background:radial-gradient(circle at 35% 35%,#3a3f52 0%,#181a24 70%,#0b0c10 100%);border:2px solid #525b73;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;display:flex;box-shadow:0 4px 10px #000000b3,inset 0 2px 4px #fff3}.knob-core{background:#fd1f01fd;border-radius:50%;width:16px;height:16px;box-shadow:0 0 10px #fd1f01fd,0 0 20px #f05}
.instruction-popup-div{-webkit-backdrop-filter:blur(18px);z-index:2000;color:#f4f7fb;background:#0f172a;border:1px solid #dcebff33;border-radius:18px;flex-direction:column;align-items:center;width:min(520px,88vw);padding:34px 34px 30px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 200px #000}.instruction-popup-div:before{content:"";-webkit-backdrop-filter:blur(7px);z-index:-1;pointer-events:none;width:100vw;height:100vh;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.instruction-popup-title{letter-spacing:.08em;text-transform:uppercase;color:#f4f7fb;text-align:center;text-shadow:0 2px 12px #000000b3,0 0 25px #96c8ff26;margin-bottom:28px;font-size:clamp(1.4rem,3vw,2rem);font-weight:700}.instruction-popup-data-display-div{flex-direction:column;gap:18px;width:100%;display:flex}.instruction-popup-data{align-items:flex-start;gap:12px;font-family:Roboto;display:flex}.instruction-popup-dot{color:#dcecff;stroke-width:2.5px;flex-shrink:0;width:16px;height:16px;margin-top:3px}.instruction-popup-point{letter-spacing:.02em;color:#dce5f2;font-size:.95rem;line-height:1.6}.instruction-popup-ok-button{color:#f4f7fb;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:#dcebff1a;border:1px solid #dcebff4d;border-radius:8px;min-width:120px;margin-top:30px;padding:11px 28px;font-size:.9rem;font-weight:600;transition:background .2s,border-color .2s,transform .2s}.instruction-popup-ok-button:hover{background:#dcebff2e;border-color:#dcebff8c;transform:translateY(-2px)}.instruction-popup-ok-button:active{transform:translateY(0)}@media (max-width:768px){.instruction-popup-div{border-radius:16px;width:88vw;padding:28px 24px 25px}.instruction-popup-title{margin-bottom:22px;font-size:1.35rem}.instruction-popup-data-display-div{gap:15px}.instruction-popup-point{font-size:.88rem}.instruction-popup-ok-button{margin-top:26px}}
.ai-bot-starter-button{z-index:1000;color:#f4f7fb;cursor:pointer;background:0 0;border:none;outline:none;align-items:center;gap:10px;padding:8px 14px 8px 8px;transition:transform .25s,opacity .25s;display:flex;position:fixed;bottom:50%;right:5px}.ai-bot-starter-button:hover{transform:translateY(-3px)}.ai-bot-starter-button:active{transform:translateY(0)scale(.96)}.ai-bot-starter-icon{object-fit:contain;filter:drop-shadow(0 0 8px #8cc8ff73)drop-shadow(0 4px 8px #00000080);border-radius:50%;width:48px;height:48px;transition:transform .25s,filter .25s;display:block}.ai-bot-starter-button:hover .ai-bot-starter-icon{filter:drop-shadow(0 0 14px #8cc8ffa6)drop-shadow(0 5px 10px #0000008c);transform:scale(1.08)}.ask-ai-message{-webkit-backdrop-filter:blur(8px);letter-spacing:.04em;white-space:nowrap;text-shadow:0 2px 6px #0009;background:#050c1880;border:1px solid #dcebff2e;border-radius:8px;padding:7px 12px;font-size:.85rem;font-weight:600;transition:background .5s,border-color .5s;display:none}.ai-bot-starter-button:hover .ask-ai-message{background:#0a192db3;border-color:#dcebff59;display:block}@media (max-width:768px){.ai-bot-starter-button{bottom:50%;right:5px}.ai-bot-starter-icon{width:44px;height:44px}.ask-ai-message{display:none}}.phone-landscape-fullscreen .ai-bot-starter-button{bottom:120px;right:10px}
.ai-chat-section-backdrop{opacity:0;z-index:9998;-webkit-backdrop-filter:blur(8px);background:#02060e9e;width:100%;height:100%;display:none;position:fixed;inset:0}.ai-chat-section{z-index:9999;will-change:transform;background:#0b1424;border:1px solid #dcebff29;border-radius:18px;flex-direction:column;width:min(430px,100vw - 48px);display:none;position:fixed;top:5px;bottom:5px;right:5px;overflow:hidden;box-shadow:0 25px 80px #000000a6,0 0 50px #468cff14}.ai-chat-section-header{box-sizing:border-box;background:#0f1c30;border-bottom:1px solid #dcebff1f;flex-shrink:0;justify-content:space-between;align-items:center;width:100%;min-height:72px;padding:12px 16px;display:flex}.ai-chat-section-header-left-div{align-items:center;gap:12px;min-width:0;display:flex}.ai-chat-section-ai-icon{object-fit:cover;border:1px solid #dcebff33;border-radius:50%;flex-shrink:0;width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;max-height:42px;display:block;box-shadow:0 4px 15px #00000059}.ai-chat-section-title{color:#f4f7fb;letter-spacing:.04em;white-space:nowrap;font-size:1rem;font-weight:700;overflow:hidden}.ai-chat-section-header-right-div{color:#dce5f2;cursor:pointer;background:0 0;border:none;border-radius:9px;justify-content:center;align-items:center;width:38px;min-width:38px;height:38px;padding:0;transition:background .2s,color .2s;display:flex}.ai-chat-section-header-right-div:hover{color:#fff;background:#ffffff14}.ai-chat-section-header-right-div svg{width:20px;height:20px}.ai-chat-section-conversation-display-div{box-sizing:border-box;background:#08111f;flex-direction:column;flex:1;gap:16px;width:100%;min-height:0;padding:22px 18px;display:flex;overflow-y:auto}.ai-chat-section-conversation-display-div::-webkit-scrollbar{width:5px}.ai-chat-section-conversation-display-div::-webkit-scrollbar-track{background:0 0}.ai-chat-section-conversation-display-div::-webkit-scrollbar-thumb{background:#dcebff2e;border-radius:10px}.ai-chat-section-user-message{box-sizing:border-box;color:#f1f6fc;background:#1b3558;border:1px solid #b4d7ff1f;border-radius:14px 14px 3px;align-self:flex-end;max-width:82%;padding:11px 14px;font-size:.9rem;line-height:1.5;box-shadow:0 5px 15px #0000002e}.ai-chat-section-ai-message{box-sizing:border-box;color:#dce5f2;background:#121f32;border:1px solid #dcebff1a;border-radius:14px 14px 14px 3px;align-self:flex-start;max-width:88%;padding:12px 14px;font-size:.9rem;line-height:1.6;box-shadow:0 5px 15px #0000002e}.ai-chat-section-message-input-div{box-sizing:border-box;background:#08111f;flex-shrink:0;gap:10px;width:100%;padding:14px;display:flex}.ai-chat-section-message-input{box-sizing:border-box;color:#f4f7fb;resize:none;scrollbar-width:none;-ms-overflow-style:none;background:#111f33;border:1px solid #dcebff26;border-radius:9px;outline:none;flex:1;min-width:0;height:44px;min-height:44px;max-height:140px;padding:11px 13px;font-size:.88rem;line-height:22px;overflow-y:auto}.ai-chat-section-message-input::placeholder{color:#dcebff6b}.ai-chat-section-message-input:focus{background:#14243a;border-color:#b4d7ff73}.ai-chat-section-message-send-button{color:#f4f7fb;cursor:pointer;white-space:nowrap;background:#1a3558;border:1px solid #dcebff33;border-radius:9px;flex-shrink:0;align-self:flex-end;height:44px;padding:0 16px;font-size:.82rem;font-weight:600;transition:background .2s,transform .2s}.ai-chat-section-message-send-button:hover{background:#24476f;transform:translateY(-1px)}.ai-chat-section-message-send-button:active{transform:translateY(0)}.ai-chat-loading{align-items:center;gap:5px;display:flex}.ai-chat-loading span{background:#dce5f2;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite aiLoadingDot}.ai-chat-loading span:nth-child(2){animation-delay:.15s}.ai-chat-loading span:nth-child(3){animation-delay:.3s}@keyframes aiLoadingDot{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.ai-chat-section-message-send-button{justify-content:center;align-items:center;display:flex}.ai-chat-section-ai-message p,.ai-chat-section-user-message p{margin:0 0 8px}.ai-chat-section-ai-message p:last-child,.ai-chat-section-user-message p:last-child{margin-bottom:0}.ai-chat-section-ai-message strong,.ai-chat-section-user-message strong{font-weight:700}.ai-chat-section-ai-message ul,.ai-chat-section-ai-message ol{margin:8px 0;padding-left:20px}.ai-chat-section-ai-message li{margin-bottom:4px}.ai-chat-section-ai-message h1,.ai-chat-section-ai-message h2,.ai-chat-section-ai-message h3{margin:10px 0 6px;line-height:1.3}.ai-chat-section-ai-message code{background:#ffffff14;border-radius:4px;padding:2px 5px;font-size:.85em}.ai-chat-section-ai-message pre{background:#0000004d;border-radius:8px;margin:10px 0;padding:10px;overflow-x:auto}.ai-chat-section-ai-message pre code{background:0 0;padding:0}.ai-chat-section-ai-message table{border-collapse:collapse;width:100%;margin:10px 0;font-size:.82rem;overflow:hidden}.ai-chat-section-ai-message th,.ai-chat-section-ai-message td{text-align:left;border:1px solid #dcebff1f;padding:8px 10px}.ai-chat-section-ai-message th{color:#f4f7fb;background:#ffffff0f;font-weight:700}.ai-chat-section-ai-message td{color:#dce5f2}.ai-chat-section-ai-message tr:nth-child(2n) td{background:#ffffff06}@media (max-width:768px){.ai-chat-section{border-radius:15px;width:auto;inset:12px}.ai-chat-section-header{min-height:64px;padding:10px 12px}.ai-chat-section-conversation-display-div{padding:18px 14px}.ai-chat-section-message-input-div{padding:10px}.ai-chat-section-message-send-button{padding:0 13px}}

.character-button{color:#f4f7fb;cursor:pointer;z-index:1000;background-color:#ff1e00;border:1px solid #ffffff40;border-radius:50px;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .2s,background .2s,border-color .2s;display:flex;position:fixed;top:80px;right:20px}.character-button svg{stroke-width:3px}.character-button:hover{background:#ff1e00b9;transform:scale(1.08)}.character-button:active{transform:scale(.95)}
.character-popup{color:#f8fafc;z-index:1000;background:#0f172a;border:1px solid #334155;border-radius:16px;width:min(600px,90vw);padding:24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 200px #000}.character-popup-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.character-popup-title{letter-spacing:1.5px;font-size:18px;font-weight:700}.character-popup-close{color:#f8fafc;cursor:pointer;background:0 0;border:1px solid #475569;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:24px;transition:background .2s,color .2s;display:flex}.character-popup-close:hover{background:#fd1f01fd;border:#fd1f01fd}.character-display-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.character-display-card{cursor:pointer;background:#1e293b;border:1px solid #334155;border-radius:12px;transition:transform .2s,border-color .2s;overflow:hidden}.character-display-card:hover{border-color:#38bdf8;transform:translateY(-4px)}.character-display-picture{aspect-ratio:4/5;background:#e2e8f0;width:100%;overflow:hidden}.character-display-picture-img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.character-display-card:hover .character-display-picture-img{transform:scale(1.05)}.character-display-fullname{text-align:center;letter-spacing:1px;padding:14px 10px;font-size:13px;font-weight:700}@media (max-width:480px){.character-popup{padding:16px}.character-popup-title{font-size:15px}.character-display-grid{gap:12px}.character-display-fullname{padding:12px 6px;font-size:11px}}
.run-button{letter-spacing:1px;cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:1000;background:#fe6d5a;border:2px solid #ffffff59;border-radius:50%;width:80px;height:80px;font-size:13px;font-weight:700;transition:background .2s,color .2s,border-color .2s;position:fixed;bottom:65px;right:50px}.run-button.running{color:#f0efef;background:#ff1e00;border-color:#ff1e00}.run-button:focus-visible{outline-offset:4px;outline:2px solid #ff1e00}.run-button svg{color:#fff;stroke-width:3px;width:40px;height:40px}@media (max-width:768px){.run-button{width:65px;height:65px}.run-button svg{color:#fff;stroke-width:3px;width:40px;height:40px}}.phone-landscape-fullscreen .run-button{bottom:20px;right:20px}
.exit-truck-button{cursor:pointer;-webkit-tap-highlight-color:transparent;z-index:1000;background:#fe6d5a;border:2px solid #ffffff59;border-radius:50%;width:80px;height:80px;transition:background .2s,color .2s,border-color .2s;position:fixed;bottom:65px;right:50px}.exit-truck-button:hover{background:#ff1e00;border-color:#ff1e00}.exit-truck-button:focus-visible{outline-offset:4px;outline:2px solid #ff1e00}.exit-truck-button svg{color:#fff;width:40px;height:40px}@media (max-width:768px){.exit-truck-button{width:65px;height:65px}}.phone-landscape-fullscreen .exit-truck-button{bottom:20px;right:30px}
.boardpopup{z-index:1000;background:#f4f7fb;border:2px solid #ff1e0033;border-radius:18px;flex-direction:column;width:min(560px,100vw - 32px);max-height:min(720px,100dvh - 32px);display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 200px #000}.boardpopup-header{color:#f4f7fb;background:#ff1e00;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.boardpopup-title{letter-spacing:.3px;text-transform:uppercase;overflow-wrap:anywhere;font-size:clamp(18px,3vw,23px);font-weight:800}.boardpopup-close{color:#f4f7fb;cursor:pointer;background:#f4f7fb2e;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;transition:background .2s,transform .2s;display:flex}.boardpopup-close:hover{background:#f4f7fb4d;transform:scale(1.08)}.boardpopup-content{color:#1e293b;overflow-wrap:anywhere;white-space:pre-wrap;scrollbar-width:thin;scrollbar-color:#ff1e00 #e2e8f0;flex:1;min-height:0;padding:24px;font-family:Roboto;font-size:15px;line-height:1.75;overflow:hidden auto}.boardpopup-content::-webkit-scrollbar{width:7px}.boardpopup-content::-webkit-scrollbar-track{background:#e2e8f0;border-radius:10px}.boardpopup-content::-webkit-scrollbar-thumb{background:#ff1e00;border-radius:10px}.boardpopup-content::-webkit-scrollbar-thumb:hover{background:#d92300}.boardpopup-open-link{color:#f4f7fb;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;background:#ff1e00;border:none;border-radius:10px;flex-shrink:0;align-self:flex-end;margin:14px 22px 20px;padding:12px 28px;font-size:14px;font-weight:700;transition:background .2s,transform .2s,box-shadow .2s}.boardpopup-open-link:hover{background:#d92300;transform:translateY(-2px);box-shadow:0 5px 14px #ff1e0040}.boardpopup-open-link:active{transform:translateY(0)}.boardpopup button:focus-visible{outline-offset:3px;outline:3px solid #1e293b}@media (max-width:768px){.boardpopup{border-radius:16px;width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}.boardpopup-header{padding:16px 18px}.boardpopup-content{padding:20px 18px;font-size:14px}}@media (max-width:480px){.boardpopup{border-radius:14px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.boardpopup-header{padding:14px 16px}.boardpopup-title{font-size:18px}.boardpopup-close{width:34px;min-width:34px;height:34px}.boardpopup-content{padding:18px 16px;font-size:14px;line-height:1.7}.boardpopup-open-link{width:calc(100% - 32px);margin:12px 16px 16px;padding:13px}}
.feedback-popup{z-index:1001;box-sizing:border-box;background:#f4f7fb;border:2px solid #ff1e00;border-radius:12px;flex-direction:column;gap:16px;width:min(480px,100% - 32px);max-height:min(600px,100dvh - 32px);padding:0 20px 20px;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 200px #000}.feedback-popup-header{color:#fff;background:#ff1e00;justify-content:space-between;align-items:center;margin:0 -20px;padding:15px 20px;display:flex}.feedback-popup-title{text-transform:capitalize;letter-spacing:.5px;text-transform:uppercase;font-size:20px;font-weight:700}.feedback-popup-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:22px;transition:background .2s,transform .2s;display:flex}.feedback-popup-close:hover{background:#fff3;transform:rotate(90deg)}.feedback-popup-input{box-sizing:border-box;resize:vertical;color:#222;background:#fff;border:1.5px solid #d0d5dd;border-radius:8px;outline:none;width:100%;min-height:150px;max-height:350px;padding:14px;font-family:Roboto;font-size:15px;line-height:1.6;transition:border-color .2s,box-shadow .2s}.feedback-popup-input::placeholder{color:#999}.feedback-popup-input:focus{border-color:#ff1e00;box-shadow:0 0 0 3px #ff1e001f}.feedback-popup-send{color:#fff;cursor:pointer;background:#ff1e00;border:none;border-radius:8px;justify-content:center;align-self:flex-end;align-items:center;width:48px;height:48px;font-size:22px;transition:background .2s,transform .2s,box-shadow .2s;display:flex}.feedback-popup-send:hover{background:#dc1900;transform:translateY(-2px);box-shadow:0 5px 12px #ff1e0040}.feedback-popup-send:active{transform:scale(.95)}@media (max-width:768px){.feedback-popup{gap:14px;width:min(440px,100% - 28px)}.feedback-popup-input{min-height:130px}}@media (max-width:480px){.feedback-popup{border-radius:10px;gap:12px;width:calc(100% - 24px);padding:0 15px 15px}.feedback-popup-header{margin:0 -15px;padding:12px 15px}.feedback-popup-title{font-size:18px}.feedback-popup-close{width:34px;height:34px}.feedback-popup-input{min-height:120px;max-height:250px;padding:12px;font-size:14px}.feedback-popup-send{width:44px;height:44px;font-size:20px}}@media (max-width:360px){.feedback-popup{width:calc(100% - 20px);padding:0 12px 12px}.feedback-popup-header{margin:0 -12px;padding:10px 12px}.feedback-popup-input{min-height:110px}}.feedback-popup-send:disabled{opacity:.6;cursor:not-allowed}.feedback-popup-spinner{animation:.8s linear infinite feedbackSpin}@keyframes feedbackSpin{to{transform:rotate(360deg)}}.feedback-popup-success{text-align:center;color:#222;padding:35px 15px;font-size:18px;font-weight:600}.feedback-popup-error{color:#ff1e00;margin:8px 0;font-size:13px}
.about-popup{z-index:1001;background:#f4f7fb;border:2px solid #ff1e00;border-radius:16px;flex-direction:column;width:min(480px,100% - 32px);max-height:85dvh;padding:18px;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 0 200px #000}.about-popup-header{color:#fff;background:#ff1e00;justify-content:space-between;align-items:center;margin:-18px -18px 18px;padding:14px 16px;display:flex}.about-popup-title{text-transform:uppercase;font-size:20px;font-weight:700}.about-popup-close{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;transition:background .2s,transform .2s;display:flex}.about-popup-close:hover{background:#fff3;transform:rotate(90deg)}.about-popup-section-display{border-bottom:1px solid #d5d5d5;align-items:center;gap:28px;margin-bottom:18px;display:flex}.about-popup-tab{color:#777;cursor:pointer;text-transform:capitalize;background:0 0;border:none;padding:10px 2px;font-size:15px;font-weight:600;transition:color .2s;position:relative}.about-popup-tab:hover,.about-popup-tab.active{color:#ff1e00}.about-popup-tab.active:after{content:"";background:#ff1e00;border-radius:5px;width:100%;height:3px;position:absolute;bottom:-1px;left:0}.about-popup-summary-section-div{color:#333;overflow-wrap:anywhere;scrollbar-width:thin;scrollbar-color:#ff1e00 #e5e5e5;width:100%;max-height:55vh;padding:5px 4px 12px;font-size:15px;line-height:1.8;overflow-y:auto}.about-popup-summary-section-div p{white-space:pre-line;margin:0;font-family:Roboto}.about-popup-contact-section-div{flex-direction:column;gap:12px;width:100%;padding:4px 0 8px;display:flex}.about-popup-contact-card{color:#222;background:#fff;border:1px solid #e2e2e2;border-radius:12px;align-items:center;gap:15px;width:100%;padding:15px;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.about-popup-contact-card:hover{border-color:#ff1e00;transform:translateY(-3px);box-shadow:0 5px 15px #ff1e001f}.about-popup-contact-icon{color:#ff1e00;background:#ff1e0017;border-radius:10px;justify-content:center;align-items:center;width:46px;min-width:46px;height:46px;display:flex}.about-popup-contact-info{flex-direction:column;gap:4px;display:flex}.about-popup-contact-title{color:#222;text-transform:uppercase;font-size:16px;font-weight:700}.about-popup-contact-subtitle{color:#777;font-family:Roboto;font-size:13px}@media (max-width:768px){.about-popup{width:min(450px,100% - 32px);padding:16px}.about-popup-header{margin:-16px -16px 16px}.about-popup-summary-section-div{font-size:14px;line-height:1.7}}@media (max-width:480px){.about-popup{border-radius:13px;width:calc(100% - 28px);max-height:82dvh;padding:14px}.about-popup-header{margin:-14px -14px 14px;padding:12px 14px}.about-popup-title{font-size:18px}.about-popup-section-display{gap:22px;margin-bottom:14px}.about-popup-tab{font-size:14px}.about-popup-contact-card{gap:12px;padding:12px}.about-popup-contact-icon{width:42px;min-width:42px;height:42px}.about-popup-contact-title{font-size:15px}.about-popup-contact-subtitle{font-size:12px}}@media (max-width:350px){.about-popup{width:calc(100% - 20px)}.about-popup-section-display{gap:16px}.about-popup-contact-card{padding:10px}}
.map-trigger{z-index:1000;color:#f4f7fb;-webkit-backdrop-filter:blur(10px);cursor:pointer;background:#ff1e00;border:1px solid #ffffff40;border-radius:50px;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:transform .2s,background .2s,border-color .2s;display:flex;position:fixed;top:140px;right:20px}.map-trigger:hover{background:#ff1e00b9;transform:scale(1.08)}.map-trigger:active{transform:scale(.95)}.map-trigger svg{stroke-width:3px}@media (max-width:768px){.map-trigger{top:140px;right:20px}}
.map-popup{z-index:1000;background-color:#0f172a;border:2px solid #0f172a;border-radius:5px;flex-direction:column;row-gap:10px;width:600px;height:540px;padding:0 10px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 200px #000}.map-popup-header{color:#f4f7fb;background:#0f172a;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.map-popup-title{letter-spacing:.3px;text-transform:uppercase;overflow-wrap:anywhere;font-size:clamp(18px,3vw,23px);font-weight:800}.map-popup-close{color:#f4f7fb;cursor:pointer;background:#f4f7fb4d;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;transition:background .2s,transform .2s;display:flex;transform:scale(1.08)}.map-display-div{background-color:#fff;position:relative}.map-img{border-radius:5px;width:100%;position:absolute;top:0;left:0;right:0}.location{z-index:10001;cursor:pointer;color:#000;background-color:#0000;border:none;width:min-content;padding:0;transition:all .5s;position:absolute}.location :hover{color:#1e293b}.spawn{top:180px;left:120px}.explore{top:185px;left:215px}.feedback{top:290px;left:230px}.about_me{top:280px;left:328px}.cave{top:180px;left:360px}.projects{top:80px;left:335px}.tech_stack{top:90px;left:225px}.inspiration{top:280px;left:420px}.profession{top:185px;left:420px}.old_me{top:85px;left:420px}.location:after{content:attr(data-tooltip);color:#fff;white-space:nowrap;z-index:10;opacity:0;pointer-events:none;background-color:#1e293b;border-radius:6px;padding:8px 12px;font-size:14px;transition:opacity .2s,transform .2s;position:absolute;bottom:125%;left:50%;transform:translate(-50%)scale(.9);box-shadow:0 4px 6px -1px #0000001a}.location:before{content:"";opacity:0;pointer-events:none;z-index:10;border:6px solid #0000;border-top-color:#1e293b;border-bottom-width:0;transition:opacity .2s;position:absolute;bottom:105%;left:50%;transform:translate(-50%)}.location:hover:after,.location:focus-visible:after{opacity:1;transform:translate(-50%)scale(1)}.location:hover:before,.location:focus-visible:before{opacity:1}@media (max-width:650px){.map-popup{width:400px;height:380px}.spawn{top:110px;left:75px}.explore{top:110px;left:138px}.feedback{top:185px;left:145px}.about_me{top:172px;left:209px}.cave{top:105px;left:228px}.projects{top:40px;left:213px}.tech_stack{top:50px;left:145px}.inspiration{top:172px;left:268px}.profession{top:110px;left:268px}.old_me{top:40px;left:268px}}@media (max-width:410px){.map-popup{width:325px;height:330px}.location svg{width:30px;height:30px}.spawn{top:82px;left:58px}.explore{top:85px;left:105px}.feedback{top:145px;left:115px}.about_me{top:135px;left:165px}.cave{top:83px;left:182px}.projects{top:26px;left:168px}.tech_stack{top:35px;left:112px}.inspiration{top:136px;left:212px}.profession{top:85px;left:212px}.old_me{top:30px;left:212px}}
*{box-sizing:border-box}.loadingpage{color:#fff;z-index:9999;perspective:1000px;background:radial-gradient(at 50% 40%,#ffbd67 0%,#ff8c32 35%,#ed5919 75%,#a92e0c 120%);justify-content:center;align-items:center;width:100%;height:100dvh;display:flex;position:fixed;inset:0;overflow:hidden}.loading-bg-glow{filter:blur(30px);pointer-events:none;background:radial-gradient(circle,#ffe6b459,#ffa0461a 45%,#0000 70%);border-radius:50%;width:80vw;max-width:900px;height:80vw;max-height:900px;position:absolute;top:-25%;left:50%;transform:translate(-50%)}.loading-bg-grid{transform-origin:top;pointer-events:none;background-image:linear-gradient(#ffffff21 1px,#0000 1px),linear-gradient(90deg,#ffffff21 1px,#0000 1px);background-size:65px 65px;width:150%;height:70%;position:absolute;bottom:-35%;left:-25%;transform:perspective(450px)rotateX(62deg);-webkit-mask-image:linear-gradient(#0000,#000 25%,#0000 90%);mask-image:linear-gradient(#0000,#000 25%,#0000 90%)}.loading-bg-orb{pointer-events:none;filter:blur(1px);background:linear-gradient(145deg,#ffdcaa80,#ffffff08);border-radius:50%;animation:7s ease-in-out infinite floatingOrb;position:absolute;box-shadow:inset -10px -15px 30px #78280026,0 20px 70px #7828001f}.loading-bg-orb-one{width:180px;height:180px;top:15%;left:12%}.loading-bg-orb-two{width:100px;height:100px;animation-delay:-3s;bottom:15%;right:12%}@keyframes floatingOrb{0%,to{transform:translate(0,0)}50%{transform:translate3d(0,-25px,30px)}}.loading-page-content{z-index:2;flex-direction:column;align-items:center;width:min(650px,90%);display:flex;position:relative}.loading-page-brand{letter-spacing:4px;color:#fffc;align-items:center;gap:10px;margin-bottom:25px;font-size:11px;font-weight:800;display:flex}.loading-brand-dot{background:#fff;border-radius:50%;width:8px;height:8px;animation:1.5s infinite brandPulse;box-shadow:0 0 15px #fff}@keyframes brandPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.7)}}.loading-message-window{justify-content:center;width:100%;height:35px;display:flex;position:relative;overflow:hidden}.loading-message-track{width:100%;height:400%;position:absolute;top:0;left:0}.loading-message-slide{white-space:nowrap;letter-spacing:.5px;color:#fff;justify-content:center;align-items:center;gap:7px;width:100%;height:25%;font-size:17px;font-weight:600;display:flex}.loading-page-dots{align-items:center;gap:4px;padding-top:8px;display:flex}.loading-page-dots span{background:#fff;border-radius:50%;width:5px;height:5px;animation:1s ease-in-out infinite loadingDots}.loading-page-dots span:nth-child(2){animation-delay:.15s}.loading-page-dots span:nth-child(3){animation-delay:.3s}@keyframes loadingDots{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.loading-page-canvas{width:100%;height:380px;transform-style:preserve-3d;background:radial-gradient(at 50% 80%,#822b0533,#0000 65%);justify-content:center;align-items:center;margin-top:5px;display:flex;position:relative;overflow:hidden}.loading-page-canvas canvas{z-index:2;width:100%;height:100%;display:block;position:relative}.loading-page-progress-container{width:min(420px,85%);margin-top:20px}.loading-page-progress-track{background:#ffffff40;border-radius:20px;width:100%;height:5px;position:relative;overflow:hidden;box-shadow:inset 0 2px 4px #5a190033,0 2px 10px #5a19001a}.loading-page-progressbar{background:#fff;border-radius:20px;width:0%;height:100%;box-shadow:0 0 10px #fffc,0 0 25px #ffffff80}.loading-page-footer{letter-spacing:3px;color:#fff9;z-index:2;justify-content:space-between;align-items:center;width:100%;padding:0 45px;font-size:9px;font-weight:800;display:flex;position:absolute;bottom:30px}@media (max-width:768px){.loading-page-canvas{height:320px}.loading-message-slide{font-size:15px}.loading-bg-orb-one{width:120px;height:120px}.loading-bg-orb-two{width:75px;height:75px}.loading-page-footer{letter-spacing:1.5px;padding:0 20px;font-size:8px}}@media (max-width:480px){.loading-page-canvas{height:280px}.loading-page-brand{letter-spacing:3px;font-size:9px}.loading-message-slide{font-size:13px}.loading-page-footer{bottom:20px}}.loadingpage{opacity:1;visibility:visible;transition:opacity 1s,visibility 1s}.loadingpage-fade-out{opacity:0;visibility:hidden;pointer-events:none}
.fullscreen-control{z-index:1000;display:block;position:fixed;top:20px;left:20px}.fullscreen-button{color:#f4f7fb;-webkit-backdrop-filter:blur(10px);cursor:pointer;-webkit-tap-highlight-color:transparent;background:#ff1e00;border:1px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:transform .2s,background .2s,border-color .2s;display:flex}.fullscreen-button:hover{background:#ff1e00b9;transform:scale(1.08)}.fullscreen-button:active{transform:scale(.95)}.fullscreen-button:focus-visible{outline-offset:4px;outline:2px solid #ff1e00}.fullscreen-button svg{stroke-width:2.5px;width:20px;height:20px}.fullscreen-error{color:#fff;width:max-content;max-width:min(260px,100vw - 40px);font:12px/1.4 var(--font-roboto), sans-serif;background:#000c;border-radius:6px;padding:8px 10px;position:absolute;top:48px;left:0}
