:root{--font-display:"Big Shoulders Display", sans-serif;--font-body:"Inter", sans-serif;--font-mono:"JetBrains Mono", monospace;--th-bg:#fff;--th-text:#0d0d0d;--th-text-60:#0d0d0d99;--th-text-38:#0d0d0d61;--th-text-15:#0d0d0d1f;--th-accent:#0d0d0d;--th-accent-subtle:#0d0d0d0f;--th-accent-border:#0d0d0d2e;--th-card-bg:#0d0d0d0a;--th-card-border:#0d0d0d17;--th-btn-bg:#0d0d0d;--th-btn-text:#fff;--th-btn-line:#f7f7f74d;--splash-bg:#fff;--splash-text:#0d0d0d;--splash-muted:#888;--splash-accent:#888;--splash-btn-bg:#0d0d0d;--splash-btn-text:#fff;--white:#fff;--white-70:#ffffffb3;--white-50:#ffffff80;--white-30:#ffffff4d;--white-10:#ffffff1a;--white-05:#ffffff0d;--card-border:#ffffff14;--card-surface:#ffffff0a}[data-theme=dark]{--th-bg:#0d0d0d;--th-text:#f0f0f0;--th-text-60:#f0f0f099;--th-text-38:#f0f0f061;--th-text-15:#f0f0f01f;--th-accent:#f0f0f0;--th-accent-subtle:#f0f0f00f;--th-accent-border:#f0f0f02e;--th-card-bg:#f0f0f00a;--th-card-border:#f0f0f017;--th-btn-bg:#f0f0f0;--th-btn-text:#0d0d0d;--th-btn-line:#0d0d0d4d;--splash-bg:#0d0d0d;--splash-text:#f0f0f0;--splash-muted:#888;--splash-accent:#888;--splash-btn-bg:#f0f0f0;--splash-btn-text:#0d0d0d}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--th-bg);color:var(--th-text);transition:background .35s,color .35s;overflow:hidden}input::placeholder,textarea::placeholder{color:var(--th-text-38)}@media (hover:hover) and (pointer:fine){*,:before,:after{cursor:none!important}}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,textarea{font-family:inherit}.thorgal-viewport{position:fixed;inset:0;overflow:hidden}.mobile-hamburger{display:none}.thorgal-section{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.books-shelf-grid{perspective:880px}.book-shelf-item{flex-direction:column;gap:6px;display:flex}.book-cover{cursor:pointer;text-align:left;width:100%;transform-style:preserve-3d;transform-origin:0;background:0 0;border:none;padding:0;position:relative}.book-flip-inner{width:100%;transform-style:preserve-3d;transform-origin:0;padding-bottom:150%;transition:transform .62s cubic-bezier(.4,0,.2,1);position:relative}.book-cover-face{backface-visibility:hidden;transform-origin:0;position:absolute;inset:0;overflow:hidden}.book-cover-front:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000006b 0%,#0000002e 55%,#ffffff14 100%);width:5px;transition:width .38s;position:absolute;inset:0 auto 0 0}.book-cover-back{background:#d41414;transform:rotateY(180deg)}.book-cover-goodreads-link{z-index:3;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#fffffff2;-webkit-backdrop-filter:blur(4px);white-space:nowrap;background:#0000008c;border:1px solid #ffffff73;align-items:center;gap:4px;padding:4px 7px;font-size:.4rem;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.book-cover-goodreads-link:hover{background:#000000b8;border-color:#ffffffb3}.book-cover--light .book-cover-front{box-shadow:4px 6px 18px #0003,inset -2px 0 6px #0000001f}.book-cover--dark .book-cover-front{box-shadow:4px 6px 18px #0000008c,inset -2px 0 6px #00000059}.book-cover--light .book-cover-back{box-shadow:4px 6px 18px #0003,inset 2px 0 6px #0000001a}.book-cover--dark .book-cover-back{box-shadow:4px 6px 18px #0000008c,inset 2px 0 6px #0000004d}.book-cover:not(.book-cover--flipped):hover .book-flip-inner{transform:translateY(-7px)rotateY(-13deg)}.book-cover:not(.book-cover--flipped):hover .book-cover-front:before{width:7px}.book-cover--light:not(.book-cover--flipped):hover .book-cover-front{box-shadow:10px 14px 28px #00000047,inset -3px 0 8px #00000029}.book-cover--dark:not(.book-cover--flipped):hover .book-cover-front{box-shadow:10px 16px 32px #000000a6,inset -3px 0 8px #00000073}.book-cover--flipped .book-flip-inner{transform:rotateY(-180deg)}.book-cover--flipped:hover .book-flip-inner{transform:translateY(-4px)rotateY(-180deg)}.book-cover-media img{object-fit:cover;object-position:center}.book-cover-text{flex-direction:column;justify-content:space-between;padding:10px 8px;display:flex;position:absolute;inset:0}.book-reading-badge{z-index:3;background:#ffc83ceb;padding:2px 5px;animation:2.2s ease-in-out infinite reading-badge-pulse;position:absolute;top:6px;right:6px}@keyframes reading-badge-pulse{0%,to{opacity:.92;transform:scale(1);box-shadow:0 0 #ffc83c59}50%{opacity:1;transform:scale(1.06);box-shadow:0 0 10px 2px #ffc83c66}}@media (prefers-reduced-motion:reduce){.book-flip-inner,.book-cover-front:before{transition:none}.book-cover:not(.book-cover--flipped):hover .book-flip-inner{transform:none}.book-cover:not(.book-cover--flipped):hover .book-cover-front:before{width:5px}.book-reading-badge{animation:none}}@media (max-width:640px){.diamond-nav{display:none}.site-nav-links{display:none!important}.header-logo{width:auto!important;height:32px!important}.mobile-hamburger{display:flex!important}.mobile-nav-dropdown{display:block!important}.section-content{-webkit-overflow-scrolling:touch;scrollbar-width:none;box-sizing:border-box;align-self:center;width:100%;max-height:calc(100dvh - 88px);margin-top:0;padding-top:80px;padding-left:16px;padding-right:16px;overflow-y:auto}.section-content::-webkit-scrollbar{display:none}.skills-cols{flex-direction:column!important;gap:18px!important}.skills-cols>*{flex:auto!important;width:100%!important;min-width:0!important}.skills-section-body{gap:18px!important}.skills-section-body h2{margin-bottom:4px!important}.cmd-palette-panel{width:calc(100vw - 24px)!important;left:12px!important;right:12px!important;transform:none!important}.cmd-palette-footer{flex-wrap:wrap!important}.books-blogs-cols{flex-direction:column!important}.skills-github{padding:16px!important;overflow-x:auto!important}.skills-github::-webkit-scrollbar{display:none}.contact-grid{grid-template-columns:1fr!important}.contact-send-btn{justify-content:center!important}.exp-row{grid-template-columns:1fr!important}.exp-date{display:none!important}.splash-name-row{transform:none!important}.tech-strip-wrap{padding:0 12px;flex-wrap:wrap!important;justify-content:center!important;row-gap:10px!important}.tech-strip-divider{margin:0 10px!important}.thorgal-section:has(>.section-content){justify-content:flex-start!important}}@media (max-width:460px){.splash-name-row{flex-direction:column!important;gap:14px!important}}
