/*
Theme Name: Pixel Dev Portfolio
Theme URI: https://example.com/pixel-dev-portfolio
Author: ChatGPT
Description: Animasyonlu pixel tabanlı developer tanıtım WordPress teması. Admin panelinden düzenlenebilir Hakkımda, Uygulamalarım, mağaza linkleri ve İletişim bölümleri.
Version: 2.2.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pixel-dev-portfolio
Tags: portfolio, one-page, pixel-art, developer, responsive, customizer
*/

:root{--bg:#120d22;--bg-2:#1d1436;--card:#251a45;--card-2:#302154;--text:#fff7d6;--muted:#b9a9e8;--primary:#64ffda;--secondary:#ffcc4d;--accent:#ff5ea8;--border:#7a5cff;--shadow:#070411;--grid:rgba(255,255,255,.045)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),radial-gradient(circle at 20% 20%,rgba(100,255,218,.2),transparent 28%),radial-gradient(circle at 80% 0%,rgba(255,94,168,.18),transparent 30%),var(--bg);background-size:18px 18px,18px 18px,auto,auto,auto;color:var(--text);font-family:'Courier New',Courier,monospace;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(255,255,255,.045),rgba(255,255,255,.045) 1px,transparent 1px,transparent 4px);mix-blend-mode:overlay;opacity:.35;z-index:9999}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.pixel-wrap{width:min(1120px,calc(100% - 32px));margin:0 auto}.pixel-header{position:sticky;top:0;z-index:50;border-bottom:4px solid var(--shadow);background:rgba(18,13,34,.88);backdrop-filter:blur(12px);transition:.25s}.pixel-header.is-scrolled{box-shadow:0 14px 0 rgba(0,0,0,.18)}.pixel-nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:22px}.pixel-logo{display:inline-flex;align-items:center;gap:10px;font-weight:900;color:var(--secondary);text-transform:uppercase;letter-spacing:.08em;min-width:0}.pixel-logo-img,.pixel-logo-custom img{display:block;width:var(--logo-width,42px);max-width:180px;height:auto;max-height:58px;object-fit:contain;filter:drop-shadow(4px 4px 0 var(--shadow))}.pixel-logo-custom{display:inline-flex;align-items:center;flex:0 0 auto}.pixel-logo-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.pixel-logo-icon{width:34px;height:34px;image-rendering:pixelated;background:linear-gradient(var(--primary) 0 0) 8px 4px/18px 6px no-repeat,linear-gradient(var(--accent) 0 0) 4px 10px/26px 16px no-repeat,linear-gradient(var(--secondary) 0 0) 10px 14px/4px 4px no-repeat,linear-gradient(var(--secondary) 0 0) 20px 14px/4px 4px no-repeat,linear-gradient(var(--primary) 0 0) 12px 24px/10px 6px no-repeat;filter:drop-shadow(4px 4px 0 var(--shadow));animation:floaty 2.4s ease-in-out infinite}.menu,.pixel-menu{display:flex;align-items:center;gap:12px;list-style:none;margin:0;padding:0;flex-wrap:wrap}.menu a,.pixel-menu a{display:inline-block;padding:10px 12px;border:3px solid transparent;color:var(--muted);font-weight:800}.menu a:hover,.pixel-menu a:hover{color:var(--primary);border-color:var(--primary);background:rgba(100,255,218,.08);box-shadow:4px 4px 0 var(--shadow);transform:translateY(-2px)}
.pixel-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 18px;background:var(--secondary);color:#171022;border:4px solid #fff2a8;box-shadow:6px 6px 0 var(--shadow);font-weight:900;text-transform:uppercase;transition:.15s;position:relative;overflow:hidden}.pixel-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-120%)}.pixel-btn:hover:before{animation:shine .65s}.pixel-btn:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--shadow)}.pixel-btn.secondary{background:var(--primary);border-color:#b8fff0}.pixel-btn.pulse{animation:pulse 1.8s infinite}.hero{min-height:720px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:56px;padding:80px 0}.hero h1{font-size:clamp(42px,7vw,76px);line-height:.98;margin:14px 0 18px;text-shadow:6px 6px 0 var(--shadow),-2px -2px 0 rgba(255,255,255,.08)}.hero p{font-size:18px;color:var(--muted);max-width:640px}.pixel-kicker{display:inline-block;color:var(--primary);font-weight:900;text-transform:uppercase;letter-spacing:.16em;background:rgba(100,255,218,.08);border:3px solid var(--primary);padding:8px 12px;box-shadow:4px 4px 0 var(--shadow)}.glitch{position:relative}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;inset:8px 12px;opacity:.5}.glitch:before{color:var(--accent);transform:translate(2px,-2px);animation:glitch 2s infinite}.glitch:after{color:var(--secondary);transform:translate(-2px,2px);animation:glitch 2.4s infinite reverse}.pixel-actions{display:flex;gap:16px;flex-wrap:wrap;margin-top:30px}.pixel-stage{position:relative;min-height:520px}.pixel-orb{position:absolute;width:38px;height:38px;background:var(--secondary);box-shadow:8px 8px 0 var(--shadow);image-rendering:pixelated}.orb-1{left:8%;top:8%;animation:orbit 8s linear infinite}.orb-2{right:8%;top:22%;background:var(--primary);animation:orbit 10s linear infinite reverse}.orb-3{left:18%;bottom:10%;background:var(--accent);animation:floaty 3s ease-in-out infinite}.pixel-character{position:absolute;right:7%;bottom:3%;width:130px;height:170px;filter:drop-shadow(10px 10px 0 var(--shadow));animation:floaty 3.2s ease-in-out infinite}.pixel-character:before{content:"";position:absolute;left:32px;top:8px;width:66px;height:56px;background:var(--secondary);box-shadow:0 56px 0 var(--accent),-18px 76px 0 var(--primary),84px 76px 0 var(--primary),16px 130px 0 var(--secondary),56px 130px 0 var(--secondary)}.pixel-character span{position:absolute;left:47px;top:28px;width:10px;height:10px;background:#171022;box-shadow:28px 0 0 #171022,14px 22px 0 #171022}.pixel-screen{position:relative;z-index:2;background:linear-gradient(135deg,rgba(48,33,84,.96),rgba(37,26,69,.98));border:5px solid var(--border);box-shadow:12px 12px 0 var(--shadow),0 0 45px rgba(100,255,218,.14);transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0));transition:transform .12s}.pixel-screen:after,.pixel-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.16),transparent 30%);pointer-events:none}.pixel-window-bar{height:42px;border-bottom:5px solid var(--border);display:flex;align-items:center;gap:8px;padding:0 14px;background:#181129}.pixel-dot{width:13px;height:13px;background:var(--accent);box-shadow:18px 0 0 var(--secondary),36px 0 0 var(--primary)}.code-card{padding:24px;min-height:330px}.code-line{display:block;margin:8px 0;color:#d8d0ff}.code-comment{color:#7bffca}.code-key{color:var(--accent)}.code-val{color:var(--secondary)}.code-fn{color:var(--primary)}
.pixel-section{padding:86px 0}.section-head{text-align:center;max-width:760px;margin:0 auto 38px}.section-head.align-left{text-align:left;margin-left:0}.section-head h2{font-size:clamp(30px,5vw,54px);line-height:1.08;margin:18px 0 12px}.section-head p{color:var(--muted);font-size:17px}.grid{display:grid;gap:24px}.grid-3{grid-template-columns:repeat(3,1fr)}.pixel-card{position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(48,33,84,.92),rgba(31,22,58,.96));border:5px solid var(--border);padding:26px;box-shadow:10px 10px 0 var(--shadow);transition:.18s;transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0))}.pixel-card:hover{border-color:var(--primary);transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0)) translateY(-8px);box-shadow:14px 14px 0 var(--shadow),0 0 32px rgba(100,255,218,.13)}.pixel-card h3{font-size:24px;margin:12px 0 8px}.pixel-card p{color:var(--muted)}.pixel-icon,.app-icon-mini{width:46px;height:46px;background:linear-gradient(var(--primary) 0 0) 8px 8px/30px 10px no-repeat,linear-gradient(var(--accent) 0 0) 4px 18px/38px 20px no-repeat,linear-gradient(var(--secondary) 0 0) 14px 24px/6px 6px no-repeat,linear-gradient(var(--secondary) 0 0) 28px 24px/6px 6px no-repeat;filter:drop-shadow(5px 5px 0 var(--shadow));animation:floaty 2.8s ease-in-out infinite}.skill-list{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:30px}.skill-list span,.app-meta span{display:inline-flex;border:3px solid var(--primary);color:var(--primary);background:rgba(100,255,218,.08);padding:8px 10px;font-weight:900;box-shadow:4px 4px 0 var(--shadow)}.marquee span{animation:bob 2.2s ease-in-out infinite}.marquee span:nth-child(2n){animation-delay:.2s}.marquee span:nth-child(3n){animation-delay:.4s}.app-card{min-height:330px;display:flex;flex-direction:column}.app-top{display:flex;align-items:center;justify-content:space-between}.app-number{font-size:28px;font-weight:900;color:rgba(255,255,255,.16);text-shadow:3px 3px 0 var(--shadow)}.app-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 18px}.app-meta span{font-size:12px;border-color:var(--secondary);color:var(--secondary)}.store-links{display:flex;gap:10px;flex-wrap:nowrap;margin-top:auto;align-items:stretch}.store-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;white-space:nowrap;text-align:center;padding:10px 10px;border:3px solid var(--accent);background:rgba(255,94,168,.1);color:#ffd4e8;font-weight:900;font-size:13px;line-height:1.1;box-shadow:4px 4px 0 var(--shadow);transition:.15s}.store-btn:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--shadow);background:var(--accent);color:#170d22}.contact-box{display:grid;grid-template-columns:.92fr 1.08fr;gap:30px;align-items:start}.pixel-input,.pixel-textarea{width:100%;margin-bottom:14px;padding:14px 16px;color:var(--text);background:#171027;border:4px solid var(--border);font:inherit;outline:none}.pixel-input:focus,.pixel-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(100,255,218,.14)}.pixel-input.has-error,.pixel-textarea.has-error{border-color:var(--accent);box-shadow:0 0 0 4px rgba(255,94,168,.16)}.contact-helper{margin:14px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.pixel-textarea{min-height:150px;resize:vertical}.pixel-footer{padding:34px 0;border-top:5px solid var(--shadow);background:#0d0919;text-align:center;color:var(--muted)}.reveal{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.24);box-shadow:8px 8px 0 var(--shadow),0 0 24px rgba(255,204,77,.35)}}@keyframes shine{to{transform:translateX(120%)}}@keyframes orbit{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(22px,12px) rotate(90deg)}50%{transform:translate(0,28px) rotate(180deg)}75%{transform:translate(-18px,10px) rotate(270deg)}100%{transform:translate(0,0) rotate(360deg)}}@keyframes glitch{0%,92%,100%{clip-path:inset(0 0 0 0)}93%{clip-path:inset(20% 0 60% 0)}95%{clip-path:inset(60% 0 20% 0)}97%{clip-path:inset(35% 0 35% 0)}}
@media (max-width:900px){.hero,.contact-box{grid-template-columns:1fr}.hero{padding:58px 0;min-height:auto}.pixel-stage{min-height:460px}.grid-3{grid-template-columns:1fr 1fr}.pixel-nav{align-items:flex-start;flex-direction:column;padding:16px 0}}@media (max-width:640px){.grid-3{grid-template-columns:1fr}.pixel-actions{flex-direction:column}.pixel-btn{width:100%}.hero h1{font-size:40px}.pixel-stage{min-height:400px}.pixel-character{opacity:.55}.pixel-menu{gap:4px}.menu a,.pixel-menu a{padding:8px}}

/* Mobile navigation upgrade - v2.1 */
.pixel-menu-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:48px;height:44px;border:3px solid var(--primary);background:rgba(100,255,218,.09);box-shadow:5px 5px 0 var(--shadow);cursor:pointer;image-rendering:pixelated;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.pixel-menu-toggle:hover{transform:translateY(-2px);box-shadow:7px 7px 0 var(--shadow);background:rgba(100,255,218,.16)}
.pixel-menu-toggle span{display:block;width:24px;height:3px;background:var(--secondary);box-shadow:2px 2px 0 var(--shadow);transition:transform .2s ease,opacity .2s ease}
.pixel-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(8px) rotate(45deg)}
.pixel-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.pixel-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.pixel-menu-panel{display:block}

@media (max-width:900px){
  body.pixel-menu-open{overflow:hidden}
  .pixel-header{position:sticky;top:0;z-index:200;transform:translateY(0);transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
  .pixel-header.is-hidden-mobile{transform:translateY(-100%)}
  .pixel-nav{min-height:64px!important;flex-direction:row!important;align-items:center!important;padding:10px 0!important;gap:12px!important}
  .pixel-logo{max-width:calc(100% - 64px);font-size:14px;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .pixel-logo-icon{width:30px;height:30px;flex:0 0 auto}.pixel-logo-img,.pixel-logo-custom img{max-height:44px}
  .pixel-menu-toggle{display:inline-flex;flex:0 0 auto;margin-left:auto}
  .pixel-menu-panel{position:fixed;left:16px;right:16px;top:78px;max-height:calc(100dvh - 96px);overflow:auto;padding:14px;border:4px solid var(--primary);background:rgba(18,13,34,.98);box-shadow:8px 8px 0 var(--shadow),0 18px 60px rgba(0,0,0,.35);transform:translateY(-12px) scale(.98);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;border-radius:0}
  body.admin-bar .pixel-menu-panel{top:124px;max-height:calc(100dvh - 142px)}
  body.pixel-menu-open .pixel-menu-panel{transform:translateY(0) scale(1);opacity:1;pointer-events:auto}
  .menu,.pixel-menu{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;flex-wrap:nowrap}
  .menu li,.pixel-menu li{width:100%}
  .menu a,.pixel-menu a{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:48px;padding:12px 14px;border:3px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);box-shadow:4px 4px 0 rgba(0,0,0,.25);font-size:15px;color:var(--text)}
  .menu a:hover,.pixel-menu a:hover,.menu a:focus-visible,.pixel-menu a:focus-visible{color:var(--primary);border-color:var(--primary);transform:none}
  .hero{padding-top:34px!important}
  section{scroll-margin-top:86px}
}

@media (max-width:640px){
  .pixel-wrap{width:min(100% - 24px,1120px)}
  .hero h1{font-size:34px!important;line-height:1.08;word-break:normal;overflow-wrap:break-word}
  .section-head h2{font-size:28px!important;line-height:1.15}
  .pixel-stage{min-height:330px!important;transform:none}
  .pixel-card,.app-card,.contact-box,.pixel-screen{box-shadow:6px 6px 0 var(--shadow)}
  .store-links{display:flex;grid-template-columns:none;flex-wrap:nowrap;gap:8px}
  .store-btn{justify-content:center;min-height:44px;padding:9px 7px;font-size:12px;box-shadow:3px 3px 0 var(--shadow)}
  .pixel-character{opacity:.42;right:-20px;transform:scale(.85)}
  .pixel-menu-panel{left:12px;right:12px;top:72px}
  body.admin-bar .pixel-menu-panel{top:118px}
}

@media (prefers-reduced-motion:reduce){
  .pixel-header,.pixel-menu-panel,.pixel-menu-toggle,.pixel-menu-toggle span{transition:none!important}
}

/* Store buttons: always inline and auto-fit inside app cards */
.app-card .store-links{
  display:grid !important;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  grid-template-columns:none !important;
  gap:10px;
  width:100%;
  max-width:100%;
  margin-top:auto;
  align-items:stretch;
}
.app-card .store-btn{
  width:100%;
  min-width:0 !important;
  max-width:100%;
  box-sizing:border-box;
  display:flex !important;
  align-items:center;
  justify-content:center;
  white-space:nowrap !important;
  overflow:hidden;
  text-overflow:ellipsis;
  padding:10px clamp(5px,1.2vw,12px);
  font-size:clamp(10px,1.45vw,14px);
  letter-spacing:-.02em;
}
.app-card .store-btn .store-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
@media (max-width:520px){
  .app-card .store-links{gap:7px !important;}
  .app-card .store-btn{font-size:clamp(9px,3.1vw,12px);padding:9px 5px;border-width:3px;box-shadow:3px 3px 0 var(--shadow);}
}
@media (max-width:360px){
  .app-card .store-btn{font-size:10px;padding:8px 4px;}
}
