@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Lora:ital,wght@0,500;0,600;0,700;1,400;1,500;1,600&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{background-color:var(--color-app-bg,#f5f7fa);width:100%;min-height:100vh;color:var(--color-text-primary,#202332);margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;transition:background-color .2s,color .2s;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-subtle,#c1c1c1);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted,#a8a8a8)}@media (width<=768px){body{width:100%;position:relative;overflow-x:hidden}.ant-card{border-radius:10px!important}.ant-card-head{flex-wrap:wrap!important;gap:8px!important;padding:12px 14px!important}.ant-card-head-title{white-space:normal!important;width:100%!important;padding:0!important;font-size:15px!important;line-height:1.4!important}.ant-card-extra{float:none!important;width:100%!important;margin-left:0!important;padding:0!important}.ant-card-extra>.ant-space{flex-wrap:wrap!important;justify-content:flex-start!important;width:100%!important}.ant-card-body{padding:14px 10px!important}.ant-table-wrapper{-webkit-overflow-scrolling:touch;max-width:100%!important;overflow-x:auto!important}.ant-table{font-size:13px!important}.ant-table-cell{white-space:nowrap;padding:8px!important}.ant-modal{max-width:calc(100vw - 16px)!important;margin:8px auto!important;padding-bottom:10px!important;top:10px!important}.ant-modal .ant-modal-content{max-height:90vh!important;padding:18px 14px!important;overflow-y:auto!important}.login-card .ant-card-body{padding:24px 16px!important}}.employee-360-modal .ant-modal-content,.employee-360-modal.ant-modal .ant-modal-content{border-radius:16px!important;padding:0!important;overflow:hidden!important;box-shadow:0 25px 50px -12px #00000073!important}.employee-360-modal .ant-modal-close,.employee-360-modal.ant-modal .ant-modal-close{color:#fff!important;-webkit-backdrop-filter:blur(8px)!important;z-index:50!important;background:#fff3!important;border:1px solid #ffffff59!important;border-radius:50%!important;justify-content:center!important;align-items:center!important;width:34px!important;height:34px!important;transition:all .25s cubic-bezier(.4,0,.2,1)!important;display:flex!important;top:18px!important;right:18px!important}.employee-360-modal .ant-modal-close:hover,.employee-360-modal.ant-modal .ant-modal-close:hover{transform:scale(1.08);color:#fff!important;background:#fff6!important}.employee-360-modal .ant-modal-close .ant-modal-close-x{color:#fff!important;justify-content:center!important;align-items:center!important;width:100%!important;height:100%!important;font-size:14px!important;line-height:1!important;display:flex!important}.employee-360-header{color:#fff;background:linear-gradient(135deg,#0f172a 0%,#1e293b 50%,#1e3a8a 100%);padding:24px 32px;position:relative}.employee-360-header-inner{justify-content:space-between;align-items:center;gap:20px;padding-right:36px;display:flex}.employee-360-profile-main{flex:auto;align-items:center;gap:20px;min-width:0;display:flex}.employee-360-info-col{flex:auto;min-width:0}.employee-360-name-title{color:#fff!important;word-break:break-word!important;overflow-wrap:break-word!important;white-space:normal!important;margin:0!important;font-size:22px!important;font-weight:700!important}.employee-360-meta-row{color:#94a3b8;flex-wrap:wrap;gap:12px 18px;font-size:13px;line-height:1.5;display:flex}.employee-360-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.employee-360-body{padding:20px 32px}@media (width<=768px){.employee-360-modal .ant-modal-close,.employee-360-modal.ant-modal .ant-modal-close{width:30px!important;height:30px!important;top:12px!important;right:12px!important}.employee-360-header{padding:16px 14px 14px!important}.employee-360-header-inner{flex-direction:column!important;align-items:stretch!important;gap:12px!important;padding-right:0!important}.employee-360-profile-main{align-items:flex-start!important;gap:14px!important;width:100%!important;min-width:0!important;padding-right:36px!important;display:flex!important}.employee-360-info-col{flex:auto!important;width:100%!important;min-width:0!important}.employee-360-name-title{font-size:19px!important;line-height:1.35!important}.employee-360-meta-row{gap:6px 12px!important;font-size:12px!important}.employee-360-actions{border-top:1px solid #ffffff1f!important;flex-flow:wrap!important;justify-content:flex-start!important;align-items:stretch!important;gap:8px!important;width:100%!important;margin-top:4px!important;padding-top:10px!important}.employee-360-actions .ant-btn{text-align:center!important;flex:calc(50% - 6px)!important;justify-content:center!important;min-width:130px!important}.employee-360-body{padding:12px 10px!important}.ant-modal-title{word-break:break-word!important;overflow-wrap:break-word!important;white-space:normal!important}.ant-tabs-nav{max-width:100%!important}}@media print{@page{size:A4 portrait;margin:8mm 10mm}body>:not(.ant-modal-root),.ant-modal-mask{display:none!important}.ant-modal-wrap{position:static!important;overflow:visible!important}.ant-modal{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;position:static!important;top:0!important;left:0!important}.ant-modal-content{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.ant-modal-footer,.ant-modal-close{display:none!important}#printable-payslip-wrapper{max-height:none!important;overflow:visible!important}#printable-payslip{color:#000!important;width:100%!important;max-width:100%!important;box-shadow:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;background:#fff!important;max-height:none!important;margin:0!important;padding:0!important;position:static!important;overflow:visible!important}#printable-payslip tr{page-break-inside:avoid!important}}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td,.ant-table-wrapper .ant-table-tbody>tr.ant-table-row-hover>td,.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left,.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left-last,.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-right,.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-right-first{background-color:var(--color-hover-bg,#f3f0ff)!important;transition:background-color .12s ease-in-out!important}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td:first-child,.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left:first-child{position:relative!important}.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td:first-child:before,.ant-table-wrapper .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left:first-child:before{content:""!important;background-color:var(--color-primary,#6d4aff)!important;z-index:10!important;border-radius:0 3px 3px 0!important;width:4px!important;position:absolute!important;top:0!important;bottom:0!important;left:0!important}.cham-cong-matrix-table{position:relative}.cham-cong-matrix-table .ant-table-tbody>tr>td .ant-space,.cham-cong-matrix-table .ant-table-tbody>tr>td .ant-tag,.cham-cong-matrix-table .ant-table-tbody>tr>td .ant-typography,.cham-cong-matrix-table .ant-table-tbody>tr>td span{pointer-events:none}.cham-cong-matrix-table .ant-table-tbody>tr>td.matrix-col-hovered,.cham-cong-matrix-table .ant-table-tbody>tr>td.matrix-col-hovered.ant-table-cell-fix-left,.cham-cong-matrix-table .ant-table-tbody>tr>td.matrix-col-hovered.ant-table-cell-fix-left-last{background-color:var(--color-hover-bg,#f3f0ff)!important}.cham-cong-matrix-table th.matrix-header-col-hovered,.cham-cong-matrix-table th.matrix-header-col-hovered.ant-table-cell-fix-left{background-color:var(--color-active-bg,#eee9ff)!important;color:var(--color-primary,#6d4aff)!important;border-bottom:3px solid var(--color-primary,#6d4aff)!important;box-shadow:inset 0 2px 0 var(--color-primary,#6d4aff), 0 2px 6px #6d4aff33!important;font-weight:800!important}.cham-cong-matrix-table .ant-table-tbody>tr.ant-table-row:hover>td,.cham-cong-matrix-table .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left,.cham-cong-matrix-table .ant-table-tbody>tr.ant-table-row:hover>td.ant-table-cell-fix-left-last{background-color:var(--color-hover-bg,#f3f0ff)!important}.cham-cong-matrix-table .ant-table-tbody>tr>td:hover,.cham-cong-matrix-table .ant-table-tbody>tr>td.ant-table-cell-fix-left:hover,.cham-cong-matrix-table .ant-table-tbody>tr>td.ant-table-cell-fix-left-last:hover,.cham-cong-matrix-table .ant-table-tbody>tr.ant-table-row:hover>td:hover{cursor:pointer;background-color:var(--color-active-bg,#eee9ff)!important;box-shadow:inset 0 0 0 2px var(--color-primary,#6d4aff)!important;z-index:5!important}.cham-cong-matrix-table .ant-table-tbody>tr.ant-table-row:hover>td.matrix-col-hovered:hover{background-color:var(--color-active-bg,#eee9ff)!important;box-shadow:inset 0 0 0 2.5px var(--color-primary,#6d4aff)!important;color:var(--color-primary,#6d4aff)!important;z-index:8!important;font-weight:800!important}@media (width<=1200px){.header-hide-1200{display:none!important}}@media (width<=992px){.header-hide-tablet{display:none!important}}@media (width<=768px){.header-hide-mobile{display:none!important}}@media (width<=576px){.header-hide-compact{display:none!important}}.ant-layout-sider-zero-width-trigger{display:none!important}.ant-layout-header{line-height:normal!important}.hrms-sider-menu .ant-menu-item-selected{font-weight:600!important}[data-theme=light] .hrms-sider-menu .ant-menu-item-selected{background-color:var(--color-active-bg,#eee9ff)!important;color:var(--color-primary,#6d4aff)!important}[data-theme=dark] .hrms-sider-menu .ant-menu-item-selected{background-color:var(--color-active-bg,#281d49)!important;color:var(--color-primary,#9a79ff)!important}@media print{body{color:#000!important;background:#fff!important}.ant-layout-sider,.ant-layout-header,.no-print,.header-hide-mobile,.ant-btn:not(.printable-btn){display:none!important}.ant-layout{background:#fff!important}.ant-card{box-shadow:none!important;color:#000!important;background:#fff!important;border:1px solid #d9d9d9!important}.ant-table{color:#000!important;background:#fff!important}.ant-table-thead>tr>th{color:#000!important;background:#f0f0f0!important}.ant-table-tbody>tr>td{color:#000!important}}.hrms-ai-chat .ant-input::placeholder{color:var(--color-text-secondary,#626b7e);opacity:1}.hrms-ai-chat .ant-input-disabled{color:var(--color-text-secondary,#626b7e);background:var(--color-card-secondary-bg,#f9fafd)}:root{--motion-fast:.14s;--motion-normal:.2s;--motion-enter:.28s;--motion-exit:.22s;--motion-ease-out:cubic-bezier(.16, 1, .3, 1);--motion-ease-in-out:cubic-bezier(.4, 0, .2, 1);--motion-ease-sharp:cubic-bezier(.25, 1, .5, 1)}.motion-fade-in{animation:hrmsFadeIn var(--motion-enter) var(--motion-ease-out) forwards}.motion-slide-up{animation:hrmsSlideUp var(--motion-enter) var(--motion-ease-out) forwards}@keyframes hrmsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes hrmsSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stagger-card-1{animation:hrmsSlideUp var(--motion-enter) var(--motion-ease-out) 0s forwards}.stagger-card-2{animation:hrmsSlideUp var(--motion-enter) var(--motion-ease-out) 40ms forwards}.stagger-card-3{animation:hrmsSlideUp var(--motion-enter) var(--motion-ease-out) 80ms forwards}.stagger-card-4{animation:hrmsSlideUp var(--motion-enter) var(--motion-ease-out) .12s forwards}.attendance-day-cell{transition:transform var(--motion-fast) var(--motion-ease-out), box-shadow var(--motion-fast) var(--motion-ease-out), border-color var(--motion-fast) var(--motion-ease-out), background-color var(--motion-fast) var(--motion-ease-out);will-change:transform}.attendance-day-cell:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6d4aff1f}.attendance-day-cell:active{transform:translateY(0)}.day-panel-transition{animation:hrmsFadeIn var(--motion-fast) var(--motion-ease-out) forwards}.btn-motion{transition:transform var(--motion-fast) var(--motion-ease-out), box-shadow var(--motion-fast) var(--motion-ease-out)}.btn-motion:hover{transform:translateY(-1px)}.btn-motion:active{transform:translateY(0)}.welcome-intro-overlay{z-index:999999;-webkit-user-select:none;user-select:none;cursor:pointer;width:100vw;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);-webkit-backdrop-filter:blur(14px);transition:opacity .7s var(--motion-ease-in-out), transform .7s var(--motion-ease-in-out);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.welcome-intro-overlay.theme-dark{color:#f8fafc;background:radial-gradient(at 50% 45%,#080d1e 0%,#040713 55%,#010207 100%)}.welcome-intro-overlay.theme-light{color:#0f172a;background:radial-gradient(at 50% 45%,#fff 0%,#f1f5f9 55%,#e2e8f0 100%)}.welcome-intro-overlay.entering{opacity:1;animation:welcomeOverlayFadeIn .45s var(--motion-ease-out) forwards}.welcome-intro-overlay.exiting{opacity:0;pointer-events:none;transform:translateY(-24px)scale(1.02)}@keyframes welcomeOverlayFadeIn{0%{opacity:0}to{opacity:1}}.welcome-cyber-grid{pointer-events:none;z-index:1;opacity:.65;background-image:radial-gradient(circle,#ffffff14 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0}.theme-light .welcome-cyber-grid{opacity:.5;background-image:radial-gradient(circle,#0f172a0d 1px,#0000 1px)}.welcome-aurora-mesh{pointer-events:none;z-index:1;filter:blur(65px);opacity:.9;position:absolute;inset:0;overflow:hidden}.aurora-orb{pointer-events:none;transform-origin:50%;border-radius:50%;position:absolute}.aurora-orb.orb-cyan{background:radial-gradient(circle,#06b6d461 0%,#3b82f638 45%,#0000 75%);width:min(560px,85vw);height:min(560px,85vw);animation:14s ease-in-out infinite alternate auroraDriftCyan;top:5%;left:12%}.aurora-orb.orb-purple{background:radial-gradient(circle,#a855f761 0%,#7c3aed38 45%,#0000 75%);width:min(600px,90vw);height:min(600px,90vw);animation:16s ease-in-out infinite alternate auroraDriftPurple;top:35%;right:10%}.aurora-orb.orb-pink{background:radial-gradient(circle,#f43f5e47 0%,#ec489929 45%,#0000 75%);width:min(500px,80vw);height:min(500px,80vw);animation:18s ease-in-out infinite alternate auroraDriftPink;bottom:8%;left:28%}@keyframes auroraDriftCyan{0%{transform:translate(0)scale(1)}50%{transform:translate(60px,-40px)scale(1.1)}to{transform:translate(-40px,30px)scale(.95)}}@keyframes auroraDriftPurple{0%{transform:translate(0)scale(1)}50%{transform:translate(-50px,40px)scale(1.08)}to{transform:translate(40px,-30px)scale(.92)}}@keyframes auroraDriftPink{0%{transform:translate(0)scale(.95)}50%{transform:translate(40px,50px)scale(1.12)}to{transform:translate(-30px,-40px)scale(1)}}.welcome-particles-layer{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.cyber-spark{pointer-events:none;border-radius:50%;position:absolute}.cyber-spark.spark-1{background:#38bdf8;width:5px;height:5px;animation:7s ease-in-out infinite alternate sparkFloat1;top:32%;left:18%;box-shadow:0 0 14px #38bdf8,0 0 28px #38bdf8}.cyber-spark.spark-2{background:#c084fc;width:6px;height:6px;animation:8s ease-in-out infinite alternate sparkFloat2;top:26%;right:22%;box-shadow:0 0 16px #c084fc,0 0 32px #c084fc}.cyber-spark.spark-3{background:#34d399;width:4px;height:4px;animation:9s ease-in-out infinite alternate sparkFloat3;bottom:34%;left:24%;box-shadow:0 0 12px #34d399,0 0 24px #34d399}.cyber-spark.spark-4{background:#f472b6;width:5px;height:5px;animation:7.5s ease-in-out infinite alternate sparkFloat4;bottom:28%;right:18%;box-shadow:0 0 14px #f472b6,0 0 28px #f472b6}@keyframes sparkFloat1{0%{opacity:.5;transform:translate(0)scale(1)}to{opacity:.95;transform:translate(30px,-45px)scale(1.4)}}@keyframes sparkFloat2{0%{opacity:.6;transform:translate(0)scale(1)}to{opacity:1;transform:translate(-35px,40px)scale(1.3)}}@keyframes sparkFloat3{0%{opacity:.5;transform:translate(0)scale(1)}to{opacity:.9;transform:translate(40px,-30px)scale(1.5)}}@keyframes sparkFloat4{0%{opacity:.55;transform:translate(0)scale(1)}to{opacity:.95;transform:translate(-30px,-35px)scale(1.35)}}.welcome-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.welcome-skip-btn{z-index:10!important;-webkit-backdrop-filter:blur(12px)!important;cursor:pointer!important;pointer-events:auto!important;height:42px!important;transition:transform var(--motion-fast) var(--motion-ease-out), box-shadow var(--motion-fast) var(--motion-ease-out), border-color var(--motion-fast) var(--motion-ease-out)!important;border-radius:24px!important;align-items:center!important;gap:8px!important;padding:0 18px!important;font-size:13.5px!important;display:inline-flex!important;position:absolute!important;top:clamp(16px,3vh,32px)!important;right:clamp(16px,3vw,36px)!important}.theme-dark .welcome-skip-btn{color:#e2e8f0!important;background:#0f172aa6!important;border:1px solid #ffffff29!important;box-shadow:0 4px 20px #00000059!important}.theme-dark .welcome-skip-btn:hover{color:#fff!important;background:#1e293bd9!important;border-color:#a855f799!important;transform:translateY(-1px)scale(1.02)!important;box-shadow:0 0 24px #a855f766!important}.theme-light .welcome-skip-btn{color:#1e293b!important;background:#ffffffd9!important;border:1px solid #0000001a!important;box-shadow:0 4px 16px #00000014!important}.theme-light .welcome-skip-btn:hover{color:#0f172a!important;background:#fff!important;border-color:#2563eb73!important;transform:translateY(-1px)scale(1.02)!important;box-shadow:0 0 20px #2563eb40!important}.welcome-skip-shortcut{border-radius:8px;padding:3px 7px;font-size:11px;font-weight:500}.theme-dark .welcome-skip-shortcut{color:#94a3b8;background:#ffffff1f}.theme-light .welcome-skip-shortcut{color:#475569;background:#00000012}.welcome-content-container{z-index:3;text-align:center;perspective:1400px;cursor:pointer;width:92%;max-width:1040px;transition:transform .7s var(--motion-ease-out), opacity .7s var(--motion-ease-out);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.welcome-intro-overlay.exiting .welcome-content-container{opacity:0;transform:scale(1.05)translateY(-14px)}.welcome-word-row{transform-style:preserve-3d;justify-content:center;align-items:center;margin-bottom:clamp(14px,2.5vh,22px);display:flex;position:relative;overflow:visible}.welcome-letter{letter-spacing:clamp(4px,1.4vw,16px);animation-duration:1.1s;animation-timing-function:var(--motion-ease-out);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Outfit,Inter,sans-serif;font-size:clamp(42px,10vw,112px);font-weight:900;line-height:1;animation-fill-mode:both;display:inline-block}.theme-dark .welcome-letter{background:linear-gradient(135deg,#fff 0%,#38bdf8 22%,#818cf8 45%,#c084fc 68%,#f472b6 90%,#67e8f9 100%) 0 0/250%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 20px #38bdf899)drop-shadow(0 0 45px #a855f773);text-shadow:0 0 35px #38bdf859;-webkit-background-clip:text;animation-name:welcomeLetter,welcomeGradientFlow}.theme-light .welcome-letter{background:linear-gradient(135deg,#0f172a 0%,#1e40af 25%,#4338ca 50%,#7c3aed 75%,#2563eb 100%) 0 0/250%;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 18px #2563eb59);-webkit-background-clip:text}@keyframes welcomeGradientFlow{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.welcome-letter-0{animation-name:welcomeFlyFromLeft;animation-delay:0s}.welcome-letter-1{animation-name:welcomeFlyFromTopLeft;animation-delay:90ms}.welcome-letter-2{animation-name:welcomeFlyFromBottom;animation-delay:.18s}.welcome-letter-3{animation-name:welcomeFlyFromTop;animation-delay:.27s}.welcome-letter-4{animation-name:welcomeFlyFromBottom;animation-delay:.36s}.welcome-letter-5{animation-name:welcomeFlyFromTopRight;animation-delay:.45s}.welcome-letter-6{animation-name:welcomeFlyFromRight;animation-delay:.54s}@keyframes welcomeFlyFromLeft{0%{opacity:0;filter:blur(8px);transform:translate(-180px)rotate(-16deg)scale(.45)}to{opacity:1;filter:blur();transform:translate(0)rotate(0)scale(1)}}@keyframes welcomeFlyFromTopLeft{0%{opacity:0;filter:blur(8px);transform:translate(-120px,-150px)rotate(14deg)scale(.45)}to{opacity:1;filter:blur();transform:translate(0)rotate(0)scale(1)}}@keyframes welcomeFlyFromBottom{0%{opacity:0;filter:blur(8px);transform:translateY(150px)scale(.45)}to{opacity:1;filter:blur();transform:translate(0)rotate(0)scale(1)}}@keyframes welcomeFlyFromTop{0%{opacity:0;filter:blur(8px);transform:translateY(-170px)rotate(-10deg)scale(.4)}to{opacity:1;filter:blur();transform:translate(0)rotate(0)scale(1)}}@keyframes welcomeFlyFromTopRight{0%{opacity:0;filter:blur(8px);transform:translate(120px,-150px)rotate(-14deg)scale(.45)}to{opacity:1;filter:blur();transform:translate(0)rotate(0)scale(1)}}@keyframes welcomeFlyFromRight{0%{opacity:0;filter:blur(8px);transform:translate(180px)rotate(16deg)scale(.45)}to{opacity:1;filter:blur();transform:translate(0)rotate(0)scale(1)}}.welcome-shimmer-sweep{pointer-events:none;background:linear-gradient(90deg,#fff0 0%,#fff9 50%,#fff0 100%);width:40%;height:140%;animation:.95s ease-in-out 1.7s both welcomeShimmer;position:absolute;top:-20%;left:-40%;transform:skew(-25deg)}@keyframes welcomeShimmer{0%{opacity:0;left:-45%}30%{opacity:1}to{opacity:0;left:145%}}.welcome-laser-line{width:min(520px,85vw);height:2px;animation:welcomeLaserExpand .8s var(--motion-ease-out) 1.75s both;transform-origin:50%;background:linear-gradient(90deg,#0000 0%,#38bdf8e6 25%,#c084fc 50%,#f472b6e6 75%,#0000 100%);margin:0 auto clamp(18px,3vh,26px);box-shadow:0 0 16px #38bdf8e6,0 0 32px #a855f799}@keyframes welcomeLaserExpand{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.welcome-brand-badge{animation:welcomeElementReveal .75s var(--motion-ease-out) 1.85s both;border-radius:30px;align-items:center;gap:12px;padding:8px 22px;display:inline-flex}.theme-dark .welcome-brand-badge{background:#0f172ab3;border:1px solid #93c5fd66;box-shadow:0 8px 32px #00000080,0 0 24px #3b82f64d,inset 0 0 16px #a855f72e}.theme-light .welcome-brand-badge{background:#ffffffe6;border:1px solid #2563eb40;box-shadow:0 6px 20px #0000000f,0 0 16px #2563eb26}.welcome-logo-icon{background:linear-gradient(135deg,#06b6d4 0%,#3b82f6 50%,#9333ea 100%);border-radius:11px;justify-content:center;align-items:center;width:36px;height:36px;animation:2.5s ease-in-out infinite alternate logoPulse;display:flex;box-shadow:0 0 18px #06b6d499}@keyframes logoPulse{0%{filter:brightness();transform:scale(1)}to{filter:brightness(1.2);transform:scale(1.06)}}.welcome-brand-text{letter-spacing:1.5px;font-size:clamp(14px,2.2vw,18px);font-weight:800}.theme-dark .welcome-brand-text{background:linear-gradient(135deg,#fff 0%,#cbd5e1 50%,#93c5fd 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.theme-light .welcome-brand-text{color:#0f172a}.welcome-brand-tag{letter-spacing:1px;border-radius:12px;padding:3px 9px;font-size:10px;font-weight:800}.theme-dark .welcome-brand-tag{color:#38bdf8;background:linear-gradient(135deg,#38bdf840 0%,#a855f740 100%);border:1px solid #93c5fd66}.theme-light .welcome-brand-tag{color:#2563eb;background:#2563eb1a;border:1px solid #2563eb40}.welcome-subtitle{letter-spacing:.5px;max-width:580px;animation:welcomeElementReveal .75s var(--motion-ease-out) 2.15s both;margin-top:16px;font-size:clamp(13px,2vw,16px);font-weight:500;line-height:1.6}.theme-dark .welcome-subtitle{color:#cbd5e1;text-shadow:0 0 18px #93c5fd4d}.theme-light .welcome-subtitle{color:#475569}.welcome-bottom-hint{animation:welcomeElementReveal .75s var(--motion-ease-out) 2.45s both;align-items:center;gap:10px;font-size:13.5px;display:flex;position:absolute;bottom:clamp(20px,4vh,40px)}.theme-dark .welcome-bottom-hint{color:#94a3b8}.theme-light .welcome-bottom-hint{color:#64748b}.welcome-hint-dot{background:#38bdf8;border-radius:50%;width:8px;height:8px;position:relative;box-shadow:0 0 10px #38bdf8}.welcome-hint-ping{border:2px solid #38bdf8;border-radius:50%;animation:2s cubic-bezier(0,0,.2,1) infinite hintPing;position:absolute;inset:-4px}@keyframes hintPing{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.8)}}@keyframes welcomeElementReveal{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=640px){.welcome-letter{letter-spacing:2px;font-size:clamp(34px,11vw,50px)}@keyframes welcomeFlyFromLeft{0%{opacity:0;transform:translate(-60px)scale(.6)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes welcomeFlyFromTopLeft{0%{opacity:0;transform:translate(-40px,-50px)scale(.6)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes welcomeFlyFromBottom{0%{opacity:0;transform:translateY(60px)scale(.6)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes welcomeFlyFromTop{0%{opacity:0;transform:translateY(-60px)scale(.6)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes welcomeFlyFromTopRight{0%{opacity:0;transform:translate(40px,-50px)scale(.6)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes welcomeFlyFromRight{0%{opacity:0;transform:translate(60px)scale(.6)}to{opacity:1;transform:translate(0)scale(1)}}}.scroll-reveal-box{transition-property:opacity,transform;transition-timing-function:var(--motion-ease-out);will-change:opacity, transform;position:relative}.scroll-reveal-box.reveal-up{opacity:0;transform:translateY(24px)}.scroll-reveal-box.reveal-left{opacity:0;transform:translate(-48px)}.scroll-reveal-box.reveal-right{opacity:0;transform:translate(48px)}.scroll-reveal-box.reveal-fade{opacity:0;transform:none}.scroll-reveal-box.is-revealed{opacity:1!important;transform:translate(0)!important}@media (width<=768px){.scroll-reveal-box.reveal-left{transform:translate(-20px)}.scroll-reveal-box.reveal-right{transform:translate(20px)}.scroll-reveal-box.reveal-up{transform:translateY(18px)}}.scroll-reveal-box.is-revealed:not(:hover){will-change:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.welcome-intro-overlay{display:none!important}.scroll-reveal-box,.scroll-reveal-box.reveal-up,.scroll-reveal-box.reveal-left,.scroll-reveal-box.reveal-right,.scroll-reveal-box.reveal-fade{opacity:1!important;transition:none!important;transform:none!important}.attendance-day-cell,.motion-slide-up,.motion-fade-in{transition:none!important;animation:none!important;transform:none!important}}.tryhard-hero-root{-webkit-user-select:none;user-select:none;background-color:#121f17;outline:none;flex-direction:column;justify-content:flex-end;width:100%;min-height:clamp(520px,50vw,680px);padding-top:clamp(64px,8vw,84px);display:flex;position:relative;overflow:hidden}.hero-background-viewport{z-index:1;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.hero-bg-slide{opacity:0;will-change:opacity, transform;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;transition:opacity 1.45s cubic-bezier(.2,.8,.2,1),transform 2.4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scale(1.025)}.hero-bg-slide.is-active{opacity:1;z-index:2;transform:scale(1)}.hero-gradient-scrim{z-index:3;pointer-events:none;background:radial-gradient(at 78% 40%,#121f1714 0%,#121f1780 100%),linear-gradient(90deg,#121f17db 0%,#121f17a8 42%,#121f1726 78%,#121f176b 100%),linear-gradient(#121f17cc 0%,#0000 22% 72%,#121f17fa 100%);position:absolute;inset:0}.hero-content-container{z-index:10;flex-direction:column;justify-content:flex-end;gap:clamp(24px,4vw,38px);width:100%;max-width:1200px;margin:0 auto;padding:0 clamp(20px,5vw,64px) clamp(36px,5vw,56px);display:flex;position:relative}.hero-quote-block{text-align:left;max-width:clamp(480px,60vw,760px)}.hero-tag-row{align-items:center;gap:14px;margin-bottom:14px;display:inline-flex}.hero-tag-text{letter-spacing:3px;color:var(--slide-accent,#dcc58e);text-transform:uppercase;font-family:Cinzel,Lora,serif;font-size:13px;font-weight:600}.hero-tag-line{background-color:var(--slide-accent,#dcc58e);opacity:.6;width:44px;height:1px}.hero-quote-text{color:#f4eedc;border:none;margin:0 0 14px;padding:0;font-family:Lora,Playfair Display,Georgia,serif;font-size:clamp(28px,4.2vw,48px);font-weight:500;line-height:1.28;animation:1.3s cubic-bezier(.2,.8,.2,1) forwards quoteGentleFade}.hero-quote-text.is-japanese{font-size:clamp(20px,2.6vw,30px);font-weight:500;line-height:1.6}.hero-quote-sub{color:#c5ccbf;max-width:640px;margin:0 0 10px;font-size:clamp(14px,1.6vw,16px);line-height:1.6}.hero-quote-author{color:#dcc58e;margin-bottom:8px;font-size:13px;font-style:italic}.hero-brand-subline{color:#c5ccbf;opacity:.85;font-size:14px;font-style:italic}.hero-controls-block{flex-direction:column;gap:14px;max-width:580px;display:flex}.hero-thumbnails-row{align-items:center;gap:10px;display:flex}.carousel-arrow-btn{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f4eedc;cursor:pointer;background:#14211ba6;border:1px solid #f4eedc40;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .3s;display:flex}.carousel-arrow-btn:hover{border-color:var(--slide-accent,#dcc58e);color:#fff;background:#dcc58e33;transform:scale(1.06)}.thumbnails-track{align-items:center;gap:8px;display:flex;overflow:hidden}.thumbnail-card{cursor:pointer;background-color:#1a2720;border:1px solid #f4eedc26;border-radius:5px;flex-shrink:0;width:clamp(68px,7.5vw,86px);height:clamp(46px,5.2vw,58px);padding:0;transition:transform .3s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.thumbnail-card:hover{border-color:#f4eedc80;transform:translateY(-2px)}.thumbnail-card.is-active{border:1.8px solid var(--slide-accent,#dcc58e);transform:scale(1.04);box-shadow:0 4px 14px #00000073}.thumbnail-img{object-fit:cover;width:100%;height:100%;display:block}.hero-meta-row{align-items:center;gap:16px;display:flex}.hero-dots-wrap{align-items:center;gap:6px;display:flex}.hero-dot{cursor:pointer;background-color:#f4eedc4d;border-radius:50%;width:5px;height:5px;transition:all .3s}.hero-dot:hover{background-color:#f4eedcb3}.hero-dot.is-active{background-color:var(--slide-accent,#dcc58e);border-radius:4px;width:14px}.hero-counter-label{color:#c5ccbf;letter-spacing:1px;font-family:Plus Jakarta Sans,monospace;font-size:12.5px}.hero-play-pause-btn{color:#f4eedcb3;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:6px;margin-left:auto;padding:2px 6px;font-size:12px;transition:all .25s;display:inline-flex}.hero-play-pause-btn:hover{color:#f4eedc;background:#ffffff0f}.hero-progress-track{background-color:#f4eedc1f;border-radius:1px;width:100%;height:2px;position:relative;overflow:hidden}.hero-progress-fill{background-color:var(--slide-accent,#dcc58e);transform-origin:0;will-change:transform;width:100%;height:100%;transform:scaleX(0)}@keyframes quoteGentleFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes dustFloat{0%{transform:translate(0)scale(.9)}50%{transform:translate(14px,-18px)scale(1.15)}to{transform:translate(-10px,-34px)scale(.95)}}@keyframes atmosphereBreathe{0%{opacity:.65}to{opacity:.95}}@keyframes atmosphereWarmGlow{0%{opacity:.7;transform:scale(.98)}to{opacity:1;transform:scale(1.02)}}@keyframes mistDriftSlow{0%{transform:translate(-40px)}to{transform:translate(40px)}}@keyframes mistDriftSlow2{0%{transform:translate(35px)}to{transform:translate(-35px)}}@keyframes cloudsFloat{0%{transform:translate(-30px)}to{transform:translate(30px)}}@keyframes rainFall{0%{opacity:0;transform:translateY(-20px)rotate(12deg)}30%{opacity:.22}80%{opacity:.2}to{opacity:0;transform:translateY(600px)rotate(12deg)}}@keyframes atmosphereHorizonGlow{0%{opacity:.7}to{opacity:1}}@keyframes leafSwaySlow{0%{transform:rotate(-1.2deg)translateY(0)}to{transform:rotate(1.2deg)translateY(4px)}}@media (width<=768px){.hero-quote-block,.hero-controls-block{max-width:100%}.thumbnails-track{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.thumbnails-track::-webkit-scrollbar{display:none}.hero-dots-wrap{display:none}.hero-tag-text{letter-spacing:2px;font-size:11.5px}}@media (prefers-reduced-motion:reduce){.hero-bg-slide,.hero-quote-text,.atmosphere-dawn,.atmosphere-lamp,.dust-particle,.mist-band-1,.mist-band-2,.rain-streak,.fern-shadow-left,.fern-shadow-right{transition:none!important;animation:none!important;transform:none!important}}.hero-quote-text,.hero-typewriter-sub{position:relative}.hero-text-reserve{visibility:hidden;display:block}.hero-text-typed{position:absolute;inset:0}.hero-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-typewriter-cursor{vertical-align:-.02em;background:var(--slide-accent);width:2px;height:.85em;margin-left:5px;animation:1.1s ease-in-out infinite alternate heroCursorBreathe;display:inline-block}.hero-quote-author{opacity:0;transition:opacity 1s}.hero-quote-author.is-revealed{opacity:1}.tryhard-hero-root{-webkit-user-select:auto;user-select:auto}.hero-background-viewport,.thumbnails-track{-webkit-user-select:none;user-select:none}.hero-tag-text{letter-spacing:2.6px;font-family:Plus Jakarta Sans,Segoe UI,sans-serif}.hero-brand-subline,.hero-quote-sub,.hero-play-pause-btn{font-family:Plus Jakarta Sans,Segoe UI,sans-serif}.hero-dot{border:0;padding:0;display:block;position:relative}.hero-dot:after{content:"";position:absolute;inset:-7px -3px}.hero-play-pause-btn{min-height:44px}.hero-counter-label{font-variant-numeric:tabular-nums}.carousel-arrow-btn{width:40px;height:40px}.tryhard-hero-root[data-intro-pending=true] .hero-content-container{opacity:0}.tryhard-hero-root[data-intro-pending=false] .hero-tag-row{animation:1.25s .15s both quoteGentleFade}.tryhard-hero-root[data-intro-pending=false] .hero-controls-block{animation:1.4s .45s both quoteGentleFade}.tryhard-hero-root[data-atmosphere-paused=true] .slide-atmosphere-container *{animation-play-state:paused!important}.slide-atmosphere-container .dust-particle{animation-duration:28s!important}.slide-atmosphere-container .mist-band-1{animation-duration:46s!important}.slide-atmosphere-container .mist-band-2{animation-duration:56s!important}.slide-atmosphere-container .rain-streak{animation-duration:4.8s!important}@keyframes heroCursorBreathe{0%{opacity:.25}to{opacity:1}}@media (prefers-reduced-motion:reduce){.tryhard-hero-root[data-intro-pending=false] .hero-tag-row,.tryhard-hero-root[data-intro-pending=false] .hero-controls-block,.hero-typewriter-cursor{animation:none!important}.hero-quote-author{transition:none}.hero-typewriter-cursor{display:none}}.landing-section-platforms{background:var(--landing-surface);color:var(--landing-text);padding:clamp(52px,7vw,88px) clamp(20px,5vw,64px);scroll-margin-top:80px}.platforms-container{max-width:1160px;margin:auto}.platforms-heading{text-align:center;max-width:680px;margin:0 auto 36px}.platforms-heading h2{color:var(--landing-text);margin-bottom:14px;font:500 clamp(27px,3.2vw,39px)/1.35 Lora,Georgia,serif}.platforms-heading p{color:var(--landing-muted);font-size:15px;line-height:1.8}.platforms-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.platforms-grid .scroll-reveal-box{min-width:0;display:flex}.platform-card{border:1px solid var(--landing-border);background:var(--landing-bg);border-radius:12px;flex-direction:column;width:100%;display:flex;overflow:hidden}.platform-image{aspect-ratio:4/3;background:#203328;position:relative;overflow:hidden}.platform-image img{width:300%;max-width:none;height:auto;transition:transform 1.5s cubic-bezier(.2,.8,.2,1);position:absolute;top:50%;transform:translateY(-50%)}.platform-image:after{content:"";pointer-events:none;opacity:.2;background:linear-gradient(110deg,#0000 20%,#eed28c2b,#0000 80%);transition:transform 1.7s,opacity 1.2s;position:absolute;inset:0;transform:translate(-60%)}.platform-card-content{flex-direction:column;flex:1;padding:24px;display:flex}.platform-card-icon{color:var(--landing-muted);margin-bottom:12px;font-size:21px}.platform-card h3{color:var(--landing-text);margin-bottom:12px;font-size:17px;font-weight:600;line-height:1.55}.platform-card p{color:var(--landing-muted);margin-bottom:22px;font-size:14px;line-height:1.85}.platform-card button{border:0;border-top:1px solid var(--landing-border);width:100%;min-height:44px;color:var(--landing-text);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding:12px 0 0;font:500 13px/1.6 Plus Jakarta Sans,Segoe UI,sans-serif;display:flex}@media (hover:hover){.platform-card:hover .platform-image img{transform:translateY(-50%)scale(1.035)}.platform-card:hover .platform-image:after{opacity:.7;transform:translate(40%)}}@media (width<=900px){.platforms-grid{grid-template-columns:minmax(0,1fr);max-width:580px;margin:auto}.platform-image{aspect-ratio:16/9}}@media (prefers-reduced-motion:reduce){.platform-image img,.platform-image:after{transition:none}.platform-card:hover .platform-image img{transform:translateY(-50%)}}.landing-modal{--modal-surface:#1c2d23;--modal-card:#22372a;--modal-text:#f4eedc;--modal-muted:#c8d3c2;--modal-border:#526658;--modal-primary:#456650;color:var(--modal-text);font-family:Plus Jakarta Sans,Segoe UI,sans-serif}.landing-modal-light{--modal-surface:#f8f5eb;--modal-card:#edf0e4;--modal-text:#26382c;--modal-muted:#55664f;--modal-border:#c3ccbb}.landing-modal .ant-modal-content{border:1px solid var(--modal-border);background:var(--modal-surface);border-radius:18px;overflow:hidden;box-shadow:0 24px 80px #05140b59;padding:0!important}.landing-modal .ant-modal-header{margin:0;padding:0}.landing-modal .ant-modal-body{color:var(--modal-text);padding:26px 30px 30px}.landing-modal .ant-modal-close{color:#f4eedc;background:#13231973;border:1px solid #f4eedc33;border-radius:50%;top:14px;right:14px}.landing-modal .ant-modal-close:hover{color:#fff;background:#132319cc}.landing-modal-visual{color:#f4eedc;background:linear-gradient(100deg,#112317e0,#1123176b),url(/images/landing/project-forest.jpg) 50% 40%/cover;padding:30px 30px 26px;position:relative}.landing-modal-kicker{color:#dfcb96;letter-spacing:2.6px;margin-bottom:14px;font-size:10px;font-weight:500;display:block}.landing-modal-visual h2{color:#f4eedc;margin:0 0 8px;font-family:Lora,Georgia,serif;font-size:clamp(25px,3vw,31px);font-weight:500;line-height:1.3}.landing-modal-visual p{color:#dbe4d2;max-width:540px;margin:0;font-size:13px;line-height:1.7}.landing-modal .ant-form-item-label>label{color:var(--modal-text);font-weight:500}.landing-modal .ant-input,.landing-modal .ant-input-affix-wrapper{font-family:inherit}.landing-modal .ant-input-prefix{color:var(--modal-muted);margin-inline-end:10px}.landing-modal .ant-input-affix-wrapper{border-color:var(--modal-border);min-height:48px}.landing-modal .ant-input-password-icon{color:var(--modal-muted)}.landing-modal .ant-btn-primary{color:#fffaf0;background:var(--modal-primary);border-color:var(--modal-primary);box-shadow:none;font-weight:600}.landing-modal .ant-btn-primary:not(:disabled):hover{color:#fffaf0;background:#36523f;border-color:#36523f}.landing-login-submit{min-height:50px;margin-top:6px}.landing-modal-note{border-top:1px solid var(--modal-border);color:var(--modal-muted);align-items:flex-start;gap:9px;margin-top:22px;padding-top:18px;font-size:12px;line-height:1.7;display:flex}.landing-modal-note .anticon{color:var(--modal-muted);padding-top:3px}.landing-modal .ant-alert{margin-bottom:20px}.landing-download-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.landing-download-card{border:1px solid var(--modal-border);background:var(--modal-card);border-radius:12px;flex-direction:column;gap:14px;min-width:0;padding:22px;display:flex}.landing-download-card.is-selected{border-color:#94a57e}.landing-download-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.landing-download-icon{color:var(--modal-text);font-size:28px}.landing-download-status{color:var(--modal-text);border:1px solid var(--modal-border);border-radius:20px;padding:4px 8px;font-size:10px;line-height:1.5;display:inline-block}.landing-download-card h3{color:var(--modal-text);margin:0;font-size:18px;font-weight:600}.landing-download-card p{color:var(--modal-muted);margin:0;font-size:13px;line-height:1.75}.landing-download-file{color:var(--modal-muted);overflow-wrap:anywhere;border-top:1px solid var(--modal-border);margin-top:auto;padding-top:12px;font-size:11px;line-height:1.6}.landing-download-card .ant-btn{white-space:normal;width:100%;height:auto;min-height:44px;padding:10px 12px}.landing-download-footer{justify-content:flex-end;margin-top:22px;display:flex}.landing-download-footer .ant-btn{border-color:var(--modal-border);color:var(--modal-text);background:0 0}.landing-modal-note a{color:var(--modal-text);text-underline-offset:3px;overflow-wrap:anywhere;text-decoration:underline}@media (width<=640px){.landing-modal .ant-modal-body{padding:22px 20px}.landing-modal-visual{padding:28px 22px 24px}.landing-modal-kicker{padding-right:34px}.landing-download-grid{grid-template-columns:minmax(0,1fr)}.landing-download-card{gap:12px;padding:18px}}@media (prefers-reduced-motion:reduce){.landing-modal *{transition:none!important;animation:none!important}}.landing-modal{--modal-field:#16251c}.landing-modal-light{--modal-field:#fffdf6}.landing-modal .ant-input-affix-wrapper{background:var(--modal-field)!important;color:var(--modal-text)!important}.landing-modal .ant-input-affix-wrapper .ant-input{color:var(--modal-text)!important;background:0 0!important}.landing-modal .ant-input::placeholder{color:var(--modal-muted)!important}.landing-modal .ant-input-affix-wrapper-focused{box-shadow:0 0 0 3px #708f772e!important}.tryhard-landing{--landing-font-body:"Plus Jakarta Sans", "Segoe UI", sans-serif;--landing-bg:#14211b;--landing-surface:#1c2c23;--landing-text:#f4eedc;--landing-muted:#c5ccbf;--landing-border:#efe8d429;--slide-accent:#dcc58e;background-color:var(--landing-bg);width:100%;min-height:100vh;color:var(--landing-text);font-family:var(--landing-font-body);flex-direction:column;transition:background-color .3s,color .3s;display:flex;position:relative;overflow-x:hidden}.tryhard-landing[data-landing-theme=light]{--landing-font-body:"Plus Jakarta Sans", "Segoe UI", sans-serif;--landing-bg:#f3f0e5;--landing-surface:#e6ebdd;--landing-text:#26382c;--landing-muted:#52624e;--landing-border:#3046312e;--slide-accent:#5b7562}.tryhard-landing .header-nav-link:hover,.tryhard-landing .header-lang-btn:hover{color:var(--slide-accent,#dcc58e)!important}.tryhard-landing .btn-header-login:hover{transform:translateY(-1px);background-color:#4a6652e6!important;border-color:#b4d2be99!important}.tryhard-landing .landing-theme-toggle{background:#f4eedc12!important;border-color:#f4eedc3d!important;border-radius:50%!important}.tryhard-landing .landing-theme-toggle .anticon{color:#f4eedc!important}.tryhard-landing .header-nav-link:hover,.tryhard-landing .header-lang-btn:hover{color:#dcc58e!important}.tryhard-landing .btn-github-pill:hover{transform:translateY(-2px);background-color:#f4eedc!important;box-shadow:0 6px 18px #00000059!important}.tryhard-landing .btn-login-pill:hover{transform:translateY(-2px);background-color:#ffffff24!important;border-color:#ffffff73!important}.tryhard-landing .btn-download-pill:hover{transform:translateY(-2px);background-color:#587a62bf!important;border-color:#a5cdb2a6!important}@media (hover:hover){.tryhard-landing .author-frame-container:hover .author-frame-inner{transform:scale(1.03)}}.tryhard-landing .contact-row-item:hover{background-color:#f4eedc0a}.tryhard-landing .contact-row-item:hover .anticon-arrow-right{transition:transform .25s,color .25s;transform:translate(4px);color:var(--slide-accent,#dcc58e)!important}@media (width<=900px){.tryhard-landing .header-status-text{display:none}}@media (width<=1100px){.tryhard-landing .header-desktop-nav{display:none!important}.tryhard-landing .header-mobile-trigger{display:block!important}}.tryhard-landing .header-nav-link,.tryhard-landing .btn-header-login,.tryhard-landing .landing-header-bar>div:first-child{white-space:nowrap}.tryhard-landing .landing-header-bar{font-family:var(--landing-font-body)}@media (width<=768px){.tryhard-landing .focus-col-item{border-bottom:1px solid var(--landing-border,#efe8d424);border-right:none!important}.tryhard-landing .focus-col-item:last-child{border-bottom:none}}@media (prefers-reduced-motion:reduce){.tryhard-landing *{transition:none!important;animation:none!important}}.tryhard-landing .landing-section-project,.tryhard-landing .landing-section-contact{--landing-text:#f4eedc;--landing-muted:#d5dfcf;--landing-border:#efe8d447;--slide-accent:#dcc58e;color:var(--landing-text);background:#14211b}.tryhard-landing h2,.tryhard-landing h3{text-wrap:balance}.tryhard-landing .landing-section-about,.tryhard-landing .landing-section-platforms,.tryhard-landing #focus-areas{transition:background-color .3s,color .3s}.tryhard-landing button,.tryhard-landing a{-webkit-tap-highlight-color:transparent}.tryhard-landing :focus-visible{outline-offset:5px;outline:2px solid #b9c9a6}.tryhard-landing .contact-row-item{flex-wrap:wrap;gap:14px}.tryhard-landing .contact-row-item a{overflow-wrap:anywhere}.tryhard-landing .fern-shadow-left{animation-duration:34s!important}.tryhard-landing .fern-shadow-right{animation-duration:42s!important}@media (width<=640px){.tryhard-landing .landing-section-project>div:last-child,.tryhard-landing .landing-section-about>div:last-child{grid-template-columns:minmax(0,1fr)!important}.tryhard-landing .contact-row-item>div{flex-wrap:wrap;min-width:0}}.tryhard-landing #about-me,.tryhard-landing #platforms,.tryhard-landing #featured-project,.tryhard-landing #contact-connect{scroll-margin-top:88px}.welcome-intro-overlay.welcome-forest.theme-dark,.welcome-intro-overlay.welcome-forest.theme-light{color:#f4eedc;background:#14211b;transition:opacity 1s,transform 1s}.welcome-forest-background{object-fit:cover;object-position:center 42%;width:100%;height:100%;animation:5.4s ease-out both welcomeForestArrival;position:absolute;inset:0}.welcome-forest-scrim{background:radial-gradient(#0e1c1491,#0a150fe6);position:absolute;inset:0}.welcome-forest .welcome-cyber-grid,.welcome-forest .welcome-aurora-mesh{display:none}.welcome-forest .welcome-content-container{gap:0}.welcome-author-portrait{flex-direction:column;align-items:center;gap:14px;margin-bottom:30px;animation:1.4s ease-out .8s both welcomeElementReveal;display:flex}.welcome-author-portrait img{aspect-ratio:1;object-fit:cover;object-position:center 42%;border:1px solid #e8d5a2b8;border-radius:50%;width:clamp(82px,12vw,116px);box-shadow:0 12px 38px #00000052}.welcome-author-portrait span{color:#e3dfce;letter-spacing:.8px;font:500 13px/1.5 Plus Jakarta Sans,Segoe UI,sans-serif}.welcome-forest .welcome-letter{-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 18px #00000040);text-shadow:none;background:linear-gradient(120deg,#f7f0dd,#dec68a 55%,#eff1de);-webkit-background-clip:text;background-clip:text;font-family:Lora,Georgia,serif;font-size:clamp(34px,9vw,94px);font-weight:600;animation-duration:1.6s}.welcome-forest .welcome-letter-0{animation-name:welcomeFlyFromLeft;animation-delay:0s}.welcome-forest .welcome-letter-1{animation-name:welcomeFlyFromTopLeft;animation-delay:.18s}.welcome-forest .welcome-letter-2{animation-name:welcomeFlyFromBottom;animation-delay:.36s}.welcome-forest .welcome-letter-3{animation-name:welcomeFlyFromTop;animation-delay:.54s}.welcome-forest .welcome-letter-4{animation-name:welcomeFlyFromBottom;animation-delay:.72s}.welcome-forest .welcome-letter-5{animation-name:welcomeFlyFromTopRight;animation-delay:.9s}.welcome-forest .welcome-letter-6{animation-name:welcomeFlyFromRight;animation-delay:1.08s}.welcome-forest .welcome-shimmer-sweep{animation-duration:1.4s;animation-delay:2.8s}.welcome-forest .welcome-laser-line{background:linear-gradient(90deg,#0000,#d9c48c,#f4eedc,#d9c48c,#0000);height:1px;animation-duration:1.2s;animation-delay:2.8s;box-shadow:0 0 16px #dcc58e33}.welcome-forest .welcome-brand-badge{background:#1b2d22bf;border:1px solid #dcc58e4d;animation-duration:1.1s;animation-delay:3.4s;box-shadow:0 10px 28px #0003}.welcome-forest .welcome-logo-icon{box-shadow:none;background:#45634d;animation-duration:4s}.welcome-forest .welcome-brand-text{-webkit-text-fill-color:#f4eedc;color:#f4eedc;background:0 0;font-family:Plus Jakarta Sans,Segoe UI,sans-serif;font-weight:600}.welcome-forest .welcome-brand-tag{color:#e6d4a5;background:#dcc58e1a;border-color:#dcc58e40}.welcome-forest .welcome-subtitle{color:#d5dfcf;text-shadow:none;font-family:Plus Jakarta Sans,Segoe UI,sans-serif;animation-duration:1.1s;animation-delay:4s}.welcome-forest .welcome-bottom-hint{color:#d5dfcf;text-align:center;justify-content:center;width:calc(100% - 40px);animation-duration:.8s;animation-delay:4.5s}.welcome-forest .welcome-skip-btn{color:#f4eedc!important;background:#1b2d22a6!important;border-color:#dcc58e59!important}.welcome-forest .welcome-hint-dot{box-shadow:none;background:#dcc58e}.welcome-forest .welcome-hint-ping{border-color:#dcc58e;animation-duration:3.5s}@keyframes welcomeForestArrival{0%{opacity:.2;transform:scale(1.04)}to{opacity:.85;transform:scale(1)}}@media (width<=640px){.welcome-author-portrait{margin-bottom:24px}.welcome-forest .welcome-brand-badge{gap:8px;padding:8px 14px}.welcome-forest .welcome-brand-tag{display:none}.welcome-forest .welcome-subtitle{max-width:320px;padding:0 14px;font-size:12px}}@media (prefers-reduced-motion:reduce){.welcome-forest *{transition:none!important;animation:none!important}}
