:root{--maxwidth:1024px;--lightblue:#0383ec;--textcolor:#404040;--bgcolor:#ffffff;--bg2nd:#eee;--texthover:#0366d6;--bubblebg:#f2f2f2;--shade:rgb(218, 218, 220, 0.4);--accent:#b36b00;--border-subtle:rgba(148, 163, 184, 0.75);--text-muted:#6a6c6e;--bg-soft:#a0a0a0}@media(prefers-color-scheme:dark){:root{--lightblue:#5badf0;--textcolor:#cdcdcd;--bgcolor:#000000;--bg2nd:#222;--texthover:#95c7ff;--bubblebg:#333;--shade:rgba(59, 59, 59, 0.4);--accent:#e69f00;--border-subtle:rgba(148, 163, 184, 0.35);--text-muted:#9ca3af;--bg-soft:#0b1020}td code,p code,li code{background-color:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.18)!important}}*,*::before,*::after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;line-height:1;font:20px/1.5em SamsungOne,Ubuntu,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif,apple color emoji,segoe ui emoji,segoe ui symbol,noto color emoji;color:var(--textcolor);background-color:var(--bgcolor);background:radial-gradient(circle at top left,#020617 0,#020617 40%,#020617 100%);line-height:1.75;letter-spacing:.008em;max-width:var(--maxwidth);padding:1rem;margin-left:auto;margin-right:auto}a{text-decoration:none;color:var(--lightblue)}a:hover{color:var(--texthover)}blockquote{margin-top:5px;margin-bottom:5px;padding-left:1em;margin-left:0;border-left:3px solid #999;padding-right:1em;margin-right:0;border-right:3px solid #999;color:var(--textcolor);background-color:var(--bg2nd)}hr{display:block;border:none;height:1px;margin:2rem auto;opacity:.2;background:var(--textcolor)}table{width:100%;margin:40px 0;border-collapse:collapse;line-height:1.5em}th,td{text-align:left;padding-right:20px;vertical-align:top}table td,td{border-spacing:none;border-style:solid;padding:10px 15px;border-width:1px 0 0}thead th,th{text-align:left;padding:10px 15px;height:20px;font-size:13px;font-weight:700;color:var(--textcolor);cursor:default;white-space:nowrap;border:1px solid var(--shade)}tr>td{border:1px solid var(--shade)}tr:nth-child(odd)>td{background:var(--shade)}h1,h2,h3{font-weight:400}#post h2,#post h3,#post h4,#post h5,#post h6{padding:.4rem 0;color:var(--textcolor)}#post h2{font-size:xx-large}#post h3{font-size:x-large}#post h4{font-size:larger}#post h5{font-size:large}p{margin-block-start:.5em;margin-block-end:.5em}p,pre{word-break:normal;overflow-wrap:anywhere}ul{padding-left:1rem;padding-right:1rem}ul:has(li input){list-style:none}.markdown-image img,p img{max-width:100%;display:block;margin:auto}p>img+em{opacity:.6;font-style:normal;display:block;text-align:center}.anchor{font-size:100%;visibility:hidden;color:silver}h1:hover a,h2:hover a,h3:hover a,h4:hover a{visibility:visible}.highlight pre,pre{padding:7px;overflow-x:auto}.highlight{max-width:100%;overflow-x:auto}td code,p code,li code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:inherit;background-color:rgba(0,0,0,6%);padding:0 2px;border:1px solid rgba(0,0,0,8%);border-radius:2px 2px;line-height:inherit;word-wrap:break-word;text-indent:0}pre code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}code,pre,.highlight div table{unicode-bidi:plaintext;direction:ltr}header{text-align:center}nav.navigation{display:inline-block;padding:20px 20px 0;margin:0 auto;text-align:center;z-index:100}nav.navigation a{display:inline-block;top:8px;right:6px;padding:8px 12px;color:var(--lightblue);line-height:1.35;border-radius:3px;text-wrap:nowrap}nav.navigation a:hover{color:var(--texthover)}nav.navigation a.button{background:var(--lightblue);margin-left:12px}@media(max-width:700px){nav.navigation{padding:20px 10px 0 0;margin:0 auto;text-align:center;z-index:100}nav.navigation a{top:8px;right:6px;padding:8px;color:var(--lightblue);line-height:1.35;border-radius:3px}}@media(max-width:324px){nav.navigation a.button{display:none}}.toc{margin:auto;padding:10px 7px;margin-top:36px}.toc details summary{cursor:zoom-in;margin-inline-start:14px;font-weight:500}.toc details[open] summary{cursor:zoom-out}.toc #TableOfContents{margin-left:10px}.toc ul{padding-inline-start:24px}#comment{margin-top:64px}footer{margin-top:100px;margin-bottom:100px;text-align:center;color:var(--textcolor);opacity:.8}footer .copyright{text-align:center}main{margin-bottom:1rem}.main{width:100%;margin:0 auto}.profile{margin:60px auto 0;text-align:center}.profile .avatar{display:inline-block;width:80px;height:80px;border-radius:50%}.profile h1{font-weight:400;letter-spacing:0;font-size:24px;color:var(--textcolor);margin-bottom:0;margin-top:0}.profile h2{font-size:24px;font-weight:300;color:var(--textcolor);margin-top:0}.post{border-radius:.4rem;padding:1rem;margin:1rem auto;background-color:var(--bg2nd)}.title{display:inline-flex;align-items:center;gap:1rem;color:var(--textcolor);font-size:24px;font-weight:400;margin:0;width:80%}ul.pagination,ul.pagination-default{display:flex;gap:1rem;font-size:large;list-style:none;padding:0;align-items:center;justify-content:center}li.page-item{display:inline-block;padding:.2rem .6rem;background-color:var(--bubblebg);border-radius:.4rem}li.page-item.disabled{opacity:.6;cursor:not-allowed}li.page-item.active{opacity:.6;border:1px solid var(--lightblue)}@media(max-width:700px){#single{padding:0 18px;margin:20px auto 0}#single .title{font-size:24px;line-height:32px}}.tip{display:flex;color:var(--textcolor);opacity:.6;margin-top:18px;font-size:14px;justify-content:center;align-items:center;gap:.4rem}.tags,.categories{display:inline}.tags a,.categories a{background:var(--bubblebg);padding:4px 7px;color:var(--textcolor);font-size:14px;border-radius:.2rem}.tags a:hover,.categories a:hover{color:var(--texthover)}#tags,#categories{max-width:700px;margin:48px auto 0;padding:0 12px;text-align:center}#tags .tag,#categories .tag{display:inline-block;margin:7px}@media(max-width:700px){#tags,#categories{margin:0 auto}#tags .tag,#categories .tag{display:inline-block;margin:4px 5px}}#tags .tag a,#categories .cat a{background:var(--bubblebg);padding:4px 7px;color:var(--textcolor);font-size:14px;margin-right:3px}.svgFill,.newTabSvgFill{fill:var(--texthover)}.newTabSvgFill{opacity:.4;position:relative;left:-.4rem}.socialLinks{text-align:center}.shareMenu{display:inline-block}.shareMenu *{vertical-align:middle;padding:.2rem;margin-left:.1rem;margin-right:.1rem}.homepageTitle{display:inline-block;margin:0;font-size:1.2em}.pages a{display:inline-block;margin:4px}kbd{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 2px 0 #ccc,0 2px 4px rgba(0,204,204,.5);-moz-box-shadow:0 2px 0 #ccc,0 2px 4px rgba(0,204,204,.5);box-shadow:0 2px #ccc,0 2px 4px rgba(0,204,204,.5);border:1px solid #ccc;display:inline-block;font-size:.9em;padding:0 .6em;white-space:nowrap}abbr{text-decoration:underline;text-decoration-style:dotted}#navback{display:flex;justify-content:space-between}.postBottom{display:flex;gap:1rem;flex-direction:row}@media(max-width:700px){.postBottom{flex-direction:column}}.search-form{right:200px;top:200px}.search-field{background-color:transparent;background-image:url(/img/search.svg);background-position:5px;background-repeat:no-repeat;background-size:24px 24px;border:none;cursor:pointer;height:40px;margin:3px 0;padding:0 0 0 34px;position:relative;-webkit-transition:width 400ms ease,background 400ms ease;transition:width 400ms ease,background 400ms ease;width:0}.search-field:focus{background-color:var(--bg2nd);border:1px solid var(--textcolor);border-radius:.8rem;cursor:text;outline:0;width:250px;color:var(--textcolor)}.search-form .search-submit{display:none}.relatedPosts{background-color:var(--bg2nd)}.relatedPosts h4{border-top:2px solid #999}.relatedPosts h5{background-color:transparent!important;border:none!important;font-size:medium}.relatedPosts a>h5::before{content:'♦';padding-left:0;padding-right:.4rem}html[dir=rtl] .relatedPosts a>h5::before{padding-left:.4rem;padding-right:0}.series{list-style:circle}.tagTitleWrapper{display:block;text-align:center}.tagTitle{display:inline-block;position:relative;margin:0 auto;padding:.2rem .8rem;background:var(--bubblebg);padding:.2rem .8rem;text-align:center;font-size:1.4rem;line-height:3rem;max-width:78%}.tagTitle::before{content:'';position:absolute;top:0;left:-3rem;border:1.7rem solid var(--bubblebg);border-left:1.8rem solid transparent}.tagTitle::after{content:'';position:absolute;top:0;right:-3rem;border:1.7rem solid var(--bubblebg);border-right:1.8rem solid transparent}.postCount{text-align:center}.post{display:flex;flex-direction:column;gap:1rem}@media(min-width:460px){.post{flex-direction:row}}.post{background:rgba(255,255,255,.15);border-radius:15px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 25px rgba(0,0,0,.2);color:#fff;transition:transform .3s ease,box-shadow .3s ease;overflow:hidden}.admonition.warning{border-left:4px solid var(--accent);background:var(--bgcolor);padding:.75rem 1rem;margin:1rem 0;display:flex;align-items:flex-start;border-radius:4px}.admonition-icon{margin-right:.75rem;font-size:1.1rem;line-height:1.5}.admonition-content{flex:1}.admonition-title{font-weight:600;color:var(--accent);margin-bottom:.25rem}.admonition.info{border-left:4px solid var(--lightblue);background:var(--bgcolor);padding:.75rem 1rem;margin:1rem 0;display:flex;align-items:flex-start;border-radius:4px}.admonition.info .admonition-title{color:var(--lightblue)}.hero{min-height:100vh;display:flex;align-items:center;padding:3rem 1.5rem;background:radial-gradient(circle at top left,rgba(56,189,248,.12),transparent 55%),radial-gradient(circle at bottom right,rgba(74,222,128,.1),transparent 55%),linear-gradient(to bottom,var(--bg),#020617 60%,#000 100%)}.hero-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;gap:3rem}.hero-text{flex:1.2}.hero-kicker{letter-spacing:.18em;text-transform:uppercase;font-size:.75rem;color:var(--accent);margin:0 0 .75rem}.hero h1{font-size:clamp(2.3rem,3.4vw,3rem);line-height:1.1;margin:0 0 .75rem}.hero h2{font-size:1rem;font-weight:500;color:var(--text-muted);margin:0 0 1.5rem}.hero-description{max-width:34rem;font-size:.95rem;line-height:1.6;color:var(--textcolor)}.hero-image{flex:none;position:relative;display:flex;justify-content:center}.hero-image::before{content:"";position:absolute;inset:-12%;border-radius:999px;background:conic-gradient(from 130deg,rgba(74,222,128,.35),transparent 35%,rgba(56,189,248,.35),transparent 70%,rgba(129,140,248,.4));opacity:.8;filter:blur(2px)}.hero-image::after{content:"";position:absolute;inset:0;border-radius:999px;background:radial-gradient(circle at 20% 0%,rgba(148,163,184,.2),transparent 55%);border:1px solid var(--border-subtle);box-shadow:0 18px 45px rgba(15,23,42,.9),0 0 0 1px rgba(15,23,42,.9),0 0 40px rgba(74,222,128,.35)}.hero-image img{position:relative;width:220px;height:220px;border-radius:999px;object-fit:cover;display:block}@media(max-width:900px){.hero{padding-top:4rem;padding-bottom:4rem}.hero-inner{flex-direction:column-reverse;text-align:center}.hero-text{max-width:32rem}.hero-description{margin:0 auto}.hero-image::after{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}}@media(max-width:480px){.hero{padding:2.5rem 1.25rem}.hero-image img{width:190px;height:190px}}.skills{padding:6rem 1.5rem 8rem;background:radial-gradient(circle at 30% 20%,rgba(74,222,128,8%),transparent 50%),radial-gradient(circle at 70% 80%,rgba(56,189,248,6%),transparent 50%),linear-gradient(to bottom,var(--bg),#020617)}.container{max-width:1100px;margin:0 auto}.section-title{font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.1;margin:0 0 .5rem;text-align:center;background:linear-gradient(135deg,var(--accent),#c59122);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{font-size:1rem;color:var(--text-muted);text-align:center;max-width:36rem;margin:-.25rem auto 4rem;line-height:1.5}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.skill-card{background:rgba(15,23,42,.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(74,222,128,.2);border-radius:1rem;padding:2.25rem 2rem;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.skill-card::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(74,222,128,.1),transparent);opacity:0;transition:opacity .3s ease}.skill-card:hover{transform:translateY(-8px);box-shadow:0 25px 50px -12px rgba(15,23,42,.9),0 0 0 1px rgba(74,222,128,.4),inset 0 1px rgba(74,222,128,.25)}.skill-card:hover::before{opacity:1}.skill-icon{font-size:3rem;margin-bottom:1rem;display:block}.skill-card h3{font-size:1.25rem;margin:0 0 .75rem;color:var(--text-main)}.skill-card p{font-size:.9rem;line-height:1.55;color:var(--text-muted);margin:0}@media(max-width:768px){.skills{padding:4rem 1.25rem 6rem}.skills-grid{grid-template-columns:1fr;gap:1.5rem}.skill-card{padding:2rem 1.5rem}}.editors{padding:6rem 1.5rem 8rem;background:radial-gradient(circle at 20% 30%,rgba(139,92,246,8%),transparent 50%),radial-gradient(circle at 80% 70%,rgba(74,222,128,6%),transparent 50%),linear-gradient(to bottom,#020617,var(--bg))}.container{max-width:1100px;margin:0 auto}.section-title{font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.1;margin:0 0 .5rem;text-align:center;background:linear-gradient(135deg,var(--accent),#c5b522);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{font-size:1rem;color:var(--text-muted);text-align:center;max-width:36rem;margin:-.25rem auto 4rem;line-height:1.5}.editors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.editor-card{background:rgba(15,23,42,.7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(74,222,128,.25);border-radius:1.25rem;padding:2.5rem 2rem;text-align:center;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative}.editor-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:1.25rem 1.25rem 0 0;opacity:.7;transition:opacity .3s ease}.editor-card:hover{transform:translateY(-10px)scale(1.02);box-shadow:0 30px 60px -15px rgba(15,23,42,.95),0 0 0 1px rgba(212,222,74,.5),inset 0 1px rgba(212,222,74,.3)}.editor-card:hover::before{opacity:1}.editor-icon{width:100px;height:100px;margin:0 auto 1.25rem;border-radius:1rem;position:relative;overflow:hidden}.editor-card h3{font-size:1.3rem;margin:0 0 .75rem;color:var(--text-main)}.editor-card p{font-size:.92rem;line-height:1.6;color:var(--text-muted);margin:0}@media(max-width:768px){.editors{padding:4rem 1.25rem 6rem}.editors-grid{grid-template-columns:1fr;gap:1.75rem}.editor-card{padding:2.25rem 1.75rem}.editor-icon{width:70px;height:70px}}.os{padding:6rem 1.5rem 8rem;background:radial-gradient(circle at 40% 10%,rgba(236,72,153,8%),transparent 50%),radial-gradient(circle at 60% 90%,rgba(99,102,241,6%),transparent 50%),linear-gradient(to bottom,var(--bg),#020617)}.container{max-width:1100px;margin:0 auto}.section-title{font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.4;margin:0 0 .5rem;text-align:center;background:linear-gradient(135deg,var(--accent),#c5ba22);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{font-size:1rem;color:var(--text-muted);text-align:center;max-width:36rem;margin:-.25rem auto 4rem;line-height:1.5}.os-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.os-card{background:rgba(17,24,39,.7);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(74,222,128,.3);border-radius:1.5rem;padding:2.75rem 2.25rem;text-align:center;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative}.os-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:1.5rem 1.5rem 0 0;opacity:.8}.os-card:hover{transform:translateY(-12px)scale(1.025);box-shadow:0 35px 70px -18px rgba(15,23,42,.95),0 0 0 1px rgba(212,222,74,.6),inset 0 1px rgba(222,207,74,.35)}.os-icon{width:100px;height:100px;margin:0 auto 1.5rem;position:relative;overflow:hidden;box-shadow:0 12px 30px rgba(15,23,42,.7)}.os-card h3{font-size:1.35rem;margin:0 0 1rem;color:var(--text-main)}.os-card p{font-size:.93rem;line-height:1.65;color:var(--text-muted);margin:0}@media(max-width:768px){.os{padding:4rem 1.25rem 6rem}.os-grid{grid-template-columns:1fr;gap:1.75rem}.os-card{padding:2.5rem 2rem}.os-icon{width:80px;height:80px}}.platforms{padding:6rem 1.5rem 8rem;background:radial-gradient(circle at 10% 60%,rgba(239,68,68,8%),transparent 50%),radial-gradient(circle at 90% 40%,rgba(59,130,246,6%),transparent 50%),linear-gradient(to bottom,#020617,var(--bg))}.container{max-width:1100px;margin:0 auto}.section-title{font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.4;margin:0 0 .5rem;text-align:center;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{font-size:1rem;color:var(--text-muted);text-align:center;max-width:36rem;margin:-.25rem auto 4rem;line-height:1.5}.platforms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.platform-card{background:rgba(15,23,39,.75);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(74,222,128,.25);border-radius:1.5rem;padding:2.75rem 2.25rem;text-align:center;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.platform-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:1.5rem 1.5rem 0 0;opacity:.75}.platform-card::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(74,222,128,8%),transparent);opacity:0;transition:opacity .4s ease}.platform-card:hover{transform:translateY(-12px)scale(1.03);box-shadow:0 40px 80px -20px rgba(15,23,42,.95),0 0 0 1px rgba(74,222,128,.6),inset 0 1px rgba(74,222,128,.4)}.platform-card:hover::after{opacity:1}.platform-icon{width:95px;height:95px;margin:0 auto 1.5rem;border-radius:1.25rem;position:relative;overflow:hidden;box-shadow:0 15px 35px rgba(15,23,42,.8);transition:transform .3s ease}.platform-card:hover .platform-icon{transform:scale(1.05)rotate(2deg)}.platform-card h3{font-size:1.35rem;margin:0 0 1rem;color:var(--text-main)}.platform-card p{font-size:.93rem;line-height:1.65;color:var(--text-muted);margin:0}@media(max-width:768px){.platforms{padding:4rem 1.25rem 6rem}.platforms-grid{grid-template-columns:1fr;gap:1.75rem}.platform-card{padding:2.5rem 2rem}.platform-icon{width:85px;height:85px}}.cli-projects{padding:6rem 1.5rem 8rem;background:radial-gradient(circle at 25% 25%,rgba(168,85,247,8%),transparent 50%),radial-gradient(circle at 75% 75%,rgba(74,222,128,7%),transparent 50%),linear-gradient(to bottom,var(--bg),#010509);position:relative}.cli-projects::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 80%,rgba(74,222,128,3%) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(139,92,246,3%) 0%,transparent 50%);pointer-events:none}.container{max-width:1100px;margin:0 auto;position:relative;z-index:1}.section-title{font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.4;margin:0 0 .5rem;text-align:center;background:linear-gradient(135deg,var(--accent),#adc522);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{font-size:1rem;color:var(--text-muted);text-align:center;max-width:36rem;margin:-.25rem auto 4.5rem;line-height:1.5}.cli-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:2.5rem}.cli-card{background:rgba(15,23,39,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(74,222,128,.3);border-radius:1.75rem;padding:3rem 2.5rem;transition:all .45s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.cli-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;border-radius:1.75rem 1.75rem 0 0;opacity:.85}.cli-card::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(74,222,128,.12),transparent 60%);opacity:0;transition:opacity .4s ease}.cli-card:hover{transform:translateY(-16px)scale(1.02);box-shadow:0 50px 100px -25px rgba(15,23,42,.95),0 0 0 1px rgba(74,222,128,.7),inset 0 1px rgba(74,222,128,.45)}.cli-card:hover::after{opacity:1}.cli-icon{font-size:4rem;margin-bottom:1.75rem;display:block;filter:drop-shadow(0 8px 20px rgba(74,222,128,.3));transition:transform .3s ease}.cli-card:hover .cli-icon{transform:scale(1.1)rotate(5deg)}.cli-card h3{font-size:1.4rem;margin:0 0 1.25rem;color:var(--text-main);line-height:1.3}.cli-card p{font-size:.95rem;line-height:1.65;color:var(--text-muted);margin:0 0 1.75rem}.cli-tags{display:flex;flex-wrap:wrap;gap:.75rem}.cli-tags span{background:rgba(74,222,128,.2);color:var(--accent);padding:.375rem .875rem;border-radius:999px;font-size:.8rem;font-weight:500;border:1px solid rgba(74,222,128,.4)}@media(max-width:900px){.cli-grid{grid-template-columns:1fr;gap:2rem}}@media(max-width:768px){.cli-projects{padding:4rem 1.25rem 6rem}.cli-card{padding:2.5rem 2rem}}.web-projects{padding:6rem 1.5rem 8rem;background:radial-gradient(circle at 15% 15%,rgba(249,115,22,8%),transparent 50%),radial-gradient(circle at 85% 85%,rgba(74,222,128,8%),transparent 50%),linear-gradient(to bottom,#010509,var(--bg))}.container{max-width:1200px;margin:0 auto}.section-title{font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.4;margin:0 0 .5rem;text-align:center;background:linear-gradient(135deg,var(--accent),#22c55e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{font-size:1rem;color:var(--text-muted);text-align:center;max-width:38rem;margin:-.25rem auto 5rem;line-height:1.5}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem}.project-card{background:rgba(15,23,39,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(74,222,128,.25);border-radius:1.75rem;padding:2.75rem 2.25rem;transition:all .45s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.project-card.featured{grid-column:1/-1;background:rgba(17,24,39,.95);border:1px solid rgba(74,222,128,.5);box-shadow:0 30px 60px rgba(15,23,42,.7)}.project-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;border-radius:1.75rem 1.75rem 0 0;opacity:.9}.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(74,222,128,.15),transparent 70%);opacity:0;transition:opacity .4s ease}.project-card:hover{transform:translateY(-18px)scale(1.025);box-shadow:0 55px 110px -30px rgba(15,23,42,.98),0 0 0 1px rgba(74,222,128,.75),inset 0 1px rgba(74,222,128,.5)}.project-card:hover::after{opacity:1}.project-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.project-icon{font-size:2.5rem;flex-shrink:0;filter:drop-shadow(0 6px 15px rgba(74,222,128,.4));transition:transform .3s ease}.project-card:hover .project-icon{transform:scale(1.15)rotate(8deg)}.project-card h3{font-size:1.45rem;margin:0;color:var(--text-main);line-height:1.3;flex:1}.project-role{background:rgba(74,222,128,.2);color:var(--accent);padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:600;border:1px solid rgba(74,222,128,.4);white-space:nowrap}.project-card p{font-size:.96rem;line-height:1.7;color:var(--text-muted);margin:0 0 1.75rem}.project-tech{display:flex;flex-wrap:wrap;gap:.75rem}.project-tech span{background:rgba(74,222,128,.15);color:var(--accent);padding:.375rem 1rem;border-radius:999px;font-size:.82rem;font-weight:500;border:1px solid rgba(74,222,128,.35)}@media(max-width:900px){.projects-grid{grid-template-columns:1fr}.project-card.featured{grid-column:1}}@media(max-width:768px){.web-projects{padding:4rem 1.25rem 6rem}.project-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.android-projects{padding:6rem 1.5rem 8rem;background:radial-gradient(circle at 35% 35%,rgba(34,197,94,8%),transparent 50%),radial-gradient(circle at 65% 65%,rgba(99,102,241,7%),transparent 50%),linear-gradient(to bottom,var(--bg),#010509)}.container{max-width:1200px;margin:0 auto}.section-title{font-size:clamp(2rem,3.2vw,2.5rem);line-height:1.4;margin:0 0 .5rem;text-align:center;background:linear-gradient(135deg,var(--accent),#adc522);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{font-size:1rem;color:var(--text-muted);text-align:center;max-width:38rem;margin:-.25rem auto 5rem;line-height:1.5}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem}.project-card{background:rgba(15,23,39,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(74,222,128,.25);border-radius:1.75rem;padding:2.75rem 2.25rem;transition:all .45s cubic-bezier(.34,1.56,.64,1);position:relative;overflow:hidden}.project-card.featured{grid-column:1/-1;background:rgba(17,24,39,.95);border:1px solid rgba(74,222,128,.5);box-shadow:0 30px 60px rgba(15,23,42,.7)}.project-card::before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--accent),#10b981,#059669,rgba(74,222,128,.85));border-radius:1.75rem 1.75rem 0 0;opacity:.9}.project-card::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(74,222,128,.15),transparent 70%);opacity:0;transition:opacity .4s ease}.project-card:hover{transform:translateY(-18px)scale(1.025);box-shadow:0 55px 110px -30px rgba(15,23,42,.98),0 0 0 1px rgba(74,222,128,.75),inset 0 1px rgba(74,222,128,.5)}.project-card:hover::after{opacity:1}.project-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.project-icon{font-size:2.75rem;flex-shrink:0;filter:drop-shadow(0 8px 20px rgba(222,212,74,.4));transition:transform .3s ease}.project-card:hover .project-icon{transform:scale(1.2)rotate(10deg)}.project-card h3{font-size:1.45rem;margin:0;color:var(--text-main);line-height:1.3;flex:1}.project-badge{background:rgba(74,222,128,.2);color:var(--accent);padding:.3rem .85rem;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid rgba(74,222,128,.4);white-space:nowrap}.project-badge.play{background:rgba(76,175,80,.25);border-color:rgba(76,175,80,.5)}.project-badge.github{background:rgba(36,41,47,.3);color:#f0f6fc;border-color:rgba(36,41,47,.6)}.project-badge.opensource{background:rgba(16,185,129,.25);border-color:rgba(16,185,129,.5)}.project-card p{font-size:.96rem;line-height:1.7;color:var(--text-muted);margin:0 0 1.75rem}.project-tech{display:flex;flex-wrap:wrap;gap:.75rem}.project-tech span{background:rgba(74,222,128,.15);color:var(--accent);padding:.375rem 1rem;border-radius:999px;font-size:.82rem;font-weight:500;border:1px solid rgba(74,222,128,.35)}@media(max-width:900px){.projects-grid{grid-template-columns:1fr}.project-card.featured{grid-column:1}}@media(max-width:768px){.android-projects{padding:4rem 1.25rem 6rem}.project-header{flex-direction:column;align-items:flex-start;gap:.75rem}}