@font-face{font-family:Martian Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(/assets/martianmono-BqyONov-.woff2) format("woff2")}:root{--bg: #1a1b26;--bg-dark: #16161e;--fg: #c0caf5;--fg-dark: #a9b1d6;--fg-dim: #9498b8;--primary: #7aa2f7;--secondary: #bb9af7;--accent: #7dcfff;--success: #9ece6a;--warning: #e0af68;--error: #f7768e;--border: #414868;--border-highlight: #7aa2f7;--surface: rgba(26, 27, 38, .8);--surface-highlight: rgba(36, 40, 59, .8);--glass: rgba(26, 27, 38, .7);--glass-border: rgba(122, 162, 247, .2);--shadow: 0 8px 32px 0 rgba(0, 0, 0, .3);--gap: 16px;--radius: 10px;--bar-height: 36px;--ease: cubic-bezier(.25, 1, .5, 1);--duration: .3s}*{margin:0;padding:0;box-sizing:border-box}html{scrollbar-gutter:stable;width:100vw;overflow-x:hidden}body{background-color:var(--bg);color:var(--fg);font-family:Martian Mono,monospace;min-height:100vh;display:flex;flex-direction:column;background-image:radial-gradient(circle at 10% 20%,rgba(122,162,247,.05) 0%,transparent 40%),radial-gradient(circle at 90% 80%,rgba(187,154,247,.05) 0%,transparent 40%);background-attachment:fixed}::selection{background:var(--primary);color:var(--bg)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--fg-dim);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.d-n-d{display:none!important}.resume-link{color:var(--primary);text-decoration:none}.waybar{height:var(--bar-height);background:var(--bg-dark);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:0 12px;font-size:.85rem;z-index:100;-webkit-user-select:none;user-select:none;flex-shrink:0}.waybar-left,.waybar-right{display:flex;gap:8px;align-items:center}.waybar-left .window-title{background:transparent;color:var(--fg-dark);margin-left:16px}.module{background:var(--surface-highlight);padding:4px 10px;border-radius:4px;display:flex;align-items:center;gap:8px;transition:all .2s var(--ease);border:1px solid transparent}.module:hover{background:var(--border);border-color:var(--fg-dim)}.module.active{background:var(--primary);color:var(--bg);font-weight:700}.module .icon{font-family:Martian Mono,monospace;font-size:1.1em}.waybar-right .module{background:var(--bg);border:1px solid var(--border)}.waybar-right .clock{background:var(--secondary);color:var(--bg);font-weight:700;border:none}.grid-container{flex:1;padding:var(--gap);display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(12,auto);align-content:start;padding-top:12vh;gap:var(--gap);max-width:1920px;margin:0 auto;width:100%;min-height:0}.tile{background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow);transition:border-color var(--duration) var(--ease),transform .2s var(--ease);position:relative}.tile:hover{border-color:var(--primary);z-index:10}.tile-header{background:#1a1b26e6;padding:8px 12px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--fg-dim);text-transform:uppercase;letter-spacing:1px}.tile:hover .tile-header{color:var(--primary)}.tile-title{flex:1;font-weight:700;font-size:inherit;margin:0}.tile-content{flex:1;padding:20px;overflow-y:auto;position:relative}.profile-tile{grid-column:5 / 9;grid-row:1 / 6;padding:0;display:flex;flex-direction:column;gap:0;overflow:hidden;min-height:380px}.profile-banner{height:100px;background:linear-gradient(135deg,#7aa2f766,#bb9af74d,#7dcfff33);width:100%;position:relative;overflow:hidden}.profile-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 40%,rgba(122,162,247,.3) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(187,154,247,.25) 0%,transparent 50%)}.profile-banner:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 50% 50%,rgba(255,255,255,.1) 1px,transparent 1px);background-size:12px 12px;opacity:.4}.profile-content{padding:0 20px 20px;margin-top:-50px;display:flex;flex-direction:column;align-items:center;text-align:center;position:relative;z-index:2}.profile-image-container{margin-bottom:12px;padding:4px;width:200px;height:200px;border-radius:50%;overflow:hidden;border:3px solid var(--primary);box-shadow:0 0 20px #7aa2f74d,0 0 30px #7aa2f71a;animation:profile-glow 4s ease-in-out infinite;position:relative;z-index:2;background:var(--bg)}@keyframes profile-glow{0%,to{box-shadow:0 0 15px #7aa2f74d,0 0 40px #7aa2f71a}50%{box-shadow:0 0 20px #7aa2f780,0 0 50px #7aa2f733}}.profile-img{width:100%;height:100%;border-radius:50%;object-fit:cover}.profile-details h1{font-size:1.8rem;color:var(--fg);margin-bottom:6px;line-height:1.2}.profile-details .role{font-size:.95rem;color:var(--primary);font-weight:500;opacity:.9;background:#7aa2f71a;padding:4px 12px;border-radius:20px;display:inline-block}.profile-details .location{color:var(--fg-dim);font-size:.85rem;margin-top:8px}.icon,.tile-icon{width:1.2em;height:1.2em;fill:currentColor;display:inline-block;vertical-align:middle}.work-tile{grid-column:9 / 12;grid-row:1 / 6;min-height:380px}.info-row{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;padding:10px 8px;border-bottom:1px solid rgba(65,72,104,.3);font-size:.9rem;transition:background-color .2s var(--ease);border-radius:4px}.info-row:hover{background-color:#7aa2f71a}.info-row:last-child{border-bottom:none}.info-row .key{color:var(--fg-dim);font-weight:500}.info-row .value{color:var(--accent);text-align:right}.info-row.highlight .value{color:var(--fg)}mark{background:#7aa2f733;color:var(--primary);font-weight:700;text-shadow:0 0 10px rgba(122,162,247,.4);padding:2px 8px;border-radius:4px}.connections-tile{grid-column:2 / 5;grid-row:1 / 6;min-height:380px}.connections-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.connections-grid .connection-item:last-child:nth-child(odd){grid-column:span 2}.connection-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:#24283b66;border:1px solid var(--border);border-radius:8px;padding:12px 8px;text-decoration:none;color:var(--fg);transition:all .3s var(--ease);cursor:pointer;position:relative;text-align:center;overflow:hidden}.connection-item:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgba(122,162,247,.1),transparent);transform:translate(-100%);transition:transform .5s}.connection-item:hover:before{transform:translate(100%)}.connection-item:hover{background:#334155b3;border-color:var(--primary);transform:translateY(-3px);box-shadow:0 6px 20px #7aa2f726}.conn-icon{width:26px;height:26px;fill:var(--fg-dim);transition:fill .3s,transform .3s var(--ease);flex-shrink:0;filter:drop-shadow(0 0 0 transparent)}.connection-item:hover .conn-icon{fill:var(--primary);transform:scale(1.1);filter:drop-shadow(0 0 8px var(--primary))}.conn-label{font-size:.8rem;font-weight:500;letter-spacing:.03em;color:var(--fg-dark);transition:color .3s}.connection-item:hover .conn-label{color:var(--fg)}.connection-item[data-brand=telegram]:hover{--brand-color: #7dcfff}.connection-item[data-brand=github]:hover{--brand-color: #bb9af7}.connection-item[data-brand=vk]:hover{--brand-color: #7aa2f7}.connection-item[data-brand=steam]:hover{--brand-color: #7dcfff}.connection-item[data-brand=discord]:hover{--brand-color: #bb9af7}.connection-item[data-brand=yandex]:hover{--brand-color: #f7768e}.connection-item[data-brand=email]:hover{--brand-color: #9ece6a}.connection-item[data-brand]:hover{border-color:var(--brand-color, var(--primary));box-shadow:0 6px 20px color-mix(in srgb,var(--brand-color, var(--primary)) 25%,transparent)}.connection-item[data-brand]:hover .conn-icon{fill:var(--brand-color, var(--primary));filter:drop-shadow(0 0 8px var(--brand-color, var(--primary)))}.terminal-tile{position:fixed;inset:auto 0 0;height:40vh;z-index:1000;transform:translateY(100%);transition:transform .4s cubic-bezier(.34,1.56,.64,1);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;box-shadow:0 -4px 20px #00000080;background:#16161efa}.terminal-tile.terminal-open{transform:translateY(0)}.terminal-tile:before{content:" ";display:block;position:absolute;inset:0;background:linear-gradient(#12101000 50%,#0000001a 50%),linear-gradient(90deg,#ff000008,#00ff0003,#0000ff08);z-index:2;background-size:100% 2px,3px 100%;pointer-events:none}.terminal-header{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#0000004d;border-bottom:1px solid var(--border);color:var(--fg-dim);font-size:.9rem}.icon-btn{background:none;border:none;color:var(--fg-dim);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn:hover{background:var(--error);color:var(--bg)}.terminal-toggle-tile{grid-column:2 / 12;grid-row:6 / 7;height:80px;display:flex;align-items:center;justify-content:center;gap:12px;cursor:pointer;color:var(--fg-dim);font-weight:700;transition:all .3s var(--ease);border:1px solid var(--border);background:#1a1b2666}.terminal-toggle-tile:hover{background:var(--surface-highlight);color:var(--primary);border-color:var(--primary);border-style:solid}.terminal-toggle-tile .icon{width:20px;height:20px}.terminal-toggle-tile.hidden{visibility:hidden}.terminal-output{font-size:.95rem;line-height:1.6;height:100%;overflow-y:auto;padding-bottom:20px}.line{margin-bottom:4px}.prompt{color:var(--secondary);margin-right:8px;font-weight:700}.cmd{color:var(--success)}.output{color:var(--fg-dark);padding-left:20px;margin-bottom:12px}.cursor{animation:blink 1s step-end infinite;color:var(--fg-dim)}@keyframes blink{50%{opacity:0}}.clipboard{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;width:100vw;height:100vh;max-width:none;max-height:none;margin:0;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s;z-index:1001}.clipboard::backdrop{background:transparent}.clipboard[open]{opacity:1;pointer-events:auto}.clipboard.closing{opacity:0;pointer-events:none}.clipboard .wrapper{background:var(--bg);border:1px solid var(--primary);border-radius:var(--radius);width:400px;max-width:90vw;box-shadow:0 0 40px #7aa2f733;transform:scale(.95);transition:transform .2s}.clipboard[open] .wrapper{transform:scale(1)}.clipboard.closing .wrapper{transform:scale(.95)}.dialog-header{background:var(--surface-highlight);padding:12px 16px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.dialog-title{color:var(--primary);font-weight:700}.close-btn{background:none;border:none;color:var(--fg-dim);font-size:1.5rem;cursor:pointer;line-height:1}.close-btn:hover{color:var(--error)}.dialog-body{padding:24px;text-align:center}.code-block{background:var(--bg-dark);padding:12px;border-radius:4px;border:1px dashed var(--border);margin-top:12px;color:var(--success);font-family:monospace;word-break:break-all}@media(max-width:1024px){.grid-container{display:flex;flex-direction:column;overflow-y:auto;height:auto;padding-bottom:80px;padding-top:var(--gap)}body{overflow:auto}.tile{min-height:auto;height:auto;overflow:visible;flex-shrink:0}.tile-content{overflow:visible;height:auto}.profile-tile{min-height:auto;order:-1}.terminal-toggle-tile{min-height:80px}.profile-image-container{width:120px;height:120px}.profile-content{margin-top:-60px}.work-tile{order:1}.connections-tile{order:0}}@media(max-width:768px){.waybar{padding:0 8px}.waybar .label,.waybar-right,.waybar-left .window-title{display:none}.connections-grid{grid-template-columns:1fr}.connections-grid .connection-item:last-child:nth-child(odd){grid-column:span 1}}.name-shimmer{position:relative;background:linear-gradient(90deg,var(--fg) 0%,var(--primary) 25%,var(--accent) 50%,var(--primary) 75%,var(--fg) 100%);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 8s linear infinite;padding-bottom:4px;line-height:1.2}@keyframes shimmer{0%{background-position:200% center}to{background-position:-200% center}}@media(prefers-reduced-motion:reduce){.name-shimmer,.profile-image-container{animation:none}.name-shimmer{background:var(--fg);-webkit-text-fill-color:var(--fg)}}.clock-tick{animation:clock-pulse 1s ease-out}@keyframes clock-pulse{0%{transform:scale(1)}50%{transform:scale(1.2)}to{transform:scale(1)}}.connection-item:focus-visible,.terminal-toggle-tile:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.resume-btn{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 20px;background:#7aa2f726;border:1px solid var(--primary);border-radius:25px;color:var(--primary);text-decoration:none;font-size:.85rem;font-weight:600;transition:all .3s var(--ease);cursor:pointer}.resume-btn:hover{background:var(--primary);color:var(--bg);box-shadow:0 0 20px #7aa2f766;transform:translateY(-2px)}.resume-btn .icon{width:1em;height:1em}.resume-container{padding:var(--gap);min-height:calc(100vh - var(--bar-height));display:grid;grid-template-columns:repeat(12,1fr);gap:var(--gap);max-width:1920px;margin:0 auto;width:100%;align-content:start;padding-top:12vh}.resume-header{padding:0}.resume-major-left{grid-column:2 / 9;display:flex;flex-direction:column;gap:var(--gap)}.resume-major-right{grid-column:9 / 12;display:flex;flex-direction:column;gap:var(--gap)}.id-2-profile{margin-bottom:0}.resume-section{padding:0;margin-bottom:var(--gap)}.resume-section .tile-content{padding:16px}.resume-section:last-child{margin-bottom:0}.experience-timeline{position:relative;padding-left:20px}.experience-timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:linear-gradient(180deg,var(--primary) 0%,var(--secondary) 50%,var(--accent) 100%);border-radius:1px}.experience-item{position:relative;padding-bottom:28px;margin-bottom:0}.experience-item:last-child{padding-bottom:0}.experience-item:before{content:"";position:absolute;left:-24px;top:8px;width:10px;height:10px;background:var(--primary);border:2px solid var(--bg);border-radius:50%;box-shadow:0 0 10px #7aa2f780}.experience-header{margin-bottom:12px}.experience-title-row{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:6px}.experience-role{font-size:1.05rem;color:var(--fg);font-weight:600}.experience-date{font-size:.85rem;color:var(--fg-dim);white-space:nowrap}.experience-company{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;margin-bottom:10px}.company-name{color:var(--accent);font-weight:600;font-size:.95rem}.company-team{color:var(--secondary);font-size:.85rem;padding:2px 8px;background:#bb9af726;border-radius:4px}.company-location{color:var(--fg-dim);font-size:.85rem}.tech-stack{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.tech-tag{font-size:.75rem;padding:3px 10px;background:#7dcfff1a;color:var(--accent);border:1px solid rgba(125,207,255,.3);border-radius:12px;font-weight:500}.experience-details{list-style:none;padding:0;margin:0}.experience-details li{position:relative;padding-left:16px;margin-bottom:8px;font-size:.9rem;color:var(--fg-dark);line-height:1.6}.experience-details li:before{content:"▸";position:absolute;left:0;color:var(--primary)}.education-item{padding:16px;background:#24283b66;border-radius:8px;border-left:3px solid var(--primary)}.education-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:8px}.education-degree{font-size:1rem;color:var(--fg);font-weight:600}.education-date{font-size:.85rem;color:var(--fg-dim)}.education-school{color:var(--accent);font-size:.9rem;margin-bottom:4px}.education-location{color:var(--fg-dim);font-size:.85rem}.skills-grid{display:flex;flex-direction:column;gap:16px}.skill-category{padding:12px 16px;background:#24283b4d;border-radius:8px;border:1px solid rgba(65,72,104,.3);transition:border-color .2s}.skill-category:hover{border-color:var(--primary)}.skill-category-title{font-size:.85rem;color:var(--fg-dim);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.skill-tags{display:flex;flex-wrap:wrap;gap:6px}.skill-tag{font-size:.8rem;padding:4px 10px;background:#7aa2f71a;color:var(--fg);border-radius:4px;border:1px solid rgba(122,162,247,.2);transition:all .2s}.skill-tag:hover{background:#7aa2f733;border-color:var(--primary)}.skill-tag.primary{background:#7aa2f740;color:var(--primary);font-weight:600;border-color:var(--primary)}.language-list{display:flex;flex-direction:column;gap:12px}.language-item{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 16px;background:#24283b4d;border-radius:8px;border:1px solid rgba(65,72,104,.3)}.language-name{font-weight:600;color:var(--fg);flex:1}.language-level{font-size:.85rem;padding:3px 10px;background:#9ece6a26;color:var(--success);border-radius:12px;font-weight:500}.language-cert{font-size:.8rem;color:var(--fg-dim);width:100%;margin-top:4px}.soft-skills-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.soft-skill-tag{font-size:.85rem;padding:6px 14px;background:#bb9af71a;color:var(--secondary);border-radius:20px;border:1px solid rgba(187,154,247,.25);transition:all .2s}.soft-skill-tag:hover{background:#bb9af733;border-color:var(--secondary)}.soft-skill-note{font-size:.8rem;color:var(--fg-dim);font-style:italic;padding-top:8px;border-top:1px solid rgba(65,72,104,.3)}@media(max-width:1024px){.resume-container{display:flex;flex-direction:column;max-width:1400px;padding-top:var(--gap)}.resume-major-left,.resume-major-right{grid-column:1 / -1}.resume-sidebar{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}.resume-sidebar .resume-section{margin-bottom:0}}@media(max-width:768px){.resume-name{font-size:1.8rem}.resume-contact{flex-direction:column;gap:12px}.contact-item{justify-content:center}.experience-title-row{flex-direction:column}.resume-sidebar{grid-template-columns:1fr}.experience-timeline{padding-left:16px}.experience-item:before{left:-20px;width:8px;height:8px}}.waybar .module.workspace[href]{text-decoration:none;cursor:pointer}.waybar .module.workspace[href]:hover{background:var(--border);border-color:var(--fg-dim)}
