@charset "UTF-8";a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main,summary{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:"";content:none}table{border-collapse:collapse;border-spacing:0}input,select{vertical-align:middle}input,textarea,button,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;margin:0;font-family:inherit;font-size:inherit;line-height:inherit}select::-ms-expand{display:none}html{-webkit-tap-highlight-color:rgba(0,0,0,0);font-size:initial}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input[type=button]{border:none;background:none;color:inherit}a{color:inherit}:focus{outline:0}form{width:100%}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:none;padding:0;line-height:inherit;color:#333;overflow:hidden;width:100%}label{display:inline-block;vertical-align:middle;max-width:100%;font-weight:inherit}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input::-webkit-calendar-picker-indicator{display:none}input[type=number]{-moz-appearance:textfield}input[type=search]{-webkit-appearance:none}input[type=search]::-ms-clear,input[type=search]::-ms-reveal{display:none;width:0;height:0}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}input[type=radio],input[type=checkbox]{margin-top:1px \	;line-height:normal;vertical-align:baseline}input[type=radio]{-webkit-appearance:radio;border-radius:50%}input[type=checkbox]{-webkit-appearance:checkbox}input[type=file]{display:block}input[type=range]{display:block;width:100%}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}::-webkit-input-placeholder{color:#bbb}:-moz-placeholder{color:#bbb}::-moz-placeholder{color:#bbb}:-ms-input-placeholder{color:#bbb!important}::placeholder{color:#bbb}*{box-sizing:border-box}*:before,*:after{box-sizing:border-box}img{border:0;margin:0;vertical-align:middle;width:100%;max-width:100%;height:auto}summary::-webkit-details-marker{display:none}summary::-moz-list-bullet{list-style-type:none}.hide{display:none}@media (min-width: 0){.hide-xs{display:none}}@media (min-width: 600px){.hide-sm{display:none}}@media (min-width: 768px){.hide-md{display:none}}@media (min-width: 1024px){.hide-lg{display:none}}@media (min-width: 1440px){.hide-xl{display:none}}@media (min-width: 1920px){.hide-xxl{display:none}}.block{display:block}@media (min-width: 0){.block-xs{display:block}}@media (min-width: 600px){.block-sm{display:block}}@media (min-width: 768px){.block-md{display:block}}@media (min-width: 1024px){.block-lg{display:block}}@media (min-width: 1440px){.block-xl{display:block}}@media (min-width: 1920px){.block-xxl{display:block}}.inline-block{display:inline-block}@media (min-width: 0){.inline-block-xs{display:inline-block}}@media (min-width: 600px){.inline-block-sm{display:inline-block}}@media (min-width: 768px){.inline-block-md{display:inline-block}}@media (min-width: 1024px){.inline-block-lg{display:inline-block}}@media (min-width: 1440px){.inline-block-xl{display:inline-block}}@media (min-width: 1920px){.inline-block-xxl{display:inline-block}}.hide-scrollbar::-webkit-scrollbar{display:none}.clearfix:after{clear:both;content:" ";display:block;height:0;line-height:0}.flex-separate{display:flex;justify-content:space-between}@media (min-width: 0){.flex-separate-xs{display:flex;justify-content:space-between}}@media (min-width: 600px){.flex-separate-sm{display:flex;justify-content:space-between}}@media (min-width: 768px){.flex-separate-md{display:flex;justify-content:space-between}}@media (min-width: 1024px){.flex-separate-lg{display:flex;justify-content:space-between}}@media (min-width: 1440px){.flex-separate-xl{display:flex;justify-content:space-between}}@media (min-width: 1920px){.flex-separate-xxl{display:flex;justify-content:space-between}}.bold{font-weight:700}@media (min-width: 0){.bold-xs{font-weight:700}}@media (min-width: 600px){.bold-sm{font-weight:700}}@media (min-width: 768px){.bold-md{font-weight:700}}@media (min-width: 1024px){.bold-lg{font-weight:700}}@media (min-width: 1440px){.bold-xl{font-weight:700}}@media (min-width: 1920px){.bold-xxl{font-weight:700}}.medium{font-weight:medium}@media (min-width: 0){.medium-xs{font-weight:medium}}@media (min-width: 600px){.medium-sm{font-weight:medium}}@media (min-width: 768px){.medium-md{font-weight:medium}}@media (min-width: 1024px){.medium-lg{font-weight:medium}}@media (min-width: 1440px){.medium-xl{font-weight:medium}}@media (min-width: 1920px){.medium-xxl{font-weight:medium}}.break-all{word-break:break-all}.spin{animation:spin 2s infinite linear}.italic{font-style:italic}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{-webkit-appearance:none;appearance:none;width:4px;height:4px}::-webkit-scrollbar-thumb{background-color:#111;border-radius:4px}::-webkit-scrollbar-track{background-color:transparent}:focus-visible{outline:1px solid #FD7F7F;border-radius:var(--radius, 2px);outline-offset:4px}:root{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Hiragino Sans GB,Noto Sans,Noto Sans TC,\5fae\8edf\6b63\9ed1\9ad4,Microsoft JhengHei,sans-serif;font-size:16px;line-height:1.55;font-weight:400;letter-spacing:.025em;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}@media (min-width: 1024px){:root{letter-spacing:.04em}}::-moz-selection{background-color:#fff97433}::selection{background-color:#fff97433}@supports not (color: var(--)){html{font-size:16px}body{font-family:Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Hiragino Sans GB,Noto Sans,Noto Sans TC,\5fae\8edf\6b63\9ed1\9ad4,Microsoft JhengHei,sans-serif;line-height:1.55}}.text-stroke{color:#fff;text-shadow:-1px 0 #111,0px 0 #111,-.5px .5px 0 #111,.5px .5px 0 #111}@media (min-width: 1440px){.text-stroke{text-shadow:-3px 0 #111,0px 0 #111,-1.5px 1.5px 0 #111,1.5px 1.5px 0 #111}}@supports (-webkit-text-stroke: 1.5px #000) or (text-stroke: 1.5px #000){.text-stroke{text-shadow:none;-webkit-text-stroke:.5px #111;text-stroke:.5px #111;color:#fffc}@media (min-width: 1440px){.text-stroke{-webkit-text-stroke:1.5px #111;text-stroke:1.5px #111}}}.font-size-sm{font-size:.875rem}a{text-decoration:none}.underline,.underline2{position:relative}.underline:after,.underline2:after{content:"";position:absolute;width:100%;transform:scaleX(1);height:1px;bottom:0;left:0;background-color:currentColor;transform-origin:bottom left;transition:transform .25s ease-out}.underline:hover:after,.underline2:hover:after{transform:scaleX(0);transform-origin:bottom right}.underline2:after{transform:scaleX(0);transform-origin:bottom right}.underline2:hover:after{transform:scaleX(1);transform-origin:bottom left}.text-overflow{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@page{size:A4 portrait;margin-top:.5cm;margin-bottom:.5cm}.print-break{page-break-before:always}@media print{.print-break{margin-top:1cm}}@media print{.print-hide{display:none}}.print-show{display:none}@media print{.print-show{display:block}}:root{overflow-x:hidden;background-color:#fff}.wrap{display:flex;flex-direction:column;min-height:-webkit-fill-available;min-height:100dvh;padding:0 4vw;position:relative}.content{flex-grow:1;min-height:60vh}.header{display:flex;justify-content:space-between;width:100%;padding:1rem 0;text-transform:uppercase}.header__logo{text-decoration:none;font-weight:700}.footer{text-align:center;padding:1rem 1rem .25rem;text-transform:uppercase;margin-top:auto}@media (min-width: 768px){.footer{display:flex;padding-top:0;justify-content:space-between;flex-direction:row-reverse;align-items:center;line-height:1}}.footer__copyright{display:block;font-size:.875rem}.footer__linklist{display:inline-flex}.footer__linklist-item:not(:first-child):before{content:"/";font-size:.75rem;margin:0 .5em}.footer__linklist-link{display:inline-block;padding:.2em;text-decoration:none;transition:opacity .2s ease-out,transform .2s ease-out;font-size:1.125em;vertical-align:middle}@media (min-width: 1024px){.footer__linklist-link{will-change:transform}}.footer__linklist-link:hover{transform:scale(1.2)}.footer__linklist-text{font-size:0}@media (min-width: 1024px){:root{cursor:none}:root :link,:root button{cursor:none}}.cursor{display:none!important}@media (min-width: 1024px){.cursor{position:fixed;display:flex!important;align-items:center;justify-content:center;width:1rem;height:1rem;border:1.5px solid #fff;border-radius:50%;left:0;top:0;pointer-events:none;background-color:#111;mix-blend-mode:difference}}.cursor__text{display:none}@media (min-width: 1024px){.cursor__text{display:inline-block;text-align:center;color:#fff;font-size:1.25rem;font-weight:700;line-height:1.2;font-family:Poppins,Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Hiragino Sans GB,Noto Sans,Noto Sans TC,\5fae\8edf\6b63\9ed1\9ad4,Microsoft JhengHei,sans-serif;opacity:0}}.home{display:flex;flex-direction:column;height:100%}.home__heading{font-weight:800;color:#fff;text-shadow:-1.4px 0 #111,0px 0 #111,-.7px .7px 0 #111,.7px .7px 0 #111;margin-top:2em;margin-bottom:1em;font-family:Poppins,Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Hiragino Sans GB,Noto Sans,Noto Sans TC,\5fae\8edf\6b63\9ed1\9ad4,Microsoft JhengHei,sans-serif;line-height:1.2;font-size:8vw;letter-spacing:.01em}@media (min-width: 768px){.home__heading{text-shadow:-2px 0 #111,0px 0 #111,-1px 1px 0 #111,1px 1px 0 #111}}@media (min-width: 1024px){.home__heading{line-height:1.36;letter-spacing:inherit;text-shadow:-3px 0 #111,0px 0 #111,-1.5px 1.5px 0 #111,1.5px 1.5px 0 #111;font-size:5vw;margin-top:.5em;margin-bottom:.5em}}@supports (-webkit-text-stroke: 1.5px black) or (text-stroke: 1.5px black){.home__heading{text-shadow:none;-webkit-text-stroke:.7px #111;text-stroke:.7px #111;color:#fffc}@media (min-width: 768px){.home__heading{-webkit-text-stroke:1px #111;text-stroke:1px #111}}@media (min-width: 1024px){.home__heading{-webkit-text-stroke:1.5px #111;text-stroke:1.5px #111}}}.home__desc{line-height:1.7;margin-bottom:1em;text-transform:uppercase}@media (min-width: 1024px){.home__desc{margin-bottom:.5em;font-size:1.5rem;max-width:54rem}}.home__desc--contact{font-size:.875em}@media (min-width: 1024px){.home__desc--contact{font-size:1.15rem}.home__desc--contact:before{content:"// "}}.home__emoji{display:inline-block;text-transform:none}.home__emoji:before{content:"";animation:emojiFly 2s infinite linear}.home__emoji-hand{display:inline-block;transform-origin:0 50%;animation:emojiHand .4s infinite alternate-reverse steps(2)}@keyframes emojiFly{20%{content:"\3a3("}40%{content:"\3a3(("}60%{content:"=\2261\3a3(("}80%{content:"\2500\2500\2500=\2261\3a3(("}to{content:"\2500\2500\2500\2500=\2261\3a3(("}}@keyframes emojiHand{0%{transform:rotate(15deg)}to{transform:rotate(-45deg)}}.ball-group{position:fixed;left:0;top:0;pointer-events:none;z-index:-1}.ball{position:fixed;display:block;width:20vh;height:20vh;border-radius:50%;mix-blend-mode:screen;filter:blur(5px);z-index:-1;pointer-events:none;left:0;top:0}@media (min-width: 1024px){.ball{width:192px;height:192px}}.ball--red{background-color:#f66}.ball--yellow{background-color:#ff6}.ball--blue{background-color:#66f}.btn-cta-wrap{text-align:right;margin-bottom:1em}@media (min-width: 1024px){.btn-cta-wrap{margin-top:auto;margin-bottom:2em}}.btn-cta{font-size:5vw;font-weight:700;text-decoration:underline}@media (min-width: 1024px){.btn-cta{font-size:3vw}}.btn-cta__icon{transition:letter-spacing .2s}.btn-cta:focus .btn-cta__icon,.btn-cta:active .btn-cta__icon{letter-spacing:.18em}@media (min-width: 1024px){.btn-cta:hover .btn-cta__icon{letter-spacing:.18em}}@media (min-width: 1024px){.l-project{display:flex;align-items:flex-start}}@media (min-width: 1024px){.l-project__sidebar{flex:0 0 30%;position:sticky;top:1rem}}.project{padding-top:2rem}.project__heading{font-size:2rem;font-weight:700;font-family:Poppins,Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Hiragino Sans GB,Noto Sans,Noto Sans TC,\5fae\8edf\6b63\9ed1\9ad4,Microsoft JhengHei,sans-serif;margin-bottom:1rem;line-height:1.2}@media (min-width: 1024px){.project__heading{font-size:3.8vw}}@media (min-width: 1024px){.projectlist{display:flex;flex-wrap:wrap;margin:0 -4% 8vw}}.projectlist__item{margin-bottom:2rem}@media (min-width: 1024px){.projectlist__item{width:50%;padding:0 4%;margin-bottom:4%;transform:rotate(-2deg);transition:.5s transform cubic-bezier(.165,.84,.44,1)}.projectlist__item:nth-child(2n){margin-top:16%;margin-bottom:-8%;transform:rotate(2deg)}.projectlist__item:hover{transform:rotate(0)}}.projectlist__title{font-size:1.25rem;line-height:1.36}.projectlist__imgbox{--radius: 2vw;display:block}.projectlist__img{display:block;border-radius:var(--radius);background-color:#eee;box-shadow:0 -1px 4px #1111110a,0 2px 12px -2px #1111110f,0 4px 24px -4px #1111111a;margin-bottom:8px;aspect-ratio:1440/900}.projectlist__textbox{display:flex;justify-content:space-between;align-items:flex-end;font-size:.875rem}.projectlist__date{color:#11111180}.projectlist__visit{display:flex;align-items:center}.projectlist__visit-icon{display:inline-block;font-size:1.5rem;transition:transform .25s}.projectlist__visit:focus .projectlist__visit-icon,.projectlist__visit:active .projectlist__visit-icon{transform:translate(20%,-20%)}@media (min-width: 1024px){.projectlist__visit:hover .projectlist__visit-icon{transform:translate(20%,-20%)}}.projectlist__not-available{color:#11111180}.project-detail{max-width:100%;padding-top:2rem}@media (min-width: 1440px){.project-detail__main{display:flex;align-items:stretch}}.project-detail__textbox{overflow:hidden}@media (min-width: 1440px){.project-detail__textbox{flex:0 0 35%;padding-right:4rem}}.project-detail__infobox{margin-bottom:1rem}.project-detail__info{display:grid;grid-template-columns:5em auto;font-size:.875rem;color:#11111180}.project-detail__info-title{grid-column:1;margin-right:.5em;font-weight:700;text-transform:uppercase}.project-detail__info-value{grid-column:2}.project-detail__info-text{font-size:.875rem;color:#11111180}.project-detail__heading{font-size:2rem;font-weight:800;line-height:1.3;margin-bottom:.5rem;margin-top:.5rem;font-family:Poppins,Poppins,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,Helvetica,Arial,Hiragino Sans GB,Noto Sans,Noto Sans TC,\5fae\8edf\6b63\9ed1\9ad4,Microsoft JhengHei,sans-serif}@media (min-width: 1440px){.project-detail__heading{font-size:2.5vw;line-height:1.2}}.project-detail__desc{margin-bottom:4px;margin-bottom:1rem}.project-detail__url{text-align:center;font-size:.875rem;color:#11111180;margin-bottom:8px;word-break:break-all}.project-detail__url-text{margin-right:.5em}.project-detail__imgbox{display:flex}@media (min-width: 1024px){.project-detail__imgbox{padding:1%}}.project-detail__imgbox--desktop{flex-grow:1;width:79.3388429752%}.project-detail__imgbox--mobile{flex-grow:1;margin-left:-12%;margin-bottom:-8%;width:20.6611570248%}@media (min-width: 1024px){.project-detail__imgbox--mobile{margin:0}}.project-detail__img{border-radius:2vw;box-shadow:0 -1px 4px #1111110a,0 2px 12px -2px #1111110f,0 4px 24px -4px #1111111a}.project-detail__img-desktop{aspect-ratio:1440/900}.project-detail__imgbox-wrap{display:flex;align-items:flex-end;padding-bottom:calc(8% + 1rem)}@media (min-width: 1024px){.project-detail__imgbox-wrap{margin:0 -1%;padding-bottom:0;width:100%}}.project-detail__extra-info{margin-top:2em;display:flex;flex-direction:column;gap:.5em}.project-detail__extra-info-text{font-style:italic}.btn-back{position:absolute;display:flex;align-items:center;top:1rem;left:4vw;margin-left:4em;text-decoration:none}.btn-back svg{display:inline-block;margin-top:-2px}.cv{font-family:Poppins,Noto Sans TC;width:100%;max-width:990px;margin:0 auto;user-select:none}@media print{.cv{padding:1cm 0;font-size:8px}.cv .underline:after,.cv .underline2:after{content:none}.cv .inline-block-md{display:inline-block}}@media (min-width: 1024px){.cv{max-width:1090px}}.cv__content{margin-bottom:30px;border-radius:4px}@media (min-width: 1024px){.cv__content{box-shadow:#5555551a 0 24px 50px;background-color:#fff3;padding:100px;margin-bottom:60px}}.cv__funcbar{display:flex;align-items:center;justify-content:flex-end;padding:1em 0;margin:0 -.5em}.cv__funcbar>*{margin:0 .5em}@media print{.cv__funcbar{display:none}}.cv__header{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;margin-bottom:1em}@media (min-width: 768px){.cv__header{font-size:1.125em;margin-bottom:64px}.cv__header>*{flex-shrink:0}}@media print{.cv__header{margin-bottom:3.556em}}@media (min-width: 768px){.cv__logo{font-size:1.5em}}@media print{.cv__logo{display:flex;align-items:center}}.cv__logo-qrcode{width:1.4cm;margin-right:.4em}.cv__btn{background:none;font-size:1.125em;line-height:1;padding:.5em;transition:.2s ease-out}.cv__btn:hover{opacity:.7}.cv__btn:active{transform:scale(.94)}.cv__btn--toggle{display:flex;align-items:center}.cv__btn--toggle svg{margin-left:.4em}.cv__btn--lang{padding:12px 24px;background-color:#ffffffb3;border:2px solid #ddd;border-radius:60px}@media (min-width: 1024px){.cv__row{display:flex}}@media print{.cv__row{display:flex}}.cv__col-l{width:350px;padding-right:30px;flex-shrink:0}@media print{.cv__col-l{width:26em;padding-right:1.875em}}.cv__col-r{margin-top:.2em}.cv__heading{font-size:1.5em;font-weight:700;margin-bottom:.667em;text-transform:uppercase}.cv__about{max-width:100%;width:max-content;margin:60px auto}@media (min-width: 768px){.cv__about{max-width:800px}}.cv__about-sign{font-size:.875em;margin-top:1em;font-style:italic;opacity:.5}.cv-work__item{margin-bottom:2em}.cv-work__company{font-weight:700;font-size:1.25em}.cv-work__title{font-size:1.25em}.cv-work__date{display:block;margin-top:1em;margin-bottom:1em;color:#555}.cv-work__content-item{margin-left:20px;list-style-type:disc;list-style-type:"\30fb";padding-inline-start:4px}.cv-work__highlights{margin-top:.5em;font-style:italic;padding-inline-start:1em}.cv-work__highlights li::marker{font-size:.75em}.cv-work__highlights li:not(:only-child){display:list-item;list-style-type:"//";padding-inline-start:8px}.cv-work__skill{display:flex;flex-wrap:wrap;margin-top:1em;font-style:italic}@media print{.cv-work__skill{display:block}}.cv-work__skill-title{display:inline-flex;align-items:center}.cv-work__skill-title svg{margin-left:.4em;margin-right:.4em}.cv-work__skill-title:after{content:": ";margin-right:.4em}.cv-work__skill-item{display:inline-block}.cv-work__skill-item:not(:last-child):after{content:"/";margin:0 .5em;font-size:.75em}@media print{.cv-work{margin-top:2em}}.cv-intro{margin-bottom:4em}.cv-intro__heading{font-size:2.5em;font-weight:900}.cv-intro__subheading{font-size:1.25em;font-weight:800;margin-bottom:1em}.cv-intro__desc::marker{font-size:.75em}.cv-intro__desc:not(:only-child){margin-left:16px;display:list-item;list-style-type:"//";padding-inline-start:8px}.cv-summary{opacity:.25;text-align:center;font-size:1.25em;font-style:italic;transition:opacity .5s}.cv-summary:hover{opacity:.5}.cv-details:open .cv-summary{opacity:1}.cv-details__content{margin-top:2em}.cv-highlight{font-size:1.25em;font-weight:700;vertical-align:middle}.cv-heart{display:inline-block;animation:heart .8s cubic-bezier(.28,.84,.42,1) infinite}@keyframes heart{35%{transform:scale(1.2)}}
