/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@import "https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200";@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}:root{--primary-text-color:#2d3748;--secondary-text-color:#4a5568;--tertiary-text-color:#718096;--accent-color:#3182ce;--accent-hover-color:#2b6cb0;--link-color:var(--accent-color);--panel-bg:#fff;--panel-border-color:#e2e8f0;--body-bg:#f7fafc;--hiring-bg:var(--accent-hover-color);--hiring-text:#fff;--border-radius-card:8px;--border-radius-inner:4px;--card-shadow:0 4px 12px -1px #00000012,0 2px 8px -1px #0000000a;--font-heading:"Outfit",sans-serif;--font-body:"PT Sans",sans-serif;--pill-core-bg:#3773e2;--pill-core-color:#fff;--pill-core-border:transparent;--pill-secondary-bg:#eef2f6;--pill-secondary-color:#718096;--pill-secondary-border:#e2e8f0;--touch-target-size:44px;--window-bg:#fff;--window-border:#e2e8f0;--title-bar-bg:#f0f0f0;--terminal-bg:#000;--terminal-text:#3f0;--close-btn-color:#ff5f57;--minimize-btn-color:#ffbd2e;--maximize-btn-color:#28c940}.dark{--primary-text-color:#e6e6e9;--secondary-text-color:#c7c9d1;--tertiary-text-color:#9aa3ad;--accent-color:#60a5fa;--accent-hover-color:#3b82f6;--link-color:var(--accent-color);--body-bg:#0b0e13;--panel-bg:#12161c;--panel-border-color:#222833;--card-shadow:none;--hiring-bg:#2563eb;--hiring-text:#fff;--window-bg:var(--panel-bg);--window-border:#253042;--title-bar-bg:#151b24;--terminal-bg:#0a0a0b;--terminal-text:#a7f3d0;--close-btn-color:#f87171;--minimize-btn-color:#fbbf24;--maximize-btn-color:#34d399}html.dark body{background-color:var(--body-bg);color:var(--primary-text-color);color-scheme:dark}html.dark main.card-container-refactored{background-color:var(--panel-bg);border-color:var(--panel-border-color);box-shadow:none}html.dark .hero{border-bottom-color:var(--panel-border-color)}html.dark nav.social-icons a{color:var(--secondary-text-color)}html.dark nav.social-icons a:hover{color:var(--accent-hover-color);background-color:#3b82f61f}html.dark section{border-bottom-color:var(--panel-border-color)}html.dark section h2{color:var(--primary-text-color)}html.dark .pill.core{color:#cfe2ff;background-color:#3b82f626;border-color:#60a5fa}html.dark .pill.secondary{color:#b6bcc6;background-color:#1c2531;border-color:#2a3442}html.dark .footer-refactored{border-top-color:var(--panel-border-color);background-color:#0f141a}html.dark .client-logos a,html.dark .footer-refactored{color:var(--tertiary-text-color)}html.dark .client-logos img{opacity:.75;filter:grayscale(.2)}html.dark .macos-dock{background-color:#181c24b3}html.dark .dock-icon{background-color:#14181fe6}html.dark .app-window{border-color:var(--window-border)}html.dark .app-window .title-bar{background-color:var(--title-bar-bg);border-bottom-color:var(--window-border)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body,html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--secondary-text-color);background-color:var(--body-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;padding:1rem;font-size:15px;line-height:1.55}.details-link,.pill,.social-icons a,a,button{-webkit-tap-highlight-color:#0000;touch-action:manipulation}i.bi{vertical-align:-.15em}main.card-container-refactored{background-color:var(--panel-bg);border-radius:var(--border-radius-card);max-width:560px;box-shadow:var(--card-shadow);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);border:1px solid var(--panel-border-color);border-top:none;margin:4rem auto 2rem;position:relative;overflow:visible}.card-title-bar{background-color:var(--title-bar-bg);height:26px}@supports (color:color-mix(in lab,red,red)){.card-title-bar{background-color:color-mix(in srgb,var(--title-bar-bg)95%,#000 5%)}}.card-title-bar{border-bottom:1px solid var(--panel-border-color);border-top-left-radius:var(--border-radius-card);border-top-right-radius:var(--border-radius-card);cursor:move;align-items:center;padding-left:12px;display:flex}.card-title-bar .window-controls{gap:6px;position:relative;top:auto;left:auto}.window-controls{z-index:10;gap:6px;position:absolute;top:10px;left:12px}.control{border-radius:50%;width:10px;height:10px;display:block}.control.close{background-color:#ff5f57}.control.minimize{background-color:#ffbd2e}.control.maximize{background-color:#28c940}.hero{text-align:center;border-bottom:1px solid var(--panel-border-color);padding:35px 25px 25px;position:relative}.hiring-badge{background:var(--hiring-bg);color:var(--hiring-text);border-radius:var(--border-radius-inner);text-transform:uppercase;letter-spacing:.5px;writing-mode:vertical-rl;transform-origin:0 0;z-index:5;padding:2px 4px;font-size:.55rem;font-weight:700;line-height:1;position:absolute;top:45px;left:-7px;transform:rotate(-90deg)}.hero h1{font-family:var(--font-heading);color:var(--primary-text-color);margin-bottom:.1em;margin-left:15px;font-size:1.7rem;font-weight:600}.hero .role{font-family:var(--font-body);color:var(--secondary-text-color);margin-bottom:.3em;margin-left:15px;font-size:.9rem;font-weight:400}.hero .hook{font-family:var(--font-heading);color:var(--accent-color);margin-top:.2em;margin-bottom:.6em;margin-left:15px;font-size:1rem;font-weight:600}nav.social-icons{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:.5em;margin-left:15px;display:flex}nav.social-icons a{color:var(--secondary-text-color);border-radius:4px;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:8px;font-size:1.1rem;line-height:1;transition:color .2s,background-color .2s;display:flex}nav.social-icons a:active{background-color:#ebf8ff;transform:scale(.97)}nav.social-icons a:hover{color:var(--accent-hover-color);background-color:#ebf8ff}nav.social-icons a i.bi{margin-right:0}section{border-bottom:1px solid var(--panel-border-color);padding:15px 25px}section:last-of-type{border-bottom:none}section h2{font-family:var(--font-heading);color:var(--primary-text-color);text-transform:uppercase;letter-spacing:.5px;align-items:center;font-size:1rem;font-weight:600;display:flex}section h2,section.skills h2{margin-bottom:10px}section h2 i.bi{color:var(--accent-color);margin-right:.6em;font-size:1em}.pill-row{flex-wrap:wrap;gap:5px 6px;padding:1px 0;display:flex}.pill-row.secondary{margin-top:6px}.pill{border-radius:var(--border-radius-inner);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;align-items:center;min-height:26px;padding:3px 8px;font-size:.75rem;font-weight:500;line-height:1.25;display:flex}.pill.core{color:var(--accent-hover-color);border:1px solid var(--accent-color);background-color:#ebf8ff;font-weight:600}.pill.secondary{background-color:var(--pill-secondary-bg);color:var(--pill-secondary-color);border:1px solid var(--pill-secondary-border);padding:2px 7px;font-size:.7rem}.projects ul{margin-bottom:.4em;padding-left:0;list-style:none}.projects li{flex-wrap:nowrap;align-items:flex-start;width:100%;margin-bottom:.6em;font-size:.8rem;display:flex}.projects li i.bi{color:var(--accent-color);text-align:center;flex-shrink:0;min-width:1.1em;margin-top:.1em;margin-right:.6em;font-size:.95em}.projects li i.bi-bar-chart{color:#38a169}.projects li i.bi-telegram{color:#229ed9}.projects li strong{color:var(--primary-text-color);font-weight:700}.project-text-content{word-wrap:break-word;flex:1;min-width:0;line-height:1.3}.project-detail-indent{line-height:1.4;display:inline-block}.details-link{color:var(--link-color);align-items:center;min-height:28px;margin-top:.1em;padding:3px 0;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .2s;display:inline-flex}.details-link:hover{color:var(--accent-hover-color);text-decoration:underline}.details-link:active{transform:scale(.97)}.details-link i.bi{vertical-align:middle;margin-right:.2em;font-size:1em;transition:transform .2s}.details-link:hover i.bi{transform:translate(3px)}.more-projects-container{margin-top:.1em}.more-projects-list{color:var(--secondary-text-color);margin-top:.3em;padding-left:1.5em;font-size:.75rem;list-style:none}.more-projects-list li{align-items:flex-start;margin-bottom:.2em;display:flex}.more-projects-list li i.bi{color:var(--accent-color);min-width:1em;margin-top:.1em;margin-right:.6em;font-size:.85em}.footer-refactored{text-align:center;color:var(--tertiary-text-color);border-top:1px solid var(--panel-border-color);background-color:#f8f9fa;padding:5px 20px;font-size:.7rem;line-height:1.25}.footer-refactored p{margin:0}.clients{border-bottom:none;padding:8px 25px}.client-logos{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:12px;padding-bottom:5px;display:flex;overflow-x:auto}.client-logos::-webkit-scrollbar{display:none}.client-logos a{color:inherit;flex:none;justify-content:center;align-items:center;min-width:60px;padding:0 5px;text-decoration:none;transition:color .3s;display:flex}.client-logos img{object-fit:contain;filter:grayscale();opacity:.65;width:auto;max-width:70px;max-height:20px;transition:filter .3s,opacity .3s}.client-logos a:hover img{filter:grayscale(0);opacity:1}@media (max-width:767px){.pill-row{justify-content:center}.client-logos{justify-content:space-between;padding:5px 0}.client-logos img{max-width:60px;max-height:18px}}@media (max-width:480px){.projects li{margin-bottom:.6em;padding-left:1.6em;display:block;position:relative}.projects li i.bi{position:absolute;top:.1em;left:0}.project-text-content{display:inline}.client-logos{justify-content:space-between}.client-logos a{min-width:45px}.client-logos img{max-width:45px;max-height:15px}.client-logos a[href*=inno\.tech] img{max-width:40px}.client-logos a[href*=vtb\.com] img{max-width:35px}}.clients:last-of-type{border-bottom:none}@media (min-width:1200px){body{font-size:16px}}@media (max-width:600px){body{font-size:14px;line-height:1.45}main.card-container-refactored{max-width:95%;margin:.8rem auto}.hero{padding:20px 15px 10px}.hero h1{margin-left:10px;font-size:1.5rem}.hero .role{margin-bottom:.2em;margin-left:10px;font-size:.85rem}.hero .hook{margin-bottom:.4em;margin-left:10px;font-size:.95rem}.hiring-badge{padding:1px 3px;font-size:.5rem;top:38px;left:-6px}nav.social-icons{flex-wrap:wrap;justify-content:center;gap:4px;margin-top:.3em;margin-left:10px}nav.social-icons a{min-width:36px;min-height:36px;padding:6px;font-size:1.1rem}section{padding:12px 15px}section h2{margin-bottom:8px;font-size:.95rem}.pill{min-height:24px;padding:2px 7px;font-size:.7rem}.pill.secondary{padding:2px 6px;font-size:.65rem}.projects li{margin-bottom:.7em;font-size:.78rem}.projects li i.bi{margin-right:.5em;font-size:.9em}.projects li br{display:none}.project-text-content{line-height:1.25;display:block}.details-link{min-height:26px;margin-top:.3em;padding:4px 0;font-size:.75rem;display:inline-block}.footer-refactored{padding:6px 15px;font-size:.65rem;line-height:1.2}.footer-refactored p{word-wrap:break-word;line-height:1.3}.clients{border-bottom:none;padding:6px 15px}}@media (max-width:400px){.hero h1{margin-left:5px;font-size:1.3rem}.hero .role{margin-left:5px;font-size:.8rem}.hero .hook{margin-left:5px;font-size:.85rem}.hiring-badge{display:none}nav.social-icons{margin-left:0}nav.social-icons a{min-width:34px;min-height:34px;padding:5px;font-size:1rem}.pill{min-height:22px;padding:2px 5px;font-size:.65rem}.pill-row{justify-content:flex-start;gap:4px 5px}.projects li strong{display:inline}.footer-refactored{font-size:.6rem;line-height:1.2}}@supports (-webkit-touch-callout:none){body{-webkit-overflow-scrolling:touch}.details-link,.pill,nav.social-icons a{-webkit-tap-highlight-color:transparent}.projects li{width:100%}.project-text-content{word-break:break-word;width:100%}.client-logos{-webkit-overflow-scrolling:touch;scrollbar-width:none}a,button{cursor:pointer}}@supports (padding:max(0px)){body{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}main.card-container-refactored{width:calc(100% - max(0px,env(safe-area-inset-left)) - max(0px,env(safe-area-inset-right)))}}.analysis-section,.card-container-revised,.card-header,.card-header-revised,.contact-links-row,.core-skills-section,.cta-button,.education-languages,.footer-revised,.header-left,.header-right,.hiring-window-top,.icon-row,.job-title-revised,.left-column,.main-content-area,.metrics-details,.narrative-hook-revised,.project-snapshots-section,.right-column,.skill-group,.skill-group-label,.social-links,.status-badge,.tag,.tags-container,.tech-stack-secondary-section{display:none!important}.macos-dock{-webkit-backdrop-filter:blur(10px);background-color:#f0f0f0b3;border-radius:12px;gap:10px;margin-top:15px;padding:8px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.dock-icon,.macos-dock{justify-content:center;display:flex}.dock-icon{cursor:pointer;width:40px;height:40px;color:var(--accent-color);background-color:#ffffffe6;border:none;border-radius:8px;align-items:center;font-size:1.2rem;transition:transform .2s,box-shadow .2s;box-shadow:0 2px 4px #0000001a}.dock-icon:hover{transform:translateY(-5px)scale(1.1);box-shadow:0 4px 8px #00000026}.dock-icon:active{transform:translateY(-2px)scale(1.05)}.macos-windows{pointer-events:none;z-index:1000;width:100%;height:100%;position:fixed;top:0;left:0}.app-window{background-color:var(--window-bg);border:1px solid var(--window-border);pointer-events:auto;opacity:.95;transform-origin:50%;border-radius:8px;flex-direction:column;width:450px;min-width:300px;height:320px;min-height:220px;animation:windowAppear .3s forwards;display:flex;position:absolute;overflow:hidden;box-shadow:0 10px 25px -5px #00000026,0 10px 10px -5px #0000001a}@keyframes windowAppear{0%{opacity:0;transform:scale(.9)}to{opacity:.95;transform:scale(1)}}.app-window .title-bar{background-color:var(--title-bar-bg);border-bottom:1px solid var(--window-border);cursor:move;align-items:center;height:28px;padding:0 10px;display:flex}.window-buttons{gap:6px;margin-right:10px;display:flex}.close-button{background-color:var(--close-btn-color)}.minimize-button{background-color:var(--minimize-btn-color)}.maximize-button{background-color:var(--maximize-btn-color)}.title-text{text-align:center;flex-grow:1;font-size:.8rem;font-weight:500}.window-content{background-color:var(--window-bg);flex-grow:1;padding:15px;overflow-y:auto}.resize-handle{cursor:nwse-resize;background-color:#0000;width:15px;height:15px;position:absolute;bottom:0;right:0}.project-entry{border-bottom:1px solid var(--window-border);margin-bottom:15px;padding-bottom:15px}.project-entry:last-child{border-bottom:none}.project-entry h3{color:var(--primary-text-color);margin-bottom:4px;font-size:.9rem}.project-entry p{margin-bottom:6px;font-size:.8rem;line-height:1.3}.tech-tags{flex-wrap:wrap;gap:4px;display:flex}.tech-tag{background-color:var(--pill-secondary-bg);color:var(--accent-color);border:1px solid var(--accent-color);border-radius:4px;padding:2px 5px;font-size:.65rem}.tech-category{margin-bottom:15px}.tech-category h3{color:var(--primary-text-color);border-bottom:1px solid var(--window-border);margin-bottom:6px;padding-bottom:5px;font-size:.85rem}.tech-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.tech-item{align-items:center;gap:5px;font-size:.8rem;display:flex}.tech-item i{color:var(--accent-color);font-size:1rem}.about-content{flex-direction:column;height:100%;display:flex}.about-header{align-items:center;margin-bottom:15px;display:flex}.avatar-container{margin-right:12px}.avatar{object-fit:cover;border:2px solid var(--accent-color);border-radius:50%;width:60px;height:60px}.about-intro h3{color:var(--primary-text-color);margin-bottom:4px;font-size:1.1rem}.about-intro p{font-size:.8rem;font-style:italic;line-height:1.3}.about-details h4{color:var(--primary-text-color);margin-bottom:6px;font-size:.85rem}.about-details ul{padding-left:15px}.about-details li{margin-bottom:5px;font-size:.8rem;line-height:1.3}.about-details li i{color:var(--accent-color);margin-right:5px}.terminal-content{background-color:var(--terminal-bg);color:var(--terminal-text);flex-direction:column;height:100%;padding:8px;font-family:Courier New,monospace;font-size:.8rem;display:flex}.terminal-output{flex-grow:1;margin-bottom:10px;overflow-y:auto}.terminal-input-container{align-items:center;display:flex}.prompt{margin-right:5px}.terminal-input{color:var(--terminal-text);background-color:#0000;border:none;outline:none;flex-grow:1;font-family:Courier New,monospace;font-size:.8rem}.line{word-break:break-word;white-space:pre-wrap;margin-bottom:4px;line-height:1.3}@media (max-width:600px){.app-window{width:90vw;min-width:280px;height:auto;min-height:220px;max-height:70vh}.tech-grid{grid-template-columns:1fr}.macos-dock{gap:5px;padding:5px}.dock-icon{width:35px;height:35px;font-size:1rem}.project-entry h3{font-size:.85rem}.about-details li,.about-intro p,.line,.project-entry p,.tech-item,.tech-tag,.terminal-content,.terminal-input{font-size:.75rem}.avatar{width:50px;height:50px}.about-intro h3{font-size:1rem}}@media (max-width:400px){.app-window{width:90%;max-width:280px;height:220px}.avatar{width:50px;height:50px}.about-intro h3{font-size:1rem}.about-intro p{font-size:.8rem}.project-entry h3{font-size:.9rem}}@media (max-width:768px){.macos-dock,.mobile-synth-toggle-btn{display:none!important}nav.social-icons a#mobile-synth-icon-nav{justify-content:center;align-items:center;display:inline-flex!important}}.macos-dock{max-width:320px;margin-left:auto;margin-right:auto}.synth-window-content{-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;padding:10px;display:flex}.sampler-pads{background-color:#2c2c2c;border-radius:8px;grid-template-rows:repeat(4,1fr);grid-template-columns:repeat(4,1fr);gap:10px;width:240px;height:240px;padding:10px;display:grid;box-shadow:inset 0 0 8px #0009}.synth-pad{cursor:pointer;color:#ccc;text-transform:uppercase;background-color:#4a4a4a;border:2px solid #333;border-radius:6px;justify-content:center;align-items:center;font-size:.7rem;transition:background-color 50ms,transform 50ms;display:flex;box-shadow:0 2px 3px #0006}.synth-pad.pressed,.synth-pad:active{background-color:#6a6a6a;transform:scale(.96);box-shadow:inset 0 1px 2px #00000080}.synth-pad.sequencer-active{background-color:var(--accent-color);border-color:var(--accent-hover-color)}.synth-controls-minimal{color:#eee;text-align:left;background-color:#323232cc;border-radius:5px;width:auto;max-width:260px;margin-top:20px;padding:10px;font-size:.75rem}.synth-controls-minimal input[type=range],.synth-controls-minimal label,.synth-controls-minimal span{vertical-align:middle;color:#ddd;margin-bottom:5px;display:inline-block}.synth-controls-minimal label{width:auto;margin-right:5px}.synth-controls-minimal input[type=range]{width:120px}.synth-controls-minimal span{text-align:right;width:auto;margin-left:5px;font-size:.7rem}.synth-controls-minimal .synth-fullscreen-btn{margin-top:0;margin-left:10px}.synth-play-btn{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-left:10px;padding:5px 8px;font-size:.9rem;transition:background-color .2s}.synth-play-btn:hover{background-color:var(--accent-hover-color)}.synth-play-btn i.bi{vertical-align:-.1em}.synth-fullscreen-btn{background-color:var(--accent-color);color:#fff;cursor:pointer;border:none;border-radius:4px;align-self:center;margin-top:10px;padding:5px 8px;font-size:.8rem}.synth-fullscreen-btn:hover{background-color:var(--accent-hover-color)}.synth-fullscreen-btn i.bi{vertical-align:-.1em}:is(#synth-window:fullscreen,#synth-window.synth-is-fullscreen-mobile){background-color:var(--terminal-bg);border:none!important;border-radius:0!important;width:100%!important;height:100%!important;top:0!important;left:0!important}:is(#synth-window:fullscreen .title-bar,#synth-window.synth-is-fullscreen-mobile .title-bar){background-color:#222}:is(#synth-window:fullscreen .title-text,#synth-window.synth-is-fullscreen-mobile .title-text){color:#eee}#synth-window.synth-is-fullscreen-mobile .title-bar .window-buttons{display:none}:is(#synth-window:fullscreen .synth-window-content,#synth-window.synth-is-fullscreen-mobile .synth-window-content){justify-content:center;height:calc(100% - 28px);padding:10px;overflow:auto}#synth-window.synth-is-fullscreen-mobile .synth-controls{z-index:10;background-color:#1e1e1ee6;width:auto;max-height:40%;position:absolute;bottom:10px;left:10px;right:10px;overflow-y:auto}#synth-window.synth-is-fullscreen-mobile .piano-keyboard{width:95%;height:auto;max-height:55%;margin:10px auto;transform:scale(1)}#synth-window.synth-is-fullscreen-mobile .key.white{height:15vh}#synth-window.synth-is-fullscreen-mobile .key.black{height:9vh}#synth-window.synth-is-fullscreen-mobile .synth-fullscreen-btn{z-index:20;background-color:var(--close-btn-color);padding:8px 12px;font-size:1rem;position:absolute;top:6px;right:10px}#synth-window.synth-is-fullscreen-mobile .synth-fullscreen-btn:hover{background-color:#d14f4a}:is(#synth-window:fullscreen .piano-keyboard,#synth-window.synth-is-fullscreen-mobile .piano-keyboard){max-width:90vw;margin:20px auto;transform:scale(1.1)}:is(#synth-window:fullscreen .synth-controls,#synth-window.synth-is-fullscreen-mobile .synth-controls){color:#eee;background-color:#323232cc;width:auto;max-width:400px;margin-top:20px;padding:15px}:is(#synth-window:fullscreen .synth-controls label,#synth-window:fullscreen .synth-controls span,#synth-window.synth-is-fullscreen-mobile .synth-controls label,#synth-window.synth-is-fullscreen-mobile .synth-controls span){color:#ddd}#mobile-synth-icon-nav{display:none}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-800:oklch(27.8% .033 256.848);--color-gray-900:oklch(21% .034 264.665);--color-gray-950:oklch(13% .028 261.692);--color-neutral-100:oklch(97% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-white:#fff;--spacing:.25rem;--container-4xl:56rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-gray-4:#a0aec0}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-3{top:calc(var(--spacing)*3)}.col-12{grid-column:12}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.ms-3{margin-inline-start:calc(var(--spacing)*3)}.me-2{margin-inline-end:calc(var(--spacing)*2)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mb-0{margin-bottom:calc(var(--spacing)*0)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.h-100{height:calc(var(--spacing)*100)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing)*4)}.w-auto{width:auto}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.flex-grow,.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-5{gap:calc(var(--spacing)*5)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}.rounded{border-radius:.25rem}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.bg-neutral-100{background-color:var(--color-neutral-100)}.bg-white{background-color:var(--color-white)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-2{padding-block:calc(var(--spacing)*2)}.pl-6{padding-left:calc(var(--spacing)*6)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-gray-4{color:var(--color-gray-4)}.text-gray-900{color:var(--color-gray-900)}.text-white{color:var(--color-white)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a)}.shadow-md,.shadow-sm{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.grayscale{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media (prefers-color-scheme:dark){.dark\:border-gray-800{border-color:var(--color-gray-800)}.dark\:bg-gray-950{background-color:var(--color-gray-950)}.dark\:bg-neutral-800{background-color:var(--color-neutral-800)}.dark\:text-gray-50{color:var(--color-gray-50)}@media (hover:hover){.dark\:hover\:bg-gray-900:hover{background-color:var(--color-gray-900)}}}}.blog-container{background-color:var(--panel-bg);border-radius:var(--border-radius-card);max-width:800px;box-shadow:var(--card-shadow);border:1px solid var(--panel-border-color);font-family:var(--font-body);color:var(--secondary-text-color);margin:2rem auto;padding:2rem;position:relative}.blog-header{text-align:center;margin-bottom:2rem}.blog-title{font-family:var(--font-heading);color:var(--primary-text-color);margin-bottom:.5rem;font-size:1.8rem;font-weight:600}.blog-description{color:var(--secondary-text-color);font-size:1rem}.article-list{padding:0;list-style:none}.article-item{border-bottom:1px solid var(--panel-border-color);margin-bottom:2rem;padding-bottom:1.5rem}.article-item:last-child{border-bottom:none}.article-title{font-family:var(--font-heading);margin-bottom:.5rem;font-size:1.4rem;font-weight:600}.article-title a{color:var(--primary-text-color);text-decoration:none}.article-title a:hover{color:var(--accent-color);text-decoration:underline}.article-meta{color:var(--tertiary-text-color);gap:1rem;margin-bottom:1rem;font-size:.9rem;display:flex}.article-meta span{align-items:center;display:inline-flex}.article-meta i{margin-right:.3rem}.article-summary{font-size:1rem;line-height:1.5}.read-more{color:var(--accent-color);margin-top:.5rem;font-weight:500;text-decoration:none;display:inline-block}.read-more:hover{text-decoration:underline}.back-to-home{color:var(--accent-color);align-items:center;margin-top:2rem;font-weight:500;text-decoration:none;display:inline-flex}.back-to-home:hover{text-decoration:underline}.back-to-home i{margin-right:.3rem}.article-content{font-size:1.05rem;line-height:1.6}.article-content h1,.article-content h2,.article-content h3,.article-content h4,.article-content h5,.article-content h6{font-family:var(--font-heading);color:var(--primary-text-color);margin-top:1.5em;margin-bottom:.5em;font-weight:600}.article-content h1{font-size:1.8rem}.article-content h2{font-size:1.5rem}.article-content h3{font-size:1.3rem}.article-content h4{font-size:1.1rem}.article-content p{margin-bottom:1.2em}.article-content a{color:var(--accent-color);text-decoration:none}.article-content a:hover{text-decoration:underline}.article-content ol,.article-content ul{margin-bottom:1.2em;padding-left:1.5rem}.article-content li{margin-bottom:.5em}.article-content blockquote{border-left:4px solid var(--accent-color);color:var(--secondary-text-color);margin-left:0;margin-right:0;padding-left:1rem;font-style:italic}.article-content code{background-color:var(--pill-secondary-bg);border-radius:3px;padding:.2em .4em;font-family:monospace;font-size:.9em}.article-content pre{background-color:var(--pill-secondary-bg);border-radius:var(--border-radius-inner);margin-bottom:1.2em;padding:1rem;overflow-x:auto}.article-content pre code{background-color:#0000;padding:0;font-size:.9rem}.article-navigation{border-top:1px solid var(--panel-border-color);margin-top:2rem;padding-top:1rem;display:flex}@media (max-width:768px){.blog-container{margin:1rem;padding:1.5rem}.blog-title{font-size:1.5rem}.article-title{font-size:1.2rem}}@media (max-width:480px){.blog-container{margin:.5rem;padding:1rem}.article-meta{flex-direction:column;gap:.3rem}}:root{--foreground-rgb:0,0,0;--background-start-rgb:255,255,255;--background-end-rgb:245,245,245;--panel-bg:#f5f5f5d9;--panel-border-color:#0000001a;--title-bar-bg:#e6e6eb80;--text-color:#000;--text-color-secondary:#000c;--nav-bar-bg:#f0f0f0f2;--nav-bar-text:#000;--dropdown-bg:#f0f0f0f2;--dropdown-text:#000;--dropdown-hover-bg:#0078ff;--dropdown-hover-text:#fff}.dark{--foreground-rgb:255,255,255;--background-start-rgb:0,0,0;--background-end-rgb:0,0,0;--panel-bg:#1c1c1ed9;--panel-border-color:#ffffff1a;--title-bar-bg:#3c3c4180;--text-color:#fff;--text-color-secondary:#fffc;--nav-bar-bg:#000000bf;--nav-bar-text:#fff;--dropdown-bg:#232323f2;--dropdown-text:#fff;--dropdown-hover-bg:#0078ff;--dropdown-hover-text:#fff}body{color:rgb(var(--foreground-rgb));background:linear-gradient(to bottom,transparent,rgb(var(--background-end-rgb)))rgb(var(--background-start-rgb));min-height:100vh;margin:0;padding:0;overflow-x:hidden}.macos-window{background:var(--panel-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--panel-border-color);color:var(--text-color);border-radius:10px;transition:all .2s;position:absolute;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.title-bar{background:var(--title-bar-bg);border-bottom:1px solid var(--panel-border-color);cursor:grab;align-items:center;height:38px;padding:0 12px;display:flex}.window-controls{gap:8px;margin-right:12px;display:flex}.window-button{cursor:pointer;border-radius:50%;width:12px;height:12px}.close-button{background:#ff5f57;border:1px solid #e04343}.minimize-button{background:#febc2e;border:1px solid #d8a01d}.maximize-button{background:#28c941;border:1px solid #17aa2f}.window-title{text-align:center;color:var(--text-color-secondary);flex:1;font-size:14px;font-weight:500}.window-content{padding:20px;overflow:auto}.nav-bar{color:var(--nav-bar-text);background-color:var(--nav-bar-bg)}.dropdown-menu{background-color:var(--dropdown-bg);color:var(--dropdown-text)}.dropdown-item.selectable:hover{background-color:var(--dropdown-hover-bg);color:var(--dropdown-hover-text)}.theme-switcher{color:var(--nav-bar-text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;height:100%;padding:0;font-size:16px;display:flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}