:root{--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"IBM Plex Mono","Courier New",monospace;--font-display:"Space Mono",monospace;--bg-color:#fff;--text-color:#1a1a1a;--header-bg-color:#fff;--header-text-color:#444;--section-bg-color:#fafafa;--highlight-color:#2563eb;--accent-purple:#9333ea;--accent-blue-light:#60a5fa;--button-bg-color:#f0f0f0;--button-hover-bg-color:#e0e0e0;--brutal-black:#0a0a0a;--brutal-white:#fafafa;--brutal-border:#000;--brutal-shadow:#00000040;--gray-100:#f5f5f5;--gray-200:#e0e0e0;--gray-800:#2a2a2a;--gray-900:#1a1a1a;--color-primary:#fff;--color-secondary:#2563eb;--color-grey-4:#454e56;--color-white:#454e56;--color-black:#000}body.dark-mode{--bg-color:#30323d;--text-color:#e0e0e0;--header-bg-color:#30323d;--header-text-color:#bbb;--section-bg-color:#1a1a1a;--highlight-color:#60a5fa;--accent-purple:#a78bfa;--accent-blue-light:#93c5fd;--button-bg-color:#454e56;--button-hover-bg-color:#444;--brutal-black:#fafafa;--brutal-white:#0a0a0a;--brutal-border:#fff;--brutal-shadow:#ffffff1a;--color-primary:#30323d;--color-secondary:#60a5fa;--color-grey-4:#454e56;--color-white:#fff;--color-black:#000}body.contrast-mode{--bg-color:#000;--text-color:#0f0;--header-bg-color:#0a0a0a;--header-text-color:#0f0;--section-bg-color:#1a1a1a;--highlight-color:#f0f;--accent-purple:#0ff;--accent-blue-light:#ff0;--button-bg-color:#0a0a0a;--button-hover-bg-color:#1a1a1a;--brutal-black:#0f0;--brutal-white:#000;--brutal-border:#0f0;--brutal-shadow:#00ff004d;--color-primary:#000;--color-secondary:#f0f;--color-grey-4:#0f0;--color-white:#0f0;--color-black:#000}*{border-radius:0;box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-color);color:#1a1a1a;color:var(--text-color);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);letter-spacing:-.01em;line-height:1.6;scroll-behavior:smooth;text-rendering:optimizeLegibility;transition:background-color .3s ease,color .3s ease}#root,body{max-width:100vw;overflow-x:clip}img{display:block;height:auto;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;max-width:100%}img[loading=lazy]{content-visibility:auto}a{color:inherit;text-decoration:none}button{background-color:#f0f0f0;background-color:var(--button-bg-color);border:none;border-radius:5px;color:#1a1a1a;color:var(--text-color);cursor:pointer;padding:.5rem 1rem;transition:background-color .3s ease}button:hover{background-color:#e0e0e0;background-color:var(--button-hover-bg-color)}h1,h2,h3,h4,h5,h6{font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-mono);font-weight:700;letter-spacing:.05em;line-height:1.2;text-transform:uppercase}.brutal-border{border:3px solid #000;border:3px solid var(--brutal-border)}.brutal-shadow{box-shadow:4px 4px 0 #00000040;box-shadow:4px 4px 0 var(--brutal-shadow)}.brutal-shadow:hover{box-shadow:2px 2px 0 #00000040;box-shadow:2px 2px 0 var(--brutal-shadow);transform:translate(2px,2px);transition:all .1s ease}.brutal-button{background:#fff;background:var(--bg-color);border:2px solid #1a1a1a;border:2px solid var(--text-color);color:#1a1a1a;color:var(--text-color);cursor:pointer;display:inline-block;font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-mono);font-weight:700;letter-spacing:.05em;padding:12px 24px;text-decoration:none;text-transform:uppercase;transition:all .15s ease}.brutal-button:focus-visible,.brutal-button:hover{background:#1a1a1a;background:var(--text-color);color:#fff;color:var(--bg-color);outline:2px solid #2563eb;outline:2px solid var(--highlight-color);outline-offset:2px}.brutal-card{background:#fafafa;background:var(--section-bg-color);border:2px solid #000;border:2px solid var(--brutal-border);transition:all .15s ease}.brutal-card:focus-within,.brutal-card:hover{border-color:#2563eb;border-color:var(--highlight-color);box-shadow:4px 4px 0 #00000040;box-shadow:4px 4px 0 var(--brutal-shadow);transform:translate(-2px,-2px)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #2563eb;outline:2px solid var(--highlight-color);outline-offset:2px}.mono{font-family:IBM Plex Mono,Courier New,monospace;font-family:var(--font-mono)}.display-mono{font-family:Space Mono,monospace;font-family:var(--font-display)}.theme-button,.theme-toggle{align-items:center;display:flex}.theme-button{background:var(--bg-color);border:2px solid var(--brutal-border);color:var(--text-color);cursor:pointer;font-size:1.2rem;height:42px;justify-content:center;padding:0;transition:all .15s ease;width:42px}.theme-button:hover{background:var(--highlight-color);border-color:var(--highlight-color);color:var(--bg-color);transform:translateY(-2px)}.theme-button:active{transform:translateY(0)}.header{background-color:var(--header-bg-color);border-bottom:3px solid var(--brutal-border);justify-content:space-between;padding:1.5rem 2.5rem;position:relative;width:100%}.header,.header__left{align-items:center;display:flex}.header__left{gap:1.5rem}.header__info h1{color:var(--text-color);font-size:1.4rem;font-weight:700;letter-spacing:.05em}.header__info h1,.header__info p{font-family:var(--font-mono);margin:0;text-transform:uppercase}.header__info p{color:var(--header-text-color);font-size:.85rem;letter-spacing:.03em}.header__right{align-items:center;display:flex;gap:.75rem}.header__button{background-color:initial;border:2px solid var(--brutal-border);border-radius:0;color:var(--text-color);cursor:pointer;font-family:var(--font-mono);font-size:.9rem;font-weight:600;letter-spacing:.05em;padding:.6rem 1.2rem;position:relative;text-decoration:none;text-transform:uppercase;transition:all .15s ease}.header__button:hover{background-color:var(--highlight-color);border-color:var(--highlight-color);color:var(--bg-color);transform:translateY(-2px)}.header__dropdown{position:relative}.dropdown__menu{background-color:var(--section-bg-color);border-radius:5px;box-shadow:0 4px 8px #0000001a;padding:.5rem 0;position:absolute;right:0;top:100%;z-index:1000}.dropdown__item{color:var(--text-color);display:block;padding:.5rem 1rem;text-decoration:none;transition:background-color .3s}.dropdown__item:hover{background-color:var(--button-hover-bg-color)}@media (max-width:750px){.header{flex-direction:column;gap:1.25rem;padding:1.25rem 1rem;text-align:center}.header__left{flex-wrap:wrap;gap:.75rem;justify-content:center}.header__info,.header__left{align-items:center;display:flex}.header__info{flex-direction:column;gap:.3rem}.header__info h1{font-size:1.1rem}.header__info p{font-size:.75rem}.header__right{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.header__button{flex:1 1;font-size:.8rem;min-width:90px;padding:.5rem .8rem;text-align:center}.content-wrapper{padding:1rem;width:100%}}.footer{background-color:var(--header-bg-color);border-top:3px solid var(--brutal-border);color:var(--text-color);margin-top:4rem;padding:3rem 2rem;text-align:center}.footer-content{align-items:center;display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1200px}.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.footer-link{border:2px solid #0000;color:var(--text-color);font-family:var(--font-mono);font-size:.9rem;font-weight:700;letter-spacing:.05em;padding:.5rem 1rem;text-decoration:none;text-transform:uppercase;transition:all .15s ease}.footer-link:hover{border-bottom:2px solid var(--highlight-color);color:var(--highlight-color)}.footer-socials{display:flex;gap:1.5rem}.footer-socials a{align-items:center;border:2px solid var(--brutal-border);color:var(--text-color);display:flex;font-size:1.8rem;height:50px;justify-content:center;transition:all .15s ease;width:50px}.footer-socials a:hover{background:var(--accent-purple);border-color:var(--accent-purple);color:var(--bg-color);transform:translateY(-3px)}.footer-copyright{border-top:2px solid var(--brutal-border);color:var(--header-text-color);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.05em;padding-top:1.5rem;text-transform:uppercase;width:100%}@media (max-width:768px){.footer{margin-top:3rem;padding:2rem 1rem}.footer-content{gap:1.5rem}.footer-links{gap:1rem}.footer-link{font-size:.8rem;padding:.4rem .8rem}.footer-socials a{font-size:1.5rem;height:45px;width:45px}.footer-copyright{font-size:.75rem}}.app-container{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:1200px;padding:1rem}.section{background-color:var(--section-bg-color);border-radius:10px;box-shadow:0 4px 8px #0000001a;padding:2rem}.center{text-align:center}.text-highlight{color:var(--highlight-color)}.flex{align-items:center;display:flex;justify-content:space-between}.grid{grid-gap:1rem;display:grid;gap:1rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.content-wrapper{margin:2rem auto;max-width:100%;overflow-x:visible;width:90%}.App{overflow-x:clip}.App,main{max-width:100vw}main{overflow-x:visible}@media (max-width:768px){.content-wrapper{width:95%}.grid-2,.grid-3{grid-template-columns:1fr}}.hero{border-bottom:3px solid var(--brutal-border);padding:4rem 0}.hero-content{align-items:center;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:900px;text-align:center}.hero-name{color:var(--text-color);font-size:3.5rem;letter-spacing:.02em;line-height:1.1;margin:0}.hero-title{color:var(--highlight-color);font-size:1.3rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.hero-separator{color:var(--header-text-color);margin:0 .5rem}.hero-description{color:var(--header-text-color);font-size:1.1rem;line-height:1.8;max-width:700px}.hero-cta{flex-wrap:wrap;justify-content:center}.hero-cta,.hero-links{display:flex;gap:1rem;margin-top:1rem}.hero-links{align-items:center;font-size:.9rem;letter-spacing:.05em;text-transform:uppercase}.hero-links a{border-bottom:2px solid #0000;color:var(--highlight-color);text-decoration:none;transition:border-color .15s ease}.hero-links a:hover{border-bottom-color:var(--highlight-color)}@media (max-width:768px){.hero{padding:3rem 0 2rem}.hero-name{font-size:2.5rem}.hero-description,.hero-title{font-size:1rem}.hero-cta{flex-direction:column}.hero-cta,.hero-cta .brutal-button{width:100%}.hero-links{flex-direction:column;gap:.5rem}.hero-separator{display:none}}.featured-apps{border-bottom:3px solid var(--brutal-border);border-top:3px solid var(--brutal-border);overflow:visible;padding:3rem 0}.featured-apps-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.featured-apps-header h2{color:var(--highlight-color);font-size:2rem;margin:0}.featured-apps-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:1rem;margin-left:-6px;margin-right:-6px;overflow:visible;padding:6px}.featured-app-card{background:var(--section-bg-color);display:flex;flex-direction:column;gap:1rem;padding:1.5rem}.featured-app-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.featured-app-name{color:var(--text-color);font-size:1.5rem;margin:0}.featured-app-platforms{display:flex;flex-shrink:0;gap:.3rem}.platform-badge-small{background:var(--bg-color);border:2px solid var(--highlight-color);color:var(--highlight-color);font-size:.6rem;font-weight:700;padding:.2rem .5rem}.featured-app-tagline,.platform-badge-small{letter-spacing:.05em;text-transform:uppercase}.featured-app-tagline{color:var(--header-text-color);font-size:.85rem}.featured-app-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:auto}.app-link{border-bottom:2px solid #0000;color:var(--highlight-color);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.05em;padding:.5rem 0;text-decoration:none;text-transform:uppercase;transition:border-color .15s ease}.app-link:hover{border-bottom-color:var(--highlight-color)}.featured-apps-note{color:var(--header-text-color);font-size:.75rem;margin-top:.5rem;text-align:right}@media (max-width:768px){.featured-apps{padding:2rem 0}.featured-apps-header{align-items:flex-start;flex-direction:column}.featured-apps-grid{grid-template-columns:1fr}.featured-app-name{font-size:1.3rem}}.featured-books{border-bottom:3px solid var(--brutal-border);overflow:visible;padding:4rem 0}.featured-books-header{align-items:center;border-bottom:2px solid var(--brutal-border);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2.5rem;padding-bottom:1rem}.featured-books-header h2{color:var(--highlight-color);font-size:2rem;margin:0}.featured-books-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-left:-6px;margin-right:-6px;overflow:visible;padding:6px}.featured-book-card{background:var(--section-bg-color);display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .15s ease}.featured-book-card:hover{border-color:var(--highlight-color);box-shadow:6px 6px 0 var(--brutal-shadow);transform:translate(-2px,-2px)}.featured-book-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between}.featured-book-title{color:var(--text-color);flex:1 1;font-size:1.3rem;line-height:1.3;margin:0}.featured-book-rating .stars{display:flex;flex-shrink:0;gap:.2rem}.featured-book-rating .star{font-size:.9rem}.featured-book-rating .star.filled,.featured-book-rating .star.half{color:var(--highlight-color)}.featured-book-rating .star.empty{color:var(--brutal-border);opacity:.3}.featured-book-author{color:var(--header-text-color);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.featured-book-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.featured-book-tag{background:var(--bg-color);border:2px solid var(--brutal-border);font-size:.7rem;letter-spacing:.05em;padding:.3rem .6rem;text-transform:uppercase;transition:all .15s ease}.featured-book-card:hover .featured-book-tag{border-color:var(--highlight-color)}@media (max-width:768px){.featured-books{padding:2rem 0}.featured-books-header{align-items:flex-start;flex-direction:column}.featured-books-grid{grid-template-columns:1fr}.featured-book-title{font-size:1.1rem}}.featured-articles{border-bottom:3px solid var(--brutal-border);overflow:visible;padding:3rem 0}.featured-articles-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.featured-articles-header h2{color:var(--highlight-color);font-size:2rem;margin:0}.featured-articles-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:-6px;overflow:visible;padding:6px}.featured-article-card{background:var(--section-bg-color);cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .15s ease}.featured-article-card:focus{outline:2px solid var(--highlight-color);outline-offset:2px}.featured-article-header{align-items:center;display:flex;justify-content:space-between}.featured-article-date{color:var(--header-text-color);font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.featured-article-type{color:var(--highlight-color);font-size:1.1rem}.featured-article-title{color:var(--text-color);flex-grow:1;font-size:1.3rem;line-height:1.3;margin:0}.featured-article-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.featured-article-tag{background:var(--bg-color);border:2px solid var(--brutal-border);font-size:.7rem;letter-spacing:.05em;padding:.3rem .6rem;text-transform:uppercase}@media (max-width:768px){.featured-articles{padding:2rem 0}.featured-articles-header{align-items:flex-start;flex-direction:column}.featured-articles-grid{grid-template-columns:1fr}.featured-article-title{font-size:1.1rem}}.skills-section{margin:3rem 0;overflow:visible}.skills-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem auto 0;max-width:1400px;overflow:visible;padding:6px}.skill-category{background:var(--section-bg-color);border:2px solid var(--brutal-border);padding:1.5rem;transition:all .15s ease;width:100%;will-change:transform,box-shadow,border-color}.skill-category:focus-within,.skill-category:hover{border-color:var(--highlight-color);box-shadow:4px 4px 0 var(--brutal-shadow);transform:translate(-2px,-2px)}.category-header{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:0;padding:0;text-align:left;transition:all .15s ease;width:100%}.category-header:hover .category-title{color:var(--color-secondary)}.category-title{align-items:center;border:none;color:var(--highlight-color);display:flex;font-family:var(--font-mono);font-size:1rem;font-weight:700;gap:.5rem;letter-spacing:.05em;margin:0;padding-bottom:0;text-transform:uppercase;transition:color .15s ease}.skill-count{color:var(--header-text-color);font-size:.8rem;font-weight:500}.expand-icon{color:var(--highlight-color);flex-shrink:0;font-family:var(--font-mono);font-size:1.5rem;font-weight:300;transition:transform .2s ease}.skills-list{display:flex;flex-direction:column;gap:.75rem}.skill-category.collapsed .skills-list{margin-top:0;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease}.skill-category.collapsed .category-header{margin-bottom:0;padding-bottom:0}.skill-category.expanded .skills-list{margin-top:1.5rem;max-height:1000px;opacity:1;transition:max-height .4s ease,opacity .3s ease .1s,margin-top .3s ease}.skill-category.expanded .category-header{border-bottom:2px solid var(--brutal-border);margin-bottom:0;padding-bottom:.75rem}.skill-item{align-items:center;background:var(--bg-color);border:1px solid var(--brutal-border);display:flex;justify-content:space-between;padding:.75rem 1rem;transition:all .15s ease}.skill-item:focus-within,.skill-item:hover{border-color:var(--highlight-color);transform:translateX(4px)}.skill-name{color:var(--text-color);font-family:var(--font-primary);font-size:.95rem;font-weight:500}.skill-level{border:1px solid;font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase;-webkit-user-select:none;user-select:none}.level-native{background:var(--accent-purple);border-color:var(--accent-purple);color:var(--bg-color)}.level-c1,.level-c2,.level-fluent{background:var(--highlight-color);border-color:var(--highlight-color);color:var(--bg-color)}.level-b1,.level-b2{background:var(--accent-blue-light);border-color:var(--accent-blue-light);color:var(--brutal-black)}.level-a1,.level-a2{background:#0000;border-color:var(--brutal-border);color:var(--text-color)}.level-expert{background:var(--highlight-color);border-color:var(--highlight-color);color:var(--bg-color)}.level-advanced{background:var(--accent-blue-light);border-color:var(--accent-blue-light);color:var(--brutal-black)}.level-intermediate{background:#0000;border-color:var(--brutal-border);color:var(--text-color)}.level-beginner{background:#0000;border-color:var(--gray-200);color:var(--gray-800)}@media (max-width:768px){.skills-grid{gap:1rem;grid-template-columns:1fr}.skill-category{padding:1.5rem}.category-title{font-size:.9rem;margin-bottom:1rem}.skill-item{padding:.6rem .8rem}.skill-name{font-size:.9rem}.skill-level{font-size:.7rem;padding:.2rem .6rem}}@media (max-width:480px){.skill-item{align-items:flex-start;flex-direction:column;gap:.5rem}.skill-level{align-self:flex-end}}.home-page{width:100%}.about-container{border-bottom:3px solid var(--brutal-border);display:flex;justify-content:center;padding:4rem 0}.about-content{background:var(--section-bg-color);border:2px solid var(--brutal-border);border-left:6px solid var(--highlight-color);box-shadow:4px 4px 0 var(--brutal-shadow);max-width:900px;padding:2.5rem;width:100%}.about-content p{color:var(--color-grey-1);letter-spacing:.3px;line-height:1.8;margin-top:1rem;text-align:justify}.about-content .about-title{border-bottom:3px solid var(--brutal-border);color:var(--color-secondary);font-family:var(--font-mono);font-size:2rem;letter-spacing:.05em;margin-bottom:1.5rem;padding-bottom:1rem;text-transform:uppercase}@media (max-width:768px){.about-content{padding:1.5rem}.about-content .about-title{font-size:1.5rem}.timeline{grid-template-columns:1fr;padding-left:1rem}.timeline .timeline-item{padding:1rem 1rem 1rem 2.5rem}.timeline .timeline-item .timeline-icon{height:35px;left:-20px;width:35px}.timeline .timeline-item .timeline-icon i{font-size:1rem}}.stats-title{border-bottom:2px solid var(--brutal-border);color:var(--highlight-color);font-size:2rem;margin-bottom:2rem;padding-bottom:2.5rem;padding-top:4rem;position:relative;text-align:center;text-transform:uppercase}.stats-title:hover{color:var(--color-secondary)}.about-stats{grid-gap:2rem;display:grid;grid-template-columns:repeat(2,1fr)}.about-stats .progress-bar{display:flex;flex-direction:column}.about-stats .progress-bar .progress-title{font-weight:500;text-transform:uppercase}.about-stats .progress-bar .progress-con{align-items:center;display:flex}.about-stats .progress-bar .progress-con .progress-text{color:var(--color-grey-2)}.about-stats .progress-bar .progress-con .progress{background-color:var(--section-bg-color);border:2px solid var(--brutal-border);border-radius:0;height:.6rem;margin-left:1rem;position:relative;width:100%}.about-stats .progress-bar .progress-con .progress span{background-color:var(--highlight-color);border-radius:0;height:100%;left:0;position:absolute;top:0;transition:all .2s ease;width:50%}.about-stats .progress-bar .progress-con .progress .html{width:70%}.about-stats .progress-bar .progress-con .progress .css{width:65%}.about-stats .progress-bar .progress-con .progress .JavaScript{width:60%}.about-stats .progress-bar .progress-con .progress .drafting{width:75%}.about-stats .progress-bar .progress-con .progress .data{width:80%}.about-stats .progress-bar .progress-con .progress .project{width:75%}.about-stats .progress-bar .progress-con .progress .google{width:80%}.about-stats .progress-bar .progress-con .progress .microsoft{width:85%}.apps-page{padding:2rem}.apps-header{margin-bottom:3rem;padding:2rem 0;text-align:center}.apps-header h1{color:var(--highlight-color);font-size:3rem;margin-bottom:1rem}.apps-header p{color:var(--header-text-color);font-size:1.2rem}.apps-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:3rem}.app-card{background:var(--section-bg-color);padding:2rem}.app-card-content{display:flex;flex-direction:column;gap:1rem}.app-header-section{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.app-name{color:var(--highlight-color);font-size:2rem;margin:0}.app-platforms{gap:.5rem}.platform-badge{background:var(--bg-color);border:2px solid var(--highlight-color);color:var(--highlight-color);font-size:.7rem;font-weight:700;padding:.3rem .6rem}.app-tagline,.platform-badge{letter-spacing:.05em;text-transform:uppercase}.app-tagline{color:var(--header-text-color);font-family:var(--font-mono);font-size:.9rem}.app-description{color:var(--text-color);flex-grow:1;line-height:1.8}.app-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.tech-tag{background:var(--bg-color);border:2px solid var(--brutal-border);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.05em;padding:.4rem .8rem;text-transform:uppercase}.learn-more-button{background:var(--highlight-color);border-color:var(--highlight-color);color:var(--bg-color);display:inline-block;font-size:1rem;font-weight:600;margin-top:1rem;padding:.9rem 1.5rem;text-align:center;text-decoration:none;width:100%}.learn-more-button:hover{background:var(--bg-color);border-color:var(--brutal-border);color:var(--highlight-color)}.app-store-buttons{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.store-button{flex:1 1;font-size:.9rem;min-width:150px;text-align:center}.store-button.play-store{border-color:var(--highlight-color);color:var(--highlight-color)}.store-button.play-store:hover{background:var(--highlight-color);color:var(--bg-color)}.apps-footer{border-top:3px solid var(--brutal-border);margin-top:3rem;padding:2rem;text-align:center}.apps-footer h3{color:var(--highlight-color);font-size:1.5rem;margin-bottom:1rem}.apps-footer p{line-height:1.8;margin:0 auto;max-width:800px}@media (max-width:768px){.apps-grid{grid-template-columns:1fr}.apps-header h1{font-size:2rem}}.app-detail{margin:0 auto;max-width:900px;padding:2rem}.app-not-found{padding:4rem 2rem;text-align:center}.app-not-found h1{color:var(--highlight-color);margin-bottom:1rem}.app-not-found p{color:var(--header-text-color);margin-bottom:2rem}.app-detail-hero{background:var(--section-bg-color);border:2px solid var(--brutal-border);margin-bottom:2rem;padding:3rem 2rem;position:relative;text-align:center}.app-detail-hero:before{background:var(--highlight-color);background:var(--app-color,var(--highlight-color));content:"";height:4px;left:0;position:absolute;right:0;top:0}.app-detail-title{color:var(--highlight-color);font-size:3rem;line-height:1.2;margin-bottom:.5rem}.app-detail-tagline{color:var(--header-text-color);display:block;font-size:1.2rem;letter-spacing:.1em;margin-bottom:1.5rem;text-transform:uppercase}.app-platforms{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.app-section{background:var(--section-bg-color);border:2px solid var(--brutal-border);margin-bottom:2rem;padding:2rem}.app-section h2{border-bottom:2px solid var(--app-color,var(--brutal-border));color:var(--highlight-color);font-size:1.8rem;margin-bottom:1.5rem;padding-bottom:.5rem}.app-section h3{color:var(--text-color);font-size:1.3rem;margin:1.5rem 0 1rem}.app-full-description{color:var(--text-color);font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.app-philosophy{background:var(--bg-color);border:2px solid var(--brutal-border);border-left:4px solid var(--app-color,var(--highlight-color));margin-top:2rem;padding:1.5rem}.app-philosophy h3{font-size:1.2rem;margin-top:0}.app-philosophy p{color:var(--text-color);font-size:1rem;line-height:1.8;margin:0}.app-features-list{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr;list-style:none;padding:0}.app-features-list li{background:var(--bg-color);border:2px solid var(--brutal-border);color:var(--text-color);padding:1rem 1.5rem 1rem 2.5rem;position:relative}.app-features-list li:before{color:var(--highlight-color);color:var(--app-color,var(--highlight-color));content:"→";font-weight:700;left:1rem;position:absolute}.app-tech-stack{display:flex;flex-wrap:wrap;gap:1rem}.app-download{text-align:center}.store-buttons-container{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.store-button-large{flex:1 1;font-size:1.1rem;max-width:300px;min-width:200px;padding:1.2rem 2rem}.app-legal-links,.store-button-large.play-store{background:var(--bg-color)}.app-legal-links{border-left:4px solid var(--app-color,var(--highlight-color))}.legal-links-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.legal-link{padding:1rem 1.5rem;text-align:center;width:100%}.legal-link:hover{background:var(--highlight-color);background:var(--app-color,var(--highlight-color));border-color:var(--app-color,var(--brutal-border));color:var(--bg-color)}.app-detail-footer{margin-top:3rem;text-align:center}@media (max-width:768px){.app-detail{padding:1rem}.app-detail-hero{padding:2rem 1.5rem}.app-detail-title{font-size:2rem}.app-detail-tagline{font-size:1rem}.app-section{padding:1.5rem}.app-section h2{font-size:1.5rem}.app-full-description{font-size:1rem}.app-features-list{gap:.75rem}.app-features-list li{font-size:.95rem;padding:.75rem 1rem .75rem 2rem}.store-buttons-container{align-items:stretch;flex-direction:column}.store-button-large{max-width:none;min-width:auto}.legal-links-grid{grid-template-columns:1fr}}@media (max-width:480px){.app-detail-title{font-size:1.75rem}.app-section h2{font-size:1.3rem}}.app-legal{margin:0 auto;max-width:800px;padding:2rem}.legal-not-found{padding:4rem 2rem;text-align:center}.legal-not-found h1{color:var(--highlight-color);margin-bottom:1rem}.legal-not-found p{color:var(--header-text-color);margin-bottom:2rem}.legal-breadcrumbs{color:var(--header-text-color);font-size:.9rem;margin:1.5rem 0}.legal-breadcrumbs a{color:var(--highlight-color);color:var(--app-color,var(--highlight-color));text-decoration:none;transition:-webkit-text-decoration .2s;transition:text-decoration .2s;transition:text-decoration .2s,-webkit-text-decoration .2s}.legal-breadcrumbs a:hover{text-decoration:underline}.legal-breadcrumbs span{margin:0 .5rem}.legal-content{background:var(--section-bg-color);border:2px solid var(--brutal-border);margin-bottom:2rem;padding:3rem}.legal-header{border-bottom:2px solid var(--app-color,var(--brutal-border));margin-bottom:3rem;padding-bottom:2rem;text-align:center}.legal-title{color:var(--highlight-color);font-size:2.5rem;line-height:1.2;margin-bottom:1rem}.legal-last-updated{background:var(--bg-color);border:2px solid var(--brutal-border);color:var(--header-text-color);display:inline-block;font-size:.9rem;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase}.legal-body{font-size:1.05rem;line-height:1.8}.legal-intro{background:var(--bg-color);border:2px solid var(--brutal-border);border-left:4px solid var(--app-color,var(--highlight-color));font-size:1.1rem;margin-bottom:2rem;padding:1.5rem}.legal-section{margin-bottom:2.5rem}.legal-section h2{border-bottom:2px solid var(--brutal-border);color:var(--highlight-color);font-size:1.5rem;margin-bottom:1rem;padding-bottom:.5rem}.legal-section p{color:var(--text-color);margin-bottom:1rem}.legal-list{list-style:none;margin:1rem 0;padding:0}.legal-list li{color:var(--text-color);margin-bottom:.75rem;padding-left:2rem;position:relative}.legal-list li:before{color:var(--highlight-color);color:var(--app-color,var(--highlight-color));content:"→";font-weight:700;left:.5rem;position:absolute}.legal-list-footer{margin-top:1rem;padding:1rem}.legal-guarantee,.legal-list-footer{background:var(--bg-color);border:2px solid var(--brutal-border)}.legal-guarantee{border-left:4px solid var(--app-color,var(--highlight-color));margin:2rem 0;padding:1.5rem}.legal-guarantee h3{color:var(--text-color);font-size:1.2rem;margin:0 0 .75rem}.legal-guarantee p{color:var(--text-color);margin:0}.legal-contact{background:var(--bg-color);border:2px solid var(--brutal-border);margin:2rem 0;padding:1.5rem;text-align:center}.legal-contact h3{color:var(--text-color);font-size:1.2rem;margin:0 0 .75rem}.legal-contact p{color:var(--text-color);margin:0}.legal-acknowledgment{background:var(--bg-color);border:2px solid var(--brutal-border);margin:2rem 0;padding:1.5rem;text-align:center}.legal-acknowledgment p{color:var(--header-text-color);font-size:.95rem;margin:0}.legal-quick-nav{background:var(--bg-color);border:2px solid var(--brutal-border);margin-bottom:2rem;padding:2rem}.legal-quick-nav h3{color:var(--text-color);font-size:1.3rem;margin-bottom:1rem}.legal-nav-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.legal-nav-link{padding:1rem 1.5rem;text-align:center;width:100%}.legal-nav-link:hover{background:var(--highlight-color);background:var(--app-color,var(--highlight-color));border-color:var(--app-color,var(--brutal-border));color:var(--bg-color)}.legal-footer{margin-top:3rem;text-align:center}@media (max-width:768px){.app-legal{padding:1rem}.legal-content{padding:2rem 1.5rem}.legal-title{font-size:2rem}.legal-breadcrumbs{font-size:.85rem;overflow-x:auto;white-space:nowrap}.legal-body{font-size:1rem}.legal-section h2{font-size:1.3rem}.legal-acknowledgment,.legal-contact,.legal-guarantee,.legal-intro{padding:1rem}.legal-nav-grid{grid-template-columns:1fr}}@media (max-width:480px){.legal-title{font-size:1.75rem}.legal-section h2{font-size:1.2rem}.legal-last-updated{font-size:.8rem}}@media print{.back-button,.legal-breadcrumbs,.legal-footer,.legal-quick-nav{display:none}.legal-content{border:none;padding:0}.legal-body{color:#000}.legal-section h2{page-break-after:avoid}.legal-section{page-break-inside:avoid}}.app-support{margin:0 auto;max-width:900px;padding:2rem}.support-not-found{padding:4rem 2rem;text-align:center}.support-not-found h1{color:var(--highlight-color);margin-bottom:1rem}.support-not-found p{color:var(--header-text-color);margin-bottom:2rem}.support-breadcrumbs{color:var(--header-text-color);font-size:.9rem;margin:1.5rem 0}.support-breadcrumbs a{color:var(--highlight-color);color:var(--app-color,var(--highlight-color));text-decoration:none;transition:-webkit-text-decoration .2s;transition:text-decoration .2s;transition:text-decoration .2s,-webkit-text-decoration .2s}.support-breadcrumbs a:hover{text-decoration:underline}.support-breadcrumbs span{margin:0 .5rem}.support-header{background:var(--section-bg-color);border:2px solid var(--brutal-border);margin-bottom:2rem;padding:3rem 2rem;position:relative;text-align:center}.support-header:before{background:var(--highlight-color);background:var(--app-color,var(--highlight-color));content:"";height:4px;left:0;position:absolute;right:0;top:0}.support-title{color:var(--highlight-color);font-size:2.5rem;line-height:1.2;margin-bottom:.5rem}.support-subtitle{color:var(--header-text-color);font-size:1.1rem}.support-contact-section{background:var(--section-bg-color);border:2px solid var(--brutal-border);margin-bottom:2rem;padding:2rem;text-align:center}.support-contact-section h2{color:var(--highlight-color);font-size:1.8rem;margin-bottom:1rem}.support-contact-section p{color:var(--text-color);margin-bottom:1.5rem}.contact-info-box{background:var(--bg-color);margin-top:1.5rem;padding:1.5rem}.contact-info-box,.email-link{border:2px solid var(--brutal-border)}.email-link{background:var(--section-bg-color);display:inline-block;font-size:1.2rem;font-weight:600;margin-bottom:1rem;padding:1rem 1.5rem}.email-link a{color:var(--highlight-color);color:var(--app-color,var(--highlight-color));text-decoration:none;transition:-webkit-text-decoration .2s;transition:text-decoration .2s;transition:text-decoration .2s,-webkit-text-decoration .2s}.email-link a:hover{text-decoration:underline}.response-time{background:var(--bg-color);border:2px solid var(--brutal-border);border-left:4px solid var(--app-color,var(--highlight-color));color:var(--text-color);display:inline-block;padding:.75rem 1rem}.response-time strong{color:var(--highlight-color)}.support-faq-content{background:var(--section-bg-color);border:2px solid var(--brutal-border);margin-bottom:2rem;padding:2rem}.support-faq-content>h2{border-bottom:2px solid var(--brutal-border);color:var(--highlight-color);font-size:1.8rem;margin-bottom:2rem;padding-bottom:1rem;text-align:center}.faq-category{margin-bottom:2.5rem}.faq-category:last-child{margin-bottom:0}.faq-category h3{border-bottom:2px solid var(--app-color,var(--brutal-border));color:var(--text-color);font-size:1.3rem;margin-bottom:1rem;padding-bottom:.5rem}.faq-item{background:var(--bg-color);border:2px solid var(--brutal-border);margin-bottom:1rem;overflow:hidden}.faq-question{align-items:center;background:var(--section-bg-color);cursor:pointer;display:flex;justify-content:space-between;padding:1.25rem 1.5rem;transition:background .3s;-webkit-user-select:none;user-select:none}.faq-question:hover{background:var(--bg-color)}.faq-question h4{color:var(--text-color);flex:1 1;font-size:1.05rem;margin:0;padding-right:1rem}.chevron{color:var(--highlight-color);color:var(--app-color,var(--highlight-color));flex-shrink:0;height:20px;transition:transform .3s;width:20px}.chevron.rotated{transform:rotate(90deg)}.faq-answer{animation:slideDown .3s ease-out;color:var(--text-color);line-height:1.7;padding:0 1.5rem 1.5rem}.faq-answer p{margin:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.support-bug-reports{background:var(--section-bg-color);border:2px solid var(--brutal-border);margin-bottom:2rem;padding:2rem}.support-bug-reports h2{color:var(--highlight-color);font-size:1.8rem;margin-bottom:1rem}.support-bug-reports p{color:var(--text-color);margin-bottom:1rem}.support-bug-reports ul{list-style:none;margin:1rem 0;padding:0}.support-bug-reports li{color:var(--text-color);margin-bottom:.5rem;padding-left:1.5rem;position:relative}.support-bug-reports li:before{color:var(--highlight-color);color:var(--app-color,var(--highlight-color));content:"→";font-weight:700;left:0;position:absolute}.bug-contact-note{background:var(--bg-color);border:2px solid var(--brutal-border);border-left:4px solid var(--app-color,var(--highlight-color));margin-top:1.5rem;padding:1rem}.bug-contact-note strong{color:var(--highlight-color);color:var(--app-color,var(--highlight-color))}.support-quick-nav{background:var(--bg-color);border:2px solid var(--brutal-border);margin-bottom:2rem;padding:2rem}.support-quick-nav h3{color:var(--text-color);font-size:1.3rem;margin-bottom:1rem}.support-nav-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.support-nav-link{padding:1rem 1.5rem;text-align:center;width:100%}.support-nav-link:hover{background:var(--highlight-color);background:var(--app-color,var(--highlight-color));border-color:var(--app-color,var(--brutal-border));color:var(--bg-color)}.support-footer{margin-top:3rem;text-align:center}@media (max-width:768px){.app-support{padding:1rem}.support-header{padding:2rem 1.5rem}.support-title{font-size:2rem}.support-subtitle{font-size:1rem}.support-breadcrumbs{font-size:.85rem;overflow-x:auto;white-space:nowrap}.support-bug-reports,.support-contact-section,.support-faq-content,.support-quick-nav{padding:1.5rem}.support-bug-reports h2,.support-contact-section h2,.support-faq-content>h2{font-size:1.5rem}.faq-category h3{font-size:1.2rem}.faq-question{padding:1rem}.faq-question h4{font-size:1rem}.faq-answer{font-size:.95rem;padding:0 1rem 1rem}.email-link{font-size:1rem;padding:.75rem 1rem}.support-nav-grid{grid-template-columns:1fr}}@media (max-width:480px){.support-title{font-size:1.75rem}.support-bug-reports h2,.support-contact-section h2,.support-faq-content>h2{font-size:1.3rem}.faq-category h3{font-size:1.1rem}}.project-grid-section{margin-bottom:4rem}.project-grid-title{color:var(--highlight-color);font-size:2rem;margin-bottom:2rem;text-align:center}.project-grid{grid-gap:2rem;display:grid;gap:2rem}.project-grid-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.project-grid-4{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.project-card{background:var(--section-bg-color);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:all .15s ease}.project-card:focus{outline:2px solid var(--highlight-color);outline-offset:2px}.project-thumbnail{align-items:center;background:var(--bg-color);border-bottom:2px solid var(--brutal-border);display:flex;height:200px;justify-content:center;overflow:hidden;width:100%}.project-thumbnail img{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.project-card:hover .project-thumbnail img{transform:scale(1.05)}.project-content{display:flex;flex-direction:column;flex-grow:1;gap:1rem;padding:1.5rem}.project-name{color:var(--text-color);font-size:1.3rem;line-height:1.3;margin:0}.project-description{color:var(--header-text-color);font-size:.95rem;line-height:1.6;margin:0}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.tech-badge{background:var(--bg-color);border:2px solid var(--brutal-border);font-size:.7rem;padding:.3rem .6rem}.project-link,.tech-badge{letter-spacing:.05em;text-transform:uppercase}.project-link{border-top:2px solid var(--brutal-border);color:var(--highlight-color);font-size:.85rem;margin-top:.5rem;padding-top:.5rem}.project-link-disabled{color:var(--header-text-color);opacity:.6}.project-status-badge{border-radius:2px;display:inline-block;font-size:.65rem;font-weight:600;letter-spacing:.05em;margin-left:.5rem;padding:.2rem .4rem;text-transform:uppercase}.badge-private{background:var(--highlight-color);color:var(--bg-color)}.badge-local,.badge-private{border:1px solid var(--highlight-color)}.badge-local{background:#0000;color:var(--highlight-color)}.project-card.no-github{cursor:default}.project-card.no-github:hover .project-thumbnail img{transform:none}@media (max-width:768px){.project-grid,.project-grid-3,.project-grid-4{grid-template-columns:1fr}.project-thumbnail{height:180px}.project-name{font-size:1.1rem}}@media (min-width:769px) and (max-width:1024px){.project-grid-3,.project-grid-4{grid-template-columns:repeat(2,1fr)}}.portfolio-page{width:100%}.portfolio-header{border-bottom:3px solid var(--brutal-border);padding:4rem 0 3rem;text-align:center}.portfolio-header h1{color:var(--highlight-color);font-size:3rem;margin-bottom:1rem}.portfolio-header p{color:var(--header-text-color);font-size:1.1rem;letter-spacing:.05em;text-transform:uppercase}@media (max-width:768px){.portfolio-header{padding:3rem 0 2rem}.portfolio-header h1{font-size:2rem}.portfolio-header p{font-size:.9rem}}.articles-page{padding:2rem}.articles-header{margin-bottom:3rem;padding:2rem 0;text-align:center}.articles-header h1{color:var(--highlight-color);font-size:3rem;margin-bottom:1rem}.articles-header p{color:var(--header-text-color);font-size:1.2rem}.articles-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:3rem}.article-card{background:var(--section-bg-color);cursor:pointer;padding:2rem;transition:all .15s ease}.article-card:focus{outline:2px solid var(--highlight-color);outline-offset:2px}.article-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.article-date{color:var(--header-text-color);font-size:.85rem;letter-spacing:.05em;text-transform:uppercase}.article-type{color:var(--highlight-color);font-size:1.2rem}.article-title{color:var(--text-color);font-size:1.8rem;line-height:1.3;margin-bottom:1rem}.article-description{color:var(--header-text-color);line-height:1.8;margin-bottom:1.5rem}.article-tags{display:flex;flex-wrap:wrap;gap:.5rem}.article-tag{background:var(--bg-color);border:2px solid var(--brutal-border);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.05em;padding:.4rem .8rem;text-transform:uppercase}.no-articles{color:var(--header-text-color);font-size:1.1rem;padding:4rem 2rem;text-align:center}@media (max-width:768px){.articles-grid{grid-template-columns:1fr}.articles-header h1{font-size:2rem}.article-title{font-size:1.5rem}}.article-detail{margin:0 auto;max-width:800px;padding:2rem}.article-not-found{padding:4rem 2rem;text-align:center}.article-not-found h1{color:var(--highlight-color);margin-bottom:1rem}.article-not-found p{color:var(--header-text-color);margin-bottom:2rem}.back-button{margin-bottom:2rem}.article-content{background:var(--section-bg-color);border:2px solid var(--brutal-border);padding:3rem}.article-detail-header{border-bottom:2px solid var(--brutal-border);margin-bottom:3rem;padding-bottom:2rem}.article-detail-title{color:var(--highlight-color);font-size:2.5rem;line-height:1.2;margin-bottom:1rem}.article-detail-date{color:var(--header-text-color);display:block;font-size:.9rem;letter-spacing:.05em;margin-bottom:1.5rem;text-transform:uppercase}.article-detail-tags{display:flex;flex-wrap:wrap;gap:.5rem}.article-body{font-size:1.1rem;line-height:1.8}.article-body h2{color:var(--highlight-color);font-size:1.8rem;margin:2rem 0 1rem}.article-body h3{color:var(--text-color);font-size:1.4rem;margin:1.5rem 0 1rem}.article-body p{color:var(--text-color);margin-bottom:1.5rem}.article-body ol,.article-body ul{margin-bottom:1.5rem;padding-left:2rem}.article-body li{color:var(--text-color);margin-bottom:.5rem}.article-body code{background:var(--bg-color);border:1px solid var(--brutal-border);font-family:var(--font-mono);font-size:.9em;padding:.2rem .4rem}.article-body pre{background:var(--bg-color);border:2px solid var(--brutal-border);margin-bottom:1.5rem;overflow-x:auto;padding:1rem}.article-body pre code{border:none;padding:0}.article-detail-footer{margin-top:3rem;text-align:center}@media (max-width:768px){.article-detail{padding:1rem}.article-content{padding:2rem 1.5rem}.article-detail-title{font-size:2rem}.article-body{font-size:1rem}.article-body h2{font-size:1.5rem}.article-body h3{font-size:1.2rem}}.book-item{border-bottom:2px solid var(--brutal-border);display:flex;flex-direction:column;gap:1rem;padding:1.5rem;transition:all .15s ease}.book-item:hover{background:var(--section-bg-color);padding-left:2rem}.book-main{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between}.book-info{flex:1 1}.book-title{color:var(--text-color);font-family:var(--font-mono);font-size:1.2rem;letter-spacing:.05em;line-height:1.3;margin:0 0 .5rem;text-transform:uppercase}.book-author{color:var(--header-text-color);font-size:.9rem;letter-spacing:.03em;margin:0;text-transform:uppercase}.book-rating{align-items:center;display:flex;flex-shrink:0;gap:.75rem}.stars{display:flex;gap:.25rem}.star{font-size:1.2rem;transition:all .2s ease}.star.filled,.star.half{color:#fbbf24}.star.empty{color:var(--brutal-border);opacity:.3}.rating-value{color:var(--accent-purple);font-size:1rem;font-weight:700;min-width:40px}.book-review-section{display:flex;flex-direction:column;gap:.5rem}.book-review{color:var(--text-color);font-size:.95rem;line-height:1.7;margin:0;transition:all .3s ease}.book-review p{margin:0 0 1.2rem}.book-review p:last-child{margin-bottom:0}.book-review.collapsed{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.book-review.expanded{display:block}.toggle-review{align-self:flex-start;background:#0000;border:none;color:var(--highlight-color);cursor:pointer;font-family:var(--font-mono);font-size:.85rem;font-weight:600;letter-spacing:.05em;padding:.25rem 0;text-transform:uppercase;transition:all .15s ease}.toggle-review:hover{color:var(--accent-purple);text-decoration:underline}.book-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.book-tag{background:var(--bg-color);border:2px solid var(--brutal-border);font-size:.7rem;letter-spacing:.05em;padding:.3rem .6rem;text-transform:uppercase;transition:all .15s ease}.book-tag:hover{background:var(--highlight-color);border-color:var(--highlight-color);color:var(--bg-color)}@media (max-width:768px){.book-item{padding:1.25rem}.book-item:hover{padding-left:1.5rem}.book-main{flex-direction:column;gap:1rem}.book-title{font-size:1.1rem}.book-author{font-size:.85rem}.star{font-size:1rem}.book-review,.rating-value{font-size:.9rem}}.books-page{width:100%}.books-header{border-bottom:3px solid var(--brutal-border);padding:4rem 0 3rem;text-align:center}.books-header h1{color:var(--accent-purple);font-family:var(--font-mono);font-size:3rem;margin-bottom:1rem}.books-header h1,.books-header p{letter-spacing:.05em;text-transform:uppercase}.books-header p{color:var(--header-text-color);font-size:1.1rem}.books-controls{align-items:center;border-bottom:2px solid var(--brutal-border);display:flex;gap:1.5rem;margin-bottom:2.5rem;margin-top:3rem;padding-bottom:2rem}.sort-label{color:var(--text-color);font-size:1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.sort-buttons{display:flex;gap:.75rem}.sort-buttons .brutal-button{background:#0000;border:2px solid var(--brutal-border);color:var(--text-color);font-size:.85rem;padding:.6rem 1.2rem}.sort-buttons .brutal-button:hover{background:var(--highlight-color);border-color:var(--highlight-color);color:var(--bg-color)}.sort-buttons .brutal-button.active{background:var(--accent-purple);border-color:var(--accent-purple);color:var(--bg-color)}.books-list{margin-bottom:3rem}.books-empty,.books-list{background:var(--section-bg-color);border:3px solid var(--brutal-border)}.books-empty{padding:4rem 2rem;text-align:center}.books-empty p{color:var(--header-text-color);font-size:1.2rem;letter-spacing:.05em;text-transform:uppercase}@media (max-width:768px){.books-header{padding:3rem 0 2rem}.books-header h1{font-size:2rem}.books-header p{font-size:.9rem}.books-controls{align-items:flex-start;flex-direction:column;gap:1rem;margin-top:2rem}.sort-buttons{justify-content:space-between;width:100%}.sort-buttons .brutal-button{flex:1 1;font-size:.75rem;padding:.5rem .8rem}}.education-grid{display:flex;flex-direction:column;gap:2rem}.education-card{background:var(--section-bg-color);border:3px solid var(--brutal-border);padding:2rem;transition:all .15s ease}.education-card:hover{border-color:var(--accent-purple);box-shadow:6px 6px 0 var(--brutal-shadow);transform:translate(-2px,-2px)}.education-header-card{align-items:flex-start;border-bottom:2px solid var(--brutal-border);display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.education-degree{color:var(--text-color);flex:1 1;font-family:var(--font-mono);font-size:1.5rem;letter-spacing:.05em;margin:0;text-transform:uppercase}.education-date{color:var(--accent-purple);font-size:.9rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.education-meta{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}.education-institution{color:var(--text-color);font-size:1.1rem;font-weight:600;margin:0;text-transform:uppercase}.education-location{color:var(--header-text-color);font-size:.9rem;margin:0}.education-description{color:var(--text-color);font-size:.95rem;line-height:1.6;margin:0}@media (max-width:768px){.education-card{padding:1.5rem}.education-header-card{flex-direction:column;gap:.5rem}.education-degree{font-size:1.2rem}.education-date{font-size:.85rem}.education-institution{font-size:1rem}.education-description{font-size:.9rem}}.resume-section{margin-bottom:4rem}.section-title{color:var(--highlight-color);font-family:var(--font-mono);font-size:2rem;letter-spacing:.05em;margin-bottom:2.5rem;text-align:center;text-transform:uppercase}.experience-grid{display:flex;flex-direction:column;gap:2rem}.experience-card{background:var(--section-bg-color);border:3px solid var(--brutal-border);padding:1.5rem;position:relative;transition:all .15s ease}.experience-card:hover{border-color:var(--highlight-color);box-shadow:6px 6px 0 var(--brutal-shadow);transform:translate(-2px,-2px)}.experience-header-button{background:none;border:none;cursor:pointer;display:block;padding:0;position:relative;text-align:left;width:100%}.experience-header-card{align-items:flex-start;border-bottom:2px solid var(--brutal-border);display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.experience-title{color:var(--text-color);flex:1 1;font-family:var(--font-mono);font-size:1.5rem;letter-spacing:.05em;margin:0;text-transform:uppercase}.experience-date{color:var(--accent-purple);font-size:.9rem;font-weight:600;text-transform:uppercase;white-space:nowrap}.experience-meta{display:flex;flex-direction:column;gap:.5rem;margin-bottom:0}.expand-icon-exp{background:var(--section-bg-color);border:2px solid var(--highlight-color);bottom:.5rem;color:var(--highlight-color);font-family:var(--font-mono);font-size:2rem;font-weight:300;line-height:1;padding:.25rem .5rem;position:absolute;right:.5rem;transition:transform .2s ease}.experience-details{overflow:hidden;transition:max-height .3s ease,opacity .2s ease,margin-top .3s ease}.experience-card.collapsed .experience-details{margin-top:0;max-height:0;opacity:0}.experience-card.expanded .experience-details{border-top:2px solid var(--brutal-border);margin-top:1.5rem;max-height:2000px;opacity:1;padding-top:1.5rem}.experience-org{color:var(--text-color);font-size:1.1rem;font-weight:600;margin:0;text-transform:uppercase}.experience-location{color:var(--header-text-color);font-size:.9rem;margin:0}.experience-responsibilities{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:0;padding:0}.experience-responsibilities li{color:var(--text-color);font-size:.95rem;line-height:1.6;padding-left:1.5rem;position:relative}.experience-responsibilities li:before{color:var(--highlight-color);content:"▸";font-weight:700;left:0;position:absolute}@media (max-width:768px){.resume-section{margin-bottom:3rem}.section-title{font-size:1.5rem;margin-bottom:2rem}.experience-card{padding:1.5rem}.experience-header-card{flex-direction:column;gap:.5rem}.experience-title{font-size:1.2rem}.experience-date{font-size:.85rem}.experience-org{font-size:1rem}.experience-responsibilities li{font-size:.9rem}}.resume-page{width:100%}.resume-header{border-bottom:3px solid var(--brutal-border);padding:4rem 0 3rem;text-align:center}.resume-header h1{color:var(--highlight-color);font-family:var(--font-mono);font-size:3rem;margin-bottom:1rem}.resume-header h1,.resume-header p{letter-spacing:.05em;text-transform:uppercase}.resume-header p{color:var(--header-text-color);font-size:1.1rem}@media (max-width:768px){.resume-header{padding:3rem 0 2rem}.resume-header h1{font-size:2rem}.resume-header p{font-size:.9rem}}.contact-page{width:100%}.contact-header{border-bottom:3px solid var(--brutal-border);padding:4rem 0 3rem;text-align:center}.contact-header h1{color:var(--highlight-color);font-family:var(--font-mono);font-size:3rem;margin-bottom:1rem}.contact-header h1,.contact-header p{letter-spacing:.05em;text-transform:uppercase}.contact-header p{color:var(--header-text-color);font-size:1.1rem}.contact-container{margin:0 auto;max-width:800px;padding:3rem 0}.contact-form{background:var(--section-bg-color);border:3px solid var(--brutal-border);margin-bottom:2rem;padding:2.5rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text-color);display:block;font-size:.9rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.contact-form input,.contact-form textarea{background-color:var(--bg-color);border:2px solid var(--brutal-border);border-radius:0;color:var(--text-color);font-family:var(--font-primary);font-size:1rem;padding:.75rem;transition:all .15s ease;width:100%}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--highlight-color);box-shadow:4px 4px 0 var(--brutal-shadow);outline:none;transform:translate(-2px,-2px)}.contact-form textarea{min-height:120px;resize:vertical}.submit-button{font-size:1rem;margin-top:1rem;padding:1rem;width:100%}.form-status{border:2px solid var(--brutal-border);font-family:var(--font-mono);font-size:.95rem;font-weight:600;letter-spacing:.05em;margin-top:1.5rem;padding:1rem;text-align:center;text-transform:uppercase}.form-status.success{background:var(--highlight-color);border-color:var(--highlight-color);color:var(--bg-color)}.form-status.error{background:#ef4444;border-color:#ef4444;color:#fff}.contact-info{margin-top:4rem}.contact-info h3{color:var(--text-color);font-size:1.5rem;letter-spacing:.05em;margin-bottom:2rem;text-align:center;text-transform:uppercase}.contact-links{flex-direction:row;gap:1.5rem}.contact-link,.contact-links{display:flex;justify-content:center}.contact-link{align-items:center;background:var(--section-bg-color);border:2px solid var(--brutal-border);flex:1 1;max-width:250px;padding:1rem 2rem;text-decoration:none;transition:all .15s ease}.contact-link:hover{border-color:var(--accent-purple);box-shadow:6px 6px 0 var(--brutal-shadow);transform:translate(-2px,-2px)}.contact-link span{color:var(--text-color);font-size:1rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.contact-link:hover span{color:var(--accent-purple)}@media (max-width:768px){.contact-header{padding:3rem 0 2rem}.contact-header h1{font-size:2rem}.contact-header p{font-size:.9rem}.contact-container{padding:2rem 0}.contact-form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.contact-info{margin-top:3rem}.contact-info h3{font-size:1.2rem}.contact-links{flex-direction:column}.contact-link{max-width:100%}}
/*# sourceMappingURL=main.5cfa8826.css.map*/