*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0e0a0f;--bg2:#1a1219;--accent:#ff8fab;--accent-dim:#ff8fab73;--accent2:#ff5c8a;--accent-mc:#ffb3c6;--sakura:#ffb3c6;--sakura-deep:#ff5c8a;--text:#ffe0ea;--text-dim:#ffe0ea94;--text-muted:#ff8fab59;--border:#ff8fab2e;--border-hover:#ff8fab61;--surface:#ff8fab0a;--surface-hover:#ff8fab14;--glow:0 0 18px #ff8fab40;--glow-strong:0 0 28px #ff8fab66;--font-head:"Syne", sans-serif;--font-mono:"Space Mono", monospace;--font-pixel:"Press Start 2P", monospace;--r-sm:8px;--r-md:12px;--r-lg:16px;--ease:cubic-bezier(.25, .46, .45, .94);--spring:cubic-bezier(.34, 1.56, .64, 1);--smooth:cubic-bezier(.4, 0, .2, 1)}html{scroll-behavior:auto;scroll-padding-top:80px}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--accent);box-shadow:var(--glow);border-radius:99px}*{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}body{background:var(--bg);color:var(--text);font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;position:relative;overflow-x:hidden}html[data-theme=sakura] body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(700px 420px at 85% 8%,#ff8fab1a,#0000 60%),radial-gradient(600px 380px at 12% 92%,#ff5c8a0f,#0000 65%),radial-gradient(500px 300px,#ffb3c608,#0000 70%);position:fixed;inset:0}html:not([data-theme=sakura]) body:before{content:none;background:0 0}html[data-theme=sakura] body:after{content:"";pointer-events:none;z-index:0;opacity:.025;background-image:radial-gradient(circle at 2px 2px, var(--accent) 1px, transparent 0);background-size:28px 28px;position:fixed;inset:0}html:not([data-theme=sakura]) body:after{content:none;background:0 0}::selection{background:var(--accent);color:var(--bg)}.scanlines{z-index:9999;pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 1px,#ff8fab06 1px 2px);position:fixed;inset:0}html[data-theme=sakura] .scanlines:after{content:"🌸";opacity:.09;filter:blur(.2px);font-size:11px;animation:22s linear infinite petalDrift;position:fixed;top:-2rem;right:12%}html:not([data-theme=sakura]) .scanlines:after{content:none}@keyframes petalDrift{0%{opacity:0;transform:translateY(-20px)translate(0)rotate(0)}10%{opacity:.09}90%{opacity:.09}to{opacity:0;transform:translateY(110vh)translate(-80px)rotate(280deg)}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:var(--glow)}.term-header{border:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(90deg,#ff8fab0f,#ff8fab05);border-bottom:none;border-radius:0;align-items:center;gap:6px;padding:8px 14px;display:flex;position:relative}.term-dot{border:1px solid var(--border);background:#ff8fab24;border-radius:50%;width:10px;height:10px}.term-dot:first-child{background:#ff6b958c;border-color:#ff6b95b3;box-shadow:0 0 6px #ff6b954d}.term-dot:nth-child(2){background:#ffb3c673;border-color:#ffb3c680}.term-dot:nth-child(3){background:#ff8fab26}.term-title{color:var(--text-dim);letter-spacing:.14em;text-transform:uppercase;font-size:.6rem;position:absolute;left:50%;transform:translate(-50%)}html[data-theme=sakura] .term-title:before{content:"❀ ";opacity:.5;font-size:.55rem}html:not([data-theme=sakura]) .term-title:before{content:"> "}.term-body{border:1px solid var(--border);background:linear-gradient(#ff8fab09,#0000 70%);border-top:none;border-radius:0;padding:2rem 2rem 2.5rem;position:relative}.loading-screen{z-index:100;background:radial-gradient(700px 400px at 50% 30%, #ff8fab14, transparent 65%), var(--bg);transition:opacity .8s var(--ease), transform .8s var(--ease);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-screen.phase-exit{opacity:0;pointer-events:none;transform:scale(1.04)}.loading-inner{text-align:center;flex-direction:column;align-items:center;gap:1.5rem;display:flex}.loading-avatar{border:2px solid var(--accent);opacity:0;width:72px;height:72px;transition:opacity .55s var(--spring), transform .55s var(--spring);box-shadow:var(--glow-strong);border-radius:50%;padding:2px;transform:scale(.75)}.loading-avatar.visible{opacity:1;transform:scale(1)}.loading-avatar img{object-fit:cover;filter:saturate(1.15)contrast(1.05);border-radius:50%;width:100%;height:100%;display:block}.loading-name{font-family:var(--font-mono);color:var(--accent);text-shadow:0 0 18px #ff8fab59;font-size:clamp(1.4rem,5vw,2.6rem);font-weight:400}.loading-prompt{opacity:.5;margin-right:.3em}.loading-cursor{color:var(--accent);margin-left:.05em;animation:1s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.loading-letter{opacity:0;transition:opacity .4s var(--ease), transform .4s var(--spring);display:inline;transform:translateY(18px)}.loading-letter.visible{opacity:1;transform:translateY(0)}.loading-line{background:linear-gradient(90deg, var(--accent), var(--sakura));width:0;height:2px;transition:width .8s var(--ease);box-shadow:var(--glow);border-radius:99px}.loading-line.expand{width:320px}.loading-subtitle{color:var(--text-dim);letter-spacing:.2em;text-transform:uppercase;opacity:0;transition:opacity .5s var(--ease) .1s, transform .5s var(--ease) .1s;font-size:.65rem;font-family:var(--font-mono);transform:translateY(8px)}.loading-subtitle.visible{opacity:1;transform:translateY(0)}.main-wrapper{z-index:1;opacity:0;transition:opacity .75s var(--ease), transform .75s var(--ease);position:relative;transform:translateY(8px)}.main-wrapper.visible{opacity:1;transform:translateY(0)}.nav-container{z-index:50;background:var(--bg2);border-bottom:1px solid var(--border);border-top:1px solid var(--border);justify-content:center;width:100%;display:flex;position:sticky;top:0;overflow:visible;box-shadow:inset 0 1px #ffffff05}.nav-pill{-webkit-backdrop-filter:none;width:100%;min-width:0;max-width:1100px;box-shadow:none;background:0 0;border:none;border-radius:0;grid-template-columns:1fr auto 1fr;align-items:center;margin:0 auto;padding:.55rem 1rem;transition:none;display:grid}.nav-pill:hover{border-color:#0000}.nav-pill>*{z-index:1;position:relative}.nav-logo{font-family:var(--font-mono);color:var(--accent);white-space:nowrap;text-shadow:0 0 10px #ff8fab40;justify-self:start;align-items:center;gap:.45rem;font-size:.78rem;display:flex}.nav-logo-prompt{opacity:.55;color:var(--sakura)}.nav-pfp{object-fit:cover;border:1.5px solid var(--border);width:22px;height:22px;transition:border-color .3s var(--ease), transform .3s var(--spring), box-shadow .3s var(--ease);border-radius:50%}.nav-pfp:hover{border-color:var(--accent);box-shadow:var(--glow);transform:scale(1.12)}.nav-divider{background:var(--border);flex-shrink:0;width:1px;height:14px}.nav-divider-li{align-items:center;list-style:none;display:flex}.nav-links{justify-self:center;align-items:center;gap:.05rem;list-style:none;display:flex}.nav-actions{justify-self:end;align-items:center;gap:.6rem;list-style:none;display:flex}.nav-links a{color:var(--text-dim);transition:color .18s var(--ease), background .18s var(--ease), border-color .18s;letter-spacing:.04em;border:1px solid #0000;border-radius:0;flex-shrink:0;padding:.32rem .55rem;font-size:.66rem;text-decoration:none;position:relative}.nav-links a:before{content:"[";opacity:.3;margin-right:.18rem}.nav-links a:after{content:"]";opacity:.3;margin-left:.18rem}.nav-links a:hover{color:var(--accent);background:var(--surface);border-color:var(--border)}.nav-links a:active{transform:translateY(.5px)}.nav-links a svg{opacity:.6;transition:opacity .2s var(--ease);flex-shrink:0}.nav-links a:hover svg{opacity:1}.lang-btn{font-family:var(--font-mono);cursor:pointer;color:var(--text-dim);letter-spacing:.05em;transition:color .2s var(--ease);background:0 0;border:none;padding:.2rem .15rem;font-size:.6rem}.lang-btn:before{content:"["}.lang-btn:after{content:"]"}.lang-btn.active{color:var(--accent);text-shadow:0 0 8px #ff8fab66}.lang-btn:hover{color:var(--accent)}.lang-switcher,.theme-switcher{position:relative}.lang-current,.theme-current{border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;border-radius:0;align-items:center;gap:.35rem;padding:.32rem .6rem;font-size:.6rem;transition:border-color .18s,background .18s,color .18s;display:inline-flex;box-shadow:inset 0 0 0 1px #0000}.lang-current:before{content:">";opacity:.45;margin-right:.15rem;font-size:.55rem}.theme-current:before{content:"#";opacity:.45;margin-right:.15rem}.lang-current:hover,.theme-current:hover{border-color:var(--accent);background:var(--surface);color:var(--accent)}.lang-current.open,.theme-current.open{border-color:var(--accent);background:var(--surface);color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset, var(--glow)}.lang-flag{font-size:.82rem;line-height:1}.lang-code,.theme-label{letter-spacing:.08em;text-transform:uppercase;font-weight:700}.lang-auto-badge{background:var(--accent);color:var(--bg);letter-spacing:.06em;border:1px solid var(--accent);border-radius:0;padding:.06rem .28rem;font-size:.48rem}.lang-chevron{opacity:.55;margin-left:.15rem;font-size:.55rem;transition:transform .2s}.lang-chevron.up{transform:rotate(180deg)}.theme-icon{font-size:.72rem}.lang-dropdown,.theme-dropdown{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;background:var(--bg2);border:1px solid var(--border);width:360px;max-height:min(72vh,520px);box-shadow:0 16px 40px #0000008c, 0 0 0 1px #0006, var(--glow);z-index:120;animation:dropdownIn .18s var(--ease);border-radius:0;padding:.6rem;position:absolute;top:calc(100% + 10px);right:0;overflow:auto}.theme-dropdown{width:320px}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.lang-search-wrap{border:1px solid var(--border);background:var(--bg);z-index:1;border-radius:0;align-items:center;gap:.5rem;margin-bottom:.6rem;padding:.4rem .5rem;display:flex;position:sticky;top:0}.lang-search{color:var(--text);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;font-size:.66rem}.lang-search::placeholder{color:var(--text-muted)}.lang-count{color:var(--text-muted);border:1px solid var(--border);background:var(--surface);border-radius:0;padding:.1rem .35rem;font-size:.52rem}.lang-group{margin-bottom:.6rem}.lang-group-title{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin:.4rem 0 .35rem;padding-left:.2rem;font-size:.55rem}.lang-group-sub{text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:.5rem}.lang-item,.theme-item{width:100%;color:var(--text);cursor:pointer;text-align:left;font-family:var(--font-mono);background:0 0;border:1px solid #0000;border-left-width:2px;border-radius:0;align-items:center;gap:.6rem;padding:.55rem .6rem;transition:background .16s,border-color .16s,color .16s;display:flex}.lang-item:hover,.theme-item:hover{background:var(--surface);border-color:var(--border);border-left-color:var(--text-muted)}.lang-item.active,.theme-item.active{background:var(--surface-hover);border-color:var(--accent);border-left-color:var(--accent);color:var(--accent)}.lang-item.active .lang-item-label,.theme-item.active .theme-item-label{color:var(--accent)}.lang-item-main,.theme-item-main{flex-direction:column;flex:1;gap:.05rem;min-width:0;display:flex}.lang-item-label,.theme-item-label{white-space:nowrap;text-overflow:ellipsis;font-size:.7rem;overflow:hidden}.lang-item-native,.theme-item-desc{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;font-size:.55rem;overflow:hidden}.lang-item-code{color:var(--text-muted);border:1px solid var(--border);background:var(--bg);border-radius:0;padding:.05rem .3rem;font-size:.55rem}.lang-check{color:var(--accent);text-shadow:var(--glow);font-size:.72rem}.lang-auto-dot{color:var(--bg);background:var(--accent-dim);border:1px solid var(--accent);border-radius:0;padding:.06rem .28rem;font-size:.45rem}.lang-empty{text-align:center;color:var(--text-muted);padding:1rem;font-size:.65rem}.theme-preview{border:1px solid var(--border);border-radius:0;flex-shrink:0;width:22px;height:22px}.theme-grid{gap:.35rem;display:grid}.theme-hint{color:var(--text-muted);text-align:center;border-top:1px solid var(--border);margin-top:.6rem;padding-top:.5rem;font-size:.5rem;line-height:1.5}.btn{border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);cursor:pointer;white-space:nowrap;transition:background .2s, border-color .2s, transform .25s var(--spring), box-shadow .2s;background:0 0;border-radius:0;align-items:center;gap:.45rem;padding:.5rem 1.1rem;font-size:.72rem;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--border-hover);box-shadow:var(--glow);background:#ff8fab14;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:700;box-shadow:0 0 14px #ff8fab47}.btn-primary:hover{background:var(--accent2);border-color:var(--accent2);color:var(--bg);box-shadow:0 0 22px #ff8fab6b}.btn-sm{padding:.25rem .7rem;font-size:.65rem}.hero{align-items:center;gap:4rem;max-width:1100px;min-height:100vh;margin:0 auto;padding:8rem 6vw 4rem;display:flex;position:relative}.hero-left{flex:1}.hero-badge{color:var(--text-dim);animation:fadein .8s var(--ease) 2.6s both;letter-spacing:.06em;align-items:center;gap:.45rem;margin-bottom:1.2rem;font-size:.6rem;display:inline-flex}.hero-badge-dot{background:var(--accent);width:5px;height:5px;box-shadow:var(--glow);border-radius:50%;animation:2s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.hero h1{font-family:var(--font-mono);animation:slideup .85s var(--spring) 2.65s both;margin-bottom:1rem;font-size:clamp(2rem,4.5vw,4rem);font-weight:400;line-height:1.15}.hero h1 .prompt{color:var(--accent);opacity:.6;margin-right:.2em;animation:1.2s step-end infinite blink}.hero h1 .accent{color:var(--accent);text-shadow:0 0 20px #ff8fab47}.hero-desc{color:var(--text-dim);max-width:460px;animation:slideup .8s var(--ease) 2.75s both;margin-bottom:1.8rem;font-size:.78rem;line-height:1.9}.hero-buttons{animation:slideup .8s var(--ease) 2.85s both;flex-wrap:wrap;gap:.7rem;display:flex}.hero-right{animation:scalein .95s var(--spring) 2.7s both;flex-shrink:0}.hero-avatar-ring{border:2px solid var(--border);width:220px;height:220px;box-shadow:var(--glow);border-radius:50%;padding:3px;animation:7s ease-in-out infinite floatAvatar}@keyframes floatAvatar{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.hero-avatar-inner{background:var(--bg2);border-radius:50%;width:100%;height:100%;overflow:hidden}.hero-avatar-inner img{object-fit:cover;filter:saturate(1.1);width:100%;height:100%;display:block}.scroll-label{color:inherit;font:inherit;cursor:pointer;opacity:.35;animation:fadein 1s var(--ease) 3.2s both;background:0 0;border:none;flex-direction:column;align-items:center;gap:.4rem;transition:opacity .3s;display:flex;position:absolute;bottom:3.5rem;left:50%;transform:translate(-50%)}.scroll-label:hover{opacity:.75}.scroll-label-tag{letter-spacing:.1em;color:var(--text-dim);font-size:.5rem}.scroll-label-arrow{background:linear-gradient(to bottom, var(--accent), transparent);width:1px;height:22px;box-shadow:0 0 6px var(--accent);animation:2.4s ease-in-out infinite scrollArrow}@keyframes scrollArrow{0%,to{opacity:.3}50%{opacity:.85}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes slideup{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scalein{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}section{max-width:1100px;margin:0 auto;padding:3rem 6vw}.section-header{margin-bottom:2rem}.section-header h2{font-family:var(--font-mono);color:var(--accent);text-shadow:0 0 14px #ff8fab38;margin-bottom:.3rem;font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:400}.section-header p{color:var(--text-dim);font-size:.7rem}.section-badge{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.4rem;margin-bottom:.6rem;font-size:.55rem;display:inline-flex}.reveal-up{opacity:0;transition:opacity .6s var(--ease), transform .6s var(--spring);transform:translateY(24px)}.reveal-up.revealed{opacity:1;transform:translateY(0)}.d1{transition-delay:40ms}.d2{transition-delay:80ms}.d3{transition-delay:.12s}.d4{transition-delay:.16s}.d5{transition-delay:.2s}.d6{transition-delay:.24s}.d7{transition-delay:.28s}.d8{transition-delay:.32s}.about-content{grid-template-columns:1fr 1fr;align-items:start;gap:2.5rem;display:grid}.about-text p{color:var(--text-dim);margin-bottom:1rem;font-size:.78rem;line-height:1.85}.about-stats{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.stat-card{text-align:center;border:1px solid var(--border);background:linear-gradient(180deg, #ff8fab0d, var(--surface));border-top:2px solid var(--accent-dim);transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);border-radius:0;padding:1.1rem;position:relative}html[data-theme=sakura] .stat-card:before{content:"❀";color:var(--text-muted);opacity:.6;font-size:.45rem;position:absolute;top:.3rem;left:.5rem}html:not([data-theme=sakura]) .stat-card:before{content:"$";opacity:.6}.stat-card:hover{border-color:var(--border-hover);background:var(--surface-hover);box-shadow:var(--glow)}.stat-card .number{font-family:var(--font-mono);color:var(--accent);font-size:1.6rem;font-weight:400}.stat-card .label{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem;font-size:.55rem}.exp-timeline{flex-direction:column;gap:.8rem;display:flex}.exp-card{border:1px solid var(--border);background:var(--surface);transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);border-radius:0;align-items:flex-start;gap:1rem;padding:1.2rem 1.4rem;display:flex}.exp-card:hover{border-color:var(--border-hover);background:var(--surface-hover);box-shadow:var(--glow)}.exp-dot{background:var(--accent);width:8px;height:8px;box-shadow:var(--glow);border-radius:1px;flex-shrink:0;margin-top:.35rem;transform:rotate(45deg)}.exp-content{flex:1}.exp-period{color:var(--text-dim);letter-spacing:.1em;font-size:.55rem;font-family:var(--font-mono);margin-bottom:.15rem}.exp-content h3{font-family:var(--font-mono);color:var(--text);margin-bottom:.35rem;font-size:.88rem;font-weight:400}.exp-content p{color:var(--text-dim);margin-bottom:.4rem;font-size:.72rem;line-height:1.7}.exp-link{color:var(--accent);border-bottom:1px solid #0000;align-items:center;gap:.3rem;font-size:.68rem;text-decoration:none;transition:border-color .2s;display:inline-flex}.exp-link:hover{border-bottom-color:var(--accent)}.exp-link-arrow{font-family:var(--font-mono);transition:transform .2s}.exp-link:hover .exp-link-arrow{transform:translate(3px)}.skills-split{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.skills-col{flex-direction:column;display:flex}.skills-col-title{font-family:var(--font-mono);color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:.8rem;padding-bottom:.3rem;font-size:.75rem;font-weight:400}.skills-col-grid{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.skill-card{border:1px solid var(--border);background:var(--surface);transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);border-radius:0;padding:1rem}.skill-card:hover{border-color:var(--border-hover);background:var(--surface-hover);box-shadow:var(--glow)}.skill-card.mc-card{border-color:#ffb3c638}.skill-card.mc-card:hover{border-color:#ffb3c661}.skill-icon{border:1px solid var(--border);width:30px;height:30px;color:var(--accent);transition:border-color .25s var(--ease), transform .3s var(--spring), box-shadow .25s var(--ease);border-radius:0;justify-content:center;align-items:center;margin-bottom:.5rem;display:flex}.skill-card.mc-card .skill-icon{color:var(--sakura);border-color:#ffb3c647}.skill-card:hover .skill-icon{border-color:var(--border-hover);box-shadow:var(--glow);transform:scale(1.05)}.skill-icon svg{width:14px;height:14px}.skill-name{color:var(--text);margin-bottom:.5rem;font-size:.72rem}.skill-bar{background:#ff8fab1f;border-radius:99px;height:3px;overflow:hidden}.skill-fill{background:linear-gradient(90deg, var(--accent), var(--sakura));height:100%;width:var(--tw);transition:width 1s var(--ease) .3s;border-radius:99px;box-shadow:0 0 6px #ff8fab59}.skill-card.mc-card .skill-fill{background:linear-gradient(90deg, var(--sakura), #ffd6e0)}.contact-grid{gap:.9rem;display:grid}.contact-split{grid-template-columns:1fr 1fr;align-items:start;gap:1.2rem;display:grid}.contact-links-col{flex-direction:column;gap:.9rem;display:flex}.contact-form{border:1px solid var(--border);background:linear-gradient(180deg, #ff8fab0a, var(--surface));border-radius:0;flex-direction:column;gap:.6rem;padding:1.2rem;display:flex}.contact-input{border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);resize:vertical;background:#0e0a0fb3;border-radius:0;outline:none;padding:.55rem .75rem;font-size:.68rem;transition:border-color .2s,box-shadow .2s}.contact-input::placeholder{color:var(--text-muted)}.contact-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ff8fab1f}.contact-textarea{min-height:80px}.contact-submit{background:var(--accent);border:1px solid var(--accent);color:var(--bg);font-family:var(--font-mono);cursor:pointer;border-radius:0;padding:.55rem;font-size:.68rem;font-weight:700;transition:background .2s,box-shadow .2s;box-shadow:0 0 12px #ff8fab33}.contact-submit:hover{background:var(--accent2);border-color:var(--accent2);box-shadow:var(--glow)}.contact-submit:disabled{opacity:.6;cursor:default}.contact-submit.sent{background:#ff6b95;border-color:#ff6b95}.contact-submit.error{background:#c0395a;border-color:#c0395a}.contact-link-card{color:var(--text);border:1px solid var(--border);background:var(--surface);transition:border-color .25s var(--ease), background .25s var(--ease), box-shadow .25s var(--ease);border-radius:0;align-items:center;gap:.9rem;padding:1.3rem;text-decoration:none;display:flex}.contact-link-card:hover{border-color:var(--border-hover);background:var(--surface-hover);box-shadow:var(--glow)}.contact-link-icon{border:1px solid var(--border);width:40px;height:40px;color:var(--accent);transition:border-color .25s var(--ease), transform .3s var(--spring), box-shadow .25s var(--ease);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-link-card:hover .contact-link-icon{border-color:var(--border-hover);box-shadow:var(--glow);transform:scale(1.06)}.contact-link-info h3{font-family:var(--font-mono);margin-bottom:.1rem;font-size:.82rem;font-weight:400}.contact-link-info p{color:var(--text-dim);font-size:.65rem}.github-stats-grid{grid-template-columns:repeat(4,1fr);gap:.7rem;margin-bottom:2rem;display:grid}.github-stat-card{text-align:center;border:1px solid var(--border);background:var(--surface);transition:border-color .25s var(--ease), background .25s var(--ease);border-radius:0;padding:1.1rem}.github-stat-card.lg{grid-column:span 2}.github-stat-card:hover{border-color:var(--border-hover);background:var(--surface-hover)}.github-stat-card .number{font-family:var(--font-mono);color:var(--accent);font-size:1.6rem;font-weight:400}.github-stat-card .label{color:var(--text-dim);letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem;font-size:.55rem}.github-repos-grid{grid-template-columns:repeat(2,1fr);gap:.9rem;display:grid}.repo-link{color:inherit;text-decoration:none}.repo-card{border:1px solid var(--border);background:var(--surface);transition:border-color .25s var(--ease), background .25s var(--ease);border-radius:0;flex-direction:column;gap:.6rem;padding:1.3rem;display:flex}.repo-card:hover{border-color:var(--border-hover);background:var(--surface-hover)}.repo-card.soon{opacity:.5}.repo-header{align-items:center;gap:.6rem;display:flex}.repo-icon{border:1px solid var(--border);width:30px;height:30px;color:var(--accent);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;display:flex}.repo-header h3{font-family:var(--font-mono);color:var(--text);font-size:.8rem;font-weight:400}.repo-meta{color:var(--text-dim);align-items:center;gap:.8rem;font-size:.6rem;display:flex}.repo-lang{align-items:center;gap:.3rem;display:inline-flex}.repo-lang:before{content:"";background:var(--accent-dim);border-radius:50%;width:8px;height:8px}.projects-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.project-card{color:inherit;border:1px solid var(--border);background:linear-gradient(180deg, #ff8fab08, var(--surface));transition:border-color .25s var(--ease), background .25s var(--ease), transform .25s var(--spring), box-shadow .25s var(--ease);border-radius:0;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.project-card:hover{border-color:var(--border-hover);background:var(--surface-hover);box-shadow:var(--glow);transform:translateY(-2px)}.project-img-wrap{aspect-ratio:16/9;background:var(--bg);border-bottom:1px solid var(--border);width:100%;overflow:hidden}.project-img{object-fit:cover;width:100%;height:100%;transition:transform .4s var(--ease);filter:saturate(1.05);display:block}.project-card:hover .project-img{transform:scale(1.04)}.project-info{flex-direction:column;flex:1;gap:.5rem;padding:1.2rem;display:flex}.project-title{font-family:var(--font-mono);color:var(--accent);font-size:.85rem;font-weight:400}.project-desc{color:var(--text-dim);flex:1;font-size:.7rem;line-height:1.7}.project-links{flex-wrap:wrap;gap:.5rem;margin-top:.3rem;display:flex}.project-link-btn{border:1px solid var(--border);font-family:var(--font-mono);color:var(--text-dim);transition:border-color .2s var(--ease), color .2s var(--ease), background .2s var(--ease);background:0 0;border-radius:0;align-items:center;gap:.35rem;padding:.3rem .65rem;font-size:.6rem;display:inline-flex}.project-link-btn:hover{border-color:var(--border-hover);color:var(--accent);background:var(--surface-hover)}.project-link-btn svg{flex-shrink:0}.projects-all-link{color:var(--text-dim);text-align:center;margin-top:1.5rem;font-size:.65rem}.projects-all-link a{color:var(--accent);border-bottom:1px solid #0000;align-items:center;gap:.3rem;text-decoration:none;transition:border-color .2s;display:inline-flex}.projects-all-link a:hover{border-bottom-color:var(--accent)}.projects-all-link a svg{flex-shrink:0}.github-skeleton{border:1px solid var(--border);background:var(--surface);border-radius:0;animation:1.5s ease-in-out infinite skeleton-pulse}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.footer{text-align:center;color:var(--text-dim);border-top:1px solid var(--border);padding:2rem;font-size:.6rem;position:relative}html[data-theme=sakura] .footer:before{content:"❀";background:var(--bg);color:var(--text-muted);padding:0 .6rem;font-size:.6rem;position:absolute;top:-.6rem;left:50%;transform:translate(-50%)}html:not([data-theme=sakura]) .footer:before{content:none}.footer-prompt{color:var(--accent);opacity:.55;margin-right:.3em}.footer-links{justify-content:center;gap:1.2rem;margin-top:.5rem;display:flex}.footer-link{color:var(--text-muted);font-size:.55rem;font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--accent)}.cookie-box{z-index:999;border:1px solid var(--border);max-width:340px;box-shadow:0 8px 32px #00000080, var(--glow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:slideUpCookie .5s var(--spring);background:#1a1219f5;border-radius:0;padding:1.2rem;position:fixed;bottom:1.2rem;left:1.2rem}.cookie-box-wide{max-width:380px}@keyframes slideUpCookie{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.cookie-title{font-family:var(--font-mono);color:var(--accent);margin-bottom:.4rem;font-size:.75rem;font-weight:400}.cookie-desc{color:var(--text-dim);margin-bottom:.8rem;font-size:.62rem;line-height:1.7}.cookie-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.cookie-accept{background:var(--accent);color:var(--bg);font-family:var(--font-mono);border-radius:var(--r-sm);cursor:pointer;border:none;flex:1;min-width:80px;padding:.4rem;font-size:.6rem;font-weight:700;transition:background .2s,box-shadow .2s;box-shadow:0 0 10px #ff8fab40}.cookie-accept:hover{background:var(--accent2);box-shadow:var(--glow)}.cookie-decline{border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:.4rem .6rem;font-size:.6rem;transition:background .2s,color .2s}.cookie-decline:hover{background:var(--surface-hover);color:var(--text)}.cookie-settings-btn{width:100%;color:var(--text-muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;margin-top:.2rem;padding:.35rem;font-size:.55rem;transition:color .2s}.cookie-settings-btn:hover{color:var(--text-dim)}.cookie-category{background:var(--surface);border-radius:var(--r-sm);border:1px solid var(--border);margin-bottom:.8rem;padding:.6rem}.cookie-cat-header{justify-content:space-between;align-items:center;margin-bottom:.3rem;display:flex}.cookie-cat-name{font-family:var(--font-mono);color:var(--text);font-size:.65rem}.cookie-always{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.5rem}.cookie-cat-desc{color:var(--text-dim);font-size:.55rem;line-height:1.6}.cookie-toggle{cursor:pointer;width:32px;height:18px;display:inline-block;position:relative}.cookie-toggle input{opacity:0;width:0;height:0}.cookie-toggle-slider{background:var(--border);border-radius:99px;transition:background .25s;position:absolute;inset:0}.cookie-toggle-slider:before{content:"";background:var(--bg);border-radius:50%;width:14px;height:14px;transition:transform .25s;position:absolute;top:2px;left:2px}.cookie-toggle input:checked+.cookie-toggle-slider{background:var(--accent);box-shadow:0 0 8px #ff8fab4d}.cookie-toggle input:checked+.cookie-toggle-slider:before{transform:translate(14px)}.consent-bar{z-index:999;border:1px solid var(--border);max-width:280px;box-shadow:0 8px 32px #00000080, var(--glow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:slideUpCookie .5s var(--spring);background:#1a1219f5;border-radius:0;padding:1rem;position:fixed;bottom:1.2rem;left:1.2rem}.consent-bar p{color:var(--text-dim);margin-bottom:.7rem;font-size:.65rem;line-height:1.6}.consent-buttons{gap:.45rem;display:flex}.consent-accept{background:var(--accent);color:var(--bg);font-family:var(--font-mono);border-radius:var(--r-sm);cursor:pointer;border:none;flex:1;padding:.38rem;font-size:.62rem;font-weight:700;transition:background .2s}.consent-accept:hover{background:var(--accent2)}.consent-decline{border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);border-radius:var(--r-sm);cursor:pointer;background:0 0;padding:.38rem .65rem;font-size:.62rem;transition:background .2s,color .2s}.consent-decline:hover{background:var(--surface-hover);color:var(--text)}@media (width<=900px){.nav-pill{gap:.6rem;padding:.45rem .6rem}.nav-links{gap:.05rem}.nav-links a{padding:.28rem .4rem;font-size:.62rem}.hero{flex-direction:column;gap:2.5rem;padding:8rem 1.5rem 4rem}.hero-right{display:none}.about-content{grid-template-columns:1fr}.skills-split{grid-template-columns:1fr;gap:2rem}.skills-col-grid{grid-template-columns:1fr 1fr}section{padding:2.5rem 1.2rem}.term-body{padding:1.5rem}.github-stats-grid{grid-template-columns:repeat(2,1fr)}.github-repos-grid,.projects-grid,.contact-split{grid-template-columns:1fr}}@media (width<=640px){.nav-container{padding:0}.nav-pill{grid-template-columns:auto 1fr auto;gap:.5rem;padding:.5rem .7rem}.nav-logo{font-size:.72rem}.nav-links{scrollbar-width:none;flex-wrap:nowrap;justify-self:center;width:100%;overflow-x:auto}.nav-links::-webkit-scrollbar{display:none}.nav-actions{gap:.35rem}.lang-dropdown,.theme-dropdown{width:92vw;right:-6px}.skills-col-grid{grid-template-columns:1fr}.hero-buttons{flex-direction:column}.hero-buttons .btn{justify-content:center;width:100%}.contact-grid{grid-template-columns:1fr!important}.contact-split,.about-stats,.github-stats-grid{grid-template-columns:1fr}}:root[data-theme=sakura]{--bg:#0e0a0f;--bg2:#1a1219;--accent:#ff8fab;--accent-dim:#ff8fab73;--accent2:#ff5c8a;--accent-mc:#ffb3c6;--sakura:#ffb3c6;--text:#ffe0ea;--text-dim:#ffe0ea94;--text-muted:#ff8fab59;--border:#ff8fab2e;--border-hover:#ff8fab61;--surface:#ff8fab0a;--surface-hover:#ff8fab14;--glow:0 0 18px #ff8fab40;--glow-strong:0 0 28px #ff8fab66}:root[data-theme=matrix]{--bg:#070a07;--bg2:#0d140d;--accent:#00ff41;--accent-dim:#00ff4180;--accent2:#0c3;--accent-mc:#5dbb63;--sakura:#00ff41;--text:#b3ffb3;--text-dim:#b3ffb39e;--text-muted:#00ff4159;--border:#00ff412e;--border-hover:#00ff416b;--surface:#00ff4109;--surface-hover:#00ff4112;--glow:0 0 18px #00ff4138;--glow-strong:0 0 26px #00ff4159}:root[data-theme=white-terminal]{--bg:#ebebeb;--bg2:#f7f7f8;--accent:#111;--accent-dim:#0009;--accent2:#333;--accent-mc:#333;--sakura:#111;--text:#111;--text-dim:#0000008a;--text-muted:#00000052;--border:#0000001a;--border-hover:#0000003d;--surface:#f7f7f8;--surface-hover:#efefef;--glow:0 1px 3px #00000014;--glow-strong:0 4px 20px #0000001a}:root[data-theme=midnight]{--bg:#070a14;--bg2:#0e1426;--accent:#7aa2ff;--accent-dim:#7aa2ff73;--accent2:#4f7cff;--accent-mc:#8ab4ff;--sakura:#7aa2ff;--text:#d6e0ff;--text-dim:#d6e0ff99;--text-muted:#7aa2ff52;--border:#7aa2ff29;--border-hover:#7aa2ff5c;--surface:#7aa2ff0b;--surface-hover:#7aa2ff16;--glow:0 0 18px #7aa2ff33;--glow-strong:0 0 28px #7aa2ff54}:root[data-theme=dracula]{--bg:#0f0a1a;--bg2:#1a1230;--accent:#bd93f9;--accent-dim:#bd93f973;--accent2:#9b6fe6;--accent-mc:#ff79c6;--sakura:#bd93f9;--text:#f0e6ff;--text-dim:#f0e6ff99;--text-muted:#bd93f954;--border:#bd93f929;--border-hover:#bd93f961;--surface:#bd93f90d;--surface-hover:#bd93f917;--glow:0 0 18px #bd93f933;--glow-strong:0 0 28px #bd93f957}:root[data-theme=cyberpunk]{--bg:#0a0a12;--bg2:#141428;--accent:#00f0ff;--accent-dim:#00f0ff73;--accent2:#ff0080;--accent-mc:#fc0;--sakura:#00f0ff;--text:#e0faff;--text-dim:#e0faff9e;--text-muted:#00f0ff4d;--border:#00f0ff24;--border-hover:#00f0ff5c;--surface:#00f0ff0a;--surface-hover:#ff008014;--glow:0 0 18px #00f0ff33;--glow-strong:0 0 28px #ff008040}:root[data-theme=amber]{--bg:#0e0a00;--bg2:#1a1400;--accent:#ffb000;--accent-dim:#ffb00073;--accent2:#ff8c00;--accent-mc:#fc6;--sakura:#ffb000;--text:#ffdf9e;--text-dim:#ffdf9e9e;--text-muted:#ffb00052;--border:#ffb00029;--border-hover:#ffb00066;--surface:#ffb0000a;--surface-hover:#ffb00014;--glow:0 0 18px #ffb0002e;--glow-strong:0 0 28px #ffb0004d}:root[data-theme=nord]{--bg:#0b1014;--bg2:#162027;--accent:#88c0d0;--accent-dim:#88c0d073;--accent2:#5e81ac;--accent-mc:#a3be8c;--sakura:#88c0d0;--text:#d8dee9;--text-dim:#d8dee999;--text-muted:#88c0d04d;--border:#88c0d024;--border-hover:#88c0d057;--surface:#88c0d00b;--surface-hover:#88c0d014;--glow:0 0 18px #88c0d024;--glow-strong:0 0 24px #88c0d038}.admin-login{background:#0d1117;justify-content:center;align-items:center;min-height:100vh;font-family:Space Mono,monospace;display:flex}.admin-login-box{text-align:center;background:#161b22;border:1px solid #30363d;border-radius:8px;width:320px;padding:2.5rem}.admin-login-box h1{color:#e6edf3;margin-bottom:.3rem;font-family:Space Mono,monospace;font-size:1.4rem;font-weight:400}.admin-login-box p{color:#8b949e;margin-bottom:1.5rem;font-size:.7rem}.admin-login-box input{color:#e6edf3;background:#0d1117;border:1px solid #30363d;border-radius:6px;outline:none;width:100%;margin-bottom:.8rem;padding:.6rem .8rem;font-family:Space Mono,monospace;font-size:.75rem;transition:border-color .2s}.admin-login-box input:focus{border-color:#58a6ff}.admin-login-box button{color:#fff;cursor:pointer;background:#238636;border:none;border-radius:6px;width:100%;padding:.6rem;font-family:Space Mono,monospace;font-size:.75rem;font-weight:700;transition:background .2s}.admin-login-box button:hover{background:#2ea043}.admin-error{color:#f85149;margin-bottom:.6rem;font-size:.65rem;display:block}.admin-layout{background:#0d1117;min-height:100vh;font-family:Space Mono,monospace;display:flex}.admin-sidebar{z-index:10;background:#161b22;border-right:1px solid #30363d;flex-direction:column;width:240px;display:flex;position:fixed;top:0;bottom:0;left:0}.admin-sidebar-top{border-bottom:1px solid #30363d;padding:1.2rem}.admin-logo{color:#e6edf3;margin-bottom:.8rem;font-size:.85rem;font-weight:400}.admin-lang-switch{gap:.3rem;display:flex}.admin-lang-switch button{color:#8b949e;cursor:pointer;background:#0d1117;border:1px solid #30363d;border-radius:4px;flex:1;padding:.3rem;font-family:Space Mono,monospace;font-size:.6rem;transition:all .2s}.admin-lang-switch button.active{color:#fff;background:#1f6feb;border-color:#1f6feb}.admin-lang-switch button:hover:not(.active){border-color:#8b949e}.admin-nav{flex-direction:column;flex:1;gap:.2rem;padding:.6rem;display:flex}.admin-nav-btn{color:#8b949e;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:.6rem;padding:.55rem .7rem;font-family:Space Mono,monospace;font-size:.7rem;transition:all .15s;display:flex}.admin-nav-btn:hover{color:#e6edf3;background:#21262d}.admin-nav-btn.active{color:#58a6ff;background:#1f6feb22;border-color:#1f6feb44}.admin-nav-icon{text-align:center;width:1.2rem;font-size:.75rem;font-weight:700}.admin-sidebar-bottom{border-top:1px solid #30363d;flex-direction:column;gap:.3rem;padding:.8rem;display:flex}.admin-btn-sm{color:#8b949e;cursor:pointer;text-align:center;background:#21262d;border:1px solid #30363d;border-radius:4px;padding:.35rem .6rem;font-family:Space Mono,monospace;font-size:.6rem;text-decoration:none;transition:all .15s}.admin-btn-sm:hover{color:#e6edf3;border-color:#8b949e}.admin-btn-link{display:block}.admin-main{flex:1;min-height:100vh;margin-left:240px;padding:2rem 2.5rem}.admin-section{max-width:900px}.admin-section-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.admin-section-header h2{color:#e6edf3;font-size:1.1rem;font-weight:400}.admin-section-actions{gap:.4rem;display:flex}.admin-btn{color:#c9d1d9;cursor:pointer;background:#21262d;border:1px solid #30363d;border-radius:6px;padding:.45rem .9rem;font-family:Space Mono,monospace;font-size:.68rem;transition:all .15s}.admin-btn:hover{border-color:#8b949e}.admin-btn-primary{color:#fff;background:#238636;border-color:#238636}.admin-btn-primary:hover{background:#2ea043}.admin-btn-ghost{color:#8b949e;background:0 0;border-color:#30363d}.admin-btn-ghost:hover{color:#f85149;border-color:#f85149}.admin-danger{color:#f85149}.admin-table{border:1px solid #30363d;border-radius:6px;overflow:hidden}.admin-table-head{color:#8b949e;text-transform:uppercase;letter-spacing:.08em;background:#161b22;border-bottom:1px solid #30363d;grid-template-columns:1fr 140px 100px 120px;padding:.6rem 1rem;font-size:.6rem;display:grid}.admin-table-row{color:#c9d1d9;border-bottom:1px solid #21262d;grid-template-columns:1fr 140px 100px 120px;align-items:center;padding:.7rem 1rem;font-size:.72rem;transition:background .15s;display:grid}.admin-table-row:last-child{border-bottom:none}.admin-table-row:hover{background:#161b22}.admin-table-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-level-bar{background:#21262d;border-radius:99px;align-items:center;height:6px;display:flex;position:relative;overflow:visible}.admin-level-fill{background:#58a6ff;border-radius:99px;height:100%;position:absolute;top:0;left:0}.admin-table-row .admin-level-bar:after{content:attr(data-level)}.admin-icon-badge{color:#8b949e;background:#21262d;border-radius:4px;padding:.15rem .4rem;font-size:.6rem;display:inline-block}.admin-row-actions{gap:.3rem;display:flex}.admin-row-actions button{color:#8b949e;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:4px;padding:.2rem .5rem;font-family:Space Mono,monospace;font-size:.6rem;transition:all .15s}.admin-row-actions button:hover{color:#58a6ff;border-color:#58a6ff}.admin-row-actions button.admin-danger:hover{color:#f85149;border-color:#f85149}.admin-cards{flex-direction:column;gap:.7rem;display:flex}.admin-project-card{background:#161b22;border:1px solid #30363d;border-radius:6px;align-items:center;gap:1rem;padding:.8rem 1rem;transition:border-color .2s;display:flex}.admin-project-card:hover{border-color:#484f58}.admin-project-thumb{object-fit:cover;background:#0d1117;border-radius:4px;flex-shrink:0;width:80px;height:50px}.admin-project-info{flex:1;min-width:0}.admin-project-info h4{color:#e6edf3;margin-bottom:.2rem;font-size:.78rem;font-weight:400}.admin-project-info p{color:#8b949e;white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;overflow:hidden}.admin-project-links-preview{flex-wrap:wrap;gap:.3rem;margin-top:.3rem;display:flex}.admin-link-chip{color:#8b949e;background:#21262d;border-radius:3px;padding:.1rem .4rem;font-size:.55rem}.admin-project-actions{flex-shrink:0;gap:.3rem;display:flex}.admin-project-actions button{color:#8b949e;cursor:pointer;background:0 0;border:1px solid #30363d;border-radius:4px;padding:.25rem .6rem;font-family:Space Mono,monospace;font-size:.6rem;transition:all .15s}.admin-project-actions button:hover{color:#58a6ff;border-color:#58a6ff}.admin-project-actions button.admin-danger:hover{color:#f85149;border-color:#f85149}.admin-modal{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal-box{background:#161b22;border:1px solid #30363d;border-radius:8px;width:380px;max-height:85vh;padding:1.8rem;overflow-y:auto}.admin-modal-lg{width:520px}.admin-modal-box h3{color:#e6edf3;margin-bottom:1.2rem;font-size:.9rem;font-weight:400}.admin-modal-box label{color:#8b949e;flex-direction:column;gap:.3rem;margin-bottom:.9rem;font-size:.62rem;display:flex}.admin-modal-box input,.admin-modal-box select,.admin-modal-box textarea{color:#e6edf3;resize:vertical;background:#0d1117;border:1px solid #30363d;border-radius:4px;outline:none;padding:.5rem .7rem;font-family:Space Mono,monospace;font-size:.72rem;transition:border-color .2s}.admin-modal-box input:focus,.admin-modal-box select:focus,.admin-modal-box textarea:focus{border-color:#58a6ff}.admin-modal-actions{gap:.4rem;margin-top:1.2rem;display:flex}.admin-img-preview{border:1px solid #30363d;border-radius:4px;margin-bottom:.9rem;overflow:hidden}.admin-img-preview img{object-fit:cover;width:100%;max-height:160px;display:block}.admin-links-section{margin-bottom:.5rem}.admin-links-header{color:#8b949e;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.62rem;display:flex}.admin-link-row{gap:.3rem;margin-bottom:.4rem;display:flex}.admin-link-row input{color:#e6edf3;background:#0d1117;border:1px solid #30363d;border-radius:4px;outline:none;flex:1;padding:.4rem .6rem;font-family:Space Mono,monospace;font-size:.65rem}.admin-link-row input:focus{border-color:#58a6ff}.admin-link-row select{color:#e6edf3;background:#0d1117;border:1px solid #30363d;border-radius:4px;outline:none;padding:.4rem;font-family:Space Mono,monospace;font-size:.65rem}.admin-heatmap-card{background:#161b22;border:1px solid #30363d;border-radius:6px;margin-bottom:1.5rem;padding:1.5rem;overflow-x:auto}.heatmap-wrap{gap:.5rem;display:flex}.heatmap-labels{color:#8b949e;flex-direction:column;gap:3px;padding-top:22px;font-size:.5rem;display:flex}.heatmap-labels span{height:13px;line-height:13px}.heatmap-grid{position:relative}.heatmap-months{height:18px;position:relative}.heatmap-month{color:#8b949e;font-size:.5rem;position:absolute;top:0}.heatmap-svg{margin-top:4px;display:block}.heatmap-cell{transition:opacity .15s}.heatmap-cell.level-0{fill:#161b22}.heatmap-cell.level-1{fill:#0e4429}.heatmap-cell.level-2{fill:#006d32}.heatmap-cell.level-3{fill:#26a641}.heatmap-cell.level-4{fill:#39d353}.heatmap-cell:hover{stroke:#e6edf3;stroke-width:1px}.heatmap-legend{color:#8b949e;justify-content:flex-end;align-items:center;gap:.3rem;margin-top:.8rem;font-size:.5rem;display:flex}.heatmap-legend .heatmap-cell{border-radius:2px;width:11px;height:11px}.admin-heatmap-entries h3{color:#e6edf3;margin-bottom:.7rem;font-size:.8rem;font-weight:400}.admin-heatmap-entry{color:#c9d1d9;background:#161b22;border:1px solid #30363d;border-radius:4px;align-items:center;gap:.8rem;margin-bottom:.3rem;padding:.5rem .7rem;font-size:.7rem;display:flex}.admin-level-badge{border-radius:3px;padding:.1rem .45rem;font-size:.55rem;font-weight:700}.admin-level-badge.level-0{color:#8b949e;background:#161b22}.admin-level-badge.level-1{color:#39d353;background:#0e4429}.admin-level-badge.level-2{color:#39d353;background:#006d32}.admin-level-badge.level-3{color:#fff;background:#26a641}.admin-level-badge.level-4{color:#000;background:#39d353}.admin-empty{color:#484f58;padding:.5rem 0;font-size:.65rem}@media (width<=768px){.admin-sidebar{width:60px}.admin-sidebar-top{padding:.8rem .4rem}.admin-logo{font-size:0}.admin-lang-switch{flex-direction:column}.admin-nav-btn{justify-content:center;padding:.5rem;font-size:0}.admin-nav-icon{width:auto;font-size:.85rem}.admin-sidebar-bottom{padding:.4rem}.admin-btn-sm{padding:.4rem;font-size:0}.admin-btn-link{font-size:0}.admin-main{margin-left:60px;padding:1.2rem}.admin-table-head,.admin-table-row{grid-template-columns:1fr 80px 80px}.admin-table-head span:nth-child(4),.admin-table-row .admin-row-actions{display:none}}.privacy-page{background:var(--bg);min-height:100vh;padding:2rem 1rem}.privacy-container{max-width:720px;font-family:var(--font-mono);margin:0 auto}.privacy-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-bottom:1rem;display:flex}.privacy-back,.privacy-back-bottom{color:var(--text-dim);font-size:.7rem;text-decoration:none;transition:color .2s}.privacy-back:hover,.privacy-back-bottom:hover{color:var(--accent)}.privacy-lang{gap:.3rem;display:flex}.privacy-lang a{color:var(--text-muted);border-radius:4px;padding:.15rem .35rem;font-size:.6rem;text-decoration:none;transition:all .2s}.privacy-lang a.active{color:var(--accent);background:#0000000d}.privacy-lang a:hover:not(.active){color:var(--text-dim)}.privacy-page h1{font-family:var(--font-mono);color:var(--accent);margin-bottom:.3rem;font-size:clamp(1.2rem,3vw,1.8rem);font-weight:400}.privacy-updated{color:var(--text-muted);margin-bottom:2rem;font-size:.6rem}.privacy-page h2{font-family:var(--font-mono);color:var(--accent);margin-top:1.8rem;margin-bottom:.5rem;font-size:.85rem;font-weight:400}.privacy-page p{color:var(--text-dim);margin-bottom:.8rem;font-size:.72rem;line-height:1.8}.privacy-list{margin-bottom:1rem;padding:0;list-style:none}.privacy-list li{color:var(--text-dim);margin-bottom:.3rem;padding-left:1.2rem;font-size:.72rem;line-height:1.8;position:relative}.privacy-list li:before{content:"—";color:var(--text-muted);position:absolute;left:0}.privacy-list li strong{color:var(--text)}.privacy-table-wrap{margin:1rem 0;overflow-x:auto}.privacy-table{border-collapse:collapse;width:100%;font-size:.62rem}.privacy-table th{text-align:left;background:var(--surface);border:1px solid var(--border);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding:.5rem .6rem;font-weight:400}.privacy-table td{border:1px solid var(--border);color:var(--text-dim);padding:.5rem .6rem}.privacy-table code{font-family:var(--font-mono);color:var(--accent);font-size:.6rem}.privacy-table tr:hover td{background:var(--surface)}.privacy-footer{border-top:1px solid var(--border);margin-top:3rem;padding-top:1.5rem}.privacy-back-bottom{display:inline-block}@media (width<=640px){.privacy-page{padding:1.2rem .8rem}.privacy-table{font-size:.55rem}.privacy-table th,.privacy-table td{padding:.35rem .4rem}}
