:root{--color-bg: rgb(11, 11, 11);--color-bg-elevated: rgb(18, 18, 18);--color-surface: rgb(24, 24, 24);--color-surface-hover: rgb(36, 36, 36);--color-text-primary: rgb(240, 240, 240);--color-text-secondary: rgba(240, 240, 240, .72);--color-text-tertiary: rgba(240, 240, 240, .52);--color-text-muted: rgba(240, 240, 240, .32);--color-accent: #ff8300;--color-accent-rgb: 255, 131, 0;--color-accent-dim: rgba(255, 131, 0, .45);--color-border: rgba(255, 255, 255, .1);--color-border-subtle: rgba(255, 255, 255, .05);--avatar-color: rgba(255, 131, 0, .85);--avatar-bg: transparent;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--font-mono: "Google Sans Code", "Courier New", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--max-width: 1280px;--max-width-narrow: 900px;--nav-height: 4rem;--avatar-width: clamp(180px, 18vw, 280px);--avatar-left-initial: 50%;--avatar-left-scrolled: 2rem;--avatar-desktop-width: 420px;--avatar-desktop-gap: 3.5rem;--avatar-font-size: clamp(3px, 1.8vw, 11px);--layout-gutter-mobile: 1.5rem;--layout-gutter-tablet: 2.5rem;--layout-gutter-desktop: 4rem;--glass-surface: rgba(10, 10, 10, .72);--glass-border: rgba(255, 255, 255, .06);--glass-highlight: rgba(var(--color-accent-rgb), .2);--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-default: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem}[data-theme=light]{--color-bg: rgb(200, 200, 200);--color-bg-elevated: rgb(210, 210, 210);--color-surface: rgb(220, 220, 220);--color-surface-hover: rgb(228, 228, 228);--color-text-primary: rgb(20, 20, 20);--color-text-secondary: rgba(20, 20, 20, .72);--color-text-tertiary: rgba(20, 20, 20, .52);--color-text-muted: rgba(20, 20, 20, .3);--color-accent: #ff8300;--color-accent-rgb: 255, 131, 0;--color-accent-dim: rgba(255, 131, 0, .4);--color-border: rgba(20, 20, 20, .12);--color-border-subtle: rgba(20, 20, 20, .08);--glass-surface: rgba(255, 255, 255, .8);--glass-border: rgba(20, 20, 20, .12);--glass-highlight: rgba(var(--color-accent-rgb), .18);--avatar-color: rgba(20, 20, 20, .85);--avatar-bg: transparent}@font-face{font-family:Google Sans Code;src:url(./GoogleSansCode-VariableFont_wght-a41q3NA0.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Google Sans Code;src:url(./GoogleSansCode-Italic-VariableFont_wght-DFTZbo6x.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{background-color:var(--color-bg);color:var(--color-text-primary);scroll-behavior:smooth}body{font-family:var(--font-mono);background-color:var(--color-bg);color:var(--color-text-primary);min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}#root{min-height:100vh}.app-container{position:relative;min-height:100vh;display:flex;flex-direction:column}.layout{display:flex;flex-direction:column;gap:var(--space-8);width:100%;max-width:var(--max-width);margin:0 auto;padding:calc(var(--nav-height) + var(--space-4)) clamp(var(--layout-gutter-mobile),5vw,var(--layout-gutter-tablet)) var(--space-16);min-height:calc(100vh - var(--nav-height))}@media (min-width: 640px){.layout{gap:var(--space-12);padding-inline:clamp(var(--layout-gutter-tablet),5vw,3.5rem)}}@media (min-width: 1024px){.layout{display:grid;grid-template-columns:clamp(260px,28vw,var(--avatar-desktop-width)) minmax(0,1fr);align-items:start;gap:clamp(var(--space-7),3.8vw,var(--space-13));padding:calc(var(--nav-height) + var(--space-6)) clamp(var(--layout-gutter-desktop),6.5vw,6rem) var(--space-20)}}.nav{position:sticky;top:0;z-index:90;width:100%;padding:var(--space-2) clamp(var(--layout-gutter-mobile),5vw,var(--layout-gutter-desktop));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:linear-gradient(180deg,rgba(var(--color-accent-rgb),.06) 0%,transparent 100%);border-bottom:1px solid var(--glass-border);box-shadow:0 12px 32px -28px #00000073}[data-theme=light] .nav{box-shadow:0 18px 48px -32px #00000047}.nav:after{content:"";position:absolute;inset:auto clamp(var(--layout-gutter-mobile),5vw,var(--layout-gutter-desktop)) 0 clamp(var(--layout-gutter-mobile),5vw,var(--layout-gutter-desktop));height:1px;background:linear-gradient(90deg,transparent 0%,rgba(var(--color-accent-rgb),.45) 40%,rgba(var(--color-accent-rgb),.65) 60%,transparent 100%);opacity:.75}.nav-container{position:relative;display:flex;align-items:center;justify-content:space-between;gap:clamp(var(--space-3),2vw,var(--space-6));margin:0 auto;width:100%;max-width:var(--max-width)}.nav-container:before{content:"";position:absolute;top:-.75rem;right:-.75rem;bottom:-.75rem;left:-.75rem;border-radius:calc(var(--radius-xl) * 1.25);background:radial-gradient(circle at top left,rgba(var(--color-accent-rgb),.14),transparent 60%);opacity:.35;pointer-events:none;filter:blur(14px)}.nav-container>*{position:relative;z-index:1}.avatar-sidebar{position:relative;width:min(100%,clamp(220px,70vw,var(--avatar-desktop-width)));min-height:clamp(220px,52vh,680px);pointer-events:none;display:flex;align-items:center;justify-content:center;align-self:stretch;margin:0 auto;padding:0;transition:transform var(--transition-slow),opacity var(--transition-slow)}.avatar-sidebar>*{flex:0 1 auto;width:100%;height:auto}@media (min-width: 640px){.avatar-sidebar{width:min(66vw,var(--avatar-desktop-width))}}@media (min-width: 1024px){.avatar-sidebar{position:sticky;top:calc(var(--nav-height) + var(--space-4));width:clamp(300px,27vw,var(--avatar-desktop-width));min-height:clamp(380px,50vh,780px);margin:0;align-self:flex-start;justify-self:stretch}}@media (min-width: 1600px){.avatar-sidebar{width:clamp(320px,23vw,var(--avatar-desktop-width));min-height:clamp(380px,46vh,720px)}}.avatar-stage{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:100%;min-height:0;height:auto;padding:clamp(var(--space-2),1vw,var(--space-4));border-radius:0;border:none;background:none;box-shadow:none;overflow:visible}[data-theme=light] .avatar-stage{border:none;background:none;box-shadow:none}@media (min-width: 1280px){:root{--avatar-desktop-width: 460px}}@media (min-width: 1440px){:root{--avatar-desktop-width: 520px}}@media (min-width: 1920px){:root{--avatar-desktop-width: 600px}}.main-content{flex:1;margin-left:0;position:relative;z-index:2;width:100%}@media (min-width: 1024px){.main-content{margin-left:0}}.nav-logo{display:inline-flex;align-items:center;justify-content:center;width:var(--nav-height);height:var(--nav-height);padding:0;background:none;border:none;cursor:pointer;color:var(--color-text-primary);line-height:1;transition:transform var(--transition-fast)}.nav-logo:focus-visible{outline:2px solid rgba(var(--color-accent-rgb),.6);outline-offset:4px}.nav-logo-img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform var(--transition-fast),filter var(--transition-fast)}.nav-logo:hover .nav-logo-img,.nav-logo:focus-visible .nav-logo-img{transform:translateY(-1px)}[data-theme=dark] .nav-logo-img{filter:brightness(0) invert(1)}.nav-links{display:none;align-items:center;gap:var(--space-2);padding:0}@media (min-width: 768px){.nav-links{display:flex}}.nav-link{font-size:.875rem;font-weight:var(--font-weight-medium);background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);height:var(--nav-height);padding:0 var(--space-3);display:inline-flex;align-items:center;gap:var(--space-1);transition:color var(--transition-fast),transform var(--transition-fast);text-decoration:none}.nav-link:hover,.nav-link:focus-visible{color:var(--color-accent);transform:translateY(-1px)}.nav-link.active{color:var(--color-accent)}.nav-link-prefix{color:rgba(var(--color-accent-rgb),.7);font-weight:var(--font-weight-semibold);transition:color var(--transition-default);display:inline-flex}.nav-link.active .nav-link-prefix{color:var(--color-accent)}.nav-link-label{letter-spacing:.04em;text-transform:uppercase}.nav-link-icon{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;padding:0}.nav-link-icon svg{width:1.125rem;height:1.125rem;stroke-width:2}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:var(--nav-height);height:var(--nav-height);padding:0;background:none;border:none;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-default);border-radius:var(--radius-md)}@media (min-width: 768px){.mobile-menu-toggle{display:none}}.mobile-menu-toggle:hover{background-color:var(--color-surface-hover)}.nav-links.mobile-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background-color:#0c0c0cf0;border:1px solid rgba(var(--color-accent-rgb),.2);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:var(--space-4);gap:var(--space-2);box-shadow:0 24px 32px -24px #00000080}[data-theme=light] .nav-links.mobile-open{background-color:#fffffff5}.ascii-avatar{font-family:var(--font-mono);font-size:var(--avatar-font-size);line-height:1;color:var(--avatar-color);background:var(--avatar-bg);white-space:pre;text-align:center;-webkit-user-select:none;user-select:none;width:auto;max-width:100%;height:auto;flex:0 0 auto;display:inline-block;overflow:visible;opacity:1;filter:brightness(1.18);transition:opacity var(--transition-slow),filter var(--transition-slow),font-size var(--transition-default)}.avatar-sidebar .ascii-avatar{opacity:1;filter:brightness(1.2)}body.scrolled .avatar-sidebar .ascii-avatar{opacity:.7;filter:brightness(1)}.avatar-sidebar:hover .ascii-avatar{opacity:1;filter:brightness(1.3)}[data-theme=light] .ascii-avatar{color:var(--avatar-color);filter:brightness(.85)}[data-theme=light] .avatar-sidebar:hover .ascii-avatar{filter:brightness(.95)}.section{min-height:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:clamp(var(--space-8),6vh,var(--space-12));padding:clamp(var(--space-12),10vh,var(--space-20)) 0;scroll-margin-top:calc(var(--nav-height) + var(--space-4))}.section-content{max-width:var(--max-width-narrow);width:100%}.section-header{font-size:clamp(2rem,4vw,3rem);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-12);display:flex;align-items:center;gap:var(--space-3)}.section-header:before{content:">";color:var(--color-accent)}.section-header:after{content:"";flex:1;height:1px;background:linear-gradient(to right,var(--color-border),transparent);margin-left:var(--space-4)}.hero-section{min-height:min(720px,92vh);display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;padding:clamp(var(--space-10),8vh,var(--space-18)) 0 var(--space-10);position:relative}.hero{max-width:var(--max-width-narrow);width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:clamp(var(--space-5),2.5vh,var(--space-7));padding:0;margin:0 auto;z-index:2}@media (max-width: 767px){.hero{align-items:center;text-align:center}}@media (min-width: 1024px){.hero{gap:var(--space-8)}}@media (min-width: 1440px){.hero{gap:var(--space-10)}}.hero-header{display:flex;flex-direction:column;gap:clamp(var(--space-3),2vh,var(--space-5))}.title{font-size:clamp(1.75rem,4.5vw,3rem);font-weight:var(--font-weight-bold);letter-spacing:-.015em;color:rgba(var(--color-text-primary),.97);line-height:1.1;font-synthesis:none;text-rendering:optimizeLegibility}@media (min-width: 768px){.title{font-size:clamp(2rem,4vw,3.25rem)}}@media (min-width: 1024px){.title{font-size:clamp(2.25rem,4.5vw,3.5rem)}}@media (min-width: 1440px){.title{font-size:clamp(2.5rem,4.5vw,4rem)}}.cursor{display:inline-block;width:3px;height:1em;background-color:var(--color-accent);margin-left:.25rem;animation:blink 1.2s infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.subtitle{font-size:clamp(1.05rem,2.3vw,1.4rem);color:rgba(var(--color-accent-rgb),.88);font-weight:var(--font-weight-medium);line-height:1.5;letter-spacing:.02em}.subtitle:before{content:"> ";color:rgba(var(--color-accent-rgb),.95)}.description{font-size:clamp(.875rem,1.8vw,1.0625rem);color:rgba(var(--color-text-primary),.85);font-weight:var(--font-weight-regular);letter-spacing:.01em;line-height:1.65;max-width:42rem}@media (min-width: 768px){.social-links{justify-content:flex-start}}@media (max-width: 767px){.social-links{justify-content:center}}.social-links{display:flex;gap:var(--space-3);align-items:center;justify-content:flex-start}.social-link{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;color:var(--color-text-primary);background-color:rgba(var(--color-accent-rgb),.08);border:1px solid rgba(var(--color-accent-rgb),.28);border-radius:var(--radius-md);transition:all var(--transition-default);text-decoration:none}.social-link:hover{color:var(--color-accent);border-color:rgba(var(--color-accent-rgb),.5);transform:translateY(-2px);background-color:rgba(var(--color-accent-rgb),.22)}.social-link svg{width:1.25rem;height:1.25rem}.scroll-btn{display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:.875rem;font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);background:none;border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-default)}.scroll-btn:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:rgba(var(--color-accent-rgb),.05)}.scroll-btn svg{width:1.25rem;height:1.25rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);transition:all var(--transition-slow)}.card:hover{border-color:var(--color-accent);box-shadow:0 0 0 1px rgba(var(--color-accent-rgb),.2)}.card-title{font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-4);display:flex;align-items:center;gap:var(--space-2)}.card-title span:first-child{color:var(--color-accent)}.card-content{color:var(--color-text-secondary);line-height:1.8;display:flex;flex-direction:column;gap:var(--space-4)}.card-content p{margin:0}.quote{font-style:italic;color:var(--color-text-tertiary);border-left:2px solid var(--color-accent);padding-left:var(--space-4);margin-top:var(--space-2)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6)}.skill-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-slow)}.skill-card:hover{border-color:var(--color-accent);box-shadow:0 0 0 1px rgba(var(--color-accent-rgb),.2);transform:translateY(-2px)}.skill-card .card-title{margin-bottom:var(--space-4)}.skill-card .card-title:before{content:">";color:var(--color-accent);margin-right:var(--space-2)}.skill-list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none}.skill-item{font-size:.875rem;color:var(--color-text-secondary);background-color:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.skill-item:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:rgba(var(--color-accent-rgb),.05)}.projects-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}.project-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--transition-slow);display:flex;flex-direction:column;gap:var(--space-4)}.project-card.in-progress{border-style:dashed;border-color:rgba(var(--color-accent-rgb),.4);background-image:linear-gradient(135deg,rgba(var(--color-accent-rgb),.05) 0%,transparent 60%)}.project-card.in-progress:hover{border-color:rgba(var(--color-accent-rgb),.6);box-shadow:0 0 0 1px rgba(var(--color-accent-rgb),.25)}.project-card:hover{border-color:var(--color-accent);box-shadow:0 0 0 1px rgba(var(--color-accent-rgb),.2);transform:translateY(-4px)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.project-title{font-size:1.25rem;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.3}.project-title:before{content:"> ";color:var(--color-accent)}.project-links{display:flex;gap:var(--space-2);flex-shrink:0}.project-link{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-default);text-decoration:none}.project-link:hover{color:var(--color-accent);border-color:var(--color-accent);background-color:rgba(var(--color-accent-rgb),.1)}.project-link svg{width:1rem;height:1rem}.project-description{color:var(--color-text-secondary);line-height:1.7;flex:1}.project-description--in-progress{color:var(--color-text-tertiary);font-style:italic}.project-status{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);color:var(--color-text-tertiary)}.project-status-pill{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:var(--font-weight-semibold);background-color:rgba(var(--color-accent-rgb),.15);color:var(--color-accent);border:1px solid rgba(var(--color-accent-rgb),.35)}.project-status-text{font-size:.8rem}.project-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.project-tag{font-size:.75rem;color:var(--color-text-muted);background-color:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2)}.contact-buttons{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;margin-top:var(--space-8)}.contact-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);font-size:1rem;font-weight:var(--font-weight-medium);font-family:var(--font-mono);color:var(--color-text-primary);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-default);text-decoration:none}.contact-btn:hover{border-color:var(--color-accent);background-color:rgba(var(--color-accent-rgb),.1);transform:translateY(-2px)}.contact-btn svg{width:1.25rem;height:1.25rem}.contact-btn-primary{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.contact-btn-primary:hover{background-color:transparent;color:var(--color-accent)}.footer{margin-top:var(--space-20);padding-top:var(--space-8);border-top:1px solid var(--color-border);text-align:center}.footer-text{color:var(--color-text-tertiary);font-size:.875rem;line-height:1.8}@media (max-width: 1024px){.hero{gap:var(--space-12)}.hero:before{content:"";width:100%;height:200px;background:linear-gradient(180deg,transparent,var(--color-bg));position:absolute;top:0;left:0;pointer-events:none}}@media (max-width: 768px){:root{--nav-height: 3.5rem}.section{padding:calc(var(--nav-height) + var(--space-10)) clamp(var(--space-4),6vw,var(--space-6)) var(--space-10)}.layout{gap:clamp(var(--space-6),5vh,var(--space-9));padding-bottom:var(--space-12)}.avatar-sidebar{position:relative;width:100%;min-height:clamp(250px,54vh,560px)}.hero-section{min-height:auto;padding:clamp(var(--space-8),7vh,var(--space-12)) 0 var(--space-8)}.hero{gap:clamp(var(--space-4),3.5vh,var(--space-6))}.avatar-sidebar .ascii-avatar{font-size:clamp(4px,3.2vw,9px)}.projects-list,.skills-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}.text-accent{color:var(--color-accent)}.hidden{display:none!important}.ascii-avatar-placeholder{width:100%;height:100%;flex:1 1 auto;background:transparent}.cookie-consent-overlay{position:fixed;bottom:0;left:0;right:0;z-index:9999;display:flex;justify-content:center;padding:var(--space-4);pointer-events:none}.cookie-consent{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;padding:var(--space-6);max-width:600px;width:100%;box-shadow:0 8px 32px #0006;pointer-events:auto;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent-header h3{margin:0 0 var(--space-4) 0;font-size:1.25rem;color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.cookie-consent-content{margin-bottom:var(--space-6)}.cookie-consent-content p{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin:0 0 var(--space-4) 0}.cookie-recommendation{color:var(--color-accent-dim);font-style:italic;border-left:2px solid var(--color-accent-dim);padding-left:var(--space-4);margin-top:var(--space-5)!important}.cookie-details{margin-top:var(--space-4);padding:var(--space-4);background:var(--color-surface);border-radius:4px;max-height:300px;overflow-y:auto}.cookie-category{margin-bottom:var(--space-6)}.cookie-category:last-child{margin-bottom:var(--space-4)}.cookie-category h4{color:var(--color-text-primary);font-size:1rem;margin:0 0 var(--space-2) 0;font-weight:var(--font-weight-medium)}.cookie-category p{margin:0 0 var(--space-3) 0;font-size:.875rem}.cookie-category strong{color:var(--color-accent)}.cookie-category ul{list-style:none;padding:0;margin:var(--space-3) 0 0 0;font-size:.875rem}.cookie-category li{padding:var(--space-1) 0;color:var(--color-text-tertiary)}.cookie-category li:before{content:">";color:var(--color-accent);margin-right:var(--space-2)}.privacy-link{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-subtle)}.privacy-link a{color:var(--color-accent);text-decoration:none}.privacy-link a:hover{text-decoration:underline}.cookie-consent-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap}.cookie-btn-group{display:flex;gap:var(--space-3)}.cookie-btn{padding:var(--space-3) var(--space-5);border-radius:4px;font-size:.9375rem;font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;border:none;font-family:var(--font-mono)}.cookie-btn-primary{background:var(--color-accent);color:#fff}.cookie-btn-primary:hover{background:rgba(var(--color-accent-rgb),.85);transform:translateY(-1px)}.cookie-btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.cookie-btn-secondary:hover{background:var(--color-surface-hover)}.cookie-btn-link{background:none;color:var(--color-accent);padding:var(--space-2) var(--space-3);text-decoration:none}.cookie-btn-link:hover{text-decoration:underline}.cookie-customize{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.cookie-customize h4{color:var(--color-text-primary);font-size:1rem;margin:0 0 var(--space-5) 0;font-weight:var(--font-weight-medium)}.cookie-toggle-group{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-6)}.cookie-toggle-item{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border-radius:4px;border:1px solid var(--color-border-subtle)}.cookie-toggle-info{display:flex;flex-direction:column;gap:var(--space-1);flex:1}.cookie-toggle-info strong{color:var(--color-text-primary);font-size:.9375rem}.cookie-toggle-desc{color:var(--color-text-tertiary);font-size:.8125rem}.cookie-toggle-switch{position:relative;display:inline-block;width:48px;height:24px;flex-shrink:0}.cookie-toggle-switch.disabled{opacity:.5;cursor:not-allowed;background:var(--color-surface-hover);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:.6875rem;color:var(--color-text-tertiary);padding:0 var(--space-2);width:auto;min-width:60px}.cookie-toggle-switch input{opacity:0;width:0;height:0}.cookie-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--color-surface-hover);transition:.3s;border-radius:24px;border:1px solid var(--color-border)}.cookie-toggle-slider:before{position:absolute;content:"";height:16px;width:16px;left:3px;bottom:3px;background-color:var(--color-text-tertiary);transition:.3s;border-radius:50%}.cookie-toggle-switch input:checked+.cookie-toggle-slider{background-color:var(--color-accent);border-color:var(--color-accent)}.cookie-toggle-switch input:checked+.cookie-toggle-slider:before{transform:translate(24px);background-color:#fff}.cookie-toggle-switch input:focus+.cookie-toggle-slider{box-shadow:0 0 0 2px rgba(var(--color-accent-rgb),.2)}.cookie-customize-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.privacy-settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--space-4)}.privacy-settings{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0006;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.privacy-settings-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-6);border-bottom:1px solid var(--color-border)}.privacy-settings-header h3{margin:0;font-size:1.25rem;color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.privacy-settings-close{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2);display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:4px}.privacy-settings-close:hover{background:var(--color-surface);color:var(--color-text-primary)}.privacy-settings-content{padding:var(--space-6)}.privacy-settings-desc{color:var(--color-text-secondary);font-size:.9375rem;line-height:1.6;margin:0 0 var(--space-6) 0}.privacy-settings-success{background:rgba(var(--color-accent-rgb),.15);border:1px solid var(--color-accent-dim);color:var(--color-accent);padding:var(--space-3) var(--space-4);border-radius:4px;margin-bottom:var(--space-6);font-size:.9375rem;text-align:center;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.privacy-settings-actions{display:flex;gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap}.privacy-settings-actions .cookie-btn{flex:1;min-width:120px}.privacy-settings-footer{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--color-border-subtle);text-align:center}.privacy-settings-footer a{color:var(--color-accent);text-decoration:none;font-size:.875rem}.privacy-settings-footer a:hover{text-decoration:underline}.privacy-policy{min-height:100vh;background:var(--color-bg);color:var(--color-text-primary);padding:var(--space-8) var(--space-4)}.privacy-content{max-width:800px;margin:0 auto;padding:var(--space-6);background:var(--color-bg-elevated);border-radius:8px;border:1px solid var(--color-border)}.back-btn{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);padding:var(--space-2) var(--space-4);border-radius:4px;font-family:var(--font-mono);font-size:.875rem;cursor:pointer;margin-bottom:var(--space-6);transition:all .2s}.back-btn:hover{background:var(--color-surface-hover);transform:translate(-2px)}.privacy-policy h1{font-size:clamp(2rem,4vw,2.5rem);margin:0 0 var(--space-2) 0;color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.last-updated{color:var(--color-text-tertiary);font-size:.875rem;margin:0 0 var(--space-8) 0}.privacy-policy section{margin-bottom:var(--space-8)}.privacy-policy h2{font-size:1.5rem;margin:var(--space-6) 0 var(--space-4) 0;color:var(--color-accent);font-weight:var(--font-weight-semibold)}.privacy-policy h3{font-size:1.125rem;margin:var(--space-5) 0 var(--space-3) 0;color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.privacy-policy p{color:var(--color-text-secondary);line-height:1.7;margin:0 0 var(--space-4) 0}.privacy-policy ul{list-style:none;padding:0;margin:var(--space-3) 0}.privacy-policy li{padding:var(--space-2) 0 var(--space-2) var(--space-6);position:relative;color:var(--color-text-secondary);line-height:1.6}.privacy-policy li:before{content:">";position:absolute;left:var(--space-2);color:var(--color-accent);font-weight:var(--font-weight-bold)}.privacy-policy a{color:var(--color-accent);text-decoration:none;word-break:break-all}.privacy-policy a:hover{text-decoration:underline}.privacy-policy code{background:var(--color-surface);padding:2px 6px;border-radius:3px;font-size:.875em;color:var(--color-accent);font-family:var(--font-mono)}.privacy-policy strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.privacy-footer{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-border);text-align:center}.privacy-footer p{color:var(--color-text-tertiary);font-size:.875rem}@media (max-width: 640px){.cookie-consent-overlay{padding:0}.cookie-consent{border-radius:12px 12px 0 0;border-bottom:none;max-width:100%}.cookie-consent-actions{flex-direction:column}.cookie-btn-group{width:100%;flex-direction:column}.cookie-btn{width:100%}.cookie-details{max-height:200px}.cookie-customize-actions{flex-direction:column}.cookie-customize-actions .cookie-btn{width:100%}.privacy-content{padding:var(--space-4)}}
