:root{--bg-color:#050508;--text-color:#fff;--accent-color:#8c72ff;--accent-glow:#8c72ff66;--panel-bg:#050508d9;--card-width:440px;--card-height:600px;--font-main:"Inter","Pretendard",sans-serif}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-color);font-family:var(--font-main);width:100%;min-height:100vh;overflow-x:hidden}#loader{z-index:9999;background:#000;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0}.loader-content{text-align:center}.loader-bar{background:linear-gradient(90deg,var(--accent-color),#fff3);border-radius:3px;width:260px;height:6px;margin:24px auto;overflow:hidden}.loader-progress{background:var(--accent-color);width:0%;height:100%;transition:width .6s ease-out;animation:2s forwards load}@keyframes load{to{width:100%}}header{z-index:10;pointer-events:none;justify-content:space-between;width:100%;padding:2rem;display:flex;position:fixed;top:0;left:0}.logo{letter-spacing:2px;font-size:1.2rem;font-weight:800}.stage{perspective:1500px;justify-content:center;align-items:center;width:100%;height:70vh;min-height:500px;margin-top:20px;display:flex;position:relative;overflow:visible}.carousel{transform-style:preserve-3d;width:var(--card-width);height:var(--card-height);position:relative}.card{cursor:pointer;backface-visibility:hidden;background:#1a1a1a;border:1px solid #ffffff1a;border-radius:20px;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden;transform:translate(0,0);box-shadow:0 20px 50px #00000080}.card img{object-fit:cover;pointer-events:none;width:100%;height:60%}.card-info{background:linear-gradient(#0000,#000c);width:100%;padding:2rem;transition:all .3s;position:absolute;bottom:0;left:0;transform:translateY(20px)}.card.active .card-info{transform:translateY(0)}.card.active{border-color:var(--accent-color);box-shadow:0 0 30px #ff6b6b33;z-index:100!important}.card h2{margin-bottom:.5rem;font-size:1.8rem}.card p{color:#888;font-size:.9rem}@media (max-width:768px){.card h2{font-size:1.4rem}.card p{font-size:.8rem;line-height:1.4}}.badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:20px;padding:5px 12px;font-size:.8rem;position:absolute;top:20px;right:20px}.intro-overlay{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;cursor:pointer;background:#000000b3;justify-content:center;align-items:center;transition:opacity .5s;display:flex;position:fixed;inset:0}.intro-box{text-align:center}.moving-icon{margin-top:20px;font-size:2rem;animation:2s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.controls{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff26;border-radius:40px;align-items:center;gap:15px;width:fit-content;margin:20px auto 100px;padding:12px 24px;display:flex;position:relative;box-shadow:0 8px 20px #0000004d}button{color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:12px;padding:10px 14px;font-size:1.2rem;transition:transform .3s,background .3s}button:hover{color:var(--accent-color);background:#fff3;transform:translateY(-1px)}@media (max-width:768px){:root{--card-width:90vw;--card-height:70vh}.controls{gap:10px;margin-bottom:60px;padding:8px 16px}button{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 12px;font-size:1rem;display:flex}}.dots{gap:8px;display:flex}.dot{cursor:pointer;background:#ffffff4d;border-radius:50%;width:6px;height:6px;transition:all .3s}.dot.active{background:#fff;transform:scale(1.4)}.panel{z-index:9999;opacity:0;pointer-events:none;justify-content:center;align-items:center;width:100%;height:100vh;transition:opacity .4s;display:flex;position:fixed;top:0;left:0}.panel.active{opacity:1;pointer-events:auto}.panel:before{content:"";-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:-1;background:#000000b3;width:100%;height:100%;position:absolute;top:0;left:0}.panel-inner{-webkit-backdrop-filter:blur(60px)saturate(200%);opacity:0;background:#0a0a14d9;border:1px solid #fff3;border-radius:24px;width:95%;max-width:1550px;padding:25px 40px 80px;transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden auto;transform:scale(.9);box-shadow:0 25px 100px #000000b3,inset 0 0 0 1px #ffffff0d;height:92vh!important;max-height:1080px!important}@media (max-width:768px){.panel-inner{border-radius:0;width:100%;padding:20px 20px 80px;height:100%!important;max-height:none!important}}.panel.active .panel-inner{opacity:1;transform:scale(1)}.panel-inner::-webkit-scrollbar{width:36px}.panel-inner::-webkit-scrollbar-track{background:#ffffff05;border-radius:0}.panel-inner::-webkit-scrollbar-thumb{background:#8c72ff80 padding-box content-box;border:4px solid #0000;border-radius:99px;transition:all .3s}.panel-inner::-webkit-scrollbar-thumb:hover{background:linear-gradient(#667eeae6,#764ba2e6)}.panel-close{display:none}.panel-close-fixed{-webkit-backdrop-filter:blur(16px);color:#ffffffb3;cursor:pointer;z-index:10001;background:#ffffff14;border:1px solid #ffffff26;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:70px;right:calc(2.5% + 48px);box-shadow:0 4px 16px #0000004d}.panel-close-fixed:hover{color:#fff;background:#ffffff26;border-color:#ffffff4d;transform:rotate(90deg)scale(1.1);box-shadow:0 6px 24px #0006}.panel-header{margin-bottom:.5rem}.panel-sub{color:var(--accent-color);text-transform:uppercase;letter-spacing:2px;margin-bottom:5px;font-size:.9rem;font-weight:700;display:block}.panel-title{background:linear-gradient(90deg,#fff,#bbb);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:0;font-size:2.8rem}.btn-enter-portfolio{transition:all .4s cubic-bezier(.23,1,.32,1);position:relative;overflow:hidden}.btn-enter-portfolio:hover{box-shadow:0 15px 40px var(--accent-glow);transform:translateY(-5px)scale(1.05)}.btn-enter-portfolio:after{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn-enter-portfolio:active:after{opacity:0;width:300px;height:300px}.panel-hero-image{border:1px solid #ffffff1a;border-radius:12px;width:100%;margin-bottom:25px;box-shadow:0 10px 30px #0000004d}.video-container{aspect-ratio:16/9;background:#000;border:1px solid #ffffff1a;border-radius:16px;width:100%;max-width:950px;max-height:500px;margin:0 auto 10px;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000080}.video-container iframe{border:0;width:100%;height:100%;display:block}.video-switcher{flex-wrap:wrap;justify-content:center;gap:12px;max-width:950px;margin:20px auto 30px;display:flex}.video-tab{cursor:pointer;color:#fff9;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:12px;padding:10px 16px;font-size:.9rem;font-weight:500;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex}.video-tab:hover{background:#ffffff14;border-color:#fff3;transform:translateY(-2px)}.video-tab.active{color:#fff;background:linear-gradient(135deg,#667eea33,#764ba233);border-color:#667eea80;box-shadow:0 8px 25px #0000004d,0 0 15px #667eea1a}.video-thumb-mini{background:#000;border-radius:6px;width:54px;height:30px;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000080}.video-thumb-mini img{object-fit:cover;opacity:.6;width:100%;height:100%;transition:all .3s}.video-tab.active .video-thumb-mini img{opacity:1;transform:scale(1.1)}.video-tab .play-overlay{opacity:.8;background:#0000004d;justify-content:center;align-items:center;width:100%;height:100%;font-size:.6rem;display:flex;position:absolute;top:0;left:0}.panel-desc-container{max-width:950px;margin:0 auto}.panel-desc-main{color:#eee;text-align:center;margin-bottom:20px;font-size:1.1rem;line-height:1.7}.video-specific-desc{color:#fff;background:#667eea0d;border-left:4px solid #667eea;border-radius:4px 16px 16px 4px;margin:20px 0 40px;padding:20px 24px;font-size:1.05rem;line-height:1.6;animation:.6s cubic-bezier(.23,1,.32,1) slideUpFade;box-shadow:0 4px 20px #0003}@keyframes slideUpFade{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.panel-desc{color:#ddd;margin-bottom:30px;font-size:1.05rem;line-height:1.6}.panel-divider{background:linear-gradient(90deg,#ffffff1a,#0000);height:1px;margin:30px 0}.feature-title{color:#fff;margin-bottom:15px;font-size:1.2rem}.feature-grid{flex-wrap:wrap;gap:10px;display:flex}.feature-card{background:#ffffff14;border:1px solid #ffffff1a;border-radius:50px;align-items:center;gap:8px;padding:8px 16px;font-size:.9rem;transition:all .3s;display:flex}.feature-card:hover{border-color:var(--accent-color);background:#ff6b6b33;transform:translateY(-2px)}.feature-card i{color:var(--accent-color)}.video-container{background:#000;border-radius:12px;height:0;margin-bottom:24px;padding-bottom:56.25%;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000080}.video-container iframe{width:100%;height:100%;position:absolute;top:0;left:0}.details-section h3{color:#fff;align-items:center;gap:8px;margin:20px 0 10px;font-size:1.1rem;display:flex}.tags-container{flex-wrap:wrap;gap:8px;display:flex}.tag.client{color:#ddd;background:#ffffff1a;border:1px solid #ffffff0d;border-radius:6px;padding:6px 14px;font-size:.85rem}.ref-list{padding:0;list-style:none}.ref-item{color:#ccc;margin-bottom:8px;padding-left:20px;font-size:.95rem;position:relative}.ref-item:before{content:"•";color:var(--accent-color);position:absolute;top:0;left:0}.btn-chat{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:30px;padding:16px;font-size:1.1rem;font-weight:700;transition:all .3s;display:flex;box-shadow:0 5px 20px #ff6b6b66}.btn-chat:hover{transform:translateY(-3px);box-shadow:0 10px 30px #ff6b6b99}.links-container{flex-wrap:wrap;gap:15px;margin-top:15px;display:flex}.btn-link{color:#fff;background:#ffffff0d;border:1px solid #ffffff26;border-radius:8px;align-items:center;gap:8px;padding:12px 20px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex}.btn-link:hover{border-color:var(--accent-color);color:var(--accent-color);background:#ffffff26;transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-link i{color:var(--accent-color);font-size:1.1rem}.chat-overlay{z-index:99999;opacity:0;background:#0006;justify-content:center;align-items:center;transition:opacity .3s;display:none;position:fixed;inset:0}.chat-overlay.active{opacity:1}.chat-window{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;width:380px;height:600px;transition:transform .3s;display:flex;overflow:hidden;transform:translateY(20px);box-shadow:0 20px 50px #0009}.chat-overlay.active .chat-window{transform:translateY(0)}.chat-header{background:var(--accent-color);color:#fff;justify-content:space-between;align-items:center;padding:20px;font-weight:700;display:flex}.chat-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.2rem}.chat-body{background:#111;flex-direction:column;flex:1;gap:15px;padding:20px;display:flex;overflow-y:auto}.msg{border-radius:12px;max-width:80%;padding:12px 16px;font-size:.95rem;line-height:1.5}.msg.bot{color:#eee;background:#333;border-bottom-left-radius:2px;align-self:flex-start}.msg.user{background:var(--accent-color);color:#fff;border-bottom-right-radius:2px;align-self:flex-end}.msg.sys{color:#666;background:0 0;align-self:center;padding:5px;font-size:.8rem}.chat-input-area{background:#222;gap:10px;padding:15px;display:flex}.chat-input-area input{color:#fff;background:#333;border:1px solid #444;border-radius:8px;outline:none;flex:1;padding:12px}.chat-input-area button{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:8px;width:48px}.accordion-container{border-top:1px solid #ffffff1a;margin-top:30px}.accordion-item{border-bottom:1px solid #ffffff1a}.accordion-header{color:#eee;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:15px 0;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.accordion-header:hover,.accordion-header.active{color:var(--accent-color)}.accordion-header i{transition:transform .3s}.accordion-header.active i{transform:rotate(180deg)}.accordion-body{background:#0003;border-radius:8px;max-height:0;transition:max-height .4s ease-out;overflow:hidden}.accordion-header.active+.accordion-body{overflow-y:auto;max-height:400px!important}.accordion-body .detail-list{color:#ccc;margin:0;padding:15px;font-size:.9rem;line-height:1.6;list-style:none}.accordion-body .detail-list li{margin-bottom:8px}.accordion-body .detail-list li strong{color:#fff;margin-right:5px}.history-timeline{border-left:2px solid var(--accent-color);margin-left:10px;padding:15px;position:relative}.year-group{margin-bottom:20px;padding-left:20px;position:relative}.year-group:last-child{margin-bottom:0}.year-group:before{content:"";border:2px solid var(--accent-color);background:#111;border-radius:50%;width:12px;height:12px;position:absolute;top:5px;left:-22px}.year{color:#fff;margin-bottom:5px;font-size:1.1rem;font-weight:700;display:block}.year-group ul{margin:0;padding:0;list-style:none}.year-group ul li{color:#aaa;margin-bottom:4px;font-size:.9rem}.card-company .badge{color:#000;background:linear-gradient(135deg,gold,#fa0);font-weight:800}#introScene{z-index:2000;background:radial-gradient(circle,#1a1a1a 0%,#000 100%);justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .8s ease-in-out;display:flex;position:fixed;inset:0}#particleCanvas{pointer-events:auto;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.spotlight{pointer-events:none;z-index:2;background:radial-gradient(circle,#ffffff0d 0%,#0000 70%);width:600px;height:600px;animation:4s ease-in-out infinite pulse-light;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.logo-container{cursor:pointer;z-index:10;flex-direction:column;align-items:center;display:flex;position:relative;transform:translateY(-30px)}.floating-logo{filter:drop-shadow(0 0 15px #ffffff1a);width:250px;height:auto;transition:transform .3s,filter .3s;animation:3s ease-in-out infinite float-logo}.floating-logo img{width:100%;height:auto;display:block}.logo-container:hover .floating-logo{filter:drop-shadow(0 0 25px #ff6b6b66);transform:scale(1.05)}.logo-shadow{filter:blur(10px);background:#00000080;border-radius:50%;width:120px;height:20px;margin-top:40px;animation:3s ease-in-out infinite shadow-scale}.click-hint{color:#666;letter-spacing:2px;opacity:0;margin-top:20px;font-size:.9rem;animation:2s 1s infinite fade-hint}.intro-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:2500;opacity:0;pointer-events:none;background:#141414f2;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;width:90%;max-width:1000px;height:85vh;transition:all .5s cubic-bezier(.23,1,.32,1);display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)scale(.95);box-shadow:0 20px 50px #000c}.intro-panel.active{opacity:1;pointer-events:auto;transform:translate(-50%,-50%)scale(1)}.intro-content-inner{color:#eee;height:100%;padding:40px;overflow-y:auto}@keyframes float-logo{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes shadow-scale{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.3;transform:scale(.8)}}@keyframes pulse-light{0%,to{opacity:.5;transform:translate(-50%,-50%)scale(1)}50%{opacity:.8;transform:translate(-50%,-50%)scale(1.1)}}@keyframes fade-hint{0%,to{opacity:0}50%{opacity:.6}}.logo-area{cursor:pointer;align-items:center;gap:10px;display:flex}.logo-area img{width:auto;height:30px}.logo-area span{color:#eee;font-size:1.2rem;font-weight:700}#portfolioScene{flex-direction:column;width:100%;min-height:100vh;transition:opacity .8s;display:flex;position:relative;overflow-x:hidden}.btn-enter-portfolio{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:50px;margin-top:40px;padding:15px 40px;font-size:1.2rem;font-weight:700;transition:all .3s;display:inline-block;box-shadow:0 10px 20px #ff6b6b4d}.btn-enter-portfolio:hover{background:#ff5252;transform:translateY(-5px);box-shadow:0 15px 30px #ff6b6b80}.welcome-message{text-align:center;z-index:15;animation:1s ease-out fade-in-down;position:absolute;top:20%;left:50%;transform:translate(-50%)}.welcome-message h1{background:linear-gradient(135deg,#ff6b6b,gold);-webkit-text-fill-color:transparent;text-shadow:0 0 30px #ff6b6b4d;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:3rem;font-weight:700}.welcome-message p{color:#fff;opacity:.9;letter-spacing:2px;font-size:1.3rem}@keyframes fade-in-down{0%{opacity:0;transform:translate(-50%)translateY(-30px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (max-width:768px){.welcome-message h1{font-size:2rem}.welcome-message p{font-size:1rem}}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 5px 20px #ff6b6b80}50%{transform:scale(1.05);box-shadow:0 8px 30px #ff6b6bcc}}.panel a,.panel-inner a,.detail-row a{color:#00d9ff!important}.panel a:hover,.panel-inner a:hover{text-shadow:0 0 10px #00d9ff80;color:#fff!important}select option{color:#eee;background:#1a1a2e;padding:6px 10px}
