@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-ext-400-normal-Xqov12YL.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-400-normal-DRPPeomZ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-cyrillic-400-normal-BPq32Q8K.woff2) format("woff2"),url(/assets/montserrat-cyrillic-400-normal-jEs4Tk-Z.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-vietnamese-400-normal-D4oHqQTd.woff2) format("woff2"),url(/assets/montserrat-vietnamese-400-normal-BeEscFYY.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-ext-400-normal-B8bwfy6Y.woff2) format("woff2"),url(/assets/montserrat-latin-ext-400-normal-BffdBkAA.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/montserrat-latin-400-normal-BLhwKU8k.woff2) format("woff2"),url(/assets/montserrat-latin-400-normal-xItZbAXg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-ext-500-normal-11xBT7e1.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-500-normal-DOzfAZ45.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-cyrillic-500-normal-T0SG181k.woff2) format("woff2"),url(/assets/montserrat-cyrillic-500-normal-CyGtXmN9.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-vietnamese-500-normal-NT-t8RG1.woff2) format("woff2"),url(/assets/montserrat-vietnamese-500-normal-DpeZlV_K.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-ext-500-normal-BKtbrd6n.woff2) format("woff2"),url(/assets/montserrat-latin-ext-500-normal-DWPqqZgs.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/montserrat-latin-500-normal-DRFEGfly.woff2) format("woff2"),url(/assets/montserrat-latin-500-normal-Dok2oTci.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-ext-700-normal-MyDreaeu.woff2) format("woff2"),url(/assets/montserrat-cyrillic-ext-700-normal-D-Mk2xRJ.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-cyrillic-700-normal-D-Pqjtdp.woff2) format("woff2"),url(/assets/montserrat-cyrillic-700-normal-BvLYcGP1.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-vietnamese-700-normal-C0x1De3p.woff2) format("woff2"),url(/assets/montserrat-vietnamese-700-normal-DnwGT2D9.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-ext-700-normal-BOP2Nhf0.woff2) format("woff2"),url(/assets/montserrat-latin-ext-700-normal-DdDFr05Z.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/montserrat-latin-700-normal-BdjcYUrC.woff2) format("woff2"),url(/assets/montserrat-latin-700-normal-BWkrl476.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-body: #0d1117;--bg-card: #161b22;--bg-card-hover: #21262d;--bg-input: #0d1117;--bg-overlay: rgba(1, 4, 9, .8);--bg-header: rgba(13, 17, 23, .85);--bg-glass: rgba(22, 27, 34, .7);--text-main: #c9d1d9;--text-muted: #8b949e;--text-secondary: var(--text-muted);--text-inverse: #0d1117;--text-link: #58a6ff;--border-subtle: #30363d;--border-default: #21262d;--border-highlight: #58a6ff;--primary: #58a6ff;--primary-hover: #79c0ff;--primary-alpha-10: rgba(88, 166, 255, .1);--primary-alpha-20: rgba(88, 166, 255, .2);--success: #238636;--success-hover: #2ea043;--danger: #da3633;--danger-hover: #f85149;--error: #cf222e;--warning: #d29922;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .6);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .3);--shadow-glow: 0 0 10px rgba(88, 166, 255, .3);--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--font-main: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--header-height-desktop: 4.5625rem;--header-height-mobile: 4.0625rem;--max-width: 61.875rem;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--radius-full: 9999px}[data-theme=light]{--bg-body: #eef1f5;--bg-card: #ffffff;--bg-card-hover: #f8f9fb;--bg-input: #f6f8fa;--bg-overlay: rgba(255, 255, 255, .9);--bg-header: rgba(238, 241, 245, .85);--bg-glass: rgba(255, 255, 255, .6);--text-main: #1c2128;--text-muted: #57606a;--text-secondary: var(--text-muted);--text-inverse: #ffffff;--text-link: #0969da;--border-subtle: #d0d7de;--border-default: #d8dee4;--border-highlight: #0969da;--primary: #0969da;--primary-hover: #218bff;--primary-alpha-10: rgba(9, 105, 218, .08);--primary-alpha-20: rgba(9, 105, 218, .15);--success: #1a7f37;--success-hover: #2da44e;--danger: #cf222e;--danger-hover: #a40e26;--error: #cf222e;--warning: #9a6700;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .03);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .05);--shadow-glow: 0 0 15px rgba(9, 105, 218, .15)}body{margin:0;font-family:var(--font-main);background-color:var(--bg-body);background:radial-gradient(circle at 50% 0%,var(--bg-card) 0%,var(--bg-body) 100%);background-attachment:fixed;color:var(--text-main);user-select:none;-webkit-user-select:none;--cache-bust: 2;overflow-x:hidden;position:relative;width:100%}input,textarea,[contenteditable=true]{user-select:text;-webkit-user-select:text}img{-webkit-user-drag:none}html{font-size:90%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height-desktop) + 1.25rem);overflow-x:hidden;max-width:100%}@media(max-width:1024px){html{scroll-padding-top:calc(var(--header-height-mobile) + .625rem)}}::-webkit-scrollbar{width:.625rem}::-webkit-scrollbar-track{background:var(--bg-body)}::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:.3125rem}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.section-container{padding:0 var(--spacing-lg) var(--spacing-2xl) var(--spacing-lg);margin:0 auto;width:100%;max-width:var(--max-width)}.section-title{font-size:clamp(2rem,4vw,3rem);font-weight:700;margin-bottom:var(--spacing-lg);color:var(--primary);text-align:center;letter-spacing:-.02em;text-shadow:var(--shadow-glow);position:relative;padding-bottom:1.25rem}.section-title:not(.no-terminal-cursor):after{content:"_";display:inline-block;vertical-align:baseline;margin-left:.25rem;width:.8em;animation:blink 1s step-end infinite;color:var(--primary);opacity:1}.section-description{font-size:clamp(1rem,1.2vw,1.15rem);line-height:1.7;color:var(--text-main);text-align:center;opacity:.9;margin-bottom:var(--spacing-xl)}.app-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(18.75rem,1fr));gap:var(--spacing-xl)}.app-grid-2{grid-template-columns:repeat(auto-fill,minmax(28.125rem,1fr))}@media(max-width:1024px){.app-grid,.app-grid-2{grid-template-columns:repeat(auto-fill,minmax(18.75rem,1fr))}}@media(max-width:768px){.section-container{padding:0 var(--spacing-md) var(--spacing-2xl) var(--spacing-md)}.app-grid,.app-grid-2{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(17.5rem,1fr))}}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.app-btn{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;border-radius:.5rem;font-size:.95rem;font-weight:500;line-height:1.5;cursor:pointer;transition:all .2s ease;border:1px solid transparent;text-decoration:none;font-family:inherit}.app-btn:disabled{opacity:.6;cursor:not-allowed}.app-btn-primary{background-color:var(--primary);color:var(--text-inverse);font-weight:600;border:none}.app-btn-primary:hover:not(:disabled){background-color:var(--primary-hover);filter:brightness(1.1)}.app-btn-danger{background-color:var(--danger);color:#fff;border:none}.app-btn-danger:hover:not(:disabled){background-color:var(--danger-hover)}.app-btn-small{padding:.375rem .75rem;font-size:var(--text-xs);height:2rem}.app-form-group{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.form-group-label{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.85rem;font-weight:600}.app-input,.app-textarea{width:100%;padding:var(--spacing-sm);border-radius:.375rem;border:1px solid var(--border-subtle);background-color:var(--bg-card);color:var(--text-main);font-family:inherit;font-size:var(--text-base);transition:border-color .2s ease,box-shadow .2s ease}.app-input:focus,.app-textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 .125rem var(--primary-alpha-20)}.app-textarea{resize:vertical;min-height:60px}.section-admin-form{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.5rem;padding:var(--spacing-lg);margin-top:var(--spacing-xl)}.image-preview-container{margin-bottom:.5rem;position:relative;width:fit-content}.image-preview{max-width:12.5rem;max-height:9.375rem;border-radius:.5rem;border:1px solid var(--border-subtle);object-fit:contain;background:var(--bg-card-hover)}.remove-image-btn{position:absolute;top:-.5rem;right:-.5rem;background:var(--error);color:#fff;border:none;border-radius:50%;width:1.5rem;height:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.875rem;box-shadow:0 .125rem .25rem #0003}.file-input-label{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;background:var(--primary);border:none;color:#fff;padding:.5rem 1rem;border-radius:.375rem;font-size:.9rem;font-weight:500;transition:background-color .2s ease}.file-input-label:hover{background-color:var(--primary-hover)}.form-label-muted{display:block;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem}.form-group-row{display:flex;gap:.625rem;align-items:center}.checkbox-group{display:flex;align-items:center}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem;color:var(--text-main);-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary);cursor:pointer}.form-row{display:flex;gap:var(--spacing-md);align-items:flex-start}.form-footer-block{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.form-actions{display:flex;gap:.75rem;margin-left:auto}.form-avatar-col{display:flex;flex-direction:column;align-items:center;gap:.5rem}.form-avatar-preview{width:4rem;height:4rem;border-radius:50%;object-fit:cover;border:.125rem solid var(--border-subtle)}.form-notice{text-align:center;font-size:.8rem;color:var(--text-secondary);margin-top:.5rem}.form-readonly-value{padding:.5rem .75rem;background:var(--bg-body);border:1px solid var(--border-subtle);border-radius:.375rem;color:var(--text-secondary);font-size:.95rem}.admin-create-toggle{text-align:center;margin-top:2rem}.admin-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;width:100%}.admin-form-title{margin:0}.admin-form-close-btn{background:transparent;border:1px solid var(--text-secondary);padding:.25rem .5rem;font-size:.8rem;color:inherit;cursor:pointer;border-radius:.25rem;transition:all .2s ease}.admin-form-close-btn:hover{background:#ffffff1a;border-color:var(--text-primary)}.select-with-action,.input-with-action{display:flex;gap:.5rem;align-items:center}.select-with-action select,.input-with-action input{flex:1}.app-btn-icon{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;background:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:.375rem;cursor:pointer;color:var(--text-main);font-size:1.2rem;transition:all .2s}.app-btn-icon:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.form-tabs{display:flex;gap:.5rem;margin-bottom:var(--spacing-md)}.form-tab{background:transparent;border:1px solid var(--border-subtle);color:var(--text-muted);padding:.375rem 1rem;border-radius:.375rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s ease}.form-tab:hover{background:var(--bg-card-hover);color:var(--text-main)}.form-tab.active{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.app-card{background-color:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;border:1px solid var(--border-subtle);display:flex;flex-direction:column;height:100%;position:relative}.app-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:var(--border-highlight);z-index:10}.app-card-image{width:100%;height:11.25rem;object-fit:cover;object-position:center;display:block;border-bottom:1px solid var(--border-subtle);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg)}.app-card-content{padding:var(--spacing-md);flex-grow:1;display:flex;flex-direction:column}.app-card-title{margin:0 0 var(--spacing-sm) 0;font-size:var(--text-lg);color:var(--primary);font-weight:500;line-height:1.2}.app-card-subtitle{font-size:var(--text-sm);color:var(--text-muted);font-weight:500;margin-bottom:var(--spacing-sm)}.app-card-description{color:var(--text-main);font-size:.95rem;line-height:1.4;margin:0;flex-grow:1}.app-card-footer{padding:var(--spacing-md);border-top:1px solid var(--border-subtle);display:flex;justify-content:flex-end;gap:var(--spacing-sm);margin-top:auto}.card-date-badge{flex:0 0 auto;width:fit-content;white-space:nowrap;text-align:right;font-size:.75rem;color:var(--text-muted);background-color:var(--bg-card-hover);padding:2px 8px;border-radius:var(--radius-sm);line-height:normal;margin-top:2px}.card-description-row{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem}.description-icon{flex-shrink:0;margin-top:.2rem;opacity:.7;color:var(--text-secondary)}html{scroll-behavior:smooth;scroll-padding-top:var(--header-height-desktop)}.section-wrapper{width:100%;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0rem 1rem 4rem}#about.section-wrapper{padding-top:calc(var(--header-height-desktop) + .5rem)}@media(max-width:1024px){#about.section-wrapper{padding-top:calc(var(--header-height-mobile) + 1rem)}html{scroll-padding-top:var(--header-height-mobile)}.section-wrapper{padding-top:0;padding-bottom:0}}.section-wrapper>div{width:100%;max-width:var(--max-width)}.home-auth-cta{display:flex;justify-content:center;margin-top:1.25rem}.page-loader-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;background-color:var(--bg-body);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:opacity .6s cubic-bezier(.16,1,.3,1),backdrop-filter .6s ease;display:flex;align-items:center;justify-content:center;pointer-events:all}.page-loader-overlay.hidden{opacity:0;pointer-events:none;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}.reveal-wrapper{position:relative;display:flex;flex-direction:column;justify-content:center}.reveal-wrapper.w-full{width:100%}.reveal-content{opacity:0;will-change:opacity,transform}.stagger-child{opacity:0;transform:translateY(1.25rem);transition:opacity .5s ease,transform .5s ease}.visible .stagger-child{opacity:1;transform:translateY(0)}.fade-text{display:block;transition:opacity .2s ease}.fade-in{opacity:1}.fade-out{opacity:0}.terminal-window{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.5rem;box-shadow:var(--shadow-xl);width:100%;max-width:100%;margin:2.5rem auto;overflow:hidden;font-family:Fira Code,Roboto Mono,monospace;text-align:left}.terminal-header{background-color:var(--bg-card-hover);padding:.625rem .9375rem;display:flex;align-items:center;border-bottom:1px solid var(--border-subtle)}.terminal-buttons{display:flex;gap:.5rem}.terminal-button{width:.75rem;height:.75rem;border-radius:50%}.terminal-button.red{background-color:#ff5f56}.terminal-button.yellow{background-color:#ffbd2e}.terminal-button.green{background-color:#27c93f}.terminal-title{color:var(--text-muted);font-size:.8125rem;margin-left:1.25rem}.terminal-body{padding:1.5rem;min-height:21.875rem;max-height:80vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border-subtle) var(--bg-card)}.terminal-body::-webkit-scrollbar{width:.5rem}.terminal-body::-webkit-scrollbar-track{background:var(--bg-card)}.terminal-body::-webkit-scrollbar-thumb{background-color:var(--border-subtle);border-radius:.25rem;border:.125rem solid var(--bg-card)}.terminal-line{margin-bottom:.5rem;font-size:.875rem;line-height:1.6}.terminal-prompt{color:var(--primary);margin-right:.625rem;font-weight:700}.terminal-command{color:var(--text-main)}.terminal-cursor{display:inline-block;width:.5rem;height:1.125rem;background-color:var(--primary);margin-left:.25rem;vertical-align:middle;animation:blink 1s step-end infinite}.terminal-response{color:var(--success);display:block;margin-top:.625rem;padding-left:.625rem;border-left:.125rem solid var(--border-subtle)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.terminal-ascii{color:var(--primary);font-size:.875rem;line-height:1.4;margin:.25rem 0 .125rem;white-space:pre;font-family:Fira Code,Roboto Mono,monospace;font-weight:700;opacity:.95}.terminal-bio{color:var(--text-main);font-size:.9375rem;line-height:1.8;border-left:.125rem solid var(--border-subtle);padding-left:.9375rem}@media(max-width:768px){.terminal-window{max-width:100%}.terminal-ascii{font-size:.7rem;line-height:1.1}.terminal-line{font-size:.8125rem}.terminal-bio{font-size:.8125rem;line-height:1.5}}.terminal-line-wrapper{min-height:1.2em;position:relative}.terminal-line-ghost{visibility:hidden;white-space:pre-wrap}.terminal-line-overlay{position:absolute;top:0;left:0;right:0;white-space:pre-wrap}.terminal-cursor-block{display:inline-block;height:1em;width:.5rem}.skip-hint{color:var(--text-secondary);font-size:.9rem;margin-top:1rem;text-align:right;cursor:pointer;font-style:italic;opacity:.7;transition:opacity .2s}.skip-hint:hover{opacity:1}.terminal-final-prompt{margin-top:1.25rem}.scroll-down-container{position:fixed;bottom:3rem;left:50%;transform:translate(-50%);z-index:50;pointer-events:none;display:flex;flex-direction:column;align-items:center;transition:opacity .2s ease-out}.scroll-down-bar{width:1.25rem;height:.1875rem;background-color:var(--primary);border-radius:.25rem;box-shadow:0 0 .75rem var(--primary);animation:scrollDownAnim 2s cubic-bezier(.65,0,.35,1) infinite}@keyframes scrollDownAnim{0%{transform:translateY(0);opacity:0}50%{opacity:1}75%{transform:translateY(1.875rem);opacity:0}to{transform:translateY(0);opacity:0}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;width:100%;height:100%;min-height:9.375rem;z-index:10}.loading-spinner{width:2.5rem;height:2.5rem;border:.1875rem solid var(--border-subtle);border-radius:50%;border-top-color:var(--primary);animation:spinner-rotate 1s ease-in-out infinite}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.loading-text{color:var(--text-main);font-weight:500;font-size:1rem;letter-spacing:.05em;animation:text-pulse 2s infinite ease-in-out}@keyframes text-pulse{0%,to{opacity:.6}50%{opacity:1}}.loading-spinner-container.overlay{position:absolute;inset:0;background:var(--bg-card)}.app-header{position:fixed;top:0;left:0;right:0;width:100%;z-index:100;background-color:var(--bg-header);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle);transition:all .3s ease}.header-inner{max-width:90rem;margin:0 auto;height:4.5rem;padding:0 2rem;position:relative;display:flex;align-items:center;justify-content:space-between}.header-brand{flex-shrink:0;margin-right:2rem}.brand-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-main);font-weight:700;font-size:1.1rem;letter-spacing:-.02em}.brand-logo{height:3.75rem;width:auto;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.brand-link:hover .brand-logo{transform:scale(1.1)}.header-nav{position:absolute;left:50%;transform:translate(-50%);height:100%;display:flex;align-items:center;gap:2rem}.nav-item{position:relative;font-size:.85rem;font-weight:500;color:var(--text-muted);text-decoration:none;padding:.5rem 0;transition:color .2s ease;white-space:nowrap}.nav-item:hover{color:var(--text-main)}.nav-item.active{color:var(--text-main);font-weight:600}.nav-item:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--primary);border-radius:4px;transform:scaleX(0);transform-origin:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),opacity .2s ease;opacity:0;box-shadow:var(--shadow-glow)}.nav-item:hover:after,.nav-item.active:after{transform:scaleX(1);opacity:1}.nav-item.active:after{background:linear-gradient(90deg,var(--primary) 0%,var(--primary-hover) 100%)}.header-actions{display:flex;align-items:center;gap:1rem;margin-left:auto;min-width:14rem;justify-content:flex-end}.theme-switcher{display:inline-flex;align-items:center;background-color:var(--bg-card-hover);padding:.125rem;border-radius:.3rem;border:1px solid var(--border-subtle);height:1.85rem;position:relative;gap:0}.theme-option{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:.2rem;color:var(--text-muted);background:transparent;border:none;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1)}.theme-option:hover{color:var(--text-main)}.theme-option.active{background-color:var(--primary);color:#fff;box-shadow:0 1px 3px #00000026;cursor:default}.user-profile-wrapper{min-width:9rem;display:flex;justify-content:flex-end}.mobile-toggle{display:none;background:none;border:none;cursor:pointer;padding:.5rem;margin-right:1rem;order:-1}.hamburger{width:1.25rem;height:1rem;position:relative;display:flex;flex-direction:column;justify-content:space-between}.hamburger span{display:block;height:2px;width:100%;background-color:var(--text-main);border-radius:99px;transition:all .3s ease}.hamburger.open span:nth-child(1){transform:translateY(.45rem) rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:translateY(-.45rem) rotate(-45deg)}.mobile-menu{position:fixed;top:4.5rem;left:0;width:100vw;height:calc(100vh - 4.5rem);background-color:var(--bg-body);z-index:98;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;padding-top:2rem;padding-bottom:2rem;overflow-y:auto}.mobile-menu.open{opacity:1;pointer-events:auto}.mobile-menu-content{display:flex;flex-direction:column;gap:2rem;align-items:center;width:100%}.mobile-link{font-size:1.75rem;font-weight:700;color:var(--text-muted);text-decoration:none;transition:all .2s ease}.mobile-link:hover{color:var(--text-main);transform:scale(1.05)}@media(max-width:1024px){.header-nav{display:none}.mobile-toggle{display:block}.header-inner{padding:0 1rem;justify-content:flex-start}.header-brand{margin-right:auto}.header-actions{margin-left:0;gap:.5rem;min-width:auto}.user-profile-wrapper{min-width:auto}}@media(max-width:480px){.brand-link span{display:none}}.brand-logo.anim-out{animation:fade-out-blur .3s forwards}.brand-logo.anim-in{animation:fade-in-blur .3s forwards}@keyframes fade-out-blur{0%{transform:scale(1);filter:blur(0);opacity:1}to{transform:scale(1.1);filter:blur(4px);opacity:0}}@keyframes fade-in-blur{0%{transform:scale(.9);filter:blur(4px);opacity:0}to{transform:scale(1);filter:blur(0);opacity:1}}.language-selector{display:inline-flex;align-items:center;background-color:var(--bg-card-hover);padding:.125rem;border-radius:.3rem;border:1px solid var(--border-subtle);height:1.85rem;position:relative;gap:0;width:3.6rem;justify-content:center}.separator{display:none}.lang-wrapper{position:relative;z-index:1;display:flex;align-items:center}.lang-btn{appearance:none;background:transparent;border:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--text-muted);width:1.6rem;height:1.6rem;border-radius:.2rem;transition:all .3s cubic-bezier(.25,.8,.25,1)}.lang-btn:hover{color:var(--text-main)}.lang-btn.active{background-color:var(--primary);color:#fff;box-shadow:0 1px 3px #00000026;cursor:default}.theme-btn{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background-color:transparent;border:1px solid transparent;border-radius:50%;color:var(--text-muted);transition:all .2s ease}.theme-btn:hover{color:var(--text-main);background-color:var(--bg-card-hover)}.lang-tooltip{position:absolute;top:calc(100% + .5rem);left:50%;transform:translate(-50%);background:var(--bg-overlay);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text-main);padding:.375rem .75rem;border-radius:6px;font-size:.75rem;font-weight:500;white-space:nowrap;pointer-events:none;border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);z-index:10}.lang-tooltip:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%) rotate(45deg);width:8px;height:8px;background:inherit;border-left:1px solid var(--border-subtle);border-top:1px solid var(--border-subtle)}.lang-tooltip.fade-in{animation:tooltipFadeIn .2s ease forwards}.lang-tooltip.fade-out{animation:tooltipFadeOut .2s ease forwards}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes tooltipFadeOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(4px)}}.brand-name-container{display:inline-flex;align-items:center;position:relative;overflow:visible;clip-path:inset(0 -200% 0 -200%);line-height:1.5;vertical-align:middle}.brand-text{white-space:nowrap;display:flex;align-items:center;transition:transform .8s cubic-bezier(.65,0,.35,1),opacity .8s ease;will-change:transform,opacity}.brand-text.greeting{position:absolute;left:0;top:0;width:max-content;transform:translateY(0);opacity:1}.brand-text.greeting.exit{transform:translateY(-110%);opacity:0}.brand-text.name{position:relative;transform:translateY(110%);opacity:0}.brand-text.name.active{transform:translateY(0);opacity:1}.brand-text.name{pointer-events:none}.brand-text.name.active{pointer-events:auto}.dot{color:var(--primary);font-weight:700}.user-profile-container{position:relative;display:inline-block}.user-avatar-btn{width:2.5rem;height:2.5rem;border-radius:50%;border:.125rem solid var(--primary);padding:0;overflow:hidden;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;background:var(--bg-body)}.user-avatar-btn:hover{transform:scale(1.05);box-shadow:0 0 .625rem var(--primary-alpha-20)}.user-avatar-img{width:100%;height:100%;object-fit:cover;font-size:1.2rem}.user-menu{position:absolute;top:3.125rem;right:0;background:var(--bg-glass);-webkit-backdrop-filter:blur(.625rem);backdrop-filter:blur(.625rem);border:1px solid var(--border-subtle);border-radius:.5rem;padding:.5rem 0;min-width:9.375rem;box-shadow:var(--shadow-lg);z-index:1000;animation:fadeIn .2s ease}.user-menu-item{display:block;width:100%;padding:.5rem 1rem;text-align:left;background:none;border:none;color:var(--text-main);cursor:pointer;font-family:inherit;font-size:.9rem;transition:background .2s}.user-menu-item:hover{background:var(--bg-card-hover)}.user-avatar-wrapper{display:flex;align-items:center;gap:.75rem}.admin-badge{background:var(--primary);color:var(--text-inverse);font-size:.7rem;padding:.125rem .5rem;border-radius:.25rem;font-weight:700;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;height:fit-content}.admin-badge:hover{filter:brightness(1.1);transform:translateY(-1px)}.header-badge{box-shadow:var(--shadow-glow)}.preview-active{background:var(--bg-card-hover);color:var(--text-muted);box-shadow:none;border:1px solid var(--border-subtle)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--bg-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);display:flex;align-items:center;justify-content:center;z-index:2000}.modal-content{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.75rem;padding:1.5rem;width:90%;max-width:25rem;box-shadow:var(--shadow-xl);position:relative;max-height:90vh;overflow-y:auto}.modal-title{margin-top:0;margin-bottom:1.5rem;color:var(--text-main);text-align:center}.modal-form-group{margin-bottom:1rem;display:flex;flex-direction:column;gap:.5rem}.modal-label{font-weight:500;color:var(--text-muted);font-size:.9rem}.modal-input{background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:.375rem;padding:.625rem;color:var(--text-main);font-size:.95rem}.modal-input:focus{border-color:var(--primary);outline:none}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.btn-cancel{background:transparent;border:1px solid var(--border-subtle);color:var(--text-main)}.btn-save{background:var(--primary);color:var(--text-inverse);border:none}.avatar-preview-container{display:flex;flex-direction:column;align-items:center;margin-bottom:1rem}.avatar-preview{width:5rem;height:5rem;border-radius:50%;object-fit:cover;margin-bottom:.5rem;border:.125rem solid var(--border-subtle)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-.3125rem)}to{opacity:1;transform:translateY(0)}}.avatar-fallback{background:var(--bg-card-hover);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:1.5rem}.avatar-input{margin-top:.75rem;color:var(--text-main);font-size:.9rem;width:100%;cursor:pointer}.login-btn{height:2.5rem;background:var(--primary);color:var(--text-inverse);border:none;padding:.5rem 1rem;border-radius:.375rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-decoration:none;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.login-btn:hover{filter:brightness(1.1);transform:translateY(-.0625rem);box-shadow:0 .25rem .75rem var(--primary-alpha-20)}.login-icon,.login-text{display:block}@media(max-width:768px){.login-btn{padding:.5rem;font-size:.8rem;border-radius:.375rem}.login-text{display:none}.login-icon{display:block}}.user-avatar-root{border-radius:50%;object-fit:cover;box-sizing:border-box;aspect-ratio:1 / 1;flex-shrink:0;min-width:1em;min-height:1em}.user-avatar-fallback{display:flex;align-items:center;justify-content:center;background-color:var(--bg-card-hover, #2d333b);color:var(--text-muted, #7d8590);font-weight:600;overflow:hidden;white-space:nowrap;font-size:100%;line-height:1}.wip-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);z-index:50;display:flex;justify-content:center;align-items:center;cursor:default;border-radius:inherit}.wip-banner{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-main);padding:.6rem 1.2rem;border-radius:.5rem;box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;transition:transform .2s ease;-webkit-user-select:none;user-select:none}.wip-overlay:hover .wip-banner{transform:rotate(0) scale(1.05)}.wip-icon{font-size:1.2rem}.project-card{cursor:pointer}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--spacing-sm)}.project-card-title{margin-bottom:0;flex:1 1 auto;word-break:break-word;min-width:12.5rem}.projects-group-spacer{margin-top:4rem}.new-project-toggle{min-height:3.125rem}.embedded-editor{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.editor-toolbar{display:flex;gap:.25rem;padding:.375rem;background:var(--bg-card);border-radius:.375rem;border:1px solid var(--border-subtle);position:sticky;top:3.125rem;z-index:100}.editor-canvas{display:flex;flex-wrap:wrap;gap:0;justify-content:flex-start;align-content:flex-start;background:var(--bg-body);min-height:12.5rem;border-radius:.375rem;padding:.5rem;border:1px dashed var(--border-subtle)}.editor-block-controls{display:flex;align-items:center;gap:.5rem;background:var(--border-default);padding:.25rem .5rem;border-top-left-radius:.375rem;border-top-right-radius:.375rem;border:1px solid var(--border-subtle);border-bottom:none;opacity:0;transition:opacity .2s}.editor-block-wrapper:hover .editor-block-controls{opacity:1}.drag-handle{cursor:grab;color:var(--text-muted)}.width-controls button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:.125rem .375rem;font-size:.8rem;font-weight:600}.width-controls button:hover,.width-controls button.active,.align-controls button:hover,.align-controls button.active{color:var(--primary)}.align-controls{display:flex;gap:.25rem;margin-left:.5rem;border-left:1px solid var(--border-subtle);padding-left:.5rem}.align-controls button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:.25rem}.align-controls .v-divider{width:1px;height:1.25rem;background:var(--border-subtle);margin:0 .25rem}.image-scale-control,.block-width-control{display:flex;align-items:center;gap:.25rem;padding:0 .5rem;color:var(--text-muted);font-size:.8rem}.image-scale-control input[type=range],.block-width-control input[type=range]{width:60px;height:4px;border-radius:2px;background:var(--border-subtle);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none}.image-scale-control input[type=range]::-webkit-slider-thumb,.block-width-control input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--primary);cursor:pointer}.delete-block{background:transparent;border:none;color:var(--danger-hover);cursor:pointer;margin-left:.5rem}.editor-block-content{background:var(--bg-card);border:1px solid var(--border-subtle);border-bottom-left-radius:.375rem;border-bottom-right-radius:.375rem;padding:var(--spacing-sm)}.editor-block-content textarea{width:100%;min-height:6.25rem;background:transparent;border:none;color:var(--text-main);resize:vertical;font-family:inherit;font-size:1rem;outline:none;line-height:1.5}.heading-editor select{background:var(--bg-input);color:var(--text-main);border:1px solid var(--border-subtle);padding:.25rem .5rem;border-radius:.25rem}.heading-editor input{flex:1;background:transparent;border:none;color:var(--text-main);font-size:1.5rem;font-weight:700;outline:none;border-bottom:2px solid var(--primary);padding-bottom:.25rem;transition:border-color .2s}.divider-editor hr{border:0;height:1px;background:var(--border-subtle)}.image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;border:.125rem dashed var(--border-subtle);border-radius:.25rem;color:var(--text-muted);cursor:pointer}.image-block-content{display:flex;width:100%}.image-block-content img,.image-block-content video{max-width:100%;height:auto;border-radius:.75rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow-md);border:1px solid var(--border-subtle);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease}.image-block-content.align-left{justify-content:flex-start}.image-block-content.align-center{justify-content:center}.image-block-content.align-right{justify-content:flex-end}.image-block-content input{background:var(--bg-body);border:1px solid var(--border-subtle);color:var(--text-main);padding:.375rem;border-radius:.25rem}.app-btn-small{padding:.375rem .75rem;font-size:.85rem;display:flex;gap:.375rem;align-items:center;background:var(--bg-input);color:var(--text-main);border:1px solid var(--border-subtle);border-radius:.375rem;cursor:pointer}.app-btn-small:hover{background:var(--border-subtle)}.save-btn{margin-left:auto;background:var(--success);border-color:#f0f6fc1a}.save-btn:hover{background:var(--success-hover)}@media(max-width:768px){.editor-block-wrapper.w-25{width:50%}.editor-block-wrapper.w-100{width:100%}}.text-xs{font-size:.7rem}.input-hidden{display:none}.pdf-preview-wrapper{width:100%;max-width:100%;overflow:hidden}.pdf-document{display:flex;flex-direction:column;align-items:center;gap:20px}.pdf-page-container{display:flex;flex-direction:column;align-items:center;width:100%}.pdf-page-wrapper{box-shadow:var(--shadow-md);border-radius:var(--radius-sm);overflow:hidden}.pdf-loading-placeholder{height:300px;background-color:var(--bg-card-hover)}.pdf-error{padding:1rem;color:var(--error)}.pdf-page-separator{width:60%;height:2px;background-color:var(--border-subtle);margin-top:2rem;margin-bottom:1rem;border-radius:1px}:root{--react-pdf-annotation-layer: 1;--annotation-unfocused-field-background: url("data:image/svg+xml;charset=UTF-8,<svg width='1px' height='1px' xmlns='http://www.w3.org/2000/svg'><rect width='100%' height='100%' style='fill:rgba(0, 54, 255, 0.13);'/></svg>");--input-focus-border-color: Highlight;--input-focus-outline: 1px solid Canvas;--input-unfocused-border-color: transparent;--input-disabled-border-color: transparent;--input-hover-border-color: black;--link-outline: none}@media screen and (forced-colors:active){:root{--input-focus-border-color: CanvasText;--input-unfocused-border-color: ActiveText;--input-disabled-border-color: GrayText;--input-hover-border-color: Highlight;--link-outline: 1.5px solid LinkText}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{position:absolute;top:0;left:0;pointer-events:none;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translate(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{position:absolute;width:100%;height:100%}.annotationLayer section{position:absolute;text-align:initial;pointer-events:auto;box-sizing:border-box;margin:0;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{position:absolute;font-size:1em;top:0;left:0;width:100%;height:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{opacity:.2;background:#ff0;box-shadow:0 2px 10px #ff0}.annotationLayer .textAnnotation img{position:absolute;cursor:pointer;width:100%;height:100%;top:0;left:0}.annotationLayer .textWidgetAnnotation :is(input,textarea),.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{background-image:var(--annotation-unfocused-field-background);border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px * var(--scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .textWidgetAnnotation :is(input,textarea):required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled]{background:none;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover{border:2px solid var(--input-hover-border-color)}.annotationLayer .textWidgetAnnotation :is(input,textarea):hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .buttonWidgetAnnotation.checkBox input:hover{border-radius:2px}.annotationLayer .textWidgetAnnotation :is(input,textarea):focus,.annotationLayer .choiceWidgetAnnotation select:focus{background:none;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-image:none;background-color:transparent}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid var(--input-focus-border-color);border-radius:2px;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid var(--input-focus-border-color);outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{position:absolute;font-size:calc(9px * var(--scale-factor));width:100%;min-width:calc(180px * var(--scale-factor));pointer-events:none}.annotationLayer .popup{position:absolute;max-width:calc(180px * var(--scale-factor));background-color:#ff9;box-shadow:0 calc(2px * var(--scale-factor)) calc(5px * var(--scale-factor)) #888;border-radius:calc(2px * var(--scale-factor));padding:calc(6px * var(--scale-factor));margin-left:calc(5px * var(--scale-factor));cursor:pointer;font:message-box;white-space:normal;word-wrap:break-word;pointer-events:auto}.annotationLayer .popup>*{font-size:calc(9px * var(--scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px * var(--scale-factor))}.annotationLayer .popupContent{border-top:1px solid rgba(51,51,51,1);margin-top:calc(2px * var(--scale-factor));padding-top:calc(2px * var(--scale-factor))}.annotationLayer .richText>*{white-space:pre-wrap;font-size:calc(9px * var(--scale-factor))}.annotationLayer .highlightAnnotation,.annotationLayer .underlineAnnotation,.annotationLayer .squigglyAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .lineAnnotation svg line,.annotationLayer .squareAnnotation svg rect,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .caretAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .stampAnnotation,.annotationLayer .fileAttachmentAnnotation{cursor:pointer}.annotationLayer section svg{position:absolute;width:100%;height:100%;top:0;left:0}.annotationLayer .annotationTextContent{position:absolute;width:100%;height:100%;opacity:0;color:transparent;-webkit-user-select:none;user-select:none;pointer-events:none}.annotationLayer .annotationTextContent span{width:100%;display:inline-block}:root{--react-pdf-text-layer: 1;--highlight-bg-color: rgba(180, 0, 170, 1);--highlight-selected-bg-color: rgba(0, 100, 0, 1)}@media screen and (forced-colors:active){:root{--highlight-bg-color: Highlight;--highlight-selected-bg-color: ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translate(-100%)}.textLayer{position:absolute;text-align:initial;inset:0;overflow:hidden;line-height:1;text-size-adjust:none;forced-color-adjust:none;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:transparent;position:absolute;white-space:pre;cursor:text;margin:0;transform-origin:0 0}.textLayer span.markedContent{top:0;height:0}.textLayer .highlight{margin:-1px;padding:1px;background-color:var(--highlight-bg-color);border-radius:4px}.textLayer .highlight.appended{position:initial}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:transparent}.textLayer .endOfContent{display:block;position:absolute;inset:100% 0 0;z-index:-1;cursor:default;-webkit-user-select:none;user-select:none}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{position:absolute;top:0;left:0;width:0;height:0;display:none}.category-selector .radio-group{display:flex;gap:.5rem;background:var(--bg-card);padding:.25rem;border:1px solid var(--border-subtle);border-radius:.5rem;width:fit-content}.category-selector .radio-label{display:flex;align-items:center;justify-content:center;padding:.375rem 1rem;cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-muted);border-radius:.375rem;transition:all .2s ease;-webkit-user-select:none;user-select:none;min-width:4rem}.category-selector .radio-label:hover{color:var(--text-main);background:var(--bg-card-hover)}.category-selector .radio-label.active{background:var(--primary);color:#fff;box-shadow:var(--shadow-sm)}.category-selector .radio-input-hidden{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.skill-selector{margin-bottom:var(--spacing-lg);display:flex;flex-direction:column;gap:12px}.skill-selector-search{width:100%}.skill-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(8.75rem,1fr));gap:.5rem;max-height:15.625rem;overflow-y:auto;padding:.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.skill-selector-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-main);border:1px solid var(--border-color);border-radius:3.125rem;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.skill-selector-item:hover{border-color:var(--primary);background:var(--primary-alpha-20)}.skill-selector-item.selected{border-color:var(--primary);background:var(--primary);color:#fff}.skill-selector-item.selected .skill-selector-name,.skill-selector-item.selected .skill-selector-icon{color:#fff}.skill-selector-icon{font-size:1.2rem;width:1.25rem;height:1.25rem;object-fit:contain}.skill-dot{width:.5rem;height:.5rem;border-radius:50%;background:var(--text-muted)}.skill-selector-name{font-size:.9rem;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-skills-preview{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:var(--primary-alpha-10);border-radius:var(--radius-md)}.preview-label{font-size:.8rem;font-weight:600;color:var(--primary);text-transform:uppercase}.selected-badges{display:flex;flex-wrap:wrap;gap:.375rem}.skill-badge{display:flex;align-items:center;gap:.375rem;padding:.25rem .625rem;background:var(--primary);color:#fff;border-radius:1.25rem;font-size:.8rem;font-weight:500}.skill-badge button{background:none;border:none;color:#fff;font-size:1.1rem;cursor:pointer;line-height:1;padding:0;margin-left:4px;opacity:.8}.skill-badge button:hover{opacity:1}.loading-small,.no-results{grid-column:1 / -1;text-align:center;padding:1.25rem;color:var(--text-muted);font-size:.9rem}.section-separator{width:100%;max-width:50rem;height:1px;margin:5rem auto;background:linear-gradient(90deg,transparent,var(--border-subtle),transparent);border:none}.section-separator-container{display:flex;align-items:center;width:100%;max-width:68.75rem;margin:6rem auto;gap:2rem;padding:0 1rem}.separator-line{flex:1;height:1px;background:var(--border-subtle)}.separator-line.left{background:linear-gradient(90deg,transparent,var(--border-subtle))}.separator-line.right{background:linear-gradient(90deg,var(--border-subtle),transparent)}.separator-label{color:var(--primary);font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.3em;white-space:nowrap}@media(max-width:768px){.section-separator-container{margin:4rem auto;gap:1rem}.separator-label{font-size:.75rem;letter-spacing:.2em}}.skeleton-card{pointer-events:none;border-color:var(--border-subtle)}.skeleton-media{width:100%;height:11.25rem;background:linear-gradient(90deg,var(--bg-card) 25%,var(--border-subtle) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite}.skeleton-title,.skeleton-subtitle,.skeleton-text{background:linear-gradient(90deg,var(--bg-card) 25%,var(--border-subtle) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.skeleton-title{height:1.5rem;width:70%;margin-bottom:1rem}.skeleton-subtitle{height:1rem;width:40%;margin-bottom:1.5rem}.skeleton-text{height:.85rem;width:100%;margin-bottom:.5rem}.skeleton-text.short{width:60%}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-large .skeleton-media{height:13.75rem}.skeleton-tabs{display:flex;gap:8px;justify-content:center;margin-bottom:var(--spacing-md)}.skeleton-tab{height:2rem;background:linear-gradient(90deg,var(--bg-card) 25%,var(--border-subtle) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:6px}.skeleton-category-title{height:1.5rem;width:9.375rem;margin-bottom:1.5rem;background:linear-gradient(90deg,var(--bg-card) 25%,var(--border-subtle) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px}.skeleton-skill-badge{height:2.25rem;width:6.25rem;background:linear-gradient(90deg,var(--bg-card) 25%,var(--border-subtle) 50%,var(--bg-card) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:8px}.content-grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:0;width:100%}.content-block{box-sizing:border-box;padding:.5rem 1rem}.content-block.w-100{width:100%}.content-block.w-75{width:75%}.content-block.w-50{width:50%}.content-block.w-25{width:25%}.text-block p{margin-bottom:1em;line-height:1.6;color:var(--text-main)}.image-block img{max-width:100%;height:auto;border-radius:.75rem;box-shadow:var(--shadow-md);border:1px solid var(--border-subtle);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;cursor:pointer;position:relative;z-index:10}.image-block img:hover{transform:scale(1.02);box-shadow:var(--shadow-lg);border-color:var(--primary);cursor:pointer}.content-video{max-width:100%;border-radius:.75rem;box-shadow:var(--shadow-md);border:1px solid var(--border-subtle);display:block;transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease;cursor:pointer;position:relative;z-index:10}.content-video:hover{transform:scale(1.02);box-shadow:var(--shadow-lg);border-color:var(--primary);cursor:pointer}.heading-block h1,.heading-block h2,.heading-block h3{display:inline-block;border-bottom:2px solid var(--primary);padding-bottom:.25rem;margin-bottom:.75rem;color:var(--text-main)}.list-block{padding-left:1.25rem;color:var(--text-main);line-height:1.6}.code-block{background:var(--bg-card-hover);border:1px solid var(--border-subtle);padding:1rem;border-radius:.375rem;overflow-x:auto}.code-block code{font-family:Fira Code,monospace;font-size:.9rem;color:var(--text-main)}.divider-block hr{border:0;height:1px;background:var(--border-subtle);margin:1rem 0}.legacy-content{white-space:pre-wrap;line-height:1.6;color:var(--text-main)}@media(max-width:768px){.content-block.w-25{width:50%}.content-block.w-50,.content-block.w-75,.content-block.w-100{width:100%}}.image-block,.pdf-block{display:flex;width:100%}.image-block.align-left,.pdf-block.align-left{justify-content:flex-start}.image-block.align-center,.pdf-block.align-center{justify-content:center}.image-block.align-right,.pdf-block.align-right{justify-content:flex-end}.image-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;justify-content:center;align-items:center;animation:fadeInModal .3s cubic-bezier(.16,1,.3,1) forwards;cursor:zoom-out}.image-modal-content{max-width:90vw;max-height:90vh;position:relative;animation:scaleInImage .4s cubic-bezier(.34,1.56,.64,1) forwards}.image-modal-content img,.image-modal-content video{max-width:100%;max-height:90vh;border-radius:8px;box-shadow:var(--shadow-xl);display:block;object-fit:contain}.image-modal-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:24px;cursor:pointer;opacity:.8;transition:opacity .2s;padding:8px}.image-modal-close:hover{opacity:1}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes scaleInImage{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}.details-content-container{background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.75rem;width:100%;max-width:56.25rem;margin:3.75rem auto;padding:0;position:relative;box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out;display:flex;flex-direction:column}@keyframes slideUp{0%{transform:translateY(3.125rem);opacity:0}to{transform:translateY(0);opacity:1}}.details-body{padding:var(--spacing-lg)}.details-nav{display:flex;justify-content:space-between;align-items:center;padding:.75rem var(--spacing-lg);position:sticky;top:0;z-index:20;background:var(--bg-card);border-bottom:1px solid var(--border-subtle);border-top-left-radius:.75rem;border-top-right-radius:.75rem}.details-nav .nav-btn{display:inline-flex;align-items:center;justify-content:center;height:2rem;padding:0 1rem;gap:.5rem;font-family:inherit;font-size:.85rem;font-weight:500;text-decoration:none;color:var(--text-main);background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:.5rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.details-nav .nav-btn:hover{background:var(--bg-card-hover);border-color:var(--text-muted);color:var(--text-main);transform:translateY(-.0625rem);box-shadow:var(--shadow-sm)}.details-nav .nav-btn.delete-btn{background:#da36331a;border-color:#f8514966;color:var(--danger-hover)}.details-nav .nav-btn.delete-btn:hover{background:#da363340;border-color:var(--danger-hover);color:#ff7b72}.admin-actions{display:flex;gap:.75rem}.details-header{margin-bottom:var(--spacing-lg);text-align:center;border-bottom:1px solid var(--border-default);padding-bottom:1rem;margin-top:1rem}.details-title{margin:0;font-size:1.8rem;margin-bottom:.25rem;color:var(--text-main);text-align:center}.details-subtitle{font-size:1.5rem;color:var(--text-main);margin-bottom:.9375rem;font-weight:500}.details-section-title{font-size:.85rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);margin-bottom:.75rem;letter-spacing:.5px}.details-badge{display:inline-block;padding:.25rem .75rem;border-radius:1.25rem;background-color:var(--primary-alpha-20);color:var(--primary);border:1px solid var(--primary-alpha-20);font-size:.9rem;font-weight:500;margin-top:.5rem}.details-image-container{width:100%;margin-bottom:2.5rem;display:flex;justify-content:center}.details-image{max-width:100%;max-height:31.25rem;border-radius:.75rem;box-shadow:var(--shadow-lg);object-fit:cover;border:1px solid var(--border-subtle)}.edit-mode-container{display:flex;flex-direction:column;gap:1.25rem;width:100%}.edit-lang-switcher{display:flex;align-items:center;gap:.75rem;background:var(--bg-card);padding:.75rem;border-radius:.375rem;border:1px solid var(--border-subtle)}.lang-label{color:var(--text-muted);font-size:.9rem;font-weight:600}.lang-tabs{display:flex;gap:.5rem}.lang-tab{background:transparent;border:1px solid var(--border-subtle);color:var(--text-main);padding:.25rem .75rem;border-radius:.25rem;cursor:pointer;font-size:.9rem}.lang-tab.active{background:var(--primary);border-color:var(--primary);color:var(--text-inverse)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-muted);font-size:.9rem}.app-input,.summary-input{width:100%;padding:.75rem;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:.375rem;color:var(--text-main);font-family:inherit;font-size:1rem}.summary-input{min-height:5rem;resize:vertical}.edit-actions-footer{display:flex;justify-content:flex-end;margin-top:1rem}.app-btn{padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;font-weight:500;font-size:.9rem;border:1px solid var(--border-subtle);background-color:var(--border-default);color:var(--text-main);transition:.2s}.app-btn:hover{background-color:var(--border-subtle);border-color:var(--text-muted)}.app-btn-primary{background-color:var(--success);color:var(--text-inverse);border-color:var(--border-subtle)}.app-btn-primary:hover{background-color:var(--success-hover)}.delete-btn{background-color:#da36331a;color:var(--danger-hover);border-color:#f8514966}.delete-btn:hover{background-color:#da363333;border-color:var(--danger-hover)}@media(max-width:768px){.details-content-container{border-radius:0}.details-body{padding:1.25rem}.details-title{font-size:2rem}}.text-white{color:var(--text-main)}.text-error{color:var(--danger-hover)}.details-content-wrapper{margin-top:2rem}.suggestion-btn{text-decoration:none;background:var(--primary-alpha-10);border-color:var(--primary-alpha-20)}.suggestion-btn:hover{background:var(--primary-alpha-20);border-color:var(--primary);color:var(--text-main)}.details-overlay-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:9999;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;padding:0 16px 40px;box-sizing:border-box;animation:fadeInOverlay .2s ease-out;-webkit-overflow-scrolling:touch}.details-modal-layout{width:100%;display:flex;justify-content:center}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.skill-badge-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.skill-badge-list-categorized{display:flex;flex-direction:column;gap:1.5rem;margin-top:1rem}.skill-category-group{display:flex;flex-direction:column;gap:.5rem}.skill-category-name{font-size:.8rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.05em;border-left:3px solid var(--primary);padding-left:.75rem;margin-bottom:.25rem}.skill-badge-container{position:relative;z-index:1;-webkit-tap-highlight-color:transparent}.skill-badge-container.open{z-index:10000}.skill-badge-mini,.skill-badge-normal,.skill-badge-detail{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;transition:all .2s ease;cursor:default;display:flex;align-items:center;position:relative}.skill-badge-mini{width:2.25rem;height:2.25rem;justify-content:center;padding:.5rem}.skill-badge-normal{height:2.25rem;padding:0 .875rem;gap:.625rem}.skill-badge-detail{height:2rem;padding:0 .75rem;gap:.5rem;font-size:.9em;background:var(--bg-input)}.skill-name{font-weight:500;color:var(--text-muted);white-space:nowrap}@media(hover:hover){.skill-badge-mini:hover,.skill-badge-normal:hover,.skill-badge-detail:hover{background:var(--bg-card-hover);border-color:var(--text-muted);color:var(--text-main)}.skill-badge-container:hover .skill-name,.skill-badge-container.open .skill-name{color:var(--text-main)}}.skill-badge-container.open .skill-badge-mini,.skill-badge-container.open .skill-badge-normal,.skill-badge-container.open .skill-badge-detail{border-color:var(--primary);background:var(--bg-card-hover);box-shadow:0 0 0 1px var(--primary)}.badge-icon{width:1.25rem;height:1.25rem;object-fit:contain;filter:grayscale(.5);transition:filter .2s ease}.skill-badge-container:hover .badge-icon,.skill-badge-container.open .badge-icon{filter:grayscale(0)}@keyframes tooltip-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes tooltip-in-bottom{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.skill-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.75rem;width:max-content;min-width:16rem;max-width:20rem;z-index:10001;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.5rem;padding:0;box-shadow:var(--shadow-xl);animation:tooltip-in .2s cubic-bezier(.2,.8,.2,1) forwards;transform-origin:bottom center;pointer-events:auto;text-align:left}@media(max-width:500px){.skill-tooltip{width:85vw;max-width:20rem;white-space:normal}}.skill-tooltip:after{content:"";position:absolute;top:100%;left:0;right:0;height:1rem}.skill-tooltip.tooltip-bottom{bottom:auto;top:100%;margin-bottom:0;margin-top:.75rem;animation-name:tooltip-in-bottom;transform-origin:top center}.skill-tooltip.tooltip-bottom:after{top:auto;bottom:100%}.skill-tooltip.tooltip-left{left:0;transform:translate(0)}.skill-tooltip.tooltip-right{left:auto;right:0;transform:translate(0)}@keyframes tooltip-in-left{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0)}}@keyframes tooltip-in-right{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translate(0)}}.skill-tooltip.tooltip-left{animation-name:tooltip-in-left}.skill-tooltip.tooltip-right{animation-name:tooltip-in-right}.tooltip-header{padding:.75rem 1rem;background:var(--bg-card-hover);border-bottom:1px solid var(--border-subtle);display:flex;align-items:center;gap:.5rem}.tooltip-header strong{color:var(--text-main);font-size:.9rem}.tooltip-body{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.75rem}.tooltip-section-title{font-size:.7rem;text-transform:uppercase;color:var(--text-muted);font-weight:700;margin-bottom:.25rem;letter-spacing:.05em}.tooltip-item{font-size:.85rem;color:var(--text-main);padding:.25rem .5rem;margin:0 -.5rem;border-radius:4px;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:background .15s}.tooltip-item:hover{background:var(--primary-alpha-10);color:var(--primary-hover)}.tooltip-item svg{color:var(--primary);flex-shrink:0}.wip-tag{font-size:.65rem;background:var(--warning);color:var(--bg-body);padding:0 4px;border-radius:2px;font-weight:700;margin-left:auto}.edu-card-clickable{cursor:pointer}.edu-card-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--spacing-xs)}.edu-card-header .app-card-title{margin-bottom:0;flex:1 1 auto;word-break:break-word;min-width:12.5rem}.recommendations-list{display:flex;flex-direction:column;gap:1.5rem}.recommendations-desktop-masonry{display:flex;flex-direction:row;align-items:flex-start;gap:1.5rem}.masonry-column{flex:1;display:flex;flex-direction:column;gap:1.5rem}.mobile-only{display:flex}.desktop-only{display:none}@media(min-width:1024px){.mobile-only{display:none}.desktop-only{display:flex}}.recommendation-wrapper,.skeleton-card{width:100%}.create-toggle-container{max-width:56.25rem;margin:2rem auto 0;display:flex;justify-content:center;min-height:3.125rem}.create-container{margin-top:1.5rem}.recommendation-card{cursor:pointer}.recommendation-card .app-card-description{display:block;white-space:pre-wrap;color:var(--text-secondary)}.rec-badge{position:absolute;top:.75rem;right:.75rem;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;display:flex;align-items:center;gap:.25rem;z-index:10}.rec-badge.certified{background-color:var(--success);color:#fff}.rec-badge.pending{background-color:#6e7681;color:#fff}.rec-badge-icon{width:.75rem;height:.75rem}.rec-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--border-subtle)}.rec-avatar{width:3rem;height:3rem;border-radius:50%;object-fit:cover;border:.125rem solid var(--border-subtle)}.rec-author-info{display:flex;flex-direction:column;padding-right:8rem}.rec-author-name{margin:0;font-size:1rem;color:var(--text-main)}.rec-author-details{margin-top:.25rem}.rec-author-details .card-meta-row{margin-bottom:.125rem}.rec-author-details .card-meta-row:last-child{margin-bottom:0}.rec-author-role,.rec-author-company,.rec-author-project{font-size:.85rem;color:var(--text-muted)}.rec-content-italic{font-style:italic;opacity:.9}.rec-admin-form{display:flex;gap:1rem}.form-avatar-col{flex-shrink:0}.form-avatar-preview{width:3.75rem;height:3.75rem;border-radius:50%;object-fit:cover;border:.125rem solid var(--border-subtle)}.form-notice{font-size:.75rem;color:var(--text-muted);text-align:center;margin-top:.25rem}.form-content-col{flex:1;display:flex;flex-direction:column;gap:.5rem}.form-row{display:flex;gap:1rem}.form-flex-1{flex:1}.form-group-label{display:block;margin-bottom:.25rem;font-size:.85rem;font-weight:500;color:var(--text-muted)}.form-readonly-value{padding:.625rem .75rem;font-weight:600}.form-footer-block{display:flex;align-items:flex-end;gap:1rem;margin-top:1rem;border-top:1px solid var(--border-subtle);padding-top:1rem}.form-order-group{width:5rem;margin:0}.form-published-checkbox{margin-top:0}.form-actions{margin-left:auto;display:flex;gap:.5rem}.rec-card-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:.75rem}.rec-footer-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.rec-footer-item .fade-text{display:inline}.footer-icon{opacity:.7;flex-shrink:0}.footer-label{color:var(--text-muted)}.footer-value-primary{color:var(--primary);font-weight:600}.footer-value{font-weight:500;color:var(--text-secondary)}@media(max-width:768px){.rec-admin-form{flex-direction:column;align-items:flex-start}.form-avatar-col{width:100%;display:flex;flex-direction:column;align-items:center;margin-bottom:1.5rem}.form-content-col{width:100%}.form-row{flex-direction:column;gap:.75rem}.form-row .app-form-group{width:100%}.form-footer-block{flex-direction:column;align-items:stretch;gap:1.25rem}.form-order-group{width:100%}.form-actions{width:100%;display:flex;flex-direction:column-reverse;gap:.75rem}.form-actions .app-btn{width:100%;justify-content:center}}.card-meta-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--text-secondary);font-size:.85rem}.card-meta-icon{flex-shrink:0;opacity:.8}.recommendation-details-content{background-color:#ffffff08;border:1px solid var(--border-subtle);border-radius:.75rem;padding:var(--spacing-xl);position:relative;margin-top:var(--spacing-lg)}.details-meta{display:flex;flex-wrap:wrap;gap:var(--spacing-md) var(--spacing-lg);margin-top:var(--spacing-sm);color:var(--text-secondary)}.detail-meta-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:1rem}.detail-meta-item svg{opacity:.8}.clickable-project{cursor:pointer;transition:color .2s ease}.clickable-project:hover{color:var(--primary);text-decoration:underline}.recommendation-details-content .details-description{font-size:1.15rem;line-height:1.8;color:var(--text-main);font-style:italic;position:relative;z-index:1}.quote-icon-large{position:absolute;top:.3125rem;left:.9375rem;font-size:5rem;color:var(--primary);opacity:.1;font-family:serif;line-height:1;pointer-events:none}.author-avatar-large{width:7.5rem;height:7.5rem;border-radius:50%;object-fit:cover;border:.25rem solid var(--border-subtle);box-shadow:0 .5rem 1.5rem #0000004d;background-color:var(--bg-card-alt);color:var(--primary);font-size:3rem;font-weight:700}@media(max-width:768px){.recommendation-details-content{padding:var(--spacing-lg)}.recommendation-details-content .details-description{font-size:1.05rem}.quote-icon-large{font-size:4rem;top:.3125rem;left:.625rem}.author-avatar-large{width:6.25rem;height:6.25rem;font-size:2.5rem}}.skills-category{margin-bottom:3rem;width:100%}.category-title{font-size:1.5rem;color:var(--text-main);margin-bottom:1.5rem;border-bottom:2px solid var(--primary);display:inline-block;padding-bottom:.5rem}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:1rem;width:100%}.skills-tabs-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.75rem;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.skill-tab{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-muted);padding:.5rem;border-radius:.375rem;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:normal;line-height:1.2;display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-align:center}.skill-tab:hover{background:var(--border-subtle);color:var(--text-main);transform:translateY(-1px)}.skill-tab.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px #58a6ff40}.skills-content-wrapper{min-height:18.75rem}.skill-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.375rem;padding:0;display:flex;align-items:stretch;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative;cursor:default;height:100%;width:100%}.skill-card .skill-badge-container{width:100%;display:flex}.skill-card .skill-badge-normal{width:100%;justify-content:flex-start;padding:.75rem 1rem}.skill-card:hover{transform:translateY(-2px);background:var(--border-subtle);border-color:var(--primary);box-shadow:0 4px 12px #0003;z-index:10}.skill-icon{width:1.5rem;height:1.5rem;object-fit:contain;filter:grayscale(.2);transition:filter .2s ease}.skill-card:hover .skill-icon{filter:grayscale(0)}.skill-card .skill-name{font-weight:500;color:var(--text-secondary);font-size:.9rem;line-height:1.3;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;word-break:break-word}.skill-card:hover .skill-name{color:var(--text-primary)}.skill-actions{position:absolute;top:-.75rem;right:-.75rem;display:flex;gap:.25rem;opacity:0;transition:opacity .2s;z-index:3000}.skill-card:hover .skill-actions{opacity:1}.skill-action-btn{border:2px solid var(--bg-card, #1e1e1e);color:#fff;width:1.8rem;height:1.8rem;border-radius:50%;cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 6px #0000004d;transition:transform .2s ease,box-shadow .2s ease}.skill-action-btn.edit{background-color:var(--primary, #3b82f6)}.skill-action-btn.delete{background-color:#ef4444}.skill-action-btn:hover{transform:scale(1.1);box-shadow:0 6px 8px #0006}.category-header{display:flex;align-items:center;margin-bottom:1.5rem;min-height:3rem}.category-title-wrapper{display:flex;align-items:center;gap:1rem}.category-title{margin-bottom:0}.edit-cat-btn{opacity:.5;transition:opacity .2s}.category-header:hover .edit-cat-btn{opacity:1}.category-edit-form{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);padding:.5rem;border-radius:.5rem;border:1px solid var(--border-subtle)}.app-input-sm{padding:.25rem .5rem;border:1px solid var(--border-subtle);border-radius:.25rem;background:var(--bg-body);color:var(--text-main);font-size:.9rem}.app-btn-icon-sm{width:1.5rem;height:1.5rem;border-radius:.25rem;border:1px solid var(--border-subtle);background:var(--bg-card-hover);color:var(--text-main);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem}.app-btn-icon-sm.success{background:var(--success);color:#fff;border-color:var(--success)}.skeleton-tab{background:var(--bg-card-hover);height:2rem;border-radius:.375rem;animation:pulse 1.5s infinite}.skeleton-tab.w-sm{width:3.75rem}.skeleton-tab.w-md{width:5rem}.skeleton-tab.w-lg{width:4.375rem}.category-order-input{width:3.75rem}@keyframes pulse{0%{opacity:.6}50%{opacity:.3}to{opacity:.6}}.icon-picker-container{width:100%}.icon-search-wrapper{position:relative;margin-bottom:.5rem}.icon-search-results{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.5rem;max-height:12.5rem;overflow-y:auto;padding:.5rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(2.5rem,1fr));gap:.5rem;box-shadow:var(--shadow-lg);position:absolute;width:100%;z-index:10}.icon-result-item{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--bg-input);border:1px solid transparent;border-radius:.375rem;cursor:pointer;transition:all .2s;font-size:1.5rem;color:var(--text-main)}.icon-result-item:hover{background:var(--bg-card-hover);border-color:var(--primary);transform:scale(1.1)}.icon-result-item.selected{background:var(--primary-alpha-20);border-color:var(--primary)}.selected-icon-preview{display:flex;align-items:center;gap:1rem;margin-top:.5rem;padding:.5rem;background:var(--bg-card);border-radius:.375rem}.preview-icon{font-size:2rem;color:var(--primary)}.loading-dots{grid-column:1 / -1;text-align:center;padding:1rem;color:var(--text-muted)}.no-results{grid-column:1 / -1;text-align:center;padding:1rem;color:var(--text-muted);font-style:italic}.preview-icon-img{width:2rem;height:2rem}.icon-picker-clear-btn{padding:.125rem .5rem;font-size:.7rem}.soft-skill-badge{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-md);transition:all .3s ease;position:relative;overflow:hidden}.soft-skill-actions{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity .3s ease;z-index:10}.soft-skill-badge:hover .soft-skill-actions{opacity:1}.soft-skill-action-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);padding:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;width:28px;height:28px}.soft-skill-action-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.soft-skill-action-btn.delete:hover{background:var(--color-error);color:#fff;border-color:var(--color-error)}.soft-skill-action-btn.edit:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.soft-skill-badge:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--accent-color);opacity:0;transition:opacity .3s ease}.soft-skill-badge:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--accent-color)}.soft-skill-badge:hover:before{opacity:1}.soft-skill-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.soft-skill-icon{font-size:2rem;color:var(--accent-color);flex-shrink:0}.soft-skill-name{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.soft-skill-description{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin:var(--spacing-sm) 0;min-height:3em}.soft-skill-level{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color)}.level-dot{width:12px;height:12px;border-radius:50%;background:var(--border-color);transition:all .3s ease}.level-dot.active{background:var(--accent-color);box-shadow:0 0 8px var(--accent-color)}.soft-skill-badge.level-beginner .soft-skill-icon{color:var(--color-info)}.soft-skill-badge.level-intermediate .soft-skill-icon{color:var(--color-warning)}.soft-skill-badge.level-advanced .soft-skill-icon{color:var(--color-success)}.soft-skill-badge.level-expert .soft-skill-icon{color:var(--accent-color)}.soft-skill-badge.level-expert:before{background:linear-gradient(180deg,var(--accent-color),var(--color-success))}@media(max-width:768px){.soft-skill-badge{padding:var(--spacing-sm)}.soft-skill-name{font-size:1.1rem}.soft-skill-description{font-size:.85rem}.soft-skill-icon{font-size:1.75rem}}.new-soft-skill-collapsed{margin-top:var(--spacing-lg);text-align:center}.new-soft-skill-form,.edit-soft-skill-form{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--border-radius-md);padding:var(--spacing-lg);margin-top:var(--spacing-lg)}.new-soft-skill-form h3,.edit-soft-skill-form h3{margin-top:0;margin-bottom:var(--spacing-md);color:var(--text-primary)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);color:var(--text-secondary);font-size:.9rem;font-weight:500}.translations-section{background:var(--bg-secondary);border-radius:var(--border-radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.translations-section h4{margin-top:0;margin-bottom:var(--spacing-sm);color:var(--text-primary);font-size:1rem}.form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--border-color)}.edit-soft-skill-loading{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary)}@media(max-width:768px){.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions button{width:100%}}.soft-skills-content{width:100%}.soft-skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.skeleton-soft-skill-badge{height:180px;background:var(--skeleton-bg);border-radius:var(--border-radius-md);animation:skeleton-pulse 1.5s ease-in-out infinite}@media(max-width:768px){.soft-skills-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}}.cv-section{display:flex;flex-direction:column;align-items:center;gap:2rem;width:100%}.cv-controls{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:31.25rem;margin-bottom:1rem}.cv-toggles{display:flex;gap:.5rem;background:#ffffff0d;padding:.25rem;border-radius:.5rem;border:1px solid rgba(255,255,255,.1)}.cv-toggle{background:transparent;border:none;color:var(--text-secondary);padding:.5rem 1rem;border-radius:.375rem;cursor:pointer;font-weight:500;transition:all .2s ease}.cv-toggle:hover{color:var(--text-primary);background:#ffffff0d}.cv-toggle.active{background:var(--primary);color:#fff}.cv-download-btn{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:var(--primary);border:1px solid var(--primary);padding:.5rem 1rem;border-radius:.5rem;text-decoration:none;font-weight:500;transition:all .2s ease}.cv-download-btn:hover{background:var(--primary);color:#fff}.cv-preview-container{width:100%;max-width:50rem;background:transparent;border-radius:.75rem;overflow:hidden;position:relative;box-shadow:none;border:none;min-height:200px;display:flex;justify-content:center;aspect-ratio:1 / 1.414;background:var(--bg-card)}@media(max-width:480px){.cv-controls{flex-direction:column;gap:1rem}}.contact-links-container{display:flex;justify-content:center;gap:var(--spacing-xl);flex-wrap:wrap;margin-top:var(--spacing-xl)}.contact-card{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.75rem;padding:var(--spacing-lg);text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);width:17.5rem;flex-shrink:0;position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,transparent 0%,rgba(88,166,255,.05) 50%,transparent 100%);transform:translate(-100%);transition:transform .6s ease}.contact-card:hover{transform:translateY(-.3125rem);border-color:var(--primary);box-shadow:0 .5rem 1.5rem -.25rem #0006}.contact-card:hover:before{transform:translate(100%)}.contact-icon-wrapper{margin-bottom:var(--spacing-md);color:var(--text-muted);transition:color .3s ease,transform .3s ease}.contact-card:hover .contact-icon-wrapper{color:var(--primary);transform:scale(1.1)}.contact-info{display:flex;flex-direction:column;align-items:center;gap:.25rem;z-index:1}.contact-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.contact-value{font-size:var(--text-base);color:var(--text-main);font-weight:600}@media(max-width:768px){.contact-links-container{flex-direction:column;align-items:center;gap:var(--spacing-md)}.contact-card{width:15rem;padding:var(--spacing-md)}.contact-icon-wrapper{margin-bottom:var(--spacing-xs)}.contact-value{font-size:var(--text-sm)}}.app-footer{padding:2rem 1rem;text-align:center;background-color:var(--bg-body);border-top:1px solid var(--border-subtle);margin-top:4rem}.footer-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.copyright-text{color:var(--text-muted);font-size:.85rem;margin:0;font-weight:400;opacity:.8;letter-spacing:.02em}.footer-link{color:var(--text-muted);font-size:.85rem;text-decoration:none;transition:color .2s;opacity:.7}.footer-link:hover{color:var(--primary);opacity:1;text-decoration:underline}.company-card-clickable{cursor:pointer}.company-card-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.5rem;margin-bottom:var(--spacing-xs)}.company-card-header .app-card-title{margin-bottom:0;flex:1 1 auto;word-break:break-word;min-width:12.5rem}.company-meta-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;color:var(--text-secondary);font-size:.85rem}.company-meta-icon{flex-shrink:0;opacity:.8}.company-location{font-style:italic}.company-details-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl) 0;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);border-bottom:1px solid var(--border-subtle)}.company-title-override{margin-bottom:0!important}.company-details-role{font-size:var(--text-lg);color:var(--text-secondary);font-weight:500;margin-top:-.5rem}.company-details-meta-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.company-meta-pill{display:flex;align-items:center;gap:.5rem;padding:.35rem .75rem;background-color:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-full);font-size:.9rem;color:var(--text-secondary);transition:all .2s ease}.company-meta-pill:hover{border-color:var(--border-highlight);background-color:var(--bg-card-hover);color:var(--text-main);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.company-meta-pill svg{color:var(--primary);opacity:.9}.company-website-link{color:inherit;text-decoration:none}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top left,var(--bg-card) 0%,var(--bg-body) 100%);padding:var(--spacing-md);position:relative}.login-lang-container{position:absolute;top:1.25rem;right:1.25rem}.login-card{background:var(--bg-glass);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);border:1px solid var(--border-subtle);border-radius:1rem;padding:2.5rem;width:100%;max-width:25rem;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;align-items:center;position:relative;transition:all .3s ease}.back-link-login{position:absolute;top:1.25rem;left:1.25rem;background:transparent;border:none;color:var(--text-muted);cursor:pointer;font-size:1rem;padding:var(--spacing-sm);border-radius:.25rem;transition:color .2s,background .2s}.back-link-login:hover{color:var(--text-main);background:var(--bg-overlay)}.login-header-section{display:flex;justify-content:center;margin-bottom:var(--spacing-lg);width:100%}.login-avatar{width:6rem;height:6rem;border-radius:50%;object-fit:cover;border:.1875rem solid var(--primary);box-shadow:var(--shadow-glow);transition:all .2s}.register-avatar-wrapper{position:relative;width:6rem;height:6rem}.avatar-upload-label{cursor:pointer;display:block;width:100%;height:100%;position:relative;border-radius:50%}.avatar-placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg-input);border:.125rem dashed var(--text-muted);color:var(--text-muted);width:100%;height:100%;box-shadow:none}.avatar-placeholder:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-alpha-10)}.login-avatar.is-preview{display:block}.avatar-overlay{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;background:var(--bg-overlay);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;color:var(--text-inverse);font-size:.75rem;gap:.25rem;text-align:center;padding:.5rem;z-index:10}.avatar-upload-label:hover .avatar-overlay{opacity:1}.login-title{font-size:1.75rem;font-weight:700;margin:0 0 1.5rem;color:var(--text-main);text-align:center}.login-form{width:100%;display:flex;flex-direction:column;gap:var(--spacing-md)}.form-row-half{display:flex;gap:var(--spacing-md)}.input-group{position:relative;width:100%}.input-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none;transition:all .2s ease;z-index:1}.login-input{width:100%;padding:.75rem 1rem .75rem 2.85rem;background:var(--bg-input);border:1px solid var(--border-subtle);border-radius:.375rem;color:var(--text-main);font-size:1rem;outline:none;transition:all .2s ease}.input-group:focus-within .input-icon{color:var(--primary);transform:translateY(-50%) scale(1.1)}.login-input:focus{border-color:var(--primary);box-shadow:0 0 0 .1875rem var(--primary-alpha-10)}.login-button{margin-top:var(--spacing-sm);width:100%;padding:.75rem;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.login-error{color:var(--danger-hover);font-size:.9rem;text-align:center;margin-top:var(--spacing-sm);background:#ff7b721a;padding:var(--spacing-sm);border-radius:.375rem;border:1px solid rgba(255,123,114,.2)}.login-footer{text-align:center;margin-top:var(--spacing-md);font-size:.9rem;color:var(--text-muted)}.btn-link{background:none;border:none;color:var(--primary);cursor:pointer;text-decoration:underline;padding:0;font-size:inherit;font-family:inherit}.btn-link:hover{filter:brightness(1.2)}.login-form .btn-linkedin,.btn-linkedin{background-color:#0a66c2;color:#fff;border:none;margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:.625rem;font-weight:600}.login-form .btn-linkedin:hover,.btn-linkedin:hover{background-color:#004182;transform:translateY(-.0625rem);box-shadow:var(--shadow-md)}.login-divider{display:flex;align-items:center;text-align:center;margin:1.25rem 0;color:var(--text-muted);font-size:.85rem;width:100%}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-subtle)}.login-divider:not(:empty):before{margin-right:.5em}.login-divider:not(:empty):after{margin-left:.5em}.hidden-file-input{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.turnstile-container{margin-bottom:1rem;display:flex;justify-content:center;min-height:4.0625rem}.login-info-wrapper{display:flex;align-items:center;gap:.75rem;background:var(--bg-card-hover);border:1px solid var(--border-subtle);border-radius:.5rem;padding:.625rem .875rem;margin-bottom:1.5rem;width:100%;text-align:left;font-size:.85rem}.login-info-wrapper:hover{background:var(--bg-card);border-color:var(--border-default)}.info-icon-main{color:var(--primary);flex-shrink:0;margin:0}.login-info-wrapper p{margin:0;color:var(--text-muted);line-height:1.4}.user-manager-page{margin-top:2.5rem;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(.625rem)}to{opacity:1;transform:translateY(0)}}.user-manager-header{margin-bottom:var(--spacing-xl)}.user-list-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:.75rem;box-shadow:0 .5rem 2rem #0000004d;overflow:hidden;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.user-table-wrapper{overflow-x:auto}.user-table{width:100%;border-collapse:collapse;text-align:left}.user-table th{padding:1.25rem 1.5rem;font-weight:600;text-transform:uppercase;font-size:.75rem;letter-spacing:.05em;color:var(--text-muted);background:#ffffff05;border-bottom:1px solid var(--border-subtle)}.user-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-default);color:var(--text-main);vertical-align:middle}.user-table tr:last-child td{border-bottom:none}.no-users-message{text-align:center;padding:1.875rem;color:var(--text-muted)}.user-table tr:hover{background:#ffffff05}.user-info{display:flex;align-items:center;gap:1rem}.user-avatar{width:2.5rem;height:2.5rem;border-radius:50%;border:.125rem solid var(--border-subtle);background:var(--bg-body);font-size:.9rem}.user-email{font-size:.95rem;font-weight:500;display:block;color:var(--text-main)}.user-name{font-size:.8rem;color:var(--text-muted)}.role-badge{padding:.25rem .75rem;border-radius:1.25rem;font-size:.7rem;font-weight:700;text-transform:uppercase;display:inline-flex;align-items:center;gap:.375rem}.role-admin{background:#f59e0b1a;color:#f59e0b;border:1px solid rgba(245,158,11,.2)}.role-user{background:#58a6ff1a;color:var(--primary);border:1px solid rgba(88,166,255,.2)}.status-badges{display:flex;gap:.5rem;flex-wrap:wrap}.status-badge{padding:.2rem .6rem;border-radius:6px;font-size:.65rem;font-weight:800;text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.status-active{background:#22c55e1a;color:#22c55e}.status-inactive{background:#ef44441a;color:var(--danger)}.status-verified{background:#3b82f61a;color:#3b82f6}.status-unverified{background:#6b72801a;color:var(--text-muted)}.actions-cell{display:flex;gap:.5rem;justify-content:flex-end}.action-icon-btn{background:var(--bg-body);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;padding:.4rem;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center}.action-icon-btn:hover{background:var(--border-default);color:var(--text-main);border-color:var(--text-muted)}.action-icon-btn.delete-btn-simple:hover{background:#ef44441a;color:var(--danger);border-color:var(--danger)}.modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;z-index:2000;animation:fadeIn .2s ease-out;padding:1.25rem;overflow-y:auto}.modal-content{background:var(--bg-card);width:100%;max-width:31.25rem;padding:var(--spacing-2xl);border-radius:.75rem;border:1px solid var(--border-subtle);box-shadow:0 1.5rem 3.125rem -.75rem #000000b3;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(1.25rem);opacity:0}to{transform:translateY(0);opacity:1}}.modal-title{margin-bottom:var(--spacing-xl);font-size:1.75rem;font-weight:700;color:var(--text-main);text-align:center}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:.85rem;font-weight:600;color:var(--text-muted)}.segmented-control{display:flex;background:var(--bg-body);border:1px solid var(--border-subtle);padding:.25rem;border-radius:.625rem;gap:.5rem}.control-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;border:none;background:transparent;color:var(--text-muted);font-size:.85rem;font-weight:600;cursor:pointer;border-radius:.375rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.control-btn:hover:not(.active){background:#ffffff0d;color:var(--text-main)}.control-btn.active{background:var(--primary);color:var(--text-inverse);box-shadow:0 .25rem .75rem #58a6ff33}.checkbox-group{display:flex;align-items:center;gap:.75rem;cursor:pointer;margin-bottom:.75rem;color:var(--text-main);padding:.625rem .875rem;background:#ffffff05;border:1px solid var(--border-subtle);border-radius:.625rem;transition:all .2s;-webkit-user-select:none;user-select:none}.checkbox-group:hover{background:#ffffff0d;border-color:var(--primary)}.checkbox-input{width:1.125rem;height:1.125rem;accent-color:var(--primary);cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:var(--spacing-xl)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6.25rem 0;color:var(--text-muted)}.loader{width:2.5rem;height:2.5rem;border:.1875rem solid var(--border-subtle);border-bottom-color:var(--primary);border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite;margin-bottom:1.25rem}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.user-table th,.user-table td{padding:.75rem 1rem}.status-badges{flex-direction:column;gap:.125rem}.modal-content{padding:var(--spacing-lg);max-width:95%}}.admin-page-main{min-height:80vh;padding-top:5rem}.maintenance-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background-color:var(--bg-body);color:var(--text-main);padding:var(--spacing-xl);text-align:center;position:relative}.maintenance-lang-container{position:absolute;top:var(--spacing-xl);right:var(--spacing-xl)}.maintenance-logo{width:80px;height:80px;margin-bottom:var(--spacing-md)}.maintenance-title{font-size:var(--text-3xl);margin-bottom:0;color:var(--primary);font-weight:700;line-height:1.1}.maintenance-text{font-size:var(--text-lg);max-width:600px;line-height:1.6;color:var(--text-muted);margin-top:2rem}.maintenance-btn{padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--text-base);font-weight:600}.system-status-container{margin-top:var(--spacing-2xl);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;padding:1.25rem;min-width:300px;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.system-status-title{font-size:var(--text-base);color:var(--text-muted);margin-top:0;margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.status-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--border-default)}.status-item:last-child{border-bottom:none}.status-name{color:var(--text-main);font-size:var(--text-sm)}.status-indicator{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--text-sm);font-weight:500}.status-dot{width:8px;height:8px;border-radius:50%;background-color:var(--text-muted);box-shadow:0 0 5px #8b949e80}.status-operational .status-dot{background-color:var(--success);box-shadow:0 0 8px #23863699}.status-operational{color:var(--success-hover)}.status-degraded .status-dot{background-color:#d29922;box-shadow:0 0 8px #d2992299}.status-degraded{color:#e3b341}.status-maintenance .status-dot{background-color:var(--primary);box-shadow:0 0 8px #1f6feb99}.status-maintenance{color:var(--primary)}.status-checking .status-dot{background-color:var(--text-muted);animation:status-pulse 1.5s infinite}.status-checking{color:var(--text-muted)}@keyframes status-pulse{0%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}to{opacity:.4;transform:scale(.9)}}.legal-page-wrapper{min-height:100vh;display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(circle at top left,var(--bg-card) 0%,var(--bg-body) 100%);padding:var(--spacing-lg) var(--spacing-md);color:var(--text-main)}.legal-container{background:var(--bg-glass);backdrop-filter:blur(.75rem);-webkit-backdrop-filter:blur(.75rem);border:1px solid var(--border-subtle);border-radius:1rem;padding:3rem;width:100%;max-width:50rem;box-shadow:var(--shadow-xl);position:relative;animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.legal-back-link{position:absolute;top:1.5rem;left:1.5rem;color:var(--text-muted);text-decoration:none;font-size:1rem;padding:.5rem 1rem;border-radius:.25rem;transition:all .2s ease}.legal-back-link:hover{color:var(--text-main);background:var(--bg-overlay)}.legal-main-title{font-size:2rem;font-weight:700;margin-bottom:2rem;margin-top:1rem;text-align:center;color:var(--text-main)}.legal-content{display:flex;flex-direction:column;gap:2rem}.legal-section h2{font-size:1.25rem;margin-bottom:1rem;color:var(--text-main);line-height:1.6}.legal-section h3{font-size:1.1rem;color:var(--primary);margin-bottom:.5rem;font-weight:600}.legal-section p{color:var(--text-muted);line-height:1.6;margin-bottom:.5rem}.legal-section ul{list-style-type:disc;margin-left:1.5rem;color:var(--text-muted)}.legal-section li{margin-bottom:.5rem}.highlight-box{background:var(--primary-alpha-10);border:1px solid var(--primary-alpha-20);border-radius:.5rem;padding:1.5rem;margin-top:1rem;text-align:center}.no-resale-text{font-size:1.1rem;color:var(--text-main);margin:0}body{margin:0;font-family:var(--font-main);background-color:var(--bg-body);color:var(--text-main)}a{color:inherit;text-decoration:none}*{box-sizing:border-box}.loading-container{height:100vh;display:flex;align-items:center;justify-content:center;color:var(--text-main);font-size:1.2rem;background-color:var(--bg-body)}.error-container{height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--bg-body);color:var(--error);font-family:var(--font-main);text-align:center;padding:1.25rem}
