*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:10px}body{font-family:sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{width:100%;min-height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;position:relative}.gnb{position:fixed;top:0;left:0;width:100%;background-color:#ffffffb3;box-shadow:0 2px 10px #0000001a;z-index:1000}.gnb .gnb_container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;height:70px}.gnb .gnb_logo a{text-decoration:none;display:block}.gnb .gnb_logo a:hover h1{transform:rotateY(180deg)}.gnb .gnb_logo h1{display:grid;grid-template-columns:1fr;align-items:center;justify-items:center;color:#000;font-size:1.8rem;font-weight:700;margin:0;cursor:pointer;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.gnb .gnb_logo h1 span{grid-row:1;grid-column:1;backface-visibility:hidden;-webkit-backface-visibility:hidden;width:100%;text-align:center;white-space:nowrap}.gnb .gnb_logo h1 span:first-child{transform:rotateY(0)}.gnb .gnb_logo h1 span:last-child{transform:rotateY(180deg);position:absolute}.gnb .gnb_menu{display:flex;list-style:none;gap:2rem;margin:0;padding:0}.gnb .gnb_item{perspective:1000px}.gnb .gnb_item a{width:7rem;height:3rem;text-decoration:none;display:block;color:#000}.gnb .gnb_item a:hover .cube_menu{transform:rotateX(90deg)}.gnb .gnb_item .cube_menu{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .4s cubic-bezier(.4,0,.2,1);display:inline-block}.gnb .gnb_item .face{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:500;backface-visibility:hidden;white-space:nowrap}.gnb .gnb_item .front{transform:translateZ(15px);background:#ffffffb3;color:#000}.gnb .gnb_item .bottom{transform:rotateX(-90deg) translateZ(15px);background:#000000b3;color:#fff}.gnb .gnb_auth{display:flex;align-items:center;gap:1rem}.gnb .gnb_login_btn,.gnb .gnb_logout_btn{padding:.6rem 1.2rem;font-size:.9rem;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-weight:500}.gnb .gnb_login_btn{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3)}.gnb .gnb_login_btn:hover{background:#ffffff4d;transform:translateY(-2px)}.gnb .gnb_user{display:flex;align-items:center;gap:1rem}.gnb .gnb_user span{color:#000;font-size:1.8rem;font-weight:600}.gnb .gnb_logout_btn{background:#00000026;color:#fff;font-size:1.4rem}.gnb .gnb_logout_btn:hover{background:#00000040}.app_container{width:96rem;margin:0 auto;padding:10rem}.overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:0;pointer-events:none}.main_container{width:100%;height:100vh;display:flex;justify-content:center;align-items:center}.main_content{text-align:center}.main_content h1{font-size:2.5rem;margin-bottom:1rem;color:#333}.main_content p{font-size:1.2rem;color:#666}.pop_welcome{display:flex;justify-content:center;align-items:center;position:absolute;left:0;top:0;width:100%;height:100vh;z-index:1001}.pop_welcome div{contain:content;width:50%;height:100%;display:flex;justify-content:center;align-items:center;font-weight:700;transition:transform 1s ease-in-out}.pop_welcome div p{font-size:17rem}.pop_welcome div.left{display:flex;justify-content:end;background-color:#fff}.pop_welcome div.left p{color:#000;transform:translate(50%)}.pop_welcome div.right{display:flex;justify-content:start;background-color:#000}.pop_welcome div.right p{color:#fff;transform:translate(-50%)}.pop_welcome.hidden{pointer-events:none}.pop_welcome.hidden .left{transform:translate(-100%)}.pop_welcome.hidden .right{transform:translate(100%)}.pop_welcome_rotate{display:flex;justify-content:center;align-items:center;position:absolute;left:0;top:0;width:100%;height:50vh}.pop_welcome_rotate div{position:absolute;display:flex;justify-content:center;align-items:center;width:100%;height:100%}.pop_welcome_rotate div.left{background-color:#fff}.pop_welcome_rotate div.right{background-color:#000;mix-blend-mode:difference;z-index:1002}.profile_container{max-width:700px;margin:0 auto;padding:2rem 1rem;padding-bottom:250px}.profile_header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.profile_header h1{font-size:2rem;color:#333;margin:0}.intro_text{margin-bottom:3rem;line-height:1.8;color:#444;font-size:1.05rem}.intro_text p{margin-bottom:1rem}.intro_text p strong{color:#333;font-weight:700}.add_btn{background:#34a853;color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;cursor:pointer}.add_btn:hover{background:#2d8e47}.bottom_sheet{position:fixed;bottom:0;left:0;width:100%;background:#fff;border-top-left-radius:20px;border-top-right-radius:20px;box-shadow:0 -4px 16px #00000026;padding:1.5rem;z-index:1000;transform:translateY(100%);transition:transform .3s ease-in-out}.bottom_sheet.show{transform:translateY(0)}.bottom_sheet .sheet_header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;max-width:700px;margin:0 auto 1rem}.bottom_sheet .sheet_header h3{margin:0;font-size:1.2rem;color:#333}.bottom_sheet .input_section{margin:0 auto}.close_btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666;padding:0}.input_section{display:flex;flex-direction:column;gap:.75rem;align-items:center;width:100%;max-width:700px}.input_grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;width:100%}.input_grid .full_width{grid-column:span 2}.input_grid input{padding:.75rem;font-size:1rem;border:2px solid #ddd;border-radius:8px;transition:border-color .3s}.input_grid input:focus{outline:none;border-color:#4285f4}.save_btn{width:100%;padding:.75rem 1.5rem;font-size:1rem;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500;background:#34a853;color:#fff;margin-top:.5rem}.save_btn:hover{background:#2d8e47}.career_list{width:100%;max-width:700px;display:flex;flex-direction:column;gap:1rem}.career_item{display:flex;flex-direction:column;gap:1rem;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;text-align:left}.career_item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.career_header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eee;padding-bottom:.8rem}.career_header h3{margin:0;font-size:1.25rem;color:#333;font-weight:700}.career_header .period{font-size:.95rem;color:#4285f4;font-weight:600}.career_info{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.career_info p{margin:0;font-size:.95rem;color:#555}.career_info p strong{color:#333;margin-right:.3rem}.tech_stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tech_stack .tech_tag{background:#f1f3f4;color:#555;padding:.3rem .6rem;border-radius:4px;font-size:.85rem;font-weight:500}.loading{color:#666;font-style:italic}.error{color:#ea4335;padding:1rem;background:#fdd;border-radius:8px}.edit_mode{display:flex;flex-direction:column;gap:1rem}.edit_actions{display:flex;justify-content:flex-end;gap:.5rem}.save_mini_btn,.cancel_mini_btn{padding:.5rem 1rem;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s}.save_mini_btn{background:#34a853;color:#fff}.save_mini_btn:hover{background:#2d8e47}.cancel_mini_btn{background:#f1f3f4;color:#333}.cancel_mini_btn:hover{background:#e0e0e0}.header_right{display:flex;align-items:center;gap:.5rem}.edit_btn{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.3rem;border-radius:4px;transition:background .2s}.edit_btn:hover{background:#f1f3f4}
