body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg-panel:#fff;--bg-details:#f6f8fa;--border-color:#d0d7de;--text-gray:#57606a;--text-main:#24292f;--blue-active:#0969da;--cell-empty:#ebedf0;--cell-outline:#1b1f230f;--tooltip-bg:#24292f;--level-1:#9be9a8;--level-2:#40c463;--level-3:#30a14e;--level-4:#216e39}[data-theme=dark]{--bg-panel:#161b22;--bg-details:#0d1117;--border-color:#30363d;--text-gray:#8b949e;--text-main:#c9d1d9;--blue-active:#1f6feb;--cell-empty:#161b22;--cell-outline:#ffffff0d;--tooltip-bg:#6e7681;--level-1:#0e4429;--level-2:#006d32;--level-3:#26a641;--level-4:#39d353}.calendar-root-wrapper{color:var(--text-main);flex-direction:row;align-items:flex-start;gap:24px;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:color .3s;display:flex;position:relative}.calendar-root-wrapper *{box-sizing:border-box;transition:background-color .3s,border-color .3s,color .3s}@media (width<=768px){.calendar-root-wrapper{flex-direction:column;gap:16px;width:100%;padding:12px;overflow:hidden}}.year-selector{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.year-selector button{color:var(--text-main);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 12px;font-size:13px}.year-selector button.active{background:var(--blue-active);color:#fff;font-weight:600}.year-selector button:hover:not(.active){background:var(--bg-details)}@media (width<=768px){.year-selector{flex-direction:row;width:100%;padding-bottom:8px;overflow-x:auto}}.calendar-main-container{background:var(--bg-panel);border:1px solid var(--border-color);-webkit-overflow-scrolling:touch;border-radius:6px;width:100%;max-width:100%;padding:16px;overflow-x:auto}.calendar-scroll-box{min-width:720px;padding-bottom:10px}.calendar-flex-row{gap:8px;display:flex}.day-labels-col{grid-template-rows:20px repeat(7,11px);gap:3px;display:grid}.day-labels-col span{color:var(--text-gray);height:11px;font-size:10px;line-height:11px}.day-labels-col .month-spacer{height:20px}.weeks-wrapper{gap:3px;display:flex}.week-column{flex:0 0 11px;grid-template-rows:20px repeat(7,11px);gap:3px;display:grid}.week-column .month-label{color:var(--text-gray);white-space:nowrap;height:20px;font-size:10px;line-height:20px}.cell{background-color:var(--cell-empty);outline:1px solid var(--cell-outline);outline-offset:-1px;cursor:pointer;border-radius:2px;width:11px;height:11px;transition:transform .1s,background-color .3s}.cell.hidden{visibility:hidden}.cell.selected{outline:2px solid var(--blue-active);outline-offset:1px;z-index:5}.cell.level-1{background-color:var(--level-1)}.cell.level-2{background-color:var(--level-2)}.cell.level-3{background-color:var(--level-3)}.cell.level-4{background-color:var(--level-4)}.cell:hover:not(.hidden){outline:1px solid var(--text-gray);transform:scale(1.2)}.gh-tooltip{background:var(--tooltip-bg);color:#fff;white-space:nowrap;pointer-events:none;z-index:1000;border-radius:6px;padding:5px 10px;font-size:11px;transition:opacity .2s;position:absolute;transform:translate(-50%,-100%);box-shadow:0 8px 24px #0003}.gh-tooltip:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid var(--tooltip-bg);position:absolute;top:100%;left:50%;transform:translate(-50%)}.calendar-footer{color:var(--text-gray);justify-content:flex-end;align-items:center;gap:4px;margin-top:12px;font-size:11px;display:flex}.calendar-footer .footer-cells{gap:3px;margin:0 4px;display:flex}.details-card{background:var(--bg-details);border:1px solid var(--border-color);border-radius:6px;margin-top:24px;padding:16px}.details-card .details-header{justify-content:space-between;align-items:baseline;margin-bottom:12px;display:flex}.details-card .details-header h3{color:var(--text-main);margin:0;font-size:16px}.details-card .source-row{border-top:1px solid var(--border-color);color:var(--text-main);justify-content:space-between;padding:8px 0;font-size:13px;display:flex}.details-card .source-row a{color:var(--blue-active);text-decoration:none}.details-card .source-row a:hover{text-decoration:underline}.details-card .source-private{color:var(--text-gray);font-size:.9em;font-style:italic}.language-switcher{font-family:sans-serif;display:inline-block;position:relative}.language-switcher__trigger{color:inherit;cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;transition:all .2s;display:flex}.language-switcher__trigger:hover{background:#fff3;border-color:#fff6}.language-switcher__trigger .arrow{font-size:.7em;transition:transform .2s}.language-switcher__trigger .arrow--open{transform:rotate(180deg)}.language-switcher__dropdown{z-index:1000;background:#fff;border-radius:10px;min-width:140px;margin:0;padding:6px;list-style:none;animation:.2s ease-out fadeIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 25px #0000001a}.language-switcher__dropdown li{margin-bottom:2px}.language-switcher__dropdown li:last-child{margin-bottom:0}.language-switcher__option{color:#333;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:background .2s;display:flex}.language-switcher__option:hover{background:#f5f5f5}.language-switcher__option--active{color:#4f46e5;background:#eef2ff;font-weight:600}.language-switcher__option .flag{font-size:1.2em}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.theme-toggle{cursor:pointer;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff1a;border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.2rem;transition:all .2s;display:flex}.theme-toggle:hover{background:#fff3;transform:scale(1.1)}.theme-toggle__icon{transition:transform .5s cubic-bezier(.175,.885,.32,1.275)}.theme-toggle__icon.is-dark{transform:rotate(360deg)}[data-theme=dark] .theme-toggle{background:#0000004d;border-color:#ffffff1a}.about-me{background-color:var(--bg-main);padding:60px 24px;transition:background-color .3s}.about-me__container{max-width:1100px;margin:0 auto}.about-me__title{color:var(--text-main);margin-bottom:40px;font-size:2.5rem}@media (width<=768px){.about-me__title{font-size:1.75rem}}.about-me__grid{grid-template-columns:1.5fr 1fr;gap:60px;display:grid}.about-me__grid.no-testimonials{grid-template-columns:1fr;max-width:800px}@media (width<=768px){.about-me__grid{grid-template-columns:1fr}}.about-me__bio{color:var(--text-main);margin-bottom:30px;font-size:1rem;line-height:1.6}.about-me .about-me__actions{gap:15px;margin-top:20px;display:flex}.about-me .about-me__actions:empty{display:none}.about-me__download-btn{background-color:var(--blue-active);color:#fff;border-radius:8px;align-items:center;gap:10px;padding:12px 24px;font-weight:600;text-decoration:none;transition:transform .2s,filter .2s;display:inline-flex}.about-me__download-btn:hover{filter:brightness(1.1);transform:translateY(-2px)}.testimonial-card{background:var(--bg-details);border:1px solid var(--border-color);border-radius:12px;margin-bottom:20px;padding:20px;position:relative}.testimonial-card p{color:var(--text-main);margin-bottom:15px;font-style:italic}.testimonial-card cite{flex-direction:column;font-style:normal;display:flex}.testimonial-card cite strong{color:var(--text-main)}.testimonial-card cite span{color:var(--text-gray);font-size:.85rem}.testimonial-text:before{content:open-quote}.testimonial-text:after{content:close-quote}:root{--bg-main:#fff;--text-main:#1a1a1a;--card-bg:#f5f5f5;--border-color:#e1e4e8;--tooltip-bg:#24292f;--tooltip-text:#fff;--accent-color:#0969da;--transition-speed:.3s}[data-theme=dark]{--bg-main:#0d1117;--text-main:#c9d1d9;--card-bg:#161b22;--border-color:#30363d;--tooltip-bg:#6e7681;--tooltip-text:#fff;--accent-color:#58a6ff}.App{background-color:var(--bg-main);min-height:100vh;color:var(--text-main);transition:background-color var(--transition-speed), color var(--transition-speed);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.App-header-nav{border-bottom:1px solid var(--border-color);height:60px;padding:.5rem 2rem}.App-header-nav .nav-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;display:flex}.App-header-nav .nav-logo{align-items:center;height:100%}.App-header-nav .nav-logo img{width:auto;height:80px;transition:transform .2s;display:block}.App-header-nav .nav-logo img:hover{transform:scale(1.05)}.App-header-nav .nav-controls{align-items:center;gap:1rem;display:flex}.App-content{flex-direction:column;flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem;display:flex;overflow:hidden}@media (width<=768px){.App-content{width:80%;padding:1rem}}.App-content .stats-section{justify-content:center;margin-bottom:3rem;display:flex}.App-content>section,.App-content>.about-me,.App-content>.contact-section{margin-bottom:4rem}.App-content>section:last-child,.App-content>.about-me:last-child,.App-content>.contact-section:last-child{margin-bottom:2rem}.App-footer{border-top:1px solid var(--border-color);background-color:var(--card-bg);transition:background-color var(--transition-speed);padding:1rem 2rem}.App-footer .footer-container{justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;display:flex}@media (width<=600px){.App-footer .footer-container{text-align:center;flex-direction:column}}.App-footer .footer-socials{gap:1.2rem;display:flex}.App-footer .footer-socials a{color:var(--text-main);align-items:center;font-size:1.4rem;transition:color .2s,transform .2s;display:flex}.App-footer .footer-socials a:hover{color:var(--accent-color);transform:translateY(-2px)}.App-footer .footer-copyright{color:var(--text-main);opacity:.8;font-size:.85rem}html{scroll-behavior:smooth}.contact-section{background-color:var(--bg-main);padding:80px 24px;transition:background-color .3s}.contact-section .contact-container{max-width:1000px;margin:0 auto}.contact-section .contact-title{text-align:center;margin-bottom:40px;font-size:2.5rem}@media (width<=768px){.contact-section .contact-title{font-size:1.75rem}}.contact-section .contact-grid{grid-template-columns:1fr 1.5fr;gap:50px;display:grid}@media (width<=768px){.contact-section .contact-grid{grid-template-columns:1fr}}.contact-section .contact-info h3{color:var(--accent-color);margin-bottom:20px}.contact-section .contact-info p{color:var(--text-main);margin-bottom:30px;font-size:1rem;line-height:1.6}.contact-section .contact-info .contact-method{align-items:center;gap:15px;font-size:1.1rem;display:flex}.contact-section .contact-info .contact-method a{color:var(--text-main);text-decoration:none}.contact-section .contact-info .contact-method a:hover,.contact-section .contact-info .contact-method .icon{color:var(--accent-color)}.contact-section .contact-form{flex-direction:column;gap:15px;display:flex}.contact-section .contact-form input,.contact-section .contact-form textarea{background:var(--card-bg);border:1px solid var(--border-color);width:100%;color:var(--text-main);border-radius:8px;padding:12px;font-family:inherit;transition:border-color .2s}.contact-section .contact-form input:focus,.contact-section .contact-form textarea:focus{border-color:var(--accent-color);outline:none}.contact-section .contact-form input.error,.contact-section .contact-form textarea.error{border-color:#ff4d4d}.contact-section .contact-form textarea{resize:vertical;min-height:150px}.contact-section .contact-form .submit-btn{background:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:12px;font-weight:600;transition:filter .2s;display:flex}.contact-section .contact-form .submit-btn:disabled{opacity:.6;cursor:not-allowed}.contact-section .contact-form .submit-btn:hover:not(:disabled){filter:brightness(1.1)}.contact-section .contact-form .status-msg{text-align:center;font-size:.9rem}.contact-section .contact-form .status-msg.success{color:#2ea043}.contact-section .contact-form .status-msg.error{color:#f85149}
